[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[no subject]
Ah - it's reading in from disk still! (through DOS RWTS via $3D9 - it's for=
the high scores)
Change all these to bypass going through the keyboard buffer to instead go =
directly to $818E:
JSRs to $200:
$15CD
$19A6
$1AB4
$1B58
$4000-$7FFF looks like sparse graphics data - could be packed, but meh.
Routine at $89FB formats $A100-$A1FF with runs of four $#00 and ten #$A0.
Routine at $8B76 reads in the high scores from track $11, sectors $0F, $0E,=
$0D; then continues at $8B8B to read sector $0C to pick up the JMP $818E i=
nto the keyboard buffer at $200; then restores the buffer to $A000. The rea=
l catalog starts at track $11, sector $0B (so the original crack disk had b=
een modified).
Routine at $8BB8 copies data from $A000 to $A200[$A300][$A400] (based on pa=
ge count stored in $7BF2; starts at #$02 and decrements down). $A000 is the=
RWTS read/write buffer.
$8BEE is the IOB
$8BF2 is the track
$8BF3 is the sector
$8BF6/F7 is the lo/hi buffer address (default is $A000)
$8BFA is the command code (#$01 is read; #$02 is write)
For now, disable the RWTS call by placing RTS (#$60) instead of JSR (#$20) =
at $8BEA (was JSR $03D9, will now just return). So no raw track/sector rea=
ds/writes. Gives up saving high scores, but now allows portable file.
file length is now L$7F03
Now want to re-wire to display the title screen correctly on a game restart=
instead of just leaving the screen on the last game screen.
Seems to loop back to $8647, so hook the screen unpack re-wire to there.[do=
ne]
Believe the original publisher was 'Morningstar', so restore that instead o=
f 'krac-ware'.