mirror of
https://github.com/antoinevignau/source.git
synced 2024-12-30 18:31:21 +00:00
757886e58e
Antoine's source code of Blockade
953 lines
17 KiB
ArmAsm
953 lines
17 KiB
ArmAsm
*
|
|
* Blockade: Game
|
|
*
|
|
|
|
*--------------------------------------
|
|
* Gestion du jeu
|
|
|
|
nowPLAY ldx currX
|
|
ldy currY
|
|
jsr calcPLATEAU
|
|
tax
|
|
lda plateauBACK,x ; on ne deplace pas
|
|
and #$ff ; si on a qqch de fixe
|
|
sta valueCURR
|
|
cmp #$07
|
|
beq nowPLAY1
|
|
cmp #$11
|
|
bcs nowPLAY1
|
|
|
|
lda plateauFORE,x ; si rien en fore, alors retour
|
|
and #$ff
|
|
beq nowPLAY2
|
|
|
|
brl nowPLAY20 ; on a qqch en fore
|
|
|
|
*---
|
|
|
|
nowPLAY1 ldy #6
|
|
jsr playSND
|
|
|
|
ldx oldX ; retour sans changement
|
|
stx currX
|
|
ldy oldY
|
|
sty currY
|
|
lda oldC
|
|
sta currC
|
|
rts
|
|
|
|
nowPLAY2 lda #06 ; on affiche le sprite
|
|
ldx currX
|
|
ldy currY
|
|
jsr showSCREEN
|
|
lda oldC
|
|
ldx oldX
|
|
ldy oldY
|
|
jsr showSCREEN
|
|
|
|
lda valueCURR
|
|
sta currC
|
|
|
|
ldy #4
|
|
jsr playSND
|
|
|
|
rts
|
|
|
|
*--- On a qqch en foreground
|
|
|
|
nowPLAY20 sta currC
|
|
|
|
jsr calcNEXT
|
|
bcs nowPLAY1
|
|
|
|
tax
|
|
lda plateauFORE,x
|
|
and #$ff
|
|
sta nextC
|
|
cmp #$11
|
|
bcc nowPLAY201
|
|
|
|
brl nowPLAY1
|
|
|
|
nowPLAY201 eor currC
|
|
cmp #1
|
|
bne nowPLAY22
|
|
|
|
jsr saveALL
|
|
|
|
lda nextC ; regarde si CARRE
|
|
cmp #$0a
|
|
bcs nowPLAY21
|
|
|
|
ldy #10
|
|
jsr playSND
|
|
|
|
dec nbPIECES ; CARRE -> effacer
|
|
dec nbPIECES
|
|
|
|
ldx nextX
|
|
ldy nextY
|
|
jsr calcPLATEAU
|
|
tax
|
|
lda plateauFORE,x
|
|
and #$ff00
|
|
sta plateauFORE,x
|
|
|
|
stz currC
|
|
stz nextC
|
|
brl nowPLAY40
|
|
|
|
nowPLAY21 lda nextC
|
|
sec
|
|
sbc #2
|
|
sta nextC
|
|
|
|
ldy #0
|
|
jsr playSND
|
|
|
|
stz currC
|
|
dec nbPIECES
|
|
brl nowPLAY40
|
|
|
|
nowPLAY22 cmp currC ; si =currC alors on a rien
|
|
beq nowPLAY23 ; en fore
|
|
|
|
brl nowPLAY1
|
|
|
|
nowPLAY23 lda currC
|
|
sta nextC
|
|
|
|
phx
|
|
jsr saveALL
|
|
plx
|
|
|
|
*--- Rien en nextFore, regarde en nextBack
|
|
|
|
nowPLAY30 lda plateauBACK,x
|
|
and #$ff
|
|
cmp #$07
|
|
beq nowPLAY31
|
|
cmp #$11
|
|
bcc nowPLAY32
|
|
|
|
nowPLAY31 brl nowPLAY1
|
|
|
|
nowPLAY32 ldy currC ; gestion du mur mouvant
|
|
cpy #$10
|
|
bne nowPLAY321
|
|
sty nextC
|
|
brl nowPLAY40
|
|
|
|
nowPLAY321 cmp #1 ; force jaune
|
|
bne nowPLAY33
|
|
|
|
ldy #9
|
|
jsr playSND
|
|
|
|
lda currC
|
|
and #$fe
|
|
sta nextC
|
|
brl nowPLAY40
|
|
|
|
nowPLAY33 cmp #2 ; force bleu
|
|
bne nowPLAY34
|
|
|
|
ldy #3
|
|
jsr playSND
|
|
|
|
lda currC
|
|
ora #$01
|
|
sta nextC
|
|
brl nowPLAY40
|
|
|
|
nowPLAY34 cmp #3 ; echange couleur
|
|
bne nowPLAY35
|
|
|
|
ldy #12
|
|
jsr playSND
|
|
|
|
lda currC ; vire bit 0
|
|
and #$fe
|
|
pha
|
|
lda currC
|
|
and #$01 ; garde bit 0
|
|
eor #$01 ; 0=>1 & 1=>0
|
|
ora 1,s
|
|
ply
|
|
sta nextC
|
|
brl nowPLAY40
|
|
|
|
nowPLAY35 cmp #4 ; degenerateur
|
|
bne nowPLAY37
|
|
|
|
lda currC
|
|
cmp #$0e
|
|
bcs nowPLAY36
|
|
clc
|
|
adc #2
|
|
sta nextC
|
|
|
|
ldy #5
|
|
jsr playSND
|
|
|
|
nowPLAY36 brl nowPLAY40
|
|
|
|
nowPLAY37 cmp #5 ; teleporteur
|
|
bne nowPLAY40
|
|
|
|
jsr manageTELE
|
|
bcs nowPLAY40
|
|
|
|
stx nextX
|
|
sty nextY
|
|
|
|
lda currC
|
|
sta nextC
|
|
|
|
ldy #11
|
|
jsr playSND
|
|
|
|
*--- Reaffiche tout ce qui a change
|
|
|
|
nowPLAY40 lda #06 ; on affiche le curseur
|
|
ldx currX
|
|
ldy currY
|
|
jsr showSCREEN
|
|
lda oldC ; on reaffiche l'ancien sprite
|
|
ldx oldX
|
|
ldy oldY
|
|
jsr showSCREEN
|
|
|
|
ldy #8
|
|
jsr playSND
|
|
|
|
lda nbPIECES
|
|
cmp nbPIECES2
|
|
bne nowPLAY41
|
|
|
|
jsr saveALL
|
|
|
|
nowPLAY41 ldx oldX ; on efface l'ancienne valeur
|
|
ldy oldY
|
|
jsr calcPLATEAU
|
|
tax
|
|
lda plateauFORE,x
|
|
and #$ff00
|
|
sta plateauFORE,x
|
|
|
|
ldx currX
|
|
ldy currY
|
|
jsr calcPLATEAU
|
|
tax
|
|
lda plateauFORE,x
|
|
and #$ff00
|
|
sta plateauFORE,x
|
|
|
|
ldx nextX ; on met la nouvelle valeur
|
|
ldy nextY
|
|
jsr calcPLATEAU
|
|
tax
|
|
lda plateauFORE,x
|
|
and #$ff00
|
|
ora nextC
|
|
sta plateauFORE,x
|
|
|
|
lda nextC
|
|
bne nowPLAY42
|
|
|
|
ldx nextX ; on met la nouvelle valeur
|
|
ldy nextY
|
|
jsr calcPLATEAU
|
|
tax
|
|
lda plateauBACK,x
|
|
and #$ff
|
|
nowPLAY42 ldx nextX ; affiche it
|
|
ldy nextY
|
|
jsr showSCREEN
|
|
|
|
lda valueCURR
|
|
sta currC
|
|
|
|
lda #1
|
|
sta fgUNDO
|
|
|
|
rts
|
|
|
|
*--- Gestion du teleporteur
|
|
|
|
manageTELE lda #1
|
|
sta deltaMVT
|
|
|
|
ldx nextX
|
|
stx teleX
|
|
ldy nextY
|
|
sty teleY
|
|
|
|
*---
|
|
|
|
manageTELE1 lda deltaMVT
|
|
asl
|
|
asl
|
|
clc
|
|
adc #2
|
|
sta maxMVT ; nombre maxi de deplacement
|
|
|
|
stz nbMVT ; nb de deplacements effectues
|
|
|
|
ldx teleX ; calcul de l'adresse
|
|
stx xFIRST ; de la premiere case
|
|
stx xSECOND
|
|
|
|
lda teleY
|
|
sec
|
|
sbc deltaMVT
|
|
sta yFIRST
|
|
sta ySECOND
|
|
|
|
*---
|
|
|
|
manageTELE2 ldx xFIRST
|
|
ldy yFIRST
|
|
jsr manageTELE10
|
|
bcs manageTELE3
|
|
ldx xFIRST
|
|
ldy yFIRST
|
|
clc
|
|
rts
|
|
manageTELE3 ldx xSECOND
|
|
ldy ySECOND
|
|
jsr manageTELE10
|
|
bcs manageTELE4
|
|
ldx xSECOND
|
|
ldy ySECOND
|
|
clc
|
|
rts
|
|
|
|
*---
|
|
|
|
manageTELE4 lda nbMVT
|
|
clc
|
|
adc #2
|
|
sta nbMVT ; incremente le numero du mouvement
|
|
cmp maxMVT
|
|
bne manageTELE6
|
|
|
|
lda deltaMVT
|
|
clc
|
|
adc #1
|
|
sta deltaMVT
|
|
cmp #16
|
|
beq manageTELE5
|
|
brl manageTELE1
|
|
manageTELE5 sec
|
|
rts
|
|
|
|
*---
|
|
|
|
manageTELE6 lda yFIRST
|
|
clc
|
|
adc #1
|
|
sta yFIRST
|
|
sta ySECOND
|
|
bmi manageTELE7
|
|
cmp teleY
|
|
bcc manageTELE7
|
|
beq manageTELE7
|
|
|
|
inc xFIRST
|
|
bra manageTELE8
|
|
|
|
manageTELE7 dec xFIRST
|
|
|
|
manageTELE8 lda teleX
|
|
sec
|
|
sbc xFIRST
|
|
clc
|
|
adc teleX
|
|
sta xSECOND
|
|
brl manageTELE2
|
|
|
|
*---
|
|
|
|
manageTELE10 cpx #15 ; x<15
|
|
bcc manageTELE11
|
|
bra manageTELE15
|
|
|
|
manageTELE11 cpy #9 ; y<9
|
|
bcc manageTELE12
|
|
bra manageTELE15
|
|
|
|
manageTELE12 cpx currX ; sur curseur
|
|
bne manageTELE13
|
|
cpy currY
|
|
beq manageTELE15
|
|
|
|
manageTELE13 cpx teleX ; sur teleporteur de depart
|
|
bne manageTELE14
|
|
cpy teleY
|
|
beq manageTELE15
|
|
|
|
manageTELE14 jsr calcPLATEAU ; regarde si on a un teleporteur
|
|
tax
|
|
lda plateauBACK,x
|
|
and #$ff
|
|
cmp #$05
|
|
bne manageTELE15
|
|
|
|
lda plateauFORE,x
|
|
and #$ff
|
|
bne manageTELE15
|
|
|
|
clc
|
|
rts
|
|
manageTELE15 sec
|
|
rts
|
|
|
|
*--------------------------------------
|
|
|
|
saveALL ldx #0
|
|
sep #$20
|
|
]lp lda plateauBACK,x
|
|
sta plateauBACK2,x
|
|
lda plateauFORE,x
|
|
sta plateauFORE2,x
|
|
inx
|
|
cpx #15*9
|
|
bne ]lp
|
|
|
|
rep #$20
|
|
|
|
ldx oldX
|
|
stx copyX
|
|
ldy oldY
|
|
sty copyY
|
|
lda oldC
|
|
sta copyC
|
|
|
|
lda nbPIECES
|
|
sta nbPIECES2
|
|
|
|
rts
|
|
|
|
*---
|
|
|
|
restoreALL lda fgUNDO
|
|
bne restoreALL1
|
|
rts
|
|
|
|
restoreALL1 ldx #0
|
|
sep #$20
|
|
|
|
]lp lda plateauBACK,x
|
|
pha
|
|
lda plateauBACK2,x
|
|
sta plateauBACK,x
|
|
pla
|
|
sta plateauBACK2,x
|
|
|
|
lda plateauFORE,x
|
|
pha
|
|
lda plateauFORE2,x
|
|
sta plateauFORE,x
|
|
tay
|
|
pla
|
|
sta plateauFORE2,x
|
|
|
|
tya
|
|
bne restoreALL2
|
|
lda plateauBACK,x
|
|
restoreALL2 sta plateauALL,x
|
|
|
|
inx
|
|
cpx #15*9
|
|
bne ]lp
|
|
|
|
rep #$20
|
|
|
|
lda #showSCREEN
|
|
sta printLEVEL1+1
|
|
jsr printLEVEL
|
|
lda #showSPRITE
|
|
sta printLEVEL1+1
|
|
|
|
lda coorX
|
|
ldx copyX
|
|
stx currX
|
|
stx coorX
|
|
sta copyX
|
|
|
|
lda coorY
|
|
ldy copyY
|
|
sty currY
|
|
sty coorY
|
|
sta copyY
|
|
|
|
lda currC
|
|
pha
|
|
lda copyC
|
|
sta currC
|
|
pla
|
|
sta copyC
|
|
|
|
lda #6
|
|
jsr showSCREEN
|
|
|
|
ldx nbPIECES
|
|
lda nbPIECES2
|
|
sta nbPIECES
|
|
stx nbPIECES2
|
|
|
|
rts
|
|
|
|
*--------------------------------------
|
|
* Routines diverses
|
|
|
|
decodeLEVEL lda ptrLEVEL
|
|
sta Debut
|
|
lda ptrLEVEL+2
|
|
sta Debut+2
|
|
|
|
lda #0
|
|
ldx level
|
|
]lp dex
|
|
cpx #0
|
|
beq decodeLEVEL1
|
|
clc
|
|
adc #$b8
|
|
bra ]lp
|
|
decodeLEVEL1 clc
|
|
adc Debut
|
|
sta Debut
|
|
lda Debut+2
|
|
adc #0
|
|
sta Debut+2
|
|
|
|
*--- Recopie nom
|
|
|
|
ldy #24-2
|
|
]lp lda [Debut],y
|
|
sta levelNAME,y
|
|
dey
|
|
dey
|
|
bpl ]lp
|
|
|
|
*--- Recopie fond
|
|
|
|
lda Debut
|
|
clc
|
|
adc #$18
|
|
sta Debut
|
|
lda Debut+2
|
|
adc #0
|
|
sta Debut+2
|
|
|
|
lda #plateauALL
|
|
sta Arrivee
|
|
lda #^plateauALL
|
|
sta Arrivee+2
|
|
|
|
ldx #9
|
|
decodeLEVEL2 ldy #14
|
|
]lp lda [Debut],y
|
|
sta [Arrivee],y
|
|
dey
|
|
dey
|
|
bpl ]lp
|
|
|
|
lda Debut
|
|
clc
|
|
adc #16
|
|
sta Debut
|
|
|
|
lda Arrivee
|
|
clc
|
|
adc #15
|
|
sta Arrivee
|
|
|
|
dex
|
|
bne decodeLEVEL2
|
|
|
|
lda [Debut]
|
|
xba
|
|
sta nbPIECES
|
|
|
|
*--- Gere le premier plan
|
|
|
|
sep #$20
|
|
ldx #0
|
|
]lp lda plateauALL,x
|
|
cmp #$06
|
|
beq decodeLEVEL3
|
|
cmp #$13
|
|
bcs decodeLEVEL5
|
|
cmp #$08
|
|
bcs decodeLEVEL4
|
|
bra decodeLEVEL5
|
|
|
|
decodeLEVEL3 lda #0
|
|
|
|
decodeLEVEL4 sta plateauFORE,x
|
|
stz plateauBACK,x
|
|
bra decodeLEVEL6
|
|
|
|
decodeLEVEL5 sta plateauBACK,x
|
|
stz plateauFORE,x
|
|
|
|
decodeLEVEL6 inx
|
|
cpx #15*9
|
|
bne ]lp
|
|
|
|
rep #$20
|
|
|
|
stz fgUNDO
|
|
|
|
rts
|
|
|
|
*--------------------------------------
|
|
|
|
putLEVEL sep #$20
|
|
|
|
ldx level
|
|
lda scdVAR,x
|
|
and #$f0
|
|
lsr
|
|
lsr
|
|
lsr
|
|
lsr
|
|
ora #'0'
|
|
cmp #'0'
|
|
bne putLEVEL0
|
|
lda #' '
|
|
putLEVEL0 sta strLEVEL
|
|
|
|
lda scdVAR,x
|
|
and #$0f
|
|
ora #'0'
|
|
sta strLEVEL+1
|
|
|
|
rep #$20
|
|
|
|
putLEVEL1 lda #strLEVEL
|
|
ldx #$00e1
|
|
ldy #$95f0
|
|
jsr printIT
|
|
|
|
lda ptrSCR
|
|
clc
|
|
adc #$75f0
|
|
tay
|
|
|
|
lda #strLEVEL
|
|
ldx ptrSCR+2
|
|
jsr printIT
|
|
|
|
rts
|
|
|
|
*--------------------------------------
|
|
|
|
printLEVEL lda #0
|
|
sta printY
|
|
sta showX
|
|
sta showY
|
|
|
|
]lp tax
|
|
lda plateauALL,x
|
|
and #$ff
|
|
ldx showX
|
|
ldy showY
|
|
cmp #$06
|
|
bne printLEVEL1
|
|
stx currX
|
|
stx coorX
|
|
stx oldX
|
|
sty currY
|
|
sty coorY
|
|
sty oldY
|
|
|
|
printLEVEL1 jsr showSPRITE
|
|
|
|
inc showX
|
|
lda showX
|
|
cmp #15
|
|
bne printLEVEL2
|
|
stz showX
|
|
inc showY
|
|
|
|
printLEVEL2 inc printY
|
|
lda printY
|
|
cmp #15*9
|
|
bne ]lp
|
|
|
|
*--- Affiche le nom
|
|
|
|
lda levelNAME
|
|
and #$ff
|
|
tax
|
|
stz levelNAME1,x
|
|
|
|
lda #$7598
|
|
clc
|
|
adc ptrSCR
|
|
tay
|
|
|
|
lda #levelNAME1
|
|
ldx ptrSCR+2
|
|
jsr printIT
|
|
|
|
jsr putLEVEL
|
|
|
|
rts
|
|
|
|
*--------------------------------------
|
|
|
|
showSCREEN phy
|
|
|
|
asl
|
|
tay
|
|
lda adrSPRITE,y
|
|
clc
|
|
adc ptrSPRITE
|
|
sta Debut
|
|
lda ptrSPRITE+2
|
|
adc #0
|
|
sta Debut+2
|
|
|
|
ply
|
|
jsr calcWHAT
|
|
clc
|
|
adc #$2005
|
|
sta Arrivee
|
|
lda #$00e1
|
|
sta Arrivee+2
|
|
bra showSPRITE1
|
|
|
|
*--------------------------------------
|
|
|
|
showSPRITE phy
|
|
|
|
asl
|
|
tay
|
|
lda adrSPRITE,y
|
|
clc
|
|
adc ptrSPRITE
|
|
sta Debut
|
|
lda ptrSPRITE+2
|
|
adc #0
|
|
sta Debut+2
|
|
|
|
ply
|
|
jsr calcWHAT
|
|
clc
|
|
adc #5 ; Correctif centre
|
|
clc
|
|
adc ptrSCR
|
|
sta Arrivee
|
|
lda ptrSCR+2
|
|
adc #0
|
|
sta Arrivee+2
|
|
|
|
showSPRITE1 ldx #20
|
|
ldy #0
|
|
]lp lda [Debut],y
|
|
sta [Arrivee],y
|
|
iny
|
|
iny
|
|
lda [Debut],y
|
|
sta [Arrivee],y
|
|
iny
|
|
iny
|
|
lda [Debut],y
|
|
sta [Arrivee],y
|
|
iny
|
|
iny
|
|
lda [Debut],y
|
|
sta [Arrivee],y
|
|
iny
|
|
iny
|
|
lda [Debut],y
|
|
sta [Arrivee],y
|
|
|
|
tya
|
|
clc
|
|
adc #160-8
|
|
tay
|
|
|
|
dex
|
|
bne ]lp
|
|
|
|
rts
|
|
|
|
*--------------------------------------
|
|
|
|
calcWHAT tya
|
|
asl
|
|
tay
|
|
lda scrY,y
|
|
pha
|
|
|
|
txa
|
|
asl
|
|
tax
|
|
lda scrX,x
|
|
clc
|
|
adc 1,s
|
|
plx
|
|
rts
|
|
|
|
*--------------------------------------
|
|
|
|
calcPLATEAU lda platY,y
|
|
and #$ff
|
|
pha
|
|
|
|
txa
|
|
clc
|
|
adc 1,s
|
|
plx
|
|
clc
|
|
rts
|
|
|
|
*--------------------------------------
|
|
|
|
calcNEXT lda currX
|
|
sta nextX
|
|
lda currY
|
|
sta nextY
|
|
|
|
lda theDIR ; left
|
|
bne calcNEXT1
|
|
lda nextX
|
|
beq calcNEXT5
|
|
dec nextX
|
|
bra calcNEXT4
|
|
|
|
calcNEXT1 cmp #1 ; right
|
|
bne calcNEXT2
|
|
lda nextX
|
|
cmp #14
|
|
beq calcNEXT5
|
|
inc nextX
|
|
bra calcNEXT4
|
|
|
|
calcNEXT2 cmp #2 ; up
|
|
bne calcNEXT3
|
|
lda nextY
|
|
beq calcNEXT5
|
|
dec nextY
|
|
bra calcNEXT4
|
|
|
|
calcNEXT3 lda nextY ; down
|
|
cmp #8
|
|
beq calcNEXT5
|
|
inc nextY
|
|
|
|
calcNEXT4 ldx nextX
|
|
ldy nextY
|
|
jsr calcPLATEAU
|
|
clc
|
|
rts
|
|
calcNEXT5 sec
|
|
rts
|
|
|
|
*--------------------------------------
|
|
|
|
preparePIC lda ptrSPRITE
|
|
sta Debut
|
|
lda ptrSPRITE+2
|
|
sta Debut+2
|
|
|
|
lda ptrSCR
|
|
sta Arrivee
|
|
lda ptrSCR+2
|
|
sta Arrivee+2
|
|
|
|
ldy #0
|
|
tya
|
|
]lp sta [Arrivee],y
|
|
iny
|
|
iny
|
|
bpl ]lp
|
|
|
|
ldy #180*160
|
|
]lp lda [Debut],y
|
|
sta [Arrivee],y
|
|
iny
|
|
iny
|
|
bpl ]lp
|
|
rts
|
|
|
|
*--- Jeu
|
|
|
|
level ds 2
|
|
oldLEVEL ds 2
|
|
|
|
strLEVEL asc ' '00
|
|
|
|
nbPIECES ds 2
|
|
nbPIECES2 ds 2
|
|
|
|
fgUNDO ds 2
|
|
|
|
printY ds 2
|
|
|
|
showX ds 2
|
|
showY ds 2
|
|
|
|
valueCURR ds 2
|
|
|
|
xFIRST ds 2 ; teleporteur
|
|
yFIRST ds 2
|
|
|
|
xSECOND ds 2
|
|
ySECOND ds 2
|
|
|
|
nbMVT ds 2
|
|
maxMVT ds 2
|
|
|
|
teleX ds 2
|
|
teleY ds 2
|
|
|
|
deltaMVT ds 2
|
|
|
|
oldX ds 2 ; ancien
|
|
oldY ds 2
|
|
oldC ds 2
|
|
|
|
currX ds 2 ; courant
|
|
currY ds 2
|
|
currC ds 2
|
|
|
|
nextX ds 2 ; le premier apres
|
|
nextY ds 2
|
|
nextC ds 2
|
|
|
|
copyX ds 2 ; sauvegarde
|
|
copyY ds 2
|
|
copyC ds 2
|
|
|
|
theDIR ds 2
|
|
theKEY ds 2
|
|
|
|
scrX dw $00,$0a,$14,$1e,$28,$32,$3c,$46
|
|
dw $50,$5a,$64,$6e,$78,$82,$8c
|
|
scrY dw $0000,$0c80,$1900,$2580,$3200
|
|
dw $3e80,$4b00,$5780,$6400
|
|
|
|
adrSPRITE dw $141,$14c,$157,$162,$16d,$178,$183
|
|
dw $18e,$199,$1a4,$1af,$1ba,$1c5,$1d0
|
|
dw $f01,$f0c,$f17,$f22,$f2d,$f38,$f43
|
|
dw $f4e,$f59,$f64,$f6f,$f7a,$f85,$f90
|
|
|
|
platY db 0,15,30,45,60,75,90,105,120,135
|
|
|
|
levelNAME ds 1
|
|
levelNAME1 ds 24
|
|
|
|
plateauALL ds 15*9
|
|
|
|
plateauBACK2 ds 15*9
|
|
plateauFORE2 ds 15*9
|
|
|
|
plateauBACK ds 15*9
|
|
plateauFORE ds 15*9
|