What's new

Sega MegaDrive/Genesis

Lordus

New member
Beside being one of my favorite systems, its also a very nice one to emulate.
To anyone looking for a new challenge i can just recommend it ;)
After Chip8 and GameBoy i started 7weeks ago with a Genesis Emu in Java,
and here are my first public results.
Everything was written from scratch and i am quite statisfied with the results
so far. Sound emulation is still missing and there are CPU bugs preventing many
games from being playable, but i am currently working on them :whistling

I am also happy with the performance, and this is to all Java sceptics here.
It is not optimized yet, everything except sound emulation is there and it
runs up to 350FPS on a 3 GHz machine and
130FPS on a 1.8GHz AthlonXP. (Screenshots were taken @1.4GHz)

Comments are welcome and i'd be glad to help, if anyone wants to develop a Genesis/MegaDrive Emulator.

If someone has too much time and wanted to make a nice Icon for it, id be happy too :saint:

jenesis_24.png
jenesis_11.png
jenesis_18.png


More Screenshots here:
http://www.workingdesign.de/projects/index.php
 

Dark Stalker

New member
wow, that's so neat. Does it run on any system with a decent jre? With gcj improving steadily and all, maybe I should look into this java thing :p
 
OP
L

Lordus

New member
Dark Stalker said:
wow, that's so neat. Does it run on any system with a decent jre? With gcj improving steadily and all, maybe I should look into this java thing :p

Thanks.
It should. I tested it on WinXP & Linux so far without any problems (of course). Its all standard Java, nothing OS specific, so it should run on any jre (from 1.4 i think). When it runs good enough ill make an applet version of it, so it could
theoretically run on a website then. I dont know about releasing it yet though.
When, if and how... i will see
 
OP
L

Lordus

New member
ShizZie said:
Awesome job there. How is Genesis? Is it difficult to emulate?

I dont know :p
I just implemented everything as it was in the docs and suddenly it worked :whistling

It went rather smoothly so far, i wouldnt say it is so difficult. The sprite & background layer
priority handling and vertical and horizontal scrolling has to be
thought about a bit, but other than that its ok.

Its surely easier if you do it in C/C++ and use one of the existing M68k cores.
A lot less headaches...
 

Sagon

New member
Great job, Lordus! Can you post docs that you used? I'm thinking of creation of Sega Genesis emu, it's my favorite, too =)
 

hap

New member
looking good! keep us updated here

The thing keeping me away from such a project is the complex cpu, but I'm sure it would be very interesting to undertake.
 
OP
L

Lordus

New member
Little update.
I think i finally nailed down the sprite and bg layer priority handling.
The first shot is a demo, where the priorities are set in a way, to force the
background to shine through, wherever the Sega sprite is overlapping the
foreground column sprites... does it make sense? :saint:

now just the interlace2 mode and shadow/highlite mode is missing and i guess
i have to change my whole rendering code to implement that :party:

jenesis_47.png
jenesis_45.png
 

bcrew1375

New member
Geez, you're making my mouth water :drool:. Unfortunately, I don't think I'd have the will power to keep going on it. There's just not enough games I like for the Genesis :(.
 

ShizZy

Emulator Developer
My thoughts exactly bcrew. I'd kill to do a snes emu, but it's probably beyond my skill level. (then again, so was gb when I started :p Makes more sense now though almost a year later)
 
OP
L

Lordus

New member
A little update. I am sure all of you have something better to do, but anyway.
Its still very early in development, exactly 2 months before today
i started working on this, but i decided, to release a little XMAS version ;)

All comments are welcome, and id also like some reports on how it works
(read the readme.txt for details, if you want to)


View attachment 30257
 

hap

New member
Overall, very nice..

The non-emulation part is working ok; no lockups or crashes when changing display modes or loading games. I'm using Sun's Java.

games (I haven't tried many):
- Mortal Kombat: won't boot
- Mickey Mania: won't boot
- Puyo Puyo 2: won't boot
- James Pond 3: won't boot
- Contra Hard Corps: problem with scrolling, many screen effects look ok though
- Gunstar Heroes: ok
- Alien Soldier: ok
- Skitchin: ok, shadow/highlight mode too
- Strider: mostly ok, when you press start in the 'hahahahaha' intro, the screen should turn off
- Sonic: ok
- Sonic 2: ok
- Streets of Rage: ok
- Streets of Rage 2: ok
- Golden Axe: ok

Athlon XP 2ghz speed (Sonic 2):
- 1x: 134fps
- 2x: 92fps
- 3x: 60fps
(filters are slow, eg. hq2x gives 20fps)
Full screen mode (320x240, 75hz) is fast.


Have fun emulating sound :p
 
OP
L

Lordus

New member
Thanks for the feedback. I know many games wont work and its not a release meant to work perfectly, just wanted to see if and how it works all in all on other systems.
I think many games, like the MortalKombat ones wont boot due to missing sound emulation or improper faking of it and/or flag bugs that are still in the cpu core.
There still has to be one major bug, that i am currently tracing, which hopefully
will make a lot of the games that dont work now boot, as most of them
have the same problem according to my debugging output.
Well, i just started on it and the next version i release will surely be more compatible.

And Yeah sound scares me a lot.. ;)
 

smcd

Active member
It runs quite nicely (hq2x really kills it though) on my machine - sometimes it seems to randomly speed up (going to 100+ fps) but quickly goes back down to 56 - 62 fps (tried using auto frameskip and 0 frameskip). My machine is an AMD 2500+, 1GB DDR400, ATI 9600 Pro and I'm using XP Pro SP2 with the latest Java VM 1.5.0_4 I think it is. The game that I tried was Sonic & Knuckles.

EDIT: OK so update 4 isn't the latest, update 6 is... I might give it another go in a while and see if anything changes.
 
Last edited:

Top