Difference between revisions of "Mega Drive Unlicensed Game Emulation Notes"

From Sega Retro

Line 28: Line 28:
 
==[[Tiny Toon Adventures 3]]==
 
==[[Tiny Toon Adventures 3]]==
 
Affected ROMs:
 
Affected ROMs:
*''TODO''
+
*[[Tiny Toon Adventures 3]]: 6c68e4c7a5a14f926dc69ea5d5a452d9ead29a8e
 
The game writes a value (TODO) to $400000 (this address is somewhat obfuscated in ROM) and expects to read it back from $400002 (TODO verify); otherwise, the game will reset itself (the branch that does this is at ROM address $002C36).
 
The game writes a value (TODO) to $400000 (this address is somewhat obfuscated in ROM) and expects to read it back from $400002 (TODO verify); otherwise, the game will reset itself (the branch that does this is at ROM address $002C36).
  

Revision as of 01:45, 28 July 2011

TODO: Is there a better category? And I have to add everything =P (plus ROM addresses, SRAM specifics, etc.)

Unlike official Mega Drive games, unlicensed games usually have copy protection schemes, SRAM mapping oddities, or other hardware quirks that emulator authors should take note of if they want their emulators to work with these games. sha1sums of dumps to watch out for are given.

All Realtec Games

TODO: wikify this

Affected ROMs:

All Realtec games use a custom mapper format documented by TascoDLX.

Elf Wor

Affected ROMs:

  • Elf Wor: 5fc4591fbb1acc64e184466c7b6287c7f64e0b7a

The game checksums two critical routines (one of which is the routine that handles player events) and will refuse to boot if the checksums do not match. (TODO add information on these checksums) [TODO also see why some emulators behave wonky with this]

Mighty Morphin' Power Rangers: The Fighting Edition

Affected ROMs:

  • TODO

According to Eke, author of Genesis Plus GX:

00065D2E:6000 ; bypass a first check
00065D3A:070A ; fixes internal checksum so it matches original value

000661FC:6000 ; bypass a second check
00066208:070A ; fixes internal checksum so it matches original value 

Tiny Toon Adventures 3

Affected ROMs:

The game writes a value (TODO) to $400000 (this address is somewhat obfuscated in ROM) and expects to read it back from $400002 (TODO verify); otherwise, the game will reset itself (the branch that does this is at ROM address $002C36).

The game also appears to write to the upper 64KB of ROM (from $F0000 on), but doesn't appear to actually use that area (TODO).

Ya Se Chuan Shuo

Affected ROMs:

  • "Imperial Dynasty" version: presently undumped
  • "The Legend of Arthur" version: 8fe0806427e123717ba20478ab1410c25fa942e6

The Data East/Side Pocket driver stolen from High Seas Havoc used in this game is slightly modified; an add from Z80 RAM to a register (TODO) is used. If this instruction is not emulated correctly, the play song routine will load invalid music and eventually crash.

Furthermore, the Z80 sound driver presumably expects that the uppermost 32KB of ROM (from $1F8000) be mirrored at $400000. This needs to be confirmed.