martyn_hill wrote: Mon Feb 10, 2025 5:20 pm
Hi Tony
If it's using the io.fstrng trap to read those 80bytes, then I believe it'll actually be the first directory entry itself (plus the next 16bytes of entry#2), which in a directory-file, would be a copy of the directory entry for <root> itself.
Is this what you've decompiled from some copy-protection routine? The context might offer more clues...
(excuse any typing errors, I've just sliced a finger open on a can of tuna!)
It's using FS.LOAD to read the 80 bytes
I've imaged my master cartridge of 3D Slime to an MDV image (has 1 bad sector) but it's failing the protection check so am trying to work out why
It took a lot of passes to get the image so the master cartridge itself won't work either, and I'd like to repair it or at least make a working cartridge (but with the protection in place and working)
This is the code section I'm trying to understand at the moment please
Code: Select all
0000025C 303c 0001 MOVE.W #0x0001,D0
00000260 72ff MOVEQ #0xff,D1
00000262 7604 MOVEQ #0x4,D3
00000264 41fa 0866 LEA (D_0866,PC),A0 $0ACA MDV2_
00000268 4e42 TRAP #2 IO.OPEN OPEN
0000026A 0c40 0000 CMP.W #0x0,D0
0000026E 6600 00a8 BNE.L B_318
00000272 4bfa 009e LEA (D_009e,PC),A5
00000276 2a88 MOVE A0,(A5) channel ID
00000278 303c 0048 MOVE.W #0x0048,D0
0000027C 7450 MOVEQ #0x50,D2 80 bytes
0000027E 363c ffff MOVE.W #0xffff,D3
00000282 43fa 5d50 LEA (D_5d50,PC),A1
00000286 4e43 TRAP #3 FS.LOAD
00000288 303c 0002 MOVE.W #0x0002,D0
0000028C 4e42 TRAP #2 IO.CLOSE
Many thanks