JEnesisDS: Difference between revisions
From GameBrew
More actions
No edit summary |
No edit summary |
||
| Line 13: | Line 13: | ||
jEnesisDS is a Sega Genesis/MegaDrive emulator for the Nintendo DS, by Lordus. It is a port of a Genesis emulator written in Java and was released as an entry in the GBAX 2007 competition. It is the only Genesis emulator for the DS with sound support. | jEnesisDS is a Sega Genesis/MegaDrive emulator for the Nintendo DS, by Lordus. It is a port of a Genesis emulator written in Java and was released as an entry in the GBAX 2007 competition. It is the only Genesis emulator for the DS with sound support. | ||
It was entered to the [https://www.neoflash.com/forum/index.php?topic=4571.0 NEO Summer Coding Compo 2007] and ranked 3rd place. | |||
==Installation== | |||
jEnesisDS uses [[DLDI|DLDI]] for accessing your cards filesystem, [[DLDI|DLDI]] patch for the .nds file and add your rom disks. | |||
== | ==User guide== | ||
You have to play a bit with the settings to make some games boot or work better. | |||
Some games work faster with "Idle Loop Detection", others without (Castlevania, Gunstar Heroes), and some games just boot if it is disabled. | |||
The same goes for H-INT emulation. If a game doesnt boot just try changing those options. | |||
Very few games will just boot, if checksum autofixing is disabled (Dynamite Heady, Thunder Force IV). | |||
==Control== | |||
'''6-Button Mode (PAD1):''' | |||
Y - Y button | |||
B - B button | |||
A - C button | |||
X - X button | |||
L - Y button | |||
R - Z button | |||
Start - Start | |||
L | Start+L+R - Mode | ||
D-Pad - L/R/D/U | |||
'''3-Button Mode (PAD1):''' | |||
Y - A button | |||
B - B button | |||
A - C button | |||
D-Pad - L/R/D/U | |||
STart - Start | |||
X - Center screen | |||
L - Move screen area left (if the game has a horizontal resolution of 320 pixels) | |||
R - Move screen area right (if the game has a horizontal resolution of 320 pixels) | |||
Select - Enter File Browser (also accessible by the cartridge icon) | |||
'''Sylus:''' | |||
Touch the Joypad icon to enter Setting in game. | |||
Touch save-slot icons to load/save states (2 slots available). | |||
Touch save-slot icons to load/save states (2 slots available) | |||
Touch screen to pause. While in pause mode, use the D-Pad for screen positioning in the HW renderer version. | Touch screen to pause. While in pause mode, use the D-Pad for screen positioning in the HW renderer version. | ||
==Changelog== | ==Changelog== | ||
'''v0.7.4''' | '''v0.7.4''' | ||
* Changed scheduling of M68000 and Z80. | |||
*Changed scheduling of M68000 and Z80. | * Some changes in M68000 internal memory handlers. | ||
*Some changes in M68000 internal memory handlers. | * YM2612 FM core mostly rewritten in ASM. | ||
*YM2612 FM core mostly rewritten in ASM. | * Some bugs in FM core fixed (Operator 1 was sometimes not considered in certain cases). | ||
*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. | ||
*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). | ||
*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. | ||
*Sound is completely mixed in hardware now, meaning every FM channel, PSG and DAC have their own DS sound channels. | |||
'''v0.7''' | '''v0.7''' | ||
*Fixed bug in Z80 core, preventing some games from having sound (Wonderboy, etc | * 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 | * 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. | * 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) | * 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. | * 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 | * 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. | * Many little optimizations in memory handling and the CPU cores. Should reduce slowdowns. | ||
*Added option for sprite masking (Landstalker etc | * 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 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. | * 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. | ||
'''v0.6''' | '''v0.6''' | ||
*Custom Z80 ASM core implemented. | * Custom Z80 ASM core implemented. | ||
*Custom YM2612 and PSG emulation, running on the ARM7. So there is sound now | * Custom YM2612 and PSG emulation, running on the ARM7. So there is sound now. | ||
*Many parts rewritten. Speed without Z80 core should be quite a bit faster for most games. | * Many parts rewritten. Speed without Z80 core should be quite a bit faster for most games. | ||
*Idle-loop detection completely rewritten. Shouldn't break any games anymore. Therefore the option to disable it was taken out. | * Idle-loop detection completely rewritten. Shouldn't break any games anymore. Therefore the option to disable it was taken out. | ||
*Some changes to HW renderer. Some glitches should be gone, others were probably introduced. Will be rewritten for the next version. | * Some changes to HW renderer. Some glitches should be gone, others were probably introduced. Will be rewritten for the next version. | ||
*Tweaked H-Int auto detection, so less games should need the "ON" option to boot now. | * Tweaked H-Int auto detection, so less games should need the "ON" option to boot now. | ||
*Mode-Button added (L+R+Start) | * Mode-Button added (L+R+Start). | ||
'''v0.5''' | '''v0.5''' | ||
*Implemented save-states (touch slot icons to load/save) | * Implemented save-states (touch slot icons to load/save). | ||
*Extended SRAM compatibility. Story of Thor and Phantasy Star IV should work now. | * Extended SRAM compatibility. Story of Thor and Phantasy Star IV should work now. | ||
*Extended "force update" of HW renderer. Fixes Sonic3 intro, Sonic Bonus stage and probably others. | * Extended "force update" of HW renderer. Fixes Sonic3 intro, Sonic Bonus stage and probably others. | ||
*Fixed sprites showing garbage if more than 64 sprites were displayed | * Fixed sprites showing garbage if more than 64 sprites were displayed (Comix Zone, Outrun, Sonic, well most games probably). | ||
*Partial rewrite of sprite handling in the HW renderer. Less slowdowns when a lot of sprites are displayed. | * Partial rewrite of sprite handling in the HW renderer. Less slowdowns when a lot of sprites are displayed. | ||
*Implemented better VSync. Fixes temporary speedups after slowdowns. | * Implemented better VSync. Fixes temporary speedups after slowdowns. | ||
*Implemented vertical scaling option into HW renderer (horizontal is NOT possible, dont ask | * Implemented vertical scaling option into HW renderer (horizontal is NOT possible, dont ask). Aspect ratio will be incorrect, but makes games more enjoyable. | ||
*Implemented screen positioning in HW renderer (touch screen to pause, then use [D-Pad] to scroll. Push [A] for faster scrolling) | * Implemented screen positioning in HW renderer (touch screen to pause, then use [D-Pad] to scroll. Push [A] for faster scrolling). | ||
*Rewrote DS interrupt system for HW renderer. Probably less slowdowns, surely safer. | * Rewrote DS interrupt system for HW renderer. Probably less slowdowns, surely safer. | ||
*Added "Fake Z80" option. The faking code can mess up some games (Ghouls n' Ghosts, Aladdin, Cool Spot 2, and others), so it can be turned off now. | * Added "Fake Z80" option. The faking code can mess up some games (Ghouls n' Ghosts, Aladdin, Cool Spot 2, and others), so it can be turned off now. | ||
** Interestingly enough, if it is turned off, real Z80 emulation will be executed, BUT just undercertain circumstances, to keep games working and not to slow things down. | |||
Interestingly enough, if it is turned off, real Z80 emulation will be executed, BUT just undercertain circumstances, to keep games working and not to slow things down. | ** As with other options, some games might depend on a certain setting to boot (Gaiares just boots when this option is set to "off"). | ||
As with other options, some games might depend on a certain setting to boot (Gaiares just boots when this option is set to "off"). | |||
'''v0.4''' | '''v0.4''' | ||
* Updated Release | * Updated Release. | ||
*Recompiled with current cpu core. v0.4 was "accidentially" compiled with an older version. | * Recompiled with current cpu core. v0.4 was "accidentially" compiled with an older version. | ||
This should raise compatibility quite a bit. | This should raise compatibility quite a bit. | ||
*Separated HW and SW renderer versions. | * Separated HW and SW renderer versions. | ||
*Activated "Force Update" Option in the HW renderer version. If enabled, the chances of tile corruptions are minimized - it can lead to massive slowdowns though, if a game updates more than 1024 unique tiles per frame (Turrican intro, Comix Zone intro). | * Activated "Force Update" Option in the HW renderer version. If enabled, the chances of tile corruptions are minimized - it can lead to massive slowdowns though, if a game updates more than 1024 unique tiles per frame (Turrican intro, Comix Zone intro). | ||
* You can also temporarily change this option for a one-time update, if the tiles are corrupted(i.e Viewpoint). | |||
You can also temporarily change this option for a one-time update, if the tiles are corrupted(i.e Viewpoint). | |||
'''v0.4''' | '''v0.4''' | ||
* Initial Preview Release | * Initial Preview Release. | ||
*Custom ARM asm Motorola68000 CPU core | * Custom ARM asm Motorola68000 CPU core. | ||
*Hardware and Software renderer (this release defaults to the HW renderer and the SW renderer can not yet been choosen through the settings. | * Hardware and Software renderer (this release defaults to the HW renderer and the SW renderer can not yet been choosen through the settings. | ||
*VDP emulation with all DMA modes | * VDP emulation with all DMA modes. | ||
*Horizontal & Vertical Interrupts | * Horizontal & Vertical Interrupts. | ||
*Support for PAL/NTSC and all country codes (all games will run at 60Hz though) | * Support for PAL/NTSC and all country codes (all games will run at 60Hz though). | ||
*.smd, .bin & .gen support | * .smd, .bin & .gen support. | ||
*partial SRAM save/load support (doesnt work for all games yet) | * partial SRAM save/load support (doesnt work for all games yet). | ||
*Line based renderer | * Line based renderer. | ||
*Scroll Layers A+B & Window rendering with priorities (horizontal Windows arenot emulated in theHW renderer yet) | * Scroll Layers A+B & Window rendering with priorities (horizontal Windows arenot emulated in theHW renderer yet). | ||
==Credits== | ==Credits== | ||
Exophase, Stéphane Dallongeville ,Charles McDonald, SiLeNt_Ni. | |||
Anyone else who supported this project in one or another way. | |||
Anyone else who supported this project in one or another way | |||
[[Category:Homebrew | <br> | ||
[[Category:DS homebrew emulators]] | |||
[[Category:Homebrew console emulators on DS]] | |||
Revision as of 05:43, 1 June 2021
| JenesisDS | |
| File:JEnesisDS.png | |
| General | |
|---|---|
| Author(s) | Lordus |
| Type | Emulator |
| Version | 0.7.4 |
| Licence | Mixed |
| Links | |
| [Media:JEnesisDS0174.zip Download] | |
| Website | |
<htmlet>adsense</htmlet>