mirror of
https://github.com/antoinevignau/source.git
synced 2024-06-07 09:29:28 +00:00
circle anim
This commit is contained in:
parent
4c4fa7f6b1
commit
c1cb1f4d36
Binary file not shown.
|
@ -13,11 +13,8 @@
|
||||||
|
|
||||||
theGAME JSR checkJOYSTICK
|
theGAME JSR checkJOYSTICK
|
||||||
|
|
||||||
LDA #chrK ; force keyboard **logo**
|
* LDA #$01 ; read score table
|
||||||
STA fgINPUT
|
* JSR readSCORE
|
||||||
|
|
||||||
LDA #$01 ; read score table
|
|
||||||
JSR readSCORE
|
|
||||||
|
|
||||||
*--- Show title page
|
*--- Show title page
|
||||||
* Data from $0F00 to $1A84
|
* Data from $0F00 to $1A84
|
||||||
|
@ -203,27 +200,42 @@ L6178 JSR playMELODY
|
||||||
JSR animGAMEOVER ; we are dead, anim GAME OVER
|
JSR animGAMEOVER ; we are dead, anim GAME OVER
|
||||||
BCS L61F6
|
BCS L61F6
|
||||||
|
|
||||||
L618E
|
*-----------------------------------
|
||||||
|
* ATTENTE SUR UNE PAGE
|
||||||
|
*-----------------------------------
|
||||||
|
|
||||||
* JSR waitKEYUP
|
* JSR waitKEYUP
|
||||||
LDX #$FF
|
L618E
|
||||||
LDY #$FF
|
LDX #32 ; valeurs d'attente / 255 avant
|
||||||
LDA #$03
|
LDY #32
|
||||||
STA theY
|
* LDA #$03 ; 3
|
||||||
|
* STA theY
|
||||||
|
|
||||||
L6199 LDA fgINPUT
|
L6199 LDA fgINPUT
|
||||||
CMP #chrK
|
CMP #chrK
|
||||||
BEQ L61A9
|
BEQ L61A9 ; check keyboard
|
||||||
LDAl BUTN1
|
cmp #chrP
|
||||||
|
beq L619A
|
||||||
|
LDAL BUTN1 ; check joystick
|
||||||
BMI L6201
|
BMI L6201
|
||||||
LDAl BUTN0
|
LDAL BUTN0
|
||||||
BMI L6201
|
BMI L6201
|
||||||
L61A9 LDAl KBD
|
bpl L61A9
|
||||||
|
|
||||||
|
L619A jsr read4PLAY ; check joypad
|
||||||
|
bmi L6201 ; button 1 pressed?
|
||||||
|
bvs L6201 ; button 2 pressed?
|
||||||
|
|
||||||
|
* LDA KBD
|
||||||
|
L61A9 jsr checkKEY
|
||||||
BMI L61F6
|
BMI L61F6
|
||||||
DEX
|
DEX
|
||||||
BNE L6199
|
BNE L6199
|
||||||
DEY
|
DEY
|
||||||
BNE L6199
|
BNE L6199
|
||||||
DEC theY
|
* DEC theY
|
||||||
BNE L6199
|
* BNE L6199
|
||||||
|
|
||||||
LDA fgDEMO
|
LDA fgDEMO
|
||||||
BNE L61DE
|
BNE L61DE
|
||||||
LDX #$01
|
LDX #$01
|
||||||
|
@ -234,11 +246,11 @@ L61A9 LDAl KBD
|
||||||
LDX fgSOUND
|
LDX fgSOUND
|
||||||
STX L61D0+1
|
STX L61D0+1
|
||||||
STA fgSOUND
|
STA fgSOUND
|
||||||
JMP L6056
|
JMP L6056 ; et boucle
|
||||||
|
|
||||||
L61D0 LDA #$00
|
L61D0 LDA #$00
|
||||||
STA fgSOUND
|
STA fgSOUND
|
||||||
LDAl KBD
|
* LDA KBD
|
||||||
LDX fgKEYBTN0
|
LDX fgKEYBTN0
|
||||||
BEQ L61F6
|
BEQ L61F6
|
||||||
JMP L618E
|
JMP L618E
|
||||||
|
@ -254,7 +266,12 @@ L61E9 JSR showALLSCORES
|
||||||
JMP L618E
|
JMP L618E
|
||||||
L61F3 JMP showTITLEPAGE
|
L61F3 JMP showTITLEPAGE
|
||||||
|
|
||||||
L61F6 STAl KBDSTROBE
|
*-----------------------------------
|
||||||
|
* GESTION TOUCHE MENU ATTENTE
|
||||||
|
*-----------------------------------
|
||||||
|
|
||||||
|
L61F6
|
||||||
|
* STA KBDSTROBE
|
||||||
CMP #chrCTRLE ; Ctrl-E - Editor
|
CMP #chrCTRLE ; Ctrl-E - Editor
|
||||||
BEQ L6211
|
BEQ L6211
|
||||||
CMP #chrRET ; Return
|
CMP #chrRET ; Return
|
||||||
|
@ -269,9 +286,9 @@ L6201 LDX #$00
|
||||||
INX
|
INX
|
||||||
STX theLEVEL
|
STX theLEVEL
|
||||||
STX fgGOODSTART
|
STX fgGOODSTART
|
||||||
LDA #$02
|
LDA #$02 ; mode jeu
|
||||||
STA fgDEMO
|
STA fgDEMO
|
||||||
JMP L6056
|
JMP L6056 ; loop
|
||||||
|
|
||||||
L6211 JMP enterEDITOR ; Jump to the Editor
|
L6211 JMP enterEDITOR ; Jump to the Editor
|
||||||
L6212 jmp meQUIT ; bye for now
|
L6212 jmp meQUIT ; bye for now
|
||||||
|
@ -418,6 +435,7 @@ L62F7 INC fgODDEVEN
|
||||||
LDA theY
|
LDA theY
|
||||||
CMP #lvlHEIGHT
|
CMP #lvlHEIGHT
|
||||||
BCC L62CF
|
BCC L62CF
|
||||||
|
|
||||||
LDA #$02 ; write level
|
LDA #$02 ; write level
|
||||||
JMP diskLEVEL
|
JMP diskLEVEL
|
||||||
|
|
||||||
|
@ -449,7 +467,9 @@ diskLEVEL tax
|
||||||
_BlockMove
|
_BlockMove
|
||||||
sep #$30
|
sep #$30
|
||||||
|
|
||||||
jmp saveLEVELS ; save all levels
|
jsr saveLEVELS ; save all levels
|
||||||
|
clc
|
||||||
|
rts
|
||||||
|
|
||||||
dlLOAD rep #$30 ; load a level
|
dlLOAD rep #$30 ; load a level
|
||||||
pea ^ptrLEVELS
|
pea ^ptrLEVELS
|
||||||
|
@ -1472,19 +1492,26 @@ digDURATION DB $04 ; duration
|
||||||
* DEMO MODE ENGINE ENTRY POINT
|
* DEMO MODE ENGINE ENTRY POINT
|
||||||
*-----------------------------------
|
*-----------------------------------
|
||||||
|
|
||||||
|
L69B7 jsr read4PLAY
|
||||||
|
bmi L69CD ; button 1 pressed?
|
||||||
|
bvs L69CD ; button 2 pressed?
|
||||||
|
|
||||||
L69B8 jsr checkKEY
|
L69B8 jsr checkKEY
|
||||||
* LDAl KBD
|
* LDA KBD
|
||||||
BMI L69CD
|
BMI L69CD
|
||||||
LDA fgINPUT
|
LDA fgINPUT
|
||||||
CMP #chrK
|
CMP #chrK ; keyboard?
|
||||||
BEQ L69D6
|
BEQ L69D6
|
||||||
LDAl BUTN1
|
cmp #chrP ; joypad?
|
||||||
|
beq L69B7
|
||||||
|
LDAL BUTN1 ; then joystick
|
||||||
BMI L69CD
|
BMI L69CD
|
||||||
LDAl BUTN0
|
LDAL BUTN0
|
||||||
BPL L69D6
|
BPL L69D6
|
||||||
L69CD
|
|
||||||
* stal KBDSTROBE
|
* STA KBDSTROBE
|
||||||
LSR fgKEYBTN0
|
|
||||||
|
L69CD LSR fgKEYBTN0 ; key/button pressed
|
||||||
LSR fgPLAY
|
LSR fgPLAY
|
||||||
LDA #$01
|
LDA #$01
|
||||||
STA theMEN ; one man
|
STA theMEN ; one man
|
||||||
|
@ -1533,19 +1560,22 @@ getPLAYERINPUT
|
||||||
CMP #$01
|
CMP #$01
|
||||||
BEQ L69B8
|
BEQ L69B8
|
||||||
jsr checkKEY
|
jsr checkKEY
|
||||||
* ldal KBD
|
* LDAL KBD
|
||||||
* stal KBDSTROBE
|
* stal KBDSTROBE
|
||||||
STA theA
|
STA theA
|
||||||
BMI L6A2B
|
BMI L6A2B
|
||||||
LDA fgINPUT
|
LDA fgINPUT
|
||||||
CMP #chrK
|
CMP #chrK
|
||||||
BEQ L6A55
|
BEQ L6A55
|
||||||
|
cmp #chrP
|
||||||
|
beq L6A29
|
||||||
L6A28 JMP getJOYSTICKKEY
|
L6A28 JMP getJOYSTICKKEY
|
||||||
|
L6A29 jmp getJOYPADKEY
|
||||||
|
|
||||||
L6A2B CMP #chrSPC ; skip if game key
|
L6A2B CMP #chrSPC ; check control keys
|
||||||
BCS L6A49
|
BCS L6A49 ; that is a game key
|
||||||
STA theA
|
* STA theA
|
||||||
LDY #$FF
|
LDY #$FF ; that's a control key
|
||||||
L6A33 INY
|
L6A33 INY
|
||||||
LDA tblKEY,Y
|
LDA tblKEY,Y
|
||||||
BEQ L6A49
|
BEQ L6A49
|
||||||
|
@ -1565,8 +1595,10 @@ L6A33 INY
|
||||||
|
|
||||||
L6A49 LDA fgINPUT ; joystick?
|
L6A49 LDA fgINPUT ; joystick?
|
||||||
CMP #chrJ
|
CMP #chrJ
|
||||||
BEQ L6A28 ; yes
|
BEQ L6A28
|
||||||
|
cmp #chrP ; joypad?
|
||||||
|
beq L6A29
|
||||||
|
|
||||||
* LDX theA ; no
|
* LDX theA ; no
|
||||||
* STX theKEY1
|
* STX theKEY1
|
||||||
* STX theKEY2
|
* STX theKEY2
|
||||||
|
@ -1658,9 +1690,11 @@ doSETKEYBOARD
|
||||||
*-------------------------------
|
*-------------------------------
|
||||||
|
|
||||||
doSETJOYPAD
|
doSETJOYPAD
|
||||||
|
lda slot4PLAY
|
||||||
|
beq nojoypad
|
||||||
LDA #chrP
|
LDA #chrP
|
||||||
STA fgINPUT
|
STA fgINPUT
|
||||||
JMP getPLAYERINPUT
|
nojoypad JMP getPLAYERINPUT
|
||||||
|
|
||||||
*-------------------------------
|
*-------------------------------
|
||||||
* 98 - CTRL-X - FLIPS X-AXIS
|
* 98 - CTRL-X - FLIPS X-AXIS
|
||||||
|
@ -1701,26 +1735,44 @@ doSPEEDUP LDA theSPEED
|
||||||
INC theSPEED
|
INC theSPEED
|
||||||
L6ACD JMP getPLAYERINPUT
|
L6ACD JMP getPLAYERINPUT
|
||||||
|
|
||||||
|
*-------------------------------
|
||||||
|
* GET JOYPAD KEY
|
||||||
|
*-------------------------------
|
||||||
|
|
||||||
|
getJOYPADKEY
|
||||||
|
jsr read4PLAY ; button 0: dig left
|
||||||
|
bpl getJOYK1 ; button 1: dig right
|
||||||
|
ldx #chrU
|
||||||
|
bne getJOYK2
|
||||||
|
getJOYK1 bvc getJOYK3
|
||||||
|
ldx #chrO
|
||||||
|
getJOYK2 stx theKEY1
|
||||||
|
stx theKEY2
|
||||||
|
rts
|
||||||
|
getJOYK3 jsr readJOYPAD ; set X/Y
|
||||||
|
bra L6AE8 ; and move on
|
||||||
|
|
||||||
*-------------------------------
|
*-------------------------------
|
||||||
* GET JOYSTICK KEY
|
* GET JOYSTICK KEY
|
||||||
*-------------------------------
|
*-------------------------------
|
||||||
|
|
||||||
getJOYSTICKKEY
|
getJOYSTICKKEY
|
||||||
LDAl BUTN1
|
LDAL BUTN1
|
||||||
BPL L6AD9
|
BPL L6AD9
|
||||||
LDA #chrU ; dig
|
LDA #chrU ; dig left
|
||||||
BNE L6AE0
|
BNE L6AE0
|
||||||
L6AD9 LDAl BUTN0
|
L6AD9 LDAL BUTN0
|
||||||
BPL L6AE5
|
BPL L6AE5
|
||||||
LDA #chrO ; dig
|
LDA #chrO ; dig right
|
||||||
L6AE0 STA theKEY1
|
L6AE0 STA theKEY1
|
||||||
STA theKEY2
|
STA theKEY2
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
L6AE5 JSR readJOYSTICK ; no keys pressed
|
L6AE5 JSR readJOYSTICK ; no keys pressed
|
||||||
LDY theJOYX ; read joystick
|
|
||||||
|
L6AE8 LDY theJOYX ; read joystick
|
||||||
LDA joyXMAX ; clamp
|
LDA joyXMAX ; clamp
|
||||||
CMP #$2E ; return key
|
CMP #ctrJOY ; return key
|
||||||
BEQ L6AFA
|
BEQ L6AFA
|
||||||
CPY joyXMAX
|
CPY joyXMAX
|
||||||
BCS L6B03
|
BCS L6B03
|
||||||
|
@ -1731,7 +1783,7 @@ L6AFA CPY joyXMAX
|
||||||
LDA #chrL
|
LDA #chrL
|
||||||
BNE L6B1E
|
BNE L6B1E
|
||||||
L6B03 LDA joyXMIN
|
L6B03 LDA joyXMIN
|
||||||
CMP #$2E
|
CMP #ctrJOY
|
||||||
BEQ L6B13
|
BEQ L6B13
|
||||||
CPY joyXMIN
|
CPY joyXMIN
|
||||||
BCS L6B1C
|
BCS L6B1C
|
||||||
|
@ -1745,7 +1797,7 @@ L6B1C LDA #chrA-1
|
||||||
L6B1E STA theKEY2
|
L6B1E STA theKEY2
|
||||||
LDY theJOYY
|
LDY theJOYY
|
||||||
LDA joyYMIN
|
LDA joyYMIN
|
||||||
CMP #$2E
|
CMP #ctrJOY
|
||||||
BEQ L6B32
|
BEQ L6B32
|
||||||
CPY joyYMIN
|
CPY joyYMIN
|
||||||
BCS L6B3B
|
BCS L6B3B
|
||||||
|
@ -1756,7 +1808,7 @@ L6B32 CPY joyYMIN
|
||||||
LDA #chrI
|
LDA #chrI
|
||||||
BNE L6B56
|
BNE L6B56
|
||||||
L6B3B LDA joyYMAX
|
L6B3B LDA joyYMAX
|
||||||
CMP #$2E
|
CMP #ctrJOY
|
||||||
BEQ L6B4B
|
BEQ L6B4B
|
||||||
CPY joyYMAX
|
CPY joyYMAX
|
||||||
BCS L6B54
|
BCS L6B54
|
||||||
|
@ -3461,15 +3513,26 @@ displayHIGHSCORES
|
||||||
LDY #$FF
|
LDY #$FF
|
||||||
LDA #$04
|
LDA #$04
|
||||||
STA counter
|
STA counter
|
||||||
|
|
||||||
L77B7 LDA fgINPUT
|
L77B7 LDA fgINPUT
|
||||||
CMP #chrK
|
CMP #chrK
|
||||||
BEQ L77C7
|
BEQ L77C7
|
||||||
LDAl BUTN1
|
cmp #chrJ
|
||||||
|
beq L77B9
|
||||||
|
cmp #chrP
|
||||||
|
bne L77C7
|
||||||
|
jsr read4PLAY
|
||||||
|
bmi L77D6
|
||||||
|
bvs L77D6
|
||||||
|
bvc L77C7
|
||||||
|
|
||||||
|
L77B9 LDAL BUTN1
|
||||||
BMI L77D6
|
BMI L77D6
|
||||||
LDAl BUTN0
|
LDAL BUTN0
|
||||||
BMI L77D6
|
BMI L77D6
|
||||||
|
|
||||||
|
* LDA KBD
|
||||||
L77C7 jsr checkKEY
|
L77C7 jsr checkKEY
|
||||||
* LDAl KBD
|
|
||||||
BMI L77D6
|
BMI L77D6
|
||||||
DEX
|
DEX
|
||||||
BNE L77B7
|
BNE L77B7
|
||||||
|
@ -3477,10 +3540,9 @@ L77C7 jsr checkKEY
|
||||||
BNE L77B7
|
BNE L77B7
|
||||||
DEC counter
|
DEC counter
|
||||||
BNE L77B7
|
BNE L77B7
|
||||||
L77D6
|
* STA KBDSTROBE
|
||||||
* STAl KBDSTROBE
|
|
||||||
* STA TXTPAGE1
|
* STA TXTPAGE1
|
||||||
lda ptrSCREEN+2
|
L77D6 lda ptrSCREEN+2
|
||||||
sta ptrHGR1+2
|
sta ptrHGR1+2
|
||||||
lda #>oldHGR1
|
lda #>oldHGR1
|
||||||
sta hgrPAGE
|
sta hgrPAGE
|
||||||
|
@ -4076,7 +4138,7 @@ L7C41 TXA ; yes, we know the key
|
||||||
PHA
|
PHA
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
tblEDITKEY ASC "PCEMISO"00
|
tblEDITKEY ASC "PCEMISORQ"00
|
||||||
|
|
||||||
tblEDITADD DA editPLAY-1 ; Play level
|
tblEDITADD DA editPLAY-1 ; Play level
|
||||||
DA editCLEAR-1 ; Clear level
|
DA editCLEAR-1 ; Clear level
|
||||||
|
@ -4085,7 +4147,9 @@ tblEDITADD DA editPLAY-1 ; Play level
|
||||||
DA editINIT-1 ; Initialize
|
DA editINIT-1 ; Initialize
|
||||||
DA editCLEARSCORE-1 ; Clear Score file
|
DA editCLEARSCORE-1 ; Clear Score file
|
||||||
da editOPEN-1 ; Open levels
|
da editOPEN-1 ; Open levels
|
||||||
|
da editRESTART-1 ; Restart gale
|
||||||
|
da editBYE-1 ; Quit game
|
||||||
|
|
||||||
*-------------------------------
|
*-------------------------------
|
||||||
* P - PLAY LEVEL
|
* P - PLAY LEVEL
|
||||||
*-------------------------------
|
*-------------------------------
|
||||||
|
@ -4174,16 +4238,6 @@ editMOVE JSR printSTRING
|
||||||
* LDA #$02 ; write
|
* LDA #$02 ; write
|
||||||
* JSR diskLEVEL
|
* JSR diskLEVEL
|
||||||
|
|
||||||
jsr iigsMOVELEVEL
|
|
||||||
|
|
||||||
JMP editLOOP
|
|
||||||
L7D5A JMP editNEXT
|
|
||||||
|
|
||||||
*-------------------------------
|
|
||||||
|
|
||||||
mx %00
|
|
||||||
|
|
||||||
iigsMOVELEVEL
|
|
||||||
rep #$30
|
rep #$30
|
||||||
|
|
||||||
pea ^ptrLEVELS ; set source level
|
pea ^ptrLEVELS ; set source level
|
||||||
|
@ -4205,10 +4259,13 @@ iigsMOVELEVEL
|
||||||
PushLong #256 ; set length
|
PushLong #256 ; set length
|
||||||
_BlockMove
|
_BlockMove
|
||||||
|
|
||||||
jmp saveLEVELS ; save levels and return 8-bit
|
jsr saveLEVELS ; save levels and return 8-bit
|
||||||
|
|
||||||
mx %11
|
mx %11
|
||||||
|
|
||||||
|
JMP editLOOP
|
||||||
|
L7D5A JMP editNEXT
|
||||||
|
|
||||||
*-------------------------------
|
*-------------------------------
|
||||||
* I - INITIALIZE DISKETTE => CLEAR LEVELS
|
* I - INITIALIZE DISKETTE => CLEAR LEVELS
|
||||||
*-------------------------------
|
*-------------------------------
|
||||||
|
@ -4332,13 +4389,43 @@ L7EFE JMP editLOOP
|
||||||
*-------------------------------
|
*-------------------------------
|
||||||
|
|
||||||
editOPEN jsr editSAVECHANGES
|
editOPEN jsr editSAVECHANGES
|
||||||
JSR printSTRING
|
jsr printSTRING
|
||||||
ASC 8D
|
asc 8D
|
||||||
ASC ">>LOAD LEVEL FILE"00
|
asc ">>LOAD LEVEL FILE"00
|
||||||
JSR doLOAD ; load a levels file?
|
jsr doLOAD ; load a levels file?
|
||||||
BCS editOPEN99
|
bcs editOPEN99
|
||||||
JMP editMAIN ; yes
|
jmp editMAIN ; yes
|
||||||
editOPEN99 JMP editNEXT ; no
|
editOPEN99 jmp editLOOP ; no
|
||||||
|
|
||||||
|
*-------------------------------
|
||||||
|
* R - RESTART THE GAME
|
||||||
|
*-------------------------------
|
||||||
|
|
||||||
|
editRESTART jsr editSAVECHANGES
|
||||||
|
jsr printSTRING
|
||||||
|
asc ">>RESTART GAME"8D
|
||||||
|
ASC " THIS RESTARTS THE GAME"8D8D
|
||||||
|
ASC " ARE YOU SURE (Y/N) "00
|
||||||
|
JSR editWAITKEY
|
||||||
|
CMP #chrY
|
||||||
|
BNE editRES99
|
||||||
|
jmp showTITLEPAGE
|
||||||
|
editRES99 jmp editLOOP
|
||||||
|
|
||||||
|
*-------------------------------
|
||||||
|
* Q - QUIT THE GAME
|
||||||
|
*-------------------------------
|
||||||
|
|
||||||
|
editBYE jsr editSAVECHANGES
|
||||||
|
jsr printSTRING
|
||||||
|
asc ">>QUIT GAME"8D
|
||||||
|
ASC " THIS QUITS THE GAME"8D8D
|
||||||
|
ASC " ARE YOU SURE (Y/N) "00
|
||||||
|
JSR editWAITKEY
|
||||||
|
CMP #chrY
|
||||||
|
BNE editBYE99
|
||||||
|
jmp meQUIT
|
||||||
|
editBYE99 jmp editLOOP
|
||||||
|
|
||||||
*-------------------------------
|
*-------------------------------
|
||||||
* EDIT THE LEVEL
|
* EDIT THE LEVEL
|
||||||
|
@ -4537,7 +4624,7 @@ editSAVECHANGES
|
||||||
* STA TXTPAGE2
|
* STA TXTPAGE2
|
||||||
L8062 LDA #$00
|
L8062 LDA #$00
|
||||||
JSR L85F3
|
JSR L85F3
|
||||||
* STAl KBDSTROBE
|
* STA KBDSTROBE
|
||||||
CMP #chrN
|
CMP #chrN
|
||||||
BEQ L8075
|
BEQ L8075
|
||||||
CMP #chrY
|
CMP #chrY
|
||||||
|
@ -4595,7 +4682,7 @@ L80D8 JSR printSTRING
|
||||||
* STA TXTPAGE2
|
* STA TXTPAGE2
|
||||||
LDA #$00
|
LDA #$00
|
||||||
JSR L85F3
|
JSR L85F3
|
||||||
* STAl KBDSTROBE
|
* STA KBDSTROBE
|
||||||
* STA TXTPAGE1
|
* STA TXTPAGE1
|
||||||
lda ptrSCREEN+2
|
lda ptrSCREEN+2
|
||||||
sta ptrHGR1+2
|
sta ptrHGR1+2
|
||||||
|
@ -4632,7 +4719,7 @@ blinkATXY
|
||||||
LDY theX
|
LDY theX
|
||||||
LDA (ptrBOARD),Y
|
LDA (ptrBOARD),Y
|
||||||
JSR blinkSPRITE
|
JSR blinkSPRITE
|
||||||
* STAl KBDSTROBE
|
* STA KBDSTROBE
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
tblEDITKEYS
|
tblEDITKEYS
|
||||||
|
@ -4678,7 +4765,7 @@ L81A4 LDX L824D
|
||||||
CLC
|
CLC
|
||||||
ADC #spr0 ; spr0
|
ADC #spr0 ; spr0
|
||||||
JSR blinkSPRITE
|
JSR blinkSPRITE
|
||||||
* STAl KBDSTROBE
|
* STA KBDSTROBE
|
||||||
CMP #chrRET ; return
|
CMP #chrRET ; return
|
||||||
BEQ L820D
|
BEQ L820D
|
||||||
CMP #chrLA ; left arrow
|
CMP #chrLA ; left arrow
|
||||||
|
@ -4755,14 +4842,12 @@ L822F CLC
|
||||||
TAY
|
TAY
|
||||||
DEY
|
DEY
|
||||||
STY intLEVEL ; and make it our level
|
STY intLEVEL ; and make it our level
|
||||||
tya
|
|
||||||
stal $300
|
|
||||||
CPY #maxLEVEL
|
CPY #maxLEVEL
|
||||||
L823C RTS
|
L823C RTS
|
||||||
|
|
||||||
editWAITKEY LDA #sprEMPTY
|
editWAITKEY LDA #sprEMPTY
|
||||||
JSR blinkSPRITE
|
JSR blinkSPRITE
|
||||||
* STAl KBDSTROBE
|
* STA KBDSTROBE
|
||||||
and #maskUPPER ; lowercase support
|
and #maskUPPER ; lowercase support
|
||||||
CMP #$9B ; escape
|
CMP #$9B ; escape
|
||||||
BNE L824C
|
BNE L824C
|
||||||
|
@ -5090,7 +5175,7 @@ L857F LDX L824D
|
||||||
L8582 LDA scorebuf,X
|
L8582 LDA scorebuf,X
|
||||||
JSR filterCHAR
|
JSR filterCHAR
|
||||||
JSR L85F3
|
JSR L85F3
|
||||||
* STAl KBDSTROBE
|
* STA KBDSTROBE
|
||||||
CMP #chrRET
|
CMP #chrRET
|
||||||
BEQ L85E7
|
BEQ L85E7
|
||||||
CMP #chrLA
|
CMP #chrLA
|
||||||
|
@ -5147,7 +5232,7 @@ L85F6 LDA #$68
|
||||||
LDA #sprCURSOR
|
LDA #sprCURSOR
|
||||||
L8601 JSR coutHGR1 ; not 2
|
L8601 JSR coutHGR1 ; not 2
|
||||||
L8604 jsr checkKEY
|
L8604 jsr checkKEY
|
||||||
* LDAl KBD
|
* LDA KBD
|
||||||
BMI L8628
|
BMI L8628
|
||||||
JSR checkMOVEMENT
|
JSR checkMOVEMENT
|
||||||
DEC counter
|
DEC counter
|
||||||
|
@ -5157,7 +5242,7 @@ L8604 jsr checkKEY
|
||||||
LDA #$68
|
LDA #$68
|
||||||
STA counter
|
STA counter
|
||||||
L8619 jsr checkKEY
|
L8619 jsr checkKEY
|
||||||
* LDAl KBD
|
* LDA KBD
|
||||||
BMI L8628
|
BMI L8628
|
||||||
JSR checkMOVEMENT
|
JSR checkMOVEMENT
|
||||||
DEC counter
|
DEC counter
|
||||||
|
@ -5273,7 +5358,7 @@ L86D2 DEX
|
||||||
BNE L86D2
|
BNE L86D2
|
||||||
LDA fgSOUND
|
LDA fgSOUND
|
||||||
BEQ L86DC
|
BEQ L86DC
|
||||||
LDAl SPKR
|
LDAL SPKR
|
||||||
L86DC DEY
|
L86DC DEY
|
||||||
BNE L86D0
|
BNE L86D0
|
||||||
RTS
|
RTS
|
||||||
|
@ -5317,7 +5402,7 @@ L8703 LDA #$68
|
||||||
LDA #sprCURSOR ; cursor sprite
|
LDA #sprCURSOR ; cursor sprite
|
||||||
L8710 JSR coutHGR1 ; output empty
|
L8710 JSR coutHGR1 ; output empty
|
||||||
L8713 jsr checkKEY
|
L8713 jsr checkKEY
|
||||||
* LDAl KBD ; key pressed?
|
* LDA KBD ; key pressed?
|
||||||
BMI L873C ; yes
|
BMI L873C ; yes
|
||||||
JSR checkMOVEMENT ; buttons pressed?
|
JSR checkMOVEMENT ; buttons pressed?
|
||||||
BCS L873C ; yes
|
BCS L873C ; yes
|
||||||
|
@ -5328,7 +5413,7 @@ L8713 jsr checkKEY
|
||||||
LDA #$68 ; redo the wait
|
LDA #$68 ; redo the wait
|
||||||
STA counter
|
STA counter
|
||||||
L872B jsr checkKEY
|
L872B jsr checkKEY
|
||||||
* LDAl KBD
|
* LDA KBD
|
||||||
BMI L873C
|
BMI L873C
|
||||||
JSR checkMOVEMENT
|
JSR checkMOVEMENT
|
||||||
BCS L873C
|
BCS L873C
|
||||||
|
@ -5344,6 +5429,32 @@ L873C PHA ; exit with
|
||||||
|
|
||||||
bsDATA DB $06
|
bsDATA DB $06
|
||||||
|
|
||||||
|
*-----------------------------------
|
||||||
|
* READ JOYPAD
|
||||||
|
*-----------------------------------
|
||||||
|
|
||||||
|
readJOYPAD jsr read4PLAY
|
||||||
|
|
||||||
|
ldx #ctrJOY ; default values
|
||||||
|
ldy #ctrJOY
|
||||||
|
|
||||||
|
ror ; test up
|
||||||
|
bcc readJOYP1 ; no
|
||||||
|
ldy #0 ; yes
|
||||||
|
readJOYP1 ror ; test down
|
||||||
|
bcc readJOYP2 ; no
|
||||||
|
ldy #255 ; yes
|
||||||
|
readJOYP2 ror ; test left
|
||||||
|
bcc readJOYP3 ; no
|
||||||
|
ldx #0 ; yes
|
||||||
|
readJOYP3 ror ; test right
|
||||||
|
bcc readJOYP4 ; no
|
||||||
|
ldx #255 ; yes
|
||||||
|
|
||||||
|
readJOYP4 stx theX ; store values
|
||||||
|
sty theY
|
||||||
|
rts
|
||||||
|
|
||||||
*-----------------------------------
|
*-----------------------------------
|
||||||
* READ JOYSTICK
|
* READ JOYSTICK
|
||||||
*-----------------------------------
|
*-----------------------------------
|
||||||
|
@ -5352,15 +5463,15 @@ readJOYSTICK
|
||||||
LDA #$00
|
LDA #$00
|
||||||
STA theJOYX
|
STA theJOYX
|
||||||
STA theJOYY
|
STA theJOYY
|
||||||
LDAl PTRIG
|
LDAL PTRIG
|
||||||
L874F LDX #$01
|
L874F LDX #$01
|
||||||
L8751 LDAl PADDL0,X
|
L8751 LDAL PADDL0,X
|
||||||
BPL L8769
|
BPL L8769
|
||||||
INC theJOYX,X
|
INC theJOYX,X
|
||||||
L8758 DEX
|
L8758 DEX
|
||||||
BPL L8751
|
BPL L8751
|
||||||
LDAl PADDL0
|
LDAL PADDL0
|
||||||
ORAl PADDL1
|
ORAL PADDL1
|
||||||
BPL L876C
|
BPL L876C
|
||||||
LDA theJOYX
|
LDA theJOYX
|
||||||
ORA theJOYY
|
ORA theJOYY
|
||||||
|
@ -5377,8 +5488,24 @@ checkMOVEMENT
|
||||||
LDA fgINPUT
|
LDA fgINPUT
|
||||||
CMP #chrK
|
CMP #chrK
|
||||||
BEQ L8798
|
BEQ L8798
|
||||||
JSR readJOYSTICK
|
cmp #chrJ
|
||||||
LDA theJOYX
|
beq checkMOV1
|
||||||
|
cmp #chrP
|
||||||
|
bne L8798
|
||||||
|
|
||||||
|
jsr readJOYPAD
|
||||||
|
lda the4PLAY ; check buttons state now
|
||||||
|
bmi L8796
|
||||||
|
bvs L8796
|
||||||
|
bra checkMOV2 ; now check movement
|
||||||
|
|
||||||
|
checkMOV1 JSR readJOYSTICK
|
||||||
|
LDAL BUTN1
|
||||||
|
BMI L8796
|
||||||
|
LDAL BUTN0
|
||||||
|
BMI L8796
|
||||||
|
|
||||||
|
checkMOV2 LDA theJOYX
|
||||||
CMP #minJOY
|
CMP #minJOY
|
||||||
BCC L8796
|
BCC L8796
|
||||||
CMP #maxJOY
|
CMP #maxJOY
|
||||||
|
@ -5388,10 +5515,6 @@ checkMOVEMENT
|
||||||
BCC L8796
|
BCC L8796
|
||||||
CMP #maxJOY
|
CMP #maxJOY
|
||||||
BCS L8796
|
BCS L8796
|
||||||
LDAl BUTN1
|
|
||||||
BMI L8796
|
|
||||||
LDAl BUTN0
|
|
||||||
BMI L8796
|
|
||||||
CLC
|
CLC
|
||||||
RTS
|
RTS
|
||||||
L8796 SEC
|
L8796 SEC
|
||||||
|
@ -5410,9 +5533,9 @@ L879A DEY ; to compensate
|
||||||
*-----------------------------------
|
*-----------------------------------
|
||||||
|
|
||||||
checkJOYSTICK
|
checkJOYSTICK
|
||||||
LDAl PTRIG
|
LDAL PTRIG
|
||||||
LDX #$10
|
LDX #$10
|
||||||
L87A7 LDAl PADDL0
|
L87A7 LDAL PADDL0
|
||||||
ORAl PADDL1
|
ORAl PADDL1
|
||||||
BPL L87B9
|
BPL L87B9
|
||||||
DEY
|
DEY
|
||||||
|
@ -5431,7 +5554,7 @@ playSOUND STA ptrDATA
|
||||||
STX $0B
|
STX $0B
|
||||||
L87BE LDA fgSOUND
|
L87BE LDA fgSOUND
|
||||||
BEQ L87C5
|
BEQ L87C5
|
||||||
LDAl SPKR
|
LDAL SPKR
|
||||||
L87C5 DEY
|
L87C5 DEY
|
||||||
BNE L87CC
|
BNE L87CC
|
||||||
DEC $0B
|
DEC $0B
|
||||||
|
@ -5614,35 +5737,34 @@ tblDELTAX HEX FEFF000102 ; -2, -1, 0, 1, 2
|
||||||
* CIRCLE ANIMATION - LOGO
|
* CIRCLE ANIMATION - LOGO
|
||||||
*-------------------------------
|
*-------------------------------
|
||||||
|
|
||||||
|
caMAXSTEP = 190 ; 170
|
||||||
|
caDFTCENY = 88
|
||||||
|
caDFTCENX = 160 ; 140
|
||||||
|
|
||||||
circleANIMATION
|
circleANIMATION
|
||||||
LDA #$58 ; 88
|
LDA #caDFTCENY ; 88
|
||||||
STA $73
|
STA $73
|
||||||
LDA #$8C ; 140
|
LDA #caDFTCENX ; 140
|
||||||
STA $74
|
STA $74
|
||||||
LDA fgCIRCLE ; inner or outer animation?
|
LDA fgCIRCLE ; inner or outer animation?
|
||||||
BEQ L88BD ; show the level
|
BEQ L88BD ; show the level
|
||||||
|
|
||||||
*--- hide the level
|
*--- hide the level
|
||||||
|
|
||||||
rep #$30
|
LDX #caMAXSTEP ; 170
|
||||||
PushWord #0
|
STX $6D
|
||||||
_ClearScreen
|
LDX #0 ; 0
|
||||||
sep #$30
|
STX caFGMODE
|
||||||
|
L88B6 JSR L88D7
|
||||||
* LDX #$AA ; 170
|
DEC $6D
|
||||||
* STX $6D
|
BNE L88B6
|
||||||
* LDX #$00 ; 0
|
|
||||||
* STX $72
|
|
||||||
*L88B6 JSR L88D7
|
|
||||||
* DEC $6D
|
|
||||||
* BNE L88B6
|
|
||||||
|
|
||||||
*--- show the level
|
*--- show the level
|
||||||
|
|
||||||
L88BD LDA #$01 ; 1
|
L88BD LDA #$01 ; 1
|
||||||
STA $6D
|
STA $6D
|
||||||
STA fgCIRCLE
|
STA fgCIRCLE
|
||||||
STA $72 ; 1
|
STA caFGMODE ; 1
|
||||||
|
|
||||||
lda #>oldHGR1 ; was 2 **logo**
|
lda #>oldHGR1 ; was 2 **logo**
|
||||||
sta activePAGE
|
sta activePAGE
|
||||||
|
@ -5651,23 +5773,17 @@ L88BD LDA #$01 ; 1
|
||||||
* JSR printMEN
|
* JSR printMEN
|
||||||
* JSR printLEVEL
|
* JSR printLEVEL
|
||||||
|
|
||||||
rep #$30
|
|
||||||
PushLong #HGR2
|
|
||||||
PushLong ptrSCREEN
|
|
||||||
PushLong #hgrTOMOVE
|
|
||||||
_BlockMove
|
|
||||||
sep #$30
|
|
||||||
rts
|
|
||||||
|
|
||||||
L88CB JSR L88D7
|
L88CB JSR L88D7
|
||||||
INC $6D
|
INC $6D
|
||||||
LDA $6D
|
LDA $6D
|
||||||
CMP #$AA ; 170
|
CMP #caMAXSTEP ; 170
|
||||||
BNE L88CB
|
BNE L88CB
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
*---
|
*---
|
||||||
|
|
||||||
|
caMAXMASK = 1 ; HGR: 6, SHR: 1
|
||||||
|
|
||||||
L88D7 LDA $6D
|
L88D7 LDA $6D
|
||||||
STA $69
|
STA $69
|
||||||
LDA #$00
|
LDA #$00
|
||||||
|
@ -5713,12 +5829,12 @@ L88D7 LDA $6D
|
||||||
TAX
|
TAX
|
||||||
LDA #$00
|
LDA #$00
|
||||||
SBC #$00
|
SBC #$00
|
||||||
JSR L8A45
|
JSR caCALCX
|
||||||
STY $7D
|
STY $7D
|
||||||
STA $81
|
STA $81
|
||||||
LDX $74
|
LDX $74
|
||||||
LDA #$00
|
LDA #$00
|
||||||
JSR L8A45
|
JSR caCALCX
|
||||||
STY $7E
|
STY $7E
|
||||||
STY $7F
|
STY $7F
|
||||||
STA $82
|
STA $82
|
||||||
|
@ -5729,7 +5845,7 @@ L88D7 LDA $6D
|
||||||
TAX
|
TAX
|
||||||
LDA #$00
|
LDA #$00
|
||||||
ADC #$00
|
ADC #$00
|
||||||
JSR L8A45
|
JSR caCALCX
|
||||||
STY $80
|
STY $80
|
||||||
STA $84
|
STA $84
|
||||||
L8951 LDA $68
|
L8951 LDA $68
|
||||||
|
@ -5742,13 +5858,13 @@ L8959 LDA $67
|
||||||
LDA $68
|
LDA $68
|
||||||
CMP $6A
|
CMP $6A
|
||||||
BNE L8968
|
BNE L8968
|
||||||
JMP L8A69
|
JMP caDRAWPOINTS
|
||||||
L8968 RTS
|
L8968 RTS
|
||||||
|
|
||||||
L8969 LDA $67
|
L8969 LDA $67
|
||||||
CMP $69
|
CMP $69
|
||||||
BCS L8959
|
BCS L8959
|
||||||
L896F JSR L8A69
|
L896F JSR caDRAWPOINTS
|
||||||
LDA $6C
|
LDA $6C
|
||||||
BPL L89A7
|
BPL L89A7
|
||||||
LDA $67
|
LDA $67
|
||||||
|
@ -5812,6 +5928,7 @@ L89A7 LDA $67
|
||||||
LDA $70
|
LDA $70
|
||||||
ADC $6C
|
ADC $6C
|
||||||
STA $6C
|
STA $6C
|
||||||
|
|
||||||
LDA $69
|
LDA $69
|
||||||
PHP
|
PHP
|
||||||
DEC $69
|
DEC $69
|
||||||
|
@ -5821,18 +5938,20 @@ L89A7 LDA $67
|
||||||
L89EC INC $75
|
L89EC INC $75
|
||||||
BNE L89F2
|
BNE L89F2
|
||||||
INC $79
|
INC $79
|
||||||
|
|
||||||
L89F2 DEC $84
|
L89F2 DEC $84
|
||||||
BPL L89FC
|
BPL L89FC
|
||||||
LDA #$06
|
LDA #caMAXMASK
|
||||||
STA $84
|
STA $84
|
||||||
DEC $80
|
DEC $80
|
||||||
L89FC INC $81
|
L89FC INC $81
|
||||||
LDA $81
|
LDA $81
|
||||||
CMP #$07
|
CMP #caMAXMASK+1
|
||||||
BNE L8A0A
|
BNE L8A0A
|
||||||
LDA #$00
|
LDA #$00
|
||||||
STA $81
|
STA $81
|
||||||
INC $7D
|
INC $7D
|
||||||
|
|
||||||
L8A0A DEC $78
|
L8A0A DEC $78
|
||||||
LDA $78
|
LDA $78
|
||||||
CMP #$FF
|
CMP #$FF
|
||||||
|
@ -5843,11 +5962,12 @@ L8A14 INC $67
|
||||||
INC $68
|
INC $68
|
||||||
L8A1A INC $83
|
L8A1A INC $83
|
||||||
LDA $83
|
LDA $83
|
||||||
CMP #$07
|
CMP #caMAXMASK+1
|
||||||
BNE L8A28
|
BNE L8A28
|
||||||
LDA #$00
|
LDA #$00
|
||||||
STA $83
|
STA $83
|
||||||
INC $7F
|
INC $7F
|
||||||
|
|
||||||
L8A28 DEC $76
|
L8A28 DEC $76
|
||||||
LDA $76
|
LDA $76
|
||||||
CMP #$FF
|
CMP #$FF
|
||||||
|
@ -5858,35 +5978,49 @@ L8A32 INC $77
|
||||||
INC $7B
|
INC $7B
|
||||||
L8A38 DEC $82
|
L8A38 DEC $82
|
||||||
BPL L8A42
|
BPL L8A42
|
||||||
LDA #$06
|
LDA #caMAXMASK
|
||||||
STA $82
|
STA $82
|
||||||
DEC $7E
|
DEC $7E
|
||||||
L8A42 JMP L8951
|
L8A42 JMP L8951
|
||||||
|
|
||||||
L8A45 STX $6F
|
*-----------------------------------
|
||||||
|
* CALCULE LA COLONNE (X/A)
|
||||||
|
*-----------------------------------
|
||||||
|
* in: X/A
|
||||||
|
* out: A: bit index
|
||||||
|
* Y: column
|
||||||
|
|
||||||
|
caBI2BY = 2 ; HGR: 7, SHR: 2
|
||||||
|
|
||||||
|
caCALCX STX $6F
|
||||||
LDY #$08
|
LDY #$08
|
||||||
SEC
|
SEC
|
||||||
SBC #$07
|
SBC #caBI2BY
|
||||||
L8A4C PHP
|
L8A4C PHP
|
||||||
ROL $70
|
ROL $70
|
||||||
ASL $6F
|
ASL $6F
|
||||||
ROL
|
ROL
|
||||||
PLP
|
PLP
|
||||||
BCC L8A5A
|
BCC L8A5A
|
||||||
SBC #$07
|
SBC #caBI2BY
|
||||||
JMP L8A5C
|
JMP L8A5C
|
||||||
|
|
||||||
L8A5A ADC #$07
|
L8A5A ADC #caBI2BY
|
||||||
L8A5C DEY
|
L8A5C DEY
|
||||||
BNE L8A4C
|
BNE L8A4C
|
||||||
BCS L8A64
|
BCS L8A64
|
||||||
ADC #$07
|
ADC #caBI2BY
|
||||||
CLC
|
CLC
|
||||||
L8A64 ROL $70
|
L8A64 ROL $70
|
||||||
LDY $70
|
LDY $70
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
L8A69 LDY $7C
|
*-----------------------------------
|
||||||
|
* DRAW ALL POSSIBLE POINTS
|
||||||
|
*-----------------------------------
|
||||||
|
|
||||||
|
caDRAWPOINTS
|
||||||
|
LDY $7C
|
||||||
BNE L8A8C
|
BNE L8A8C
|
||||||
LDY $78
|
LDY $78
|
||||||
CPY #$B0
|
CPY #$B0
|
||||||
|
@ -5896,12 +6030,12 @@ L8A69 LDY $7C
|
||||||
CPY #hgrWIDTH
|
CPY #hgrWIDTH
|
||||||
BCS L8A81
|
BCS L8A81
|
||||||
LDX $83
|
LDX $83
|
||||||
JSR L8AF6
|
JSR caDRAW
|
||||||
L8A81 LDY $7E
|
L8A81 LDY $7E
|
||||||
CPY #hgrWIDTH
|
CPY #hgrWIDTH
|
||||||
BCS L8A8C
|
BCS L8A8C
|
||||||
LDX $82
|
LDX $82
|
||||||
JSR L8AF6
|
JSR caDRAW
|
||||||
L8A8C LDY $79
|
L8A8C LDY $79
|
||||||
BNE L8AAF
|
BNE L8AAF
|
||||||
LDY $75
|
LDY $75
|
||||||
|
@ -5912,12 +6046,12 @@ L8A8C LDY $79
|
||||||
CPY #hgrWIDTH
|
CPY #hgrWIDTH
|
||||||
BCS L8AA4
|
BCS L8AA4
|
||||||
LDX $83
|
LDX $83
|
||||||
JSR L8AF6
|
JSR caDRAW
|
||||||
L8AA4 LDY $7E
|
L8AA4 LDY $7E
|
||||||
CPY #hgrWIDTH
|
CPY #hgrWIDTH
|
||||||
BCS L8AAF
|
BCS L8AAF
|
||||||
LDX $82
|
LDX $82
|
||||||
JSR L8AF6
|
JSR caDRAW
|
||||||
L8AAF LDY $7B
|
L8AAF LDY $7B
|
||||||
BNE L8AD2
|
BNE L8AD2
|
||||||
LDY $77
|
LDY $77
|
||||||
|
@ -5928,12 +6062,12 @@ L8AAF LDY $7B
|
||||||
CPY #hgrWIDTH
|
CPY #hgrWIDTH
|
||||||
BCS L8AC7
|
BCS L8AC7
|
||||||
LDX $84
|
LDX $84
|
||||||
JSR L8AF6
|
JSR caDRAW
|
||||||
L8AC7 LDY $7D
|
L8AC7 LDY $7D
|
||||||
CPY #hgrWIDTH
|
CPY #hgrWIDTH
|
||||||
BCS L8AD2
|
BCS L8AD2
|
||||||
LDX $81
|
LDX $81
|
||||||
JSR L8AF6
|
JSR caDRAW
|
||||||
L8AD2 LDY $7A
|
L8AD2 LDY $7A
|
||||||
BNE L8AF5
|
BNE L8AF5
|
||||||
LDY $76
|
LDY $76
|
||||||
|
@ -5944,15 +6078,19 @@ L8AD2 LDY $7A
|
||||||
CPY #hgrWIDTH
|
CPY #hgrWIDTH
|
||||||
BCS L8AEA
|
BCS L8AEA
|
||||||
LDX $84
|
LDX $84
|
||||||
JSR L8AF6
|
JSR caDRAW
|
||||||
L8AEA LDY $7D
|
L8AEA LDY $7D
|
||||||
CPY #hgrWIDTH
|
CPY #hgrWIDTH
|
||||||
BCS L8AF5
|
BCS L8AF5
|
||||||
LDX $81
|
LDX $81
|
||||||
JMP L8AF6
|
JMP caDRAW
|
||||||
L8AF5 RTS
|
L8AF5 RTS
|
||||||
|
|
||||||
L8AF6 LDA $72
|
*-----------------------------------
|
||||||
|
* DRAW OR HIDE BYTE
|
||||||
|
*-----------------------------------
|
||||||
|
|
||||||
|
caDRAW LDA caFGMODE
|
||||||
BNE L8B02
|
BNE L8B02
|
||||||
LDA [ptrHGR1],Y ; hide
|
LDA [ptrHGR1],Y ; hide
|
||||||
AND L8B0C,X
|
AND L8B0C,X
|
||||||
|
@ -5965,8 +6103,9 @@ L8B02 LDA [ptrHGR2],Y ; show
|
||||||
STA [ptrHGR1],Y
|
STA [ptrHGR1],Y
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
L8B0C HEX F0F0F0F08F8F8F
|
* 00 01 00 01 02 03 04 05 06
|
||||||
L8B13 HEX 8F8F8F8FF0F0F0
|
L8B0C HEX 00,00 ; F0,F0,F0,F0,8F,8F,8F
|
||||||
|
L8B13 HEX FF,FF ; 8F,8F,8F,8F,F0,F0,F0
|
||||||
|
|
||||||
*-------------------------------
|
*-------------------------------
|
||||||
* SHOW GAME OVER
|
* SHOW GAME OVER
|
||||||
|
@ -6094,20 +6233,20 @@ L8D22 DEY
|
||||||
LDA fgINPUT
|
LDA fgINPUT
|
||||||
CMP #chrK
|
CMP #chrK
|
||||||
BEQ L8D3B
|
BEQ L8D3B
|
||||||
LDAl BUTN1
|
LDAL BUTN1
|
||||||
BMI L8D41
|
BMI L8D41
|
||||||
LDAl BUTN0
|
LDAL BUTN0
|
||||||
BMI L8D41
|
BMI L8D41
|
||||||
L8D3B jsr checkKEY
|
L8D3B jsr checkKEY
|
||||||
* LDAl KBD
|
* LDA KBD
|
||||||
BMI L8D41
|
BMI L8D41
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
L8D41 PLA
|
L8D41 PLA
|
||||||
PLA
|
PLA
|
||||||
SEC
|
SEC
|
||||||
* LDAl KBD
|
* LDA KBD
|
||||||
* STAl KBDSTROBE
|
* STA KBDSTROBE
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
L8D4B DB $9D
|
L8D4B DB $9D
|
||||||
|
|
|
@ -125,7 +125,32 @@ hfoePATH = $63
|
||||||
hfoeIDX = $64 ; foe currently being handled
|
hfoeIDX = $64 ; foe currently being handled
|
||||||
theJOYX = $65
|
theJOYX = $65
|
||||||
theJOYY = $66
|
theJOYY = $66
|
||||||
|
|
||||||
|
caFROM = $67
|
||||||
|
caY16 = $69
|
||||||
|
caTO = $6b
|
||||||
|
caLINE = $6d
|
||||||
|
caTEMP16 = $6f
|
||||||
sprTABLE = $71
|
sprTABLE = $71
|
||||||
|
caFGMODE = $72 ; 0: hide, 1: draw
|
||||||
|
caCENTERY = $73
|
||||||
|
caCENTERX = $74
|
||||||
|
caY1 = $75
|
||||||
|
caY4 = $76
|
||||||
|
caY3 = $77
|
||||||
|
caY2 = $78
|
||||||
|
caY1high = $79 ; <>0, cannot draw point
|
||||||
|
caY4high = $7a ; coz we have 192 lines
|
||||||
|
caY3high = $7b ; not 256+
|
||||||
|
caY2high = $7c
|
||||||
|
caX1 = $7d
|
||||||
|
caX2 = $7e
|
||||||
|
caX3 = $7f
|
||||||
|
caX4 = $80 ; x4 index
|
||||||
|
caX1mask = $81 ; x1 mask index
|
||||||
|
caX2mask = $82 ; x2 mask index
|
||||||
|
caX3mask = $83 ; x3 mask index
|
||||||
|
caX4mask = $84 ; x4 mask index
|
||||||
theX = $85
|
theX = $85
|
||||||
theY = $86
|
theY = $86
|
||||||
activePAGE = $87
|
activePAGE = $87
|
||||||
|
@ -198,6 +223,35 @@ chrZ = "Z" ; last character
|
||||||
|
|
||||||
maskUPPER = %1101_1111
|
maskUPPER = %1101_1111
|
||||||
|
|
||||||
|
*-----------------------------------
|
||||||
|
* 4PLAY
|
||||||
|
*-----------------------------------
|
||||||
|
|
||||||
|
*--- Mask bits
|
||||||
|
|
||||||
|
fpUP = %00000001 ; active high
|
||||||
|
fpDOWN = %00000010 ; active high
|
||||||
|
fpLEFT = %00000100 ; active high
|
||||||
|
fpRIGHT = %00001000 ; active high
|
||||||
|
fpNOTUSED = %00010000
|
||||||
|
fpTRIGGER3 = %00100000 ; active low
|
||||||
|
fpTRIGGER2 = %01000000 ; active high
|
||||||
|
fpTRIGGER1 = %10000000 ; active high
|
||||||
|
|
||||||
|
maskBIT0 = %11111110 ; #$FE masks bit 0
|
||||||
|
maskBIT1 = %11111101 ; #$FD masks bit 1
|
||||||
|
maskBIT2 = %11111011 ; #$FB masks bit 2
|
||||||
|
maskBIT3 = %11110111 ; #$F7 masks bit 3
|
||||||
|
maskBIT4 = %11101111 ; #$EF masks bit 4
|
||||||
|
maskBIT5 = %11011111 ; #$DF masks bit 5
|
||||||
|
maskBIT6 = %10111111 ; #$BF masks bit 6
|
||||||
|
maskBIT7 = %01111111 ; #$7F masks bit 7
|
||||||
|
|
||||||
|
fpDFTVALUE = $20 ; dft value for Rev. B
|
||||||
|
|
||||||
|
slot4PLAY = $f0 ; 0 if none, slot otherwise
|
||||||
|
the4PLAY = slot4PLAY+2 ; value read from the 4play
|
||||||
|
|
||||||
*-----------------------------------
|
*-----------------------------------
|
||||||
* SOFTSWITCHES
|
* SOFTSWITCHES
|
||||||
*-----------------------------------
|
*-----------------------------------
|
||||||
|
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
396
loderunner/source/circleanimation.s
Normal file
396
loderunner/source/circleanimation.s
Normal file
|
@ -0,0 +1,396 @@
|
||||||
|
*
|
||||||
|
* L'animation affiche 4 points par rapport ˆ un centre
|
||||||
|
*
|
||||||
|
|
||||||
|
circleANIMATION
|
||||||
|
LDA #88 ; 88
|
||||||
|
STA caCENTERY
|
||||||
|
LDA #140 ; 140
|
||||||
|
STA caCENTERX
|
||||||
|
|
||||||
|
LDA fgCIRCLE ; inner or outer animation?
|
||||||
|
BEQ L88BD ; show the level
|
||||||
|
|
||||||
|
*--- hide the level
|
||||||
|
|
||||||
|
LDX #170 ; 170
|
||||||
|
STX caCURRENTY
|
||||||
|
LDX #0 ; 0
|
||||||
|
STX caFGMODE
|
||||||
|
L88B6 JSR caDOIT
|
||||||
|
DEC caCURRENTY
|
||||||
|
BNE L88B6
|
||||||
|
|
||||||
|
*--- show the level
|
||||||
|
|
||||||
|
L88BD LDA #1 ; 1
|
||||||
|
STA caCURRENTY
|
||||||
|
STA fgCIRCLE
|
||||||
|
STA caFGMODE ; 1
|
||||||
|
|
||||||
|
JSR printMEN
|
||||||
|
JSR printLEVEL
|
||||||
|
|
||||||
|
L88CB JSR caDOIT
|
||||||
|
INC caCURRENTY
|
||||||
|
LDA caCURRENTY
|
||||||
|
CMP #170
|
||||||
|
BNE L88CB
|
||||||
|
RTS
|
||||||
|
|
||||||
|
*---
|
||||||
|
|
||||||
|
caDOIT LDA caCURRENTY
|
||||||
|
STA caY16
|
||||||
|
LDA #$00
|
||||||
|
STA caY16+1
|
||||||
|
|
||||||
|
STA caFROM ; from 0
|
||||||
|
STA caFROM+1
|
||||||
|
|
||||||
|
LDA caY16 ; to Y*2
|
||||||
|
ASL
|
||||||
|
STA caTO
|
||||||
|
LDA caY16+1
|
||||||
|
ROL
|
||||||
|
STA caTO+1
|
||||||
|
|
||||||
|
LDA #$03 ; corrige de 3
|
||||||
|
SEC
|
||||||
|
SBC caTO
|
||||||
|
STA caTO
|
||||||
|
LDA #$00
|
||||||
|
SBC caTO+1
|
||||||
|
STA caTO+1
|
||||||
|
|
||||||
|
*--- On calcule les Y
|
||||||
|
|
||||||
|
LDA caCENTERY ; Point 1
|
||||||
|
SEC ; vers le haut
|
||||||
|
SBC caCURRENTY
|
||||||
|
STA caY1
|
||||||
|
LDA #$00
|
||||||
|
SBC #$00
|
||||||
|
STA caY1high
|
||||||
|
|
||||||
|
LDA caCENTERY ; Point 2
|
||||||
|
STA caY4 ; Point 3
|
||||||
|
STA caY3
|
||||||
|
|
||||||
|
LDA #$00
|
||||||
|
STA caY4high
|
||||||
|
STA caY3high
|
||||||
|
|
||||||
|
LDA caCENTERY ; Point 4
|
||||||
|
CLC ; vers le bas
|
||||||
|
ADC caCURRENTY
|
||||||
|
STA caY2
|
||||||
|
LDA #$00
|
||||||
|
ADC #$00
|
||||||
|
STA caY2high
|
||||||
|
|
||||||
|
*--- On calcule les X
|
||||||
|
|
||||||
|
LDA caCENTERX ; points ˆ gauche
|
||||||
|
SEC
|
||||||
|
SBC caCURRENTY
|
||||||
|
TAX
|
||||||
|
LDA #$00
|
||||||
|
SBC #$00
|
||||||
|
JSR caCALCX
|
||||||
|
STY caX1 ; x1 index
|
||||||
|
STA caX1mask ; x1 mask index
|
||||||
|
|
||||||
|
LDX caCENTERX ; points centraux
|
||||||
|
LDA #$00
|
||||||
|
JSR caCALCX
|
||||||
|
STY caX2
|
||||||
|
STY caX3
|
||||||
|
STA caX2mask
|
||||||
|
STA caX3mask
|
||||||
|
|
||||||
|
LDA caCENTERX ; points ˆ droite
|
||||||
|
CLC
|
||||||
|
ADC caCURRENTY
|
||||||
|
TAX
|
||||||
|
LDA #$00
|
||||||
|
ADC #$00
|
||||||
|
JSR caCALCX
|
||||||
|
STY caX4 ; x4 index
|
||||||
|
STA caX4mask ; x4 mask index
|
||||||
|
|
||||||
|
*-- On boucle
|
||||||
|
|
||||||
|
L8951 LDA caFROM+1 ; a-t-on tout affichŽ ?
|
||||||
|
CMP caY16+1
|
||||||
|
BCC L896F ; non
|
||||||
|
BEQ L8969
|
||||||
|
L8959 LDA caFROM
|
||||||
|
CMP caY16
|
||||||
|
BNE L8968
|
||||||
|
LDA caFROM+1
|
||||||
|
CMP caY16+1
|
||||||
|
BNE L8968
|
||||||
|
JMP caDRAWPOINTS ; dernier point et sort
|
||||||
|
L8968 RTS ; oui
|
||||||
|
|
||||||
|
L8969 LDA caFROM
|
||||||
|
CMP caY16
|
||||||
|
BCS L8959 ; oui
|
||||||
|
L896F JSR caDRAWPOINTS ; non
|
||||||
|
|
||||||
|
*---
|
||||||
|
|
||||||
|
LDA caTO+1 ; en + ou en -
|
||||||
|
BPL L89A7
|
||||||
|
|
||||||
|
LDA caFROM ; *2
|
||||||
|
ASL
|
||||||
|
STA caTEMP16
|
||||||
|
LDA caFROM+1
|
||||||
|
ROL
|
||||||
|
STA caTEMP16+1
|
||||||
|
|
||||||
|
LDA caTEMP16 ; *4
|
||||||
|
ASL
|
||||||
|
STA caTEMP16
|
||||||
|
LDA caTEMP16+1
|
||||||
|
ROL
|
||||||
|
STA caTEMP16+1
|
||||||
|
|
||||||
|
LDA caTO ; temp16 += to
|
||||||
|
CLC
|
||||||
|
ADC caTEMP16
|
||||||
|
STA caTEMP16
|
||||||
|
LDA caTO+1
|
||||||
|
ADC caTEMP16+1
|
||||||
|
STA caTEMP16+1
|
||||||
|
|
||||||
|
LDA #$06 ; +=6
|
||||||
|
CLC
|
||||||
|
ADC caTEMP16
|
||||||
|
STA caTO
|
||||||
|
LDA #$00
|
||||||
|
ADC caTEMP16+1
|
||||||
|
STA caTO+1
|
||||||
|
JMP L8A14
|
||||||
|
|
||||||
|
L89A7 LDA caFROM
|
||||||
|
SEC
|
||||||
|
SBC caY16
|
||||||
|
STA caTEMP16
|
||||||
|
LDA caFROM+1
|
||||||
|
SBC caY16+1
|
||||||
|
STA caTEMP16+1
|
||||||
|
|
||||||
|
LDA caTEMP16
|
||||||
|
ASL
|
||||||
|
STA caTEMP16
|
||||||
|
LDA caTEMP16+1
|
||||||
|
ROL
|
||||||
|
STA caTEMP16+1
|
||||||
|
|
||||||
|
LDA caTEMP16
|
||||||
|
ASL
|
||||||
|
STA caTEMP16
|
||||||
|
LDA caTEMP16+1
|
||||||
|
ROL
|
||||||
|
STA caTEMP16+1
|
||||||
|
|
||||||
|
LDA caTEMP16
|
||||||
|
CLC
|
||||||
|
ADC #$10
|
||||||
|
STA caTEMP16
|
||||||
|
LDA caTEMP16+1
|
||||||
|
ADC #$00
|
||||||
|
STA caTEMP16+1
|
||||||
|
|
||||||
|
LDA caTEMP16
|
||||||
|
CLC
|
||||||
|
ADC caTO
|
||||||
|
STA caTO
|
||||||
|
LDA caTEMP16+1
|
||||||
|
ADC caTO+1
|
||||||
|
STA caTO+1
|
||||||
|
|
||||||
|
LDA caY16
|
||||||
|
PHP
|
||||||
|
DEC caY16
|
||||||
|
PLP
|
||||||
|
BNE L89EC
|
||||||
|
DEC caY16+1
|
||||||
|
L89EC INC caY1
|
||||||
|
BNE L89F2
|
||||||
|
INC caY1high
|
||||||
|
L89F2 DEC caX4mask
|
||||||
|
BPL L89FC
|
||||||
|
LDA #$06
|
||||||
|
STA caX4mask
|
||||||
|
DEC caX4
|
||||||
|
|
||||||
|
L89FC INC caX1mask
|
||||||
|
LDA caX1mask
|
||||||
|
CMP #$07
|
||||||
|
BNE L8A0A
|
||||||
|
LDA #$00
|
||||||
|
STA caX1mask
|
||||||
|
INC caX1
|
||||||
|
L8A0A DEC caY2
|
||||||
|
LDA caY2
|
||||||
|
CMP #$FF
|
||||||
|
BNE L8A14
|
||||||
|
DEC caY2high
|
||||||
|
|
||||||
|
L8A14 INC caFROM
|
||||||
|
BNE L8A1A
|
||||||
|
INC caFROM+1
|
||||||
|
|
||||||
|
L8A1A INC caX3mask
|
||||||
|
LDA caX3mask
|
||||||
|
CMP #$07
|
||||||
|
BNE L8A28
|
||||||
|
LDA #$00
|
||||||
|
STA caX3mask
|
||||||
|
INC caX3
|
||||||
|
L8A28 DEC caY4
|
||||||
|
LDA caY4
|
||||||
|
CMP #$FF
|
||||||
|
BNE L8A32
|
||||||
|
DEC caY4high
|
||||||
|
|
||||||
|
L8A32 INC caY3 ; y++
|
||||||
|
BNE L8A38
|
||||||
|
INC caY3high
|
||||||
|
L8A38 DEC caX2mask ; mask--
|
||||||
|
BPL L8A42
|
||||||
|
LDA #$06 ; reset mask
|
||||||
|
STA caX2mask
|
||||||
|
DEC caX2 ; x--
|
||||||
|
L8A42 JMP L8951
|
||||||
|
|
||||||
|
*-----------------------------------
|
||||||
|
* CALCULE LA COLONNE (X/A)
|
||||||
|
*-----------------------------------
|
||||||
|
* in: X/A
|
||||||
|
* out: A: bit index
|
||||||
|
* Y: column
|
||||||
|
|
||||||
|
caBI2BY = 2 ; HGR: 7, SHR: 2
|
||||||
|
|
||||||
|
caCALCX STX caTEMP16 ; sauve le bas
|
||||||
|
LDY #$08 ; huit bits
|
||||||
|
SEC ; -7
|
||||||
|
SBC #caBI2BY
|
||||||
|
L8A4C PHP ; sauve
|
||||||
|
ROL caTEMP16+1
|
||||||
|
ASL caTEMP16
|
||||||
|
ROL
|
||||||
|
PLP
|
||||||
|
BCC L8A5A
|
||||||
|
SBC #caBI2BY
|
||||||
|
JMP L8A5C
|
||||||
|
L8A5A ADC #caBI2BY
|
||||||
|
|
||||||
|
L8A5C DEY
|
||||||
|
BNE L8A4C
|
||||||
|
BCS L8A64
|
||||||
|
ADC #caBI2BY ; corrige
|
||||||
|
CLC
|
||||||
|
L8A64 ROL caTEMP16+1 ; retourne les valeurs
|
||||||
|
LDY caTEMP16+1 ; la colonne
|
||||||
|
RTS
|
||||||
|
|
||||||
|
*-----------------------------------
|
||||||
|
* DRAW ALL POSSIBLE POINTS
|
||||||
|
*-----------------------------------
|
||||||
|
|
||||||
|
caDRAWPOINTS
|
||||||
|
LDY caY2high
|
||||||
|
BNE L8A8C
|
||||||
|
LDY caY2
|
||||||
|
CPY #176
|
||||||
|
BCS L8A8C
|
||||||
|
JSR setHGRPOINTERS
|
||||||
|
LDY caX3
|
||||||
|
CPY #hgrWIDTH
|
||||||
|
BCS L8A81
|
||||||
|
LDX caX3mask
|
||||||
|
JSR caDRAW
|
||||||
|
L8A81 LDY caX2
|
||||||
|
CPY #hgrWIDTH
|
||||||
|
BCS L8A8C
|
||||||
|
LDX caX2mask
|
||||||
|
JSR caDRAW
|
||||||
|
|
||||||
|
L8A8C LDY caY1high
|
||||||
|
BNE L8AAF
|
||||||
|
LDY caY1
|
||||||
|
CPY #176
|
||||||
|
BCS L8AAF
|
||||||
|
JSR setHGRPOINTERS
|
||||||
|
LDY caX3
|
||||||
|
CPY #hgrWIDTH
|
||||||
|
BCS L8AA4
|
||||||
|
LDX caX3mask
|
||||||
|
JSR caDRAW
|
||||||
|
L8AA4 LDY caX2
|
||||||
|
CPY #hgrWIDTH
|
||||||
|
BCS L8AAF
|
||||||
|
LDX caX2mask
|
||||||
|
JSR caDRAW
|
||||||
|
|
||||||
|
L8AAF LDY caY3high
|
||||||
|
BNE L8AD2
|
||||||
|
LDY caY3
|
||||||
|
CPY #176
|
||||||
|
BCS L8AD2
|
||||||
|
JSR setHGRPOINTERS
|
||||||
|
LDY caX4
|
||||||
|
CPY #hgrWIDTH
|
||||||
|
BCS L8AC7
|
||||||
|
LDX caX4mask
|
||||||
|
JSR caDRAW
|
||||||
|
L8AC7 LDY caX1
|
||||||
|
CPY #hgrWIDTH
|
||||||
|
BCS L8AD2
|
||||||
|
LDX caX1mask
|
||||||
|
JSR caDRAW
|
||||||
|
|
||||||
|
L8AD2 LDY caY4high
|
||||||
|
BNE L8AF5
|
||||||
|
LDY caY4
|
||||||
|
CPY #176
|
||||||
|
BCS L8AF5
|
||||||
|
JSR setHGRPOINTERS
|
||||||
|
LDY caX4
|
||||||
|
CPY #hgrWIDTH
|
||||||
|
BCS L8AEA
|
||||||
|
LDX caX4mask
|
||||||
|
JSR caDRAW
|
||||||
|
L8AEA LDY caX1
|
||||||
|
CPY #hgrWIDTH
|
||||||
|
BCS L8AF5
|
||||||
|
LDX caX1mask
|
||||||
|
JMP caDRAW
|
||||||
|
L8AF5 RTS
|
||||||
|
|
||||||
|
*-----------------------------------
|
||||||
|
* DRAW OR HIDE BYTE
|
||||||
|
*-----------------------------------
|
||||||
|
|
||||||
|
caDRAW LDA caFGMODE
|
||||||
|
BNE L8B02
|
||||||
|
LDA [ptrHGR1],Y ; hide
|
||||||
|
AND L8B0C,X
|
||||||
|
STA [ptrHGR1],Y
|
||||||
|
RTS
|
||||||
|
|
||||||
|
L8B02 LDA [ptrHGR2],Y ; show
|
||||||
|
AND L8B13,X
|
||||||
|
ORA [ptrHGR1],Y
|
||||||
|
STA [ptrHGR1],Y
|
||||||
|
RTS
|
||||||
|
|
||||||
|
* 00 01 02 03 04 05 06 parce que 7 bits
|
||||||
|
L8B0C HEX F0,F0,F0,F0,8F,8F,8F
|
||||||
|
L8B13 HEX 8F,8F,8F,8F,F0,F0,F0
|
|
@ -88,11 +88,6 @@ FALSE = 0
|
||||||
|
|
||||||
tdc
|
tdc
|
||||||
sta myDP
|
sta myDP
|
||||||
|
|
||||||
lda #diskLEVEL
|
|
||||||
stal $310
|
|
||||||
lda #^diskLEVEL
|
|
||||||
stal $312
|
|
||||||
|
|
||||||
*--- Version du systeme
|
*--- Version du systeme
|
||||||
|
|
||||||
|
@ -191,6 +186,8 @@ noSOUND _HideMenuBar
|
||||||
dex
|
dex
|
||||||
bpl ]lp
|
bpl ]lp
|
||||||
|
|
||||||
|
jsr find4PLAY ; do we have a 4play?
|
||||||
|
|
||||||
lda #0
|
lda #0
|
||||||
beq noPATCH
|
beq noPATCH
|
||||||
jsr setLRPALETTE ; set the LR palette
|
jsr setLRPALETTE ; set the LR palette
|
||||||
|
@ -601,7 +598,7 @@ checkKEY phx
|
||||||
rep #$30
|
rep #$30
|
||||||
|
|
||||||
pha
|
pha
|
||||||
PushWord #%00000000_00001010
|
PushWord #%00000000_00001000
|
||||||
PushLong #taskREC
|
PushLong #taskREC
|
||||||
_GetNextEvent
|
_GetNextEvent
|
||||||
pla
|
pla
|
||||||
|
@ -615,6 +612,7 @@ checkKEY phx
|
||||||
ply
|
ply
|
||||||
plx
|
plx
|
||||||
lda taskMESSAGE
|
lda taskMESSAGE
|
||||||
|
stal $300
|
||||||
ora #%1000_0000 ; set bit 7
|
ora #%1000_0000 ; set bit 7
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
@ -627,7 +625,58 @@ checkNOKEY sep #$30
|
||||||
rts
|
rts
|
||||||
|
|
||||||
mx %00
|
mx %00
|
||||||
|
|
||||||
|
*----------------------------------------
|
||||||
|
* 4PLAY
|
||||||
|
*----------------------------------------
|
||||||
|
|
||||||
|
find4PLAY sep #$30
|
||||||
|
stz slot4PLAY
|
||||||
|
|
||||||
|
ldx #$10
|
||||||
|
]lp ldal $e0c080,x
|
||||||
|
cmp #fpDFTVALUE
|
||||||
|
bne next4PLAY
|
||||||
|
ldal $e0c081,x
|
||||||
|
cmp #fpDFTVALUE
|
||||||
|
bne next4PLAY
|
||||||
|
ldal $e0c082,x
|
||||||
|
cmp #fpDFTVALUE
|
||||||
|
bne next4PLAY
|
||||||
|
ldal $e0c083,x
|
||||||
|
cmp #fpDFTVALUE
|
||||||
|
beq found4PLAY
|
||||||
|
|
||||||
|
next4PLAY txa
|
||||||
|
clc
|
||||||
|
adc #$10
|
||||||
|
tax
|
||||||
|
cpx #$80 ; until slot 8
|
||||||
|
bcc ]lp
|
||||||
|
rep #$30
|
||||||
|
rts
|
||||||
|
|
||||||
|
mx %11
|
||||||
|
|
||||||
|
found4PLAY txa ; set 4PLAY slot
|
||||||
|
ora #$80 ; 10=>90, 20=>A0, 30=>B0...
|
||||||
|
sta read4PLAY+1
|
||||||
|
rep #$30
|
||||||
|
rts
|
||||||
|
|
||||||
|
*----------------------------------------
|
||||||
|
|
||||||
|
mx %11
|
||||||
|
|
||||||
|
read4PLAY ldal $e0C080 ; direct "fast" read
|
||||||
|
sta the4PLAY
|
||||||
|
rts
|
||||||
|
|
||||||
|
mx %00
|
||||||
|
|
||||||
|
*---------- Data
|
||||||
|
|
||||||
|
|
||||||
*----------------------------------------
|
*----------------------------------------
|
||||||
* DATA
|
* DATA
|
||||||
*----------------------------------------
|
*----------------------------------------
|
||||||
|
|
Loading…
Reference in New Issue
Block a user