On Wed, 8 May 2013, qkumba wrote:
I meant to reply to this sooner. The real loader is at $5500. It accepts values in A and Y. A is the starting track, Y is the starting index ($00, $30, or $70) into the read-address table (at $5400). The table contains three 00-terminated lists of addresses. You can see that it uses most of the memory. You'll need some trickery in order to preserve $BF00-BFFF, but the game runs in 48kb, so the ProDOS code in $D000-FFFF is safe.
If Y is always one of those 3 values, is A also fixed to one of 3 values? 5400- A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF 5410- B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF 5420- 40 40 40 40 00 00 00 00 00 00 00 00 00 00 00 00 5430- 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 5440- A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF 5450- B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF 5460- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 5470- 08 09 0A 0B 0C 0D 0E 0F 60 61 62 63 64 65 66 67 5480- 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 5490- 78 79 7A 7B 7C 7D 7E 7F 80 81 82 83 84 85 86 87 54A0- 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 94 95 96 97 54B0- 98 99 9A 9B 9C 9D 9E 9F 00 00 00 00 00 00 00 00 ...I wonder why it would load consecutive sectors at the same address... -uso.