[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: More thoughts about Lode Runner & other multiload games...
On Fri, 28 Sep 2012, Hot Rod wrote:
OK, so in taking a quick peek at LoGo's version of LR, it looks like the
high score table is on track $0C, sector $0F. And that this is stored in
memory at $1F00, and is either read or written via the routine at $6359.
You can see where it's called with the A-reg set to either a #$01 (for
reads) or #$02 (for writes) and then stores that operation code first,
followed by setting up the track, sector, and buffer address (i.e. track
$0C, sector $0F, buffer $1F00) as part of the IOB, before calling RWTS
with the address of the IOB ($B7E8) loaded in A and Y regs. This
routine at $6359 is called from a few different places though, and I
didn't explore them all. It might be worth first confirming that this
is the high score table you're after (track $0C, sector $0F).
Good to have a guru around. XD
Where I enter the code is at 6008, because I skipped some code that did
stuff (and apparently broke if I called it directly without the disk).
That code was:
seg000:6000 JSR sub_0_87A2
seg000:6003 LDA #1
seg000:6005 JSR sub_0_6359
Which calls, well, the exact function you pointed out. XD
I never seemed to make note of this function, though it does seem to be a
vector into RWTS.
I don't see any code (but it just might be I haven't analyzed it yet) to
actually *set* those values, so perhaps that code *only* handles the high
score table? I'll test that.
*a few seconds later*
No, this is actually the main read-write code! All the 3 functions I was
looking for vector through 6359.
-uso.