Sonic and Sega Retro Message Board: trykaar - Viewing Profile - Sonic and Sega Retro Message Board

Jump to content

Hey there, Guest!  (Log In · Register) Help

Group:
Member: Members
Active Posts:
14 (0.05 per day)
Most Active In:
Engineering & Reverse Engineering (8 posts)
Joined:
26-September 14
Profile Views:
2434
Last Active:
User is offline Jan 24 2015 01:51 AM
Currently:
Offline

My Information

Age:
Age Unknown
Birthday:
Birthday Unknown
Gender:
Female Female
Location:
St. Louis, MO

Contact Information

E-mail:
Private
Website:
Website  http://https://github.com/trykaar

Previous Fields

Project:
Sega Roguelike Exploration/Disassembly
National Flag:
None
SA2 Emblems:
2

Topics I've Started

  1. Dragon Crystal (SMS) Disassembly and Exploration

    05 October 2014 - 11:34 PM

    Posted Image

    Hello everyone,

    I've started a disassembly of Dragon Crystal for the Sega Master System as a project to learn z80 assembly and more about how the games I grew up with work. For those who aren't familiar with the game, it and its Game Gear counterpart (which is the same underlying game, but with significant cosmetic differences including music and monster names and art) and the closely related Fatal Labyrinth for the Genesis/Mega Drive are graphical roguelikes developed by Sega sometime in 1989-1991. The Game Gear version has been one of my favorite games for years, but as the SMS seemed somewhat better documented from a development/hacking standpoint I've decided to start with that.

    So far I have the item names and the in-game messages extracted and editable, the map chunks extracted and separated out, and some functions and many game variables documented; the disassembly reassembles with WLA DX. Based on comparisons with the Sonic 2 SMS disassembly in the Sonic Retro repository, the sound engine appears to be SMPS- several functions seem nearly exact line by line. I've found some of the graphics with Master Tile Converter as well, but haven't focused on them yet either.

    It is trivial to change item names, as you can see from the screenshot above- the listings are extracted into the items folder, and the format is very simple, an initial length byte and then the string, padded out to 15 characters with spaces. The in-game messages seem to be more of a challenge, however- they also start with a length byte, but they are variable-length, and even shortening the strings and padding with spaces or the $FF filler used elsewhere so as not to disturb other strings causes graphical corruption. The map data is composed of 16x16 chunks- I've split out these chunks into individual blobs in the "map" folder for now, but my plan is to make them editable plain text by setting up an ascii table the way I've done with the text.

    Currently I'm focusing on the data- there is more text yet to be extracted, such as the class/level names and monster names, as well as fixing up the maps. After that will come more work on the code. I'm doing research on the release order of the games as well- it's actually not terribly clear, as both Dragon Crystals and Fatal Labyrinth are given 1991 release dates, but my current best guess is Fatal Labyrinth (ROM header date of October 1989 and credits containing 1990 in the Japanese version, Shi no Meikyuu), then Dragon Crystal GG (known to have a Japanese release date of December 1990), then Dragon Crystal SMS (which is given as 1991, but does not show up in game magazines until fall of 1991- Dragon Crystal SMS never had a Japanese or US release, just Europe and Brazil.)

    The development order is a bit more uncertain, especially with the two versions of Dragon Crystal- a user on SMS Power! pointed me to a couple of French reviews of the game which seem to show a prototype version (still with English text): see here and here- the HUD shows both HP and food. I am unsure if this was an expansion to take advantage of the larger display area on the SMS, or a feature that was originally in both versions- curiously, the only name shared between the credits (and with Fatal Labyrinth for that matter) is E. Fugu, the composer, so there appear to have been completely different development teams at work on the GG and SMS versions.

    More information as I find it.

    Links and resources:

    • The disassembly
    • Exploration and disassembly progress thread at SMS Power!
    • Development page for the game at SMS Power!- I have been tracking findings such as memory values, text locations, etc here
    • The Dragon Crystal Shrine at RPG Classics by Dammit9x got me started with a number of memory locations and other data- check it out if you like the games, it's a fantastic resource
    • WLA DX is required to reassemble- use the included Compile.bat
    • Disassembly was created with the help of Emulicious and its creator Calindro
    • The debugging features of MEKA are also super-useful
    • As is the PAR code support in Kega Fusion