Looking to make a Madou Monogatari Saturn translation patch.

I'm not sure if this is where I am supposed to post about this, but, my friends and I run a discord featuring Madou Monogatari stuff (and run a site called Puyo Puyo Universe). I want to learn a translation patch for Madou Monogatari (Saturn), and later Waku Puyo Dungon, 1-2-3. A-R-S. Rulue's Spring Break, and Seriri's Happy Birthday.

As far as the Saturn games go, how exactly do I go about creating a translation patch?
 
It varies game by game, heres a general (not comprehensive) guide:

0.) Have someone familiar with computer architecture and ASM on the team. They should read through all the saturn hardware docs and familiarize with the renasis sh2 docs. Knowledge of lz** style compression cant hurt.

1.) See if Yabause or mednafen can play the game. Yabause has a nicer debug interface, so thats going to be preferred. If neither support you may as well stop here.

2.) Figure out where the font is stored: System.dat sometimes is a good place to start and just look at it in a tile viewer. Id recommend randomly corrupting the font to verify it is indeed the one in use, there could be several fonts... If you cant find it, it could be compressed in which case you will need to trace it backwards from VDP1 or VDP2 using your debugger.

3.) Locate the text drawing routine and menu routines. Probably use the debugger again to trace backwards from writes to the video display processors.

4.) Determine location of the text in files (if compressed youll need to work that backwards again from the debugger and do a file search on the predecompressed text to determine the original file).

5.) When the original file is located and text format has been determined you should have enough info to decide how you are going to modify both the font, text storage, and text routines. You may need to hack in a vfw font for things to look nice. Expanding a file will require rebuilding the disc image, otherwise cdmage can update.

6.) Next step is images. Need to determine the formats, and if nonstandard, again use the debugger to figure out a format. Maybe make a custom tool if necessary.

7.) Audio/Video - Again, need to figure out the format either by staring at the files in a hex editor or tracing the debugger. Then a custom tool needs to get written to update/replace if the formats cant be read with existing tools.

So... its a lot of work. You can stare at files and pray theres some common tool out there for some things, but inevitably you will need to use a debugger if you want to make real progress.
 
How can I convince a talent like TrekkiesUnite118, NoahSteam, Mr Conan,
kitchen34 Plissken, anata, Ms Tea, JunkerHQ, aishsha or CafeBreak Project, AND OFCOURSE Malenko (please dont be offended if i forgot anyone i am an outsider)
to make a romhack translation for this game?

A very large portion of the translation work has already been done, all of the main story is translated:
> http://cw.nanako.moe/wiki/Log:MMS_Translation .


@rorirub also seemed to have some insight into the decompression needed:
My holy grail is Madou Monogatari. It seems to have a script system neatly tucked into a few files, and while digging through the game code I found text for a debug menu (who knows if it was removed or just deactivated?) that allowed for stage select and enemy tests at the minimum, based on the text.

The catch is that every single game file on the disk uses a custom compression. There is a decompression tool available, but one would either need to write a compression tool, or figure out how to patch the game exe to load uncompressed files. The script data is all inside the RAM uncompressed.
 
Last edited:
One of the older Puyo Tools, version 1.1, decompresses it, but cant compress it. I looked at it for maybe an hour at some point. I just dont have the free time right now to work on it, need to finish up all the other stuff Im working on.
 
One of the older Puyo Tools, version 1.1, decompresses it, but cant compress it. I looked at it for maybe an hour at some point. I just dont have the free time right now to work on it, need to finish up all the other stuff Im working on.
Mr Conan, would you mind looking at this update on the Puyo tools github? Recompress files · Issue #45 · nickworonekin/puyotools
The owner of the puyotools repo answered a question regarding recompressing the files.
 
Last i checked, version 3.0 broke the decompression for saturn madou monogatari, so i assumed the compression routines also would not be compatible. 1.1 was the only version that seemed to work to decompress. That said i didnt dig far enough to see where the script maps to. Might not even be in the cnx files
 
Last i checked, version 3.0 broke the decompression for saturn madou monogatari, so i assumed the compression routines also would not be compatible. 1.1 was the only version that seemed to work to decompress. That said i didnt dig far enough to see where the script maps to. Might not even be in the cnx files
Maybe its possible to decompress the CNX files with 1.1. and then re-compress them with 3.0?
 
i didnt dig far enough to see where the script maps to. Might not even be in the cnx files
According to Manonegra on the discord, the script is located in the SEQ files. So its not in the CNX files if i understand correctly.
1702492194222.png
 
That seems odd since SEQ is used for the sequence music, but they are indeed CNX files when you look inside them.

The compression format is not the same. When I looked at it, the first byte is always not compressed and is single, but the compressor currently doesnt do this. Also, it seems compression lengths are not standard as well. I am going to tinker with this for a little bit in the future, and if I can get it to compress exact, I will share the modification.
 
Tested on COMMON.SEQ and BTLMAP.SEQ and created exact duplicates. If somebody wants to test the rest to verify if any bugs exist in the rest of the files, that would be great.
 

Attachments

  • PuyoTools.zip
    1 MB · Views: 25
Back
Top