Translating/hacking 3x3 Eyes Seima Densetsu for Mega CD

Hi all!

Long time lurker. I've been doing small time rom-hacking for a while, and for some reason I just love the Mega CD. It just seems to have had a lot of potential which was unused, and/or not available to non-japanese audiences. Lately I've been researching Illusion City a bit - though I don't want to spend too much time on that, as the MSX version is just about completed by a MSX group. So, I changed over to 3x3 Eyes Seima Densetsu. It's an interesting RPG made by Sega themselves, with lots of Sega references (I even noticed the Sonic "ring" sound at one point). You can also find a Game Gear White in-game and sell it, and there are many references to contemporary games (Streets of Rage 2, Puyo Puyo etc.) and much more... It is also one of the better (the best?) 3x3 Eyes games for any console, according to some Japanese sources. So - worth investigating for any Sega fan!

My main problem is that I have a busy personal life, and progress will be very slow. It seems to be a huge game (it has 231 unique files (!) with scenario/event text, but also lots of text describing items, side quests, in-game hint system etc.). On the plus side, the scenario files seem to have lots of unused space between separate blocks of data, and should easily fit an English translation. Also they used the standard Sega LZ (Kosinski) compression for graphics and tilemaps, which is very well researched already. Status for now is

* Completed table file
* 8x16 font function assembly hacked/expanded from only numbers to complete ASCII alphabet.
* Static menu text tilemap translation underway
* Documentation of control codes underway
* Lots of research of files, functions and compressed data done

Major hurdle is that to display text the game uses a pointer table which points to one of many control codes. These control codes can do many things, including display text (not always) according to another pointer (embedded pointer I guess you could call it, though it is not neccessarily within the text data). This means you need to track pointers when you dump the script, and recalculated them when you insert (recompile?) it. I don't know any programming, but have gotten by ChatGPT programmed tools. Inserted text pointers have been hand calculated so far, but I won't finish in 100 years doing this for the whole game Also all translation is AI based for now - this is not the goal, but just to have some temp text to test with...

I try to keep things as open as possible, as there is a large chance I cannot continue researching at some point, or it will go way too slow - so I hope someone else will pick up the work and contribute. I am a huge believer in open sourcing translations. Long term goal would be to have more Mega CD games translated. Here you can find my published notes so far on Github: https://github.com/Ginza25/3x3eyesMCD/

My hope is mostly to get others interested in contributing, so that it can become more of a collective effort - this is definitely not a project with a any deadline in mind.
 

Attachments

  • SEGA_3X3EYES_001.webp
    SEGA_3X3EYES_001.webp
    62.9 KB · Views: 0
  • SEGA_3X3EYES_002.webp
    SEGA_3X3EYES_002.webp
    57.9 KB · Views: 0
  • SEGA_3X3EYES_003.webp
    SEGA_3X3EYES_003.webp
    57.4 KB · Views: 0
Last edited:
A side note regarding Mega CD translation/hacking is the lack of emulators with debugging features. Looking at Illusion City, I used the MAME debugger which is very powerful. Unfortunatly 3x3 Eyes is not supported by MAME (timing problems?), so I have used mostly the built-in debugger of BlastEm, which is not so user friendly, but works as expected for dynamic debugging (breakpoints, printing memory). For trace logs, I really prefer Ares, which puts the MD and MegaCD trace info in one file, and can also trace DMA-stuff. And for looking around memory and the VDP, I use BizHawk and/or Gens... Not so straightforward, but it works somehow...!
 
Back
Top