home lobby projects media downloads feedback
 Main Menu
Java lobby
project overview
give feedback
play online
 External Sources
Sun Java Home
Java Games Forum
LWJGL - Home
Java Games Factory

  jEnesisDS - Nintendo DS - Genesis Emulator  
 jEnesisDS 0.7.4  2008-07-13 00:23:00 
  Changelog for version jEnesisDS 0.7.4:

- Changed scheduling of M68000 and Z80.
- Some changes in M68000 internal memory handlers.
- YM2612 FM core mostly rewritten in ASM.
- Some bugs in FM core fixed (Operator 1 was sometimes not considered in certain cases).
- Fixed reset bug for FM core resulting in unstable sound for every game loaded except the 1st one.
- Raised sample rate for FM emulation from 16KHz to 28KHz (28, because a few games can't do 32KHz)
- Sound is completely mixed in hardware now, meaning every FM channel, PSG and DAC have their own DS sound channels.
 jEnesisDS 0.7  2008-05-18 17:34:51 
  A new version of jEnesisDS was released a while ago, with following changes:

- Fixed bug in Z80 core, preventing some games from having sound (Wonderboy, etc.).
- Fixed bug in 68000 optimization, that could make some games hang (Bonanza Brothers, etc.).
- Changed sound handling and doubled sample rate for PCM sound, resulting in slightly better sound quality.
- HW renderer partially rewritten, many glitches should be gone, some are still there (and will probably not be easy to fix ever)
- Sprite rendering completely rewritten in ASM. Should be faster and fix most of the sprite issues.
- Implemented mid frame palette updates (water effects in Sonic games, Castlevania, etc.). Note, that this just works, if a game is constantly fast enough, so slowdowns can still cause colors to flicker.
- Many little optimizations in memory handling and the CPU cores. Should reduce slowdowns.
- Added option for sprite masking (Landstalker etc.). It is not 100% emulated, just faked to be enough for most games using it (disable it, if sprites are missing, that should be there).
- Added option to change between 3- and 6-Button pad (just works, if the option is applied BEFORE loading a game). When 6-Button pad is disabled, L+R can be used to move the visible screen area, X to center it.
- Added sound state to the savestates, so that the correct tracks should play now when a state is loaded. Savestates are still not 100% reliable and loading old states can potentially cause problems.
 Status update  2007-09-10 23:02:40 
  I entered the newest version (0.5) into the Neoflash coding compo and scored 3rd place now. Thanks to the people who voted.
Currently i am working on the sound emulation and i think the next version will feature sound of some kind...
Full audio emulation might not be possible, due to the limited processing power of the Nintendo DS, but 3-4 of the 6 FM channels along with the PSG might be feasible at reasonable quality.
The 2nd cpu (Zilog Z80), which is used for sound will be a problem though, as i will have to additionally emulate it on the Arm9.

I cant say how long it will take for this next version to be released, because i dont have a Nintendo DS anymore and developing without testing on real hardware is not really helpful. I guess it will take a while until i can get another DS, so dont wait for it ;)

If someone has one working DS too much...
 My new-old project  2007-06-22 23:48:48 
  A while ago i started to port jEnesis to C. Just a quick and dirty port, to see how much faster it would run...
As i happend to have a Nintendo DS available at around this time, i wanted to see, how it would perform there.
By now this developed into a project of its own and not much is left of the ported code.
I wrote an integrated assembler cpu core for jEnesisDS, as it is not quite possible to achieve playable framerates with a C core.
I am already quite statisfied with the speed, but still see some room for improvement.

The Nintendo DS is really a nice little platform and its a lot of fun developing for it.
The software renderer of jEnesisDS already works quite well and uses blending/jitter correction for scaling to the DS's screen size.
For speed reasons, it doesnt have all the features of the Java version, like shadow-hilite mode and correct sprite making, but i plan to include this sometime.

Currently i am working on an optional Hardware renderer which is not really easy. Many games already work quite well with it though. (The above screenshot was taken with the Hardware renderer on NO$GBA).
Stephan Dittrich  ©2008