[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'.