I've been spending the past week and a half or so simply studying/reading all I can about the different character codifications until i can say i'm pretty much well-versed now in the stuff... I finally, *FINALLY* fully understand what the following things are:
- pointer tables
- control characters
- what a font glyph set is (font.bmp)
- how the font glyphs are encoded with positional x/y/d values (give or take one thing or another; hardware/formats differ)
- the difference between variable width, half-width, full-width and monospacing.
- what a texture vertex is, what it does and what you can do with it|
- some very, VERY small knowledge of the most basic opcodes for both x86 and the PSP MIPS architecture
...aaaaand I finally get what most of you guys were telling me about knowing what tools are needed and the importance of either acquiring them or modifying existing tools for your own needs; and the fact that the hex-editor is only the ENTRY into the translation attempt and it lacks the many and varied utilities and/or functions that one will need throughout the course of a translation attempt.
right now the only tool i've been using for the last week is simply IDA program. I swear guys, if IDA's built-in hex editor supported shift-jis I would *ONLY* use IDA, except for when I need to compare files or do something graphics related or simply need a robust hex editor like 010 to do some weird shit.
right now i'm knee deep in poring over the wizardry empire 3 eboot.bin for PSP; i've been using the past few days to just stop trying to translate the game and instead spend some time per day reading about IDA usage and MIPS opcodes and the like... I realize that unlike wizardry empire 1 (windows PC) I'm 100% going to need to implement some font hacks into Wiz-Emp-3 or the translation will be very, very poor.
At the moment I'm going over trace dumps of the game to see if I'm correct in where I think the value that controls the amount of pixels that are inserted by the game between each monospaced full-width letter-segment (the game uses canned text output); once I've found it and successfulyl changed it I then want to eliminate the kanji sets and make a pointer table / display list / character-width table / etc, of my own and see if i can put in some variable width letter drawing.
I do believe that will require to also hack the game's routine for prim triangles and i have to google how to change them into prim rectangles.
anyway what i also wish i can learn to accomplish is to write a tool to extract all of the text from the game. I've yet to actually google this subject in any depth as reading the ASM/encoding stuff has had me pretty floored.
Elminage 2 for PSP is the 2nd game I want to translate and attempt to implement a VWF hack... on the plus side I have Elminage 1 (one) for PSP and that game was officially localized into ENGLISH language so I have been spending a few hours (heh) poring over very carefully the way the Elminage 1 publisher/devs hacked in their VWF routines, opcodes, lists, tables, etc; EVERYTHING.
Just studying how they did it on Elminage 1 and then contrasting/comparing with the fixed-width monospaced font(s) in elminage 2 has been very illuminating.
it's all still very much a mystery really but i can sort of understand what it is i'm staring at, which is more than I can say for two weeks ago.
relevant links for anyone who might find them useful, just as i did:
This forum post from one of the persons involved in the translation project of one of the lost heroes games on PSP went and completely explained and detailed what prim triangles, rectangles, vertex addresses and vertices are and they are used by the psp hardware and how you can utilize this knowledge for your own needs; the post author also goes into detail explaining how letter drawing is done on the psp (and in general, of course, but specifically on PSP):
This forum post didn't really illuminate *much* BUT it did provide one unbelievably helpful step-by-step tutorial on expanding or extending a PSP game's "space" for the later introduction of your own code:
This forum post about a guy asking for help on how to use IDA to pin down a specific function is... very, very good. The amount of detail the person who replied to him went into should be the same gold standard every single perosn should aspire to when replying to any question, from anyone, at any time. Always. No excuses!
This link is to part of the blog of the mother 3 translation team; in this entry the author goes into detail on the basics and the core concepts, or rather, the fundamentals, of just what exactly is going on when a letter is drawn from its glyph and onto the game and why/how half/full widths are a thing and how to work around such things:
Now... much less useful but still these are posts/links that i found helpful. This following link is for someone's personal wiki page where he archived how he achieved a VWF hack for the psp release version of persona 2: