First post, by mogwaay
Hi all,
Just wanted to share a little hack I made yesterday to the DIZZY.EXE file of Fantasy World Dizzy by Codemasters to allow it to select the EGA or VGA modes on a 8088/86 based machine.
I don't really know anything about the structure of .EXE files or how best to document patches to old DOS games, so I'll describe what I did here:
Found the CPU Check code in Ghidra:
Decided that if I could change JNZ (opcode "0x75") on line 1000:4f61 to a JMP (opcode "0xEB"), the CPU Check would be skipped and not set the variables 0xaf42 and 0xaf43 back to 0x00 ( CGA mode), leaving whatever mode the user had just selected previously.
Opening DIZZY.EXE in SublimeText 2 on Mac OS X (it's basic Hex editor loads 8 Words, 16 Bytes per line) on line 1303, Byte #2 (I think this is Byte #20834) is the JNZ "75" and edited that to a JMP "EB" and saved it.
Ran the game on my 10MHz 8088 PC and boom - EGA Dizzy!
Tweets documenting how I found the game in EGA mode - inconsistent preformance, but still quite playable - here: https://twitter.com/mogwaay/status/1481739575542304775
Cheers!