game over!

This commit is contained in:
Antoine Vignau 2024-02-26 22:43:27 +01:00
parent c1cb1f4d36
commit c40f0feca8
7 changed files with 7338 additions and 7070 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 191 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 187 KiB

Binary file not shown.

View File

@ -5737,46 +5737,45 @@ tblDELTAX HEX FEFF000102 ; -2, -1, 0, 1, 2
* CIRCLE ANIMATION - LOGO
*-------------------------------
caMAXSTEP = 190 ; 170
caMAXSTEP = 170 ; 170
caDFTCENY = 88
caDFTCENX = 160 ; 140
circleANIMATION
LDA #caDFTCENY ; 88
STA $73
STA caCENTERY
LDA #caDFTCENX ; 140
STA $74
STA caCENTERX
LDA fgCIRCLE ; inner or outer animation?
BEQ L88BD ; show the level
*--- hide the level
LDX #caMAXSTEP ; 170
STX $6D
STX caCURRENTY
LDX #0 ; 0
STX caFGMODE
L88B6 JSR L88D7
DEC $6D
L88B6 JSR caDOIT
DEC caCURRENTY
BNE L88B6
*--- show the level
L88BD LDA #$01 ; 1
STA $6D
L88BD LDA #1 ; 1
STA caCURRENTY
STA fgCIRCLE
STA caFGMODE ; 1
lda #>oldHGR1 ; was 2 **logo**
sta activePAGE
jsr drawINFOBAR
* JSR printMEN
* JSR printLEVEL
JSR printMEN
JSR printLEVEL
L88CB JSR L88D7
INC $6D
LDA $6D
CMP #caMAXSTEP ; 170
L88CB JSR caDOIT
INC caCURRENTY
LDA caCURRENTY
CMP #caMAXSTEP
BNE L88CB
RTS
@ -5784,203 +5783,232 @@ L88CB JSR L88D7
caMAXMASK = 1 ; HGR: 6, SHR: 1
L88D7 LDA $6D
STA $69
caDOIT LDA caCURRENTY
STA caY16
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 caCALCX
STY $7D
STA $81
LDX $74
LDA #$00
JSR caCALCX
STY $7E
STY $7F
STA $82
STA $83
LDA $74
CLC
ADC $6D
TAX
LDA #$00
ADC #$00
JSR caCALCX
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 caDRAWPOINTS
L8968 RTS
STA caY16+1
L8969 LDA $67
CMP $69
BCS L8959
L896F JSR caDRAWPOINTS
LDA $6C
BPL L89A7
LDA $67
STA caFROM ; from 0
STA caFROM+1
LDA caY16 ; to Y*2
ASL
STA $6F
LDA $68
STA caTO
LDA caY16+1
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
STA caTO+1
LDA #$03 ; corrige de 3
SEC
SBC caTO
STA caTO
LDA #$00
ADC $70
STA $6C
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 $67
L89A7 LDA caFROM
SEC
SBC $69
STA $6F
LDA $68
SBC $6A
STA $70
LDA $6F
SBC caY16
STA caTEMP16
LDA caFROM+1
SBC caY16+1
STA caTEMP16+1
LDA caTEMP16
ASL
STA $6F
LDA $70
STA caTEMP16
LDA caTEMP16+1
ROL
STA $70
LDA $6F
STA caTEMP16+1
LDA caTEMP16
ASL
STA $6F
LDA $70
STA caTEMP16
LDA caTEMP16+1
ROL
STA $70
LDA $6F
STA caTEMP16+1
LDA caTEMP16
CLC
ADC #$10
STA $6F
LDA $70
STA caTEMP16
LDA caTEMP16+1
ADC #$00
STA $70
LDA $6F
CLC
ADC $6B
STA $6B
LDA $70
ADC $6C
STA $6C
STA caTEMP16+1
LDA $69
LDA caTEMP16
CLC
ADC caTO
STA caTO
LDA caTEMP16+1
ADC caTO+1
STA caTO+1
LDA caY16
PHP
DEC $69
DEC caY16
PLP
BNE L89EC
DEC $6A
L89EC INC $75
DEC caY16+1
L89EC INC caY1
BNE L89F2
INC $79
L89F2 DEC $84
INC caY1high
L89F2 DEC caX4mask
BPL L89FC
LDA #caMAXMASK
STA $84
DEC $80
L89FC INC $81
LDA $81
STA caX4mask
DEC caX4
L89FC INC caX1mask
LDA caX1mask
CMP #caMAXMASK+1
BNE L8A0A
LDA #$00
STA $81
INC $7D
L8A0A DEC $78
LDA $78
STA caX1mask
INC caX1
L8A0A DEC caY2
LDA caY2
CMP #$FF
BNE L8A14
DEC $7C
L8A14 INC $67
DEC caY2high
L8A14 INC caFROM
BNE L8A1A
INC $68
L8A1A INC $83
LDA $83
INC caFROM+1
L8A1A INC caX3mask
LDA caX3mask
CMP #caMAXMASK+1
BNE L8A28
LDA #$00
STA $83
INC $7F
L8A28 DEC $76
LDA $76
STA caX3mask
INC caX3
L8A28 DEC caY4
LDA caY4
CMP #$FF
BNE L8A32
DEC $7A
L8A32 INC $77
DEC caY4high
L8A32 INC caY3 ; y++
BNE L8A38
INC $7B
L8A38 DEC $82
INC caY3high
L8A38 DEC caX2mask ; mask--
BPL L8A42
LDA #caMAXMASK
STA $82
DEC $7E
LDA #caMAXMASK ; reset mask
STA caX2mask
DEC caX2 ; x--
L8A42 JMP L8951
*-----------------------------------
@ -6020,69 +6048,72 @@ L8A64 ROL $70
*-----------------------------------
caDRAWPOINTS
LDY $7C
LDY caY2high
BNE L8A8C
LDY $78
CPY #$B0
LDY caY2
CPY #176
BCS L8A8C
JSR setHGRPOINTERS
LDY $7F
LDY caX3
CPY #hgrWIDTH
BCS L8A81
LDX $83
LDX caX3mask
JSR caDRAW
L8A81 LDY $7E
L8A81 LDY caX2
CPY #hgrWIDTH
BCS L8A8C
LDX $82
LDX caX2mask
JSR caDRAW
L8A8C LDY $79
L8A8C LDY caY1high
BNE L8AAF
LDY $75
CPY #$B0
LDY caY1
CPY #176
BCS L8AAF
JSR setHGRPOINTERS
LDY $7F
LDY caX3
CPY #hgrWIDTH
BCS L8AA4
LDX $83
LDX caX3mask
JSR caDRAW
L8AA4 LDY $7E
L8AA4 LDY caX2
CPY #hgrWIDTH
BCS L8AAF
LDX $82
LDX caX2mask
JSR caDRAW
L8AAF LDY $7B
L8AAF LDY caY3high
BNE L8AD2
LDY $77
CPY #$B0
LDY caY3
CPY #176
BCS L8AD2
JSR setHGRPOINTERS
LDY $80
LDY caX4
CPY #hgrWIDTH
BCS L8AC7
LDX $84
LDX caX4mask
JSR caDRAW
L8AC7 LDY $7D
L8AC7 LDY caX1
CPY #hgrWIDTH
BCS L8AD2
LDX $81
LDX caX1mask
JSR caDRAW
L8AD2 LDY $7A
L8AD2 LDY caY4high
BNE L8AF5
LDY $76
CPY #$B0
LDY caY4
CPY #176
BCS L8AF5
JSR setHGRPOINTERS
LDY $80
LDY caX4
CPY #hgrWIDTH
BCS L8AEA
LDX $84
LDX caX4mask
JSR caDRAW
L8AEA LDY $7D
L8AEA LDY caX1
CPY #hgrWIDTH
BCS L8AF5
LDX $81
LDX caX1mask
JMP caDRAW
L8AF5 RTS
@ -6149,6 +6180,8 @@ L8B23 JSR L8BCF
CLC
RTS
*--- Data here is a list of lines to draw
L8B7A JSR drawGOLINE
HEX 000102030405060708090A020100
L8B8B JSR drawGOLINE
@ -6172,35 +6205,63 @@ L8C13 JSR drawGOLINE
L8C24 JSR drawGOLINE
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
*--- Data here is the HGR data
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
*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
* The new GAME OVER 000102 03040506 07 08090A 0B 0C0D0E0F10 11 12131415 161718 191A1B1C 1D 1E1F2021 22 23242526 27 28292A2B 2C 2D2E
L8C35 hex 000000,00000000,00,000000,00,0000000000,00,00000000,000000,00000000,00,00000000,00,00000000,00,00000000,00,0000
L8C43 hex 000066,66666666,66,666666,66,6666666666,66,66666666,666666,66666666,66,66666666,66,66666666,66,66666666,60,0000
L8C51 hex 006000,00000000,00,000000,00,0000000000,00,00000000,000000,00000000,00,00000000,00,00000000,00,00000000,00,6000
L8C5F hex 006000,66666660,00,666660,00,6666666660,00,66666660,000000,06666666,00,66600060,00,66666660,00,66666660,00,6000
L8C6D hex 006000,60000060,00,600060,00,6666600060,00,66600000,000000,06000666,00,66600060,00,66600000,00,60000060,00,6000
L8C7B hex 006000,60000000,00,600060,00,6000600060,00,66600000,000000,06000666,00,66600060,00,66600000,00,60000060,00,6000
L8C89 hex 006000,60000000,00,600060,00,6000600060,00,66666000,000000,06000006,00,66600060,00,66666000,00,66666660,00,6000
L8C97 hex 006000,60006660,00,666660,00,6000600060,00,60000000,000000,06000006,00,66600060,00,60000000,00,66666000,00,6000
L8CA5 hex 006000,60000060,00,600060,00,6000600060,00,60000000,000000,06000006,00,66666660,00,60000000,00,66666000,00,6000
L8CB3 hex 006000,60000060,00,600060,00,6000600060,00,60000000,000000,06000006,00,66666000,00,60000000,00,66600060,00,6000
L8CC1 hex 006000,66666660,00,600060,00,6000600060,00,66666660,000000,06666666,00,00600000,00,66666660,00,66600060,00,6000
L8CCF DA L8C35
DA L8C43
DA L8C51
DA L8C5F
DA L8C6D
DA L8C7B
DA L8C89
DA L8C97
DA L8CA5
DA L8CB3
DA L8CC1
drawGOLINE PLA ; pour afficher game over
STA ptrDATA
PLA
STA ptrDATA+1
LDY #$50
LDY #$50 ; 1<>re ligne
STY theY
BNE L8D12
L8CF1 JSR setHGRPOINTER
@ -6212,17 +6273,23 @@ L8CF1 JSR setHGRPOINTER
STA L8D08+1
LDA L8CCF+1,X
STA L8D08+2
LDY #$0D
L8D08 LDA L8D08,Y
* LDY #$0D ; 1<>re colonne
ldy #$39
ldx #0
L8D08 LDA L8D08,x
STA [ptrHGR1],Y
INY
CPY #lvlWIDTH-1
* CPY #$1B ; derni<6E>re colonne
inx
cpx #$2f
BCC L8D08
L8D12 JSR L8D4C
INC theY
LDY theY
CPY #hfoeACTION
CPY #$5F ; derni<6E>re ligne
BCC L8CF1
LDX L8D4B
LDY #$FF
L8D22 DEY
@ -6230,10 +6297,20 @@ L8D22 DEY
DEX
BNE L8D22
INC L8D4B
LDA fgINPUT
CMP #chrK
BEQ L8D3B
LDAL BUTN1
cmp #chrJ
beq L8D23
cmp #chrP
bne L8D3B
jsr read4PLAY
bmi L8D41 ; button 1 pressed?
bvs L8D41 ; button 2 pressed?
bvc L8D3B
L8D23 LDAL BUTN1
BMI L8D41
LDAL BUTN0
BMI L8D41

View File

@ -129,7 +129,7 @@ theJOYY = $66
caFROM = $67
caY16 = $69
caTO = $6b
caLINE = $6d
caCURRENTY = $6d
caTEMP16 = $6f
sprTABLE = $71
caFGMODE = $72 ; 0: hide, 1: draw

Binary file not shown.

File diff suppressed because it is too large Load Diff