ANALYSIS:
Code: Select all
250 PRINT : INPUT "CHOOSE A NUMBER (1-17): ";C: IF C < 1 OR C > 17 THEN 210
260 IF C = 17 THEN END
270 REM CALCULATE TRACK & SECTOR
280 T = 15 - INT (C / 2 + .5):D = C - 1
290 IF C = 1 THEN S = 15: GOTO 320
300 IF C = 2 THEN S = 7: GOTO 320
310 C = C - 2: GOTO 290
These things right here tell me how the track/sector layout for the dungeons works.
Since the program just numbers the dungeons you can pick from 1 to 16 (17 means quit the program), the math for the track basically tells us that the dungeons are stored contiguously moving from track 14 (15 - int(0.5 + 0.5) = 15 - 1) for the Scarlet Bard Cellar, working to track 7 (15 - int(8 + 0.5) = 15 - 8 = 7) for Mangar's highest dungeon level.
The sector calculator in lines 290 and 300 tell us that each dungeon takes up roughly half a track (so sectors 0-7 for one, or 8 to 15 for another). I haven't worked out yet which order (0 --> 7 or 7 --> 0) the actual dungeon parameters come in, but I'll probably just grab a hex dump of the entire damn thing and put it somewhere so ZeroZero or Darendor can compare to the C64 version.
More as I keep rooting through the dungeon mapper util.
UPDATE:
Looked quickly with a sector editor at Track 14 sectors 0 to 15.
The dungeons are stored in backwards sector order as I saw nothing from sectors 0 to 7. So the wine cellars start from track 14 sector 15 and you work backwards.
I have no idea where if any, the goddamn Catalog track is on this disk if there even is one. It's even easier to move the catalog track than it is to change the sector interleave and this was a great simple trick to throw off normal DOS 3.3 disks which automatically set the catalog track on #17. I looked there and what's on it doesn't look like any freakin catalog to me. Probably EORed or some damn thing.