Thread: Snakes!
View Single Post
Old 09 November 2011, 15:19   #95
Don_Adan
Registered User
 
Join Date: Jan 2008
Location: Warsaw/Poland
Age: 49
Posts: 915
Quote:
Originally Posted by prowler View Post
Hi clenched,

I didn't actually get to trying any disk salvaging today, because I didn't have any time left after getting to grips with the module business (read on and you'll see what I mean).



The module starts at offset $010000 in the Snakes.adf file and is contiguous (i.e. not fragmented), so that the byte at offset $01A057 in the wipc.mod file appears at offset $02A057 in the Snakes.adf file. Not only is this on Disk Block 336 as you said above, but this is also the byte which I had suspected of causing the bad sector. Thus, it is almost certain that changing this byte from $05 to $0F to match the Demo module will also fix the bad sector!

However, the other two-byte differences at offsets $028AAC and $028B74 in the wipc.mod file appear at offsets $038AAC and $038B74, respectively, in the Snakes.adf file on Disk Block 453, which is valid. Therefore I think that these changes may deliberately have been introduced for the Demo music as a kind of 'watermark' to distinguish it from the full version music (for intellectual property reasons, I guess). For this reason I would prefer to leave the original code in Disk Block 453.

I extracted the module from the Snakes.adf (WIPC) image by deleting the code before offset $010000 and after offset $033C40 from what was left, and I saved the resulting file as adf.mod.

Then I discovered something interesting:
C:\>fc /b adf.mod wipc.mod
Comparing files adf.mod and WIPC.MOD
00008C3E: 0E 00
00008C3F: 16 00
0000A6B6: 0C 00
0000A6B7: 12 00
0000C12C: 06 00
0000C12D: 07 00
0000E5EC: 06 00
0000E5ED: 0E 00
00010680: 11 00
00010681: FA 00
00011128: 05 00
00011129: 05 00
000132C6: 06 00
000132C7: 08 00
00014A78: 08 00
00014A79: 08 00
00015C8A: 06 00
00015C8B: 08 00
000177F2: 0A 00
000177F3: 15 00
00017CBA: 06 00
00017CBB: 06 00
00019AF8: 05 00
00019AF9: 05 00
0001D3E0: 04 00
0001D3E1: 04 00
0001EBE2: 02 00
0001EBE3: 05 00
0001FFEE: 08 00
0001FFEF: 09 00
0002130C: 08 00
0002130D: 09 00
00022CD0: 05 00
00022CD1: 05 00
000245E0: 09 00
000245E1: 0B 00
0002666C: 06 00
0002666D: 0D 00
00027A36: 06 00
00027A37: 06 00
00028E6E: 02 00
00028E6F: 01 00
0002AC24: 06 00
0002AC25: 06 00
0002C0F0: 06 00
0002C0F1: 17 00
0002D6DA: 06 00
0002D6DB: 06 00

I don't understand why all these bytes have been cleared in the wipc.mod file when I had expected the two files to be identical. Could WinUAE's module ripper possibly be buggy?

I have played all three files with Java Mod Player v1.9.4.4, and I can discern no differences between them.

Disk salvaging will resume tomorrow...
You compared uninitialised (from disk) and initialised (from memory) version of tracker module. Initialised tracker module has cleared 2 bytes for every sample.
Don_Adan is offline  
 
Page generated in 0.05510 seconds with 9 queries