miércoles, 8 de agosto de 2012

DuoS is ringing!

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!

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.

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...

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...

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.

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.