[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Stepping through Rocky's Boots (to possibly P8 it)
Almost got all the information I need.
There is a file on the disk, CLR FINDSLOT BOOT.O, which loads at $0800.
I believe this is the routine used to select the file that ROCKY HELLO.O
loads. The challenge is, how does it do this? I did a quick disassembly
but it doesn't make a lot of sense. (The code appears to be slightly
obfuscated.)
0800: 4C 03 08 A9 00 8D F2 03 A9 08 8D F3 03 49 A5 8D [L..)..r.)..s.I%.]
0810: F4 03 A9 00 8D 00 60 20 63 08 01 60 00 60 FF BF [t.)...` c..`.`.?]
0820: A9 00 8D 00 09 20 63 08 01 09 00 09 FC 1F A9 00 [).... c.....|.).]
0830: 8D F4 03 8D F3 03 8D F2 03 A9 00 85 00 A9 C8 85 [.t..s..r.)...)H.]
0840: 01 A0 07 C6 01 A5 01 C9 C0 F0 F2 8D F8 07 B1 00 [. .F.%.I@pr.x.1.]
0850: D9 5B 08 D0 EC 88 88 10 F5 6C 00 00 20 FF 00 FF [Y[.Pl...ul.. ...]
0860: 03 FF 3C 68 85 00 68 85 01 20 B1 08 85 02 20 B1 [..<h..h.. 1... 1]
0870: 08 85 03 20 B1 08 85 04 20 B1 08 85 05 20 B1 08 [... 1... 1... 1.]
0880: 85 06 20 B1 08 85 07 A0 00 A5 05 C5 07 D0 04 A5 [.. 1... .%.E.P.%]
0890: 04 C5 06 F0 02 B0 13 B1 04 91 02 E6 04 D0 02 E6 [.E.p.0.1...f.P.f]
08A0: 05 E6 02 D0 02 E6 03 4C 89 08 A5 01 48 A5 00 48 [.f.P.f.L..%.H%.H]
08B0: 60 E6 00 D0 02 E6 01 A0 00 B1 00 60 [`f.P.f. .1.` ]
I think my ProDOS replacement will be somewhat larger than this. I only
have 256 bytes to put the code in, so I have to be careful. (The main
loader can be larger than 256 bytes.)
Most likely, my loader will use the usual BB00 buffer, and programs which
need the BF page will need to find their own place for it and mark it, and
the replacement for this file will copy it back.
-uso.