2023-07-08 16:35:15 +00:00
|
|
|
|
*
|
|
|
|
|
* Lode Runner
|
|
|
|
|
* (c) 1983, Broderbund Software
|
|
|
|
|
* (s) 2014, Brutal Deluxe Software
|
|
|
|
|
*
|
|
|
|
|
|
|
|
|
|
mx %11
|
2024-02-08 21:48:24 +00:00
|
|
|
|
org $0
|
2023-07-08 16:35:15 +00:00
|
|
|
|
lst off
|
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
ds $800
|
|
|
|
|
|
|
|
|
|
* 0 vide
|
|
|
|
|
* 1 mur
|
|
|
|
|
* 2 mur dur
|
|
|
|
|
* 3 <EFBFBD>chelle visible
|
|
|
|
|
* 4 liane
|
|
|
|
|
* 5 trappe
|
|
|
|
|
* 6 <EFBFBD>chelle invisible
|
|
|
|
|
* 7 tr<EFBFBD>sor
|
|
|
|
|
* 8 ennemi
|
|
|
|
|
* 9 h<EFBFBD>ros
|
2024-02-12 18:28:22 +00:00
|
|
|
|
|
|
|
|
|
* Sprite quand heros ennemi tombe dans un trou :
|
|
|
|
|
* - venant de gauche : 20 53 (35h)
|
|
|
|
|
* - venant de droite : 19 54 (36h)
|
|
|
|
|
*
|
2024-02-08 21:48:24 +00:00
|
|
|
|
*-----------------------------------
|
|
|
|
|
* EQUATES
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
2024-02-12 18:28:22 +00:00
|
|
|
|
lvlWIDTH = 28 ; $1c
|
|
|
|
|
lvlHEIGHT = 16 ; $10
|
|
|
|
|
|
|
|
|
|
sprWIDTH = 10
|
|
|
|
|
sprHEIGHT = 11
|
2024-02-08 21:48:24 +00:00
|
|
|
|
|
|
|
|
|
nbLIVES = 5
|
|
|
|
|
maxLEVEL = 150
|
|
|
|
|
maxHEIGHT = 192 ; lines
|
2024-02-09 22:22:41 +00:00
|
|
|
|
|
|
|
|
|
modeEDIT = 0 ; to decode level
|
|
|
|
|
modeGAME = 1
|
2024-02-08 21:48:24 +00:00
|
|
|
|
|
|
|
|
|
sprEMPTY = 0
|
|
|
|
|
sprWALL = 1
|
|
|
|
|
sprWALLI = 2 ; mur indestructible
|
|
|
|
|
sprLADDER = 3
|
2024-02-09 22:22:41 +00:00
|
|
|
|
sprBAR = 4
|
2024-02-08 21:48:24 +00:00
|
|
|
|
sprTRAP = 5
|
|
|
|
|
sprLADDERI = 6
|
|
|
|
|
sprCHEST = 7
|
|
|
|
|
sprFOE = 8
|
|
|
|
|
sprHERO = 9
|
2024-02-12 18:28:22 +00:00
|
|
|
|
sprCURSOR = 10
|
|
|
|
|
spr0 = $3b ; until $44
|
2024-02-14 20:46:43 +00:00
|
|
|
|
sprA = $45 ; until $5e >.()/-< (latest sprite is $65)
|
2024-02-12 18:28:22 +00:00
|
|
|
|
|
|
|
|
|
minJOY = $12 ; joystick min/center/max values
|
|
|
|
|
ctrJOY = $25
|
|
|
|
|
maxJOY = $3b
|
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
*--- The big zero page usage
|
|
|
|
|
|
2024-02-12 18:28:22 +00:00
|
|
|
|
boardX = $00
|
|
|
|
|
boardY = $01
|
2024-02-14 20:46:43 +00:00
|
|
|
|
heroSTEPX = $02
|
|
|
|
|
heroSTEPY = $03
|
|
|
|
|
heroSPRITE = $04
|
|
|
|
|
fgLEFTRIGHT = $05
|
|
|
|
|
ptrBOARD = $06 ; $06..$07: pointer to board
|
|
|
|
|
ptrBBACK = $08 ; $08..$09: pointer to back board
|
|
|
|
|
ptrDATA = $0a ; $0a..$0b: pointer to data (HGR or other)
|
|
|
|
|
ptrHGR1 = $0c ; $0c..$0d
|
|
|
|
|
ptrHGR2 = $0e ; $0e..$0f
|
|
|
|
|
ptrSTRSND = $10 ; $10..$11: pointer to some table (string, sound)
|
|
|
|
|
foeX = $12
|
|
|
|
|
foeY = $13
|
|
|
|
|
foeC88 = $14
|
|
|
|
|
foeC90 = $15
|
|
|
|
|
foeC70 = $16
|
|
|
|
|
foeC78 = $17 ; coordinate
|
|
|
|
|
foeC80 = $18 ; coordinate
|
2024-02-12 18:28:22 +00:00
|
|
|
|
idxFOE = $19 ; current foe index
|
2024-02-14 20:46:43 +00:00
|
|
|
|
fgODDEVEN = $1a
|
2024-02-12 18:28:22 +00:00
|
|
|
|
theYSCREEN = $1b
|
|
|
|
|
theXSCREEN = $1c
|
|
|
|
|
nbLINES = $1d
|
2024-02-08 21:48:24 +00:00
|
|
|
|
theA = $1e
|
|
|
|
|
hgrPAGE = $1f
|
2024-02-14 20:46:43 +00:00
|
|
|
|
CH = $24 ; **
|
|
|
|
|
CV = $25 ; **
|
|
|
|
|
CSWL = $36 ; **
|
|
|
|
|
CSWH = $37 ; **
|
|
|
|
|
KSWL = $38 ; **
|
|
|
|
|
KSWH = $39 ; **
|
2024-02-12 18:28:22 +00:00
|
|
|
|
theMASK1 = $50
|
|
|
|
|
theMASK2 = $51
|
|
|
|
|
fgCOLLISION = $52
|
|
|
|
|
theJOYX = $65
|
|
|
|
|
theJOYY = $66
|
|
|
|
|
sprTABLE = $71
|
2024-02-08 21:48:24 +00:00
|
|
|
|
theX = $85
|
|
|
|
|
theY = $86
|
|
|
|
|
activePAGE = $87
|
2024-02-12 18:28:22 +00:00
|
|
|
|
tempINDEX = $88
|
2024-02-08 21:48:24 +00:00
|
|
|
|
theCENTAINE = $89
|
|
|
|
|
theDIZAINE = theCENTAINE+1 ; 8a
|
|
|
|
|
theUNITE = theDIZAINE+1 ; 8b
|
2024-02-09 22:22:41 +00:00
|
|
|
|
theSPEED = $8c ; 8c
|
2024-02-08 21:48:24 +00:00
|
|
|
|
nbFOE = $8d ; 8d
|
|
|
|
|
theSCORE = $8e ; 8e..8f.90..91
|
2024-02-13 08:09:27 +00:00
|
|
|
|
idxLVLDISK = $92 ; index in level buffer from disk
|
2024-02-08 21:48:24 +00:00
|
|
|
|
nbCHEST = $93 ; 93
|
2024-02-14 20:46:43 +00:00
|
|
|
|
fgCHEST = $94 ; 94 1: not a chest, 0: a chest
|
|
|
|
|
intLEVEL = $96 ; 96 theLEVEL-1
|
2024-02-12 18:28:22 +00:00
|
|
|
|
fgSOUND = $99 ; 99
|
2024-02-13 08:09:27 +00:00
|
|
|
|
fgPLAY = $9a ; 1: alive, 0: dead
|
2024-02-09 22:22:41 +00:00
|
|
|
|
fgLVLMODE = $a2 ; 0: edit, <>0: game
|
|
|
|
|
idxLADDERI = $a3
|
|
|
|
|
theLEVEL = $a6
|
2024-02-13 08:09:27 +00:00
|
|
|
|
fgDEMO = $a7
|
2024-02-14 20:46:43 +00:00
|
|
|
|
ptrDEMO = $a8 ; $a8..$a9 - pointer to demo data
|
|
|
|
|
demoKEY = $aa ; the demo key actions
|
|
|
|
|
demoREPEAT = $ab ; the demo repeat factor
|
2024-02-13 08:09:27 +00:00
|
|
|
|
fgKEYBTN0 = $ac ; 1: no key/btn0 pressed, 0: key/btn0 pressed
|
|
|
|
|
fgCHANGE = $ad ; 1: no change, 0: change
|
2024-02-12 18:28:22 +00:00
|
|
|
|
sprDATA = $df ; $df..$ff
|
2024-02-08 21:48:24 +00:00
|
|
|
|
|
2024-02-12 18:28:22 +00:00
|
|
|
|
fgINPUT = $95 ; "J"oystick, "K"eyboard
|
2024-02-08 21:48:24 +00:00
|
|
|
|
theMEN = $98
|
|
|
|
|
|
|
|
|
|
chrLA = $88
|
|
|
|
|
chrRET = $8d
|
|
|
|
|
chrRA = $95
|
|
|
|
|
chrESC = $9b
|
|
|
|
|
chrSPC = " "
|
|
|
|
|
chrZERO = "0"
|
|
|
|
|
chrNINE = "9"
|
|
|
|
|
chrDOT = "."
|
|
|
|
|
chrA = "A"
|
|
|
|
|
chrI = "I"
|
|
|
|
|
chrJ = "J"
|
|
|
|
|
chrK = "K"
|
|
|
|
|
chrL = "L"
|
|
|
|
|
chrN = "N"
|
|
|
|
|
chrO = "O"
|
|
|
|
|
chrU = "U"
|
|
|
|
|
chrY = "Y"
|
|
|
|
|
chrZ = "Z"
|
|
|
|
|
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
* SOFTSWITCHES
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
|
|
|
|
KBD EQU $C000
|
|
|
|
|
KBDSTROBE EQU $C010
|
|
|
|
|
SPKR EQU $C030
|
|
|
|
|
TXTCLR EQU $C050
|
|
|
|
|
MIXCLR EQU $C052
|
|
|
|
|
TXTPAGE1 EQU $C054
|
|
|
|
|
TXTPAGE2 EQU $C055
|
|
|
|
|
HIRES EQU $C057
|
|
|
|
|
BUTN0 EQU $C061
|
|
|
|
|
BUTN1 EQU $C062
|
|
|
|
|
PADDL0 EQU $C064
|
|
|
|
|
PADDL1 EQU $C065
|
|
|
|
|
PTRIG EQU $C070
|
|
|
|
|
SETKBD EQU $FE89
|
|
|
|
|
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
* DONNEES
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
|
|
|
|
put LR.Data
|
|
|
|
|
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
* PAGES GRAPHIQUES
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
|
|
|
|
HGR1 ds 8192,$20
|
|
|
|
|
HGR2 ds 8192,$40
|
|
|
|
|
|
|
|
|
|
*-----------------------------------
|
2024-02-13 08:09:27 +00:00
|
|
|
|
* ENTRY POINT
|
2024-02-08 21:48:24 +00:00
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
|
|
|
|
L6000 JSR checkJOYSTICK
|
2023-07-08 16:35:15 +00:00
|
|
|
|
|
|
|
|
|
LDA #$01 ; read score table
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR readSCORE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
|
|
|
|
|
*--- Show title page
|
2024-02-08 21:48:24 +00:00
|
|
|
|
* Data from $0F00 to $1A84
|
2023-07-08 16:35:15 +00:00
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
showTITLEPAGE
|
|
|
|
|
JSR clearHGR1 ; display the compressed title page
|
|
|
|
|
LDA #<logo-1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
STA L6030+1
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA #>logo-1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
STA L6030+2
|
|
|
|
|
LDY #$00
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STY theY
|
2024-02-13 08:09:27 +00:00
|
|
|
|
STY fgDEMO
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STY intLEVEL
|
|
|
|
|
LDA #>HGR1
|
|
|
|
|
STA hgrPAGE
|
|
|
|
|
STA activePAGE
|
|
|
|
|
L6023 JSR setHGRPOINTER
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDY #$00
|
|
|
|
|
L6028 INC L6030+1
|
|
|
|
|
BNE L6030
|
|
|
|
|
INC L6030+2
|
|
|
|
|
L6030 LDA L6028
|
|
|
|
|
BEQ L603F
|
|
|
|
|
BPL L603C
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA (ptrHGR1),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
INY
|
|
|
|
|
BPL L6028
|
|
|
|
|
L603C TAY
|
|
|
|
|
BPL L6028
|
2024-02-08 21:48:24 +00:00
|
|
|
|
L603F INC theY
|
|
|
|
|
LDY theY
|
|
|
|
|
CPY #maxHEIGHT ; until line 192
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCC L6023
|
|
|
|
|
STA TXTPAGE1
|
|
|
|
|
STA HIRES
|
|
|
|
|
STA MIXCLR
|
|
|
|
|
STA TXTCLR
|
|
|
|
|
JMP L618E
|
|
|
|
|
|
|
|
|
|
*---
|
|
|
|
|
|
|
|
|
|
L6056 LDA #$00
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA theSCORE
|
|
|
|
|
STA theSCORE+1
|
|
|
|
|
STA theSCORE+2
|
|
|
|
|
STA theSCORE+3
|
2023-07-08 16:35:15 +00:00
|
|
|
|
STA $97
|
|
|
|
|
STA $A5
|
|
|
|
|
STA $53
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA demoREPEAT
|
|
|
|
|
STA ptrDEMO ; demo actions
|
|
|
|
|
LDA #>demoDATA
|
|
|
|
|
STA ptrDEMO+1
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA #nbLIVES ; 5 men to start with
|
|
|
|
|
STA theMEN
|
2024-02-13 08:09:27 +00:00
|
|
|
|
LDA fgDEMO
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LSR
|
|
|
|
|
BEQ L6099
|
|
|
|
|
LDA #$01
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR readSCORE ; load score
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$00
|
|
|
|
|
BNE L6086
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR tellNODATADISK
|
|
|
|
|
JMP showTITLEPAGE ; start again
|
2023-07-08 16:35:15 +00:00
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
L6086 LDA scorebuf+$FF
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L6091
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA CSWL ; this code is useless
|
|
|
|
|
LDX CSWH ; if no copy protection remains
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L6095
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L6091 LDA KSWL
|
|
|
|
|
LDX KSWH
|
|
|
|
|
L6095 STA CH
|
|
|
|
|
STX CV
|
|
|
|
|
L6099 JSR clearHGRPAGES ; clear HGR pages and draw board
|
2023-07-08 16:35:15 +00:00
|
|
|
|
STA TXTPAGE1
|
2024-02-09 22:22:41 +00:00
|
|
|
|
L609F LDX #modeGAME
|
2024-02-13 08:09:27 +00:00
|
|
|
|
JSR prepareLEVEL
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$00
|
|
|
|
|
STA $9E
|
|
|
|
|
STA $9F
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA fgDEMO ; are we in demo mode?
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LSR
|
2024-02-14 20:46:43 +00:00
|
|
|
|
BEQ L60BF ; yes
|
2024-02-09 22:22:41 +00:00
|
|
|
|
JSR waitKEYUP
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDA boardX
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA theX
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDA boardY
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA theY
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDA #sprHERO
|
|
|
|
|
JSR blinkSPRITE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L60BF LDX #$00
|
|
|
|
|
STX $9C
|
|
|
|
|
STX $54
|
|
|
|
|
LDA $97
|
|
|
|
|
CLC
|
2024-02-08 21:48:24 +00:00
|
|
|
|
ADC nbFOE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
TAY
|
|
|
|
|
LDX L6214,Y
|
|
|
|
|
LDA L6CA7,X
|
|
|
|
|
STA $60
|
|
|
|
|
LDA L6CA7+1,X
|
|
|
|
|
STA $61
|
|
|
|
|
LDA L6CA7+2,X
|
|
|
|
|
STA $62
|
|
|
|
|
LDY $97
|
|
|
|
|
LDA L621D,Y
|
|
|
|
|
STA $5F
|
2024-02-14 20:46:43 +00:00
|
|
|
|
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L60E4 JSR L64BD
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA fgPLAY ; are we dead?
|
|
|
|
|
BEQ L613F ; yes
|
2024-02-09 22:22:41 +00:00
|
|
|
|
JSR playMELODY
|
|
|
|
|
LDA nbCHEST ; remaining chests?
|
|
|
|
|
BNE L60F5 ; yes
|
|
|
|
|
JSR showINVISIBLELADDERS
|
2024-02-14 20:46:43 +00:00
|
|
|
|
|
|
|
|
|
L60F5 LDA boardY ; are we on top row
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L6107
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA heroSTEPY ; are we going up?
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$02
|
|
|
|
|
BNE L6107
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA nbCHEST ; are there chests left?
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L611A
|
|
|
|
|
CMP #$FF
|
2024-02-14 20:46:43 +00:00
|
|
|
|
BEQ L611A ; we won
|
|
|
|
|
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L6107 JSR L75F4
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA fgPLAY ; are we dead?
|
|
|
|
|
BEQ L613F ; yes
|
2024-02-09 22:22:41 +00:00
|
|
|
|
JSR playMELODY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JSR L6C82
|
2024-02-13 08:09:27 +00:00
|
|
|
|
LDA fgPLAY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L613F
|
2024-02-14 20:46:43 +00:00
|
|
|
|
BNE L60E4 ; loop
|
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
L611A INC theLEVEL
|
|
|
|
|
INC intLEVEL
|
|
|
|
|
INC theMEN ; man++
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L6124
|
2024-02-08 21:48:24 +00:00
|
|
|
|
DEC theMEN ; man--
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L6124 LDX #$0F
|
|
|
|
|
STX $5C
|
|
|
|
|
L6128 LDY #$01
|
|
|
|
|
LDA #$00
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR printSCORE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JSR L622A
|
|
|
|
|
JSR L622A
|
|
|
|
|
JSR L622A
|
|
|
|
|
DEC $5C
|
|
|
|
|
BNE L6128
|
|
|
|
|
L613C JMP L609F
|
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
L613F DEC theMEN ; man--
|
|
|
|
|
JSR printMEN
|
2024-02-09 22:22:41 +00:00
|
|
|
|
JSR prepareMELODY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
HEX 02400240035003500460046005700570
|
|
|
|
|
HEX 068006800790079008A008A009B009B0
|
|
|
|
|
HEX 0AC00AC00BD00BD00CE00CE00DF00DF0
|
|
|
|
|
HEX 00
|
|
|
|
|
|
2024-02-09 22:22:41 +00:00
|
|
|
|
L6178 JSR playMELODY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCS L6178
|
2024-02-13 08:09:27 +00:00
|
|
|
|
LDA fgDEMO
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LSR
|
|
|
|
|
BEQ L61D0
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA theMEN ; man
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L613C
|
2024-02-09 22:22:41 +00:00
|
|
|
|
JSR checkHIGHSCORE
|
|
|
|
|
JSR animGAMEOVER ; we are dead, anim GAME OVER
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCS L61F6
|
|
|
|
|
|
2024-02-09 22:22:41 +00:00
|
|
|
|
L618E JSR waitKEYUP
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDX #$FF
|
|
|
|
|
LDY #$FF
|
|
|
|
|
LDA #$03
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA theY
|
2024-02-12 18:28:22 +00:00
|
|
|
|
L6199 LDA fgINPUT
|
2024-02-08 21:48:24 +00:00
|
|
|
|
CMP #chrK
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L61A9
|
|
|
|
|
LDA BUTN1
|
|
|
|
|
BMI L6201
|
|
|
|
|
LDA BUTN0
|
|
|
|
|
BMI L6201
|
|
|
|
|
L61A9 LDA KBD
|
|
|
|
|
BMI L61F6
|
|
|
|
|
DEX
|
|
|
|
|
BNE L6199
|
|
|
|
|
DEY
|
|
|
|
|
BNE L6199
|
2024-02-08 21:48:24 +00:00
|
|
|
|
DEC theY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L6199
|
2024-02-13 08:09:27 +00:00
|
|
|
|
LDA fgDEMO
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L61DE
|
|
|
|
|
LDX #$01
|
2024-02-13 08:09:27 +00:00
|
|
|
|
STX fgDEMO
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STX theLEVEL
|
2024-02-13 08:09:27 +00:00
|
|
|
|
STX fgKEYBTN0
|
2023-07-08 16:35:15 +00:00
|
|
|
|
STX $9D
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDX fgSOUND
|
2023-07-08 16:35:15 +00:00
|
|
|
|
STX L61D0+1
|
2024-02-09 22:22:41 +00:00
|
|
|
|
STA fgSOUND
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JMP L6056
|
|
|
|
|
|
|
|
|
|
L61D0 LDA #$00
|
2024-02-09 22:22:41 +00:00
|
|
|
|
STA fgSOUND
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA KBD
|
2024-02-13 08:09:27 +00:00
|
|
|
|
LDX fgKEYBTN0
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L61F6
|
|
|
|
|
JMP L618E
|
|
|
|
|
|
|
|
|
|
L61DE CMP #$01
|
|
|
|
|
BNE L61F3
|
|
|
|
|
BEQ L61E9
|
|
|
|
|
L61E4 LDA #$01
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR readSCORE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L61E9 JSR L786B
|
|
|
|
|
LDA #$02
|
2024-02-13 08:09:27 +00:00
|
|
|
|
STA fgDEMO
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JMP L618E
|
2024-02-08 21:48:24 +00:00
|
|
|
|
L61F3 JMP showTITLEPAGE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
|
|
|
|
|
L61F6 STA KBDSTROBE
|
2024-02-09 22:22:41 +00:00
|
|
|
|
CMP #$85 ; Ctrl-E - Editor
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L6211
|
2024-02-08 21:48:24 +00:00
|
|
|
|
CMP #chrRET ; Return
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L61E4
|
|
|
|
|
|
|
|
|
|
L6201 LDX #$00
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STX intLEVEL
|
2023-07-08 16:35:15 +00:00
|
|
|
|
INX
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STX theLEVEL
|
2023-07-08 16:35:15 +00:00
|
|
|
|
STX $9D
|
|
|
|
|
LDA #$02
|
2024-02-13 08:09:27 +00:00
|
|
|
|
STA fgDEMO
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JMP L6056
|
|
|
|
|
|
2024-02-09 22:22:41 +00:00
|
|
|
|
L6211 JMP enterEDITOR ; Jump to the Editor
|
2023-07-08 16:35:15 +00:00
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L6214 HEX 000306090C0F121518 ; 0..3..6..9..12..15..18..21..24
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L621D HEX 26262E4447494A4B4C4D4E4F50
|
|
|
|
|
|
|
|
|
|
L622A LDA $5C
|
|
|
|
|
ASL
|
|
|
|
|
ASL
|
|
|
|
|
ASL
|
|
|
|
|
ASL
|
|
|
|
|
LDX #$06
|
2024-02-13 08:09:27 +00:00
|
|
|
|
JSR getNOTE
|
2024-02-09 22:22:41 +00:00
|
|
|
|
JMP playMELODY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
|
2024-02-13 08:09:27 +00:00
|
|
|
|
*-----------------------------------
|
|
|
|
|
* PREPARE LEVEL
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
|
|
|
|
prepareLEVEL
|
|
|
|
|
STX fgLVLMODE ; 0: edit, <>0: game
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDX #$FF
|
2024-02-12 18:28:22 +00:00
|
|
|
|
STX boardX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
INX
|
2024-02-09 22:22:41 +00:00
|
|
|
|
STX idxLADDERI ; index in table of for hidden ladder
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STX nbCHEST
|
|
|
|
|
STX nbFOE
|
2024-02-12 18:28:22 +00:00
|
|
|
|
STX idxFOE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
STX $A0
|
2024-02-13 08:09:27 +00:00
|
|
|
|
STX idxLVLDISK
|
|
|
|
|
STX fgODDEVEN
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STX theY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
TXA
|
2024-02-09 22:22:41 +00:00
|
|
|
|
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDX #sizeHOLE-2
|
|
|
|
|
L6252 STA tblHOLET,X
|
2023-07-08 16:35:15 +00:00
|
|
|
|
DEX
|
|
|
|
|
BPL L6252
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDX #sizeFOE-3
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L625A STA L0C98,X
|
|
|
|
|
DEX
|
|
|
|
|
BPL L625A
|
2024-02-08 21:48:24 +00:00
|
|
|
|
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$01
|
2024-02-13 08:09:27 +00:00
|
|
|
|
STA fgPLAY
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR diskLEVEL
|
|
|
|
|
|
|
|
|
|
LDY theY
|
2024-02-09 22:22:41 +00:00
|
|
|
|
L6269 LDA tblBOARDALLL,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD
|
|
|
|
|
STA ptrBBACK
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD+1
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDBACKH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK+1
|
2024-02-09 22:22:41 +00:00
|
|
|
|
|
|
|
|
|
LDA #$00 ; v<>rifie le contenu
|
|
|
|
|
STA theX ; du niveau
|
2024-02-13 08:09:27 +00:00
|
|
|
|
L627E LDA fgODDEVEN ; que des valeurs 0-9
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LSR
|
2024-02-13 08:09:27 +00:00
|
|
|
|
LDY idxLVLDISK
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA levelDISK,Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCS L628C
|
|
|
|
|
AND #$0F
|
|
|
|
|
BPL L6292
|
|
|
|
|
L628C LSR
|
|
|
|
|
LSR
|
|
|
|
|
LSR
|
|
|
|
|
LSR
|
2024-02-13 08:09:27 +00:00
|
|
|
|
INC idxLVLDISK
|
|
|
|
|
L6292 INC fgODDEVEN
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDY theX
|
2024-02-09 22:22:41 +00:00
|
|
|
|
CMP #sprHERO+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCC L629C
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA #sprEMPTY
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L629C STA (ptrBOARD),Y
|
|
|
|
|
STA (ptrBBACK),Y
|
2024-02-08 21:48:24 +00:00
|
|
|
|
INC theX
|
|
|
|
|
LDA theX
|
|
|
|
|
CMP #lvlWIDTH
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCC L627E
|
2024-02-08 21:48:24 +00:00
|
|
|
|
INC theY
|
|
|
|
|
LDY theY
|
|
|
|
|
CPY #lvlHEIGHT
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCC L6269
|
2024-02-09 22:22:41 +00:00
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR decodeLEVEL
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCC L62C3
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA intLEVEL
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L62C4
|
|
|
|
|
LDX #$00
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STX intLEVEL
|
2023-07-08 16:35:15 +00:00
|
|
|
|
INC $97
|
2024-02-09 22:22:41 +00:00
|
|
|
|
DEX ; mode game
|
2024-02-13 08:09:27 +00:00
|
|
|
|
JMP prepareLEVEL
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L62C3 RTS
|
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
L62C4 JMP showTITLEPAGE
|
|
|
|
|
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
* ENCODE A LEVEL BEFORE SAVING IT
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
|
|
|
|
encodeLEVEL
|
|
|
|
|
LDA #$00
|
2024-02-13 08:09:27 +00:00
|
|
|
|
STA idxLVLDISK
|
|
|
|
|
STA fgODDEVEN
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA theY
|
|
|
|
|
L62CF LDY theY
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDY #$00
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STY theX
|
2024-02-13 08:09:27 +00:00
|
|
|
|
L62DF LDA fgODDEVEN
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LSR
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBOARD),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCS L62EA
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA theA
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BPL L62F7
|
|
|
|
|
L62EA ASL
|
|
|
|
|
ASL
|
|
|
|
|
ASL
|
|
|
|
|
ASL
|
2024-02-08 21:48:24 +00:00
|
|
|
|
ORA theA
|
2024-02-13 08:09:27 +00:00
|
|
|
|
LDY idxLVLDISK
|
2024-02-09 22:22:41 +00:00
|
|
|
|
STA levelDISK,Y
|
2024-02-13 08:09:27 +00:00
|
|
|
|
INC idxLVLDISK
|
|
|
|
|
L62F7 INC fgODDEVEN
|
2024-02-08 21:48:24 +00:00
|
|
|
|
INC theX
|
|
|
|
|
LDY theX
|
|
|
|
|
CPY #lvlWIDTH
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCC L62DF
|
2024-02-08 21:48:24 +00:00
|
|
|
|
INC theY
|
|
|
|
|
LDA theY
|
|
|
|
|
CMP #lvlHEIGHT
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCC L62CF
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA #$02 ; write level
|
|
|
|
|
JMP diskLEVEL
|
2023-07-08 16:35:15 +00:00
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
*-----------------------------------
|
|
|
|
|
* LOAD/SAVE LEVEL FROM/TO DISK
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
|
|
|
|
diskLEVEL STA LB7F4
|
2024-02-13 08:09:27 +00:00
|
|
|
|
LDA fgDEMO
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LSR
|
|
|
|
|
BEQ L6345
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA intLEVEL ; level
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LSR
|
|
|
|
|
LSR
|
|
|
|
|
LSR
|
|
|
|
|
LSR
|
|
|
|
|
CLC
|
|
|
|
|
ADC #$03
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA LB7EC ; track
|
|
|
|
|
LDA intLEVEL
|
2023-07-08 16:35:15 +00:00
|
|
|
|
AND #$0F
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA LB7ED ; sector
|
|
|
|
|
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA #<levelDISK
|
2023-07-08 16:35:15 +00:00
|
|
|
|
STA LB7F0
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA #>levelDISK
|
2023-07-08 16:35:15 +00:00
|
|
|
|
STA LB7F0+1
|
|
|
|
|
LDA #$00
|
|
|
|
|
STA LB7EB
|
|
|
|
|
L6338 LDY #<LB7E8
|
|
|
|
|
LDA #>LB7E8
|
2024-02-08 21:48:24 +00:00
|
|
|
|
jsr callRWTS ; LoGo - JSR $0023 - Souvenir from protection
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCC L6344
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JMP showTITLEPAGE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L6344 RTS
|
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
L6345 LDA theLEVEL
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CLC
|
2024-02-08 21:48:24 +00:00
|
|
|
|
ADC #>L9E00
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrHGR1+1
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDY #<L9E00
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STY ptrHGR1
|
|
|
|
|
L6350 LDA (ptrHGR1),Y
|
2024-02-09 22:22:41 +00:00
|
|
|
|
STA levelDISK,Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
INY
|
|
|
|
|
BNE L6350
|
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
*-------------------------------
|
|
|
|
|
* CALL RWTS
|
|
|
|
|
*-------------------------------
|
|
|
|
|
|
|
|
|
|
readSCORE STA LB7F4 ; command
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$0C
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA LB7EC ; track
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$0F
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA LB7ED ; sector
|
|
|
|
|
|
|
|
|
|
LDA #<scorebuf ; where to load
|
2023-07-08 16:35:15 +00:00
|
|
|
|
STA LB7F0
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA #>scorebuf
|
2023-07-08 16:35:15 +00:00
|
|
|
|
STA LB7F0+1
|
|
|
|
|
LDA #$00
|
|
|
|
|
STA LB7EB
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDY #<LB7E8 ; IOB table
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #>LB7E8
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR callRWTS
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCC L6381
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JMP showTITLEPAGE
|
|
|
|
|
|
|
|
|
|
*--- Check disk (not a LR disk, data disk, master disk)
|
2023-07-08 16:35:15 +00:00
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
L6381 LDY #$0A ; check magic number
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$00
|
2024-02-12 18:28:22 +00:00
|
|
|
|
STA theMASK1
|
2024-02-08 21:48:24 +00:00
|
|
|
|
L6387 LDA scorebuf+$F4,Y ; magic key
|
2023-07-08 16:35:15 +00:00
|
|
|
|
EOR L63A8,Y
|
2024-02-12 18:28:22 +00:00
|
|
|
|
ORA theMASK1
|
|
|
|
|
STA theMASK1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
DEY
|
|
|
|
|
BPL L6387
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDA theMASK1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L639B
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDA #$00 ; 0 means not a LR disk
|
2023-07-08 16:35:15 +00:00
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
L639B LDA #$01 ; master disk
|
|
|
|
|
LDX scorebuf+$FF
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L63A4
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDA #$FF ; FF means master disk
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L63A4 RTS
|
2024-02-08 21:48:24 +00:00
|
|
|
|
|
|
|
|
|
callRWTS JMP $bd00 ; LoGo - ($0036) to be replaced with JMP $BD00
|
2023-07-08 16:35:15 +00:00
|
|
|
|
|
|
|
|
|
L63A8 ASC "LODE RUNNER"
|
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
*-----------------------------------
|
|
|
|
|
* DECODE A LEVEL
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
decodeLEVEL LDY #lvlHEIGHT-1
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STY theY
|
2024-02-09 22:22:41 +00:00
|
|
|
|
L63B7 LDA tblBOARDALLL,Y ; $0800
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD
|
|
|
|
|
STA ptrBBACK
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD+1
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDBACKH,Y ; $0a00
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK+1
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDY #lvlWIDTH-1
|
|
|
|
|
STY theX
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L63CC LDA (ptrBOARD),Y
|
|
|
|
|
LDX fgLVLMODE ; mode edit?
|
|
|
|
|
BEQ L63EE ; yes
|
2024-02-08 21:48:24 +00:00
|
|
|
|
CMP #sprLADDERI
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L63F0
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDX idxLADDERI
|
|
|
|
|
CPX #sizeLI-3
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCS L63E8
|
2024-02-09 22:22:41 +00:00
|
|
|
|
INC idxLADDERI
|
2023-07-08 16:35:15 +00:00
|
|
|
|
INX
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA theY
|
2024-02-09 22:22:41 +00:00
|
|
|
|
STA tblLADDERIY,X
|
2023-07-08 16:35:15 +00:00
|
|
|
|
TYA
|
2024-02-09 22:22:41 +00:00
|
|
|
|
STA tblLADDERIX,X
|
2024-02-08 21:48:24 +00:00
|
|
|
|
L63E8 LDA #sprEMPTY ; hide it
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA (ptrBOARD),Y
|
|
|
|
|
STA (ptrBBACK),Y
|
|
|
|
|
|
|
|
|
|
L63EE BEQ L6450 ; mode edit
|
2024-02-08 21:48:24 +00:00
|
|
|
|
|
|
|
|
|
L63F0 CMP #sprCHEST
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L63F8
|
2024-02-08 21:48:24 +00:00
|
|
|
|
INC nbCHEST
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L6450
|
2024-02-08 21:48:24 +00:00
|
|
|
|
L63F8 CMP #sprFOE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L642A
|
2024-02-14 20:46:43 +00:00
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDX nbFOE ; nbFOE
|
2024-02-09 22:22:41 +00:00
|
|
|
|
CPX #sizeFOE-3 ; max
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCS L63E8
|
2024-02-08 21:48:24 +00:00
|
|
|
|
INC nbFOE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
INX
|
|
|
|
|
TYA
|
2024-02-09 22:22:41 +00:00
|
|
|
|
STA tblFOEX,X
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA theY
|
2024-02-09 22:22:41 +00:00
|
|
|
|
STA tblFOEY,X
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$00
|
|
|
|
|
STA L0C70,X
|
|
|
|
|
STA L0C88,X
|
|
|
|
|
LDA #$02
|
|
|
|
|
STA L0C78,X
|
|
|
|
|
STA L0C80,X
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA #sprEMPTY
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA (ptrBBACK),Y
|
|
|
|
|
LDA #sprFOE ; output a foe
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L6450
|
2024-02-14 20:46:43 +00:00
|
|
|
|
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L6426 BPL L63B7
|
|
|
|
|
L6428 BPL L63CC
|
2024-02-08 21:48:24 +00:00
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L642A CMP #sprHERO ; if the hero
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L644A
|
2024-02-14 20:46:43 +00:00
|
|
|
|
|
|
|
|
|
LDX boardX ; -1 on entry
|
|
|
|
|
BPL L63E8 ; we'll never return
|
|
|
|
|
STY boardX ; save a positive value
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDX theY
|
2024-02-12 18:28:22 +00:00
|
|
|
|
STX boardY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDX #$02
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STX heroSTEPX ; x-step movement
|
|
|
|
|
STX heroSTEPY ; y-step movement
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDX #$08
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STX heroINDEX ; index in sprite table
|
|
|
|
|
LDA #sprEMPTY ; blank in background
|
|
|
|
|
STA (ptrBBACK),Y
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA #sprHERO
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L6450
|
2024-02-14 20:46:43 +00:00
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
L644A CMP #sprTRAP ; if a trap
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L6450
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA #sprWALL ; output a wall
|
2024-02-09 22:22:41 +00:00
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L6450 JSR coutHGR2 ; put the char in background
|
|
|
|
|
|
|
|
|
|
DEC theX ; x--
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDY theX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BPL L6428
|
2024-02-14 20:46:43 +00:00
|
|
|
|
DEC theY ; y--
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDY theY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BPL L6426
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA fgLVLMODE ; mode edit?
|
|
|
|
|
BEQ L6469 ; yes
|
|
|
|
|
LDA boardX ; we met the hero
|
|
|
|
|
BPL L648B ; continue to the animation
|
|
|
|
|
SEC ; not ok
|
2023-07-08 16:35:15 +00:00
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
*--- Level is decode for the edit mode
|
|
|
|
|
|
|
|
|
|
L6469 LDA #>HGR1 ; copy HGR1 > HGR2
|
|
|
|
|
STA ptrHGR2+1
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA #>HGR2
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrHGR1+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$00
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrHGR2
|
|
|
|
|
STA ptrHGR1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
TAY
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L6478 LDA (ptrHGR1),Y
|
|
|
|
|
STA (ptrHGR2),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
INY
|
|
|
|
|
BNE L6478
|
2024-02-14 20:46:43 +00:00
|
|
|
|
INC ptrHGR2+1
|
|
|
|
|
INC ptrHGR1+1
|
|
|
|
|
LDX ptrHGR1+1
|
2024-02-08 21:48:24 +00:00
|
|
|
|
CPX #>HGR2+$20
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCC L6478
|
2024-02-14 20:46:43 +00:00
|
|
|
|
CLC ; oookkkkk
|
2023-07-08 16:35:15 +00:00
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
*--- Level is decoded for the game mode
|
2024-02-08 21:48:24 +00:00
|
|
|
|
|
|
|
|
|
L648B JSR circleANIMATION
|
2024-02-14 20:46:43 +00:00
|
|
|
|
|
|
|
|
|
LDY #lvlHEIGHT-1 ; clear HGR2 background
|
|
|
|
|
STY theY ; for hero and foes
|
|
|
|
|
L6492 LDA tblBOARDALLL,Y ; the background contains all other sprites
|
|
|
|
|
STA ptrBOARD
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD+1
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDY #lvlWIDTH-1
|
|
|
|
|
STY theX
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L64A0 LDA (ptrBOARD),Y
|
2024-02-08 21:48:24 +00:00
|
|
|
|
CMP #sprHERO
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L64AA
|
2024-02-08 21:48:24 +00:00
|
|
|
|
CMP #sprFOE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L64AF
|
2024-02-08 21:48:24 +00:00
|
|
|
|
L64AA LDA #sprEMPTY
|
|
|
|
|
JSR coutHGR2
|
|
|
|
|
L64AF DEC theX
|
|
|
|
|
LDY theX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BPL L64A0
|
2024-02-08 21:48:24 +00:00
|
|
|
|
DEC theY
|
|
|
|
|
LDY theY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BPL L6492
|
2024-02-14 20:46:43 +00:00
|
|
|
|
CLC ; and say OOOKKKKKK
|
2023-07-08 16:35:15 +00:00
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
*-----------------------------------
|
|
|
|
|
*
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L64BD LDA #$01
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA fgCHEST
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA $9C
|
|
|
|
|
BEQ L64CD
|
|
|
|
|
BPL L64CA
|
|
|
|
|
JMP L67E7
|
|
|
|
|
L64CA JMP L68AD
|
|
|
|
|
|
2024-02-12 18:28:22 +00:00
|
|
|
|
L64CD LDY boardY
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDBACKH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK+1
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDY boardX
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBBACK),Y
|
2024-02-08 21:48:24 +00:00
|
|
|
|
CMP #sprLADDER
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L6522
|
2024-02-09 22:22:41 +00:00
|
|
|
|
CMP #sprBAR
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L64EB
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA heroSTEPY
|
|
|
|
|
CMP #$02
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L6522
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L64EB LDA heroSTEPY
|
|
|
|
|
CMP #$02
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCC L6525
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDY boardY
|
2024-02-08 21:48:24 +00:00
|
|
|
|
CPY #lvlHEIGHT-1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L6522
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL+1,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD
|
|
|
|
|
STA ptrBBACK
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLH+1,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD+1
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDBACKH+1,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK+1
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDY boardX
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBOARD),Y
|
2024-02-08 21:48:24 +00:00
|
|
|
|
CMP #sprEMPTY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L6525
|
2024-02-08 21:48:24 +00:00
|
|
|
|
CMP #sprFOE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L6522
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBBACK),Y
|
2024-02-08 21:48:24 +00:00
|
|
|
|
CMP #sprWALL
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L6522
|
2024-02-08 21:48:24 +00:00
|
|
|
|
CMP #sprWALLI
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L6522
|
2024-02-08 21:48:24 +00:00
|
|
|
|
CMP #sprLADDER
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L6525
|
|
|
|
|
L6522 JMP L6584
|
|
|
|
|
|
|
|
|
|
L6525 LDA #$00
|
|
|
|
|
STA $9B
|
2024-02-14 20:46:43 +00:00
|
|
|
|
JSR calcSPRITEXY
|
2024-02-12 18:28:22 +00:00
|
|
|
|
JSR drawSPRITEXY
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA #$07 ; index in sprite table: fall in a left hole
|
|
|
|
|
LDX fgLEFTRIGHT
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BMI L6537
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA #$0F ; fall in a right hole
|
|
|
|
|
L6537 STA heroINDEX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JSR L6C13
|
2024-02-14 20:46:43 +00:00
|
|
|
|
INC heroSTEPY
|
|
|
|
|
LDA heroSTEPY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$05
|
|
|
|
|
BCS L654A
|
2024-02-14 20:46:43 +00:00
|
|
|
|
JSR checkCHEST
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JMP L6C02
|
|
|
|
|
|
|
|
|
|
L654A LDA #$00
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA heroSTEPY
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDY boardY
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD
|
|
|
|
|
STA ptrBBACK
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD+1
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDBACKH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK+1
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDY boardX
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBBACK),Y
|
2024-02-08 21:48:24 +00:00
|
|
|
|
CMP #sprWALL
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L656B
|
|
|
|
|
LDA #$00
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L656B STA (ptrBOARD),Y
|
2024-02-12 18:28:22 +00:00
|
|
|
|
INC boardY
|
|
|
|
|
LDY boardY
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD+1
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDY boardX
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA #sprHERO
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA (ptrBOARD),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JMP L6C02
|
|
|
|
|
|
|
|
|
|
L6584 LDA $9B
|
|
|
|
|
BNE L658F
|
|
|
|
|
LDA #$64
|
|
|
|
|
LDX #$08
|
2024-02-09 22:22:41 +00:00
|
|
|
|
JSR playSOUND
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L658F LDA #$20
|
|
|
|
|
STA $A4
|
|
|
|
|
STA $9B
|
|
|
|
|
JSR L6A12
|
|
|
|
|
|
|
|
|
|
LDA $9E
|
2024-02-09 22:22:41 +00:00
|
|
|
|
CMP #chrI ; move up
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L65A4
|
2024-02-09 22:22:41 +00:00
|
|
|
|
JSR checkMOVEUP
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCS L65C2
|
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
L65A4 CMP #chrK ; move down
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L65AE
|
2024-02-09 22:22:41 +00:00
|
|
|
|
JSR checkMOVEDOWN
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCS L65C2
|
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-09 22:22:41 +00:00
|
|
|
|
L65AE CMP #chrU ; dig left
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L65B8
|
2024-02-09 22:22:41 +00:00
|
|
|
|
JSR checkDIGLEFT
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCS L65C2
|
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-09 22:22:41 +00:00
|
|
|
|
L65B8 CMP #chrO ; dig right
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L65C2
|
2024-02-09 22:22:41 +00:00
|
|
|
|
JSR checkDIGRIGHT
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCS L65C2
|
|
|
|
|
RTS
|
|
|
|
|
|
|
|
|
|
L65C2 LDA $9F
|
2024-02-08 21:48:24 +00:00
|
|
|
|
CMP #chrJ ; move left
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L65CB
|
2024-02-09 22:22:41 +00:00
|
|
|
|
JMP checkMOVELEFT
|
2023-07-08 16:35:15 +00:00
|
|
|
|
|
2024-02-09 22:22:41 +00:00
|
|
|
|
L65CB CMP #chrL ; move right
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L65D2
|
2024-02-09 22:22:41 +00:00
|
|
|
|
JMP checkMOVERIGHT
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L65D2 RTS
|
|
|
|
|
|
2024-02-09 22:22:41 +00:00
|
|
|
|
*-----------------------------------
|
|
|
|
|
* CHECK IF WE CAN MOVE LEFT
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
|
|
|
|
checkMOVELEFT
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDY boardY
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD
|
|
|
|
|
STA ptrBBACK
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD+1
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDBACKH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK+1
|
|
|
|
|
|
|
|
|
|
LDX heroSTEPX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CPX #$03
|
|
|
|
|
BCS L6600
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDY boardX ; already at column 0
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L65FF
|
2024-02-14 20:46:43 +00:00
|
|
|
|
DEY ; what do we have to the left?
|
|
|
|
|
LDA (ptrBOARD),Y
|
|
|
|
|
CMP #sprWALLI
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L65FF
|
2024-02-14 20:46:43 +00:00
|
|
|
|
CMP #sprWALL
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L65FF
|
2024-02-14 20:46:43 +00:00
|
|
|
|
CMP #sprTRAP
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L6600
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L65FF RTS ; we cannot move
|
2023-07-08 16:35:15 +00:00
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L6600 JSR calcSPRITEXY
|
2024-02-12 18:28:22 +00:00
|
|
|
|
JSR drawSPRITEXY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$FF
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA fgLEFTRIGHT
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JSR L6C26
|
2024-02-14 20:46:43 +00:00
|
|
|
|
DEC heroSTEPX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BPL L662A
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDY boardX
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBBACK),Y
|
2024-02-09 22:22:41 +00:00
|
|
|
|
CMP #sprWALL
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L661B
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA #sprEMPTY
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L661B STA (ptrBOARD),Y
|
2024-02-12 18:28:22 +00:00
|
|
|
|
DEC boardX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
DEY
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA #sprHERO
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA (ptrBOARD),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$04
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA heroSTEPX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L662D
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L662A JSR checkCHEST
|
2024-02-12 18:28:22 +00:00
|
|
|
|
L662D LDY boardX ; define sprites
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBBACK),Y ; if we are on a bar
|
2024-02-09 22:22:41 +00:00
|
|
|
|
CMP #sprBAR
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L663B
|
|
|
|
|
LDA #$00
|
|
|
|
|
LDX #$02
|
|
|
|
|
BNE L663F
|
|
|
|
|
L663B LDA #$03
|
|
|
|
|
LDX #$05
|
|
|
|
|
L663F JSR L6BF4
|
|
|
|
|
JMP L6C02
|
|
|
|
|
|
2024-02-09 22:22:41 +00:00
|
|
|
|
*-----------------------------------
|
|
|
|
|
* CHECK IF WE CAN MOVE RIGHT
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
|
|
|
|
checkMOVERIGHT
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDY boardY
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD
|
|
|
|
|
STA ptrBBACK
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD+1
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDBACKH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK+1
|
|
|
|
|
LDX heroSTEPX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CPX #$02
|
|
|
|
|
BCC L6674
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDY boardX
|
2024-02-09 22:22:41 +00:00
|
|
|
|
CPY #lvlWIDTH-1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L6673
|
|
|
|
|
INY
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBOARD),Y
|
2024-02-09 22:22:41 +00:00
|
|
|
|
CMP #sprWALLI
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L6673
|
2024-02-09 22:22:41 +00:00
|
|
|
|
CMP #sprWALL
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L6673
|
2024-02-09 22:22:41 +00:00
|
|
|
|
CMP #sprTRAP
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L6674
|
|
|
|
|
L6673 RTS
|
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L6674 JSR calcSPRITEXY
|
2024-02-12 18:28:22 +00:00
|
|
|
|
JSR drawSPRITEXY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$01
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA fgLEFTRIGHT
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JSR L6C26
|
2024-02-14 20:46:43 +00:00
|
|
|
|
INC heroSTEPX
|
|
|
|
|
LDA heroSTEPX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$05
|
|
|
|
|
BCC L66A2
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDY boardX
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBBACK),Y
|
2024-02-09 22:22:41 +00:00
|
|
|
|
CMP #sprWALL
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L6693
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA #sprEMPTY
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L6693 STA (ptrBOARD),Y
|
2024-02-12 18:28:22 +00:00
|
|
|
|
INC boardX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
INY
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA #sprHERO
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA (ptrBOARD),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$00
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA heroSTEPX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L66A5
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L66A2 JSR checkCHEST
|
2024-02-12 18:28:22 +00:00
|
|
|
|
L66A5 LDY boardX
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBBACK),Y
|
2024-02-09 22:22:41 +00:00
|
|
|
|
CMP #sprBAR
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L66B3
|
|
|
|
|
LDA #$08
|
|
|
|
|
LDX #$0A
|
|
|
|
|
BNE L66B7
|
|
|
|
|
L66B3 LDA #$0B
|
|
|
|
|
LDX #$0D
|
|
|
|
|
L66B7 JSR L6BF4
|
|
|
|
|
JMP L6C02
|
|
|
|
|
|
2024-02-09 22:22:41 +00:00
|
|
|
|
*-----------------------------------
|
|
|
|
|
* CAN WE MOVE UP
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
|
|
|
|
checkMOVEUP
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDY boardY
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDBACKH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK+1
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDY boardX
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBBACK),Y
|
2024-02-09 22:22:41 +00:00
|
|
|
|
CMP #sprLADDER
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L66ED
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDY heroSTEPY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CPY #$03
|
|
|
|
|
BCC L66EB
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDY boardY
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL+1,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDBACKH+1,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK+1
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDY boardX
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBBACK),Y
|
2024-02-09 22:22:41 +00:00
|
|
|
|
CMP #sprLADDER
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L6711
|
|
|
|
|
L66EB SEC
|
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L66ED LDY heroSTEPY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CPY #$03
|
|
|
|
|
BCS L6711
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDY boardY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L66EB
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL-1,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLH-1,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD+1
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDY boardX
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBOARD),Y
|
2024-02-09 22:22:41 +00:00
|
|
|
|
CMP #sprWALL
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L66EB
|
2024-02-09 22:22:41 +00:00
|
|
|
|
CMP #sprWALLI
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L66EB
|
2024-02-09 22:22:41 +00:00
|
|
|
|
CMP #sprTRAP
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L66EB
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L6711 JSR calcSPRITEXY
|
2024-02-12 18:28:22 +00:00
|
|
|
|
JSR drawSPRITEXY
|
|
|
|
|
LDY boardY
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD
|
|
|
|
|
STA ptrBBACK
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD+1
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDBACKH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JSR L6C13
|
2024-02-14 20:46:43 +00:00
|
|
|
|
DEC heroSTEPY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BPL L6757
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDY boardX
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBBACK),Y
|
2024-02-09 22:22:41 +00:00
|
|
|
|
CMP #sprWALL
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L673B
|
|
|
|
|
LDA #$00
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L673B STA (ptrBOARD),Y
|
2024-02-12 18:28:22 +00:00
|
|
|
|
DEC boardY
|
|
|
|
|
LDY boardY
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD+1
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDY boardX
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA #sprHERO
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA (ptrBOARD),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$04
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA heroSTEPY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L675A
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L6757 JSR checkCHEST
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L675A LDA #$10
|
|
|
|
|
LDX #$11
|
|
|
|
|
JSR L6BF4
|
|
|
|
|
JSR L6C02
|
|
|
|
|
CLC
|
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-09 22:22:41 +00:00
|
|
|
|
*-----------------------------------
|
|
|
|
|
* CHECK IF CAN MOVE DOWN
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
|
|
|
|
checkMOVEDOWN
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDY heroSTEPY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CPY #$02
|
|
|
|
|
BCC L678A
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDY boardY
|
2024-02-09 22:22:41 +00:00
|
|
|
|
CPY #lvlHEIGHT-1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCS L6788
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL+1,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLH+1,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD+1
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDY boardX
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBOARD),Y
|
2024-02-09 22:22:41 +00:00
|
|
|
|
CMP #sprWALLI
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L6788
|
2024-02-09 22:22:41 +00:00
|
|
|
|
CMP #sprWALL
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L678A
|
|
|
|
|
L6788 SEC
|
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L678A JSR calcSPRITEXY
|
2024-02-12 18:28:22 +00:00
|
|
|
|
JSR drawSPRITEXY
|
|
|
|
|
LDY boardY
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD
|
|
|
|
|
STA ptrBBACK
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD+1
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDBACKH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JSR L6C13
|
2024-02-14 20:46:43 +00:00
|
|
|
|
INC heroSTEPY
|
|
|
|
|
LDA heroSTEPY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$05
|
|
|
|
|
BCC L67D5
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDY boardX
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBBACK),Y
|
2024-02-09 22:22:41 +00:00
|
|
|
|
CMP #sprWALL
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L67B8
|
|
|
|
|
LDA #$00
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L67B8 STA (ptrBOARD),Y
|
2024-02-12 18:28:22 +00:00
|
|
|
|
INC boardY
|
|
|
|
|
LDY boardY
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD+1
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDY boardX
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA #sprHERO
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA (ptrBOARD),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$00
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA heroSTEPY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JMP L675A
|
|
|
|
|
L67D5 JMP L6757
|
2024-02-09 22:22:41 +00:00
|
|
|
|
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L67D8 JMP L6892
|
|
|
|
|
|
2024-02-09 22:22:41 +00:00
|
|
|
|
*-----------------------------------
|
|
|
|
|
* CHECK IF WE CAN DIG LEFT
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
|
|
|
|
checkDIGLEFT
|
|
|
|
|
LDA #$FF
|
2023-07-08 16:35:15 +00:00
|
|
|
|
STA $9C
|
|
|
|
|
STA $9E
|
|
|
|
|
STA $9F
|
|
|
|
|
LDA #$00
|
|
|
|
|
STA $A0
|
2024-02-12 18:28:22 +00:00
|
|
|
|
L67E7 LDY boardY ; are we on last line?
|
2024-02-09 22:22:41 +00:00
|
|
|
|
CPY #lvlHEIGHT-1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCS L67D8
|
|
|
|
|
INY
|
|
|
|
|
JSR L884B
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDY boardX ; are we on first column?
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L67D8
|
|
|
|
|
DEY
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBOARD),Y ; what do we have on our left?
|
2024-02-09 22:22:41 +00:00
|
|
|
|
CMP #sprWALL ; a wall?
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L67D8
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDY boardY ; yes
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JSR L884B
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDY boardX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
DEY
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBOARD),Y
|
2024-02-09 22:22:41 +00:00
|
|
|
|
CMP #sprEMPTY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L686E
|
2024-02-14 20:46:43 +00:00
|
|
|
|
JSR calcSPRITEXY
|
2024-02-12 18:28:22 +00:00
|
|
|
|
JSR drawSPRITEXY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JSR L6C13
|
|
|
|
|
JSR L6C26
|
|
|
|
|
LDY $A0
|
|
|
|
|
LDA L699E,Y
|
|
|
|
|
LDX L69AB,Y
|
2024-02-13 08:09:27 +00:00
|
|
|
|
JSR getNOTE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDX $A0
|
|
|
|
|
LDA #$00
|
|
|
|
|
CPX #$06
|
|
|
|
|
BCS L682B
|
|
|
|
|
LDA #$06
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L682B STA heroINDEX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JSR L6C02
|
|
|
|
|
LDX $A0
|
|
|
|
|
CPX #$0C
|
|
|
|
|
BEQ L6898
|
|
|
|
|
CPX #$00
|
|
|
|
|
BEQ L684C
|
|
|
|
|
LDA L6979,X
|
|
|
|
|
PHA
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDX boardX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
DEX
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDY boardY
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR getXY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
PLA
|
2024-02-12 18:28:22 +00:00
|
|
|
|
JSR drawSPRITEXY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDX $A0
|
|
|
|
|
L684C LDA L697A,X
|
|
|
|
|
PHA
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDX boardX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
DEX
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STX theX
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDY boardY
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STY theY
|
|
|
|
|
JSR getXY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
PLA
|
2024-02-12 18:28:22 +00:00
|
|
|
|
JSR drawSPRXYCOLLISION
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDX $A0
|
|
|
|
|
LDA L6992,X
|
2024-02-08 21:48:24 +00:00
|
|
|
|
INC theY
|
|
|
|
|
JSR coutHGR1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
INC $A0
|
|
|
|
|
CLC
|
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-12 18:28:22 +00:00
|
|
|
|
L686E LDY boardY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
INY
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STY theY
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDY boardX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
DEY
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STY theX
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDA #sprWALL
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR coutHGR1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDX $A0
|
|
|
|
|
BEQ L6892
|
|
|
|
|
DEX
|
|
|
|
|
LDA L697A,X
|
|
|
|
|
PHA
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDY boardY
|
|
|
|
|
LDX boardX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
DEX
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR getXY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
PLA
|
2024-02-12 18:28:22 +00:00
|
|
|
|
JSR drawSPRITEXY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L6892 LDA #$00
|
|
|
|
|
STA $9C
|
|
|
|
|
SEC
|
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-12 18:28:22 +00:00
|
|
|
|
L6898 LDX boardX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
DEX
|
|
|
|
|
JMP L6C39
|
|
|
|
|
L689E JMP L695C
|
|
|
|
|
|
2024-02-09 22:22:41 +00:00
|
|
|
|
*-----------------------------------
|
|
|
|
|
* CHECK IF WE CAN DIG RIGHT
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
|
|
|
|
checkDIGRIGHT
|
|
|
|
|
LDA #$01
|
2023-07-08 16:35:15 +00:00
|
|
|
|
STA $9C
|
|
|
|
|
STA $9E
|
|
|
|
|
STA $9F
|
|
|
|
|
LDA #$0C
|
|
|
|
|
STA $A0
|
2024-02-12 18:28:22 +00:00
|
|
|
|
L68AD LDY boardY ; are we on last line?
|
2024-02-09 22:22:41 +00:00
|
|
|
|
CPY #lvlHEIGHT-1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCS L689E
|
|
|
|
|
INY
|
|
|
|
|
JSR L884B
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDY boardX ; are we on lat column?
|
2024-02-09 22:22:41 +00:00
|
|
|
|
CPY #lvlWIDTH-1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCS L689E
|
|
|
|
|
INY
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBOARD),Y
|
2024-02-09 22:22:41 +00:00
|
|
|
|
CMP #sprWALL ; do we have a wall?
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L689E
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDY boardY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JSR L884B
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDY boardX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
INY
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBOARD),Y
|
2024-02-09 22:22:41 +00:00
|
|
|
|
CMP #sprEMPTY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L6936
|
2024-02-14 20:46:43 +00:00
|
|
|
|
JSR calcSPRITEXY
|
2024-02-12 18:28:22 +00:00
|
|
|
|
JSR drawSPRITEXY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JSR L6C13
|
|
|
|
|
JSR L6C26
|
|
|
|
|
LDY $A0
|
|
|
|
|
LDA L6992,Y
|
|
|
|
|
LDX L699F,Y
|
2024-02-13 08:09:27 +00:00
|
|
|
|
JSR getNOTE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDX $A0
|
|
|
|
|
LDA #$08
|
|
|
|
|
CPX #$12
|
|
|
|
|
BCS L68F3
|
|
|
|
|
LDA #$0E
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L68F3 STA heroINDEX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JSR L6C02
|
|
|
|
|
LDX $A0
|
|
|
|
|
CPX #$18
|
|
|
|
|
BEQ L6962
|
|
|
|
|
CPX #$0C
|
|
|
|
|
BEQ L6914
|
|
|
|
|
LDA L6979,X
|
|
|
|
|
PHA
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDX boardX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
INX
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDY boardY
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR getXY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
PLA
|
2024-02-12 18:28:22 +00:00
|
|
|
|
JSR drawSPRITEXY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDX $A0
|
|
|
|
|
L6914 LDA L697A,X
|
|
|
|
|
PHA
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDX boardX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
INX
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STX theX
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDY boardY
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STY theY
|
|
|
|
|
JSR getXY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
PLA
|
2024-02-12 18:28:22 +00:00
|
|
|
|
JSR drawSPRXYCOLLISION
|
2024-02-08 21:48:24 +00:00
|
|
|
|
INC theY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDX $A0
|
|
|
|
|
LDA L6986,X
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR coutHGR1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
INC $A0
|
|
|
|
|
CLC
|
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-12 18:28:22 +00:00
|
|
|
|
L6936 LDY boardY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
INY
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STY theY
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDY boardX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
INY
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STY theX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$01
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR coutHGR1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDX $A0
|
|
|
|
|
CPX #$0C
|
|
|
|
|
BEQ L695C
|
|
|
|
|
DEX
|
|
|
|
|
LDA L697A,X
|
|
|
|
|
PHA
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDX boardX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
INX
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDY boardY
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR getXY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
PLA
|
2024-02-12 18:28:22 +00:00
|
|
|
|
JSR drawSPRITEXY
|
|
|
|
|
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L695C LDA #$00
|
|
|
|
|
STA $9C
|
|
|
|
|
SEC
|
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-12 18:28:22 +00:00
|
|
|
|
L6962 LDX boardX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
INX
|
|
|
|
|
JMP L6C39
|
|
|
|
|
|
2024-02-12 18:28:22 +00:00
|
|
|
|
* Encha<EFBFBD>nement des sprites
|
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L6968
|
|
|
|
|
DB $0B ; 0 court <20> gauche
|
|
|
|
|
DB $0C ; 1
|
|
|
|
|
DB $0D ; 2
|
|
|
|
|
DB $18 ; 3 barre <20> gauche
|
|
|
|
|
DB $19 ; 4
|
|
|
|
|
DB $1A ; 5
|
|
|
|
|
DB $0F ; 6 creuse <20> gauche
|
|
|
|
|
DB $13 ; 7 tombe dans un trou <20> gauche
|
|
|
|
|
DB $09 ; 8 court <20> droite
|
|
|
|
|
DB $10 ; 9 LR court vers la droite step 1
|
|
|
|
|
DB $11 ; A LR court vers la droite step 2
|
|
|
|
|
DB $15 ; B LR est sur la barre vers la droite step 1
|
|
|
|
|
DB $16 ; C LR est sur la barre vers la droite step 2
|
|
|
|
|
DB $17 ; D LR est sur la barre vers la droite step 3
|
|
|
|
|
DB $25 ; E creuse <20> droite
|
|
|
|
|
DB $14 ; F tombe dans un trou <20> droite
|
|
|
|
|
DB $0E ; 10 monte <20>chelle step 1
|
|
|
|
|
L6979 DB $12 ; 11 monte <20>chelle step 2
|
|
|
|
|
L697A DB $1B ; 12 creuse 1
|
|
|
|
|
DB $1B ; 13 creuse 1
|
|
|
|
|
DB $1C ; 14 creuse 2
|
|
|
|
|
DB $1C ; 15 creuse 2
|
|
|
|
|
DB $1D ; 16 creuse 3
|
|
|
|
|
DB $1D ; 17 creuse 3
|
|
|
|
|
DB $1E ; 18 creuse 4
|
|
|
|
|
DB $1E ; 19 creuse 4
|
|
|
|
|
DB $00 ; 1A
|
|
|
|
|
DB $00 ; 1B
|
|
|
|
|
DB $00 ; 1C
|
|
|
|
|
DB $00 ; 1D
|
|
|
|
|
L6986 DB $26 ; 1E creuse droite step 1
|
|
|
|
|
DB $26 ; 1F creuse droite step 1
|
|
|
|
|
DB $27 ; 20 creuse droite step 2
|
|
|
|
|
DB $27 ; 21 creuse droite step 2
|
|
|
|
|
DB $1D ; 22 creuse droite step 3
|
|
|
|
|
DB $1D ; 23 creuse droite step 3
|
|
|
|
|
DB $1E ; 24 creuse droite step 4
|
|
|
|
|
DB $1E ; 25 creuse droite step 4
|
|
|
|
|
DB $00 ; 26
|
|
|
|
|
DB $00 ; 27
|
|
|
|
|
DB $00 ; 28
|
|
|
|
|
DB $00 ; 29
|
|
|
|
|
L6992 DB $1F ; 2A dig left sprites
|
|
|
|
|
DB $1F ; 2B
|
|
|
|
|
DB $20 ; 2C
|
|
|
|
|
DB $20 ; 2D
|
|
|
|
|
DB $21 ; 2E
|
|
|
|
|
DB $21 ; 2F
|
|
|
|
|
DB $22 ;
|
|
|
|
|
DB $22 ;
|
|
|
|
|
DB $23 ;
|
|
|
|
|
DB $23 ;
|
|
|
|
|
DB $24 ;
|
|
|
|
|
DB $24 ;
|
|
|
|
|
L699E DB $20 ;
|
|
|
|
|
L699F DB $20 ;
|
|
|
|
|
DB $20 ;
|
|
|
|
|
DB $20 ;
|
|
|
|
|
DB $20 ;
|
|
|
|
|
DB $20 ;
|
|
|
|
|
DB $20 ;
|
|
|
|
|
DB $20 ;
|
|
|
|
|
DB $24 ;
|
|
|
|
|
DB $24 ;
|
|
|
|
|
DB $24 ;
|
|
|
|
|
DB $24 ;
|
|
|
|
|
DB $24 ;
|
|
|
|
|
L69AB DB $04 ;
|
|
|
|
|
DB $04 ;
|
|
|
|
|
DB $04 ;
|
|
|
|
|
DB $04 ;
|
|
|
|
|
DB $04 ;
|
|
|
|
|
DB $04 ;
|
|
|
|
|
DB $04 ;
|
|
|
|
|
DB $04 ;
|
|
|
|
|
DB $03 ;
|
|
|
|
|
DB $03 ;
|
|
|
|
|
DB $02 ;
|
|
|
|
|
DB $02 ;
|
|
|
|
|
DB $01 ;
|
|
|
|
|
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
* DEMO MODE ENGINE ENTRY POINT
|
|
|
|
|
*-----------------------------------
|
2023-07-08 16:35:15 +00:00
|
|
|
|
|
|
|
|
|
L69B8 LDA KBD
|
|
|
|
|
BMI L69CD
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDA fgINPUT
|
2024-02-08 21:48:24 +00:00
|
|
|
|
CMP #chrK
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L69D6
|
|
|
|
|
LDA BUTN1
|
|
|
|
|
BMI L69CD
|
|
|
|
|
LDA BUTN0
|
|
|
|
|
BPL L69D6
|
2024-02-13 08:09:27 +00:00
|
|
|
|
L69CD LSR fgKEYBTN0
|
|
|
|
|
LSR fgPLAY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$01
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA theMEN ; one man
|
2023-07-08 16:35:15 +00:00
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L69D6 LDA demoREPEAT ; are we currently handling a movement?
|
2024-02-09 22:22:41 +00:00
|
|
|
|
BNE L69F2 ; yes
|
|
|
|
|
LDY #$00 ; no, get values
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrDEMO),Y ; the keys
|
|
|
|
|
STA demoKEY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
INY
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrDEMO),Y
|
|
|
|
|
STA demoREPEAT ; the repeat
|
|
|
|
|
LDA ptrDEMO ; next entry
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CLC
|
|
|
|
|
ADC #$02
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrDEMO
|
|
|
|
|
LDA ptrDEMO+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
ADC #$00
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrDEMO+1
|
|
|
|
|
L69F2 LDA demoKEY ; first entry is the fisrt key
|
2023-07-08 16:35:15 +00:00
|
|
|
|
AND #$0F
|
|
|
|
|
TAX
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA tblDEMO2KEY,X
|
2023-07-08 16:35:15 +00:00
|
|
|
|
STA $9E
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA demoKEY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LSR
|
|
|
|
|
LSR
|
|
|
|
|
LSR
|
|
|
|
|
LSR
|
|
|
|
|
TAX
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA tblDEMO2KEY,X
|
2024-02-09 22:22:41 +00:00
|
|
|
|
STA $9F ; second key
|
2024-02-14 20:46:43 +00:00
|
|
|
|
DEC demoREPEAT
|
2023-07-08 16:35:15 +00:00
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-09 22:22:41 +00:00
|
|
|
|
* 0123456
|
2024-02-14 20:46:43 +00:00
|
|
|
|
tblDEMO2KEY ASC "IJKLOU "
|
2023-07-08 16:35:15 +00:00
|
|
|
|
|
2024-02-13 08:09:27 +00:00
|
|
|
|
L6A12 LDA fgDEMO
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$01
|
|
|
|
|
BEQ L69B8
|
|
|
|
|
LDX KBD
|
|
|
|
|
STX KBDSTROBE
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STX theA
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BMI L6A2B
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDA fgINPUT
|
2024-02-08 21:48:24 +00:00
|
|
|
|
CMP #chrK
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L6A55
|
|
|
|
|
L6A28 JMP L6AD0
|
|
|
|
|
|
2024-02-09 22:22:41 +00:00
|
|
|
|
L6A2B CPX #chrSPC
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCS L6A49
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STX theA
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDY #$FF
|
|
|
|
|
L6A33 INY
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblKEY,Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L6A49
|
2024-02-08 21:48:24 +00:00
|
|
|
|
CMP theA
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L6A33
|
|
|
|
|
TYA
|
|
|
|
|
ASL
|
|
|
|
|
TAY
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblKEYADR+1,Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
PHA
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblKEYADR,Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
PHA
|
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-12 18:28:22 +00:00
|
|
|
|
L6A49 LDA fgINPUT
|
2024-02-08 21:48:24 +00:00
|
|
|
|
CMP #chrJ
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L6A28
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDX theA
|
2023-07-08 16:35:15 +00:00
|
|
|
|
STX $9E
|
|
|
|
|
STX $9F
|
|
|
|
|
L6A55 RTS
|
|
|
|
|
|
2024-02-09 22:22:41 +00:00
|
|
|
|
*-------------------------------
|
|
|
|
|
* 9E - CTRL-^ - NEXT LEVEL
|
|
|
|
|
*-------------------------------
|
|
|
|
|
|
|
|
|
|
doNEXTLEVEL
|
|
|
|
|
INC theMEN ; man++
|
2024-02-08 21:48:24 +00:00
|
|
|
|
INC theLEVEL
|
|
|
|
|
INC intLEVEL
|
2024-02-13 08:09:27 +00:00
|
|
|
|
LSR fgPLAY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LSR $9D
|
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-09 22:22:41 +00:00
|
|
|
|
*-------------------------------
|
|
|
|
|
* 80 - CTRL-@ - EXTRA MAN
|
|
|
|
|
*-------------------------------
|
|
|
|
|
|
|
|
|
|
doEXTRAMAN
|
|
|
|
|
INC theMEN ; man++
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L6A67
|
2024-02-08 21:48:24 +00:00
|
|
|
|
DEC theMEN ; man--
|
|
|
|
|
L6A67 JSR printMEN
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LSR $9D
|
|
|
|
|
JMP L6A12
|
|
|
|
|
|
|
|
|
|
INC $97
|
2024-02-08 21:48:24 +00:00
|
|
|
|
INC theMEN ; man++
|
2024-02-13 08:09:27 +00:00
|
|
|
|
LSR fgPLAY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-09 22:22:41 +00:00
|
|
|
|
*-------------------------------
|
|
|
|
|
* 9B - ESC - PAUSE GAME
|
|
|
|
|
*-------------------------------
|
|
|
|
|
|
|
|
|
|
doPAUSE JSR waitKEYDOWN
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$9B
|
2024-02-09 22:22:41 +00:00
|
|
|
|
BNE doPAUSE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JMP L6A12
|
|
|
|
|
|
2024-02-09 22:22:41 +00:00
|
|
|
|
*-------------------------------
|
|
|
|
|
* 92 - CTRL-R - TERMINATES CURRENT GAME
|
|
|
|
|
*-------------------------------
|
|
|
|
|
|
|
|
|
|
doTERMINATE LDA #$01
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA theMEN ; man
|
2024-02-09 22:22:41 +00:00
|
|
|
|
|
|
|
|
|
*-------------------------------
|
|
|
|
|
* 81 - CTRL-A - ABORTS MAN
|
|
|
|
|
*-------------------------------
|
|
|
|
|
|
2024-02-13 08:09:27 +00:00
|
|
|
|
doABORTMAN LSR fgPLAY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-09 22:22:41 +00:00
|
|
|
|
*-------------------------------
|
|
|
|
|
* 93 - CTRL-S - TOGGLES SOUND
|
|
|
|
|
*-------------------------------
|
|
|
|
|
|
|
|
|
|
doTOGGLESOUND
|
|
|
|
|
LDA fgSOUND
|
2023-07-08 16:35:15 +00:00
|
|
|
|
EOR #$FF
|
2024-02-09 22:22:41 +00:00
|
|
|
|
STA fgSOUND
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JMP L6A12
|
|
|
|
|
|
2024-02-09 22:22:41 +00:00
|
|
|
|
*-------------------------------
|
|
|
|
|
* 8A - DOWN ARROW - MOVE LEFT
|
|
|
|
|
*-------------------------------
|
|
|
|
|
|
|
|
|
|
doDOWNARROW LDA #chrJ
|
2024-02-12 18:28:22 +00:00
|
|
|
|
STA fgINPUT
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JMP L6A12
|
|
|
|
|
|
2024-02-09 22:22:41 +00:00
|
|
|
|
*-------------------------------
|
|
|
|
|
* 8B - UP ARROW - MOVE DOWN
|
|
|
|
|
*-------------------------------
|
|
|
|
|
|
|
|
|
|
doUPARROW LDA #chrK
|
2024-02-12 18:28:22 +00:00
|
|
|
|
STA fgINPUT
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JMP L6A12
|
|
|
|
|
|
2024-02-09 22:22:41 +00:00
|
|
|
|
*-------------------------------
|
|
|
|
|
* 98 - CTRL-X - FLIPS X-AXIS
|
|
|
|
|
*-------------------------------
|
|
|
|
|
|
|
|
|
|
doFLIPX LDA joyXMIN
|
|
|
|
|
LDX joyXMAX
|
|
|
|
|
STA joyXMAX
|
|
|
|
|
STX joyXMIN
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JMP L6A12
|
|
|
|
|
|
2024-02-09 22:22:41 +00:00
|
|
|
|
*-------------------------------
|
|
|
|
|
* 99 - CTRL-Y - FLIPS Y-AXIS
|
|
|
|
|
*-------------------------------
|
|
|
|
|
|
|
|
|
|
doFLIPY LDA joyYMIN
|
|
|
|
|
LDX joyYMAX
|
|
|
|
|
STA joyYMAX
|
|
|
|
|
STX joyYMIN
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JMP L6A12
|
|
|
|
|
|
2024-02-09 22:22:41 +00:00
|
|
|
|
*-------------------------------
|
|
|
|
|
* 88 - LEFT ARROW - SLOWS DOWN
|
|
|
|
|
*-------------------------------
|
|
|
|
|
|
|
|
|
|
doSLOWDOWN LDA theSPEED
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L6ACD
|
2024-02-09 22:22:41 +00:00
|
|
|
|
DEC theSPEED
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JMP L6A12
|
|
|
|
|
|
2024-02-09 22:22:41 +00:00
|
|
|
|
*-------------------------------
|
|
|
|
|
* 95 - RIGHT ARROW - SPEEDS UP
|
|
|
|
|
*-------------------------------
|
|
|
|
|
|
|
|
|
|
doSPEEDUP LDA theSPEED
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$0F
|
|
|
|
|
BEQ L6ACD
|
2024-02-09 22:22:41 +00:00
|
|
|
|
INC theSPEED
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L6ACD JMP L6A12
|
|
|
|
|
|
2024-02-09 22:22:41 +00:00
|
|
|
|
*-------------------------------
|
|
|
|
|
*
|
|
|
|
|
*-------------------------------
|
|
|
|
|
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L6AD0 LDA BUTN1
|
|
|
|
|
BPL L6AD9
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA #chrU
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L6AE0
|
|
|
|
|
L6AD9 LDA BUTN0
|
|
|
|
|
BPL L6AE5
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA #chrO
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L6AE0 STA $9E
|
|
|
|
|
STA $9F
|
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-12 18:28:22 +00:00
|
|
|
|
L6AE5 JSR readJOYSTICK
|
|
|
|
|
LDY theJOYX
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA joyXMAX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$2E
|
|
|
|
|
BEQ L6AFA
|
2024-02-09 22:22:41 +00:00
|
|
|
|
CPY joyXMAX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCS L6B03
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA #chrL
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L6B1E
|
2024-02-09 22:22:41 +00:00
|
|
|
|
L6AFA CPY joyXMAX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCC L6B03
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA #chrL
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L6B1E
|
2024-02-09 22:22:41 +00:00
|
|
|
|
L6B03 LDA joyXMIN
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$2E
|
|
|
|
|
BEQ L6B13
|
2024-02-09 22:22:41 +00:00
|
|
|
|
CPY joyXMIN
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCS L6B1C
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA #chrJ
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L6B1E
|
2024-02-09 22:22:41 +00:00
|
|
|
|
L6B13 CPY joyXMIN
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCC L6B1C
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA #chrJ
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L6B1E
|
|
|
|
|
L6B1C LDA #$C0
|
|
|
|
|
L6B1E STA $9F
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDY theJOYY
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA joyYMIN
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$2E
|
|
|
|
|
BEQ L6B32
|
2024-02-09 22:22:41 +00:00
|
|
|
|
CPY joyYMIN
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCS L6B3B
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA #chrI
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L6B56
|
2024-02-09 22:22:41 +00:00
|
|
|
|
L6B32 CPY joyYMIN
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCC L6B3B
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA #chrI
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L6B56
|
2024-02-09 22:22:41 +00:00
|
|
|
|
L6B3B LDA joyYMAX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$2E
|
|
|
|
|
BEQ L6B4B
|
2024-02-09 22:22:41 +00:00
|
|
|
|
CPY joyYMAX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCS L6B54
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA #chrK
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L6B56
|
2024-02-09 22:22:41 +00:00
|
|
|
|
L6B4B CPY joyYMAX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCC L6B54
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA #chrK
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L6B56
|
2024-02-08 21:48:24 +00:00
|
|
|
|
L6B54 LDA #chrA-1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L6B56 STA $9E
|
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-09 22:22:41 +00:00
|
|
|
|
tblKEY HEX 9E809B9281938A8B889598998D00
|
|
|
|
|
|
|
|
|
|
tblKEYADR DA doNEXTLEVEL-1 ; 9E - CTRL-^
|
|
|
|
|
DA doEXTRAMAN-1 ; 80 - CTRL-@
|
|
|
|
|
DA doPAUSE-1 ; 9B - ESCAPE
|
|
|
|
|
DA doTERMINATE-1 ; 92 - CTRL-R
|
|
|
|
|
DA doABORTMAN-1 ; 81 - CTRL-A
|
|
|
|
|
DA doTOGGLESOUND-1 ; 93 - CTRL-S
|
|
|
|
|
DA doDOWNARROW-1 ; 8A - DOWN ARROW
|
|
|
|
|
DA doUPARROW-1 ; 8B - UP ARROW
|
|
|
|
|
DA doSPEEDUP-1 ; 88 - LEFT ARROW
|
|
|
|
|
DA doSLOWDOWN-1 ; 95 - RIGHT ARROW
|
|
|
|
|
DA doFLIPX-1 ; 98 - CTRL-X
|
|
|
|
|
DA doFLIPY-1 ; 99 - CTRL-Y
|
|
|
|
|
DA displayHIGHSCORES-1 ; 8D - RETURN
|
|
|
|
|
|
2024-02-12 18:28:22 +00:00
|
|
|
|
joyXMIN DB minJOY ; x-low
|
|
|
|
|
joyXMAX DB ctrJOY ; x-high
|
|
|
|
|
joyYMIN DB minJOY ; y-low
|
|
|
|
|
joyYMAX DB ctrJOY ; y-high
|
2024-02-09 22:22:41 +00:00
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
*-----------------------------------
|
|
|
|
|
* CALC SPRITE X/Y
|
|
|
|
|
*-----------------------------------
|
2023-07-08 16:35:15 +00:00
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
calcSPRITEXY
|
|
|
|
|
LDX boardX ; calc next HGR X position
|
|
|
|
|
LDY heroSTEPX
|
|
|
|
|
JSR calcHGRX
|
|
|
|
|
STX theA ; save it
|
|
|
|
|
|
|
|
|
|
LDY boardY ; calc next HGR Y position
|
|
|
|
|
LDX heroSTEPY
|
|
|
|
|
JSR calcHGRY ; we keep it in Y
|
|
|
|
|
|
|
|
|
|
LDX heroINDEX ; get sprite index
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA L6968,X
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDX theA
|
2023-07-08 16:35:15 +00:00
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
*-----------------------------------
|
|
|
|
|
* CHECK CHEST
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
* Check if we are on a chest
|
|
|
|
|
* If so, add 250 to the score
|
|
|
|
|
|
|
|
|
|
checkCHEST LDA heroSTEPX ; is sprite still in X
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$02
|
|
|
|
|
BNE L6BF3
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA heroSTEPY ; is sprite still in Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$02
|
|
|
|
|
BNE L6BF3
|
2024-02-14 20:46:43 +00:00
|
|
|
|
|
|
|
|
|
LDY boardY ; yes
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDBACKH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK+1
|
|
|
|
|
|
|
|
|
|
LDY boardX ; are we on a chest?
|
|
|
|
|
LDA (ptrBBACK),Y
|
2024-02-12 18:28:22 +00:00
|
|
|
|
CMP #sprCHEST
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L6BF3
|
2024-02-14 20:46:43 +00:00
|
|
|
|
|
|
|
|
|
LSR fgCHEST ; collision avec un coffre
|
|
|
|
|
DEC nbCHEST ; chest--
|
|
|
|
|
|
|
|
|
|
LDY boardY ; remove it from background
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STY theY
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDY boardX
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STY theX
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDA #sprEMPTY
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA (ptrBBACK),Y
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR coutHGR2
|
2024-02-14 20:46:43 +00:00
|
|
|
|
|
|
|
|
|
LDY theY ; draw it on screen
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDX theX
|
|
|
|
|
JSR getXY
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA #sprCHEST
|
2024-02-12 18:28:22 +00:00
|
|
|
|
JSR drawSPRITEXY
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDY #$02 ; add 250 to score
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$50
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR printSCORE
|
2024-02-14 20:46:43 +00:00
|
|
|
|
JSR prepareMELODY ; and beep it
|
2023-07-08 16:35:15 +00:00
|
|
|
|
HEX 07450655054404540343025300
|
|
|
|
|
L6BF3 RTS
|
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
*-----------------------------------
|
|
|
|
|
*
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
|
|
|
|
L6BF4 INC heroINDEX
|
|
|
|
|
CMP heroINDEX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCC L6BFD
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L6BFA STA heroINDEX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
RTS
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L6BFD CPX heroINDEX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCC L6BFA
|
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
*-----------------------------------
|
|
|
|
|
*
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
|
|
|
|
L6C02 JSR calcSPRITEXY
|
2024-02-12 18:28:22 +00:00
|
|
|
|
JSR drawSPRXYCOLLISION
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA fgCOLLISION ; les sprites sont-ils entr<74>s en collision ?
|
|
|
|
|
BEQ L6C12 ; non
|
|
|
|
|
LDA fgCHEST ; en collision avec un coffre ?
|
|
|
|
|
BEQ L6C12 ; oui, on ne perd pas
|
|
|
|
|
LSR fgPLAY ; non, perdu
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L6C12 RTS
|
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
*-----------------------------------
|
|
|
|
|
*
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
|
|
|
|
L6C13 LDA heroSTEPX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$02
|
|
|
|
|
BCC L6C20
|
|
|
|
|
BEQ L6C25
|
2024-02-14 20:46:43 +00:00
|
|
|
|
DEC heroSTEPX
|
|
|
|
|
JMP checkCHEST
|
|
|
|
|
L6C20 INC heroSTEPX
|
|
|
|
|
JMP checkCHEST
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L6C25 RTS
|
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
*-----------------------------------
|
|
|
|
|
*
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
|
|
|
|
L6C26 LDA heroSTEPY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$02
|
|
|
|
|
BCC L6C33
|
|
|
|
|
BEQ L6C38
|
2024-02-14 20:46:43 +00:00
|
|
|
|
DEC heroSTEPY
|
|
|
|
|
JMP checkCHEST
|
|
|
|
|
L6C33 INC heroSTEPY
|
|
|
|
|
JMP checkCHEST
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L6C38 RTS
|
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
*-----------------------------------
|
|
|
|
|
*
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L6C39 LDA #$00
|
|
|
|
|
STA $9C
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDY boardY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
INY
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STX theX
|
|
|
|
|
STY theY
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD+1
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDA #sprEMPTY
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDY theX
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA (ptrBOARD),Y
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR coutHGR1
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDA #sprEMPTY
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR coutHGR2
|
|
|
|
|
DEC theY
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDA #sprEMPTY
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR coutHGR1
|
|
|
|
|
INC theY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDX #$FF
|
|
|
|
|
L6C67 INX
|
2024-02-12 18:28:22 +00:00
|
|
|
|
CPX #sizeHOLE-2
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L6C81
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDA tblHOLET,X ; <>0 tempo means there is a hole
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L6C67
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA theY
|
2024-02-12 18:28:22 +00:00
|
|
|
|
STA tblHOLEY,X
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA theX
|
2024-02-12 18:28:22 +00:00
|
|
|
|
STA tblHOLEX,X
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$B4
|
2024-02-12 18:28:22 +00:00
|
|
|
|
STA tblHOLET,X
|
2023-07-08 16:35:15 +00:00
|
|
|
|
SEC
|
|
|
|
|
L6C81 RTS
|
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
*-----------------------------------
|
|
|
|
|
*
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
L6C82 LDX nbFOE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L6CA6
|
|
|
|
|
INC $64
|
|
|
|
|
LDY $64
|
|
|
|
|
CPY #$03
|
|
|
|
|
BCC L6C92
|
|
|
|
|
LDY #$00
|
|
|
|
|
STY $64
|
|
|
|
|
L6C92 LDA |$0060,Y
|
|
|
|
|
STA $63
|
|
|
|
|
L6C97 LSR $63
|
|
|
|
|
BCC L6CA2
|
|
|
|
|
JSR L6CDB
|
2024-02-13 08:09:27 +00:00
|
|
|
|
LDA fgPLAY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L6CA6
|
|
|
|
|
L6CA2 LDA $63
|
|
|
|
|
BNE L6C97
|
|
|
|
|
L6CA6 RTS
|
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
*-----------------------------------
|
|
|
|
|
*
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L6CA7 HEX 000000
|
|
|
|
|
HEX 000101
|
|
|
|
|
HEX 010101
|
|
|
|
|
HEX 010301
|
|
|
|
|
HEX 010303
|
|
|
|
|
HEX 030303
|
|
|
|
|
HEX 030307
|
|
|
|
|
HEX 030707
|
|
|
|
|
HEX 070707
|
|
|
|
|
HEX 07070F
|
|
|
|
|
HEX 070F0F
|
|
|
|
|
HEX 0F0F0F
|
2024-02-09 22:22:41 +00:00
|
|
|
|
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L6CCB HEX 082B2C3031323628292A2D2E2F353334
|
2024-02-08 21:48:24 +00:00
|
|
|
|
|
2024-02-12 18:28:22 +00:00
|
|
|
|
L6CDB INC idxFOE
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDX nbFOE
|
2024-02-12 18:28:22 +00:00
|
|
|
|
CPX idxFOE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCS L6CE7
|
|
|
|
|
LDX #$01
|
2024-02-12 18:28:22 +00:00
|
|
|
|
STX idxFOE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L6CE7 JSR L75CE
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA foeC70
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BMI L6D08
|
|
|
|
|
BEQ L6D08
|
2024-02-14 20:46:43 +00:00
|
|
|
|
DEC foeC70
|
|
|
|
|
LDY foeC70
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CPY #$0D
|
|
|
|
|
BCS L6CFB
|
|
|
|
|
JMP L6E65
|
|
|
|
|
|
2024-02-12 18:28:22 +00:00
|
|
|
|
L6CFB LDX idxFOE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA L0C98,X
|
|
|
|
|
BEQ L6D05
|
|
|
|
|
JMP L75A8
|
|
|
|
|
L6D05 JMP L6DB7
|
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L6D08 LDY foeY
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDBACKH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK+1
|
|
|
|
|
LDY foeX
|
|
|
|
|
LDA (ptrBBACK),Y
|
2024-02-12 18:28:22 +00:00
|
|
|
|
CMP #sprLADDER
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L6D61
|
2024-02-12 18:28:22 +00:00
|
|
|
|
CMP #sprBAR
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L6D26
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA foeC80
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$02
|
|
|
|
|
BEQ L6D61
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L6D26 LDA foeC80
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$02
|
|
|
|
|
BCC L6D64
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDY foeY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CPY #$0F
|
|
|
|
|
BEQ L6D61
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL+1,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD
|
|
|
|
|
STA ptrBBACK
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDBACKH+1,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK+1
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLH+1,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD+1
|
|
|
|
|
LDY foeX
|
|
|
|
|
LDA (ptrBOARD),Y
|
2024-02-12 18:28:22 +00:00
|
|
|
|
CMP #sprEMPTY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L6D64
|
2024-02-12 18:28:22 +00:00
|
|
|
|
CMP #sprHERO
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L6D64
|
2024-02-12 18:28:22 +00:00
|
|
|
|
CMP #sprFOE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L6D61
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBBACK),Y
|
2024-02-12 18:28:22 +00:00
|
|
|
|
CMP #sprWALL
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L6D61
|
2024-02-12 18:28:22 +00:00
|
|
|
|
CMP #sprWALLI
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L6D61
|
2024-02-12 18:28:22 +00:00
|
|
|
|
CMP #sprLADDER
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L6D64
|
|
|
|
|
L6D61 JMP L6E85
|
|
|
|
|
|
|
|
|
|
L6D64 JSR L74DF
|
2024-02-12 18:28:22 +00:00
|
|
|
|
JSR drawSPRITEXY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JSR L7582
|
|
|
|
|
LDA #$06
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDY foeC90
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BMI L6D75
|
|
|
|
|
LDA #$0D
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L6D75 STA foeC88
|
|
|
|
|
INC foeC80
|
|
|
|
|
LDA foeC80
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$05
|
|
|
|
|
BCS L6DC0
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA foeC80
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$02
|
|
|
|
|
BNE L6DB7
|
|
|
|
|
JSR L74F7
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDY foeY
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDBACKH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK+1
|
|
|
|
|
LDY foeX
|
|
|
|
|
LDA (ptrBBACK),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$01
|
|
|
|
|
BNE L6DB7
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA foeC70
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BPL L6DA2
|
2024-02-08 21:48:24 +00:00
|
|
|
|
DEC nbCHEST
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L6DA2 LDA $5F
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA foeC70
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDY #$00
|
|
|
|
|
LDA #$75
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR printSCORE
|
2024-02-09 22:22:41 +00:00
|
|
|
|
JSR prepareMELODY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
HEX 06200430024000
|
|
|
|
|
L6DB7 JSR L74DF
|
2024-02-12 18:28:22 +00:00
|
|
|
|
JSR drawSPRXYCOLLISION
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JMP L75A8
|
|
|
|
|
|
|
|
|
|
L6DC0 LDA #$00
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA foeC80
|
|
|
|
|
LDY foeY
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD
|
|
|
|
|
STA ptrBBACK
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD+1
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDBACKH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK+1
|
|
|
|
|
LDY foeX
|
|
|
|
|
LDA (ptrBBACK),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$01
|
|
|
|
|
BNE L6DE1
|
|
|
|
|
LDA #$00
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L6DE1 STA (ptrBOARD),Y
|
|
|
|
|
INC foeY
|
|
|
|
|
LDY foeY
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD
|
|
|
|
|
STA ptrBBACK
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD+1
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDBACKH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK+1
|
|
|
|
|
LDY foeX
|
|
|
|
|
LDA (ptrBOARD),Y
|
2024-02-12 18:28:22 +00:00
|
|
|
|
CMP #sprHERO
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L6E02
|
2024-02-13 08:09:27 +00:00
|
|
|
|
LSR fgPLAY
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L6E02 LDA (ptrBBACK),Y
|
2024-02-12 18:28:22 +00:00
|
|
|
|
CMP #sprWALL
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L6E58
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA foeC70
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BPL L6E58
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDY foeY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
DEY
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STY theY
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD
|
|
|
|
|
STA ptrBBACK
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD+1
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDBACKH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK+1
|
|
|
|
|
LDY foeX
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STY theX
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBBACK),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$00
|
|
|
|
|
BEQ L6E31
|
2024-02-08 21:48:24 +00:00
|
|
|
|
DEC nbCHEST
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JMP L6E46
|
|
|
|
|
|
|
|
|
|
L6E31 LDA #$07
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA (ptrBOARD),Y
|
|
|
|
|
STA (ptrBBACK),Y
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR coutHGR2
|
|
|
|
|
LDY theY
|
|
|
|
|
LDX theX
|
|
|
|
|
JSR getXY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$07
|
2024-02-12 18:28:22 +00:00
|
|
|
|
JSR drawSPRXYCOLLISION
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L6E46 LDY foeY
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$00
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA foeC70
|
|
|
|
|
LDY foeX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L6E58 LDA #$08
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA (ptrBOARD),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JSR L74DF
|
2024-02-12 18:28:22 +00:00
|
|
|
|
JSR drawSPRXYCOLLISION
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JMP L75A8
|
|
|
|
|
|
|
|
|
|
L6E65 CPY #$07
|
|
|
|
|
BCC L6E85
|
|
|
|
|
JSR L74DF
|
2024-02-12 18:28:22 +00:00
|
|
|
|
JSR drawSPRITEXY
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDY foeC70
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA L6E76+2,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA foeC78
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L6E76 JSR L74DF
|
2024-02-12 18:28:22 +00:00
|
|
|
|
JSR drawSPRXYCOLLISION
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JMP L75A8
|
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L6E7F HEX 020102030201 ; TOTO
|
|
|
|
|
|
|
|
|
|
L6E85 LDX foeX
|
|
|
|
|
LDY foeY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JSR L70D8
|
|
|
|
|
ASL
|
|
|
|
|
TAY
|
|
|
|
|
LDA L6E97+1,Y
|
|
|
|
|
PHA
|
|
|
|
|
LDA L6E97,Y
|
|
|
|
|
PHA
|
|
|
|
|
RTS
|
|
|
|
|
|
|
|
|
|
L6E97 DA L75A8-1
|
|
|
|
|
DA L6FBC-1
|
|
|
|
|
DA L7047-1
|
|
|
|
|
DA L6EAC-1
|
|
|
|
|
DA L6F39-1
|
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L6EA1 LDA foeC70
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L6EA9
|
|
|
|
|
BMI L6EA9
|
2024-02-14 20:46:43 +00:00
|
|
|
|
INC foeC70
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L6EA9 JMP L75A8
|
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L6EAC LDY foeC80
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CPY #$03
|
|
|
|
|
BCS L6ED5
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDY foeY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L6EA1
|
|
|
|
|
DEY
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD+1
|
|
|
|
|
LDY foeX
|
|
|
|
|
LDA (ptrBOARD),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$01
|
|
|
|
|
BEQ L6EA1
|
|
|
|
|
CMP #$02
|
|
|
|
|
BEQ L6EA1
|
|
|
|
|
CMP #$05
|
|
|
|
|
BEQ L6EA1
|
|
|
|
|
CMP #$08
|
|
|
|
|
BEQ L6EA1
|
|
|
|
|
L6ED5 JSR L74DF
|
2024-02-12 18:28:22 +00:00
|
|
|
|
JSR drawSPRITEXY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JSR L7582
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDY foeY
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD
|
|
|
|
|
STA ptrBBACK
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD+1
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDBACKH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK+1
|
|
|
|
|
DEC foeC80
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BPL L6F26
|
|
|
|
|
JSR L753E
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDY foeX
|
|
|
|
|
LDA (ptrBBACK),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$01
|
|
|
|
|
BNE L6F02
|
|
|
|
|
LDA #$00
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L6F02 STA (ptrBOARD),Y
|
|
|
|
|
DEC foeY
|
|
|
|
|
LDY foeY
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD+1
|
|
|
|
|
LDY foeX
|
|
|
|
|
LDA (ptrBOARD),Y
|
2024-02-12 18:28:22 +00:00
|
|
|
|
CMP #sprHERO
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L6F1C
|
2024-02-13 08:09:27 +00:00
|
|
|
|
LSR fgPLAY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L6F1C LDA #$08
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA (ptrBOARD),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$04
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA foeC80
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L6F29
|
|
|
|
|
L6F26 JSR L74F7
|
|
|
|
|
L6F29 LDA #$0E
|
|
|
|
|
LDX #$0F
|
|
|
|
|
JSR L7574
|
|
|
|
|
JSR L74DF
|
2024-02-12 18:28:22 +00:00
|
|
|
|
JSR drawSPRXYCOLLISION
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JMP L75A8
|
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L6F39 LDY foeC80
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CPY #$02
|
|
|
|
|
BCC L6F63
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDY foeY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CPY #$0F
|
|
|
|
|
BCS L6F60
|
|
|
|
|
INY
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD+1
|
|
|
|
|
LDY foeX
|
|
|
|
|
LDA (ptrBOARD),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$02
|
|
|
|
|
BEQ L6F60
|
|
|
|
|
CMP #$08
|
|
|
|
|
BEQ L6F60
|
|
|
|
|
CMP #$01
|
|
|
|
|
BNE L6F63
|
|
|
|
|
L6F60 JMP L75A8
|
|
|
|
|
|
|
|
|
|
L6F63 JSR L74DF
|
2024-02-12 18:28:22 +00:00
|
|
|
|
JSR drawSPRITEXY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JSR L7582
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDY foeY
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD
|
|
|
|
|
STA ptrBBACK
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD+1
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDBACKH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK+1
|
|
|
|
|
INC foeC80
|
|
|
|
|
LDA foeC80
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$05
|
|
|
|
|
BCC L6FB9
|
|
|
|
|
JSR L753E
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDY foeX
|
|
|
|
|
LDA (ptrBBACK),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$01
|
|
|
|
|
BNE L6F94
|
|
|
|
|
LDA #$00
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L6F94 STA (ptrBOARD),Y
|
|
|
|
|
INC foeY
|
|
|
|
|
LDY foeY
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD+1
|
|
|
|
|
LDY foeX
|
|
|
|
|
LDA (ptrBOARD),Y
|
2024-02-12 18:28:22 +00:00
|
|
|
|
CMP #sprHERO
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L6FAE
|
2024-02-13 08:09:27 +00:00
|
|
|
|
LSR fgPLAY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L6FAE LDA #$08
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA (ptrBOARD),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$00
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA foeC80
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JMP L6F29
|
|
|
|
|
L6FB9 JMP L6F26
|
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L6FBC LDY foeY
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD
|
|
|
|
|
STA ptrBBACK
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD+1
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDBACKH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK+1
|
|
|
|
|
LDX foeC78
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CPX #$03
|
|
|
|
|
BCS L6FF1
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDY foeX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L6FEE
|
|
|
|
|
DEY
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBOARD),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$08
|
|
|
|
|
BEQ L6FEE
|
|
|
|
|
CMP #$02
|
|
|
|
|
BEQ L6FEE
|
|
|
|
|
CMP #$01
|
|
|
|
|
BEQ L6FEE
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBBACK),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$05
|
|
|
|
|
BNE L6FF1
|
|
|
|
|
L6FEE JMP L75A8
|
|
|
|
|
|
|
|
|
|
L6FF1 JSR L74DF
|
2024-02-12 18:28:22 +00:00
|
|
|
|
JSR drawSPRITEXY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JSR L7595
|
|
|
|
|
LDA #$FF
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA foeC90
|
|
|
|
|
DEC foeC78
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BPL L7026
|
|
|
|
|
JSR L753E
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDY foeX
|
|
|
|
|
LDA (ptrBBACK),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$01
|
|
|
|
|
BNE L700F
|
|
|
|
|
LDA #$00
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L700F STA (ptrBOARD),Y
|
|
|
|
|
DEC foeX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
DEY
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBOARD),Y
|
2024-02-12 18:28:22 +00:00
|
|
|
|
CMP #sprHERO
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L701C
|
2024-02-13 08:09:27 +00:00
|
|
|
|
LSR fgPLAY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L701C LDA #$08
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA (ptrBOARD),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$04
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA foeC78
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L7029
|
|
|
|
|
L7026 JSR L74F7
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L7029 LDY foeX
|
|
|
|
|
LDA (ptrBBACK),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$04
|
|
|
|
|
BEQ L7037
|
|
|
|
|
LDA #$00
|
|
|
|
|
LDX #$02
|
|
|
|
|
BNE L703B
|
|
|
|
|
L7037 LDA #$03
|
|
|
|
|
LDX #$05
|
|
|
|
|
L703B JSR L7574
|
|
|
|
|
JSR L74DF
|
2024-02-12 18:28:22 +00:00
|
|
|
|
JSR drawSPRXYCOLLISION
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JMP L75A8
|
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L7047 LDY foeY
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD
|
|
|
|
|
STA ptrBBACK
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD+1
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDBACKH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK+1
|
|
|
|
|
LDX foeC78
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CPX #$02
|
|
|
|
|
BCC L707E
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDY foeX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CPY #$1B
|
|
|
|
|
BEQ L707B
|
|
|
|
|
INY
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBOARD),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$08
|
|
|
|
|
BEQ L707B
|
|
|
|
|
CMP #$02
|
|
|
|
|
BEQ L707B
|
|
|
|
|
CMP #$01
|
|
|
|
|
BEQ L707B
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBBACK),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$05
|
|
|
|
|
BNE L707E
|
|
|
|
|
L707B JMP L75A8
|
|
|
|
|
|
|
|
|
|
L707E JSR L74DF
|
2024-02-12 18:28:22 +00:00
|
|
|
|
JSR drawSPRITEXY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JSR L7595
|
|
|
|
|
LDA #$01
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA foeC90
|
|
|
|
|
INC foeC78
|
|
|
|
|
LDA foeC78
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$05
|
|
|
|
|
BCC L70B7
|
|
|
|
|
JSR L753E
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDY foeX
|
|
|
|
|
LDA (ptrBBACK),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$01
|
|
|
|
|
BNE L70A0
|
|
|
|
|
LDA #$00
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L70A0 STA (ptrBOARD),Y
|
|
|
|
|
INC foeX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
INY
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBOARD),Y
|
2024-02-12 18:28:22 +00:00
|
|
|
|
CMP #sprHERO
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L70AD
|
2024-02-13 08:09:27 +00:00
|
|
|
|
LSR fgPLAY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L70AD LDA #$08
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA (ptrBOARD),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$00
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA foeC78
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L70BA
|
|
|
|
|
L70B7 JSR L74F7
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L70BA LDY foeX
|
|
|
|
|
LDA (ptrBBACK),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$04
|
|
|
|
|
BEQ L70C8
|
|
|
|
|
LDA #$07
|
|
|
|
|
LDX #$09
|
|
|
|
|
BNE L70CC
|
|
|
|
|
L70C8 LDA #$0A
|
|
|
|
|
LDX #$0C
|
|
|
|
|
L70CC JSR L7574
|
|
|
|
|
JSR L74DF
|
2024-02-12 18:28:22 +00:00
|
|
|
|
JSR drawSPRXYCOLLISION
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JMP L75A8
|
|
|
|
|
|
|
|
|
|
L70D8 STX $55
|
|
|
|
|
STY $56
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDBACKH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDY $55
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBBACK),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$01
|
|
|
|
|
BNE L70F7
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA foeC70
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L70F7
|
|
|
|
|
BMI L70F7
|
|
|
|
|
LDA #$03
|
|
|
|
|
RTS
|
|
|
|
|
|
|
|
|
|
L70F7 LDY $56
|
2024-02-12 18:28:22 +00:00
|
|
|
|
CPY boardY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L7100
|
|
|
|
|
JMP L7186
|
|
|
|
|
|
|
|
|
|
L7100 LDY $55
|
|
|
|
|
STY $57
|
2024-02-12 18:28:22 +00:00
|
|
|
|
CPY boardX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCS L7147
|
|
|
|
|
L7108 INC $57
|
|
|
|
|
LDY $56
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDBACKH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDY $57
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBBACK),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$03
|
|
|
|
|
BEQ L713E
|
|
|
|
|
CMP #$04
|
|
|
|
|
BEQ L713E
|
|
|
|
|
LDY $56
|
|
|
|
|
CPY #$0F
|
|
|
|
|
BEQ L713E
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL+1,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDBACKH+1,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDY $57
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBBACK),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$00
|
|
|
|
|
BEQ L7186
|
|
|
|
|
CMP #$05
|
|
|
|
|
BEQ L7186
|
|
|
|
|
L713E LDY $57
|
2024-02-12 18:28:22 +00:00
|
|
|
|
CPY boardX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L7108
|
|
|
|
|
LDA #$02
|
|
|
|
|
RTS
|
|
|
|
|
|
|
|
|
|
L7147 DEC $57
|
|
|
|
|
LDY $56
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDBACKH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDY $57
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBBACK),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$03
|
|
|
|
|
BEQ L717D
|
|
|
|
|
CMP #$04
|
|
|
|
|
BEQ L717D
|
|
|
|
|
LDY $56
|
|
|
|
|
CPY #$0F
|
|
|
|
|
BEQ L717D
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL+1,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDBACKH+1,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDY $57
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBBACK),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$00
|
|
|
|
|
BEQ L7186
|
|
|
|
|
CMP #$05
|
|
|
|
|
BEQ L7186
|
|
|
|
|
L717D LDY $57
|
2024-02-12 18:28:22 +00:00
|
|
|
|
CPY boardX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L7147
|
|
|
|
|
LDA #$01
|
|
|
|
|
RTS
|
|
|
|
|
|
|
|
|
|
L7186 LDA #$00
|
|
|
|
|
STA $58
|
|
|
|
|
LDA #$FF
|
|
|
|
|
STA $59
|
|
|
|
|
LDX $55
|
|
|
|
|
LDY $56
|
|
|
|
|
JSR L743E
|
|
|
|
|
JSR L7275
|
|
|
|
|
JSR L71A2
|
|
|
|
|
JSR L720C
|
|
|
|
|
LDA $58
|
|
|
|
|
RTS
|
|
|
|
|
L71A1 RTS
|
|
|
|
|
|
|
|
|
|
L71A2 LDY $5A
|
|
|
|
|
CPY $55
|
|
|
|
|
BEQ L71A1
|
|
|
|
|
LDY $56
|
|
|
|
|
CPY #$0F
|
|
|
|
|
BEQ L71DA
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL+1,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDBACKH+1,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDY $5A
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBBACK),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$01
|
|
|
|
|
BEQ L71DA
|
|
|
|
|
CMP #$02
|
|
|
|
|
BEQ L71DA
|
|
|
|
|
LDX $5A
|
|
|
|
|
LDY $56
|
|
|
|
|
JSR L739D
|
|
|
|
|
LDX $5A
|
|
|
|
|
JSR L72D4
|
|
|
|
|
CMP $59
|
|
|
|
|
BCS L71DA
|
|
|
|
|
STA $59
|
|
|
|
|
LDA #$01
|
|
|
|
|
STA $58
|
|
|
|
|
L71DA LDY $56
|
|
|
|
|
BEQ L7206
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDBACKH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDY $5A
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBBACK),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$03
|
|
|
|
|
BNE L7206
|
|
|
|
|
LDY $56
|
|
|
|
|
LDX $5A
|
|
|
|
|
JSR L7300
|
|
|
|
|
LDX $5A
|
|
|
|
|
JSR L72D4
|
|
|
|
|
CMP $59
|
|
|
|
|
BCS L7206
|
|
|
|
|
STA $59
|
|
|
|
|
LDA #$01
|
|
|
|
|
STA $58
|
|
|
|
|
L7206 INC $5A
|
|
|
|
|
JMP L71A2
|
|
|
|
|
L720B RTS
|
|
|
|
|
|
|
|
|
|
L720C LDY $5B
|
|
|
|
|
CPY $55
|
|
|
|
|
BEQ L720B
|
|
|
|
|
LDY $56
|
|
|
|
|
CPY #$0F
|
|
|
|
|
BEQ L7244
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL+1,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDBACKH+1,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDY $5B
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBBACK),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$01
|
|
|
|
|
BEQ L7244
|
|
|
|
|
CMP #$02
|
|
|
|
|
BEQ L7244
|
|
|
|
|
LDX $5B
|
|
|
|
|
LDY $56
|
|
|
|
|
JSR L739D
|
|
|
|
|
LDX $5B
|
|
|
|
|
JSR L72D4
|
|
|
|
|
CMP $59
|
|
|
|
|
BCS L7244
|
|
|
|
|
STA $59
|
|
|
|
|
LDA #$02
|
|
|
|
|
STA $58
|
|
|
|
|
L7244 LDY $56
|
|
|
|
|
BEQ L7270
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDBACKH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDY $5B
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBBACK),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$03
|
|
|
|
|
BNE L7270
|
|
|
|
|
LDY $56
|
|
|
|
|
LDX $5B
|
|
|
|
|
JSR L7300
|
|
|
|
|
LDX $5B
|
|
|
|
|
JSR L72D4
|
|
|
|
|
CMP $59
|
|
|
|
|
BCS L7270
|
|
|
|
|
STA $59
|
|
|
|
|
LDA #$02
|
|
|
|
|
STA $58
|
|
|
|
|
L7270 DEC $5B
|
|
|
|
|
JMP L720C
|
|
|
|
|
|
|
|
|
|
L7275 LDY $56
|
|
|
|
|
CPY #$0F
|
|
|
|
|
BEQ L72A7
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL+1,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDBACKH+1,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDY $55
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBBACK),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$01
|
|
|
|
|
BEQ L72A7
|
|
|
|
|
CMP #$02
|
|
|
|
|
BEQ L72A7
|
|
|
|
|
LDX $55
|
|
|
|
|
LDY $56
|
|
|
|
|
JSR L739D
|
|
|
|
|
LDX $55
|
|
|
|
|
JSR L72D4
|
|
|
|
|
CMP $59
|
|
|
|
|
BCS L72A7
|
|
|
|
|
STA $59
|
|
|
|
|
LDA #$04
|
|
|
|
|
STA $58
|
|
|
|
|
L72A7 LDY $56
|
|
|
|
|
BEQ L72D3
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDBACKH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDY $55
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBBACK),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$03
|
|
|
|
|
BNE L72D3
|
|
|
|
|
LDX $55
|
|
|
|
|
LDY $56
|
|
|
|
|
JSR L7300
|
|
|
|
|
LDX $55
|
|
|
|
|
JSR L72D4
|
|
|
|
|
CMP $59
|
|
|
|
|
BCS L72D3
|
|
|
|
|
STA $59
|
|
|
|
|
LDA #$03
|
|
|
|
|
STA $58
|
|
|
|
|
L72D3 RTS
|
|
|
|
|
|
2024-02-13 08:09:27 +00:00
|
|
|
|
L72D4 STA fgODDEVEN
|
2024-02-12 18:28:22 +00:00
|
|
|
|
CMP boardY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L72EB
|
2024-02-14 20:46:43 +00:00
|
|
|
|
CPX foeX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCC L72E3
|
|
|
|
|
TXA
|
|
|
|
|
SEC
|
2024-02-14 20:46:43 +00:00
|
|
|
|
SBC foeX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-13 08:09:27 +00:00
|
|
|
|
L72E3 STX fgODDEVEN
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA foeX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
SEC
|
2024-02-13 08:09:27 +00:00
|
|
|
|
SBC fgODDEVEN
|
2023-07-08 16:35:15 +00:00
|
|
|
|
RTS
|
|
|
|
|
|
|
|
|
|
L72EB BCC L72F4
|
|
|
|
|
SEC
|
2024-02-12 18:28:22 +00:00
|
|
|
|
SBC boardY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CLC
|
|
|
|
|
ADC #$C8
|
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-12 18:28:22 +00:00
|
|
|
|
L72F4 LDA boardY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
SEC
|
2024-02-13 08:09:27 +00:00
|
|
|
|
SBC fgODDEVEN
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CLC
|
|
|
|
|
ADC #$64
|
|
|
|
|
RTS
|
|
|
|
|
|
|
|
|
|
L72FD LDA $5E
|
|
|
|
|
RTS
|
|
|
|
|
|
|
|
|
|
L7300 STY $5E
|
|
|
|
|
STX $5D
|
2024-02-09 22:22:41 +00:00
|
|
|
|
L7304 LDA tblBOARDALLL,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDBACKH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDY $5D
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBBACK),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$03
|
|
|
|
|
BNE L72FD
|
|
|
|
|
DEC $5E
|
|
|
|
|
LDY $5D
|
|
|
|
|
BEQ L734A
|
|
|
|
|
DEY
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBBACK),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$01
|
|
|
|
|
BEQ L7340
|
|
|
|
|
CMP #$02
|
|
|
|
|
BEQ L7340
|
|
|
|
|
CMP #$03
|
|
|
|
|
BEQ L7340
|
|
|
|
|
LDY $5E
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDBACKH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDY $5D
|
|
|
|
|
DEY
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBBACK),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$04
|
|
|
|
|
BNE L734A
|
|
|
|
|
L7340 LDY $5E
|
|
|
|
|
STY $5C
|
2024-02-12 18:28:22 +00:00
|
|
|
|
CPY boardY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCC L7397
|
|
|
|
|
BEQ L7397
|
|
|
|
|
L734A LDY $5D
|
|
|
|
|
CPY #$1B
|
|
|
|
|
BEQ L738C
|
|
|
|
|
LDY $5E
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL+1,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDBACKH+1,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDY $5D
|
|
|
|
|
INY
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBBACK),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$01
|
|
|
|
|
BEQ L7382
|
|
|
|
|
CMP #$02
|
|
|
|
|
BEQ L7382
|
|
|
|
|
CMP #$03
|
|
|
|
|
BEQ L7382
|
|
|
|
|
LDY $5E
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDBACKH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDY $5D
|
|
|
|
|
INY
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBBACK),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$04
|
|
|
|
|
BNE L738C
|
|
|
|
|
L7382 LDY $5E
|
|
|
|
|
STY $5C
|
2024-02-12 18:28:22 +00:00
|
|
|
|
CPY boardY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCC L7397
|
|
|
|
|
BEQ L7397
|
|
|
|
|
L738C LDY $5E
|
|
|
|
|
CPY #$01
|
|
|
|
|
BCC L7395
|
|
|
|
|
JMP L7304
|
|
|
|
|
|
|
|
|
|
L7395 TYA
|
|
|
|
|
RTS
|
|
|
|
|
|
|
|
|
|
L7397 LDA $5C
|
|
|
|
|
RTS
|
|
|
|
|
|
|
|
|
|
L739A LDA $5E
|
|
|
|
|
RTS
|
|
|
|
|
|
|
|
|
|
L739D STY $5E
|
|
|
|
|
STX $5D
|
2024-02-09 22:22:41 +00:00
|
|
|
|
L73A1 LDA tblBOARDALLL+1,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDBACKH+1,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDY $5D
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBBACK),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$01
|
|
|
|
|
BEQ L739A
|
|
|
|
|
CMP #$02
|
|
|
|
|
BEQ L739A
|
|
|
|
|
LDY $5E
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDBACKH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDY $5D
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBBACK),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$00
|
|
|
|
|
BEQ L742D
|
|
|
|
|
CPY #$00
|
|
|
|
|
BEQ L73FB
|
|
|
|
|
DEY
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBBACK),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$04
|
|
|
|
|
BEQ L73F3
|
|
|
|
|
LDY $5E
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL+1,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDBACKH+1,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDY $5D
|
|
|
|
|
DEY
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBBACK),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$01
|
|
|
|
|
BEQ L73F3
|
|
|
|
|
CMP #$02
|
|
|
|
|
BEQ L73F3
|
|
|
|
|
CMP #$03
|
|
|
|
|
BNE L73FB
|
|
|
|
|
L73F3 LDY $5E
|
|
|
|
|
STY $5C
|
2024-02-12 18:28:22 +00:00
|
|
|
|
CPY boardY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCS L743B
|
|
|
|
|
L73FB LDY $5D
|
|
|
|
|
CPY #$1B
|
|
|
|
|
BCS L742D
|
|
|
|
|
INY
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBBACK),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$04
|
|
|
|
|
BEQ L7425
|
|
|
|
|
LDY $5E
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL+1,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDBACKH+1,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDY $5D
|
|
|
|
|
INY
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBBACK),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$01
|
|
|
|
|
BEQ L7425
|
|
|
|
|
CMP #$03
|
|
|
|
|
BEQ L7425
|
|
|
|
|
CMP #$02
|
|
|
|
|
BNE L742D
|
|
|
|
|
L7425 LDY $5E
|
|
|
|
|
STY $5C
|
2024-02-12 18:28:22 +00:00
|
|
|
|
CPY boardY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCS L743B
|
|
|
|
|
L742D INC $5E
|
|
|
|
|
LDY $5E
|
|
|
|
|
CPY #$10
|
|
|
|
|
BCS L7438
|
|
|
|
|
JMP L73A1
|
|
|
|
|
|
|
|
|
|
L7438 LDA #$0F
|
|
|
|
|
RTS
|
|
|
|
|
|
|
|
|
|
L743B LDA $5C
|
|
|
|
|
RTS
|
|
|
|
|
|
|
|
|
|
L743E STX $5A
|
|
|
|
|
STX $5B
|
2024-02-12 18:28:22 +00:00
|
|
|
|
STY theYSCREEN
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L7444 LDA $5A
|
|
|
|
|
BEQ L7490
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDY theYSCREEN
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDY $5A
|
|
|
|
|
DEY
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBOARD),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$01
|
|
|
|
|
BEQ L7490
|
|
|
|
|
CMP #$02
|
|
|
|
|
BEQ L7490
|
|
|
|
|
CMP #$03
|
|
|
|
|
BEQ L748A
|
|
|
|
|
CMP #$04
|
|
|
|
|
BEQ L748A
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDY theYSCREEN
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CPY #$0F
|
|
|
|
|
BEQ L748A
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL+1,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDBACKH+1,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDY $5A
|
|
|
|
|
DEY
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBBACK),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$01
|
|
|
|
|
BEQ L748A
|
|
|
|
|
CMP #$02
|
|
|
|
|
BEQ L748A
|
|
|
|
|
CMP #$03
|
|
|
|
|
BNE L748E
|
|
|
|
|
L748A DEC $5A
|
|
|
|
|
BPL L7444
|
|
|
|
|
L748E DEC $5A
|
|
|
|
|
L7490 LDA $5B
|
|
|
|
|
CMP #$1B
|
|
|
|
|
BEQ L74DE
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDY theYSCREEN
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDY $5B
|
|
|
|
|
INY
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBOARD),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$01
|
|
|
|
|
BEQ L74DE
|
|
|
|
|
CMP #$02
|
|
|
|
|
BEQ L74DE
|
|
|
|
|
CMP #$03
|
|
|
|
|
BEQ L74D8
|
|
|
|
|
CMP #$04
|
|
|
|
|
BEQ L74D8
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDY theYSCREEN
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CPY #$0F
|
|
|
|
|
BEQ L74D8
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL+1,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDBACKH+1,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDY $5B
|
|
|
|
|
INY
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBBACK),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$01
|
|
|
|
|
BEQ L74D8
|
|
|
|
|
CMP #$02
|
|
|
|
|
BEQ L74D8
|
|
|
|
|
CMP #$03
|
|
|
|
|
BNE L74DC
|
|
|
|
|
L74D8 INC $5B
|
|
|
|
|
BPL L7490
|
|
|
|
|
L74DC INC $5B
|
|
|
|
|
L74DE RTS
|
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L74DF LDX foeX
|
|
|
|
|
LDY foeC78
|
|
|
|
|
JSR calcHGRX
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STX theA
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDY foeY
|
|
|
|
|
LDX foeC80
|
|
|
|
|
JSR calcHGRY
|
|
|
|
|
LDX foeC88
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA L6CCB,X
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDX theA
|
2023-07-08 16:35:15 +00:00
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L74F7 LDA foeC78
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$02
|
|
|
|
|
BNE L753D
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA foeC80
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$02
|
|
|
|
|
BNE L753D
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDY foeY
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDBACKH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK+1
|
|
|
|
|
LDY foeX
|
|
|
|
|
LDA (ptrBBACK),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$07
|
|
|
|
|
BNE L753D
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA foeC70
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BMI L753D
|
|
|
|
|
LDA #$FF
|
|
|
|
|
SEC
|
|
|
|
|
SBC $53
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA foeC70
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$00
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA (ptrBBACK),Y
|
|
|
|
|
LDY foeY
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STY theY
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDY foeX
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STY theX
|
|
|
|
|
JSR coutHGR2
|
|
|
|
|
LDY theY
|
|
|
|
|
LDX theX
|
|
|
|
|
JSR getXY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$07
|
2024-02-12 18:28:22 +00:00
|
|
|
|
JMP drawSPRITEXY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L753D RTS
|
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L753E LDA foeC70
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BPL L7573
|
2024-02-14 20:46:43 +00:00
|
|
|
|
INC foeC70
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L7573
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDY foeY
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STY theY
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDBACKH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK+1
|
|
|
|
|
LDY foeX
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STY theX
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBBACK),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$00
|
|
|
|
|
BNE L7571
|
|
|
|
|
LDA #$07
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA (ptrBBACK),Y
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR coutHGR2
|
|
|
|
|
LDY theY
|
|
|
|
|
LDX theX
|
|
|
|
|
JSR getXY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$07
|
2024-02-12 18:28:22 +00:00
|
|
|
|
JMP drawSPRXYCOLLISION
|
2023-07-08 16:35:15 +00:00
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L7571 DEC foeC70
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L7573 RTS
|
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L7574 INC foeC88
|
|
|
|
|
CMP foeC88
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCC L757D
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L757A STA foeC88
|
2023-07-08 16:35:15 +00:00
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L757D CPX foeC88
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCC L757A
|
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L7582 LDA foeC78
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$02
|
|
|
|
|
BCC L758F
|
|
|
|
|
BEQ L7594
|
2024-02-14 20:46:43 +00:00
|
|
|
|
DEC foeC78
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JMP L74F7
|
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L758F INC foeC78
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JMP L74F7
|
|
|
|
|
L7594 RTS
|
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L7595 LDA foeC80
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$02
|
|
|
|
|
BCC L75A2
|
|
|
|
|
BEQ L75A7
|
2024-02-14 20:46:43 +00:00
|
|
|
|
DEC foeC80
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JMP L74F7
|
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L75A2 INC foeC80
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JMP L74F7
|
|
|
|
|
L75A7 RTS
|
|
|
|
|
|
2024-02-12 18:28:22 +00:00
|
|
|
|
L75A8 LDX idxFOE
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA foeX
|
2024-02-09 22:22:41 +00:00
|
|
|
|
STA tblFOEX,X
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA foeY
|
2024-02-09 22:22:41 +00:00
|
|
|
|
STA tblFOEY,X
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA foeC78
|
2023-07-08 16:35:15 +00:00
|
|
|
|
STA L0C78,X
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA foeC80
|
2023-07-08 16:35:15 +00:00
|
|
|
|
STA L0C80,X
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA foeC70
|
2023-07-08 16:35:15 +00:00
|
|
|
|
STA L0C70,X
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA foeC90
|
2023-07-08 16:35:15 +00:00
|
|
|
|
STA L0C90,X
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA foeC88
|
2023-07-08 16:35:15 +00:00
|
|
|
|
STA L0C88,X
|
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-12 18:28:22 +00:00
|
|
|
|
L75CE LDX idxFOE
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblFOEX,X
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA foeX
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblFOEY,X
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA foeY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA L0C78,X
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA foeC78
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA L0C80,X
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA foeC80
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA L0C88,X
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA foeC88
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA L0C90,X
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA foeC90
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA L0C70,X
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA foeC70
|
2023-07-08 16:35:15 +00:00
|
|
|
|
RTS
|
|
|
|
|
|
|
|
|
|
L75F4 JSR L7716
|
|
|
|
|
INC $53
|
|
|
|
|
LDA $53
|
|
|
|
|
CMP #$1C
|
|
|
|
|
BCC L7603
|
|
|
|
|
LDA #$00
|
|
|
|
|
STA $53
|
2024-02-12 18:28:22 +00:00
|
|
|
|
L7603 LDX #sizeHOLE-2
|
|
|
|
|
L7605 LDA tblHOLET,X
|
|
|
|
|
STX tempINDEX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L760F
|
|
|
|
|
JMP L770D
|
|
|
|
|
|
2024-02-12 18:28:22 +00:00
|
|
|
|
L760F DEC tblHOLET,X
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L7641
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDA tblHOLEX,X
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA theX
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDA tblHOLEY,X
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA theY
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDA tblHOLET,X
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$14
|
|
|
|
|
BNE L7639
|
|
|
|
|
LDA #$37
|
2024-02-08 21:48:24 +00:00
|
|
|
|
L7627 JSR coutHGR2
|
|
|
|
|
LDX theX
|
|
|
|
|
LDY theY
|
|
|
|
|
JSR getXY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$00
|
2024-02-12 18:28:22 +00:00
|
|
|
|
JSR drawSPRITEXY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L7636 JMP L770D
|
|
|
|
|
|
|
|
|
|
L7639 CMP #$0A
|
|
|
|
|
BNE L7636
|
|
|
|
|
LDA #$38
|
|
|
|
|
BNE L7627
|
2024-02-12 18:28:22 +00:00
|
|
|
|
L7641 LDX tempINDEX
|
|
|
|
|
LDY tblHOLEY,X
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STY theY
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD
|
|
|
|
|
STA ptrBBACK
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD+1
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDBACKH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK+1
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDY tblHOLEX,X
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STY theX
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBOARD),Y
|
2024-02-12 18:28:22 +00:00
|
|
|
|
CMP #sprEMPTY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L7667
|
|
|
|
|
JMP L7701
|
|
|
|
|
|
2024-02-12 18:28:22 +00:00
|
|
|
|
L7667 CMP #sprHERO
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L766D
|
2024-02-13 08:09:27 +00:00
|
|
|
|
LSR fgPLAY
|
2024-02-12 18:28:22 +00:00
|
|
|
|
L766D CMP #sprFOE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L767A
|
2024-02-12 18:28:22 +00:00
|
|
|
|
CMP #sprCHEST
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L7677
|
2024-02-08 21:48:24 +00:00
|
|
|
|
DEC nbCHEST
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L7677 JMP L7701
|
|
|
|
|
|
2024-02-12 18:28:22 +00:00
|
|
|
|
L767A LDA #sprWALL
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA (ptrBOARD),Y
|
|
|
|
|
STA (ptrBBACK),Y
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR coutHGR1
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDA #sprWALL
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR coutHGR2
|
|
|
|
|
LDX nbFOE
|
2024-02-09 22:22:41 +00:00
|
|
|
|
L768A LDA tblFOEX,X
|
2024-02-08 21:48:24 +00:00
|
|
|
|
CMP theX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L76FE
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblFOEY,X
|
2024-02-08 21:48:24 +00:00
|
|
|
|
CMP theY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L76FE
|
|
|
|
|
LDA L0C70,X
|
|
|
|
|
BPL L769F
|
2024-02-08 21:48:24 +00:00
|
|
|
|
DEC nbCHEST
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L769F LDA #$7F
|
|
|
|
|
STA L0C70,X
|
2024-02-12 18:28:22 +00:00
|
|
|
|
STX idxFOE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JSR L75CE
|
|
|
|
|
JSR L74DF
|
2024-02-12 18:28:22 +00:00
|
|
|
|
JSR drawSPRITEXY
|
|
|
|
|
LDX idxFOE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDY #$01
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STY theY
|
|
|
|
|
L76B5 LDY theY
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDBACKH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDY $53
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L76C3 LDA (ptrBBACK),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$00
|
|
|
|
|
BEQ L76D9
|
|
|
|
|
INC $53
|
|
|
|
|
LDY $53
|
|
|
|
|
CPY #$1C
|
|
|
|
|
BCC L76C3
|
2024-02-08 21:48:24 +00:00
|
|
|
|
INC theY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$00
|
|
|
|
|
STA $53
|
|
|
|
|
BEQ L76B5
|
|
|
|
|
L76D9 TYA
|
2024-02-09 22:22:41 +00:00
|
|
|
|
STA tblFOEX,X
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA theY
|
2024-02-09 22:22:41 +00:00
|
|
|
|
STA tblFOEY,X
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$14
|
|
|
|
|
STA L0C98,X
|
|
|
|
|
LDA #$02
|
|
|
|
|
STA L0C80,X
|
|
|
|
|
STA L0C78,X
|
|
|
|
|
LDA #$00
|
|
|
|
|
STA L0C88,X
|
|
|
|
|
LDY #$00
|
|
|
|
|
LDA #$75
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR printSCORE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JMP L770D
|
|
|
|
|
|
|
|
|
|
L76FE DEX
|
|
|
|
|
BNE L768A
|
2024-02-12 18:28:22 +00:00
|
|
|
|
L7701 LDA #sprWALL
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA (ptrBOARD),Y
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR coutHGR1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$01
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR coutHGR2
|
2024-02-12 18:28:22 +00:00
|
|
|
|
L770D LDX tempINDEX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
DEX
|
|
|
|
|
BMI L7715
|
|
|
|
|
JMP L7605
|
|
|
|
|
L7715 RTS
|
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
L7716 LDX nbFOE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L7715
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDA idxFOE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
PHA
|
|
|
|
|
L771D LDA L0C98,X
|
|
|
|
|
BEQ L7765
|
2024-02-12 18:28:22 +00:00
|
|
|
|
STX idxFOE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JSR L75CE
|
|
|
|
|
LDA #$7F
|
|
|
|
|
STA L0C70,X
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblFOEX,X
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA theX
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblFOEY,X
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA theY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
DEC L0C98,X
|
|
|
|
|
BEQ L776C
|
|
|
|
|
LDA L0C98,X
|
|
|
|
|
CMP #$13
|
|
|
|
|
BNE L7752
|
|
|
|
|
LDA #$39
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR coutHGR2
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JSR L74DF
|
|
|
|
|
LDA #$39
|
2024-02-12 18:28:22 +00:00
|
|
|
|
JSR drawSPRXYCOLLISION
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JMP L7763
|
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L7752 CMP #$0A ; tutu
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L7765
|
|
|
|
|
LDA #$3A
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR coutHGR2
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JSR L74DF
|
|
|
|
|
LDA #$3A
|
2024-02-12 18:28:22 +00:00
|
|
|
|
JSR drawSPRXYCOLLISION
|
|
|
|
|
L7763 LDX idxFOE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L7765 DEX
|
|
|
|
|
BNE L771D
|
|
|
|
|
PLA
|
2024-02-12 18:28:22 +00:00
|
|
|
|
STA idxFOE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
L776C LDY theY
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD+1
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDX idxFOE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
INC L0C98,X
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDY theX
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBOARD),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L7765
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA #sprFOE
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA (ptrBOARD),Y
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDA #sprEMPTY
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR coutHGR2
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$00
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDX idxFOE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
STA L0C70,X
|
|
|
|
|
STA L0C98,X
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA #sprFOE
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR coutHGR1
|
2024-02-09 22:22:41 +00:00
|
|
|
|
JSR prepareMELODY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
HEX 027C03780474057000
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDX idxFOE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JMP L7765
|
|
|
|
|
|
2024-02-09 22:22:41 +00:00
|
|
|
|
*-------------------------------
|
|
|
|
|
* 8D - RETURN - DISPLAYS HIGH SCORE
|
|
|
|
|
*-------------------------------
|
|
|
|
|
|
|
|
|
|
displayHIGHSCORES
|
|
|
|
|
JSR L786B
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDX #$FF
|
|
|
|
|
LDY #$FF
|
|
|
|
|
LDA #$04
|
|
|
|
|
STA $A1
|
2024-02-12 18:28:22 +00:00
|
|
|
|
L77B7 LDA fgINPUT
|
2024-02-08 21:48:24 +00:00
|
|
|
|
CMP #chrK
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L77C7
|
|
|
|
|
LDA BUTN1
|
|
|
|
|
BMI L77D6
|
|
|
|
|
LDA BUTN0
|
|
|
|
|
BMI L77D6
|
|
|
|
|
L77C7 LDA KBD
|
|
|
|
|
BMI L77D6
|
|
|
|
|
DEX
|
|
|
|
|
BNE L77B7
|
|
|
|
|
DEY
|
|
|
|
|
BNE L77B7
|
|
|
|
|
DEC $A1
|
|
|
|
|
BNE L77B7
|
|
|
|
|
L77D6 STA KBDSTROBE
|
|
|
|
|
STA TXTPAGE1
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR clearHGR2
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDY #$0F
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STY theY
|
2024-02-09 22:22:41 +00:00
|
|
|
|
L77E3 LDA tblBOARDALLL,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDBACKH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDY #$1B
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STY theX
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L77F1 LDA (ptrBBACK),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$05
|
|
|
|
|
BNE L77F9
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDA #sprWALL
|
2024-02-08 21:48:24 +00:00
|
|
|
|
L77F9 JSR coutHGR2
|
|
|
|
|
DEC theX
|
|
|
|
|
LDY theX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BPL L77F1
|
2024-02-08 21:48:24 +00:00
|
|
|
|
DEC theY
|
|
|
|
|
LDY theY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BPL L77E3
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDX #sizeHOLE-2
|
|
|
|
|
L780A STX tempINDEX
|
|
|
|
|
LDA tblHOLET,X
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L7838
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDY tblHOLEY,X
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STY theY
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDY tblHOLEX,X
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STY theX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$15
|
|
|
|
|
BCC L7827
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDA #sprEMPTY
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR coutHGR2
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JMP L7838
|
|
|
|
|
|
|
|
|
|
L7827 CMP #$0B
|
|
|
|
|
BCC L7833
|
|
|
|
|
LDA #$37
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR coutHGR2
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JMP L7838
|
|
|
|
|
|
|
|
|
|
L7833 LDA #$38
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR coutHGR2
|
2024-02-12 18:28:22 +00:00
|
|
|
|
L7838 LDX tempINDEX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
DEX
|
|
|
|
|
BPL L780A
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDX nbFOE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L7868
|
|
|
|
|
L7841 LDA L0C98,X
|
2024-02-12 18:28:22 +00:00
|
|
|
|
STX tempINDEX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L7863
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDY tblFOEX,X
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STY theX
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDY tblFOEY,X
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STY theY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$14
|
|
|
|
|
BCS L7863
|
|
|
|
|
CMP #$0B
|
|
|
|
|
BCC L785E
|
|
|
|
|
LDA #$39
|
|
|
|
|
BNE L7860
|
|
|
|
|
L785E LDA #$3A
|
2024-02-08 21:48:24 +00:00
|
|
|
|
L7860 JSR coutHGR2
|
2024-02-12 18:28:22 +00:00
|
|
|
|
L7863 LDX tempINDEX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
DEX
|
|
|
|
|
BNE L7841
|
|
|
|
|
L7868 JMP L6A12
|
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
L786B JSR clearHGR2
|
|
|
|
|
LDA #>HGR2
|
|
|
|
|
STA activePAGE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$00
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA theX
|
|
|
|
|
STA theY
|
|
|
|
|
JSR printSTRING
|
2023-07-08 16:35:15 +00:00
|
|
|
|
ASC " LODE RUNNER HIGH SCORES"8D8D8D
|
|
|
|
|
ASC " INITIALS LEVEL SCORE"8D
|
|
|
|
|
ASC " -------- ----- --------"8D00
|
2024-02-08 21:48:24 +00:00
|
|
|
|
|
|
|
|
|
LDA #$01 ; for x=1 to...10
|
2023-07-08 16:35:15 +00:00
|
|
|
|
STA $55
|
|
|
|
|
L78D4 CMP #$0A
|
|
|
|
|
BNE L78E5
|
|
|
|
|
LDA #$01
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR outputCHAR
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$00
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR outputCHAR
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JMP L78EF
|
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
L78E5 LDA #chrSPC
|
|
|
|
|
JSR printCHAR
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA $55
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR outputCHAR
|
|
|
|
|
L78EF JSR printSTRING
|
2023-07-08 16:35:15 +00:00
|
|
|
|
ASC ". "00
|
|
|
|
|
LDX $55
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDY scoreoffset,X
|
2023-07-08 16:35:15 +00:00
|
|
|
|
STY $56
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA scorebuf+$03,Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L7907
|
|
|
|
|
JMP L798C
|
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
* +0..+2 INITIALS
|
|
|
|
|
* +3 LEVEL
|
|
|
|
|
* +4..+7 SCORE
|
|
|
|
|
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L7907 LDY $56
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA scorebuf,Y
|
|
|
|
|
JSR printCHAR
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDY $56
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA scorebuf+$01,Y
|
|
|
|
|
JSR printCHAR
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDY $56
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA scorebuf+$02,Y
|
|
|
|
|
JSR printCHAR
|
|
|
|
|
JSR printSTRING
|
2023-07-08 16:35:15 +00:00
|
|
|
|
ASC " "00
|
|
|
|
|
LDY $56
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA scorebuf+$03,Y
|
|
|
|
|
JSR hex2dec
|
|
|
|
|
LDA theCENTAINE
|
|
|
|
|
JSR outputCHAR
|
|
|
|
|
LDA theDIZAINE
|
|
|
|
|
JSR outputCHAR
|
|
|
|
|
LDA theUNITE
|
|
|
|
|
JSR outputCHAR
|
|
|
|
|
JSR printSTRING
|
2023-07-08 16:35:15 +00:00
|
|
|
|
ASC " "00
|
|
|
|
|
LDY $56
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA scorebuf+$04,Y
|
|
|
|
|
JSR bcd2dec
|
|
|
|
|
LDA theDIZAINE
|
|
|
|
|
JSR outputCHAR
|
|
|
|
|
LDA theUNITE
|
|
|
|
|
JSR outputCHAR
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDY $56
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA scorebuf+$05,Y
|
|
|
|
|
JSR bcd2dec
|
|
|
|
|
LDA theDIZAINE
|
|
|
|
|
JSR outputCHAR
|
|
|
|
|
LDA theUNITE
|
|
|
|
|
JSR outputCHAR
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDY $56
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA scorebuf+$06,Y
|
|
|
|
|
JSR bcd2dec
|
|
|
|
|
LDA theDIZAINE
|
|
|
|
|
JSR outputCHAR
|
|
|
|
|
LDA theUNITE
|
|
|
|
|
JSR outputCHAR
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDY $56
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA scorebuf+$07,Y
|
|
|
|
|
JSR bcd2dec
|
|
|
|
|
LDA theDIZAINE
|
|
|
|
|
JSR outputCHAR
|
|
|
|
|
LDA theUNITE
|
|
|
|
|
JSR outputCHAR
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L798C JSR L7B7D
|
|
|
|
|
INC $55
|
|
|
|
|
LDA $55
|
|
|
|
|
CMP #$0B
|
|
|
|
|
BCS L799A
|
|
|
|
|
JMP L78D4
|
|
|
|
|
|
|
|
|
|
L799A STA TXTPAGE2
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA #>HGR1
|
|
|
|
|
STA activePAGE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
scoreoffset HEX 0000081018202830384048 ; offset of each score
|
2023-07-08 16:35:15 +00:00
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
*-------------------------------
|
|
|
|
|
* CLEAR PAGES
|
|
|
|
|
*-------------------------------
|
|
|
|
|
|
|
|
|
|
clearHGRPAGES
|
|
|
|
|
JSR clearHGR1
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR clearHGR2
|
2023-07-08 16:35:15 +00:00
|
|
|
|
|
|
|
|
|
*-------------------------------
|
|
|
|
|
* DRAW GAME FRAME
|
|
|
|
|
*-------------------------------
|
|
|
|
|
|
2024-02-12 18:28:22 +00:00
|
|
|
|
drawINFOBAR
|
|
|
|
|
LDY #$27 ; met la barre bleue
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA activePAGE
|
|
|
|
|
CMP #>HGR2
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L79DD
|
|
|
|
|
L79BB LDA #$AA
|
|
|
|
|
STA $2350,Y
|
|
|
|
|
STA $2750,Y
|
|
|
|
|
STA $2B50,Y
|
|
|
|
|
STA $2F50,Y
|
|
|
|
|
DEY
|
|
|
|
|
LDA #$D5
|
|
|
|
|
STA $2350,Y
|
|
|
|
|
STA $2750,Y
|
|
|
|
|
STA $2B50,Y
|
|
|
|
|
STA $2F50,Y
|
|
|
|
|
DEY
|
|
|
|
|
BPL L79BB
|
|
|
|
|
BMI L79FD
|
2024-02-08 21:48:24 +00:00
|
|
|
|
|
2024-02-12 18:28:22 +00:00
|
|
|
|
L79DD LDA #$AA ; pareil mais sur HGR2
|
2023-07-08 16:35:15 +00:00
|
|
|
|
STA $4350,Y
|
|
|
|
|
STA $4750,Y
|
|
|
|
|
STA $4B50,Y
|
|
|
|
|
STA $4F50,Y
|
|
|
|
|
DEY
|
|
|
|
|
LDA #$D5
|
|
|
|
|
STA $4350,Y
|
|
|
|
|
STA $4750,Y
|
|
|
|
|
STA $4B50,Y
|
|
|
|
|
STA $4F50,Y
|
|
|
|
|
DEY
|
|
|
|
|
BPL L79DD
|
2024-02-08 21:48:24 +00:00
|
|
|
|
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L79FD LDA #$10
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA theY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$00
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA theX
|
|
|
|
|
JSR printSTRING
|
2023-07-08 16:35:15 +00:00
|
|
|
|
ASC "SCORE MEN LEVEL "00
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR printMEN
|
|
|
|
|
JSR printLEVEL
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$00
|
|
|
|
|
TAY
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JMP printSCORE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
*-------------------------------
|
|
|
|
|
* SET HGR POINTER
|
|
|
|
|
*-------------------------------
|
|
|
|
|
|
|
|
|
|
setHGRPOINTER
|
|
|
|
|
LDA xhgr,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrHGR1
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA yhgr,Y
|
|
|
|
|
ORA hgrPAGE
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrHGR1+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
*-------------------------------
|
|
|
|
|
* SET HGR POINTERS
|
|
|
|
|
*-------------------------------
|
|
|
|
|
|
|
|
|
|
setHGRPOINTERS
|
|
|
|
|
LDA xhgr,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrHGR1
|
|
|
|
|
STA ptrHGR2
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA yhgr,Y
|
2024-02-13 08:09:27 +00:00
|
|
|
|
ORA #>HGR1
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrHGR1+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
EOR #$60
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrHGR2+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
RTS
|
|
|
|
|
|
|
|
|
|
*-------------------------------
|
|
|
|
|
* CLEAR HGR1
|
|
|
|
|
*-------------------------------
|
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
clearHGR1 LDA #>HGR1
|
|
|
|
|
LDX #>HGR1+$20
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L7A5B
|
|
|
|
|
|
|
|
|
|
*-------------------------------
|
|
|
|
|
* CLEAR HGR2
|
|
|
|
|
*-------------------------------
|
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
clearHGR2 LDA #>HGR2
|
|
|
|
|
LDX #>HGR2+$20
|
|
|
|
|
|
|
|
|
|
*--- clear now
|
2023-07-08 16:35:15 +00:00
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L7A5B STA ptrDATA+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$00
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrDATA
|
2023-07-08 16:35:15 +00:00
|
|
|
|
TAY
|
|
|
|
|
LDA #$80
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L7A64 STA (ptrDATA),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
INY
|
|
|
|
|
BNE L7A64
|
2024-02-14 20:46:43 +00:00
|
|
|
|
INC ptrDATA+1
|
|
|
|
|
CPX ptrDATA+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L7A64
|
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
*-------------------------------
|
|
|
|
|
* PRINT MEN
|
|
|
|
|
*-------------------------------
|
|
|
|
|
|
|
|
|
|
printMEN LDA theMEN ; print number of men
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDX #$10
|
2024-02-08 21:48:24 +00:00
|
|
|
|
|
|
|
|
|
L7A74 STX theX ; show byte2dec
|
|
|
|
|
JSR hex2dec
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$10 ; print three values (0-255)
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA theY
|
|
|
|
|
LDA theCENTAINE
|
|
|
|
|
JSR outputCHAR
|
|
|
|
|
LDA theDIZAINE
|
|
|
|
|
JSR outputCHAR
|
|
|
|
|
LDA theUNITE
|
|
|
|
|
JMP outputCHAR
|
|
|
|
|
|
|
|
|
|
*-------------------------------
|
|
|
|
|
* PRINT LEVEL
|
|
|
|
|
*-------------------------------
|
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
printLEVEL LDA theLEVEL ; print level
|
|
|
|
|
LDX #$19 ; column offset
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L7A74
|
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
*-------------------------------
|
|
|
|
|
* ADD & PRINT SCORE
|
|
|
|
|
*-------------------------------
|
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
printSCORE CLC
|
2023-07-08 16:35:15 +00:00
|
|
|
|
SED
|
2024-02-08 21:48:24 +00:00
|
|
|
|
ADC theSCORE
|
|
|
|
|
STA theSCORE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
TYA
|
2024-02-08 21:48:24 +00:00
|
|
|
|
ADC theSCORE+1
|
|
|
|
|
STA theSCORE+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$00
|
2024-02-08 21:48:24 +00:00
|
|
|
|
ADC theSCORE+2
|
|
|
|
|
STA theSCORE+2
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$00
|
2024-02-08 21:48:24 +00:00
|
|
|
|
ADC theSCORE+3
|
|
|
|
|
STA theSCORE+3
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CLD
|
2024-02-08 21:48:24 +00:00
|
|
|
|
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$05
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA theX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$10
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA theY
|
|
|
|
|
|
|
|
|
|
LDA theSCORE+3
|
|
|
|
|
JSR bcd2dec
|
|
|
|
|
LDA theUNITE
|
|
|
|
|
JSR outputCHAR
|
|
|
|
|
LDA theSCORE+2
|
|
|
|
|
JSR bcd2dec
|
|
|
|
|
LDA theDIZAINE
|
|
|
|
|
JSR outputCHAR
|
|
|
|
|
LDA theUNITE
|
|
|
|
|
JSR outputCHAR
|
|
|
|
|
LDA theSCORE+1
|
|
|
|
|
JSR bcd2dec
|
|
|
|
|
LDA theDIZAINE
|
|
|
|
|
JSR outputCHAR
|
|
|
|
|
LDA theUNITE
|
|
|
|
|
JSR outputCHAR
|
|
|
|
|
LDA theSCORE
|
|
|
|
|
JSR bcd2dec
|
|
|
|
|
LDA theDIZAINE
|
|
|
|
|
JSR outputCHAR
|
|
|
|
|
LDA theUNITE
|
|
|
|
|
JMP outputCHAR
|
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
*-------------------------------
|
|
|
|
|
* BCD TO DECIMAL CONVERSION
|
|
|
|
|
*-------------------------------
|
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
bcd2dec STA theDIZAINE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
AND #$0F
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA theUNITE ; unit<69>
|
|
|
|
|
LDA theDIZAINE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LSR
|
|
|
|
|
LSR
|
|
|
|
|
LSR
|
|
|
|
|
LSR
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA theDIZAINE ; dizaine
|
2023-07-08 16:35:15 +00:00
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
*-------------------------------
|
|
|
|
|
* HEX TO DECIMAL CONVERSION
|
|
|
|
|
*-------------------------------
|
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
hex2dec LDX #$00
|
|
|
|
|
STX theDIZAINE
|
|
|
|
|
STX theCENTAINE ; centaine
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L7AFE CMP #100
|
|
|
|
|
BCC L7B08
|
2024-02-08 21:48:24 +00:00
|
|
|
|
INC theCENTAINE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
SBC #100
|
|
|
|
|
BNE L7AFE
|
|
|
|
|
L7B08 CMP #10
|
|
|
|
|
BCC L7B12
|
2024-02-08 21:48:24 +00:00
|
|
|
|
INC theDIZAINE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
SBC #10
|
|
|
|
|
BNE L7B08
|
2024-02-08 21:48:24 +00:00
|
|
|
|
L7B12 STA theUNITE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
*-------------------------------
|
|
|
|
|
* PRINT A CHARACTER
|
|
|
|
|
*-------------------------------
|
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
outputCHAR CLC ; print a char
|
2024-02-14 20:46:43 +00:00
|
|
|
|
ADC #spr0
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDX activePAGE
|
|
|
|
|
CPX #>HGR2
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L7B24
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR coutHGR1 ; print HGR1
|
|
|
|
|
INC theX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
RTS
|
2024-02-08 21:48:24 +00:00
|
|
|
|
L7B24 JSR coutHGR2 ; print HGR2
|
|
|
|
|
INC theX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
*-------------------------------
|
|
|
|
|
* FILTER CHARACTER
|
|
|
|
|
*-------------------------------
|
|
|
|
|
|
|
|
|
|
filterCHAR CMP #"A"
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCC L7B32
|
|
|
|
|
CMP #"Z"+1
|
|
|
|
|
BCC L7B60
|
|
|
|
|
L7B32 LDX #$7C
|
2024-02-14 20:46:43 +00:00
|
|
|
|
CMP #" " ; 7C = 00
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L7B5F
|
|
|
|
|
LDX #$DB
|
2024-02-14 20:46:43 +00:00
|
|
|
|
CMP #">" ; DB = 5F
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L7B5F
|
|
|
|
|
INX
|
2024-02-14 20:46:43 +00:00
|
|
|
|
CMP #"." ; DC = 60
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L7B5F
|
|
|
|
|
INX
|
2024-02-14 20:46:43 +00:00
|
|
|
|
CMP #"(" ; DD = 61
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L7B5F
|
|
|
|
|
INX
|
2024-02-14 20:46:43 +00:00
|
|
|
|
CMP #")" ; DE = 62
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L7B5F
|
|
|
|
|
INX
|
2024-02-14 20:46:43 +00:00
|
|
|
|
CMP #"/" ; DF = 63
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L7B5F
|
|
|
|
|
INX
|
2024-02-14 20:46:43 +00:00
|
|
|
|
CMP #"-" ; E0 = 64
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L7B5F
|
|
|
|
|
INX
|
2024-02-14 20:46:43 +00:00
|
|
|
|
CMP #"<" ; E1 = 65
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L7B5F
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA #$10 ; The still Lode Runner
|
2023-07-08 16:35:15 +00:00
|
|
|
|
RTS
|
|
|
|
|
|
|
|
|
|
L7B5F TXA ; calculate offset
|
|
|
|
|
L7B60 SEC
|
|
|
|
|
SBC #$7C
|
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
*-----------------------------------
|
|
|
|
|
* OUTPUT A CHARACTER
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
|
|
|
|
printCHAR CMP #chrRET
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L7B7D
|
2024-02-14 20:46:43 +00:00
|
|
|
|
JSR filterCHAR
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDX activePAGE
|
|
|
|
|
CPX #>HGR2
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L7B77
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR coutHGR1 ; output in HGR1
|
|
|
|
|
INC theX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
RTS
|
2024-02-08 21:48:24 +00:00
|
|
|
|
L7B77 JSR coutHGR2 ; output in HGR2
|
|
|
|
|
INC theX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
L7B7D INC theY ; next line
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$00
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA theX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
*-----------------------------------
|
2023-07-08 16:35:15 +00:00
|
|
|
|
* CTRL-E - LEVEL EDITOR
|
2024-02-08 21:48:24 +00:00
|
|
|
|
*-----------------------------------
|
2023-07-08 16:35:15 +00:00
|
|
|
|
|
2024-02-09 22:22:41 +00:00
|
|
|
|
enterEDITOR LDA #$00
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA theSCORE
|
|
|
|
|
STA theSCORE+1
|
|
|
|
|
STA theSCORE+2
|
|
|
|
|
STA theSCORE+3
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA CSWL
|
|
|
|
|
STA CH
|
|
|
|
|
LDA CSWH
|
|
|
|
|
STA CV
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$05
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA theMEN
|
2024-02-13 08:09:27 +00:00
|
|
|
|
STA fgDEMO
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDA fgINPUT ; save interface mode
|
2023-07-08 16:35:15 +00:00
|
|
|
|
STA L7C76+1
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA #chrK ; force keyboard in editor
|
2024-02-12 18:28:22 +00:00
|
|
|
|
STA fgINPUT
|
2023-07-08 16:35:15 +00:00
|
|
|
|
STA TXTPAGE1
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA intLEVEL ; check level
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #maxLEVEL
|
2024-02-14 20:46:43 +00:00
|
|
|
|
BCC editMAIN
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$00 ; start at 0 if > 149
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA intLEVEL
|
2023-07-08 16:35:15 +00:00
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
editMAIN JSR clearHGR1 ; clear HGR1
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA #>HGR1
|
|
|
|
|
STA activePAGE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$00
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA theX
|
|
|
|
|
STA theY
|
|
|
|
|
JSR printSTRING
|
2023-07-08 16:35:15 +00:00
|
|
|
|
ASC " LODE RUNNER BOARD EDITOR"8D
|
|
|
|
|
ASC "----------------------------"8D
|
|
|
|
|
ASC " <ESC> ABORTS ANY COMMAND"8D00
|
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
editLOOP LDA theY ; are we at the
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$09 ; end of the screen?
|
2024-02-14 20:46:43 +00:00
|
|
|
|
BCS editMAIN ; yes, bottom line
|
2023-07-08 16:35:15 +00:00
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR printSTRING ; no, show command
|
2023-07-08 16:35:15 +00:00
|
|
|
|
ASC 8D
|
|
|
|
|
ASC "COMMAND>"00
|
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
JSR editWAITKEY ; wait for key
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDX #$00
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L7C2E LDY tblEDITKEY,X ; authorized key?
|
|
|
|
|
BEQ editNEXT
|
|
|
|
|
CMP tblEDITKEY,X
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L7C41
|
|
|
|
|
INX
|
|
|
|
|
BNE L7C2E
|
2024-02-14 20:46:43 +00:00
|
|
|
|
|
|
|
|
|
editNEXT JSR doBEEP ; beep
|
|
|
|
|
JMP editLOOP ; loop
|
2023-07-08 16:35:15 +00:00
|
|
|
|
|
|
|
|
|
L7C41 TXA ; yes, we know the key
|
|
|
|
|
ASL ; jump to the feature
|
|
|
|
|
TAX ; and handle it
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA tblEDITADD+1,X
|
2023-07-08 16:35:15 +00:00
|
|
|
|
PHA
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA tblEDITADD,X
|
2023-07-08 16:35:15 +00:00
|
|
|
|
PHA
|
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
tblEDITKEY ASC "PCEMIS"00
|
2023-07-08 16:35:15 +00:00
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
tblEDITADD DA editPLAY-1 ; Play level
|
2024-02-13 08:09:27 +00:00
|
|
|
|
DA editCLEAR-1 ; Clear level
|
|
|
|
|
DA editEDIT-1 ; Edit level
|
|
|
|
|
DA editMOVE-1 ; Move level
|
|
|
|
|
DA editINIT-1 ; Initialize
|
|
|
|
|
DA editCLEARSCORE-1 ; Clear Score file
|
2023-07-08 16:35:15 +00:00
|
|
|
|
|
|
|
|
|
*-------------------------------
|
|
|
|
|
* P - PLAY LEVEL
|
|
|
|
|
*-------------------------------
|
|
|
|
|
|
2024-02-13 08:09:27 +00:00
|
|
|
|
editPLAY JSR printSTRING
|
2023-07-08 16:35:15 +00:00
|
|
|
|
ASC 8D
|
|
|
|
|
ASC ">>PLAY LEVEL"00
|
2024-02-13 08:09:27 +00:00
|
|
|
|
JSR inputLEVEL
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCS L7C8B
|
|
|
|
|
L7C76 LDA #$00
|
2024-02-12 18:28:22 +00:00
|
|
|
|
STA fgINPUT
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$03
|
2024-02-13 08:09:27 +00:00
|
|
|
|
STA fgDEMO
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$01
|
|
|
|
|
STA $9D
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA intLEVEL
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L7C88
|
|
|
|
|
LSR $9D
|
|
|
|
|
L7C88 JMP L6056
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L7C8B JMP editNEXT
|
2023-07-08 16:35:15 +00:00
|
|
|
|
|
|
|
|
|
*-------------------------------
|
|
|
|
|
* C - CLEAR LEVEL
|
|
|
|
|
*-------------------------------
|
|
|
|
|
|
2024-02-13 08:09:27 +00:00
|
|
|
|
editCLEAR JSR printSTRING
|
2023-07-08 16:35:15 +00:00
|
|
|
|
ASC 8D
|
|
|
|
|
ASC ">>CLEAR LEVEL"00
|
2024-02-13 08:09:27 +00:00
|
|
|
|
JSR inputLEVEL
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCS L7CB9
|
|
|
|
|
JSR L807F
|
|
|
|
|
LDY #$00
|
|
|
|
|
TYA
|
2024-02-09 22:22:41 +00:00
|
|
|
|
L7CAB STA levelDISK,Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
INY
|
|
|
|
|
BNE L7CAB
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA #$02 ; write
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR diskLEVEL
|
2024-02-14 20:46:43 +00:00
|
|
|
|
JMP editLOOP
|
|
|
|
|
L7CB9 JMP editNEXT
|
2023-07-08 16:35:15 +00:00
|
|
|
|
|
|
|
|
|
*-------------------------------
|
|
|
|
|
* E - EDIT LEVEL
|
|
|
|
|
*-------------------------------
|
|
|
|
|
|
2024-02-13 08:09:27 +00:00
|
|
|
|
editEDIT JSR printSTRING
|
2023-07-08 16:35:15 +00:00
|
|
|
|
ASC 8D
|
|
|
|
|
ASC ">>EDIT LEVEL"00
|
2024-02-13 08:09:27 +00:00
|
|
|
|
JSR inputLEVEL ; is level valid?
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCS L7CD5 ; no
|
2024-02-13 08:09:27 +00:00
|
|
|
|
JMP editEDITLEVEL ; yes, handle edit
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L7CD5 JMP editNEXT
|
2023-07-08 16:35:15 +00:00
|
|
|
|
|
|
|
|
|
*-------------------------------
|
|
|
|
|
* M - MOVE LEVEL
|
|
|
|
|
*-------------------------------
|
|
|
|
|
|
2024-02-13 08:09:27 +00:00
|
|
|
|
editMOVE JSR printSTRING
|
2023-07-08 16:35:15 +00:00
|
|
|
|
ASC 8D
|
|
|
|
|
ASC ">>MOVE LEVEL"00
|
2024-02-13 08:09:27 +00:00
|
|
|
|
JSR inputLEVEL
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCS L7D5A
|
|
|
|
|
STY L824F
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR printSTRING
|
2023-07-08 16:35:15 +00:00
|
|
|
|
ASC " TO LEVEL"00
|
2024-02-13 08:09:27 +00:00
|
|
|
|
JSR inputLEVEL
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCS L7D5A
|
|
|
|
|
STY L8250
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR printSTRING
|
2023-07-08 16:35:15 +00:00
|
|
|
|
ASC 8D
|
|
|
|
|
ASC " SOURCE DISKETTE"00
|
2024-02-14 20:46:43 +00:00
|
|
|
|
JSR editWAITKEY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JSR L807F
|
|
|
|
|
LDA L824F
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA intLEVEL
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA #$01 ; read
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR diskLEVEL
|
|
|
|
|
JSR printSTRING
|
2023-07-08 16:35:15 +00:00
|
|
|
|
ASC 8D
|
|
|
|
|
ASC " DESTINATION DISKETTE"00
|
2024-02-14 20:46:43 +00:00
|
|
|
|
JSR editWAITKEY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JSR L807F
|
|
|
|
|
LDA L8250
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA intLEVEL
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA #$02 ; write
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR diskLEVEL
|
2024-02-14 20:46:43 +00:00
|
|
|
|
JMP editLOOP
|
|
|
|
|
L7D5A JMP editNEXT
|
2023-07-08 16:35:15 +00:00
|
|
|
|
|
|
|
|
|
*-------------------------------
|
|
|
|
|
* I - INITIALIZE DISKETTE
|
|
|
|
|
*-------------------------------
|
|
|
|
|
|
2024-02-13 08:09:27 +00:00
|
|
|
|
editINIT JSR printSTRING
|
2023-07-08 16:35:15 +00:00
|
|
|
|
ASC 8D
|
|
|
|
|
ASC ">>INITIALIZE"8D
|
|
|
|
|
ASC " THIS FORMATS THE DISKETTE"8D
|
|
|
|
|
ASC " FOR USER CREATED LEVELS."8D
|
|
|
|
|
ASC " (CAUTION. IT ERASES THE"8D
|
|
|
|
|
ASC " ENTIRE DISKETTE FIRST)"8D8D
|
|
|
|
|
ASC " ARE YOU SURE (Y/N) "00
|
2024-02-14 20:46:43 +00:00
|
|
|
|
JSR editWAITKEY
|
2024-02-13 08:09:27 +00:00
|
|
|
|
CMP #chrY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L7E72
|
|
|
|
|
NOP ; NOP
|
|
|
|
|
NOP
|
|
|
|
|
NOP
|
|
|
|
|
NOP
|
|
|
|
|
NOP
|
|
|
|
|
NOP
|
|
|
|
|
NOP
|
|
|
|
|
NOP
|
|
|
|
|
NOP
|
|
|
|
|
NOP
|
|
|
|
|
NOP
|
|
|
|
|
NOP
|
|
|
|
|
NOP
|
|
|
|
|
NOP
|
|
|
|
|
NOP
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA intLEVEL
|
2023-07-08 16:35:15 +00:00
|
|
|
|
PHA
|
|
|
|
|
LDA #$04 ; Init command
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR diskLEVEL
|
2023-07-08 16:35:15 +00:00
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA #<boot ; Save T0/S0
|
2023-07-08 16:35:15 +00:00
|
|
|
|
STA LB7F0
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA #>boot
|
2023-07-08 16:35:15 +00:00
|
|
|
|
STA LB7F0+1
|
|
|
|
|
LDA #$00
|
|
|
|
|
STA LB7ED
|
|
|
|
|
STA LB7EC
|
|
|
|
|
LDA #$02
|
|
|
|
|
STA LB7F4
|
|
|
|
|
JSR L6338
|
|
|
|
|
LDA #$E0
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA intLEVEL
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$01
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR diskLEVEL
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDY #$37
|
|
|
|
|
L7E33 LDA L8251,Y
|
2024-02-09 22:22:41 +00:00
|
|
|
|
STA levelDISK,Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
DEY
|
|
|
|
|
BPL L7E33
|
|
|
|
|
LDA #$02
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR diskLEVEL
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$EF
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA intLEVEL
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$01
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR diskLEVEL
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDY #$20
|
|
|
|
|
L7E4C LDA L8289,Y
|
2024-02-09 22:22:41 +00:00
|
|
|
|
STA levelDISK+$B,Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
DEY
|
|
|
|
|
BPL L7E4C
|
|
|
|
|
LDA #$02
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR diskLEVEL
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$01
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR readSCORE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDY #$0A
|
|
|
|
|
L7E61 LDA L63A8,Y
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA scorebuf+$F4,Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
DEY
|
|
|
|
|
BPL L7E61
|
|
|
|
|
LDA #$02
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR readSCORE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
PLA
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA intLEVEL
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L7E72 JMP editLOOP
|
2023-07-08 16:35:15 +00:00
|
|
|
|
|
|
|
|
|
*-------------------------------
|
|
|
|
|
* C - CLEAR SCORE FILE
|
|
|
|
|
*-------------------------------
|
|
|
|
|
|
2024-02-13 08:09:27 +00:00
|
|
|
|
editCLEARSCORE
|
|
|
|
|
JSR printSTRING
|
2023-07-08 16:35:15 +00:00
|
|
|
|
ASC 8D
|
|
|
|
|
ASC ">>CLEAR SCORE FILE"8D
|
|
|
|
|
ASC " THIS CLEARS THE HIGH"8D
|
|
|
|
|
ASC " SCORE FILE OF ALL"8D
|
|
|
|
|
ASC " ENTRIES."8D8D
|
|
|
|
|
ASC " ARE YOU SURE (Y/N) "00
|
2024-02-14 20:46:43 +00:00
|
|
|
|
JSR editWAITKEY
|
2024-02-08 21:48:24 +00:00
|
|
|
|
CMP #chrY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L7EFE
|
|
|
|
|
LDA #$01
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR readSCORE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$00
|
|
|
|
|
BNE L7EEF
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR tellNODATADISK
|
2024-02-14 20:46:43 +00:00
|
|
|
|
JMP editMAIN
|
2023-07-08 16:35:15 +00:00
|
|
|
|
|
|
|
|
|
L7EEF LDY #$4F ; clear score file
|
|
|
|
|
LDA #$00
|
2024-02-08 21:48:24 +00:00
|
|
|
|
L7EF3 STA scorebuf,Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
DEY
|
|
|
|
|
BPL L7EF3
|
|
|
|
|
LDA #$02
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR readSCORE ; write score file
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L7EFE JMP editLOOP
|
2023-07-08 16:35:15 +00:00
|
|
|
|
|
|
|
|
|
*-------------------------------
|
|
|
|
|
* EDIT THE LEVEL
|
|
|
|
|
*-------------------------------
|
|
|
|
|
|
2024-02-13 08:09:27 +00:00
|
|
|
|
editEDITLEVEL
|
|
|
|
|
JSR clearHGR2 ; clear HGR2
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA #>HGR2
|
|
|
|
|
STA activePAGE
|
2024-02-12 18:28:22 +00:00
|
|
|
|
JSR drawINFOBAR ; show frame
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA #>HGR1
|
|
|
|
|
STA activePAGE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JSR L807F ; check diskette (master or data disk)
|
|
|
|
|
LDX #$01
|
2024-02-13 08:09:27 +00:00
|
|
|
|
STX fgCHANGE
|
2024-02-09 22:22:41 +00:00
|
|
|
|
DEX ; mode edit
|
2024-02-13 08:09:27 +00:00
|
|
|
|
JSR prepareLEVEL
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCC L7F1F
|
2024-02-14 20:46:43 +00:00
|
|
|
|
JMP editNEXT
|
2023-07-08 16:35:15 +00:00
|
|
|
|
|
|
|
|
|
L7F1F LDA #$00 ; cursor is at 0,0
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA theX
|
|
|
|
|
STA theY
|
2024-02-13 08:09:27 +00:00
|
|
|
|
L7F25 JSR blinkATXY ; wait for key
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #"9"+1
|
|
|
|
|
BCS L7F54 ; no sprite
|
|
|
|
|
CMP #"0" ; means check commands
|
|
|
|
|
BCC L7F54
|
|
|
|
|
AND #$0F
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA theA ; save key
|
|
|
|
|
LDY theY ; get Y
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL,Y ; get line address
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD+1
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDY theX ; get X
|
|
|
|
|
LDA theA ; get sprite
|
2024-02-14 20:46:43 +00:00
|
|
|
|
EOR (ptrBOARD),Y ; same as before?
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L7F4A ; yes
|
2024-02-13 08:09:27 +00:00
|
|
|
|
LSR fgCHANGE ; no, tell there's a change
|
2024-02-08 21:48:24 +00:00
|
|
|
|
L7F4A LDA theA ; get sprite
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA (ptrBOARD),Y ; save it
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR coutHGR1 ; print sprite
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JMP L7F25 ; loop
|
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
L7F54 STA theA ; same key
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDY #$FF
|
|
|
|
|
L7F58 INY
|
2024-02-13 08:09:27 +00:00
|
|
|
|
LDA tblEDITKEYS,Y ; is that a command?
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L7F6E
|
2024-02-08 21:48:24 +00:00
|
|
|
|
CMP theA ; same as our key?
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L7F58
|
|
|
|
|
TYA ; yes, jump
|
|
|
|
|
ASL
|
|
|
|
|
TAY
|
2024-02-13 08:09:27 +00:00
|
|
|
|
LDA tblEDITCODE+1,Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
PHA
|
2024-02-13 08:09:27 +00:00
|
|
|
|
LDA tblEDITCODE,Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
PHA
|
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-09 22:22:41 +00:00
|
|
|
|
L7F6E JSR doBEEP ; beep
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JMP L7F25 ; loop
|
|
|
|
|
|
|
|
|
|
*-------------------------------
|
|
|
|
|
* I - MOVE CURSOR UP
|
|
|
|
|
*-------------------------------
|
|
|
|
|
|
2024-02-13 08:09:27 +00:00
|
|
|
|
editUP LDA theY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L7F6E
|
2024-02-08 21:48:24 +00:00
|
|
|
|
DEC theY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BPL L7F25
|
|
|
|
|
|
|
|
|
|
*-------------------------------
|
|
|
|
|
* J - MOVE CURSOR LEFT
|
|
|
|
|
*-------------------------------
|
|
|
|
|
|
2024-02-13 08:09:27 +00:00
|
|
|
|
editLEFT LDA theX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L7F6E
|
2024-02-08 21:48:24 +00:00
|
|
|
|
DEC theX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BPL L7F25
|
|
|
|
|
|
|
|
|
|
*-------------------------------
|
|
|
|
|
* K - MOVE CURSOR RIGHT
|
|
|
|
|
*-------------------------------
|
|
|
|
|
|
2024-02-13 08:09:27 +00:00
|
|
|
|
editRIGHT LDA theX
|
2024-02-08 21:48:24 +00:00
|
|
|
|
CMP #lvlWIDTH-1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCS L7F6E
|
2024-02-08 21:48:24 +00:00
|
|
|
|
INC theX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L7F25
|
|
|
|
|
|
|
|
|
|
*-------------------------------
|
|
|
|
|
* M - MOVE CURSOR DOWN
|
|
|
|
|
*-------------------------------
|
|
|
|
|
|
2024-02-13 08:09:27 +00:00
|
|
|
|
editDOWN LDA theY
|
2024-02-08 21:48:24 +00:00
|
|
|
|
CMP #lvlHEIGHT-1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCS L7F6E
|
2024-02-08 21:48:24 +00:00
|
|
|
|
INC theY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L7F25
|
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
*-------------------------------
|
|
|
|
|
* SAVE THE LEVEL
|
|
|
|
|
*-------------------------------
|
|
|
|
|
|
|
|
|
|
saveLEVEL
|
|
|
|
|
LDA theY ; save parms
|
2023-07-08 16:35:15 +00:00
|
|
|
|
PHA
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA theX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
PHA
|
2024-02-08 21:48:24 +00:00
|
|
|
|
|
|
|
|
|
LDA #$01 ; check disk
|
|
|
|
|
JSR readSCORE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$00
|
|
|
|
|
BNE L7FAD
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR tellNODATADISK
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JMP L7FC5
|
|
|
|
|
|
|
|
|
|
L7FAD CMP #$01
|
|
|
|
|
BNE L7FB7
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR tellMASTERDISK
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JMP L7FC5
|
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
L7FB7 JSR encodeLEVEL ; prepare the level & save it
|
2023-07-08 16:35:15 +00:00
|
|
|
|
PLA
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA theX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
PLA
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA theY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$01
|
2024-02-13 08:09:27 +00:00
|
|
|
|
STA fgCHANGE
|
2024-02-08 21:48:24 +00:00
|
|
|
|
RTS ; and return
|
2023-07-08 16:35:15 +00:00
|
|
|
|
|
|
|
|
|
L7FC5 LDA #$00
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA theX
|
|
|
|
|
STA theY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JMP L7F25
|
|
|
|
|
|
|
|
|
|
*-------------------------------
|
|
|
|
|
* CTRL-S - SAVE YOUR GAME
|
|
|
|
|
*-------------------------------
|
|
|
|
|
|
2024-02-13 08:09:27 +00:00
|
|
|
|
editSAVE JSR saveLEVEL
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JMP L7F25
|
|
|
|
|
|
|
|
|
|
*-------------------------------
|
|
|
|
|
* CTRL-U - NEXT LEVEL
|
|
|
|
|
*-------------------------------
|
|
|
|
|
|
2024-02-13 08:09:27 +00:00
|
|
|
|
editLOAD LDA intLEVEL
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #maxLEVEL-1 ; 150-1
|
|
|
|
|
L7FD8 BEQ L7F6E
|
2024-02-13 08:09:27 +00:00
|
|
|
|
JSR editSAVECHANGES
|
2024-02-08 21:48:24 +00:00
|
|
|
|
INC intLEVEL
|
|
|
|
|
INC theLEVEL
|
2024-02-13 08:09:27 +00:00
|
|
|
|
JMP editEDITLEVEL
|
2023-07-08 16:35:15 +00:00
|
|
|
|
|
|
|
|
|
*-------------------------------
|
|
|
|
|
* CTRL-H - PREVIOUS LEVEL
|
|
|
|
|
*-------------------------------
|
|
|
|
|
|
2024-02-13 08:09:27 +00:00
|
|
|
|
editPREVIOUS
|
|
|
|
|
LDA intLEVEL
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L7FD8
|
2024-02-13 08:09:27 +00:00
|
|
|
|
JSR editSAVECHANGES
|
2024-02-08 21:48:24 +00:00
|
|
|
|
DEC theLEVEL
|
|
|
|
|
DEC intLEVEL
|
2024-02-13 08:09:27 +00:00
|
|
|
|
JMP editEDITLEVEL
|
2023-07-08 16:35:15 +00:00
|
|
|
|
|
|
|
|
|
*-------------------------------
|
|
|
|
|
* CTRL-Q - QUIT GAME GENERATOR
|
|
|
|
|
*-------------------------------
|
|
|
|
|
|
2024-02-13 08:09:27 +00:00
|
|
|
|
editQUIT JSR editSAVECHANGES
|
2024-02-14 20:46:43 +00:00
|
|
|
|
JMP editMAIN
|
2023-07-08 16:35:15 +00:00
|
|
|
|
|
2024-02-13 08:09:27 +00:00
|
|
|
|
*-------------------------------
|
|
|
|
|
* WANT TO SAVE CHANGES
|
|
|
|
|
*-------------------------------
|
|
|
|
|
|
|
|
|
|
editSAVECHANGES
|
|
|
|
|
LDA fgCHANGE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L8075
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR clearHGR2
|
|
|
|
|
LDA #>HGR2
|
|
|
|
|
STA activePAGE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$00
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA theX
|
|
|
|
|
STA theY
|
|
|
|
|
JSR printSTRING
|
2023-07-08 16:35:15 +00:00
|
|
|
|
ASC "LEVEL HAS BEEN CHANGED BUT"8D
|
|
|
|
|
ASC "NOT SAVED. DO YOU WISH TO"8D
|
|
|
|
|
ASC "SAVE MODIFIED LEVEL (Y/N) "00
|
2024-02-09 22:22:41 +00:00
|
|
|
|
JSR doBEEP
|
2023-07-08 16:35:15 +00:00
|
|
|
|
STA TXTPAGE2
|
|
|
|
|
L8062 LDA #$00
|
|
|
|
|
JSR L85F3
|
|
|
|
|
STA KBDSTROBE
|
2024-02-08 21:48:24 +00:00
|
|
|
|
CMP #chrN
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L8075
|
2024-02-08 21:48:24 +00:00
|
|
|
|
CMP #chrY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L8062
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR saveLEVEL
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L8075 STA TXTPAGE1
|
|
|
|
|
LDA #$00
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA theX
|
|
|
|
|
STA theY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
L807F LDA #$01 ; load score
|
|
|
|
|
JSR readSCORE
|
|
|
|
|
CMP #$00 ; 00 means disk not identified
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L808E
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR tellNODATADISK
|
2024-02-14 20:46:43 +00:00
|
|
|
|
JMP editMAIN
|
2023-07-08 16:35:15 +00:00
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
L808E CMP #$01 ; 01 means master disk
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L8105
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR tellMASTERDISK
|
2024-02-14 20:46:43 +00:00
|
|
|
|
JMP editMAIN
|
2023-07-08 16:35:15 +00:00
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
*-----------------------------------
|
|
|
|
|
* MASTER DISK FOUND
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
|
|
|
|
tellMASTERDISK
|
|
|
|
|
JSR clearHGR2
|
|
|
|
|
LDA #>HGR2
|
|
|
|
|
STA activePAGE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$00
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA theX
|
|
|
|
|
STA theY
|
|
|
|
|
JSR printSTRING
|
2023-07-08 16:35:15 +00:00
|
|
|
|
ASC "USER NOT ALLOWED TO"8D
|
|
|
|
|
ASC "MANIPULATE MASTER DISKETTE."00
|
2024-02-08 21:48:24 +00:00
|
|
|
|
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
* WAIT FOR A KEYPRESS
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
|
|
|
|
L80D8 JSR printSTRING
|
2023-07-08 16:35:15 +00:00
|
|
|
|
ASC 8D8D
|
|
|
|
|
ASC "HIT A KEY TO CONTINUE "00
|
2024-02-09 22:22:41 +00:00
|
|
|
|
JSR doBEEP
|
2023-07-08 16:35:15 +00:00
|
|
|
|
STA TXTPAGE2
|
|
|
|
|
LDA #$00
|
|
|
|
|
JSR L85F3
|
|
|
|
|
STA KBDSTROBE
|
|
|
|
|
STA TXTPAGE1
|
2024-02-08 21:48:24 +00:00
|
|
|
|
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L8105 RTS
|
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
*-----------------------------------
|
|
|
|
|
* LR DATA DISK NOT IDENTIFIED
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
|
|
|
|
tellNODATADISK
|
|
|
|
|
JSR clearHGR2
|
|
|
|
|
LDA #>HGR2
|
|
|
|
|
STA activePAGE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$00
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA theX
|
|
|
|
|
STA theY
|
|
|
|
|
JSR printSTRING
|
2023-07-08 16:35:15 +00:00
|
|
|
|
ASC "DISKETTE IN DRIVE IS NOT A"8D
|
|
|
|
|
ASC "LODE RUNNER DATA DISK."00
|
|
|
|
|
JMP L80D8
|
|
|
|
|
|
2024-02-13 08:09:27 +00:00
|
|
|
|
*-----------------------------------
|
|
|
|
|
* BLINK AT XY
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
|
|
|
|
blinkATXY
|
|
|
|
|
LDY theY
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD+1
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDY theX
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBOARD),Y
|
2024-02-12 18:28:22 +00:00
|
|
|
|
JSR blinkSPRITE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
STA KBDSTROBE
|
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-13 08:09:27 +00:00
|
|
|
|
tblEDITKEYS ASC "JIKM"
|
2023-07-08 16:35:15 +00:00
|
|
|
|
HEX 9395889100
|
|
|
|
|
|
2024-02-13 08:09:27 +00:00
|
|
|
|
tblEDITCODE DA editLEFT-1 ; J move left
|
|
|
|
|
DA editUP-1 ; I move up
|
|
|
|
|
DA editRIGHT-1 ; K move right
|
|
|
|
|
DA editDOWN-1 ; M move down
|
|
|
|
|
DA editSAVE-1 ; CTRL-S to save your game
|
|
|
|
|
DA editLOAD-1 ; CTRL-U to load next level
|
|
|
|
|
DA editPREVIOUS-1 ; CTRL-H to load previous level
|
|
|
|
|
DA editQUIT-1 ; CTRL-Q to quit game generator
|
2023-07-08 16:35:15 +00:00
|
|
|
|
|
|
|
|
|
*-------------------------------
|
2024-02-13 08:09:27 +00:00
|
|
|
|
* INPUT LEVEL NUMBER
|
2023-07-08 16:35:15 +00:00
|
|
|
|
*-------------------------------
|
|
|
|
|
|
2024-02-13 08:09:27 +00:00
|
|
|
|
inputLEVEL
|
|
|
|
|
LDY intLEVEL
|
2023-07-08 16:35:15 +00:00
|
|
|
|
INY
|
|
|
|
|
TYA
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR hex2dec
|
|
|
|
|
LDA theX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
STA L824E
|
|
|
|
|
LDY #$00
|
|
|
|
|
L8189 LDA |$0089,Y
|
|
|
|
|
STY L824D
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR outputCHAR
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDY L824D
|
|
|
|
|
INY
|
|
|
|
|
CPY #$03
|
|
|
|
|
BCC L8189
|
|
|
|
|
LDA L824E
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA theX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDY #$00
|
|
|
|
|
STY L824D
|
|
|
|
|
L81A4 LDX L824D
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA theCENTAINE,X
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CLC
|
2024-02-12 18:28:22 +00:00
|
|
|
|
ADC #spr0 ; spr0
|
|
|
|
|
JSR blinkSPRITE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
STA KBDSTROBE
|
2024-02-08 21:48:24 +00:00
|
|
|
|
CMP #chrRET ; return
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L820D
|
2024-02-08 21:48:24 +00:00
|
|
|
|
CMP #chrLA ; left arrow
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L81C7
|
|
|
|
|
LDX L824D
|
|
|
|
|
BEQ L8207
|
|
|
|
|
DEC L824D
|
2024-02-08 21:48:24 +00:00
|
|
|
|
DEC theX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JMP L81A4
|
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
L81C7 CMP #chrRA ; right arrow
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L81DA
|
|
|
|
|
LDX L824D
|
|
|
|
|
CPX #$02
|
|
|
|
|
BEQ L8207
|
2024-02-08 21:48:24 +00:00
|
|
|
|
INC theX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
INC L824D
|
|
|
|
|
JMP L81A4
|
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
L81DA CMP #chrESC ; esc
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L81E1
|
2024-02-14 20:46:43 +00:00
|
|
|
|
JMP editLOOP
|
2023-07-08 16:35:15 +00:00
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
L81E1 CMP #chrZERO ; 0
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCC L8207
|
2024-02-08 21:48:24 +00:00
|
|
|
|
CMP #chrNINE+1 ; 9+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCS L8207
|
|
|
|
|
SEC
|
2024-02-08 21:48:24 +00:00
|
|
|
|
SBC #chrZERO
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDY L824D
|
|
|
|
|
STA |$0089,Y
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR outputCHAR
|
2023-07-08 16:35:15 +00:00
|
|
|
|
|
|
|
|
|
INC L824D
|
|
|
|
|
LDA L824D
|
|
|
|
|
CMP #$03
|
|
|
|
|
BCC L81A4
|
|
|
|
|
DEC L824D
|
2024-02-08 21:48:24 +00:00
|
|
|
|
DEC theX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JMP L81A4
|
|
|
|
|
|
2024-02-09 22:22:41 +00:00
|
|
|
|
L8207 JSR doBEEP
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JMP L81A4
|
|
|
|
|
|
|
|
|
|
*-------------------------------
|
|
|
|
|
* TRANSFORM A ASC NUMBER IN HEX
|
|
|
|
|
*-------------------------------
|
|
|
|
|
|
|
|
|
|
L820D LDA L824E
|
|
|
|
|
CLC
|
|
|
|
|
ADC #$03
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA theX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$00
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDX theCENTAINE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L8223
|
|
|
|
|
CLC
|
|
|
|
|
L821C ADC #100
|
|
|
|
|
BCS L823C
|
|
|
|
|
DEX
|
|
|
|
|
BNE L821C
|
2024-02-08 21:48:24 +00:00
|
|
|
|
L8223 LDX theDIZAINE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L822F
|
|
|
|
|
CLC
|
|
|
|
|
L8228 ADC #10
|
|
|
|
|
BCS L823C
|
|
|
|
|
DEX
|
|
|
|
|
BNE L8228
|
|
|
|
|
L822F CLC
|
2024-02-08 21:48:24 +00:00
|
|
|
|
ADC theUNITE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCS L823C
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA theLEVEL
|
2023-07-08 16:35:15 +00:00
|
|
|
|
TAY
|
|
|
|
|
DEY
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STY intLEVEL ; and make it our level
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CPY #maxLEVEL
|
|
|
|
|
L823C RTS
|
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
editWAITKEY LDA #sprEMPTY
|
2024-02-12 18:28:22 +00:00
|
|
|
|
JSR blinkSPRITE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
STA KBDSTROBE
|
|
|
|
|
CMP #$9B ; escape
|
|
|
|
|
BNE L824C
|
2024-02-14 20:46:43 +00:00
|
|
|
|
JMP editLOOP
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L824C RTS
|
|
|
|
|
L824D RTS
|
|
|
|
|
|
|
|
|
|
L824E DB $85
|
|
|
|
|
L824F DB $0F
|
|
|
|
|
L8250 DB $60
|
|
|
|
|
|
|
|
|
|
L8251 HEX 02110F040000FE000000000000000000
|
|
|
|
|
HEX 00000000000000000000000000000000
|
|
|
|
|
HEX 000000000000007A0000000000000000
|
|
|
|
|
HEX FFFF0000230F0001
|
|
|
|
|
L8289 HEX 220F8888888888888888CCCFC4C5A0D2
|
|
|
|
|
HEX D5CECEC5D2A0C4C1D4C1A0C4C9D3CBA0
|
|
|
|
|
HEX A0
|
|
|
|
|
|
|
|
|
|
*---------------------------------------
|
|
|
|
|
* PRINT CHAR
|
|
|
|
|
*---------------------------------------
|
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
coutHGR1 STA theA ; char in $1E
|
|
|
|
|
LDA #>HGR1 ; print HGR1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L82B4
|
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
coutHGR2 STA theA ; char in $1E
|
|
|
|
|
LDA #>HGR2 ; print HGR2
|
2023-07-08 16:35:15 +00:00
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
L82B4 STA hgrPAGE ; page in $1F
|
|
|
|
|
LDY theY ; take Y
|
|
|
|
|
JSR getXY
|
2024-02-12 18:28:22 +00:00
|
|
|
|
STY theYSCREEN ; make it Y screen
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDX theX ; take X
|
|
|
|
|
JSR getBYBI
|
2024-02-12 18:28:22 +00:00
|
|
|
|
STA theXSCREEN ; make it X screen
|
|
|
|
|
STX sprTABLE
|
|
|
|
|
LDA tblMASK1,X
|
|
|
|
|
STA theMASK1
|
|
|
|
|
LDA tblMASK2,X
|
|
|
|
|
STA theMASK2
|
|
|
|
|
JSR getSPRITEDATA
|
|
|
|
|
LDA #sprHEIGHT
|
|
|
|
|
STA nbLINES
|
|
|
|
|
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDX #$00
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDA sprTABLE ; derniere table de sprite?
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$05
|
|
|
|
|
BCS L8301
|
2024-02-12 18:28:22 +00:00
|
|
|
|
|
|
|
|
|
*--- sprite de 2 de large
|
|
|
|
|
|
|
|
|
|
L82DF LDY theYSCREEN
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR setHGRPOINTER
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDY theXSCREEN
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrHGR1),Y ; 1
|
2024-02-12 18:28:22 +00:00
|
|
|
|
AND theMASK1
|
|
|
|
|
ORA sprDATA,X
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA (ptrHGR1),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
INX
|
|
|
|
|
INY
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrHGR1),Y ; 2
|
2024-02-12 18:28:22 +00:00
|
|
|
|
AND theMASK2
|
|
|
|
|
ORA sprDATA,X
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA (ptrHGR1),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
INX
|
|
|
|
|
INX
|
2024-02-12 18:28:22 +00:00
|
|
|
|
INC theYSCREEN
|
|
|
|
|
DEC nbLINES
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L82DF
|
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-12 18:28:22 +00:00
|
|
|
|
*--- sprite de 3 de large
|
2024-02-09 22:22:41 +00:00
|
|
|
|
|
2024-02-12 18:28:22 +00:00
|
|
|
|
L8301 LDY theYSCREEN
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR setHGRPOINTER
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDY theXSCREEN
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrHGR1),Y ; 1
|
2024-02-12 18:28:22 +00:00
|
|
|
|
AND theMASK1
|
|
|
|
|
ORA sprDATA,X
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA (ptrHGR1),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
INX
|
|
|
|
|
INY
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDA sprDATA,X ; 2
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA (ptrHGR1),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
INX
|
|
|
|
|
INY
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrHGR1),Y ; 3
|
2024-02-12 18:28:22 +00:00
|
|
|
|
AND theMASK2
|
|
|
|
|
ORA sprDATA,X
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA (ptrHGR1),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
INX
|
2024-02-12 18:28:22 +00:00
|
|
|
|
INC theYSCREEN
|
|
|
|
|
DEC nbLINES
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L8301
|
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-12 18:28:22 +00:00
|
|
|
|
tblMASK1 HEX 000103070F1F3F ; mask1
|
|
|
|
|
tblMASK2 HEX F8F0E0C080FEFC ; mask2
|
2024-02-09 22:22:41 +00:00
|
|
|
|
|
|
|
|
|
*---------------------------------------
|
2024-02-12 18:28:22 +00:00
|
|
|
|
* DRAW SPRITE AT X,Y
|
2024-02-09 22:22:41 +00:00
|
|
|
|
*---------------------------------------
|
2024-02-12 18:28:22 +00:00
|
|
|
|
* draw a sprite at real HGR X,Y (eg. 175,111)
|
2023-07-08 16:35:15 +00:00
|
|
|
|
|
2024-02-12 18:28:22 +00:00
|
|
|
|
drawSPRITEXY
|
|
|
|
|
STY theYSCREEN
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA theA
|
|
|
|
|
JSR getXBYBI
|
2024-02-12 18:28:22 +00:00
|
|
|
|
STA theXSCREEN
|
|
|
|
|
STX sprTABLE
|
|
|
|
|
JSR getSPRITEDATA
|
|
|
|
|
LDX #sprHEIGHT ; nb lignes
|
|
|
|
|
STX nbLINES
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDX #$00
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDA sprTABLE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$05
|
|
|
|
|
BCS L8376
|
2024-02-12 18:28:22 +00:00
|
|
|
|
|
|
|
|
|
*--- sprite de 2 de large
|
|
|
|
|
|
|
|
|
|
L8350 LDY theYSCREEN
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR setHGRPOINTERS
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDY theXSCREEN
|
|
|
|
|
LDA sprDATA,X
|
2023-07-08 16:35:15 +00:00
|
|
|
|
EOR #$7F
|
2024-02-14 20:46:43 +00:00
|
|
|
|
AND (ptrHGR1),Y
|
|
|
|
|
ORA (ptrHGR2),Y
|
|
|
|
|
STA (ptrHGR1),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
INX
|
|
|
|
|
INY
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDA sprDATA,X
|
2023-07-08 16:35:15 +00:00
|
|
|
|
EOR #$7F
|
2024-02-14 20:46:43 +00:00
|
|
|
|
AND (ptrHGR1),Y
|
|
|
|
|
ORA (ptrHGR2),Y
|
|
|
|
|
STA (ptrHGR1),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
INX
|
|
|
|
|
INX
|
2024-02-12 18:28:22 +00:00
|
|
|
|
INC theYSCREEN
|
|
|
|
|
DEC nbLINES
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L8350
|
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-12 18:28:22 +00:00
|
|
|
|
*--- sprite de 3 de large
|
2024-02-09 22:22:41 +00:00
|
|
|
|
|
2024-02-12 18:28:22 +00:00
|
|
|
|
L8376 LDY theYSCREEN
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR setHGRPOINTERS
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDY theXSCREEN
|
|
|
|
|
LDA sprDATA,X
|
2023-07-08 16:35:15 +00:00
|
|
|
|
EOR #$7F
|
2024-02-14 20:46:43 +00:00
|
|
|
|
AND (ptrHGR1),Y
|
|
|
|
|
ORA (ptrHGR2),Y
|
|
|
|
|
STA (ptrHGR1),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
INX
|
|
|
|
|
INY
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDA sprDATA,X
|
2023-07-08 16:35:15 +00:00
|
|
|
|
EOR #$7F
|
2024-02-14 20:46:43 +00:00
|
|
|
|
AND (ptrHGR1),Y
|
|
|
|
|
ORA (ptrHGR2),Y
|
|
|
|
|
STA (ptrHGR1),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
INX
|
|
|
|
|
INY
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDA sprDATA,X
|
2023-07-08 16:35:15 +00:00
|
|
|
|
EOR #$7F
|
2024-02-14 20:46:43 +00:00
|
|
|
|
AND (ptrHGR1),Y
|
|
|
|
|
ORA (ptrHGR2),Y
|
|
|
|
|
STA (ptrHGR1),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
INX
|
2024-02-12 18:28:22 +00:00
|
|
|
|
INC theYSCREEN
|
|
|
|
|
DEC nbLINES
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L8376
|
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-09 22:22:41 +00:00
|
|
|
|
*---------------------------------------
|
2024-02-12 18:28:22 +00:00
|
|
|
|
* DRAW SPRITE AT X,Y WITH COLLISION
|
2024-02-09 22:22:41 +00:00
|
|
|
|
*---------------------------------------
|
2024-02-12 18:28:22 +00:00
|
|
|
|
* $52: 00 if no collision (empty background)
|
|
|
|
|
* <>00 if collision
|
2024-02-09 22:22:41 +00:00
|
|
|
|
|
2024-02-12 18:28:22 +00:00
|
|
|
|
drawSPRXYCOLLISION
|
|
|
|
|
STY theYSCREEN
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA theA
|
|
|
|
|
JSR getXBYBI
|
2024-02-12 18:28:22 +00:00
|
|
|
|
STA theXSCREEN
|
|
|
|
|
STX sprTABLE
|
|
|
|
|
JSR getSPRITEDATA
|
|
|
|
|
LDA #sprHEIGHT
|
|
|
|
|
STA nbLINES
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDX #$00
|
2024-02-12 18:28:22 +00:00
|
|
|
|
STX fgCOLLISION
|
|
|
|
|
LDA sprTABLE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CMP #$05
|
|
|
|
|
BCS L83F5
|
2024-02-12 18:28:22 +00:00
|
|
|
|
|
|
|
|
|
*--- sprite de 2 de large
|
|
|
|
|
|
|
|
|
|
L83C3 LDY theYSCREEN
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR setHGRPOINTERS
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDY theXSCREEN
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrHGR1),Y
|
|
|
|
|
EOR (ptrHGR2),Y
|
2024-02-12 18:28:22 +00:00
|
|
|
|
AND sprDATA,X
|
|
|
|
|
ORA fgCOLLISION
|
|
|
|
|
STA fgCOLLISION
|
|
|
|
|
LDA sprDATA,X
|
2024-02-14 20:46:43 +00:00
|
|
|
|
ORA (ptrHGR1),Y
|
|
|
|
|
STA (ptrHGR1),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
INX
|
|
|
|
|
INY
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrHGR1),Y
|
|
|
|
|
EOR (ptrHGR2),Y
|
2024-02-12 18:28:22 +00:00
|
|
|
|
AND sprDATA,X
|
|
|
|
|
ORA fgCOLLISION
|
|
|
|
|
STA fgCOLLISION
|
|
|
|
|
LDA sprDATA,X
|
2024-02-14 20:46:43 +00:00
|
|
|
|
ORA (ptrHGR1),Y
|
|
|
|
|
STA (ptrHGR1),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
INX
|
|
|
|
|
INX
|
2024-02-12 18:28:22 +00:00
|
|
|
|
INC theYSCREEN
|
|
|
|
|
DEC nbLINES
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L83C3
|
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-12 18:28:22 +00:00
|
|
|
|
*--- sprite de 3 de large
|
2024-02-09 22:22:41 +00:00
|
|
|
|
|
2024-02-12 18:28:22 +00:00
|
|
|
|
L83F5 LDY theYSCREEN
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR setHGRPOINTERS
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDY theXSCREEN
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrHGR1),Y
|
|
|
|
|
EOR (ptrHGR2),Y
|
2024-02-12 18:28:22 +00:00
|
|
|
|
AND sprDATA,X
|
|
|
|
|
ORA fgCOLLISION
|
|
|
|
|
STA fgCOLLISION
|
|
|
|
|
LDA sprDATA,X
|
2024-02-14 20:46:43 +00:00
|
|
|
|
ORA (ptrHGR1),Y
|
|
|
|
|
STA (ptrHGR1),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
INX
|
|
|
|
|
INY
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrHGR1),Y
|
|
|
|
|
EOR (ptrHGR2),Y
|
2024-02-12 18:28:22 +00:00
|
|
|
|
AND sprDATA,X
|
|
|
|
|
ORA fgCOLLISION
|
|
|
|
|
STA fgCOLLISION
|
|
|
|
|
LDA sprDATA,X
|
2024-02-14 20:46:43 +00:00
|
|
|
|
ORA (ptrHGR1),Y
|
|
|
|
|
STA (ptrHGR1),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
INX
|
|
|
|
|
INY
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrHGR1),Y
|
|
|
|
|
EOR (ptrHGR2),Y
|
2024-02-12 18:28:22 +00:00
|
|
|
|
AND sprDATA,X
|
|
|
|
|
ORA fgCOLLISION
|
|
|
|
|
STA fgCOLLISION
|
|
|
|
|
LDA sprDATA,X
|
2024-02-14 20:46:43 +00:00
|
|
|
|
ORA (ptrHGR1),Y
|
|
|
|
|
STA (ptrHGR1),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
INX
|
2024-02-12 18:28:22 +00:00
|
|
|
|
INC theYSCREEN
|
|
|
|
|
DEC nbLINES
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L83F5
|
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-09 22:22:41 +00:00
|
|
|
|
*---------------------------------------
|
2024-02-12 18:28:22 +00:00
|
|
|
|
* GET SPRITE DATA
|
2024-02-09 22:22:41 +00:00
|
|
|
|
*---------------------------------------
|
2024-02-12 18:28:22 +00:00
|
|
|
|
* Move sprite data at $df..$ff
|
2024-02-09 22:22:41 +00:00
|
|
|
|
|
2024-02-12 18:28:22 +00:00
|
|
|
|
getSPRITEDATA
|
|
|
|
|
LDA #sprHEIGHT ; char height
|
|
|
|
|
STA nbLINES
|
2024-02-09 22:22:41 +00:00
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA #<tblOFFSPR ; pointer to index of sprite in each table
|
|
|
|
|
STA ptrDATA
|
|
|
|
|
LDA #>tblOFFSPR
|
|
|
|
|
STA ptrDATA+1
|
2024-02-09 22:22:41 +00:00
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA tblPTRSPR,X ; one of the six tables
|
2023-07-08 16:35:15 +00:00
|
|
|
|
STA L845A+2
|
|
|
|
|
STA L8466+2
|
|
|
|
|
STA L848B+2
|
|
|
|
|
STA L8497+2
|
2024-02-09 22:22:41 +00:00
|
|
|
|
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDX #$00
|
2024-02-08 21:48:24 +00:00
|
|
|
|
L8455 LDY theA
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrDATA),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
TAY
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L845A LDA LA200,Y ; a
|
2023-07-08 16:35:15 +00:00
|
|
|
|
STA L846F+1
|
|
|
|
|
CLC
|
|
|
|
|
ADC #$01
|
|
|
|
|
STA L8474+1
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L8466 LDA LA280,Y ; a+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
STA L846F+2
|
|
|
|
|
STA L8474+2
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L846F LDA LA200 ; b
|
2024-02-12 18:28:22 +00:00
|
|
|
|
STA sprDATA,X
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L8474 LDA LA200 ; b+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
STA $E0,X
|
2024-02-09 22:22:41 +00:00
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA ptrDATA ; next line
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CLC
|
|
|
|
|
ADC #$68
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrDATA
|
|
|
|
|
LDA ptrDATA+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
ADC #$00
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrDATA+1
|
2024-02-09 22:22:41 +00:00
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDY theA
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrDATA),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
TAY
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L848B LDA LA200,Y ; c
|
2023-07-08 16:35:15 +00:00
|
|
|
|
STA L84A0+1
|
|
|
|
|
CLC
|
|
|
|
|
ADC #$01
|
|
|
|
|
STA L84A7+1
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L8497 LDA LA280,Y ; c+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
STA L84A0+2
|
|
|
|
|
STA L84A7+2
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L84A0 LDA LA200 ; d
|
2023-07-08 16:35:15 +00:00
|
|
|
|
ORA $E0,X
|
|
|
|
|
STA $E0,X
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L84A7 LDA LA200 ; d+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
STA $E1,X
|
2024-02-09 22:22:41 +00:00
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA ptrDATA
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CLC
|
|
|
|
|
ADC #$68
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrDATA
|
|
|
|
|
LDA ptrDATA+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
ADC #$00
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrDATA+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
INX
|
|
|
|
|
INX
|
|
|
|
|
INX
|
2024-02-12 18:28:22 +00:00
|
|
|
|
DEC nbLINES
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L8455
|
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
tblPTRSPR DB >LA200 ; The six tables of sprites
|
2023-07-08 16:35:15 +00:00
|
|
|
|
DB >LA300
|
|
|
|
|
DB >LA400
|
|
|
|
|
DB >LA500
|
|
|
|
|
DB >LA600
|
|
|
|
|
DB >LA700
|
|
|
|
|
DB >LA800
|
|
|
|
|
|
2024-02-09 22:22:41 +00:00
|
|
|
|
*---------------------------------------
|
|
|
|
|
* CHECK HIGH SCORE
|
|
|
|
|
*---------------------------------------
|
|
|
|
|
|
|
|
|
|
checkHIGHSCORE
|
|
|
|
|
LDA $9D
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L8514
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA theSCORE
|
|
|
|
|
ORA theSCORE+1
|
|
|
|
|
ORA theSCORE+2
|
|
|
|
|
ORA theSCORE+3
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L8514
|
|
|
|
|
LDA #$01
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR readSCORE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L8514
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDY #$01 ; 1<>re entr<74>e
|
2024-02-08 21:48:24 +00:00
|
|
|
|
L84DF LDX scoreoffset,Y
|
|
|
|
|
LDA theLEVEL
|
|
|
|
|
CMP scorebuf+$03,X
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCC L850F
|
|
|
|
|
BNE L8515
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA theSCORE+3
|
|
|
|
|
CMP scorebuf+$04,X
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCC L850F
|
|
|
|
|
BNE L8515
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA theSCORE+2
|
|
|
|
|
CMP scorebuf+$05,X
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCC L850F
|
|
|
|
|
BNE L8515
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA theSCORE+1
|
|
|
|
|
CMP scorebuf+$06,X
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCC L850F
|
|
|
|
|
BNE L8515
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA theSCORE
|
|
|
|
|
CMP scorebuf+$07,X
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCC L850F
|
|
|
|
|
BNE L8515
|
|
|
|
|
L850F INY
|
2024-02-09 22:22:41 +00:00
|
|
|
|
CPY #$0B ; derni<6E>re entr<74>e
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCC L84DF
|
|
|
|
|
L8514 RTS
|
|
|
|
|
|
2024-02-09 22:22:41 +00:00
|
|
|
|
L8515 CPY #$0A ; d<>cale les scores vers le bas
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L8536
|
|
|
|
|
STY $56
|
|
|
|
|
LDY #$09
|
2024-02-08 21:48:24 +00:00
|
|
|
|
L851D LDX scoreoffset,Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$08
|
2024-02-12 18:28:22 +00:00
|
|
|
|
STA nbLINES
|
2024-02-08 21:48:24 +00:00
|
|
|
|
L8524 LDA scorebuf,X
|
|
|
|
|
STA scorebuf+$08,X
|
2023-07-08 16:35:15 +00:00
|
|
|
|
INX
|
2024-02-12 18:28:22 +00:00
|
|
|
|
DEC nbLINES
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L8524
|
|
|
|
|
CPY $56
|
|
|
|
|
BEQ L8536
|
|
|
|
|
DEY
|
|
|
|
|
BNE L851D
|
2024-02-09 22:22:41 +00:00
|
|
|
|
|
|
|
|
|
L8536 LDX scoreoffset,Y ; permet la saisie des initiales
|
|
|
|
|
LDA #chrSPC
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA scorebuf,X
|
|
|
|
|
STA scorebuf+$01,X
|
|
|
|
|
STA scorebuf+$02,X
|
|
|
|
|
LDA theLEVEL
|
|
|
|
|
STA scorebuf+$03,X
|
|
|
|
|
LDA theSCORE+3
|
|
|
|
|
STA scorebuf+$04,X
|
|
|
|
|
LDA theSCORE+2
|
|
|
|
|
STA scorebuf+$05,X
|
|
|
|
|
LDA theSCORE+1
|
|
|
|
|
STA scorebuf+$06,X
|
|
|
|
|
LDA theSCORE
|
|
|
|
|
STA scorebuf+$07,X
|
2023-07-08 16:35:15 +00:00
|
|
|
|
STY $69
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA scoreoffset,Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
STA L8582+1
|
|
|
|
|
STA L85C9+1
|
|
|
|
|
JSR L786B
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA #>HGR2
|
|
|
|
|
STA activePAGE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA $69
|
|
|
|
|
CLC
|
|
|
|
|
ADC #$04
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA theY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$07
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA theX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDX #$00
|
|
|
|
|
STX L824D
|
|
|
|
|
L857F LDX L824D
|
2024-02-08 21:48:24 +00:00
|
|
|
|
L8582 LDA scorebuf,X
|
2024-02-14 20:46:43 +00:00
|
|
|
|
JSR filterCHAR
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JSR L85F3
|
|
|
|
|
STA KBDSTROBE
|
2024-02-08 21:48:24 +00:00
|
|
|
|
CMP #chrRET
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L85E7
|
2024-02-08 21:48:24 +00:00
|
|
|
|
CMP #chrLA
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L85A3
|
|
|
|
|
LDX L824D
|
|
|
|
|
BEQ L85E1
|
|
|
|
|
DEC L824D
|
2024-02-08 21:48:24 +00:00
|
|
|
|
DEC theX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JMP L857F
|
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
L85A3 CMP #chrRA
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L85B6
|
|
|
|
|
LDX L824D
|
|
|
|
|
CPX #$02
|
|
|
|
|
BEQ L85E1
|
2024-02-08 21:48:24 +00:00
|
|
|
|
INC theX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
INC L824D
|
|
|
|
|
JMP L857F
|
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
L85B6 CMP #chrDOT
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L85C6
|
2024-02-08 21:48:24 +00:00
|
|
|
|
CMP #chrSPC
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L85C6
|
2024-02-08 21:48:24 +00:00
|
|
|
|
CMP #chrA
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCC L85E1
|
2024-02-08 21:48:24 +00:00
|
|
|
|
CMP #chrZ+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCS L85E1
|
|
|
|
|
L85C6 LDY L824D
|
2024-02-08 21:48:24 +00:00
|
|
|
|
L85C9 STA scorebuf,Y
|
|
|
|
|
JSR printCHAR
|
2023-07-08 16:35:15 +00:00
|
|
|
|
INC L824D
|
|
|
|
|
LDA L824D
|
2024-02-09 22:22:41 +00:00
|
|
|
|
CMP #$03 ; max nb chars
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCC L857F
|
|
|
|
|
DEC L824D
|
2024-02-08 21:48:24 +00:00
|
|
|
|
DEC theX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JMP L857F
|
|
|
|
|
|
2024-02-09 22:22:41 +00:00
|
|
|
|
L85E1 JSR doBEEP
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JMP L857F
|
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
L85E7 LDA #>HGR1
|
|
|
|
|
STA activePAGE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$02
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR readSCORE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JMP L618E
|
|
|
|
|
|
2024-02-13 08:09:27 +00:00
|
|
|
|
L85F3 STA bsDATA
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L85F6 LDA #$68
|
|
|
|
|
STA $A1
|
2024-02-13 08:09:27 +00:00
|
|
|
|
LDA bsDATA
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L8601
|
|
|
|
|
LDA #$0A
|
2024-02-08 21:48:24 +00:00
|
|
|
|
L8601 JSR coutHGR2
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L8604 LDA KBD
|
|
|
|
|
BMI L8628
|
2024-02-13 08:09:27 +00:00
|
|
|
|
JSR checkMOVEMENT
|
2023-07-08 16:35:15 +00:00
|
|
|
|
DEC $A1
|
|
|
|
|
BNE L8604
|
|
|
|
|
LDA #$00
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR coutHGR2
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA #$68
|
|
|
|
|
STA $A1
|
|
|
|
|
L8619 LDA KBD
|
|
|
|
|
BMI L8628
|
2024-02-13 08:09:27 +00:00
|
|
|
|
JSR checkMOVEMENT
|
2023-07-08 16:35:15 +00:00
|
|
|
|
DEC $A1
|
|
|
|
|
BNE L8619
|
|
|
|
|
JMP L85F6
|
|
|
|
|
|
|
|
|
|
L8628 PHA
|
2024-02-13 08:09:27 +00:00
|
|
|
|
LDA bsDATA
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR coutHGR2
|
2023-07-08 16:35:15 +00:00
|
|
|
|
PLA
|
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-09 22:22:41 +00:00
|
|
|
|
*-----------------------------------
|
|
|
|
|
* SHOW INVISIBLE LADDERS
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
|
|
|
|
showINVISIBLELADDERS
|
|
|
|
|
LDA #$00
|
|
|
|
|
STA tblLADDERIX
|
|
|
|
|
LDX idxLADDERI
|
2023-07-08 16:35:15 +00:00
|
|
|
|
STX L869E
|
|
|
|
|
L863B LDX L869E
|
|
|
|
|
BEQ L8696
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblLADDERIX,X
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BMI L8690
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA theX
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblLADDERIY,X
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STA theY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
TAY
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLL,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD
|
|
|
|
|
STA ptrBBACK
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD+1
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDBACKH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK+1
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDY theX
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrBBACK),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L868B
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA #sprLADDER
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA (ptrBBACK),Y
|
|
|
|
|
LDA (ptrBOARD),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L8670
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA #sprLADDER
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA (ptrBOARD),Y
|
2024-02-09 22:22:41 +00:00
|
|
|
|
L8670 LDA #sprLADDER
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR coutHGR2
|
|
|
|
|
LDX theX
|
|
|
|
|
LDY theY
|
|
|
|
|
JSR getXY
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA #sprLADDER
|
2024-02-12 18:28:22 +00:00
|
|
|
|
JSR drawSPRXYCOLLISION
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDX L869E
|
|
|
|
|
LDA #$FF
|
2024-02-09 22:22:41 +00:00
|
|
|
|
STA tblLADDERIX,X
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BMI L8690
|
|
|
|
|
L868B LDA #$01
|
2024-02-09 22:22:41 +00:00
|
|
|
|
STA tblLADDERIX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L8690 DEC L869E
|
|
|
|
|
JMP L863B
|
|
|
|
|
|
2024-02-09 22:22:41 +00:00
|
|
|
|
L8696 LDA tblLADDERIX
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L869D
|
2024-02-08 21:48:24 +00:00
|
|
|
|
DEC nbCHEST
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L869D RTS
|
|
|
|
|
|
|
|
|
|
L869E DB $00
|
2024-02-09 22:22:41 +00:00
|
|
|
|
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
* WAIT KEY UP
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
|
|
|
|
waitKEYUP
|
|
|
|
|
STA KBDSTROBE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA KBD
|
2024-02-09 22:22:41 +00:00
|
|
|
|
BMI waitKEYUP
|
2023-07-08 16:35:15 +00:00
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-09 22:22:41 +00:00
|
|
|
|
*-----------------------------------
|
|
|
|
|
* WAIT KEY DOWN
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
|
|
|
|
waitKEYDOWN
|
|
|
|
|
LDA KBD
|
|
|
|
|
BPL waitKEYDOWN
|
2023-07-08 16:35:15 +00:00
|
|
|
|
STA KBDSTROBE
|
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-09 22:22:41 +00:00
|
|
|
|
*-----------------------------------
|
|
|
|
|
* WAIT
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
|
|
|
|
doWAIT LDA L86BE,X
|
2023-07-08 16:35:15 +00:00
|
|
|
|
TAX
|
2024-02-09 22:22:41 +00:00
|
|
|
|
doWAIT1 LDY #$B4
|
|
|
|
|
]lp DEY
|
|
|
|
|
BNE ]lp
|
2023-07-08 16:35:15 +00:00
|
|
|
|
DEX
|
2024-02-09 22:22:41 +00:00
|
|
|
|
BNE doWAIT1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
RTS
|
|
|
|
|
|
|
|
|
|
L86BE HEX 020406080A0C0E10121416181A1C1E20
|
|
|
|
|
|
2024-02-09 22:22:41 +00:00
|
|
|
|
*-----------------------------------
|
|
|
|
|
* The CTRL-G of Lode Runner
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
|
|
|
|
doBEEP LDY #$C0
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L86D0 LDX #$80
|
|
|
|
|
L86D2 DEX
|
|
|
|
|
BNE L86D2
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA fgSOUND
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L86DC
|
|
|
|
|
LDA SPKR
|
|
|
|
|
L86DC DEY
|
|
|
|
|
BNE L86D0
|
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
*-----------------------------------
|
|
|
|
|
* PRINT STRING
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
|
|
|
|
printSTRING
|
|
|
|
|
PLA
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrSTRSND
|
2023-07-08 16:35:15 +00:00
|
|
|
|
PLA
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrSTRSND+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L86F1
|
|
|
|
|
L86E8 LDY #$00
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrSTRSND),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L86F9
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR printCHAR
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L86F1 INC ptrSTRSND
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L86E8
|
2024-02-14 20:46:43 +00:00
|
|
|
|
INC ptrSTRSND+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L86E8
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L86F9 LDA ptrSTRSND+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
PHA
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA ptrSTRSND
|
2023-07-08 16:35:15 +00:00
|
|
|
|
PHA
|
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
*-----------------------------------
|
2024-02-12 18:28:22 +00:00
|
|
|
|
* BLINK SPRITE
|
2024-02-08 21:48:24 +00:00
|
|
|
|
*-----------------------------------
|
2024-02-12 18:28:22 +00:00
|
|
|
|
* sprite is in A
|
2024-02-08 21:48:24 +00:00
|
|
|
|
|
2024-02-12 18:28:22 +00:00
|
|
|
|
blinkSPRITE
|
|
|
|
|
STA bsDATA
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L8703 LDA #$68
|
|
|
|
|
STA $A1
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDA #sprEMPTY
|
|
|
|
|
LDX bsDATA
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L8710
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDA #sprCURSOR ; cursor sprite
|
|
|
|
|
L8710 JSR coutHGR1 ; output empty
|
|
|
|
|
L8713 LDA KBD ; key pressed?
|
|
|
|
|
BMI L873C ; yes
|
2024-02-13 08:09:27 +00:00
|
|
|
|
JSR checkMOVEMENT ; buttons pressed?
|
2024-02-12 18:28:22 +00:00
|
|
|
|
BCS L873C ; yes
|
2023-07-08 16:35:15 +00:00
|
|
|
|
DEC $A1
|
|
|
|
|
BNE L8713
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDA bsDATA ; output sprite
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR coutHGR1
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDA #$68 ; redo the wait
|
2023-07-08 16:35:15 +00:00
|
|
|
|
STA $A1
|
|
|
|
|
L872B LDA KBD
|
|
|
|
|
BMI L873C
|
2024-02-13 08:09:27 +00:00
|
|
|
|
JSR checkMOVEMENT
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCS L873C
|
|
|
|
|
DEC $A1
|
|
|
|
|
BNE L872B
|
|
|
|
|
JMP L8703
|
|
|
|
|
|
2024-02-12 18:28:22 +00:00
|
|
|
|
L873C PHA ; exit with
|
2024-02-13 08:09:27 +00:00
|
|
|
|
LDA bsDATA ; sprite
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR coutHGR1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
PLA
|
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
bsDATA DB ptrBOARD
|
2023-07-08 16:35:15 +00:00
|
|
|
|
|
2024-02-12 18:28:22 +00:00
|
|
|
|
*-----------------------------------
|
|
|
|
|
* READ JOYSTICK
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
|
|
|
|
readJOYSTICK
|
|
|
|
|
LDA #$00
|
|
|
|
|
STA theJOYX
|
|
|
|
|
STA theJOYY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDA PTRIG
|
|
|
|
|
L874F LDX #$01
|
2024-02-12 18:28:22 +00:00
|
|
|
|
L8751 LDA PADDL0,X
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BPL L8769
|
2024-02-12 18:28:22 +00:00
|
|
|
|
INC theJOYX,X
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L8758 DEX
|
|
|
|
|
BPL L8751
|
|
|
|
|
LDA PADDL0
|
|
|
|
|
ORA PADDL1
|
|
|
|
|
BPL L876C
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDA theJOYX
|
|
|
|
|
ORA theJOYY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BPL L874F
|
|
|
|
|
L8769 NOP
|
|
|
|
|
BPL L8758
|
|
|
|
|
L876C RTS
|
|
|
|
|
|
2024-02-13 08:09:27 +00:00
|
|
|
|
*-----------------------------------
|
|
|
|
|
* CHECK MOVEMENT
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
|
|
|
|
checkMOVEMENT
|
|
|
|
|
LDA fgINPUT
|
2024-02-08 21:48:24 +00:00
|
|
|
|
CMP #chrK
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L8798
|
2024-02-12 18:28:22 +00:00
|
|
|
|
JSR readJOYSTICK
|
|
|
|
|
LDA theJOYX
|
|
|
|
|
CMP #minJOY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCC L8796
|
2024-02-12 18:28:22 +00:00
|
|
|
|
CMP #maxJOY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCS L8796
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDA theJOYY
|
|
|
|
|
CMP #minJOY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCC L8796
|
2024-02-12 18:28:22 +00:00
|
|
|
|
CMP #maxJOY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BCS L8796
|
|
|
|
|
LDA BUTN1
|
|
|
|
|
BMI L8796
|
|
|
|
|
LDA BUTN0
|
|
|
|
|
BMI L8796
|
|
|
|
|
CLC
|
|
|
|
|
RTS
|
|
|
|
|
L8796 SEC
|
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-13 08:09:27 +00:00
|
|
|
|
L8798 LDX #$02 ; wait routine
|
|
|
|
|
L879A DEY ; to compensate
|
|
|
|
|
BNE L879A ; the skipped code above
|
2023-07-08 16:35:15 +00:00
|
|
|
|
DEX
|
|
|
|
|
BNE L879A
|
|
|
|
|
CLC
|
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
*-----------------------------------
|
|
|
|
|
* CHECK JOYSTICK
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
|
|
|
|
checkJOYSTICK
|
|
|
|
|
LDA PTRIG
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDX #$10
|
|
|
|
|
L87A7 LDA PADDL0
|
|
|
|
|
ORA PADDL1
|
|
|
|
|
BPL L87B9
|
|
|
|
|
DEY
|
|
|
|
|
BNE L87A7
|
|
|
|
|
DEX
|
|
|
|
|
BNE L87A7
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA #chrK
|
2024-02-12 18:28:22 +00:00
|
|
|
|
STA fgINPUT
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L87B9 RTS
|
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
*-----------------------------------
|
2024-02-13 08:09:27 +00:00
|
|
|
|
* PLAY A SOUND
|
2024-02-08 21:48:24 +00:00
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
playSOUND STA ptrDATA
|
2023-07-08 16:35:15 +00:00
|
|
|
|
STX $0B
|
2024-02-09 22:22:41 +00:00
|
|
|
|
L87BE LDA fgSOUND
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L87C5
|
|
|
|
|
LDA SPKR
|
|
|
|
|
L87C5 DEY
|
|
|
|
|
BNE L87CC
|
|
|
|
|
DEC $0B
|
|
|
|
|
BEQ L87D4
|
|
|
|
|
L87CC DEX
|
|
|
|
|
BNE L87C5
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDX ptrDATA
|
2023-07-08 16:35:15 +00:00
|
|
|
|
JMP L87BE
|
|
|
|
|
L87D4 RTS
|
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
*-----------------------------------
|
2024-02-13 08:09:27 +00:00
|
|
|
|
* GET NOTE
|
2024-02-08 21:48:24 +00:00
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
2024-02-13 08:09:27 +00:00
|
|
|
|
getNOTE INC $54
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDY $54
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA sndNOTE,Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
TXA
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA sndDURATION,Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
*-----------------------------------
|
2024-02-09 22:22:41 +00:00
|
|
|
|
* PREPARE SOUND
|
2024-02-08 21:48:24 +00:00
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
2024-02-09 22:22:41 +00:00
|
|
|
|
prepareMELODY
|
|
|
|
|
PLA
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrSTRSND
|
2023-07-08 16:35:15 +00:00
|
|
|
|
PLA
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrSTRSND+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L8802
|
2024-02-09 22:22:41 +00:00
|
|
|
|
L87E9 LDY #$00 ; move sound
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrSTRSND),Y ; to the two
|
2024-02-09 22:22:41 +00:00
|
|
|
|
BEQ L880A ; buffers
|
2023-07-08 16:35:15 +00:00
|
|
|
|
INC $54
|
|
|
|
|
LDX $54
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA sndDURATION,X
|
2023-07-08 16:35:15 +00:00
|
|
|
|
INY
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrSTRSND),Y
|
|
|
|
|
STA sndNOTE,X
|
|
|
|
|
INC ptrSTRSND
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L8802
|
2024-02-14 20:46:43 +00:00
|
|
|
|
INC ptrSTRSND+1
|
|
|
|
|
L8802 INC ptrSTRSND
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L87E9
|
2024-02-14 20:46:43 +00:00
|
|
|
|
INC ptrSTRSND+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L87E9
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L880A LDA ptrSTRSND+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
PHA
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA ptrSTRSND
|
2023-07-08 16:35:15 +00:00
|
|
|
|
PHA
|
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-09 22:22:41 +00:00
|
|
|
|
*-----------------------------------
|
|
|
|
|
* PLAY MELODY
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
|
|
|
|
playMELODY
|
|
|
|
|
LDY $54
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L8832
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA sndNOTE,Y
|
|
|
|
|
LDX sndDURATION,Y
|
2024-02-09 22:22:41 +00:00
|
|
|
|
JSR playSOUND ; play note
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDY $54
|
|
|
|
|
DEC $54
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA theSPEED
|
2023-07-08 16:35:15 +00:00
|
|
|
|
SEC
|
2024-02-14 20:46:43 +00:00
|
|
|
|
SBC sndDURATION,Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L8830
|
|
|
|
|
BCC L8830
|
|
|
|
|
TAX
|
2024-02-09 22:22:41 +00:00
|
|
|
|
JSR doWAIT1 ; wait
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L8830 SEC
|
|
|
|
|
RTS
|
|
|
|
|
|
|
|
|
|
L8832 LDA $9B
|
|
|
|
|
BNE L8844
|
|
|
|
|
LDA $A4
|
|
|
|
|
LSR
|
|
|
|
|
INC $A4
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDX theSPEED
|
2023-07-08 16:35:15 +00:00
|
|
|
|
INX
|
|
|
|
|
INX
|
2024-02-09 22:22:41 +00:00
|
|
|
|
JSR playSOUND
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CLC
|
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-09 22:22:41 +00:00
|
|
|
|
L8844 LDX theSPEED
|
|
|
|
|
JSR doWAIT
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CLC
|
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-09 22:22:41 +00:00
|
|
|
|
L884B LDA tblBOARDALLL,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD
|
|
|
|
|
STA ptrBBACK
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDALLH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBOARD+1
|
2024-02-09 22:22:41 +00:00
|
|
|
|
LDA tblBOARDBACKH,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrBBACK+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
RTS
|
|
|
|
|
|
|
|
|
|
*-------------------------------
|
|
|
|
|
* FROM A Y IN TEXT TO A Y IN HGR
|
|
|
|
|
*-------------------------------
|
|
|
|
|
|
2024-02-12 18:28:22 +00:00
|
|
|
|
getXY LDA ytable,Y ; in: board X/Y
|
2024-02-13 08:09:27 +00:00
|
|
|
|
PHA ; out: hgr X/Y
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA xtable,X
|
2023-07-08 16:35:15 +00:00
|
|
|
|
TAX
|
|
|
|
|
PLA
|
|
|
|
|
TAY
|
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
getBYBI LDA bytable,X
|
2023-07-08 16:35:15 +00:00
|
|
|
|
PHA
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA bitable,X
|
2023-07-08 16:35:15 +00:00
|
|
|
|
TAX
|
|
|
|
|
PLA
|
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
getXBYBI LDA xbytable,X
|
2023-07-08 16:35:15 +00:00
|
|
|
|
PHA
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA xbitable,X
|
2023-07-08 16:35:15 +00:00
|
|
|
|
TAX
|
|
|
|
|
PLA
|
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
*-------------------------------
|
|
|
|
|
* CALCULATE HGR Y-COORD
|
|
|
|
|
*-------------------------------
|
|
|
|
|
* on entry:
|
|
|
|
|
* X is a sprite step
|
|
|
|
|
* Y is a board index
|
|
|
|
|
* on exit:
|
|
|
|
|
* X is garbage
|
|
|
|
|
* Y is the HGR coordinate
|
|
|
|
|
|
|
|
|
|
calcHGRY TXA ; in: board X/Y
|
2024-02-12 18:28:22 +00:00
|
|
|
|
PHA ; out: hgr X / diff Y
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR getXY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
PLA
|
|
|
|
|
TAX
|
|
|
|
|
TYA
|
|
|
|
|
CLC
|
2024-02-12 18:28:22 +00:00
|
|
|
|
ADC tblDELTAY,X
|
2023-07-08 16:35:15 +00:00
|
|
|
|
TAY
|
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-12 18:28:22 +00:00
|
|
|
|
tblDELTAY HEX FBFD000204 ; -5, -3, 0, 2, 4
|
2023-07-08 16:35:15 +00:00
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
*-------------------------------
|
|
|
|
|
* CALCULATE HGR X-COORD
|
|
|
|
|
*-------------------------------
|
|
|
|
|
* on entry:
|
|
|
|
|
* X is a board index
|
|
|
|
|
* Y is a sprite step
|
|
|
|
|
* on exit:
|
|
|
|
|
* X is the HGR coordinate
|
|
|
|
|
* Y is garbage
|
|
|
|
|
|
|
|
|
|
calcHGRX TYA
|
|
|
|
|
PHA
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR getXY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
PLA
|
|
|
|
|
TAY
|
2024-02-14 20:46:43 +00:00
|
|
|
|
TXA ; X in HGR + Y step
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CLC
|
2024-02-12 18:28:22 +00:00
|
|
|
|
ADC tblDELTAX,Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
TAX
|
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-12 18:28:22 +00:00
|
|
|
|
tblDELTAX HEX FEFF000102 ; -2, -1, 0, 1, 2
|
2023-07-08 16:35:15 +00:00
|
|
|
|
|
|
|
|
|
*-------------------------------
|
|
|
|
|
* CIRCLE ANIMATION
|
|
|
|
|
*-------------------------------
|
|
|
|
|
|
2024-02-08 21:48:24 +00:00
|
|
|
|
circleANIMATION
|
|
|
|
|
LDA #$58 ; 88
|
2023-07-08 16:35:15 +00:00
|
|
|
|
STA $73
|
|
|
|
|
LDA #$8C ; 140
|
|
|
|
|
STA $74
|
|
|
|
|
LDA $A5
|
|
|
|
|
BEQ L88BD
|
|
|
|
|
|
|
|
|
|
LDX #$AA ; 170
|
|
|
|
|
STX $6D
|
|
|
|
|
LDX #$00 ; 0
|
|
|
|
|
STX $72
|
|
|
|
|
L88B6 JSR L88D7
|
|
|
|
|
DEC $6D
|
|
|
|
|
BNE L88B6
|
|
|
|
|
|
|
|
|
|
L88BD LDA #$01
|
|
|
|
|
STA $6D
|
|
|
|
|
STA $A5
|
|
|
|
|
STA $72
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR printMEN
|
|
|
|
|
JSR printLEVEL
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L88CB JSR L88D7
|
|
|
|
|
INC $6D
|
|
|
|
|
LDA $6D
|
|
|
|
|
CMP #$AA ; 170
|
|
|
|
|
BNE L88CB
|
|
|
|
|
RTS
|
|
|
|
|
|
|
|
|
|
L88D7 LDA $6D
|
|
|
|
|
STA $69
|
|
|
|
|
LDA #$00
|
|
|
|
|
STA $6A
|
|
|
|
|
STA $67
|
|
|
|
|
STA $68
|
|
|
|
|
LDA $69
|
|
|
|
|
ASL
|
|
|
|
|
STA $6B
|
|
|
|
|
LDA $6A
|
|
|
|
|
ROL
|
|
|
|
|
STA $6C
|
|
|
|
|
LDA #$03
|
|
|
|
|
SEC
|
|
|
|
|
SBC $6B
|
|
|
|
|
STA $6B
|
|
|
|
|
LDA #$00
|
|
|
|
|
SBC $6C
|
|
|
|
|
STA $6C
|
|
|
|
|
LDA $73
|
|
|
|
|
SEC
|
|
|
|
|
SBC $6D
|
|
|
|
|
STA $75
|
|
|
|
|
LDA #$00
|
|
|
|
|
SBC #$00
|
|
|
|
|
STA $79
|
|
|
|
|
LDA $73
|
|
|
|
|
STA $76
|
|
|
|
|
STA $77
|
|
|
|
|
LDA #$00
|
|
|
|
|
STA $7A
|
|
|
|
|
STA $7B
|
|
|
|
|
LDA $73
|
|
|
|
|
CLC
|
|
|
|
|
ADC $6D
|
|
|
|
|
STA $78
|
|
|
|
|
LDA #$00
|
|
|
|
|
ADC #$00
|
|
|
|
|
STA $7C
|
|
|
|
|
LDA $74
|
|
|
|
|
SEC
|
|
|
|
|
SBC $6D
|
|
|
|
|
TAX
|
|
|
|
|
LDA #$00
|
|
|
|
|
SBC #$00
|
|
|
|
|
JSR L8A45
|
|
|
|
|
STY $7D
|
|
|
|
|
STA $81
|
|
|
|
|
LDX $74
|
|
|
|
|
LDA #$00
|
|
|
|
|
JSR L8A45
|
|
|
|
|
STY $7E
|
|
|
|
|
STY $7F
|
|
|
|
|
STA $82
|
|
|
|
|
STA $83
|
|
|
|
|
LDA $74
|
|
|
|
|
CLC
|
|
|
|
|
ADC $6D
|
|
|
|
|
TAX
|
|
|
|
|
LDA #$00
|
|
|
|
|
ADC #$00
|
|
|
|
|
JSR L8A45
|
|
|
|
|
STY $80
|
|
|
|
|
STA $84
|
|
|
|
|
L8951 LDA $68
|
|
|
|
|
CMP $6A
|
|
|
|
|
BCC L896F
|
|
|
|
|
BEQ L8969
|
|
|
|
|
L8959 LDA $67
|
|
|
|
|
CMP $69
|
|
|
|
|
BNE L8968
|
|
|
|
|
LDA $68
|
|
|
|
|
CMP $6A
|
|
|
|
|
BNE L8968
|
|
|
|
|
JMP L8A69
|
|
|
|
|
L8968 RTS
|
|
|
|
|
|
|
|
|
|
L8969 LDA $67
|
|
|
|
|
CMP $69
|
|
|
|
|
BCS L8959
|
|
|
|
|
L896F JSR L8A69
|
|
|
|
|
LDA $6C
|
|
|
|
|
BPL L89A7
|
|
|
|
|
LDA $67
|
|
|
|
|
ASL
|
|
|
|
|
STA $6F
|
|
|
|
|
LDA $68
|
|
|
|
|
ROL
|
|
|
|
|
STA $70
|
|
|
|
|
LDA $6F
|
|
|
|
|
ASL
|
|
|
|
|
STA $6F
|
|
|
|
|
LDA $70
|
|
|
|
|
ROL
|
|
|
|
|
STA $70
|
|
|
|
|
LDA $6B
|
|
|
|
|
CLC
|
|
|
|
|
ADC $6F
|
|
|
|
|
STA $6F
|
|
|
|
|
LDA $6C
|
|
|
|
|
ADC $70
|
|
|
|
|
STA $70
|
|
|
|
|
LDA #$06
|
|
|
|
|
CLC
|
|
|
|
|
ADC $6F
|
|
|
|
|
STA $6B
|
|
|
|
|
LDA #$00
|
|
|
|
|
ADC $70
|
|
|
|
|
STA $6C
|
|
|
|
|
JMP L8A14
|
|
|
|
|
|
|
|
|
|
L89A7 LDA $67
|
|
|
|
|
SEC
|
|
|
|
|
SBC $69
|
|
|
|
|
STA $6F
|
|
|
|
|
LDA $68
|
|
|
|
|
SBC $6A
|
|
|
|
|
STA $70
|
|
|
|
|
LDA $6F
|
|
|
|
|
ASL
|
|
|
|
|
STA $6F
|
|
|
|
|
LDA $70
|
|
|
|
|
ROL
|
|
|
|
|
STA $70
|
|
|
|
|
LDA $6F
|
|
|
|
|
ASL
|
|
|
|
|
STA $6F
|
|
|
|
|
LDA $70
|
|
|
|
|
ROL
|
|
|
|
|
STA $70
|
|
|
|
|
LDA $6F
|
|
|
|
|
CLC
|
|
|
|
|
ADC #$10
|
|
|
|
|
STA $6F
|
|
|
|
|
LDA $70
|
|
|
|
|
ADC #$00
|
|
|
|
|
STA $70
|
|
|
|
|
LDA $6F
|
|
|
|
|
CLC
|
|
|
|
|
ADC $6B
|
|
|
|
|
STA $6B
|
|
|
|
|
LDA $70
|
|
|
|
|
ADC $6C
|
|
|
|
|
STA $6C
|
|
|
|
|
LDA $69
|
|
|
|
|
PHP
|
|
|
|
|
DEC $69
|
|
|
|
|
PLP
|
|
|
|
|
BNE L89EC
|
|
|
|
|
DEC $6A
|
|
|
|
|
L89EC INC $75
|
|
|
|
|
BNE L89F2
|
|
|
|
|
INC $79
|
|
|
|
|
L89F2 DEC $84
|
|
|
|
|
BPL L89FC
|
|
|
|
|
LDA #$06
|
|
|
|
|
STA $84
|
|
|
|
|
DEC $80
|
|
|
|
|
L89FC INC $81
|
|
|
|
|
LDA $81
|
|
|
|
|
CMP #$07
|
|
|
|
|
BNE L8A0A
|
|
|
|
|
LDA #$00
|
|
|
|
|
STA $81
|
|
|
|
|
INC $7D
|
|
|
|
|
L8A0A DEC $78
|
|
|
|
|
LDA $78
|
|
|
|
|
CMP #$FF
|
|
|
|
|
BNE L8A14
|
|
|
|
|
DEC $7C
|
|
|
|
|
L8A14 INC $67
|
|
|
|
|
BNE L8A1A
|
|
|
|
|
INC $68
|
|
|
|
|
L8A1A INC $83
|
|
|
|
|
LDA $83
|
|
|
|
|
CMP #$07
|
|
|
|
|
BNE L8A28
|
|
|
|
|
LDA #$00
|
|
|
|
|
STA $83
|
|
|
|
|
INC $7F
|
|
|
|
|
L8A28 DEC $76
|
|
|
|
|
LDA $76
|
|
|
|
|
CMP #$FF
|
|
|
|
|
BNE L8A32
|
|
|
|
|
DEC $7A
|
|
|
|
|
L8A32 INC $77
|
|
|
|
|
BNE L8A38
|
|
|
|
|
INC $7B
|
|
|
|
|
L8A38 DEC $82
|
|
|
|
|
BPL L8A42
|
|
|
|
|
LDA #$06
|
|
|
|
|
STA $82
|
|
|
|
|
DEC $7E
|
|
|
|
|
L8A42 JMP L8951
|
|
|
|
|
|
|
|
|
|
L8A45 STX $6F
|
|
|
|
|
LDY #$08
|
|
|
|
|
SEC
|
|
|
|
|
SBC #$07
|
|
|
|
|
L8A4C PHP
|
|
|
|
|
ROL $70
|
|
|
|
|
ASL $6F
|
|
|
|
|
ROL
|
|
|
|
|
PLP
|
|
|
|
|
BCC L8A5A
|
|
|
|
|
SBC #$07
|
|
|
|
|
JMP L8A5C
|
|
|
|
|
|
|
|
|
|
L8A5A ADC #$07
|
|
|
|
|
L8A5C DEY
|
|
|
|
|
BNE L8A4C
|
|
|
|
|
BCS L8A64
|
|
|
|
|
ADC #$07
|
|
|
|
|
CLC
|
|
|
|
|
L8A64 ROL $70
|
|
|
|
|
LDY $70
|
|
|
|
|
RTS
|
|
|
|
|
|
|
|
|
|
L8A69 LDY $7C
|
|
|
|
|
BNE L8A8C
|
|
|
|
|
LDY $78
|
|
|
|
|
CPY #$B0
|
|
|
|
|
BCS L8A8C
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR setHGRPOINTERS
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDY $7F
|
|
|
|
|
CPY #$28
|
|
|
|
|
BCS L8A81
|
|
|
|
|
LDX $83
|
|
|
|
|
JSR L8AF6
|
|
|
|
|
L8A81 LDY $7E
|
|
|
|
|
CPY #$28
|
|
|
|
|
BCS L8A8C
|
|
|
|
|
LDX $82
|
|
|
|
|
JSR L8AF6
|
|
|
|
|
L8A8C LDY $79
|
|
|
|
|
BNE L8AAF
|
|
|
|
|
LDY $75
|
|
|
|
|
CPY #$B0
|
|
|
|
|
BCS L8AAF
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR setHGRPOINTERS
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDY $7F
|
|
|
|
|
CPY #$28
|
|
|
|
|
BCS L8AA4
|
|
|
|
|
LDX $83
|
|
|
|
|
JSR L8AF6
|
|
|
|
|
L8AA4 LDY $7E
|
|
|
|
|
CPY #$28
|
|
|
|
|
BCS L8AAF
|
|
|
|
|
LDX $82
|
|
|
|
|
JSR L8AF6
|
|
|
|
|
L8AAF LDY $7B
|
|
|
|
|
BNE L8AD2
|
|
|
|
|
LDY $77
|
|
|
|
|
CPY #$B0
|
|
|
|
|
BCS L8AD2
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR setHGRPOINTERS
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDY $80
|
|
|
|
|
CPY #$28
|
|
|
|
|
BCS L8AC7
|
|
|
|
|
LDX $84
|
|
|
|
|
JSR L8AF6
|
|
|
|
|
L8AC7 LDY $7D
|
|
|
|
|
CPY #$28
|
|
|
|
|
BCS L8AD2
|
|
|
|
|
LDX $81
|
|
|
|
|
JSR L8AF6
|
|
|
|
|
L8AD2 LDY $7A
|
|
|
|
|
BNE L8AF5
|
|
|
|
|
LDY $76
|
|
|
|
|
CPY #$B0
|
|
|
|
|
BCS L8AF5
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR setHGRPOINTERS
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDY $80
|
|
|
|
|
CPY #$28
|
|
|
|
|
BCS L8AEA
|
|
|
|
|
LDX $84
|
|
|
|
|
JSR L8AF6
|
|
|
|
|
L8AEA LDY $7D
|
|
|
|
|
CPY #$28
|
|
|
|
|
BCS L8AF5
|
|
|
|
|
LDX $81
|
|
|
|
|
JMP L8AF6
|
|
|
|
|
L8AF5 RTS
|
|
|
|
|
|
|
|
|
|
L8AF6 LDA $72
|
|
|
|
|
BNE L8B02
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrHGR1),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
AND L8B0C,X
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA (ptrHGR1),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
RTS
|
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L8B02 LDA (ptrHGR2),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
AND L8B13,X
|
2024-02-14 20:46:43 +00:00
|
|
|
|
ORA (ptrHGR1),Y
|
|
|
|
|
STA (ptrHGR1),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
RTS
|
|
|
|
|
|
|
|
|
|
L8B0C HEX F0F0F0F08F8F8F
|
|
|
|
|
L8B13 HEX 8F8F8F8FF0F0F0
|
|
|
|
|
|
|
|
|
|
*-------------------------------
|
|
|
|
|
* SHOW GAME OVER
|
|
|
|
|
*-------------------------------
|
|
|
|
|
|
2024-02-09 22:22:41 +00:00
|
|
|
|
animGAMEOVER
|
|
|
|
|
LDA #$01
|
2023-07-08 16:35:15 +00:00
|
|
|
|
STA L8D4B
|
2024-02-08 21:48:24 +00:00
|
|
|
|
LDA #>HGR1
|
|
|
|
|
STA hgrPAGE
|
2023-07-08 16:35:15 +00:00
|
|
|
|
|
|
|
|
|
L8B23 JSR L8BCF
|
|
|
|
|
JSR L8BBE
|
|
|
|
|
JSR L8BAD
|
|
|
|
|
JSR L8B9C
|
|
|
|
|
JSR L8B8B
|
|
|
|
|
JSR L8B7A
|
|
|
|
|
JSR L8B8B
|
|
|
|
|
JSR L8B9C
|
|
|
|
|
JSR L8BAD
|
|
|
|
|
JSR L8BBE
|
|
|
|
|
JSR L8BCF
|
|
|
|
|
JSR L8C24
|
|
|
|
|
JSR L8C13
|
|
|
|
|
JSR L8C02
|
|
|
|
|
JSR L8BF1
|
|
|
|
|
JSR L8BE0
|
|
|
|
|
JSR L8BF1
|
|
|
|
|
JSR L8C02
|
|
|
|
|
JSR L8C13
|
|
|
|
|
JSR L8C24
|
|
|
|
|
LDA L8D4B
|
|
|
|
|
CMP #$64
|
|
|
|
|
BCC L8B23
|
|
|
|
|
JSR L8BCF
|
|
|
|
|
JSR L8BBE
|
|
|
|
|
JSR L8BAD
|
|
|
|
|
JSR L8B9C
|
|
|
|
|
JSR L8B8B
|
|
|
|
|
JSR L8B7A
|
|
|
|
|
CLC
|
|
|
|
|
RTS
|
|
|
|
|
|
|
|
|
|
L8B7A JSR L8CE5
|
|
|
|
|
HEX 000102030405060708090A020100
|
|
|
|
|
L8B8B JSR L8CE5
|
|
|
|
|
HEX 0000010203040507090A02010000
|
|
|
|
|
L8B9C JSR L8CE5
|
|
|
|
|
HEX 00000001020304090A0201000000
|
|
|
|
|
L8BAD JSR L8CE5
|
|
|
|
|
HEX 000000000102030A020100000000
|
|
|
|
|
L8BBE JSR L8CE5
|
|
|
|
|
HEX 000000000001030A010000000000
|
|
|
|
|
L8BCF JSR L8CE5
|
|
|
|
|
HEX 0000000000000101000000000000
|
|
|
|
|
L8BE0 JSR L8CE5
|
|
|
|
|
HEX 0001020A09080706050403020100
|
|
|
|
|
L8BF1 JSR L8CE5
|
|
|
|
|
HEX 000001020A090705040302010000
|
|
|
|
|
L8C02 JSR L8CE5
|
|
|
|
|
HEX 00000001020A0904030201000000
|
|
|
|
|
L8C13 JSR L8CE5
|
|
|
|
|
HEX 0000000001020A03020100000000
|
|
|
|
|
L8C24 JSR L8CE5
|
|
|
|
|
HEX 0000000000010A03010000000000
|
|
|
|
|
|
|
|
|
|
L8C35 HEX 8080808080808080808080808080
|
|
|
|
|
L8C43 HEX C0AAD5AAD5AAD5AAD5AAD5AAD580
|
|
|
|
|
L8C51 HEX 9080808080808080808080808082
|
|
|
|
|
L8C5F HEX 90AAD1A2D5A885A8C5A2D4A29582
|
|
|
|
|
L8C6D HEX 908291A2C5A88088C5A294A09082
|
|
|
|
|
L8C7B HEX 908290A2C4A88088C5A294A09082
|
|
|
|
|
L8C89 HEX 908290A2C4A88188C4A2D4A09582
|
|
|
|
|
L8C97 HEX 90A2D1A2C4888088C4A284A08582
|
|
|
|
|
L8CA5 HEX 908291A2C4888088C4AA84A08582
|
|
|
|
|
L8CB3 HEX 908291A2C4888088C48A84A09182
|
|
|
|
|
L8CC1 HEX 90AA91A2C4A885A88582D4A29182
|
|
|
|
|
|
|
|
|
|
L8CCF DA L8C35-$D
|
|
|
|
|
DA L8C43-$D
|
|
|
|
|
DA L8C51-$D
|
|
|
|
|
DA L8C5F-$D
|
|
|
|
|
DA L8C6D-$D
|
|
|
|
|
DA L8C7B-$D
|
|
|
|
|
DA L8C89-$D
|
|
|
|
|
DA L8C97-$D
|
|
|
|
|
DA L8CA5-$D
|
|
|
|
|
DA L8CB3-$D
|
|
|
|
|
DA L8CC1-$D
|
|
|
|
|
|
|
|
|
|
L8CE5 PLA
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrDATA
|
2023-07-08 16:35:15 +00:00
|
|
|
|
PLA
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA ptrDATA+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDY #$50
|
2024-02-08 21:48:24 +00:00
|
|
|
|
STY theY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L8D12
|
2024-02-08 21:48:24 +00:00
|
|
|
|
L8CF1 JSR setHGRPOINTER
|
2023-07-08 16:35:15 +00:00
|
|
|
|
LDY #$00
|
2024-02-14 20:46:43 +00:00
|
|
|
|
LDA (ptrDATA),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
ASL
|
|
|
|
|
TAX
|
|
|
|
|
LDA L8CCF,X
|
|
|
|
|
STA L8D08+1
|
|
|
|
|
LDA L8CCF+1,X
|
|
|
|
|
STA L8D08+2
|
|
|
|
|
LDY #$0D
|
|
|
|
|
L8D08 LDA L8D08,Y
|
2024-02-14 20:46:43 +00:00
|
|
|
|
STA (ptrHGR1),Y
|
2023-07-08 16:35:15 +00:00
|
|
|
|
INY
|
|
|
|
|
CPY #$1B
|
|
|
|
|
BCC L8D08
|
|
|
|
|
L8D12 JSR L8D4C
|
2024-02-08 21:48:24 +00:00
|
|
|
|
INC theY
|
|
|
|
|
LDY theY
|
2023-07-08 16:35:15 +00:00
|
|
|
|
CPY #$5F
|
|
|
|
|
BCC L8CF1
|
|
|
|
|
LDX L8D4B
|
|
|
|
|
LDY #$FF
|
|
|
|
|
L8D22 DEY
|
|
|
|
|
BNE L8D22
|
|
|
|
|
DEX
|
|
|
|
|
BNE L8D22
|
|
|
|
|
INC L8D4B
|
2024-02-12 18:28:22 +00:00
|
|
|
|
LDA fgINPUT
|
2024-02-08 21:48:24 +00:00
|
|
|
|
CMP #chrK
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BEQ L8D3B
|
|
|
|
|
LDA BUTN1
|
|
|
|
|
BMI L8D41
|
|
|
|
|
LDA BUTN0
|
|
|
|
|
BMI L8D41
|
|
|
|
|
L8D3B LDA KBD
|
|
|
|
|
BMI L8D41
|
|
|
|
|
RTS
|
|
|
|
|
|
|
|
|
|
L8D41 PLA
|
|
|
|
|
PLA
|
|
|
|
|
SEC
|
|
|
|
|
LDA KBD
|
|
|
|
|
STA KBDSTROBE
|
|
|
|
|
RTS
|
|
|
|
|
|
|
|
|
|
L8D4B DB $9D
|
|
|
|
|
|
2024-02-14 20:46:43 +00:00
|
|
|
|
L8D4C INC ptrDATA
|
2023-07-08 16:35:15 +00:00
|
|
|
|
BNE L8D52
|
2024-02-14 20:46:43 +00:00
|
|
|
|
INC ptrDATA+1
|
2023-07-08 16:35:15 +00:00
|
|
|
|
L8D52 RTS
|
|
|
|
|
|
|
|
|
|
ds \
|
|
|
|
|
|
|
|
|
|
*-------------------------------
|
|
|
|
|
* NOT USED?
|
|
|
|
|
*-------------------------------
|
|
|
|
|
|
|
|
|
|
L8E00 LDA #$44 ; MASTER DISKETTE
|
|
|
|
|
STA $0478
|
|
|
|
|
LDA #$00
|
|
|
|
|
JSR LB9A0
|
|
|
|
|
NOP
|
|
|
|
|
NOP
|
|
|
|
|
NOP
|
|
|
|
|
NOP
|
|
|
|
|
NOP
|
|
|
|
|
NOP
|
|
|
|
|
LDA #$20
|
|
|
|
|
STA $4F
|
|
|
|
|
L8E14 DEY
|
|
|
|
|
BNE L8E20
|
|
|
|
|
DEC $4F
|
|
|
|
|
BNE L8E20
|
|
|
|
|
JMP LBEAF
|
|
|
|
|
|
|
|
|
|
NOP
|
|
|
|
|
NOP
|
|
|
|
|
L8E20 LDA $C08C,X
|
|
|
|
|
BPL L8E20
|
|
|
|
|
L8E25 CMP #$D4
|
|
|
|
|
BNE L8E14
|
|
|
|
|
NOP
|
|
|
|
|
L8E2A LDA $C08C,X
|
|
|
|
|
BPL L8E2A
|
|
|
|
|
L8E2F CMP #$D5
|
|
|
|
|
BNE L8E25
|
|
|
|
|
NOP
|
|
|
|
|
L8E34 LDA $C08C,X
|
|
|
|
|
BPL L8E34
|
|
|
|
|
CMP #$D6
|
|
|
|
|
BNE L8E2F
|
|
|
|
|
LDA $C088,X
|
2024-02-08 21:48:24 +00:00
|
|
|
|
JSR tellMASTERDISK
|
2024-02-14 20:46:43 +00:00
|
|
|
|
JMP editMAIN
|
2023-07-08 16:35:15 +00:00
|
|
|
|
|
|
|
|
|
DB $00
|
|
|
|
|
DB $00
|
|
|
|
|
DB $00
|
|
|
|
|
DB $00
|
|
|
|
|
DB $00
|
|
|
|
|
DB $00
|
|
|
|
|
DB $00
|
|
|
|
|
DB $00
|
|
|
|
|
DB $00
|
|
|
|
|
DB $00
|
|
|
|
|
JMP LB7B5
|
|
|
|
|
|
|
|
|
|
ds \
|
|
|
|
|
|
|
|
|
|
*---------------------------------------
|
|
|
|
|
|
|
|
|
|
put LR.Tables
|
|
|
|
|
put LR.RWTS
|