gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

DS development > Emulator accuracy, etc.

#141694 - keldon - Fri Sep 28, 2007 12:46 pm

Okay, I just decided to buy myself a 2GB Micro SD and the thingy with the expansion RAM + rumble; so what are the emulators like speedwise and accuracy wise? I understand that some people play commercial roms on it, so that probably answers accuracy, but what about speed?

I'm interested in experimenting with something that involves loading particular files for processing (hopefully without recompilation), I suspect that libFat and GBFS will be adequate for that!

#141719 - strager - Fri Sep 28, 2007 8:59 pm

Do you mean console emulators?

I am currently optimizing dualSwan, a WonderSwan [Color] emulator, and adding features like saving. It's fairly accurate, but dies on Mode7 games for obvious reasons, as well as on some games requiring external hardware. It runs most of the "fun" games at an acceptable speed, too. [/plug]

I don't know much about other emulators, though.

#141725 - Moby Disk - Fri Sep 28, 2007 9:12 pm

I've never used them for commercial games, but I know they work great for homebrew. I know many people use them for commercial games though.

My two favorites are no$gba (http://nocash.emubase.de/gba.htm) which is a DS emulator, despite the name. And Desume http://www.desmume.org/ (Don't mistakenly go to any of the many other desmume pages -- it is an open source project and has had several incarnations and the old sites still exist)

#141736 - keldon - Fri Sep 28, 2007 10:57 pm

I mean emulators like no$. I mean I have bought hardware to make a cart, but it's a lot nicer when you can build and run immediately.

I'm sure I'll find out when I have the hardware to compare, but until then I'm just a little curious - half of the reason why I bought the hardware too.

#141743 - M3d10n - Sat Sep 29, 2007 2:12 am

NoCash is very accurate, IMO. I'm using it actively while developing a prototype, and so far it is the one which matches the hardware the closest.

It isn't perfect, of course. The 3D emulation has a few inaccuracies, which require you to switch to the hardware once in a while to make sure certain details are working.

Fog, anti-aliasing, edge marking are missing. Poly IDs don't have the exact same effects as the hardware: as example, NoCash allows alpha-blended triangles with the same ID blend against each other, while the hardware does not. The display capture doesn't work properly.

It also doesn't emulate texture coordinates with the same precision as the actual hardware (it seems more precise on NoCash), rendering textures with out of range UVs properly while they should look garbled on the actual hardware. Render state management (specially default states) are a little off, so sometimes alpha-blend and alpha test will be enabled on the emu, but disabled on the hardware.

Despise those flaws, it definitely boosts development time, since you can have it called directly after your code is compiled with a little effort. If you keep the 3D emulation shortcomings in mind, its easy to "batch" your render debugging together, separate from other debugging which can be done on NoCash, to avoid excessive card-swapping.

#141752 - keldon - Sat Sep 29, 2007 8:53 am

Sounds good, now I just got to think of something to code in my spare time.