CAESAR Logo

Catalogue of Arcade Emulation Software - the Absolute Reference

Valid XHTML 1.0! Valid CSS!

X-Arcade

X-Arcade

Large CAESAR Logo

ddragon.c

0.33b3 [Carlos A. Lozano, Rob Rosenbrock, Chris Moore, Phil Stroffolino, Ernesto Corvi]


TODO:

- Banking in Toffy / Super Toffy

- DIPS etc. in Toffy / Super Toffy


NOTES:

- Double Dragon has a crash which sometimes occurs at the very end of the game (right before the final animation sequence). It occurs because of a jump look up table: BAD3: LDY #$BADD and BAD7: JSR [A,Y]. At the point of the crash A is 0x3e which causes a jump to 0x3401 (background tile ram) which obviously doesn't contain proper code and causes a crash. The jump table has 32 entries, and only the last contains an invalid jump vector. A is set to 0x3e as a result of code at 0x625f - it reads from the shared spriteram (0x2049 in main cpu memory space), copies the value to 0x523 (main ram) where it is later fetched and shifted to make 0x3e. So... it's not clear where the error is - the 0x1f value is actually written to shared RAM by the main CPU - perhaps the MCU should modify it before the main CPU reads it back? Perhaps 0x1f should never be written at all? If you want to trace this further please submit a proper fix! In the meantime I have patched the error by making sure the invalid jump is never taken - this fixes the crash (see ddragon_spriteram_r).

- Does this make Super Toffy the sequel to a rip-off / bootleg of a conversion kit which could be applied to a bootleg double dragon :-p?


WIP:

- 0.113u2: Changed VSync to 57.444853 Hz.

- 0.105u4: More dipswitch improvements to the Double Dragon driver [Twisty].

- 0.103: David Haywood added partial updates and boosted the interleave in the Double Dragon driver.

- 0.84u5: Fixed MSM5205 and MSM6295 balance.

- 0.77: Bryan McPhail fixed video & interrupt timing derived from Xain schematics and confirmed on real DD board, corrected interrupt handling, epecially to MCU (but one semi-hack remains), Thunder Strike now boots but sprites don't appear (I had them working at one point, can't remember what broke them again), fixed Dangerous Dungeons, added World version of Double Dragon (actually same roms as the bootleg, but confirmed from real board) and removed stereo audio flag (still on Toffy - does it have it?).

- 9th July 2001: Kevin Eshbach submitted an update for the Double Dragon and Double Dragon II drivers, fixing some dipswitch settings and sound frequency.

- 2nd September 2000: Nicola Salmoria fixed a 6309 bug which affected Double Dragon.

- 12th July 2000: Nicola Salmoria fixed the ADPCM sound frequency in Double Dragon and did some general cleanup in the driver.

- 0.33b3: Added ddragon.c driver.