Just last night DuoS attained the state where I may say that "sound emulation" is working.
SPU synch & resampling seems to we working good, fast and stable.
I implemented some SSE2 instructions for optimization, so now we need to implement some more functions to enable/disable SSE2 code based on CPU detection (not all CPUs have SSE2).
Most probably tonight, DuoS binaries will be shipped to our beta testers.
After attaining this stage, and if no further big bugs are found, only save-game functions are left.
First release is coming very close!
miércoles, 8 de agosto de 2012
viernes, 3 de agosto de 2012
DuoS is flying!
After the last major improvementdone on DuoS, emulation performance has increased very significanlty. An almost fully featured Dynamic Recompilation Engine has been succesfully integrated, without messing much with emulation timing, and the latest version of GPU skipping works like a charm, without adding any kind of graphical artifact on screen.
Basically, this means : realtime/normal speed emulation on a normal non-accelerated PC without consuming a lot of CPU... as well as a new 8x FastForward feature.. in a relatively high compatibility Nintendo DS emulator ( just use your imagination ).
Regardin the still missing features; Sound is already working, but crappy and with very limited support; a full re-sampler is in the works, which might be ready after next weekend.
After that, only the savegame system is missing...
Once I get tese final features working in an acceptable way, DuoS DSEMU first public release will see the light.
Basically, this means : realtime/normal speed emulation on a normal non-accelerated PC without consuming a lot of CPU... as well as a new 8x FastForward feature.. in a relatively high compatibility Nintendo DS emulator ( just use your imagination ).
Regardin the still missing features; Sound is already working, but crappy and with very limited support; a full re-sampler is in the works, which might be ready after next weekend.
After that, only the savegame system is missing...
Once I get tese final features working in an acceptable way, DuoS DSEMU first public release will see the light.
martes, 31 de julio de 2012
DynaRec and FrameSkip
After all this time that I've dedidated to produce DuoS, I can assure that there isn't any portion of a DS emulator more CPU consuming than its GPU (Graphics Processing Unit).
I've tried to optimize it in a lot of ways, without relaying on the host's (PC's) multithreading and GPU accelleration as much as I could... in order not to compromise emulation quality and compatibility. To be honest, regarding this... I already ran out of ideas.
On the other hand, since last night, DuoS has now a fully enabled Dynamic Recompiler core, and do not relay on "secondaty calls" to the Interpreter core anymore. This is translated into a huge speed up, as well as a very noticeable reduction of CPU usage in the host computer. It will be the work of our noble testers to determine how does this affect DuoS's compatibility... but we will soon find out.
In the meanwhile... I see a couple of days of continuous debugging coming my way...
I've tried to optimize it in a lot of ways, without relaying on the host's (PC's) multithreading and GPU accelleration as much as I could... in order not to compromise emulation quality and compatibility. To be honest, regarding this... I already ran out of ideas.
On the other hand, since last night, DuoS has now a fully enabled Dynamic Recompiler core, and do not relay on "secondaty calls" to the Interpreter core anymore. This is translated into a huge speed up, as well as a very noticeable reduction of CPU usage in the host computer. It will be the work of our noble testers to determine how does this affect DuoS's compatibility... but we will soon find out.
In the meanwhile... I see a couple of days of continuous debugging coming my way...
lunes, 30 de julio de 2012
Emulation Dev Resources
Just for answering Marranus' question from the other day:
For DuoS, specifically, I digged most of the hardware hacking from the awesome documents of No$GBA, then lots and lots of playing around with DevKitPro... also, studying how the guys from DeSmuME made their GPU (which I must say is AWESOME!) saved lots of time... and finally, I must admit that I'm re-using lots of code from my own previous emulation projects . An extensive personal library of emulation functions stored in my laptop comes really handy...
For DuoS, specifically, I digged most of the hardware hacking from the awesome documents of No$GBA, then lots and lots of playing around with DevKitPro... also, studying how the guys from DeSmuME made their GPU (which I must say is AWESOME!) saved lots of time... and finally, I must admit that I'm re-using lots of code from my own previous emulation projects . An extensive personal library of emulation functions stored in my laptop comes really handy...
domingo, 29 de julio de 2012
Lots of fixes, and a nice performance increase
I spent most of my Saturday making fixes to my ARM Dynamic Recompiler, which were causing some games to just "freeze"... this was a major boomer, as I was becoming very proud of the emu high compatibility. So far it seems to be ok, but I still haven't managed to get the time to test it on more than a dozen of games yet.
On the other hand, I replaced the WinDIB functions for Direct3D based ones... the speed enhancement is amazing! Now I can say that as far as the Software Renderer is not forced too much, lots of games are fully playable in full speed, with just a little frameskip.
Here are a couple of screen captures from the games I was fixing the Recompiler for, Phoenix Wright: Ace Attorney and Castlevania : Dawn of Sorrow.
BTW, after some complains, I added a simple synch icon to the emu, also version number has been increased to 0.110, according to my Devevlopment Road Document.
sábado, 28 de julio de 2012
Some screenshots
Here are the latests screenshots I took, after having fixed the Gouraud Lighting, and plenty of other Software Renderer issues. Performance has been greatly increased by the smart usage of skips on GPU operations, and not just skipping frames to the display window.
These shots are from Super Mario 64 DS, The Logic Machine and Labyrinth.
Pleas notice that I haven't given an icon to DuoS yet, so suggestions are welcomed.
These shots are from Super Mario 64 DS, The Logic Machine and Labyrinth.
Pleas notice that I haven't given an icon to DuoS yet, so suggestions are welcomed.
viernes, 27 de julio de 2012
First post
I finally decided to display some of the progress attained on my latest emulation project : DuoS.
As you can see, it is a emulator for running Nintendo DS games.
It's been progressing fairly well for the last four or five months, and progress has increased ten-fold for the last few weeks... so I'm heavily motivated.
During the next week, I'll do my best to find our first beta testers, as well as to post stuff from time to time, in order to let people know about what I'm doing, as well as accept constructive criticism as to how to encause Duos developement.
As you can see, it is a emulator for running Nintendo DS games.
It's been progressing fairly well for the last four or five months, and progress has increased ten-fold for the last few weeks... so I'm heavily motivated.
During the next week, I'll do my best to find our first beta testers, as well as to post stuff from time to time, in order to let people know about what I'm doing, as well as accept constructive criticism as to how to encause Duos developement.
Suscribirse a:
Entradas (Atom)