I have a bit of a plan, but don't know how well it will work. Take the famous "Vista fix" with engine.cfg. Most of the file is just empty. Dump looks like this.
Code: Select all
............ ........................................€?.....ÿÿÿÿ.............’.†?............................=.Eƒï.....?ÍÌÌ>...?....c...........................–...................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
----------------------------------------------------------------
Ok, I picked up a basic (and slightly unstable) disassembler and started playing with it. Very interesting. Turns out RRT3 was written in x86 assembly, which is what I suspected. That part in the hex file about Total SRAM: %1 Mb hides a lot more than it seems. If I run the .exe through the disassembler it wont (by default) expand every byte into the underlying code.
If I do the expansion manually for just the % sign in SRAM: %1 Mb, it brings up a lot more code in x86 assembly. Things like calling various registries, pointing to addresses, bla bla bla. It's a bit mind-boggling at the moment, but at least the code shows recognisable operations now.
Another example, the engine.cfg file with the Vista fix in it. First shot is what it looks like in a hex editor.
Second shot is what the same file looks like when run through a disassembler.
In the second shot, sbb means "integer subtraction with borrow", ax is an 8 bit registry IIRC, and [si] should be a target address. I can see learning enough of this to get decent graphics is going to be a mission. At least there's some hope of producing traceable code now.