BizHawk/BizHawk.Emulation/Consoles/Sega/Genesis/Compat.txt

56 lines
2.1 KiB
Plaintext
Raw Normal View History

68000:
Timings:
- MULU/MULS/DIVU/DIVS have funky timings.
- How many cycles does TRAP take to execute?
- How many cycles does it take to accept an interrupt?
- AND has some funky timings when it comes to immediates?
GAMES:
Monster World 4 - Music is messed up now. Timing is all off. It used to work.
Quackshot doesn't boot.
Moonwalker doesn't boot.
Altered Beast: start with 0 health, 0 lives???
Contra Hard Corps: Scrolling is messed up in level 1... used to work. Window seemed to mess things up.
After Burner 2: No music
MUSHA: Intro music starts too soon
MUSHA: uses unimplemented VRAM copy
MUSHA: Some sprites have messed up left/right symmetry
Landstalker: freezes during new game sequence, very early
Arcus Odyssey does UNHANDLED Z80 READs... is this a problem?
ahhh! real monsters - no sound
Alien Storm.... Controls all messed up. Same with Aero the Acrobat.
Devilish/Bad Omen - uses VRAM copy (unimpl)
Blood Shot - FPS game - some texture corruption
Things that read from VRAM work like 50%-90%, but not 100%. It's frustrating. Kid Chameleon and Eternal Champions are examples.
Some games flicker in the rightmost columns. Is this caused by mid-frame mode shifting(32/40 col modes?) Alisia Dragoon is one example.
TODO: non-instant DMA emulation
TODO: Add 68000/VDP interrupt enable delay (one instruction, similar to After Burner/PCE)
TODO: freaking H-interrupts
TODO: Test DMA/ VDP command words.... I'm not at all convinced that VRAM is always correct
==============
Notable games:
==============
Ghouls n Ghosts sets up the graphics planes backwards from normal, by setting the plane A to be low priority and Plane B to be high priority.
If you have a bug in your priority code this may find it.
Revenge of Shinobi will not play DAC sounds if YM2612 registers are not initialized to L/R channels enabled.
Ballz doesnt really initialize hardly any VDP registers, relies on VDP registers powered-on to the correct values
Contra appears to use VDP A0 set = byte-swap. Not sure if its important in anyway in that game, but the byte swap happens.