Thanks to help from DMM, I'm pretty close to getting the 8x16 font up and running properly.
Actually, the font itself works just fine. It's the control codes in that section that are a royal pain in the ass. Why? Because they don't work if you move their location. In the Japanese game, they're all evenly spaced, 0x23 apart. There are three control codes, one after another, one byte each. In the Japanese version, they're always the same: $20, $00, $05. In Demon's Crest, they change.
Now, I wasn't entirely sure what the control codes did, so I've spent the last few weeks trying to analyze some of the ASM to understand what they do. I used the Demon's Crest code to find out what the first code does. It determines the amount of characters per screen that you're allowed to have. Changing this from $20 to $40 allowed me to have enough text on screen so I could fill the screen.
I decided to go through the Demon's Crest script to see what they changed, and look at the game to see if anything significant changed when they changed the codes. They changed the second code to $80 in some cases, which causes the text to display in the center of the screen (they only use this on screens where only one line of text is required). The third code is never changed. At all. If you change it by hand you get scrambled pixels and whatnot.
I have a trace for both the US release and my hacked version, and I've been re-reading them over and over again for about two weeks now. As far as I can see, there's nothing left that's different between the two that would effect this.
The distance between the first few codes in the US version is as follows:
1->2: 0x43
2->3: 0x23 (This is the screen that only has one line of text, all the rest have two)
3->4: 0x43
4->5: 0x43
It seems like each two line screen gets 0x43, and any one liners get 0x23. I can provide screenshots if you need them.
Does anyone have any idea how to deal with something like this? I've never had control codes I couldn't move before. >.>
Edit: I realized that perhaps this doesn't seem like a problem, because normally control codes don't show up as text. Well, they do for me. That's why I need to be able to move them; well, one reason.
Screenshot: http://dsrh.hokuten.net/db8x16.png
~DS