Ok, this is a very interesting topic, so I spent some hours to investigate the loader of BT2.
It's a track/ sector loader with direct access to the serial interface to the 1541 via CIA $DD00. No kernal functions are used. It's a completely programmed loader which loads bit by bit (not byte by byte).
There are no file names. The addressing works with a track table (starts at $649E) and a sector table (starts at $6522). The information which track/ sector is next is stored in the first block. Also the destination address (RAM) is stored in this block.
The loaded bytes are XORed with "EA" (for sure, it's an EA-game) before stored in the RAM. There is also a buffer for the data which starts at $FB42.
$E0 is used to point at the track/ sector tables. In your example (combat engine), $E0 has the value 00 and points to track 3 and sector 0. The guild has 07 in $E0 and points to track 9 and sector 0.
track/ sector table
Code: Select all
>C:6490 82 82 82 82 82 82 82 82 82 82 82 82 82 00 03 05 ................
>C:64a0 01 07 01 08 0b 09 08 0b 09 0a 05 0a 0b 12 0e 0e ................
>C:64b0 0e 0e 0e 06 0c 01 01 01 01 01 02 02 02 0f 11 11 ................
>C:64c0 11 11 11 11 11 11 11 12 12 12 12 12 12 12 12 12 ................
>C:64d0 13 13 13 13 13 13 13 13 13 16 16 16 16 16 10 10 ................
>C:64e0 10 10 10 10 11 11 11 11 11 11 11 11 11 11 12 12 ................
>C:64f0 12 12 12 12 12 12 13 13 13 13 0e 0e 0e 10 13 13 ................
>C:6500 13 13 13 16 16 16 16 16 16 16 16 16 16 17 17 17 ................
>C:6510 17 0f 11 16 16 16 16 17 17 17 17 17 17 17 17 18 ................
>C:6520 17 04 00 00 00 06 00 00 00 00 08 08 11 0f 0b 00 ................
>C:6530 0d 0c 05 07 09 0b 00 00 00 03 06 09 0c 0f 00 06 ................
>C:6540 0b 00 01 03 05 07 0a 0c 0e 10 12 02 04 06 08 0a ................
>C:6550 0c 0e 10 12 01 03 05 07 09 0b 0d 0f 11 00 02 04 ................
>C:6560 06 08 09 0b 0d 0f 11 13 00 02 04 06 08 0a 0c 0e ................
>C:6570 10 12 02 04 06 08 0a 0c 0e 10 00 02 04 06 0d 10 ................
>C:6580 12 00 08 0a 0c 0e 10 00 02 04 06 08 0a 0c 0e 10 ................
>C:6590 12 01 03 05 07 12 0c 0a 0c 0e 10 00 02 04 06 08 ................
>C:65a0 0a 0c 0e 00 10 10 09 09 0a 0a 0b 0c 0c 0d 0d 0e ................
It should be not that hard to edit the BT2 disks.