Early proof of concept work has begun, and I’ve already hit snags. Overcome most of them, but snags none the less.
I’m working on a Linux & Wine setup for this hack, but attempting to use as many native tools as possible. The hex editor I have settled on is Bless – and it has functioned perfectly for my needs. The only feature that I really wanted was tabbed editing of multiple files, so I can refer to the original working ROM easily, and it has that. Has loads of other features too, but I don’t seem to need them yet.
So with this tool in hand, I started looking into the Starflight binary, and thing went better than expected! Started with a random scroll down the data, hoping to find ASCII enconding, and lo and behold I did:-
Bingo! With the knowledge that the main story info and conversations was stored in such an easy to use format, my spirits were lifted. Time for one quick tweak, and to see if I can still get the ROM to load. So I changed the word “STAR” to “RATS”, saved my new ME0.bin file, and went to load it up in Kega Fusion and see what happens.
Aaaand, black screen. I knew the cart checksum would be an issue on hardware, but Fusion has the option to automagically fix it on the fly, so I was hoping it would load anyway. What I wasn’t expecting was for EA to have their own extra checksum function hidden in the ROM. EA are a terrible, distrusting company nowadays – and it appears they’ve been that way since 1991 at least!
A quick google later, and I find that this has been overcome. wboy from the NHL94 hacking scene has offered a solution to the EA ROM checksum issue, which I shamelessly copied into my own project. Save, load, rinse, repeat and the ROM now boots up in the emulator! Thanks wboy! (I felt it unnecessary to sign up to yet another forum just to post a single comment of thanks, so saying it here clears my conscience somewhat).
So I did a bit more text editing, and went to see the results, and it has paid off.
And there, in functional glory, is the first message in the message centre when a new game is started, with text modified for a link to the Mass Effect universe. The only issue I have found is the date at the beginning – if I change that, then the title of the message doesn’t show up in the message centre. I will have to have a little deeper look at why, because the year 4620 puts this game far later than Mass Effect, which doesn’t really work.
So, the proof of concept for changing text has been done, and I’m about to start looking into changing the year – as it’s clearly referenced elsewhere in the code.
I’ll post more when I’ve resolved that issue, and started my proof of concept for the graphics editing.