druellan wrote: ↑Mon Jan 08, 2024 2:40 pm
The issue I have with the string search is that there is no copyright notice inside Aquasquad's TAP/TZX or doing a memory dump.
So, might be the case those games don't use MCoder II or might be the case there is a way to completely obfuscate the runtime library.
You could not obfuscate MCoder II runtime library after game is started but you could obfuscate game on tape before game is loaded to RAM. So tape image files like TAP/TZX could contain no visible text you search for if game was protected or/and compressed. You should seek RUNTIME of mcoder2 but not copyright signature.
mc2 occupies RAM starting from 60000 up to UDG. So you should compare mc2 snapshot with game snapshot. Use any uncompressed file format - SNA is uncompressed, but Z80 is compressed. I use 48K SNA file which is 49179 bytes long.
Save snapshot after MC2 is loaded and then save second shapshot after the game you are inspecting was started.
Snapshot contains RAM but not ROM. So addresses in SNA file are moved down comparing to ZX RAM.
60000 - 16384 = 43616 or 0xAA60. That is address in SNA file where MCoder II should start. So you should compare files in binary mode and look addresses starting from 0xAA60.
In my case it is Cerius. I use WinMerge which shows differences as orange and matched parts as white.
First white section AA60-AB30 is changed with orange one and you see copyrights there (red frame) - in MC2 file but not in Cerius game. That's why you have good chance to make wrong conclusion if you just look for any copyright inside game.
But second white section 0xABD0 and everything down to address BF70 is the same for both SNA files (green frame). And that means Cerius contains 5024 bytes of mcoder2 RUNTIME library.
Next screenshot for Interalia (Cerius 2) shows greater orange section AB30-AD30 but still everething with higher addresses AD30-BF70 matches for this game and mcoder2 - 4672 bytes.
druellan wrote: ↑Mon Jan 08, 2024 2:40 pm
Astros Software also does not seem to have any obvious signature, at least looking at Zulu War, Nato Assault or Vikings.
Zulu surely does contain mc2 runtime.