Author Topic: jEnesisDS 0.5  (Read 40545 times)

0 Members and 1 Guest are viewing this topic.

Offline Lordus

  • Newbie
  • *
  • Posts: 11
jEnesisDS 0.5
« on: August 20, 2007, 06:52:18 AM »
Nickname: Lordus
Projet name : jEnesisDS
Division: NDS APP
Original enter : YES
In last NEO Compo this project won in the top 10 : NO



Project description: 

"jEnesisDS" is a Sega MegaDrive/Genesis Emulator for the Nintendo DS.
It started as a port of my Java Genesis/32X emulator jEnesis. By now, the code has been
completely rewritten and many parts (CPU core, parts of GPU) are written in ARM assembler.

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



New in this version:

********
v0.5   *
********
- Implemented save-states (touch slot icons to load/save)
- 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.
- Fixed sprites showing garbage if more than 64 sprites were displayed.    (Comix Zone, Outrun, Sonic, well most games i guess).
- 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 vertical scaling option into HW renderer (horizontal is NOT possible, dont ask!).
Aspect ratio will be incorrect, but makes games more enjoyable (at least in my opinion).
- 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.

- 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 under certain 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").



How to use:

jEnesisDS uses DLDI for accessing your cards filesystem, so you have to patch the file with the appropriate DLDI patch.

There is no way to edit the key settings yet, so here is the layout:

PAD1:
A="Y"
B="B"
C="A"
X="X"
Y="L"
Z="R"
START="START"
L,R,D,U= directional keys

"SELECT": Enter File Browser (Also accessible by the cartridge icon)

Touch the Joypad icon to enter Setting.
Touch save-slot icons to load/save states (2 slots available)
Touch screen to pause. While in pause mode, use the D-Pad to for
screen positioning in the HW renderer version.



Hope you like it ;)
« Last Edit: August 27, 2007, 02:49:47 AM by Lordus »

Offline Dr.neo

  • Administrator
  • Hero Member
  • *****
  • Posts: 3826
Re: jEnesisDS 0.5
« Reply #1 on: August 20, 2007, 11:33:53 AM »
wooo..can't believe it can run MD on nds and with save states! very great EMU pm nds!

but 2 questions:
[1] can it support motion in next version?
[2] can it play over 32M SF2 turbo?
 ~sm-36.gif~
In my world,have 0 and 1 only ......Matrix World......

Offline alekmaul

  • Sr. Member
  • ****
  • Posts: 259
  • portabledev.com Webmaster
    • PortableDev
Re: jEnesisDS 0.5
« Reply #2 on: August 20, 2007, 01:54:22 PM »
Yeah, great entry and whaooou, very fast emulation :D !
And what about the sound Lordus, some news about my mail and the SN76489 ;) ?
Also, a big improvement to add for me :  automatic resize of the screen (perhaps i'm wrong but i can't find it in the menu).

Offline OSW

  • Newbie
  • *
  • Posts: 40
Re: jEnesisDS 0.5
« Reply #3 on: August 20, 2007, 02:44:21 PM »
Great stuff.

but i'm confused, does this version only use HW renderer? or both?

because you seperated them last version.

Thanks again, it works great!

Offline Lordus

  • Newbie
  • *
  • Posts: 11
Re: jEnesisDS 0.5
« Reply #4 on: August 20, 2007, 10:57:33 PM »
Thanks for the positive remarks!

Quote
[1] can it support motion in next version?
[2] can it play over 32M SF2 turbo?

1. It could, and i think it would be cool, just that i neither had time to implement, nor ways to test it.
2. Not yet, and it will be hard to implement without additional ram, because of the way my cpu core works, but it is definately on my todo list!

Quote
And what about the sound Lordus, some news about my mail and the SN76489
Also, a big improvement to add for me :  automatic resize of the screen (perhaps i'm wrong but i can't find it in the menu).

I am working on the sound currently, but decided to go for a software PSG solution.
I am not really sure what you mean with the automatic resize option you cant find in the menu?
There is the "vertical scaling" option, which resizes the screen just in vertical direction to fit the DS resolution. If you want to move the visible area, there is no option for it, just touch the screen to go to pause mode and use the D-Pad to position the screen.


Quote
Great stuff.

but i'm confused, does this version only use HW renderer? or both?

because you seperated them last version.

This version just includes the hardware renderer. I will release an updated software renderer version with the next release, but i am concentrating more on the hardware renderer, because there are not really many ways, the software renderer can be made faster. So i rather try to make the HW renderer more compatible and accurate.

Offline alekmaul

  • Sr. Member
  • ****
  • Posts: 259
  • portabledev.com Webmaster
    • PortableDev
Re: jEnesisDS 0.5
« Reply #5 on: August 20, 2007, 11:34:32 PM »
Ok for the sound, good luck with the software version of it ^^
About scalling : it is about horizontal scalling, not vertical, are you goind to do something about that (to prevent us to use pad to see all the screen) ?

Offline tomqman

  • Newbie
  • *
  • Posts: 32
Re: jEnesisDS 0.5
« Reply #6 on: August 21, 2007, 01:21:14 AM »
very nice running games realy smooth (apart from dragons fury dosnt load) do you think that u will get sound working

Offline Lordus

  • Newbie
  • *
  • Posts: 11
Re: jEnesisDS 0.5
« Reply #7 on: August 21, 2007, 04:40:13 AM »
Ok for the sound, good luck with the software version of it ^^
About scalling : it is about horizontal scalling, not vertical, are you goind to do something about that (to prevent us to use pad to see all the screen) ?

Unfortunately there is absolutely no way to implement horizontal scaling into the hardware renderer the way i am doing things, except you want it to be extremely slow. I have to use all 4 of the DS backgrounds and you can just scale 2 of them in hardware. The vertical scaling uses line interrupts to simply leave out certain lines, but of course this cannot be done horizontally.


Quote
very nice running games realy smooth (apart from dragons fury dosnt load) do you think that u will get sound working

Please read the readme that comes with the emu. If a game doesnt load try to change certain options. The default settings should work with most games and are NOT the most compatible ones, but fast ones.
The game you mentioned should work, if you turn "Fake Z80" on.

I think i will get sound working. If you will like the quality and the effect on speed is another question ;)

Offline tomqman

  • Newbie
  • *
  • Posts: 32
Re: jEnesisDS 0.5
« Reply #8 on: August 21, 2007, 05:03:53 AM »
got it working but unplayable o well :) and sound would be great just make a software on off button if it effects speed. i cant wait for future progress on this emu thanks :) : ~sm-42.gif~

Offline diamond07

  • Newbie
  • *
  • Posts: 43
Re: jEnesisDS 0.5
« Reply #9 on: August 21, 2007, 06:18:53 AM »
this is one of my favorite emus i only use sega master plus lameboy 0.9 and snesmuls or whatever   and your emu and im glad you updated it  i like it i hope you win but i know posstive you will win if you get sound added to it. good luck lordus ~sm-42.gif~
My Psp slim kickazz(Darth Vader)
3.90m33 rulez

Offline alekmaul

  • Sr. Member
  • ****
  • Posts: 259
  • portabledev.com Webmaster
    • PortableDev
Re: jEnesisDS 0.5
« Reply #10 on: August 21, 2007, 01:35:27 PM »
Unfortunately there is absolutely no way to implement horizontal scaling into the hardware renderer the way i am doing things, except you want it to be extremely slow. I have to use all 4 of the DS backgrounds and you can just scale 2 of them in hardware. The vertical scaling uses line interrupts to simply leave out certain lines, but of course this cannot be done horizontally.

I think i will get sound working. If you will like the quality and the effect on speed is another question ;)
Yes, i take a look at your emu with no$gba and i saw now why it is so fast and why you will have pb with the actual render engine to do horyzontal scalling.
But just take a look at the alpha lerp algorithm, it can help you.
That's great that the sound begin to be ok :)

Offline Lordus

  • Newbie
  • *
  • Posts: 11
Re: jEnesisDS 0.5
« Reply #11 on: August 21, 2007, 02:54:00 PM »
Yes, i take a look at your emu with no$gba and i saw now why it is so fast and why you will have pb with the actual render engine to do horyzontal scalling.
But just take a look at the alpha lerp algorithm, it can help you.
That's great that the sound begin to be ok :)

I wont have problems, its just impossible ;)

Also, the software renderer is using alpha lerp. But alpha lerp doesnt scale the screen, its just a way to filter the scaled image. Again i cannot use this in the hardware renderer version unfortunately.

Offline alekmaul

  • Sr. Member
  • ****
  • Posts: 259
  • portabledev.com Webmaster
    • PortableDev
Re: jEnesisDS 0.5
« Reply #12 on: August 21, 2007, 03:31:09 PM »
no pb Lordus, your emu is great you know ^^

Offline Lordus

  • Newbie
  • *
  • Posts: 11
Re: jEnesisDS 0.5
« Reply #13 on: August 21, 2007, 03:41:25 PM »
Sorry, no problem, i am thankful for your remarks, i just didnt sleep for like 2 days   ::sm-01::

And i know there is still a lot to do. Specially sound, but i am a bit more optimistic about that now, because my first tries turned out better than expected.

Offline alekmaul

  • Sr. Member
  • ****
  • Posts: 259
  • portabledev.com Webmaster
    • PortableDev
Re: jEnesisDS 0.5
« Reply #14 on: August 21, 2007, 07:07:11 PM »
And i know there is still a lot to do. Specially sound, but i am a bit more optimistic about that now, because my first tries turned out better than expected.
For SN and YM emulation, or only SN ?
And there's no pb with your replies, you're a great coder of emulators, i like that !