Man, this is so very impressive what you guys are able to do!! So much TURBO Karma and OBEYLUV for you gents!!
If I haven't been clear ... those screens are just mockups in grafx2, they're not actually running in the game.
Removing the katakana tiles and adding small-caps or lower-case tiles would break things right now, and I'm not ready to do that quite yet.
I'm still investigating the messy menu system and identifying where the menu strings and fight/item strings are for the Battle program.
It's organized a bit differently from the Game program and doesn't seem to use "scripts" as such.
And this gets back to that "why do you need a programmer?" question.
Well ... it's because you're going to have one heck of a time finding out where stuff is in a complex game if you just look at the contents of the CD.
You really need to see the code running, and figure out how the different programs load their data off the CD in order to understand the overall structure of what's going on, and perhaps even why.
Then you can write quick-and-dirty tools to scan through the data on the CD data, and find out more stuff that you didn't know.
Which then leads you onto the figuring out what the next round of tests should be.
It's like peeling an onion, one layer at a time.
For instance ... there are 79 battles in the Anearth, with 39 different sets of background locations.
That could only be determined after figuring out how the the Battle program loads its data, and then writing some code to scan the CD at those locations and figure out where the last one was.
Same for the Game program. There are 44 different "level" loads, containing 276 script chunks (files).
Hudson actually ran out of space for their (rather bloated) scripts in the Game, and ended up loading them from 2 totally-different places, even though the scripts all refer to each other.
It's what I'd call a very old-school traditional arcade/console architecture, rather than the much cleaner and more elegant file-based computer-like architecture that Falcom used in the LoX games.
It's all a bit messy, and they've got hard-coded offsets everywhere to bank locations inside the levels, so I can't just move things around easily ... which means that there's going to be a limited amount of space to play with for the English translation.
SamIAm won't get the complete freedom for his translations that he had in the LoX games. I don't think that it'll be a serious problem, because I can change the encoding of Hudson's scripting language to get some memory back ... but it'll be a huge PITA.
Anyway, despite that, it looks like there's enough free space in the Game program to insert the data for a nice 12-high VFW English font.
The Battle program, OTOH, is using all of its memory, and so I need to figure out if there's some free space for the font in each of the 79 different sets of Battle data.
Which gets back to figuring out the loading, and where it gets its text strings from.
Which leads to more investigations, and then this ...
Battle 0x14F1 ( 0) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1529 ( 1) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1561 ( 2) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1599 ( 3) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x15D1 ( 4) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1609 ( 5) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1641 ( 6) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1679 ( 7) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x16B1 ( 8) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x16E9 ( 9) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1721 (10) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1759 (11) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1791 (12) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x17C9 (13) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1801 (14) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1839 (15) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F used : Bank $70 empty
Battle 0x1871 (16) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x18A9 (17) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x18E1 (18) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F used : Bank $70 used
Battle 0x1919 (19) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F used : Bank $70 used
Battle 0x1951 (20) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F used : Bank $70 empty
Battle 0x1989 (21) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x19C1 (22) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x19F9 (23) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1A31 (24) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F used : Bank $70 used
Battle 0x1A69 (25) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F used : Bank $70 used
Battle 0x1AA1 (26) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1AD9 (27) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1B11 (28) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F used : Bank $70 used
Battle 0x1B49 (29) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F used : Bank $70 used
Battle 0x1B81 (30) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F used : Bank $70 used
Battle 0x1BB9 (31) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1BF1 (32) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1C29 (33) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1C61 (34) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1C99 (35) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1CD1 (36) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F used : Bank $70 used
Battle 0x1D09 (37) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F used : Bank $70 empty
Battle 0x1D41 (38) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1D79 (39) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1DB1 (40) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1DE9 (41) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1E21 (42) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F used : Bank $70 used
Battle 0x1E59 (43) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F used : Bank $70 used
Battle 0x1E91 (44) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F used : Bank $70 used
Battle 0x1EC9 (45) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1F01 (46) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1F39 (47) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F used : Bank $70 empty
Battle 0x1F71 (48) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1FA9 (49) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1FE1 (50) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x2019 (51) : text crc $5f4da114 : $D17A,$C010,$D201,$D2CC,$D37B,$D77B,$D991,$D2F9,$0000 : Bank $73 free from $DD29 : Bank $74 free from $D437 : Bank $6F used : Bank $70 empty
Battle 0x2051 (52) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x2089 (53) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F used : Bank $70 used
Battle 0x20C1 (54) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F used : Bank $70 used
Battle 0x20F9 (55) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F used : Bank $70 used
Battle 0x2131 (56) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F used : Bank $70 used
Battle 0x2169 (57) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x21A1 (58) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F used : Bank $70 used
Battle 0x21D9 (59) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x2211 (60) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x2249 (61) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x2281 (62) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x22B9 (63) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F used : Bank $70 empty
Battle 0x22F1 (64) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F used : Bank $70 used
Battle 0x2329 (65) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x2361 (66) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x2399 (67) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F used : Bank $70 used
Battle 0x23D1 (68) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F used : Bank $70 used
Battle 0x2409 (69) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x2441 (70) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F used : Bank $70 used
Battle 0x2479 (71) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F used : Bank $70 used
Battle 0x24B1 (72) : text crc $af624041 : $D18F,$C010,$D216,$D2E1,$D390,$D790,$D9A6,$D30E,$0000 : Bank $73 free from $DD3E : Bank $74 free from $D437 : Bank $6F used : Bank $70 empty
Battle 0x24E9 (73) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x2521 (74) : text crc $1c12a205 : $D22B,$C010,$D2B2,$D37D,$D42C,$D82C,$DA42,$D3AA,$0000 : Bank $73 free from $DDDA : Bank $74 free from $D437 : Bank $6F used : Bank $70 used
Battle 0x2559 (75) : text crc $48754f0e : $D24E,$C010,$D2D5,$D3A0,$D44F,$D84F,$DA65,$D3CD,$0000 : Bank $73 free from $DDFD : Bank $74 free from $D437 : Bank $6F used : Bank $70 empty
Battle 0x2591 (76) : text crc $27f26288 : $D2CB,$C010,$D352,$D41D,$D4CC,$D8CC,$DAE2,$D44A,$0000 : Bank $73 free from $DE7A : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x25C9 (77) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $E000 : Bank $6F empty : Bank $70 empty
Battle 0x2601 (78) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $DFFE : Bank $6F empty : Bank $70 empty