|
ForumsSega Master System / Mark III / Game GearSG-1000 / SC-3000 / SF-7000 / OMV |
Home - Forums - Games - Scans - Maps - Cheats - Credits Music - Videos - Development - Hacks - Translations - Homebrew |
Author | Message |
---|---|
|
Help Finding 16x16 Font for World Derby GG
Posted: Sat Sep 29, 2018 7:00 pm
|
Long story short, I'm seeking help finding the 16x16 font for World Derby on the Game Gear.
In an effort to dump a script for translation, I already found the 8x8 font, and made a table file based on the order of the font tiles which is accurate for the 8x8 text. However, I cannot determine the text encoding for the script that uses the 16x16 font. The font tiles seem to be compressed, or otherwise obscured in the code. Anyone willing/able to take a crack at finding that font? NOTE: I can't post images due to automated behavior prohibiting "new" users from posting "links" despite having been a member for years. |
|
|
Posted: Sat Sep 29, 2018 8:08 pm |
Unfortunately because of bot postings we had to restrict it, normally on your 4th message it should be ok. Feel free to post two dummy messages here to get it fixed. |
|
|
Posted: Sat Sep 29, 2018 8:46 pm |
Or attach the images. The 16x16 font seems to be for kanji, which clearly can't be held in VRAM, so it must be loading it on the fly (maybe tile wise so it can recycle components). The encoding must be something fairly complex... | |
|
Posted: Sun Sep 30, 2018 2:26 am |
I'm not very much use reverse engineering, at least not where knowledge of the ASM/processor is necessary. I'll try attaching some images of the two kinds of text.
Below is my table file for the 16x16 text BASED on the 8x8 font. It's still incomplete. Note: the digits overlap the English alphabet, so I'm pretty sure the English alphabet is not correct, but the hiragana and kanakana are good:
|
|
|
Posted: Sun Sep 30, 2018 3:22 am |
FYI: Here's what I have for the 8x8 table.
|
|
|
Posted: Sun Sep 30, 2018 8:15 am |
The large font is actually 12x16 to fit more text on screen (and in VRAM) in a 12x5 character window... | |
|
Posted: Sun Sep 30, 2018 9:33 am |
...and the font itself is stored as packed 1bpp data, so it won't show nicely in most tools. The best approach for script dumping will be to hack the data for the intro text box to show all the characters in sequence, but for the actual translation patch it's going to be far better to replace it with a variable width font renderer rather than try to fit into the 12x16 fixed width font. | |
|
Posted: Thu Oct 04, 2018 8:57 am |
I was hoping to avoid something like this. At this point I've only coded dumpers and not inserters, but I guess I'll code something up someday to handle this. |
|
|
Posted: Mon Nov 26, 2018 6:34 pm |
I'm back. :) Apologies for my previous petulance. I ended up taking your approach of programmatically inserting consecutive values into the ROM for a different game (City Hunter on PCE/TG16) which I was having a similar issue with, and it turned out to be way easier than I was expecting and I was able to dump a proper script.
However, I'm applying the exact same technique to World Derby, and I'm getting frustrating results. Mainly, when I edit even a single byte within some script values that display at the beginning of the game, I get a red screen upon loading. It happens before the SEGA logo even appears. I tried this on both Emukon and Mekaw with the same results. Is this a result of some kind of checksum comparison happening within the game itself? Has anyone else encountered this before? Seeking advice. |
|
|
Posted: Mon Nov 26, 2018 11:18 pm |
It does sound like a tamper check. I would need to take a look to understand how it does that. | |
|
Posted: Mon Nov 26, 2018 11:44 pm |
Would you be willing to take a look at it?
I did some searching for checksum issues when editing ROMs and found some other folks having similar issues, but the tools on RHDN seem to be geared for Genesis and SNES. |
|
|
Posted: Tue Nov 27, 2018 9:35 am |
Indeed the game has an internal checksum - it sums all bytes in the ROM apart from the first 16KB, and compares the result to the value at offset $000f. To disable this, patch:
ROM[614F] = C9 I added a bit more detail at http://www.smspower.org/Development/WorldDerby-GG . |
|
|
Posted: Tue Nov 27, 2018 5:56 pm |
Thank you so much! Here is the result of our labors. Now to ID a whole bunch of kanji, lol.
|
|