melonDS
33 FOLLOWERS
melonDS aims to provide fast and accurate Nintendo DS emulation. While it is still a work in progress, it has a pretty solid set of features. Their blog updates about the activity if the site, latest updates and much more intriguing stuff.
melonDS
6d ago
Long time no update. Sorry about that. I'm getting better, though.
Anyway, I recently felt like getting back into melonDS dev. I figured that trying to fix some wifi bugs could help me build up momentum and motivation I'll need to finish the big refactor.
The point of the big refactor is to lay groundwork for turning netplay from a clunky proof of concept into an actual finished product. But netplay or LAN won't be very useful if the underlying wifi implementation is malfunctioning...
The first bug I looked at was that weird bug in Meteos: when starting a download play game, if you're usin ..read more
melonDS
2M ago
This is just a quick attempt at supporting multiple windows. There's still a whole pile of issues to fix, but it's looking promising so far.
This is not only part of the ongoing refactor, but would also pave the way for separate windows, a feature that has long been requested.
I'm having a bit of a question there: if we got multiple windows, which one should have the OSD? The main window? The currently active one? All of them?
Other than that, sorry for the lack of updates lately. January has been rough for me, but things are getting better. I've also been caught in a fun side project th ..read more
melonDS
3M ago
(to those who celebrate, that is)
As I have received and set up my new laptop, I've been able to work on melonDS some. The goal is still the same: to adapt melonDS for supporting multiple instances within one process.
The frontend is proving to be tricky, because it was largely built without many regards for code quality. Originally, the frontend was just quickly built around the program entry point in main.cpp, as it just needed to provide a means to use the emulator. We had a simple window, a dedicated thread to run the actual emulation, and that was it.
Obviously, over time we added var ..read more
melonDS
4M ago
Sorry for the lack of updates lately. Mental health has been rough. Hopefully it's going to get better with the Christmas holidays...
What's new since the last post? I had started working on refactoring the melonDS codebase for the ambitious changes to come. JesseTG mostly finished the work on the core, so that's one big thing out of the way.
The frontend code is now going to need adequate refactoring too. That's, well, more work. We'll get there over the coming days.
On my side, I (finally) ordered a new laptop, so I'm waiting to receive it and set it up before I do more big work on melonD ..read more
melonDS
5M ago
Today melonDS is officially 7 years old. To celebrate, like last year, have a new version of the melonDS icon, recolored to the same orange color as 7 itself:
(if you're wondering about these colors: I have synesthesia, that's all)
I'm sorry for the lack of new releases since 0.9.5. It's been one year. That being said, we have big plans for the next release. I'm not going to go in length about these, the previous posts detail the plans well enough.
Just bear in mind that we're currently refactoring the melonDS codebase, so things may get a tad unstable while this is ongoing.
Other than ..read more
melonDS
6M ago
Basically:
melonDS has got a fun little dialog for changing the date and time now.
Basically what it does is show you the current date and time of the emulated DS. You can change it to any date and time, or you can reset it back to your computer's date and time.
What you set is saved as an offset in seconds from your computer's time. Every time you launch a game, the computer's time is used as a reference to calculate the emulated DS's time, and then melonDS does its own time counting from this point.
This also means that, unlike the previous behavior, if melonDS runs too slow or too fas ..read more
melonDS
6M ago
Two main things this post will talk about.
The RTC, aka Real-Time Clock. The DS uses a RTC chip to keep track of the current date and time. melonDS has had some RTC emulation since the early days, because it was a requirement to get the firmware to boot, but since then, that RTC emulation has been pretty much barebones. Basically, all it does is return the current system time from the host. While it's good enough for the most basic purposes, it comes with a number of downsides.
For example, we've had several requests from end users about changing the time inside melonDS. Currently, the only ..read more
melonDS
6M ago
As of today:
LAN gameplay between the two computers I have at hand over here.
LAN is actually fairly close to a finished product, now. It's obviously still a bit rough around the edges, may be a tad unstable, but from my testing it has shown to be pretty smooth.
From this point, I encourage anybody who is interested to grab the experimental builds from our Github CI. It's the runs labelled 'season2 test PR'; note that you will need a Github account to download them.
But if you're motivated, please give them some deep testing, abuse them in whatever ways you can think of, and report anyth ..read more
melonDS
7M ago
First of all, thank you all for the kind comments to the last post, it means a lot!
Anyway, I've been throwing together a basic interface for LAN multiplayer. It's far from complete, but it's already showing promising results so far.
The issue is that it requires a low enough latency to work well. When connecting my two computers over a crosswired cable, yielding a latency of ~1ms, I had decent success connecting the two sides together. However, when using the regular network (my laptop connects over wifi, while the other computer uses a PLC adapter), latency was all over the place and it wa ..read more
melonDS
8M ago
I've been merging some pull requests earlier today, and, looking at some of them...
"Wow, has it really been one year?"
I'm sorry about this. It's not that we, melonDS team, don't care about user contributions. We do, and we're grateful for them. However it takes time to review them and make sure they're mergeable.
And while I can't speak for the rest of the team, the way I am doesn't help. I don't really notice the passage of time, anything in the past just feels like it happened ages ago, and it's very easy for me to let myself be carried into a comfortable routine for a long time. As you ..read more