antoine-source/cogito/cogito2.s

15552 lines
296 KiB
ArmAsm

*
* Cogito: The Return
*
* (c) 1997, Jérôme Crétaux
* (c) 1997, Atreid Concept
* (c) 1997, Brutal Deluxe Software
*
mx %00
rel
dsk Cogito2.l
lst off
*-----------------------
KBD = $C000
KBDSTROBE = $C010
BUTN3 = $C060
GSOS = $E100A8
*-----------------------
*
* Resources
*
* $0001: sound - click
* $0002: sound - end of level
* $0010: 69B0 - Data Happyland
* $0011: 6980 - Data Ludyland
* $0012: 6980 - Data Planet
* $0013: 6980 - Data Xenoland
* $0014: VGA palette
* $0015: VGA palette
* $0020: 010D28 - Happyland (PCX)
* $0021: 00F6FE - Ludyland (PCX)
* $0022: 00CEA2 - Planet (PCX)
* $0023: 019954 - Xenoland (PCX)
* $0024: 02FCE3 - Title (PCX)
* $0025: 006500 - About (PCX)
*-----------------------
use 4/Int.Macs
use 4/Locator.Macs
use 4/Mem.Macs
use 4/Misc.Macs
use 4/Resource.Macs
use 4/Sound.Macs
use 4/Util.Macs
*--------------------------
* Initialisations d'entree
*--------------------------
PHK
PLB
_TLStartUp
PHA
_MMStartUp
PLA
STA myID
PHA
PHA
PHA
PushWord #2
PushLong #1
_StartUpTools
PullLong SStopREC
BCC L0056
PHA
PEA ^errSTR1
PEA errSTR1
PEA ^memSTR3
PEA memSTR3
PEA ^memSTR4
PEA memSTR4
PEA ^memSTR4
PEA memSTR4
_TLTextMountVolume
PLA
JMP initOFF
L0056 PushLong #bufferSS
JSL _xGetStatus ; Do I have a SecondSight?
CMP #$0000
BEQ L0089 ; Yes, I do
PHA ; No, I quit
PEA ^errSTR2
PEA errSTR2
PEA ^memSTR3
PEA memSTR3
PEA ^memSTR4
PEA memSTR4
PEA ^memSTR4
PEA memSTR4
_TLTextMountVolume
PLA
JMP initOFF
L0089 INC fgSS
PHA
PHA
_FreeMem
PLA
PLA
CMP #$0004
BCS L009F
JMP memERR1
L009F JMP okIT3
ASC 8D8D
ASC 'hi Chuck, we perfectly know that you don'27't have any second Sight in your GS but '
ASC 'as you usually have a look at the hidden texts of our software, we say you hello first... :-)'8D8D
okIT3 PushLong #0
PushLong #$10000
PushWord myID
PushWord #%11000000_00011100
PushLong #0
_NewHandle
LDX temp
PHD
TSC
TCD
LDA [$03]
STA ptrBANK1,X
LDY #$0002
LDA [$03],Y
STA ptrBANK1+2,X
PLD
PLA
PLA
JSR memERR
INX
INX
INX
INX
STX temp
CPX #4*4 ; 4 bancs
BNE okIT3
*---
JSR initSS
JSR loadTITRE
LDA #$0000 ; affiche logo Kalisto
JSR unpackPCX
LDA #$0000
JSR showIMAGE
JSR waitMOUSEUP
JSR fadeOUT
LDA #$0001 ; affiche image titre
JSR unpackPCX
LDA #$0001
JSR showIMAGE
JSR loadIMAGES
JSR loadDATA
JSR initSOUND
JSR fadeOUT
INC fgINTER2
STZ Melange
SEI
PushLong #myVBL
_SetHeartBeat
PushLong #myRAN
_SetHeartBeat
CLI
PEA $0002
_IntSource
STZ CurDecor
L01F3 STZ window
LDA #1
STA Niveau
STZ moX
STZ moY
STZ oldX
STZ oldY
L0208 LDA #1
STA NbCoups
STZ NbCoups+2
STZ NbCompute
STZ ldFlag
L0217 JSR setDecor
JSR DoInit
JSR DoDecor
JSR DoDeplacement
JSR DoFleches
JSR PutArrows
JSR ShowAll
LDA #$0000
STA firstLINE
LDA #$018F
STA lastLINE
JSR refreshSCREEN
JSR fadeIN
JSR moFORE
LDA ldFlag
BNE L0258
STZ Temps
STZ Temps+2
STZ Temps+4
STZ NbCoups
STZ NbCoups+2
STZ NbCompute
L0258 JSR OpenPanel
JSR ahNIVEAU
JSR ahCOMPCP
JSR ahMOICP
LDX #$0003
STX noINTER
JSR ahTIME
INC Melange
*--- On a demarre, maintenant melange
LDA ldFlag
BNE L0278
JSR ComputeIt
L0278 JSR moREAD
JSR ahTIME
LDAL KBD-1
BPL L0287
BRL L0336
L0287 JSR moCONTROL
BCS L0278
STA MyArrow
LDA #$FFFF
STA windowC
JSR TestArrow
BCS L0278
LDX #$0000
JSR playSND
LDA NbCoups
CLC
ADC #1
STA NbCoups
LDA NbCoups+2
ADC #0
STA NbCoups+2
JSR moBACK
JSR ahMOICP
JSR ChoixMelange
JSR moFORE
JSR TestEnd
BCS L0278
LDX #$0001
JSR playSND
L02CA STZ Melange
JSR moBACK
INC CurDecor
LDA CurDecor
CMP #$0004
BCC L02DE
STZ CurDecor
L02DE STZ ldFlag
INC Niveau
LDA Niveau
CMP #$0079 ; le dernier niveau ?
BCC L02FB
LDX #$0001 ; le joueur a gagné
JSR playSND ; il a droit au son
LDX #$0001 ; deux fois
JSR playSND ; snif
BRL L01F3
L02FB JSR fadeOUT
BRL L0217
ASC 8D8D
ASC 'Big Kisses from Antoine to my beloved Emmanuelle '8D8D
*--- Gestion des touches
L0336 STAL KBDSTROBE-1
XBA
AND #$00DF
CLC
ADC #$0020
TAX
STZ Melange
LDAL BUTN3
BMI L036F
TXA
CMP #$00AB
BNE L0355
JMP L02CA
L0355 CMP #$00AD
BNE L036C
LDA Niveau
SEC
SBC #$0002
BPL L0366
LDA #$0000
L0366 STA Niveau
JMP L02CA
L036C JMP L0462
L036F TXA
CMP #"1"
BNE L038F
LDA #$0000
CMP CurDecor
BEQ L038C
STA CurDecor
LDA #$0001
STA ldFlag
JSR fadeOUT
JMP L0217
L038C JMP L0462
L038F CMP #"2"
BNE L03AE
LDA #$0001
CMP CurDecor
BEQ L03AB
STA CurDecor
LDA #$0001
STA ldFlag
JSR fadeOUT
JMP L0217
L03AB JMP L0462
L03AE CMP #"3"
BNE L03CD
LDA #$0002
CMP CurDecor
BEQ L03CA
STA CurDecor
LDA #$0001
STA ldFlag
JSR fadeOUT
JMP L0217
L03CA JMP L0462
L03CD CMP #"4"
BNE L03EC
LDA #$0003
CMP CurDecor
BEQ L03E9
STA CurDecor
LDA #$0001
STA ldFlag
JSR fadeOUT
JMP L0217
L03E9 JMP L0462
L03EC CMP #$00F3
BNE L03F7
JSR saveFILE
JMP L0462
L03F7 CMP #$00AB
BNE L0409
LDA Niveau
CLC
ADC #$000B
STA Niveau
JMP L02CA
L0409 CMP #$00AD
BNE L0420
LDA Niveau
SEC
SBC #$000D
BPL L041A
LDA #$0000
L041A STA Niveau
JMP L02CA
L0420 CMP #$00ED
BNE L0431
LDA fgNOMUSIC
EOR #$0001
STA fgNOMUSIC
JMP L0462
L0431 CMP #$00EF
BNE L0447
JSR loadFILE
BCS L0462
LDA #$0001
STA ldFlag
JSR fadeOUT
JMP L0217
L0447 CMP #$00F2
BNE L0452
JSR fadeOUT
JMP L01F3
L0452 CMP #$00FA
BNE L045D
JSR fadeOUT
JMP L0208
L045D CMP #$00F1
BEQ L046B
L0462 LDA #$0001
STA Melange
JMP L0287
L046B STZ Melange
JSR fadeOUT
initOFF LDA fgSS
BEQ L0493
PEA $0000
PEA $0000
PEA $0000
PEA $0007
PEA $D000
JSL _xClearScreen
PEA $0060
PEA $0000
JSL _xSetMode
L0493 LDA fgINTER2
BEQ L04B4
SEI
PushLong #myRAN
_DelHeartBeat
PushLong #myVBL
_DelHeartBeat
CLI
L04B4 JSR sndOFF
PushWord #1
PushLong SStopREC
_ShutDownTools
PushWord myID
_DisposeAll
_MMShutDown
_TLShutDown
JSL GSOS
DW $2029 ; Quit
ADRL proQuit
BRK $00
ASC 8D8D
ASC 'August 97, Olivier in California... Dinner with Nathan, no beans this time...:-) '
ASC 'Nice Saturn Game... (ThunderForce V is still unavailable in France). '
ASC 'Impossible to look at the baywatch girls, perhaps next time... :-)'8D8D
*--------------------------
* Routines melange
*--------------------------
ChoixMelange LDA WhichDep
CMP #1 ; Normal
BNE melan2
LDA MyArrow
ASL
STA MyColumn
JSR DoScroll
RTS
*---
melan2 CMP #2 ; 2 cases dans la meme direction
BNE melan3
LDA MyArrow
ASL
STA MyColumn
JSR DoScroll
JSR DoScroll
RTS
*---
melan3 CMP #3 ; Inversion N/E, S/O
BNE melan4
LDA MyArrow
ASL
TAX
LDA TblMel38,X
ASL
STA MyColumn
JSR DoScroll
RTS
*---
melan4 CMP #4 ; Normal sans fleches
BNE melan5
LDA MyArrow
ASL
STA MyColumn
JSR DoScroll
RTS
*---
melan5 CMP #5 ; Inversion N/S, E/O
BNE melan6
LDA MyArrow
ASL
TAX
LDA TblMel5,X
ASL
STA MyColumn
JSR DoScroll
RTS
*---
melan6 CMP #6 ; N1=S9, E1=O9
BNE melan7
LDA MyArrow
ASL
TAX
LDA TblMel67,X
ASL
STA MyColumn
JSR DoScroll
RTS
*---
melan7 CMP #7 ; N1=N1+S9, N2=N2+S8
BNE melan8
LDA MyArrow
ASL
STA MyColumn
JSR DoScroll
LDA MyArrow
ASL
TAX
LDA TblMel67,X
ASL
STA MyColumn
JSR DoScroll
RTS
*---
melan8 CMP #8 ; N1=N1+E1, S1=S1+01
BNE melan9
LDA MyArrow
ASL
STA MyColumn
JSR DoScroll
LDA MyArrow
ASL
TAX
LDA TblMel38,X
ASL
STA MyColumn
JSR DoScroll
RTS
*---
melan9 CMP #9 ; N&=N1+N9, N2=N2+N8
BNE melan10
LDA MyArrow
ASL
STA MyColumn
JSR DoScroll
LDA MyArrow
ASL
TAX
LDA TblMel9,X
ASL
STA MyColumn
JSR DoScroll
RTS
*---
melan10 CMP #10 ; Manque fleches, sinon comme 8
BNE melan11
LDA MyArrow
ASL
STA MyColumn
JSR DoScroll
LDA MyArrow
ASL
TAX
LDA TblMel38,X
ASL
STA MyColumn
JSR DoScroll
RTS
*---
melan11 CMP #11 ; N1=N1+N2, O1=O1+O2
BNE melan12
LDA MyArrow
ASL
STA MyColumn
JSR DoScroll
LDA MyArrow
ASL
TAX
LDA TblMel11,X
ASL
STA MyColumn
JSR DoScroll
RTS
*---
melan12 LDA MyArrow ; N4=N4+N2, N9=N9+N7
ASL
STA MyColumn
JSR DoScroll
LDA MyArrow
ASL
TAX
LDA TblMel12,X
ASL
STA MyColumn
JSR DoScroll
RTS
ASC 8D8D
ASC 'Minax is not dead !'8D8D
*--- Regarde si la fleche X existe
TestArrow LDA MyArrow
ASL
TAX
LDA Fleches2,X
BNE TstArr1
SEC ; Fleche n'existe pas
RTS
TstArr1 CLC ; Fleche existe
RTS
*--- L'ordinateur choisit
ComputeIt JSR Random
BEQ ComputeIt
CMP #37
BCS ComputeIt
DEC ; Pour 0-36
CMP MyArrow
BEQ ComputeIt
STA MyArrow
JSR TestArrow ; Fleche existe ?
BCS ComputeIt ; non, si C=1
INC NbCompute
JSR ahCOMPCP ; Ah! Le nombre de deplacement
JSR ChoixMelange ; Melange
LDA NbCompute
CMP NbMelange
BNE ComputeIt
JSR TestEnd ; Plateau=Probleme ?
BCC ComputeIt ; C=0, oui, recommence
STZ Diabolic
JSR L0D5B
RTS
*--- Compare les deux plateaux
TestEnd LDX #0
]lp LDA Plateau,X ; C=1, c'est le meme
CMP Probleme,X ; C=0, different
BNE TstEnd1
INX
INX
CPX #81*2
BNE ]lp
CLC
RTS
TstEnd1 SEC ; Erreur
RTS
*--- Initialise les donnes de decor, deplacement et nom
DoInit LDA Niveau
DEC
ASL
TAX
LDA ChoixDeplace,X
STA WhichDep
LDA ChoixDecor,X
STA WhichDecor
RTS
*--- Prepare le decor
DoDecor LDA ldFlag
BNE noDec
LDA WhichDecor
DEC
ASL
TAX
JSR (AdrCalcDec,X)
noDec RTS
*--- Prepare les deplacements
DoDeplacement LDA ldFlag
BNE noDep
LDA WhichDep
DEC
ASL
TAX
LDA TblDeplacement,X
STA NbMelange
STA Diabolic
noDep RTS
*--- Prepare les fleches suivant le deplacement
DoFleches LDA Niveau
CMP #24
BCS FlechesA
LDX #0 ; On deplace sur 9
LDA #9
]lp STA Fleches,X
INX
INX
CPX #36*2
BNE ]lp
BRL FlechesE
*---
FlechesA CMP #48
BCS FlechesB
LDX #0 ; On deplace sur 5
LDA #5
]lp STA Fleches,X
INX
INX
CPX #36*2
BNE ]lp
BRL FlechesE
*---
FlechesB CMP #72
BCS FlechesC
LDX #0 ; On deplace sur 6 et 4
]lp LDA #6
STA Fleches,X
STA Fleches+36,X
LDA #4
STA Fleches+18,X
STA Fleches+54,X
INX
INX
CPX #9*2
BNE ]lp
BRL FlechesE
*---
FlechesC CMP #99
BCS FlechesD
LDX #0 ; On deplace sur 6, 4, 7 et 3
]lp LDA #6
STA Fleches,X
LDA #4
STA Fleches+18,X
LDA #7
STA Fleches+36,X
LDA #3
STA Fleches+54,X
INX
INX
CPX #9*2
BNE ]lp
LDA #3
STA Fleches+6
STA Fleches+8
STA Fleches+10
LDA #7
STA Fleches+24
STA Fleches+26
STA Fleches+28
BRL FlechesE
*---
FlechesD LDX #0 ; On deplace sur 8 et 3
]lp LDA #8
STA Fleches,X
STA Fleches+36,X
LDA #3
STA Fleches+18,X
STA Fleches+54,X
INX
INX
CPX #9*2
BNE ]lp
*---
FlechesE LDA WhichDep
CMP #4
BEQ FlechesG
CMP #10
BEQ FlechesG
FlechesF LDX #0
LDA #1
]lp STA Fleches2,X
INX
INX
CPX #36*2
BNE ]lp
RTS
FlechesG JSR FlechesF
STZ Fleches2+2 ; Inhibe des fleches
STZ Fleches2+12
STZ Fleches2+20
STZ Fleches2+22
STZ Fleches2+30
STZ Fleches2+38
STZ Fleches2+48
STZ Fleches2+56
STZ Fleches2+58
STZ Fleches2+66
RTS
ASC 8D8D
ASC 'About our next game, I will say.... SUCH A YEAR !!!'8D8D
*--------------------------
* Routines mathematiques
*--------------------------
ahCOMPCP LDA #'00'
STA StrPtr
STA StrPtr+1
PushWord NbCompute
PushLong #StrPtr
PushWord #3
PushWord #0
_Int2Dec
LDA CurDecor
ASL
TAX
LDA zeCOMPCPY,X ; Y
TAY
LDA zeCOMPCPX,X ; X
TAX
LDA #StrPtr
JSR printNUMJ
RTS
*--- Affiche mon nombre de coups
ahMOICP LDA #'00'
STA LgStrPtr
STA LgStrPtr+2
STA LgStrPtr+3
PushLong NbCoups
PushLong #LgStrPtr
PushWord #5
PushWord #0
_Long2Dec
LDA CurDecor
ASL
TAX
LDA zeMOICPY,X
TAY
LDA zeMOICPX,X
TAX
LDA #LgStrPtr
JSR printNUMR
RTS
*--- Affiche le niveau
ahNIVEAU JSR chNIVEAU
LDA CurDecor
ASL
TAX
LDA zeCOMPCPY,X
TAY
LDA zeNIVEAU,X
TAX
LDA #StrPtr
JSR printNUMJ
RTS
chNIVEAU LDA #'00'
STA StrPtr
STA StrPtr+1
PushWord Niveau
PushLong #StrPtr
PushWord #3
PushWord #0
_Int2Dec
RTS
*---
ahTIME LDA noINTER
BNE L0974
RTS
L0974 LDA CurDecor
ASL
ASL
TAX
LDA moY ; la souris
CMP PanelY2,X ; est-elle sur le panneau ?
BPL L099A
CMP PanelY1,X
BMI L099A
LDA moX
CMP PanelX2,X
BPL L099A
CMP PanelX1,X
BMI L099A
JSR moBACK
INC fgTIME
L099A LDX noINTER
CPX #$0003
BCC L09D2
LDA #'00'
STA StrTime
PushWord Temps
PushLong #StrTime
PushWord #2
PushWord #0
_Int2Dec
LDA CurDecor
ASL
TAX
LDA zeTEMPSY,X ; Y
TAY
LDA zeTEMPS1,X ; X
TAX
LDA #StrTime
JSR printNUMR
L09D2 LDX noINTER
CPX #$0002
BCC L0A0A
LDA #'00'
STA StrTime
PushWord Temps+2
PushLong #StrTime
PushWord #2
PushWord #0
_Int2Dec
LDA CurDecor
ASL
TAX
LDA zeTEMPSY,X ; Y
TAY
LDA zeTEMPS2,X ; X++
TAX
LDA #StrTime
JSR printNUMR
L0A0A LDX noINTER
CPX #$0001
BCC L0A42
LDA #'00'
STA StrTime
PushWord Temps+4
PushLong #StrTime
PushWord #2
PushWord #0
_Int2Dec
LDA CurDecor
ASL
TAX
LDA zeTEMPSY,X ; Y
TAY
LDA zeTEMPS3,X ; X++++
TAX
LDA #StrTime
JSR printNUMR
L0A42 LDA fgTIME
BEQ L0A4D
STZ fgTIME
JSR moFORE
L0A4D STZ noINTER
RTS
setDecor LDA CurDecor
ASL
ASL
TAX
LDA ptrPANEL1,X
STA $1C
LDA ptrPANEL1+2,X
STA $1E
LDA PanelX1,X
STA PanelX
LDA PanelY1,X
STA PanelY
LDY #0
L0A70 LDA [$1C]
STA L566B,Y
INC $1C
BNE L0A7B
INC $1E
L0A7B INY
CPY #$69B0
BNE L0A70
LDA CurDecor
JSR unpackPCX
RTS
ASC 8D8D
ASC 'Nathan : what about distributing your programs once more ? '
ASC 'I'27'd like to get the latest version of GUPP'8D8D
*--------------------------
* Creation des decors
*--------------------------
Decor1 JSR Random ; couleur 1
BEQ Decor1
CMP #7
BCS Decor1
STA colorA
]lp JSR Random ; couleur 2
BEQ ]lp
CMP #7
BCS ]lp
CMP colorA
BEQ ]lp
STA colorB
LDX #0 ; met le fond
LDA colorA
]lp STA Plateau,X
STA Probleme,X
INX
INX
CPX #81*2
BNE ]lp
lda colorB ; met le motif
sta Plateau+60
sta Probleme+60
sta Plateau+62
sta Probleme+62
sta Plateau+64
sta Probleme+64
sta Plateau+78
sta Probleme+78
sta Plateau+80
sta Probleme+80
sta Plateau+82
sta Probleme+82
sta Plateau+96
sta Probleme+96
sta Plateau+98
sta Probleme+98
sta Plateau+100
sta Probleme+100
rts
*---
Decor2 jsr Random ; couleur 1
beq Decor2
cmp #7
bcs Decor2
sta colorA
]lp jsr Random ; couleur 2
beq ]lp
cmp #7
bcs ]lp
cmp colorA
beq ]lp
sta colorB
ldx #0 ; met couleur 1
lda colorA
]lp sta Plateau,x
sta Probleme,x
inx
inx
cpx #36*2
bne ]lp
ldx #36*2 ; met couleur 2
lda colorB
]lp sta Plateau,x
sta Probleme,x
inx
inx
cpx #81*2
bne ]lp
rts
*---
Decor3 jsr Random ; couleur 1
beq Decor3
cmp #7
bcs Decor3
sta colorA
]lp jsr Random ; couleur 2
beq ]lp
cmp #7
bcs ]lp
cmp colorA
beq ]lp
sta colorB
]lp jsr Random ; couleur 3
beq ]lp
cmp #7
bcs ]lp
cmp colorA
beq ]lp
cmp colorB
beq ]lp
sta colorC
ldx #0 ; met le motif
]lp lda colorA
sta Plateau,x
sta Probleme,x
sta Plateau+2,x
sta Probleme+2,x
sta Plateau+4,x
sta Probleme+4,x
lda colorB
sta Plateau+6,x
sta Probleme+6,x
sta Plateau+8,x
sta Probleme+8,x
sta Plateau+10,x
sta Probleme+10,x
lda colorC
sta Plateau+12,x
sta Probleme+12,x
sta Plateau+14,x
sta Probleme+14,x
sta Plateau+16,x
sta Probleme+16,x
txa
clc
adc #9*2
tax
cpx #81*2
bne ]lp
rts
*---
Decor4 jsr Random ; couleur 1
beq Decor4
cmp #7
bcs Decor4
sta colorA
]lp jsr Random ; couleur 2
beq ]lp
cmp #7
bcs ]lp
cmp colorA
beq ]lp
sta colorB
]lp jsr Random ; couleur 3
beq ]lp
cmp #7
bcs ]lp
cmp colorA
beq ]lp
cmp colorB
beq ]lp
sta colorC
ldx #0 ; met le motif 1
lda colorA
]lp sta Plateau,x
sta Probleme,x
inx
inx
cpx #27*2
bne ]lp
ldx #27*2 ; met le motif 2
lda colorB
]lp sta Plateau,x
sta Probleme,x
inx
inx
cpx #54*2
bne ]lp
ldx #54*2 ; met le motif 3
lda colorC
]lp sta Plateau,x
sta Probleme,x
inx
inx
cpx #81*2
bne ]lp
rts
*--- Simplification par tableaux deja en memoire
Decor5 LDA #AdrDecor5
BRA DecorA
Decor6 LDA #AdrDecor6
BRA DecorA
Decor7 LDA #AdrDecor7
BRA DecorA
Decor8 LDA #AdrDecor8
BRA DecorA
Decor9 LDA #AdrDecor9
DecorA STA DecorB+1
LDX #0
DecorB LDA $FFFF,X
STA Plateau,X
STA Probleme,X
INX
INX
CPX #81*2
BNE DecorB
RTS
*---
Decor10 LDX #0
]lp STZ Plateau,X
STZ Probleme,X
INX
INX
CPX #81*2
BNE ]lp
LDX #0
]lp JSR Random ; Random2
BNE Decor10a
INC
Decor10a CMP #7
BCS ]lp
STA Plateau,X
STA Probleme,X
INX
INX
CPX #81*2
BNE ]lp
RTS
ASC 8D8D
ASC 'Pizza Party in San Rafael with Sheppy and Joe. (Splash on Tv for Stephanie)'8D8D
*--- Affiche tous les pions
ShowAll LDX #0
]lp PHX
LDA Plateau,X
JSR WriteBig
PLX
PHX
LDA Probleme,X
JSR WriteSmall
PLX
INX
INX
CPX #81*2
BNE ]lp
RTS
L0D5B JSR moBACK
LDX #$0000
L0D61 PHX
LDA Plateau,X
JSR WriteBig
PLX
INX
INX
CPX #$00A2
BNE L0D61
LDA #$001D
STA firstY3
LDA #$018F
STA lastY3
JSR refreshLINE
JSR moFORE
RTS
*--- Draw panel (79x49 pixels)
OpenPanel
LDX #sprPanel1
JSR L0D90
LDX #sprPanel2
JSR L0D90
RTS
L0D90 TXA
CLC
ADC #$0F1F ; 79x49
STA L0ECA+1
LDY PanelY
L0D9B PHY
TYA
ASL
ASL
TAY
LDA lineBANK1,Y
STA $18
LDA lineBANK1+2,Y
STA $1A
LDY PanelX
LDA |$0000,X
STA [$18],Y
INY
INY
LDA |$0002,X
STA [$18],Y
INY
INY
LDA |$0004,X
STA [$18],Y
INY
INY
LDA |$0006,X
STA [$18],Y
INY
INY
LDA |$0008,X
STA [$18],Y
INY
INY
LDA |$000A,X
STA [$18],Y
INY
INY
LDA |$000C,X
STA [$18],Y
INY
INY
LDA |$000E,X
STA [$18],Y
INY
INY
LDA |$0010,X
STA [$18],Y
INY
INY
LDA |$0012,X
STA [$18],Y
INY
INY
LDA |$0014,X
STA [$18],Y
INY
INY
LDA |$0016,X
STA [$18],Y
INY
INY
LDA |$0018,X
STA [$18],Y
INY
INY
LDA |$001A,X
STA [$18],Y
INY
INY
LDA |$001C,X
STA [$18],Y
INY
INY
LDA |$001E,X
STA [$18],Y
INY
INY
LDA |$0020,X
STA [$18],Y
INY
INY
LDA |$0022,X
STA [$18],Y
INY
INY
LDA |$0024,X
STA [$18],Y
INY
INY
LDA |$0026,X
STA [$18],Y
INY
INY
LDA |$0028,X
STA [$18],Y
INY
INY
LDA |$002A,X
STA [$18],Y
INY
INY
LDA |$002C,X
STA [$18],Y
INY
INY
LDA |$002E,X
STA [$18],Y
INY
INY
LDA |$0030,X
STA [$18],Y
INY
INY
LDA |$0032,X
STA [$18],Y
INY
INY
LDA |$0034,X
STA [$18],Y
INY
INY
LDA |$0036,X
STA [$18],Y
INY
INY
LDA |$0038,X
STA [$18],Y
INY
INY
LDA |$003A,X
STA [$18],Y
INY
INY
LDA |$003C,X
STA [$18],Y
INY
INY
LDA |$003E,X
STA [$18],Y
INY
INY
LDA |$0040,X
STA [$18],Y
INY
INY
LDA |$0042,X
STA [$18],Y
INY
INY
LDA |$0044,X
STA [$18],Y
INY
INY
LDA |$0046,X
STA [$18],Y
INY
INY
LDA |$0048,X
STA [$18],Y
INY
INY
LDA |$004A,X
STA [$18],Y
INY
INY
LDA |$004C,X
STA [$18],Y
INY
LDA |$004E,X
STA [$18],Y
PLY
INY
TXA
CLC
ADC #79
TAX
L0ECA CPX #$FFFF
BCS L0ED2
BRL L0D9B
L0ED2 LDA PanelY
STA firstY4
CLC
ADC #$0031
STA lastY4
JSR refreshPANEL
RTS
ASC 8D8D
ASC 'Antoine promises : No More versions of Cogito'8D8D
*---
PutArrows
LDY #0 ; Au nord
L0F17 PHY
LDA Fleches2,Y
BEQ L0F23
LDX #LA029
JSR PrintNS
L0F23 PLY
INY
INY
CPY #18
BNE L0F17
LDY #18 ; A l'est
L0F2E PHY
LDA Fleches2,Y
BEQ L0F3A
LDX #LB037
JSR PrintEO
L0F3A PLY
INY
INY
CPY #36
BNE L0F2E
LDY #36 ; Au sud
L0F45 PHY
LDA Fleches2,Y
BEQ L0F51
LDX #LA83F
JSR PrintNS
L0F51 PLY
INY
INY
CPY #54
BNE L0F45
LDY #54 ; A l'ouest
L0F5C PHY
LDA Fleches2,Y
BEQ L0F68
LDX #LB7F3
JSR PrintEO
L0F68 PLY
INY
INY
CPY #72
BNE L0F5C
RTS
*--- Affiche une flèche haut/bas (30x23)
PrintNS TXA
CLC
ADC #$02B2 ; 30x23
STA L1007+1
LDA FlecheX1,Y
STA FlecheX
LDA FlecheY1,Y
STA FlecheY
TAY
L0F86 PHY
TYA
ASL
ASL
TAY
LDA lineBANK1,Y
STA $28
LDA lineBANK1+2,Y
STA $2A
LDY FlecheX
LDA |$0000,X
STA [$28],Y
INY
INY
LDA |$0002,X
STA [$28],Y
INY
INY
LDA |$0004,X
STA [$28],Y
INY
INY
LDA |$0006,X
STA [$28],Y
INY
INY
LDA |$0008,X
STA [$28],Y
INY
INY
LDA |$000A,X
STA [$28],Y
INY
INY
LDA |$000C,X
STA [$28],Y
INY
INY
LDA |$000E,X
STA [$28],Y
INY
INY
LDA |$0010,X
STA [$28],Y
INY
INY
LDA |$0012,X
STA [$28],Y
INY
INY
LDA |$0014,X
STA [$28],Y
INY
INY
LDA |$0016,X
STA [$28],Y
INY
INY
LDA |$0018,X
STA [$28],Y
INY
INY
LDA |$001A,X
STA [$28],Y
INY
INY
LDA |$001C,X
STA [$28],Y
PLY
INY
TXA
CLC
ADC #30
TAX
L1007 CPX #$FFFF
BCS L100F
BRL L0F86
L100F RTS
*--- Affiche une flèche gauche/droite (22x30)
PrintEO TXA
CLC
ADC #$0294 ; 22x30
STA L108A+1
LDA FlecheX1,Y
STA FlecheX
LDA FlecheY1,Y
STA FlecheY
TAY
L1025 PHY
TYA
ASL
ASL
TAY
LDA lineBANK1,Y
STA $28
LDA lineBANK1+2,Y
STA $2A
LDY FlecheX
LDA |$0000,X
STA [$28],Y
INY
INY
LDA |$0002,X
STA [$28],Y
INY
INY
LDA |$0004,X
STA [$28],Y
INY
INY
LDA |$0006,X
STA [$28],Y
INY
INY
LDA |$0008,X
STA [$28],Y
INY
INY
LDA |$000A,X
STA [$28],Y
INY
INY
LDA |$000C,X
STA [$28],Y
INY
INY
LDA |$000E,X
STA [$28],Y
INY
INY
LDA |$0010,X
STA [$28],Y
INY
INY
LDA |$0012,X
STA [$28],Y
INY
INY
LDA |$0014,X
STA [$28],Y
PLY
INY
TXA
CLC
ADC #22
TAX
L108A CPX #$FFFF
BCS L1092
BRL L1025
L1092 RTS
*--------------------------
* Routines scrolls
*--------------------------
DoScroll LDA MyColumn ; Ma colonne
CMP #18
BCS scrol1
BRL ScrollNorth
scrol1 CMP #36
BCS scrol2
BRL ScrollEast
scrol2 CMP #54
BCS scrol3
BRL ScrollSouth
scrol3 BRL ScrollWest
*--- Scroll plateau haut->bas
ScrollNorth LDX MyColumn
LDA TblPlateau,X
STA MyArrivee
LDA Fleches,X
DEC
ASL
TAX
LDA TblPlateau2,X
CLC
ADC MyArrivee
STA MyDepart
LDX MyDepart
LDA Plateau,X
TAY
]lp TXA
SEC
SBC #18
TAX
LDA Plateau,X
STA Plateau+18,X
CPX MyArrivee
BNE ]lp
TYA
STA Plateau,X
LDA Diabolic
BNE noScrN
JSR ScrNorth
noScrN RTS
*--- Scroll plateau droite->gauche
ScrollEast LDX MyColumn
LDA TblPlateau,X
CLC
ADC #2
STA MyArrivee
LDA Fleches,X
ASL
STA PlaEast1+1
LDA MyArrivee
SEC
PlaEast1 SBC #$0000
STA MyDepart
LDX MyDepart
LDA Plateau,X
TAY
]lp LDA Plateau+2,X
STA Plateau,X
INX
INX
CPX MyArrivee
BNE ]lp
TYA
STA Plateau-2,X
LDA Diabolic
BNE noScrE
JSR ScrEast
noScrE RTS
*--- Scroll plateau bas->haut
ScrollSouth LDX MyColumn
LDA TblPlateau,X
STA MyArrivee
LDA Fleches,X
DEC
ASL
TAX
LDA TblPlateau2,X
STA PlaSouth1+1
LDA MyArrivee
SEC
PlaSouth1 SBC #$FFFF
STA MyDepart
LDX MyDepart
LDA Plateau,X
TAY
]lp LDA Plateau+18,X
STA Plateau,X
TXA
CLC
ADC #18
TAX
CPX MyArrivee
BNE ]lp
TYA
STA Plateau,X
LDA Diabolic
BNE noScrS
JSR ScrSouth
noScrS RTS
*--- Scroll plateau gauche->droite
ScrollWest LDX MyColumn
LDA TblPlateau,X
STA MyArrivee
LDA Fleches,X
ASL
CLC
ADC MyArrivee
SEC
SBC #2
STA MyDepart
LDX MyDepart
LDA Plateau,X
TAY
]lp DEX
DEX
LDA Plateau,X
STA Plateau+2,X
CPX MyArrivee
BNE ]lp
TYA
STA Plateau,X
LDA Diabolic
BNE noScrW
JSR ScrWest
noScrW RTS
ASC 8D8D
ASC 'Nice meeting at Burger Bill'27'home, next time in LogicWare office ??'8D8D
*--------------------------
* Routines scrolls ecran
*--------------------------
*--- Retourne l'adresse mémoire d'une ligne à partir d'un index
calcXY ASL
ASL
TAY
LDA lineBANK1+2,Y
TAX
LDA lineBANK1,Y
CLC
ADC scrX1
TAY
RTS
*--- Copie la ligne du haut dans le buffer
saveLINE
LDY #0
LDA [$34],Y
STA bufLIGNE,Y
INY
INY
LDA [$34],Y
STA bufLIGNE,Y
INY
INY
LDA [$34],Y
STA bufLIGNE,Y
INY
INY
LDA [$34],Y
STA bufLIGNE,Y
INY
INY
LDA [$34],Y
STA bufLIGNE,Y
INY
INY
LDA [$34],Y
STA bufLIGNE,Y
INY
INY
LDA [$34],Y
STA bufLIGNE,Y
INY
INY
LDA [$34],Y
STA bufLIGNE,Y
INY
INY
LDA [$34],Y
STA bufLIGNE,Y
INY
INY
LDA [$34],Y
STA bufLIGNE,Y
INY
INY
LDA [$34],Y
STA bufLIGNE,Y
INY
INY
LDA [$34],Y
STA bufLIGNE,Y
INY
INY
LDA [$34],Y
STA bufLIGNE,Y
INY
INY
LDA [$34],Y
STA bufLIGNE,Y
INY
INY
LDA [$34],Y
STA bufLIGNE,Y
INY
INY
LDA [$34],Y
STA bufLIGNE,Y
INY
INY
LDA [$34],Y
STA bufLIGNE,Y
INY
LDA [$34],Y
STA bufLIGNE,Y
RTS
*--- Restaure la ligne copiee
restoreLINE
LDY #0
LDA bufLIGNE,Y
STA [$30],Y
INY
INY
LDA bufLIGNE,Y
STA [$30],Y
INY
INY
LDA bufLIGNE,Y
STA [$30],Y
INY
INY
LDA bufLIGNE,Y
STA [$30],Y
INY
INY
LDA bufLIGNE,Y
STA [$30],Y
INY
INY
LDA bufLIGNE,Y
STA [$30],Y
INY
INY
LDA bufLIGNE,Y
STA [$30],Y
INY
INY
LDA bufLIGNE,Y
STA [$30],Y
INY
INY
LDA bufLIGNE,Y
STA [$30],Y
INY
INY
LDA bufLIGNE,Y
STA [$30],Y
INY
INY
LDA bufLIGNE,Y
STA [$30],Y
INY
INY
LDA bufLIGNE,Y
STA [$30],Y
INY
INY
LDA bufLIGNE,Y
STA [$30],Y
INY
INY
LDA bufLIGNE,Y
STA [$30],Y
INY
INY
LDA bufLIGNE,Y
STA [$30],Y
INY
INY
LDA bufLIGNE,Y
STA [$30],Y
INY
INY
LDA bufLIGNE,Y
STA [$30],Y
INY
LDA bufLIGNE,Y
STA [$30],Y
RTS
*--------------------------
* Routines scrolls ecran
*--------------------------
*--- Scroll plateau haut->bas
ScrNorth LDX MyArrivee
LDA scrBigY,X
STA MyArrivee
STA firstY1
LDA scrBigX,X
STA scrX1
LDX MyDepart
TXA
LDA scrBigY,X
CLC
ADC #$0022
STA MyDepart
STA lastY1
LDX #$0023
L1325 PHX
LDA MyDepart
JSR calcXY
STY $34
STY $3C
STX $36
STX $3E
LDA MyArrivee
JSR calcXY
STY $30
STX $32
LDA MyDepart
DEC
STA MyDepart2
JSR saveLINE
L1348 LDA MyDepart2
JSR calcXY
STY $38
STX $3A
LDY #$0022
L1355 LDA [$38],Y
STA [$3C],Y
DEY
BPL L1355
LDA $38
STA $3C
LDA $3A
STA $3E
DEC MyDepart2
LDA MyDepart2
CMP MyArrivee
BCS L1348
JSR restoreLINE
PLX
DEX
BEQ L1386
CPX #$0011
BEQ L137E
BRL L1325
L137E PHX
JSR refreshCOLUMN
PLX
BRL L1325
L1386 JSR refreshCOLUMN
RTS
*--- Scroll plateau droite->gauche
ScrEast LDX MyDepart
LDA scrBigY,X
STA MyDepart
STA MyDepart2
STA firstY3
CLC
ADC #34
STA MyArrivee2
STA lastY3
LDA scrBigX,X
STA scrX1
LDX MyArrivee
DEX
DEX
LDA scrBigX,X
CLC
ADC #34
SEC
SBC scrX1
STA scrX2
LDX #$0023
L13BF PHX
L13C0 LDA MyDepart2
JSR calcXY
STY $34
STX $36
INY
STY $30
STX $32
SEP #$20
LDA [$34]
PHA
LDY #$0000
L13D7 LDA [$30],Y
STA [$34],Y
INY
CPY scrX2
BCC L13D7
PLA
STA [$34],Y
REP #$20
INC MyDepart2
LDA MyDepart2
CMP MyArrivee2
BCC L13C0
BEQ L13C0
LDA MyDepart
STA MyDepart2
PLX
DEX
BEQ L140D
CPX #$0011
BEQ L1405
BRL L13BF
L1405 PHX
JSR refreshLINE
PLX
BRL L13BF
L140D JSR refreshLINE
RTS
*--- Scroll plateau bas->haut
ScrSouth LDX MyArrivee
LDA scrBigY,X
CLC
ADC #$0022
STA MyArrivee
STA lastY1
LDA scrBigX,X
STA scrX1
LDX MyDepart
LDA scrBigY,X
STA MyDepart
STA firstY1
LDX #$0023
L1436 PHX
LDA MyDepart
JSR calcXY
STY $34
STY $3C
STX $36
STX $3E
LDA MyArrivee
JSR calcXY
STY $30
STX $32
LDA MyDepart
INC
STA MyDepart2
JSR saveLINE
L1459 LDA MyDepart2
JSR calcXY
STY $38
STX $3A
LDY #$0022
L1466 LDA [$38],Y
STA [$3C],Y
DEY
BPL L1466
LDA $38
STA $3C
LDA $3A
STA $3E
INC MyDepart2
LDA MyArrivee
CMP MyDepart2
BCS L1459
JSR restoreLINE
PLX
DEX
BEQ L1497
CPX #$0011
BEQ L148F
BRL L1436
L148F PHX
JSR refreshCOLUMN
PLX
BRL L1436
L1497 JSR refreshCOLUMN
RTS
*--- Scroll plateau gauche->droite
ScrWest LDX MyDepart
LDA scrBigY,X
STA MyDepart
STA MyDepart2
STA firstY3
CLC
ADC #$0022
STA MyArrivee2
STA lastY3
LDA scrBigX,X
SEC
SBC #$0006
STA scrX2
LDX MyArrivee
LDA scrBigX,X
STA scrX1
LDX #$0023
L14CA PHX
L14CB LDA MyDepart2
JSR calcXY
STY $30
STX $32
INY
STY $34
STX $36
SEP #$20
LDY scrX2
LDA [$30],Y
PHA
DEY
L14E3 LDA [$30],Y
STA [$34],Y
DEY
BPL L14E3
PLA
STA [$30]
REP #$20
INC MyDepart2
LDA MyDepart2
CMP MyArrivee2
BCC L14CB
BEQ L14CB
LDA MyDepart
STA MyDepart2
PLX
DEX
BEQ L1516
CPX #$0011
BEQ L150E
BRL L14CA
L150E PHX
JSR refreshLINE
PLX
BRL L14CA
L1516 JSR refreshLINE
RTS
ASC 8D8D
ASC 'Corona for ever, Cobol for never !'8D8D
*--------------------------
* Sprites routines
*--------------------------
*--- Affiche un gros sprite (35x35)
WriteBig DEC ; en A le sprite à afficher
ASL
TAY
LDA SprBig+2,Y ; adresse de fin du sprite
STA L15F2+1
LDA SprBig,Y ; adresse de début
TAY
LDA scrBigX,X
STA SprX
LDA scrBigY,X
STA SprY
TYX ; => adresse de début du sprite
LDY SprY
L155D PHY
TYA
ASL
ASL
TAY
LDA lineBANK1,Y
STA $0C
LDA lineBANK1+2,Y
STA $0E
LDY SprX
LDA |$0000,X
STA [$0C],Y
INY
INY
LDA |$0002,X
STA [$0C],Y
INY
INY
LDA |$0004,X
STA [$0C],Y
INY
INY
LDA |$0006,X
STA [$0C],Y
INY
INY
LDA |$0008,X
STA [$0C],Y
INY
INY
LDA |$000A,X
STA [$0C],Y
INY
INY
LDA |$000C,X
STA [$0C],Y
INY
INY
LDA |$000E,X
STA [$0C],Y
INY
INY
LDA |$0010,X
STA [$0C],Y
INY
INY
LDA |$0012,X
STA [$0C],Y
INY
INY
LDA |$0014,X
STA [$0C],Y
INY
INY
LDA |$0016,X
STA [$0C],Y
INY
INY
LDA |$0018,X
STA [$0C],Y
INY
INY
LDA |$001A,X
STA [$0C],Y
INY
INY
LDA |$001C,X
STA [$0C],Y
INY
INY
LDA |$001E,X
STA [$0C],Y
INY
INY
LDA |$0020,X
STA [$0C],Y
INY
LDA |$0022,X
STA [$0C],Y
PLY
INY
TXA
CLC
ADC #35 ; 35 de large
TAX
L15F2 CPX #$FFFF
BCS L15FA
BRL L155D
L15FA RTS
*--- Affiche un petit sprite (14x14)
WriteSmall
DEC
ASL
TAY
LDA SprSmall+2,Y
STA L1661+1
LDA SprSmall,Y
TAY
LDA scrSmallX,X
STA SprX
LDA scrSmallY,X
STA SprY
TYX
LDY SprY
L1618 PHY
TYA
ASL
ASL
TAY
LDA lineBANK1,Y
STA $0C
LDA lineBANK1+2,Y
STA $0E
LDY SprX
LDA |$0000,X
STA [$0C],Y
INY
INY
LDA |$0002,X
STA [$0C],Y
INY
INY
LDA |$0004,X
STA [$0C],Y
INY
INY
LDA |$0006,X
STA [$0C],Y
INY
INY
LDA |$0008,X
STA [$0C],Y
INY
INY
LDA |$000A,X
STA [$0C],Y
INY
INY
LDA |$000C,X
STA [$0C],Y
PLY
INY
TXA
CLC
ADC #14 ; 14 de large
TAX
L1661 CPX #$FFFF
BNE L1618
RTS
ASC 8D8D
ASC 'No more Yada Yada... Seinfeld show is over :-('8D8D
*--------------------------
* Routines ressources
*--------------------------
loadTITRE
PHA ; Title
PHA
PEA $BDBD
PEA $0000
PEA $0024
_LoadResource
PHD
TSC
TCD
LDA [$03]
STA ptrIMAGE1
LDY #$0002
LDA [$03],Y
STA ptrIMAGE1+2
PLD
PLA
PLA
BCC L16C3
JMP resERR
L16C3 PHA ; About
PHA
PEA $BDBD
PEA $0000
PEA $0025
_LoadResource
PHD
TSC
TCD
LDA [$03]
STA ptrIMAGE2
LDY #$0002
LDA [$03],Y
STA ptrIMAGE2+2
PLD
PLA
PLA
BCC L16ED
JMP resERR
L16ED PHA ; VGA palette
PHA
PEA $BDBD
PEA $0000
PEA $0014
_LoadResource
PHD
TSC
TCD
LDA [$03]
STA ptrPANEL1
LDY #$0002
LDA [$03],Y
STA ptrPANEL1+2
PLD
PLA
PLA
BCC L1717
JMP resERR
L1717 PHA ; VGA palette
PHA
PEA $BDBD
PEA $0000
PEA $0015
_LoadResource
PHD
TSC
TCD
LDA [$03]
STA ptrPANEL2
LDY #$0002
LDA [$03],Y
STA ptrPANEL2+2
PLD
PLA
PLA
BCC L1741
JMP resERR
L1741 RTS
*--- Charge les images du jeu
loadIMAGES
PHA ; Happyland
PHA
PEA $BDBD
PEA $0000
PEA $0020
_LoadResource
PHD
TSC
TCD
LDA [$03]
STA ptrIMAGE1
LDY #$0002
LDA [$03],Y
STA ptrIMAGE1+2
PLD
PLA
PLA
BCC L176C
JMP resERR
L176C PHA ; Ludyland
PHA
PEA $BDBD
PEA $0000
PEA $0021
_LoadResource
PHD
TSC
TCD
LDA [$03]
STA ptrIMAGE2
LDY #$0002
LDA [$03],Y
STA ptrIMAGE2+2
PLD
PLA
PLA
BCC L1796
JMP resERR
L1796 PHA ; Planet
PHA
PEA $BDBD
PEA $0000
PEA $0022
_LoadResource
PHD
TSC
TCD
LDA [$03]
STA ptrIMAGE3
LDY #$0002
LDA [$03],Y
STA ptrIMAGE3+2
PLD
PLA
PLA
BCC L17C0
JMP resERR
L17C0 PHA ; Xenoland
PHA
PEA $BDBD
PEA $0000
PEA $0023
_LoadResource
PHD
TSC
TCD
LDA [$03]
STA ptrIMAGE4
LDY #$0002
LDA [$03],Y
STA ptrIMAGE4+2
PLD
PLA
PLA
BCC L17EA
JMP resERR
L17EA RTS
*---
loadDATA PHA ; Data Happyland
PHA
PEA $BDBD
PEA $0000
PEA $0010
_LoadResource
PHD
TSC
TCD
LDA [$03]
STA ptrPANEL1
LDY #$0002
LDA [$03],Y
STA ptrPANEL1+2
PLD
PLA
PLA
BCC L1815
JMP resERR
L1815 PHA ; Data Ludyland
PHA
PEA $BDBD
PEA $0000
PEA $0011
_LoadResource
PHD
TSC
TCD
LDA [$03]
STA ptrPANEL2
LDY #$0002
LDA [$03],Y
STA ptrPANEL2+2
PLD
PLA
PLA
BCC L183F
JMP resERR
L183F PHA ; Data Planet
PHA
PEA $BDBD
PEA $0000
PEA $0012
_LoadResource
PHD
TSC
TCD
LDA [$03]
STA ptrPANEL3
LDY #$0002
LDA [$03],Y
STA ptrPANEL3+2
PLD
PLA
PLA
BCC L1869
JMP resERR
L1869 PHA ; Data Xenoland
PHA
PEA $BDBD
PEA $0000
PEA $0013
_LoadResource
PHD
TSC
TCD
LDA [$03]
STA ptrPANEL4
LDY #$0002
LDA [$03],Y
STA ptrPANEL4+2
PLD
PLA
PLA
BCC L1893
JMP resERR
L1893 RTS
*--------------------------
* Routines gs/os
*--------------------------
loadFILE JSL GSOS
DW $2010 ; Open
ADRL proOpen
BCS loadERR
LDA proOpen+2
STA proRead+2
STA proClose+2
JSL GSOS
DW $2012 ; Read
ADRL proRead
loadERR PHP
JSL GSOS
DW $2014 ; Close
ADRL proClose
PLP
RTS
*---
saveFILE JSL GSOS
DW $2005 ; SetFileInfo
ADRL proInfo
JSL GSOS
DW $2002 ; Destroy
ADRL proKill
JSL GSOS
DW $2001 ; Create
ADRL proCreate
BCS saveERR
JSL GSOS
DW $2010 ; Open
ADRL proOpen
LDA proOpen+2
STA proWrite+2
STA proClose+2
JSL GSOS
DW $2013 ; Write
ADRL proWrite
saveERR JSL GSOS
DW $2014 ; Close
ADRL proClose
RTS
ASC 8D8D
ASC 'Godzilla is back ! Thanks to the French nuclear tests. '
ASC 'If there were none, the film would not have existed :->'8D8D
*--------------------------
* Routines diverses
*--------------------------
*--- Erreur de memoire
memERR BCS memERR1
RTS
memERR1 PushWord #0
PushLong #memSTR1
PushLong #memSTR2
PushLong #memSTR3
PushLong #memSTR4
_TLTextMountVolume
PLA
JMP initOFF
resERR PushWord #0
PushLong #memSTR2
PushLong #memSTR3
PushLong #memSTR4
PushLong #memSTR4
_TLTextMountVolume
PLA
JMP initOFF
*--- Genere un nombre aleatoire
Random LDAL $E0C02E
XBA
CLC
ADC VBLCounter0
STA VBLCounter0
AND #$00FF
RTS
*--------------------------
* Interruption VBL
*--------------------------
MX %11
myVBL ADRL $00000000
VBLcnt DW $003C
DW $A55A
PHB
PHK
PLB
LDA #60
STA VBLcnt
LDA Melange
BEQ noVBL
LDX #$01
LDA Temps+2
INC
CMP #60
BEQ L19F9
STA Temps+2
BRA L1A1B
L19F9 STZ Temps+2
INX
LDA Temps
INC
CMP #60
BEQ L1A0A
STA Temps
BRA L1A1B
L1A0A STZ Temps
INX
LDA Temps
INC
CMP #60
BNE L1A18
LDA #$00
L1A18 STA Temps
L1A1B STX noINTER
noVBL SEP #$30
PLB
CLC
RTL
MX %00 ; A laisser pour avoir suite en 16 bits
*---
myRAN ADRL $00000000
RANcnt DW $0001
DW $A55A
PHB
PHK
PLB
REP #$30
INC VBLCounter0
LDA #$0001
STA RANcnt
SEP #$30
PLB
CLC
RTL
MX %00
*---
PHA
PHA
PEA $0001
PEA $0000
LDA myID
PHA
PEA $C01C
PEA $0000
PEA $0000
_NewHandle
PHD
TSC
TCD
LDA [$03]
STA ptrMEM
LDY #$0002
LDA [$03],Y
STA ptrMEM+2
PLD
PLY
STY haMEM
PLX
STX haMEM+2
RTS
*--------------------------
* Routines graphiques
*--------------------------
unpackPCX ASL
ASL
TAX
LDA ptrIMAGE1,X
CLC
ADC #$0080 ; entête de 128 octets
STA $24
LDA ptrIMAGE1+2,X
ADC #$0000
STA $26
STZ numLIGNE
LDA lineBANK1
STA $04
LDA lineBANK1+2
STA $06
LDY #$0000
L1A98 JSR L1AE2
CMP #$00C0
BCC L1AB8
AND #$003F
STA PCXcnt
JSR L1AE2
L1AA9 STA [$04],Y
INY
CPY #$FA00
BCS L1AC0
DEC PCXcnt
BNE L1AA9
BRA L1A98
L1AB8 STA [$04],Y
INY
CPY #$FA00
BNE L1A98
L1AC0 LDA numLIGNE ; on a 100 lignes par banc
CLC
ADC #100
STA numLIGNE
CMP #$0190
BCS L1AE1
ASL
ASL
TAY
LDA lineBANK1,Y
STA $04
LDA lineBANK1+2,Y
STA $06
LDY #$0000
BRA L1A98
L1AE1 RTS
L1AE2 LDA [$24]
AND #$00FF
INC $24
BNE L1AED
INC $26
L1AED RTS
PCXcnt DS 2
numLIGNE DS 2
*--- Affiche l'image avec un fade in
showIMAGE
ASL
ASL
TAX
LDA ptrPANEL1,X
STA $20
LDA ptrPANEL1+2,X
STA $20+2
LDY #768-2
]lp LDA [$20],Y
STA refPALETTE,Y
DEY
DEY
BPL ]lp
LDA #0
STA firstLINE
LDA #400-1
STA lastLINE
JSR refreshSCREEN
*---
fadeIN LDY #$0100
L1B1D PHY
LDX #$02FF
SEP #$20
L1B23 LDA thePALETTE,X
CMP refPALETTE,X
BEQ L1B4F
INC thePALETTE,X
LDA thePALETTE,X
CMP refPALETTE,X
BEQ L1B4F
INC thePALETTE,X
LDA thePALETTE,X
CMP refPALETTE,X
BEQ L1B4F
INC thePALETTE,X
LDA thePALETTE,X
CMP refPALETTE,X
BEQ L1B4F
INC thePALETTE,X
L1B4F DEX
BPL L1B23
REP #$20
PEA ^thePALETTE
PEA thePALETTE
JSL _xSetPalette
PLY
DEY
BNE L1B1D
RTS
fadeOUT LDY #$0100
L1B66 PHY
LDX #$02FF
SEP #$20
L1B6C LDA thePALETTE,X
BEQ L1B83
DEC thePALETTE,X
BEQ L1B83
DEC thePALETTE,X
BEQ L1B83
DEC thePALETTE,X
BEQ L1B83
DEC thePALETTE,X
L1B83 DEX
BPL L1B6C
REP #$20
PEA ^thePALETTE
PEA thePALETTE
JSL _xSetPalette
PLY
DEY
BNE L1B66
RTS
ASC 8D8D
ASC 'The finest clothes on Peer 39 : a Wallace & Gromit T-Shirt !!!'8D8D
*--- Affiche une chaine de nombres (petits caracteres) en rouge (8x12)
printNUMR
PHA
LDA #sprNumR
STA L1C23+1
STA L1C2B+1
PLA
BRA L1BF1
*--- Affiche une chaine de nombres (petits caracteres) en jaune (8x12)
printNUMJ
PHA
LDA #sprNumJ
STA L1C23+1
STA L1C2B+1
PLA
L1BF1 STA L1BFA+1
STX SprX
STY SprY
L1BFA LDA $FFFF
AND #$00FF
BNE L1C13
LDA SprY
STA firstY4
CLC
ADC #$000D
STA lastY4
JSR refreshPANEL
RTS
L1C13 CMP #$0020
BNE L1C1B
LDA #'0'
L1C1B SEC
SBC #'0'
ASL
TAX
INX
INX
L1C23 LDA sprNumR,X
STA L1C66+1
DEX
DEX
L1C2B LDA sprNumR,X
TAX
LDY SprY
L1C32 PHY
TYA
ASL
ASL
TAY
LDA lineBANK1,Y
STA $10
LDA lineBANK1+2,Y
STA $12
LDY SprX
LDA |$0000,X
STA [$10],Y
INY
INY
LDA |$0002,X
STA [$10],Y
INY
INY
LDA |$0004,X
STA [$10],Y
INY
INY
LDA |$0006,X
STA [$10],Y
PLY
INY
TXA
CLC
ADC #8
TAX
L1C66 CPX #$FFFF
BNE L1C32
LDA SprX
CLC
ADC #8
STA SprX
INC L1BFA+1
BRL L1BFA
*--------------------------
* Routines sonores
*--------------------------
initSOUND PHA
_SoundToolStatus
PLA
BPL L1C8A
INC fgNOSOUND
RTS
L1C8A TDC
CLC
ADC #$0100
PHA
_SoundStartUp
PHA ; load click sound
PHA
PEA $BDBD
PEA $0000
PEA $0001
_LoadResource
PHD
TSC
TCD
LDA [$03]
STA ptrSOUND1
LDY #$0002
LDA [$03],Y
STA ptrSOUND1+2
PLD
PLA
STA haSOUND1
PLA
STA haSOUND1+2
BCC L1CC7
INC fgNOSOUND1
L1CC7 PHA ; load tada sound
PHA
PEA $BDBD
PEA $0000
PEA $0002
_LoadResource
PHD
TSC
TCD
LDA [$03]
STA ptrSOUND2
LDY #$0002
LDA [$03],Y
STA ptrSOUND2+2
PLD
PLA
STA haSOUND2
PLA
STA haSOUND2+2
BCC L1CF7
INC fgNOSOUND2
L1CF7 RTS
*---
sndOFF LDA fgNOSOUND
BNE L1D04
_SoundShutDown
L1D04 RTS
*---
playSND LDA fgNOSOUND
ORA fgNOMUSIC
BNE L1D53
CPX #$0001
BEQ L1D22
LDA fgNOSOUND1
BNE L1D53
LDX ptrSOUND1+2
LDY ptrSOUND1
LDA #$0028
BRA L1D30
L1D22 LDA fgNOSOUND2
BNE L1D53
LDX ptrSOUND2+2
LDY ptrSOUND2
LDA #$00EB
L1D30 STY pZIKptr
STX pZIKptr+2
STA pZIKptr+4
PushWord #%01111111_11111111
_FFStopSound
PEA $0201
PEA ^pZIKptr
PEA pZIKptr
_FFStartSound
L1D53 RTS
pZIKptr DS 4
DS 2
DW $01B7
DW $8000
DW $0006
DS 4
DW $00FF
fgNOSOUND DS 2
fgNOSOUND1 DS 2
fgNOSOUND2 DS 2
fgNOMUSIC DS 2
haSOUND1 DS 4
haSOUND2 DS 4
ptrSOUND1 DS 4
ptrSOUND2 DS 4
ASC 8D8D
ASC 'True is not out there... here it is : http://www.cyberstation.fr/~zardini'8D8D
*--- Mouse routines - See blockade.Mice.s pour plus d'informations
moREAD JSR moTOOL
LDA moX
CMP oldX
BNE moREAD1
LDA moY
CMP oldY
BNE moREAD1
RTS
moREAD1 JSR moBACK
LDX moX
STX oldX
LDY moY
STY oldY
JSR moFORE
RTS
moCONTROL
LDA window
ASL
TAX
LDA windowS+2,X
ASL
PHA
LDA windowS,X
ASL
TAX
L1E01 LDA moX
CMP FlecheX1,X
BCC L1E1B
CMP FlecheX2,X
BCS L1E1B
LDA moY
CMP FlecheY1,X
BCC L1E1B
CMP FlecheY2,X
BCC L1E25
L1E1B INX
INX
TXA
CMP $01,S
BCC L1E01
LDX #$FFFF
L1E25 PLA
LDA moBTN0
AND #$00C0
CMP #$0040
BEQ L1E40
CMP #$0080
BEQ L1E88
CMP #$00C0
BNE L1E3E
BRL L1EB1
L1E3E SEC
RTS
*- is up, was down
L1E40 CPX #$FFFF
BNE L1E63
LDX windowC
LDA FlecheStatut,X
AND #$0002
BNE L1E61
LDA FlecheStatut,X
AND #$0001
BEQ L1E61
LDA FlecheStatut,X
AND #$FFFE
STA FlecheStatut,X
L1E61 SEC
RTS
L1E63 CPX windowC
BNE L1E61
LDA FlecheStatut,X
AND #$0002
BNE L1E61
LDA FlecheStatut,X
AND #$0001
BEQ L1E84
LDA FlecheStatut,X
AND #$FFFE
STA FlecheStatut,X
JSR inverseNON
L1E84 TXA
LSR
CLC
RTS
L1E88 CPX #$FFFF
BEQ L1EAF
LDA FlecheStatut,X
AND #$0002
BNE L1EAF
STX windowC
LDA FlecheStatut,X
AND #$0001
BNE L1EAF
LDA FlecheStatut,X
AND #$FFFE
ORA #$0001
STA FlecheStatut,X
JSR inverseOUI
L1EAF SEC
RTS
L1EB1 CPX windowC
BEQ L1EDC
LDX windowC
CPX #$FFFF
BEQ L1EDA
LDA FlecheStatut,X
AND #$0002
BNE L1EDA
LDA FlecheStatut,X
AND #$0001
BEQ L1EDA
LDA FlecheStatut,X
AND #$FFFE
STA FlecheStatut,X
JSR inverseNON
L1EDA SEC
RTS
L1EDC CPX #$FFFF
BEQ L1F00
LDA FlecheStatut,X
AND #$0002
BNE L1F00
LDA FlecheStatut,X
AND #$0001
BNE L1F00
LDA FlecheStatut,X
AND #$FFFE
ORA #$0001
STA FlecheStatut,X
JSR inverseOUI
L1F00 SEC
RTS
inverseOUI
PHX
LDA Fleches2,X
BEQ L1F2D
JSR moBACK
PLX
PHX
LDA FlecheY1,X
STA firstY3
LDA FlecheY2,X
STA lastY3
LDA FlecheAffiche,X
STA L1F24+1
TXY
LDA FlecheSprOui,X
TAX
L1F24 JSR $FFFF
JSR refreshLINE
JSR moFORE
L1F2D PLX
RTS
inverseNON PHX
LDA Fleches2,X
BEQ L1F5A
JSR moBACK
PLX
PHX
LDA FlecheY1,X
STA firstY3
LDA FlecheY2,X
STA lastY3
LDA FlecheAffiche,X
STA L1F51+1
TXY
LDA FlecheSprNon,X
TAX
L1F51 JSR $FFFF
JSR refreshLINE
JSR moFORE
L1F5A PLX
RTS
waitMOUSEUP
JSR moTOOL
LDA moBTN0
CMP #$0040
BNE waitMOUSEUP
RTS
*--------------------------------------
maximumX = 64
maximumY = 64
*---
moTOOL ldal $e0c026
bpl moTOOL1
and #%00000010_00000000
beq moTOOL2
ldal $e0c024
moTOOL1 rts
moTOOL2 ldal $e0c024
tax
and #%00000000_10000000
eor #%00000000_10000000
lsr moBTN1
eor moBTN1
and #%00000000_11000000
sta moBTN1
ldal $e0c024
tay
and #%00000000_10000000
eor #%00000000_10000000
lsr moBTN0
eor moBTN0
and #%00000000_11000000
sta moBTN0
*- Occupe toi de X
txa
and #%00000000_00111111
pha
txa
and #%00000000_01000000
beq moTOOL3
lda moX
clc
adc 1,s
sec
sbc #64
bcc moTOOL4
sta moX
bra moTOOL4
moTOOL3 lda moX
clc
adc 1,s
cmp #maximumX
bcs moTOOL4
sta moX
*- Occupe toi de Y
moTOOL4 pla ; Recupere la pile
tya
and #%00000000_00111111
pha
tya
and #%00000000_01000000
beq moTOOL6
lda moY
clc
adc 1,s
sec
sbc #64
bcc moTOOL5
sta moY
moTOOL5 pla
rts
moTOOL6 lda moY
clc
adc 1,s
cmp #maximumY
bcs moTOOL7
sta moY
moTOOL7 pla
rts
*--------------------------------------
moBACK LDX #$0000
LDY oldY
L2003 PHY
TYA
ASL
ASL
TAY
LDA lineBANK1,Y
STA $14
LDA lineBANK1+2,Y
STA $16
LDY oldX
LDA moDATA,X
STA [$14],Y
INY
INY
LDA moDATA+2,X
STA [$14],Y
INY
INY
LDA moDATA+4,X
STA [$14],Y
INY
INY
LDA moDATA+6,X
STA [$14],Y
INY
INY
LDA moDATA+8,X
STA [$14],Y
INY
INY
LDA moDATA+$A,X
STA [$14],Y
INY
INY
LDA moDATA+$C,X
STA [$14],Y
PLY
INY
TXA
CLC
ADC #$000E
TAX
CPX #$00C4
BEQ L2054
BRL L2003
L2054 LDA oldX
STA offsetX
LDA oldY
STA firstY2
CLC
ADC #$000E
STA lastY2
JSR refreshCURSOR
RTS
*--------------------------------------
moFORE LDX #$0000
LDY moY
L2071 PHY
TYA
ASL
ASL
TAY
LDA lineBANK1,Y
STA $14
LDA lineBANK1+2,Y
STA $16
LDY moX
LDA [$14],Y
STA moDATA,X
AND moMASK,X
ORA moSPRI,X
STA [$14],Y
INY
INY
LDA [$14],Y
STA moDATA+2,X
AND moMASK+2,X
ORA moSPRI+2,X
STA [$14],Y
INY
INY
LDA [$14],Y
STA moDATA+4,X
AND moMASK+4,X
ORA moSPRI+4,X
STA [$14],Y
INY
INY
LDA [$14],Y
STA moDATA+6,X
AND moMASK+6,X
ORA moSPRI+6,X
STA [$14],Y
INY
INY
LDA [$14],Y
STA moDATA+8,X
AND moMASK+8,X
ORA moSPRI+8,X
STA [$14],Y
INY
INY
LDA [$14],Y
STA moDATA+$A,X
AND moMASK+$A,X
ORA moSPRI+$A,X
STA [$14],Y
INY
INY
LDA [$14],Y
STA moDATA+$C,X
AND moMASK+$C,X
ORA moSPRI+$C,X
STA [$14],Y
PLY
INY
TXA
CLC
ADC #$000E
TAX
CPX #$00C4
BEQ L20FA
BRL L2071
L20FA LDA moX
STA offsetX
LDA moY
STA firstY2
CLC
ADC #$000E
STA lastY2
JSR refreshCURSOR
RTS
offsetX DS 2
moX DS 2
moY DS 2
moBTN0 DS 2
moBTN1 DS 2
oldX DS 2
oldY DS 2
moDATA HEX 0000000000000000000000000000
HEX 0000000000000000000000000000
HEX 0000000000000000000000000000
HEX 0000000000000000000000000000
HEX 0000000000000000000000000000
HEX 0000000000000000000000000000
HEX 0000000000000000000000000000
HEX 0000000000000000000000000000
HEX 0000000000000000000000000000
HEX 0000000000000000000000000000
HEX 0000000000000000000000000000
HEX 0000000000000000000000000000
HEX 0000000000000000000000000000
HEX 0000000000000000000000000000
moSPRI HEX 0000000000000000000000000000
HEX 00FFFFFF00000000000000000000
HEX 00FFFFFFFFFFFF00000000000000
HEX 00FFFFFFFFFFFFFFFFFF00000000
HEX 0000FFFFFFFFFFFFFFFFFFFFFF00
HEX 0000FFFFFFFFFFFFFFFFFF000000
HEX 0000FFFFFFFFFFFFFF0000000000
HEX 000000FFFFFFFF00000000000000
HEX 000000FFFFFFFF00000000000000
HEX 000000FFFFFF0000000000000000
HEX 00000000FFFF0000000000000000
HEX 00000000FF000000000000000000
HEX 00000000FF000000000000000000
HEX 0000000000000000000000000000
moMASK HEX 00000000FFFFFFFFFFFFFFFFFFFF
HEX 00000000000000FFFFFFFFFFFFFF
HEX 00000000000000000000FFFFFFFF
HEX 00000000000000000000000000FF
HEX FF00000000000000000000000000
HEX FF000000000000000000000000FF
HEX FF00000000000000000000FFFFFF
HEX FFFF00000000000000FFFFFFFFFF
HEX FFFF000000000000FFFFFFFFFFFF
HEX FFFF0000000000FFFFFFFFFFFFFF
HEX FFFFFF00000000FFFFFFFFFFFFFF
HEX FFFFFF000000FFFFFFFFFFFFFFFF
HEX FFFFFF000000FFFFFFFFFFFFFFFF
HEX FFFFFFFF00FFFFFFFFFFFFFFFFFF
window DW $0000 ; on'a qu'une fenêtre
windowC DW $FFFF
windowS DW $0000 ; on part du bouton 0 et
DW $0024 ; on a 36 boutons sur le plateau
*--- Les coordonnees des flèches sur l'écran
FlecheX1 DW $002A ; X de départ
DW $004D
DW $0070
DW $0093
DW $00B6
DW $00D9
DW $00FC
DW $011F
DW $0142
DW $0164
DW $0164
DW $0164
DW $0164
DW $0164
DW $0164
DW $0164
DW $0164
DW $0164
DW $002A
DW $004D
DW $0070
DW $0093
DW $00B6
DW $00D9
DW $00FC
DW $011F
DW $0142
DW $0011
DW $0011
DW $0011
DW $0011
DW $0011
DW $0011
DW $0011
DW $0011
DW $0011
FlecheX2 DW $004C ; X de fin
DW $006F
DW $0092
DW $00B5
DW $00D8
DW $00FB
DW $011E
DW $0141
DW $0164
DW $0177
DW $0177
DW $0177
DW $0177
DW $0177
DW $0177
DW $0177
DW $0177
DW $0177
DW $004C
DW $006F
DW $0092
DW $00B5
DW $00D8
DW $00FB
DW $011E
DW $0141
DW $0164
DW $0025
DW $0025
DW $0025
DW $0025
DW $0025
DW $0025
DW $0025
DW $0025
DW $0025
FlecheY1 DW $0006 ; Y de départ
DW $0006
DW $0006
DW $0006
DW $0006
DW $0006
DW $0006
DW $0006
DW $0006
DW $001F
DW $0042
DW $0065
DW $0088
DW $00AB
DW $00CE
DW $00F1
DW $0114
DW $0137
DW $0158
DW $0158
DW $0158
DW $0158
DW $0158
DW $0158
DW $0158
DW $0158
DW $0158
DW $001F
DW $0042
DW $0065
DW $0088
DW $00AB
DW $00CE
DW $00F1
DW $0114
DW $0137
FlecheY2 DW $001A ; Y de fin
DW $001A
DW $001A
DW $001A
DW $001A
DW $001A
DW $001A
DW $001A
DW $001A
DW $0041
DW $0064
DW $0087
DW $00AA
DW $00CD
DW $00F0
DW $0113
DW $0136
DW $0159
DW $016C
DW $016C
DW $016C
DW $016C
DW $016C
DW $016C
DW $016C
DW $016C
DW $016C
DW $0041
DW $0064
DW $0087
DW $00AA
DW $00CD
DW $00F0
DW $0113
DW $0136
DW $0159
*--- Statut des flèches pour la routine de la souris (doit vouloir dire cliquable)
FlecheStatut
DW $0004
DW $0004
DW $0004
DW $0004
DW $0004
DW $0004
DW $0004
DW $0004
DW $0004
DW $0004
DW $0004
DW $0004
DW $0004
DW $0004
DW $0004
DW $0004
DW $0004
DW $0004
DW $0004
DW $0004
DW $0004
DW $0004
DW $0004
DW $0004
DW $0004
DW $0004
DW $0004
DW $0004
DW $0004
DW $0004
DW $0004
DW $0004
DW $0004
DW $0004
DW $0004
DW $0004
*--- Sprite d'une fleche non appuyée
FlecheSprNon
DA LA029 ; flèche haut/bas
DA LA029
DA LA029
DA LA029
DA LA029
DA LA029
DA LA029
DA LA029
DA LA029
DA LB037 ; flèche gauche/droite
DA LB037
DA LB037
DA LB037
DA LB037
DA LB037
DA LB037
DA LB037
DA LB037
DA LA83F
DA LA83F
DA LA83F
DA LA83F
DA LA83F
DA LA83F
DA LA83F
DA LA83F
DA LA83F
DA LB7F3
DA LB7F3
DA LB7F3
DA LB7F3
DA LB7F3
DA LB7F3
DA LB7F3
DA LB7F3
DA LB7F3
*--- Sprite d'une fleche appuyée (ou l'inverse)
FlecheSprOui
DA LA2DB
DA LA2DB
DA LA2DB
DA LA2DB
DA LA2DB
DA LA2DB
DA LA2DB
DA LA2DB
DA LA2DB
DA LB2CB
DA LB2CB
DA LB2CB
DA LB2CB
DA LB2CB
DA LB2CB
DA LB2CB
DA LB2CB
DA LB2CB
DA LAAF1
DA LAAF1
DA LAAF1
DA LAAF1
DA LAAF1
DA LAAF1
DA LAAF1
DA LAAF1
DA LAAF1
DA LBA87
DA LBA87
DA LBA87
DA LBA87
DA LBA87
DA LBA87
DA LBA87
DA LBA87
DA LBA87
*--- Routines d'affichage des flèches
FlecheAffiche
DA PrintNS
DA PrintNS
DA PrintNS
DA PrintNS
DA PrintNS
DA PrintNS
DA PrintNS
DA PrintNS
DA PrintNS
DA PrintEO
DA PrintEO
DA PrintEO
DA PrintEO
DA PrintEO
DA PrintEO
DA PrintEO
DA PrintEO
DA PrintEO
DA PrintNS
DA PrintNS
DA PrintNS
DA PrintNS
DA PrintNS
DA PrintNS
DA PrintNS
DA PrintNS
DA PrintNS
DA PrintEO
DA PrintEO
DA PrintEO
DA PrintEO
DA PrintEO
DA PrintEO
DA PrintEO
DA PrintEO
DA PrintEO
DA $0000
DA $0000
ASC 8D8D
ASC 'Cogito for Second Sight : The most beautiful game ever made on Apple IIgs !!! '
ASC '(ok ok, we perfectly know that beautiful doesn'27't mean interesting... :-()'8D8D
*----------------------------------------
*
* Bibliotheque des appels SecondSight
*
* (c) 1995, Brutal Deluxe
*
*----------------------------------------
ssCOMMAND = $E0C0B0
ssWRITEDATA = $E0C0B1
ssREADDATA = $E0C0B2
ssHANDSHAKE = $E0C0B8
*----------------------------------------
initSS JSR calcPTRLIGNES
JSR calcLIGNES
PEA $03D4 ; Probably Start Address Low Register
PEA $000D ; pour dire où l'image est dans
PEA $03D5 ; la mémoire de la Second Sight
PEA $0000
JSL _xSetVGAReg
PEA $03D4 ; Probably Start Address High Register
PEA $000C
PEA $03D5
PEA $0000
JSL _xSetVGAReg
PEA $0000 ; color to set the pixels to
PEA $0000 ; address to start setting pixels at
PEA $0000
PEA $0007 ; two times 640x400x256
PEA $D000
JSL _xClearScreen
PEA ^thePALETTE ; uploads a complete new palette
PEA thePALETTE
JSL _xSetPalette
PEA $0061 ; mode $61 - 640x400x256
PEA $0001
JSL _xSetMode
RTS
*--- Prepare les numéros de ligne
calcPTRLIGNES
LDX #0
TXA
]lp STA lineBANK1,X
STA lineBANK2,X
STA lineBANK3,X
STA lineBANK4,X
TAY
LDA ptrBANK1+2
STA lineBANK1+2,X
LDA ptrBANK2+2
STA lineBANK2+2,X
LDA ptrBANK3+2
STA lineBANK3+2,X
LDA ptrBANK4+2
STA lineBANK4+2,X
TYA
CLC
ADC #640
INX
INX
INX
INX
CPX #400
BNE ]lp
RTS
*--- Calcule l'adresse de départ des lignes
calcLIGNES
LDX #0
STZ temp
STZ temp+2
]lp LDA temp
STA Ligne,X
LDA temp+2
STA Ligne+2,X
LDA temp
CLC
ADC #640
STA temp
LDA temp+2
ADC #0
STA temp+2
INX
INX
INX
INX
CPX #1600 ; 400*4
BNE ]lp
RTS
*--- Refresh une colonne de pions
refreshCOLUMN
LDA firstY1
]lp PHA
ASL
ASL
TAY
PEA $0001
LDA Ligne,Y
CLC
ADC scrX1
TAX
LDA Ligne+2,Y
ADC #$0000
PHA
PHX
PEA $0000
PEA $0022
LDA lineBANK1,Y
CLC
ADC scrX1
TAX
LDA lineBANK1+2,Y
ADC #$0000
PHA
PHX
JSL vgaCOLUMN
PLA
CLC
ADC #$0001
CMP lastY1
BCC ]lp
BEQ ]lp
RTS
*--- Draw the mouse cursor onto the VGA buffer
refreshCURSOR
LDA firstY2
]lp PHA
ASL
ASL
TAY
PEA $0001
LDA Ligne,Y
CLC
ADC offsetX
TAX
LDA Ligne+2,Y
ADC #$0000
PHA
PHX
PEA $0000
PEA $000E
LDA lineBANK1,Y
CLC
ADC offsetX
TAX
LDA lineBANK1+2,Y
ADC #$0000
PHA
PHX
JSL vgaMOUSE
PLA
CLC
ADC #$0001
CMP lastY2
BCC ]lp
BEQ ]lp
RTS
*--- Refresh une ligne de pions
refreshLINE
LDA firstY3
]lp PHA
ASL
ASL
TAY
PEA $0001
LDA Ligne+2,Y
PHA
LDA Ligne,Y
PHA
PEA $0000
PEA $0190
LDA lineBANK1+2,Y
PHA
LDA lineBANK1,Y
PHA
JSL vgaLINE
PLA
CLC
ADC #$0001
CMP lastY3
BCC ]lp
BEQ ]lp
RTS
*--- Refresh the panel area
refreshPANEL
LDA firstY4
]lp PHA
ASL
ASL
TAY
PEA $0001
LDA Ligne,Y
CLC
ADC PanelX
TAX
LDA Ligne+2,Y
ADC #$0000
PHA
PHX
PEA $0000
PEA $0050
LDA lineBANK1,Y
CLC
ADC PanelX
TAX
LDA lineBANK1+2,Y
ADC #$0000
PHA
PHX
JSL vgaPANEL
PLA
CLC
ADC #1
CMP lastY4
BCC ]lp
BEQ ]lp
RTS
*--- Refresh full screen
refreshSCREEN
LDA firstLINE
]lp PHA
ASL
ASL
TAY
PEA $0001
LDA Ligne+2,Y
PHA
LDA Ligne,Y
PHA
PEA $0000
PEA $0280
LDA lineBANK1+2,Y
PHA
LDA lineBANK1,Y
PHA
JSL vgaSCREEN
PLA
CLC
ADC #1
CMP lastLINE
BCC ]lp
BEQ ]lp
RTS
*----------------------------------------
* Low-Level VGA routines
*----------------------------------------
vgaCOLUMN
TSC ; Recopie de 34 pixels
SEC
SBC #$0006
TCS
PHD
TCD
STZ $05
PHP
SEI
LDA #$0000
SEP #$20
LDA #$02
STAL ssCOMMAND
LDA #$01
L2848 CMPL ssHANDSHAKE
BNE L2848
LDA $16
STAL ssWRITEDATA
LDA $12
STAL ssWRITEDATA
LDA $13
STAL ssWRITEDATA
LDA $14
STAL ssWRITEDATA
LDA $0E
STAL ssWRITEDATA
LDA $0F
STAL ssWRITEDATA
LDA $10
STAL ssWRITEDATA
LDA $0A
STAL ssWRITEDATA
LDA $0B
STAL ssWRITEDATA
LDA $0C
STAL ssWRITEDATA
LDA #$00
L288C CMPL ssHANDSHAKE
BNE L288C
LDA #$01
L2894 CMPL ssHANDSHAKE
BNE L2894
REP #$20
PHB
LDA $0C
LDX $0A
SEP #$20
PHA
PLB
REP #$20
PHD
LDA #$C000
TCD
LDA |$0000,X
STA $B1
LDA |$0002,X
STA $B1
LDA |$0004,X
STA $B1
LDA |$0006,X
STA $B1
LDA |$0008,X
STA $B1
LDA |$000A,X
STA $B1
LDA |$000C,X
STA $B1
LDA |$000E,X
STA $B1
LDA |$0010,X
STA $B1
LDA |$0012,X
STA $B1
LDA |$0014,X
STA $B1
LDA |$0016,X
STA $B1
LDA |$0018,X
STA $B1
LDA |$001A,X
STA $B1
LDA |$001C,X
STA $B1
LDA |$001E,X
STA $B1
LDA |$0020,X
STA $B1
PLD
PLB
SEP #$20
LDA #$00
L2907 CMPL ssHANDSHAKE
BNE L2907
PLP
MX %00
LDA $08
STA $16
LDA $07
STA $15
PLD
TSC
CLC
ADC #$0014
TCS
RTL
*----------------------------------------
vgaMOUSE
TSC ; Recopie de 14 pixels
SEC
SBC #$0006
TCS
PHD
TCD
STZ $05
PHP
SEI
LDA #$0000
SEP #$20
LDA #$02
STAL ssCOMMAND
LDA #$01
L2937 CMPL ssHANDSHAKE
BNE L2937
LDA $16
STAL ssWRITEDATA
LDA $12
STAL ssWRITEDATA
LDA $13
STAL ssWRITEDATA
LDA $14
STAL ssWRITEDATA
LDA $0E
STAL ssWRITEDATA
LDA $0F
STAL ssWRITEDATA
LDA $10
STAL ssWRITEDATA
LDA $0A
STAL ssWRITEDATA
LDA $0B
STAL ssWRITEDATA
LDA $0C
STAL ssWRITEDATA
LDA #$00
L297B CMPL ssHANDSHAKE
BNE L297B
LDA #$01
L2983 CMPL ssHANDSHAKE
BNE L2983
REP #$20
PHB
LDA $0C
LDX $0A
SEP #$20
PHA
PLB
REP #$20
PHD
LDA #$C000
TCD
LDA |$0000,X
STA $B1
LDA |$0002,X
STA $B1
LDA |$0004,X
STA $B1
LDA |$0006,X
STA $B1
LDA |$0008,X
STA $B1
LDA |$000A,X
STA $B1
LDA |$000C,X
STA $B1
PLD
PLB
SEP #$20
LDA #$00
L29C4 CMPL ssHANDSHAKE
BNE L29C4
MX %00
PLP
LDA $08
STA $16
LDA $07
STA $15
PLD
TSC
CLC
ADC #$0014
TCS
RTL
*----------------------------------------
vgaLINE
TSC ; Recopie de 400 pixels
SEC
SBC #$0006
TCS
PHD
TCD
STZ $05
PHP
SEI
LDA #$0000
SEP #$20
LDA #$02
STAL ssCOMMAND
LDA #$01
L29F4 CMPL ssHANDSHAKE
BNE L29F4
LDA $16
STAL ssWRITEDATA
LDA $12
STAL ssWRITEDATA
LDA $13
STAL ssWRITEDATA
LDA $14
STAL ssWRITEDATA
LDA $0E
STAL ssWRITEDATA
LDA $0F
STAL ssWRITEDATA
LDA $10
STAL ssWRITEDATA
LDA $0A
STAL ssWRITEDATA
LDA $0B
STAL ssWRITEDATA
LDA $0C
STAL ssWRITEDATA
LDA #$00
L2A38 CMPL ssHANDSHAKE
BNE L2A38
LDA #$01
L2A40 CMPL ssHANDSHAKE
BNE L2A40
REP #$20
PHB
LDA $0C
LDX $0A
SEP #$20
PHA
PLB
REP #$20
PHD
LDA #$C000
TCD
LDA |$0000,X
STA $B1
LDA |$0002,X
STA $B1
LDA |$0004,X
STA $B1
LDA |$0006,X
STA $B1
LDA |$0008,X
STA $B1
LDA |$000A,X
STA $B1
LDA |$000C,X
STA $B1
LDA |$000E,X
STA $B1
LDA |$0010,X
STA $B1
LDA |$0012,X
STA $B1
LDA |$0014,X
STA $B1
LDA |$0016,X
STA $B1
LDA |$0018,X
STA $B1
LDA |$001A,X
STA $B1
LDA |$001C,X
STA $B1
LDA |$001E,X
STA $B1
LDA |$0020,X
STA $B1
LDA |$0022,X
STA $B1
LDA |$0024,X
STA $B1
LDA |$0026,X
STA $B1
LDA |$0028,X
STA $B1
LDA |$002A,X
STA $B1
LDA |$002C,X
STA $B1
LDA |$002E,X
STA $B1
LDA |$0030,X
STA $B1
LDA |$0032,X
STA $B1
LDA |$0034,X
STA $B1
LDA |$0036,X
STA $B1
LDA |$0038,X
STA $B1
LDA |$003A,X
STA $B1
LDA |$003C,X
STA $B1
LDA |$003E,X
STA $B1
LDA |$0040,X
STA $B1
LDA |$0042,X
STA $B1
LDA |$0044,X
STA $B1
LDA |$0046,X
STA $B1
LDA |$0048,X
STA $B1
LDA |$004A,X
STA $B1
LDA |$004C,X
STA $B1
LDA |$004E,X
STA $B1
LDA |$0050,X
STA $B1
LDA |$0052,X
STA $B1
LDA |$0054,X
STA $B1
LDA |$0056,X
STA $B1
LDA |$0058,X
STA $B1
LDA |$005A,X
STA $B1
LDA |$005C,X
STA $B1
LDA |$005E,X
STA $B1
LDA |$0060,X
STA $B1
LDA |$0062,X
STA $B1
LDA |$0064,X
STA $B1
LDA |$0066,X
STA $B1
LDA |$0068,X
STA $B1
LDA |$006A,X
STA $B1
LDA |$006C,X
STA $B1
LDA |$006E,X
STA $B1
LDA |$0070,X
STA $B1
LDA |$0072,X
STA $B1
LDA |$0074,X
STA $B1
LDA |$0076,X
STA $B1
LDA |$0078,X
STA $B1
LDA |$007A,X
STA $B1
LDA |$007C,X
STA $B1
LDA |$007E,X
STA $B1
LDA |$0080,X
STA $B1
LDA |$0082,X
STA $B1
LDA |$0084,X
STA $B1
LDA |$0086,X
STA $B1
LDA |$0088,X
STA $B1
LDA |$008A,X
STA $B1
LDA |$008C,X
STA $B1
LDA |$008E,X
STA $B1
LDA |$0090,X
STA $B1
LDA |$0092,X
STA $B1
LDA |$0094,X
STA $B1
LDA |$0096,X
STA $B1
LDA |$0098,X
STA $B1
LDA |$009A,X
STA $B1
LDA |$009C,X
STA $B1
LDA |$009E,X
STA $B1
LDA |$00A0,X
STA $B1
LDA |$00A2,X
STA $B1
LDA |$00A4,X
STA $B1
LDA |$00A6,X
STA $B1
LDA |$00A8,X
STA $B1
LDA |$00AA,X
STA $B1
LDA |$00AC,X
STA $B1
LDA |$00AE,X
STA $B1
LDA |$00B0,X
STA $B1
LDA |$00B2,X
STA $B1
LDA |$00B4,X
STA $B1
LDA |$00B6,X
STA $B1
LDA |$00B8,X
STA $B1
LDA |$00BA,X
STA $B1
LDA |$00BC,X
STA $B1
LDA |$00BE,X
STA $B1
LDA |$00C0,X
STA $B1
LDA |$00C2,X
STA $B1
LDA |$00C4,X
STA $B1
LDA |$00C6,X
STA $B1
LDA |$00C8,X
STA $B1
LDA |$00CA,X
STA $B1
LDA |$00CC,X
STA $B1
LDA |$00CE,X
STA $B1
LDA |$00D0,X
STA $B1
LDA |$00D2,X
STA $B1
LDA |$00D4,X
STA $B1
LDA |$00D6,X
STA $B1
LDA |$00D8,X
STA $B1
LDA |$00DA,X
STA $B1
LDA |$00DC,X
STA $B1
LDA |$00DE,X
STA $B1
LDA |$00E0,X
STA $B1
LDA |$00E2,X
STA $B1
LDA |$00E4,X
STA $B1
LDA |$00E6,X
STA $B1
LDA |$00E8,X
STA $B1
LDA |$00EA,X
STA $B1
LDA |$00EC,X
STA $B1
LDA |$00EE,X
STA $B1
LDA |$00F0,X
STA $B1
LDA |$00F2,X
STA $B1
LDA |$00F4,X
STA $B1
LDA |$00F6,X
STA $B1
LDA |$00F8,X
STA $B1
LDA |$00FA,X
STA $B1
LDA |$00FC,X
STA $B1
LDA |$00FE,X
STA $B1
LDA $0100,X
STA $B1
LDA $0102,X
STA $B1
LDA $0104,X
STA $B1
LDA $0106,X
STA $B1
LDA $0108,X
STA $B1
LDA $010A,X
STA $B1
LDA $010C,X
STA $B1
LDA $010E,X
STA $B1
LDA $0110,X
STA $B1
LDA $0112,X
STA $B1
LDA $0114,X
STA $B1
LDA $0116,X
STA $B1
LDA $0118,X
STA $B1
LDA $011A,X
STA $B1
LDA $011C,X
STA $B1
LDA $011E,X
STA $B1
LDA $0120,X
STA $B1
LDA $0122,X
STA $B1
LDA $0124,X
STA $B1
LDA $0126,X
STA $B1
LDA $0128,X
STA $B1
LDA $012A,X
STA $B1
LDA $012C,X
STA $B1
LDA $012E,X
STA $B1
LDA $0130,X
STA $B1
LDA $0132,X
STA $B1
LDA $0134,X
STA $B1
LDA $0136,X
STA $B1
LDA $0138,X
STA $B1
LDA $013A,X
STA $B1
LDA $013C,X
STA $B1
LDA $013E,X
STA $B1
LDA $0140,X
STA $B1
LDA $0142,X
STA $B1
LDA $0144,X
STA $B1
LDA $0146,X
STA $B1
LDA $0148,X
STA $B1
LDA $014A,X
STA $B1
LDA $014C,X
STA $B1
LDA $014E,X
STA $B1
LDA $0150,X
STA $B1
LDA $0152,X
STA $B1
LDA $0154,X
STA $B1
LDA $0156,X
STA $B1
LDA $0158,X
STA $B1
LDA $015A,X
STA $B1
LDA $015C,X
STA $B1
LDA $015E,X
STA $B1
LDA $0160,X
STA $B1
LDA $0162,X
STA $B1
LDA $0164,X
STA $B1
LDA $0166,X
STA $B1
LDA $0168,X
STA $B1
LDA $016A,X
STA $B1
LDA $016C,X
STA $B1
LDA $016E,X
STA $B1
LDA $0170,X
STA $B1
LDA $0172,X
STA $B1
LDA $0174,X
STA $B1
LDA $0176,X
STA $B1
LDA $0178,X
STA $B1
LDA $017A,X
STA $B1
LDA $017C,X
STA $B1
LDA $017E,X
STA $B1
LDA $0180,X
STA $B1
LDA $0182,X
STA $B1
LDA $0184,X
STA $B1
LDA $0186,X
STA $B1
LDA $0188,X
STA $B1
LDA $018A,X
STA $B1
LDA $018C,X
STA $B1
LDA $018E,X
STA $B1
PLD
PLB
SEP #$20
LDA #$00
L2E46 CMPL ssHANDSHAKE
BNE L2E46
MX %00
PLP
LDA $08
STA $16
LDA $07
STA $15
PLD
TSC
CLC
ADC #$0014
TCS
RTL
*----------------------------------------
vgaPANEL
TSC ; Recopiede 80 pixels
SEC
SBC #$0006
TCS
PHD
TCD
STZ $05
PHP
SEI
LDA #$0000
SEP #$20
LDA #$02
STAL ssCOMMAND
LDA #$01
L2E76 CMPL ssHANDSHAKE
BNE L2E76
LDA $16
STAL ssWRITEDATA
LDA $12
STAL ssWRITEDATA
LDA $13
STAL ssWRITEDATA
LDA $14
STAL ssWRITEDATA
LDA $0E
STAL ssWRITEDATA
LDA $0F
STAL ssWRITEDATA
LDA $10
STAL ssWRITEDATA
LDA $0A
STAL ssWRITEDATA
LDA $0B
STAL ssWRITEDATA
LDA $0C
STAL ssWRITEDATA
LDA #$00
L2EBA CMPL ssHANDSHAKE
BNE L2EBA
LDA #$01
L2EC2 CMPL ssHANDSHAKE
BNE L2EC2
REP #$20
PHB
LDA $0C
LDX $0A
SEP #$20
PHA
PLB
REP #$20
PHD
LDA #$C000
TCD
LDA |$0000,X
STA $B1
LDA |$0002,X
STA $B1
LDA |$0004,X
STA $B1
LDA |$0006,X
STA $B1
LDA |$0008,X
STA $B1
LDA |$000A,X
STA $B1
LDA |$000C,X
STA $B1
LDA |$000E,X
STA $B1
LDA |$0010,X
STA $B1
LDA |$0012,X
STA $B1
LDA |$0014,X
STA $B1
LDA |$0016,X
STA $B1
LDA |$0018,X
STA $B1
LDA |$001A,X
STA $B1
LDA |$001C,X
STA $B1
LDA |$001E,X
STA $B1
LDA |$0020,X
STA $B1
LDA |$0022,X
STA $B1
LDA |$0024,X
STA $B1
LDA |$0026,X
STA $B1
LDA |$0028,X
STA $B1
LDA |$002A,X
STA $B1
LDA |$002C,X
STA $B1
LDA |$002E,X
STA $B1
LDA |$0030,X
STA $B1
LDA |$0032,X
STA $B1
LDA |$0034,X
STA $B1
LDA |$0036,X
STA $B1
LDA |$0038,X
STA $B1
LDA |$003A,X
STA $B1
LDA |$003C,X
STA $B1
LDA |$003E,X
STA $B1
LDA |$0040,X
STA $B1
LDA |$0042,X
STA $B1
LDA |$0044,X
STA $B1
LDA |$0046,X
STA $B1
LDA |$0048,X
STA $B1
LDA |$004A,X
STA $B1
LDA |$004C,X
STA $B1
LDA |$004E,X
STA $B1
PLD
PLB
SEP #$20
LDA #$00
L2FA8 CMPL ssHANDSHAKE
BNE L2FA8
MX %00
PLP
LDA $08
STA $16
LDA $07
STA $15
PLD
TSC
CLC
ADC #$0014
TCS
RTL
*----------------------------------------
vgaSCREEN
TSC ; Recopie une ligne de 640 pixels
SEC
SBC #$0006
TCS
PHD
TCD
STZ $05
PHP
SEI
LDA #$0000
SEP #$20
LDA #$02
STAL ssCOMMAND
LDA #$01
L2FD8 CMPL ssHANDSHAKE
BNE L2FD8
LDA $16
STAL ssWRITEDATA
LDA $12
STAL ssWRITEDATA
LDA $13
STAL ssWRITEDATA
LDA $14
STAL ssWRITEDATA
LDA $0E
STAL ssWRITEDATA
LDA $0F
STAL ssWRITEDATA
LDA $10
STAL ssWRITEDATA
LDA $0A
STAL ssWRITEDATA
LDA $0B
STAL ssWRITEDATA
LDA $0C
STAL ssWRITEDATA
LDA #$00
L301C CMPL ssHANDSHAKE
BNE L301C
LDA #$01
L3024 CMPL ssHANDSHAKE
BNE L3024
REP #$20
PHB
LDA $0C
LDX $0A
SEP #$20
PHA
PLB
REP #$20
PHD
LDA #$C000
TCD
LDA |$0000,X
STA $B1
LDA |$0002,X
STA $B1
LDA |$0004,X
STA $B1
LDA |$0006,X
STA $B1
LDA |$0008,X
STA $B1
LDA |$000A,X
STA $B1
LDA |$000C,X
STA $B1
LDA |$000E,X
STA $B1
LDA |$0010,X
STA $B1
LDA |$0012,X
STA $B1
LDA |$0014,X
STA $B1
LDA |$0016,X
STA $B1
LDA |$0018,X
STA $B1
LDA |$001A,X
STA $B1
LDA |$001C,X
STA $B1
LDA |$001E,X
STA $B1
LDA |$0020,X
STA $B1
LDA |$0022,X
STA $B1
LDA |$0024,X
STA $B1
LDA |$0026,X
STA $B1
LDA |$0028,X
STA $B1
LDA |$002A,X
STA $B1
LDA |$002C,X
STA $B1
LDA |$002E,X
STA $B1
LDA |$0030,X
STA $B1
LDA |$0032,X
STA $B1
LDA |$0034,X
STA $B1
LDA |$0036,X
STA $B1
LDA |$0038,X
STA $B1
LDA |$003A,X
STA $B1
LDA |$003C,X
STA $B1
LDA |$003E,X
STA $B1
LDA |$0040,X
STA $B1
LDA |$0042,X
STA $B1
LDA |$0044,X
STA $B1
LDA |$0046,X
STA $B1
LDA |$0048,X
STA $B1
LDA |$004A,X
STA $B1
LDA |$004C,X
STA $B1
LDA |$004E,X
STA $B1
LDA |$0050,X
STA $B1
LDA |$0052,X
STA $B1
LDA |$0054,X
STA $B1
LDA |$0056,X
STA $B1
LDA |$0058,X
STA $B1
LDA |$005A,X
STA $B1
LDA |$005C,X
STA $B1
LDA |$005E,X
STA $B1
LDA |$0060,X
STA $B1
LDA |$0062,X
STA $B1
LDA |$0064,X
STA $B1
LDA |$0066,X
STA $B1
LDA |$0068,X
STA $B1
LDA |$006A,X
STA $B1
LDA |$006C,X
STA $B1
LDA |$006E,X
STA $B1
LDA |$0070,X
STA $B1
LDA |$0072,X
STA $B1
LDA |$0074,X
STA $B1
LDA |$0076,X
STA $B1
LDA |$0078,X
STA $B1
LDA |$007A,X
STA $B1
LDA |$007C,X
STA $B1
LDA |$007E,X
STA $B1
LDA |$0080,X
STA $B1
LDA |$0082,X
STA $B1
LDA |$0084,X
STA $B1
LDA |$0086,X
STA $B1
LDA |$0088,X
STA $B1
LDA |$008A,X
STA $B1
LDA |$008C,X
STA $B1
LDA |$008E,X
STA $B1
LDA |$0090,X
STA $B1
LDA |$0092,X
STA $B1
LDA |$0094,X
STA $B1
LDA |$0096,X
STA $B1
LDA |$0098,X
STA $B1
LDA |$009A,X
STA $B1
LDA |$009C,X
STA $B1
LDA |$009E,X
STA $B1
LDA |$00A0,X
STA $B1
LDA |$00A2,X
STA $B1
LDA |$00A4,X
STA $B1
LDA |$00A6,X
STA $B1
LDA |$00A8,X
STA $B1
LDA |$00AA,X
STA $B1
LDA |$00AC,X
STA $B1
LDA |$00AE,X
STA $B1
LDA |$00B0,X
STA $B1
LDA |$00B2,X
STA $B1
LDA |$00B4,X
STA $B1
LDA |$00B6,X
STA $B1
LDA |$00B8,X
STA $B1
LDA |$00BA,X
STA $B1
LDA |$00BC,X
STA $B1
LDA |$00BE,X
STA $B1
LDA |$00C0,X
STA $B1
LDA |$00C2,X
STA $B1
LDA |$00C4,X
STA $B1
LDA |$00C6,X
STA $B1
LDA |$00C8,X
STA $B1
LDA |$00CA,X
STA $B1
LDA |$00CC,X
STA $B1
LDA |$00CE,X
STA $B1
LDA |$00D0,X
STA $B1
LDA |$00D2,X
STA $B1
LDA |$00D4,X
STA $B1
LDA |$00D6,X
STA $B1
LDA |$00D8,X
STA $B1
LDA |$00DA,X
STA $B1
LDA |$00DC,X
STA $B1
LDA |$00DE,X
STA $B1
LDA |$00E0,X
STA $B1
LDA |$00E2,X
STA $B1
LDA |$00E4,X
STA $B1
LDA |$00E6,X
STA $B1
LDA |$00E8,X
STA $B1
LDA |$00EA,X
STA $B1
LDA |$00EC,X
STA $B1
LDA |$00EE,X
STA $B1
LDA |$00F0,X
STA $B1
LDA |$00F2,X
STA $B1
LDA |$00F4,X
STA $B1
LDA |$00F6,X
STA $B1
LDA |$00F8,X
STA $B1
LDA |$00FA,X
STA $B1
LDA |$00FC,X
STA $B1
LDA |$00FE,X
STA $B1
LDA $0100,X
STA $B1
LDA $0102,X
STA $B1
LDA $0104,X
STA $B1
LDA $0106,X
STA $B1
LDA $0108,X
STA $B1
LDA $010A,X
STA $B1
LDA $010C,X
STA $B1
LDA $010E,X
STA $B1
LDA $0110,X
STA $B1
LDA $0112,X
STA $B1
LDA $0114,X
STA $B1
LDA $0116,X
STA $B1
LDA $0118,X
STA $B1
LDA $011A,X
STA $B1
LDA $011C,X
STA $B1
LDA $011E,X
STA $B1
LDA $0120,X
STA $B1
LDA $0122,X
STA $B1
LDA $0124,X
STA $B1
LDA $0126,X
STA $B1
LDA $0128,X
STA $B1
LDA $012A,X
STA $B1
LDA $012C,X
STA $B1
LDA $012E,X
STA $B1
LDA $0130,X
STA $B1
LDA $0132,X
STA $B1
LDA $0134,X
STA $B1
LDA $0136,X
STA $B1
LDA $0138,X
STA $B1
LDA $013A,X
STA $B1
LDA $013C,X
STA $B1
LDA $013E,X
STA $B1
LDA $0140,X
STA $B1
LDA $0142,X
STA $B1
LDA $0144,X
STA $B1
LDA $0146,X
STA $B1
LDA $0148,X
STA $B1
LDA $014A,X
STA $B1
LDA $014C,X
STA $B1
LDA $014E,X
STA $B1
LDA $0150,X
STA $B1
LDA $0152,X
STA $B1
LDA $0154,X
STA $B1
LDA $0156,X
STA $B1
LDA $0158,X
STA $B1
LDA $015A,X
STA $B1
LDA $015C,X
STA $B1
LDA $015E,X
STA $B1
LDA $0160,X
STA $B1
LDA $0162,X
STA $B1
LDA $0164,X
STA $B1
LDA $0166,X
STA $B1
LDA $0168,X
STA $B1
LDA $016A,X
STA $B1
LDA $016C,X
STA $B1
LDA $016E,X
STA $B1
LDA $0170,X
STA $B1
LDA $0172,X
STA $B1
LDA $0174,X
STA $B1
LDA $0176,X
STA $B1
LDA $0178,X
STA $B1
LDA $017A,X
STA $B1
LDA $017C,X
STA $B1
LDA $017E,X
STA $B1
LDA $0180,X
STA $B1
LDA $0182,X
STA $B1
LDA $0184,X
STA $B1
LDA $0186,X
STA $B1
LDA $0188,X
STA $B1
LDA $018A,X
STA $B1
LDA $018C,X
STA $B1
LDA $018E,X
STA $B1
LDA $0190,X
STA $B1
LDA $0192,X
STA $B1
LDA $0194,X
STA $B1
LDA $0196,X
STA $B1
LDA $0198,X
STA $B1
LDA $019A,X
STA $B1
LDA $019C,X
STA $B1
LDA $019E,X
STA $B1
LDA $01A0,X
STA $B1
LDA $01A2,X
STA $B1
LDA $01A4,X
STA $B1
LDA $01A6,X
STA $B1
LDA $01A8,X
STA $B1
LDA $01AA,X
STA $B1
LDA $01AC,X
STA $B1
LDA $01AE,X
STA $B1
LDA $01B0,X
STA $B1
LDA $01B2,X
STA $B1
LDA $01B4,X
STA $B1
LDA $01B6,X
STA $B1
LDA $01B8,X
STA $B1
LDA $01BA,X
STA $B1
LDA $01BC,X
STA $B1
LDA $01BE,X
STA $B1
LDA $01C0,X
STA $B1
LDA $01C2,X
STA $B1
LDA $01C4,X
STA $B1
LDA $01C6,X
STA $B1
LDA $01C8,X
STA $B1
LDA $01CA,X
STA $B1
LDA $01CC,X
STA $B1
LDA $01CE,X
STA $B1
LDA $01D0,X
STA $B1
LDA $01D2,X
STA $B1
LDA $01D4,X
STA $B1
LDA $01D6,X
STA $B1
LDA $01D8,X
STA $B1
LDA $01DA,X
STA $B1
LDA $01DC,X
STA $B1
LDA $01DE,X
STA $B1
LDA $01E0,X
STA $B1
LDA $01E2,X
STA $B1
LDA $01E4,X
STA $B1
LDA $01E6,X
STA $B1
LDA $01E8,X
STA $B1
LDA $01EA,X
STA $B1
LDA $01EC,X
STA $B1
LDA $01EE,X
STA $B1
LDA $01F0,X
STA $B1
LDA $01F2,X
STA $B1
LDA $01F4,X
STA $B1
LDA $01F6,X
STA $B1
LDA $01F8,X
STA $B1
LDA $01FA,X
STA $B1
LDA $01FC,X
STA $B1
LDA $01FE,X
STA $B1
LDA $0200,X
STA $B1
LDA $0202,X
STA $B1
LDA $0204,X
STA $B1
LDA $0206,X
STA $B1
LDA $0208,X
STA $B1
LDA $020A,X
STA $B1
LDA $020C,X
STA $B1
LDA $020E,X
STA $B1
LDA $0210,X
STA $B1
LDA $0212,X
STA $B1
LDA $0214,X
STA $B1
LDA $0216,X
STA $B1
LDA $0218,X
STA $B1
LDA $021A,X
STA $B1
LDA $021C,X
STA $B1
LDA $021E,X
STA $B1
LDA $0220,X
STA $B1
LDA $0222,X
STA $B1
LDA $0224,X
STA $B1
LDA $0226,X
STA $B1
LDA $0228,X
STA $B1
LDA $022A,X
STA $B1
LDA $022C,X
STA $B1
LDA $022E,X
STA $B1
LDA $0230,X
STA $B1
LDA $0232,X
STA $B1
LDA $0234,X
STA $B1
LDA $0236,X
STA $B1
LDA $0238,X
STA $B1
LDA $023A,X
STA $B1
LDA $023C,X
STA $B1
LDA $023E,X
STA $B1
LDA $0240,X
STA $B1
LDA $0242,X
STA $B1
LDA $0244,X
STA $B1
LDA $0246,X
STA $B1
LDA $0248,X
STA $B1
LDA $024A,X
STA $B1
LDA $024C,X
STA $B1
LDA $024E,X
STA $B1
LDA $0250,X
STA $B1
LDA $0252,X
STA $B1
LDA $0254,X
STA $B1
LDA $0256,X
STA $B1
LDA $0258,X
STA $B1
LDA $025A,X
STA $B1
LDA $025C,X
STA $B1
LDA $025E,X
STA $B1
LDA $0260,X
STA $B1
LDA $0262,X
STA $B1
LDA $0264,X
STA $B1
LDA $0266,X
STA $B1
LDA $0268,X
STA $B1
LDA $026A,X
STA $B1
LDA $026C,X
STA $B1
LDA $026E,X
STA $B1
LDA $0270,X
STA $B1
LDA $0272,X
STA $B1
LDA $0274,X
STA $B1
LDA $0276,X
STA $B1
LDA $0278,X
STA $B1
LDA $027A,X
STA $B1
LDA $027C,X
STA $B1
LDA $027E,X
STA $B1
PLD
PLB
SEP #$20
LDA #$00
L3682 CMPL ssHANDSHAKE
BNE L3682
MX %00
PLP
LDA $08
STA $16
LDA $07
STA $15
PLD
TSC
CLC
ADC #$0014
TCS
RTL
*----------------------------------------
_xGetStatus tsc
sec
sbc #$0006
tcs
phd
tcd
php
sei
lda $0A
sta $03
lda $0C
sta $05
lda #0
sta $01
sep #$20
stal ssCOMMAND
ldx #-1
]lp ldal ssHANDSHAKE
cmp #$01
beq _xGetStatus1
dex
bne ]lp
rep #$20
lda #-1
sta $01
bra _xGetStatus8
mx %10
_xGetStatus1 ldx #5
ldal ssREADDATA
]lp ldal ssREADDATA
sta [$0A]
inc $0A
bne _xGetStatus2
inc $0B
_xGetStatus2 dex
bne ]lp
lda [$03]
cmp #'G'
bne _xGetStatus3
ldy #$0001
lda [$03],Y
cmp #'S'
bne _xGetStatus3
iny
lda [$03],Y
cmp #'V'
bne _xGetStatus3
iny
lda [$03],Y
cmp #'G'
bne _xGetStatus3
iny
lda [$03],Y
cmp #'A'
beq _xGetStatus4
_xGetStatus3 lda #$FF
sta $01
sta $02
bra _xGetStatus7
_xGetStatus4 lda #$00
xba
ldal ssREADDATA
tax
sta [$0A]
inc $0A
bne _xGetStatus5
inc $0B
_xGetStatus5 ldal ssREADDATA
sta [$0A]
inc $0A
bne _xGetStatus6
inc $0B
_xGetStatus6 dex
bne _xGetStatus5
_xGetStatus7 rep #$20
_xGetStatus8 plp
ldy $01
lda $08
sta $0C
lda $07
sta $0B
pld
tsc
clc
adc #$000A
tcs
tya
rtl
*----------------------------------------
_xSetMode tsc
phd
tcd
php
sei
lda #1
jsr _WriteCmd
jsr WaitHSOn
lda $06 ; $04
jsr _WriteData
lda $04 ; $06
jsr _WriteData
jsr WaitHSOff
jsr WaitHSDone
plp
lda $02
sta $06
lda $01
sta $05
pld
tsc
clc
adc #$0004
tcs
rtl
*----------------------------------------
_xSetPalette tsc
phd
tcd
php
sei
lda #6
jsr _WriteCmd
jsr WaitHSOn
lda $04
jsr _WriteCmd
lda $05
jsr _WriteCmd
lda $06
jsr _WriteCmd
jsr WaitHSOff
jsr WaitHSOn
ldy #0
]lp lda [$04],y
jsr _WriteData
iny
cpy #768
bne ]lp
jsr WaitHSOff
plp
lda $02
sta $06
lda $01
sta $05
pld
tsc
clc
adc #$0004
tcs
rtl
*----------------------------------------
_xClearScreen tsc
phd
tcd
php
sei
lda #10
jsr _WriteCmd
jsr WaitHSOn
lda $0C ; $04
jsr _WriteData
lda $08 ; $06
jsr _WriteData
lda $09 ; $07
jsr _WriteData
lda $0A ; $08
jsr _WriteData
lda $04 ; $0A
jsr _WriteData
lda $05 ; $0B
jsr _WriteData
lda $06 ; $0C
jsr _WriteData
jsr WaitHSOff
jsr WaitHSDone
plp
lda $02
sta $0C
lda $01
sta $0B
pld
tsc
clc
adc #$000A
tcs
rtl
*----------------------------------------
_xSetVGAReg tsc
phd
tcd
php
sei
lda #12
jsr _WriteCmd
jsr WaitHSOn
lda $0A ; $04
jsr _WriteCmd
lda $0B ; $05
jsr _WriteCmd
lda $08 ; $06
jsr _WriteCmd
lda $06 ; $08
jsr _WriteCmd
lda $07 ; $09
jsr _WriteCmd
lda $04 ; $0A
jsr _WriteCmd
jsr WaitHSOff
plp
lda $02
sta $0A
lda $01
sta $09
pld
tsc
clc
adc #$0008
tcs
rtl
*----------------------------------------
_WriteCmd sep #$20
stal ssCOMMAND
rep #$20
rts
*----------------------------------------
_WriteData sep #$20
stal ssWRITEDATA
rep #$20
rts
*----------------------------------------
WaitHSOn lda #1
sep #$20
]lp cmpl ssHANDSHAKE
bne ]lp
rep #$20
rts
*----------------------------------------
WaitHSOff lda #0
sep #$20
]lp cmpl ssHANDSHAKE
bne ]lp
rep #$20
rts
*----------------------------------------
WaitHSDone sep #$20
]lp ldal ssHANDSHAKE
cmp #$A5
beq WaitHSDone1
cmp #$A6
bne ]lp
WaitHSDone1 rep #$20
rts
*----------------------------------------
*
* Cogito: The Return
*
* (c) 1997, Jérôme Crétaux
* (c) 1997, Atreid Concept
* (c) 1997, Brutal Deluxe Software
*
bufferSS DS 28
fgSS DS 2
thePALETTE DS 768
firstY1 DS 2
lastY1 DS 2
firstY2 DS 2 ; first Y of VGA buffer to refresh
lastY2 DS 2 ; last Y of VGA buffer to refresh
firstY3 DS 2
lastY3 DS 2
firstY4 DS 2
lastY4 DS 2
firstLINE DS 2
lastLINE DS 2
ASC 8D8D8D8D
myID DS 2
temp DS 4
SStopREC DS 4
ptrMEM DS 4
haMEM DS 4
ptrBANK1 DS 4
ptrBANK2 DS 4
ptrBANK3 DS 4
ptrBANK4 DS 4
ptrPANEL1 DS 4
ptrPANEL2 DS 4
ptrPANEL3 DS 4
ptrPANEL4 DS 4
ptrIMAGE1 DS 4
ptrIMAGE2 DS 4
ptrIMAGE3 DS 4
ptrIMAGE4 DS 4
*--------------------------
* All the datas
*--------------------------
*--- Parametres du jeu
Probleme ds 162
Plateau ds 162
Niveau DS 2
NbCoups DS 4
NbCompute DS 2
Temps DS 6
CurDecor DS 2
*--- Tables des adresses des datas
AdrCalcDec DA Decor1,Decor2,Decor3,Decor4,Decor5
DA Decor6,Decor7,Decor8,Decor9,Decor10
DW $0002 ; utilité ?
DW $0004
DW $0001
DW $0003
DW $0000
*--- Coordonnees du panneau
PanelX1 ADRL $01DF ; coordonnees X1
ADRL $01EB
ADRL $01C7
ADRL $01E4
PanelY1 ADRL $00C4 ; coordonnees Y1
ADRL $00D0
ADRL $00CF
ADRL $00D5
PanelX2 ADRL $022E ; coordonnees X2
ADRL $023A
ADRL $0216
ADRL $0233
PanelY2 ADRL $00F5 ; coordonnees Y2
ADRL $0101
ADRL $0100
ADRL $0106
*--- Coordonnees des chaînes du panneau
zeTEMPS3 DW $0217
DW $0223
DW $01FF
DW $021C
zeTEMPS2 DW $01FF
DW $020B
DW $01E7
DW $0204
zeTEMPS1 DW $01E7
DW $01F3
DW $01CF
DW $01EC
zeTEMPSY DW $00C7
DW $00D3
DW $00D2
DW $00D8
zeCOMPCPX
DW $020D
DW $0219
DW $01F5
DW $0212
zeMOICPX DW $01F2
DW $01FE
DW $01DA
DW $01F7
zeMOICPY DW $00E6
DW $00F2
DW $00F1
DW $00F7
zeNIVEAU DW $01E5
DW $01F1
DW $01CD
DW $01EA
zeCOMPCPY
DW $00D7
DW $00E3
DW $00E2
DW $00E8
PanelX DS 2
PanelY DS 2
FlecheX DS 2
FlecheY DS 2
*--- Couleurs
colorA DS 2
colorB DS 2
colorC DS 2
*--- Pour les textes
LgStrPtr ASC '12345'00
StrPtr ASC '123'00
StrTime ASC '12'00
DW $0000 ; en cas de débordement de mémoire
*--- Pour deplacements
scrX1 DS 2
scrX2 DS 2
MyArrow DS 2
MyColumn DS 2
MyDepart DS 2
MyDepart2 DS 2
MyArrivee DS 2
MyArrivee2 DS 2
WhichDep DS 2
WhichDecor DS 2
NbMelange DS 2
Melange DS 2
noINTER DS 2
fgTIME DS 2
ldFlag DS 2
Diabolic DS 2
fgINTER2 DS 2 ; utilité ?
*--- Messages
errSTR1 STR 'Error with tools'
errSTR2 STR 'SecondSight not detected !'
memSTR1 STR 'Can'27't allocate memory'
memSTR2 STR 'Can'27't load resources'
memSTR3 STR 'Press a key to quit.'
memSTR4 STR ''
*--- Prodos
proOpen DW $000C ; Parms for Open
DW $0000 ; ref num
ADRL pTEMP ; path name
DW $0000 ; req access
DW $0000 ; res num
DW $0000 ; access
DW $0000 ; file type
ADRL $00000000 ; aux type
DW $0000 ; storage
DS 8 ; creation date
DS 8 ; modification date
ADRL $00000000 ; option list
ADRL $00000000 ; end of file
proRead DW $0005 ; Parms for Read
DW $0000 ; ref num
ADRL Probleme ; buffer ptr
ADRL $00000154 ; request count
ADRL $00000000 ; transfer count
DW $0000 ; cache priority
proClose DW $0001 ; Parms for Close
DW $0000 ; ref num
proQuit DW $0002 ; Parms for Quit
ADRL $00000000 ; path name
DW $0000 ; flags
proCreate DW $0007 ; Parms for Create
ADRL pTEMP ; file name
DW $00E3 ; access
DW $005A ; file type
ADRL $00000000 ; aux type
DW $0002 ; storage
ADRL $00000154 ; end of file
ADRL $00000000 ; resource eof
proKill DW $0001 ; Parms for Destroy
ADRL pTEMP ; file name
proInfo DW $0004 ; Parms for SetFileInfo
ADRL pTEMP ; file name
DW $00E3 ; access
DW $005A ; file type
ADRL $00000000 ; aux type
proWrite DW $0005 ; Parms for Write
DW $0000 ; ref num
ADRL Probleme ; buffer ptr
ADRL $00000154 ; request count
ADRL $00000000 ; transfer count
DW $0000 ; cache priority
*--- Nom des fichiers
pTEMP STRL '1/Temp'
VBLCounter0 DS 2
*--- Fleches
Fleches DS 72
Fleches2 DS 72
*--- Tableau
TblPlateau dw 0,2,4,6,8,10,12,14,16
dw 16,34,52,70,88,106,124,142,160
dw 144,146,148,150,152,154,156,158,160
TblPlateau2 dw 0,18,36,54,72,90,108,126,144
*--- Tables pour le choix des deplacements
TblDeplacement da 35,35,80,60,80,60,60,60,35,500,35,30
TblMel38 da 9,10,11,12,13,14,15,16,17
da 0,1,2,3,4,5,6,7,8
da 27,28,29,30,31,32,33,34,35
da 18,19,20,21,22,23,24,25,26
TblMel5 da 18,19,20,21,22,23,24,25,26
da 27,28,29,30,31,32,33,34,35
da 0,1,2,3,4,5,6,7,8
da 9,10,11,12,13,14,15,16,17
TblMel67 da 26,25,24,23,22,21,20,19,18
da 35,34,33,32,31,30,29,28,27
da 8,7,6,5,4,3,2,1,0
da 17,16,15,14,13,12,11,10,9
TblMel9 da 8,7,6,5,4,3,2,1,0
da 17,16,15,14,13,12,11,10,9
da 26,25,24,23,22,21,20,19,18
da 35,34,33,32,31,30,29,28,27
TblMel11 da 1,2,3,4,5,6,7,8,0
da 10,11,12,13,14,15,16,17,9
da 19,20,21,22,23,24,25,26,18
da 28,29,30,31,32,33,34,35,27
TblMel12 da 7,8,0,1,2,3,4,5,6
da 16,17,9,10,11,12,13,14,15
da 25,26,18,19,20,21,22,23,24
da 34,35,27,28,29,30,31,32,33
*--- Correspondance niveau/deplacement
ChoixDeplace da 1,2,3,4,5,6,7,8,9,10,11,12
da 1,2,3,4,5,6,7,8,9,10,11,12
da 1,2,3,4,5,6,7,8,9,10,11,12
da 1,2,3,4,5,6,7,8,9,10,11,12
da 1,2,3,4,5,6,7,8,9,10,11,12
da 1,2,3,4,5,6,7,8,9,10,11,12
da 1,2,3,4,5,6,7,8,9,10,11,12
da 1,2,3,4,5,6,7,8,9,10,11,12
da 1,2,3,4,5,6,7,8,9,10,11,12
da 1,2,3,4,5,6,7,8,9,10,11,12
ChoixDecor da 1,1,1,1,1,1,1,1,1,1,1,1
da 2,2,2,2,2,2,2,2,2,2,2,2
da 3,3,3,3,3,3,3,3,3,3,3,3
da 4,4,4,4,4,4,4,4,4,4,4,4
da 5,5,5,5,5,5,5,5,5,5,5,5
da 6,6,6,6,6,6,6,6,6,6,6,6
da 7,7,7,7,7,7,7,7,7,7,7,7
da 8,8,8,8,8,8,8,8,8,8,8,8
da 9,9,9,9,9,9,9,9,9,9,9,9
da 10,10,10,10,10,10,10,10,10,10,10,10
*---
AdrDecor5 da 1,1,1,1,1,1,1,1,1
da 1,2,2,2,6,3,3,3,1
da 1,2,2,2,6,3,3,3,1
da 1,2,2,2,6,3,3,3,1
da 1,6,6,6,6,6,6,6,1
da 1,4,4,4,6,5,5,5,1
da 1,4,4,4,6,5,5,5,1
da 1,4,4,4,6,5,5,5,1
da 1,1,1,1,1,1,1,1,1
AdrDecor6 da 1,2,3,4,5,6,1,2,3
da 1,2,3,4,5,6,1,2,3
da 1,2,3,4,5,6,1,2,3
da 1,2,3,4,5,6,1,2,3
da 1,2,3,4,5,6,1,2,3
da 1,2,3,4,5,6,1,2,3
da 1,2,3,4,5,6,1,2,3
da 1,2,3,4,5,6,1,2,3
da 1,2,3,4,5,6,1,2,3
AdrDecor7 da 2,4,4,6,5,6,4,4,2
da 4,2,4,6,5,6,4,2,4
da 4,4,2,6,3,6,2,4,4
da 6,6,6,2,1,2,6,6,6
da 5,5,3,1,2,1,3,5,5
da 6,6,6,2,1,2,6,6,6
da 4,4,2,6,3,6,2,4,4
da 4,2,4,6,5,6,4,2,4
da 2,4,4,6,5,6,4,4,2
AdrDecor8 da 2,2,2,5,5,5,4,4,4
da 2,2,2,5,5,5,4,4,4
da 2,2,2,5,5,5,4,4,4
da 3,3,3,6,6,6,3,3,3
da 3,3,3,6,6,6,3,3,3
da 3,3,3,6,6,6,3,3,3
da 4,4,4,1,1,1,2,2,2
da 4,4,4,1,1,1,2,2,2
da 4,4,4,1,1,1,2,2,2
AdrDecor9 da 1,1,1,1,1,1,1,1,1
da 3,1,1,1,1,1,1,1,4
da 3,3,6,6,6,6,6,4,4
da 3,3,6,1,1,1,6,4,4
da 3,3,6,6,6,6,6,4,4
da 3,3,6,2,2,2,6,4,4
da 3,3,6,6,6,6,6,4,4
da 3,2,2,2,2,2,2,2,4
da 2,2,2,2,2,2,2,2,2
*--- Adresse des lignes dans les 4 bancs d'une image
lineBANK1 DS 400
lineBANK2 DS 400
lineBANK3 DS 400
lineBANK4 DS 400
Ligne DS 1600 ; Adresse des lignes 0-399
bufLIGNE DS 40 ; Buffer d'une ligne qui bouge
*--- Coordonnees des cases des deux plateaux
scrBigX DW $0028 ; Coordonnes X sur le grand plateau
DW $004B
DW $006E
DW $0091
DW $00B4
DW $00D7
DW $00FA
DW $011D
DW $0140
DW $0028
DW $004B
DW $006E
DW $0091
DW $00B4
DW $00D7
DW $00FA
DW $011D
DW $0140
DW $0028
DW $004B
DW $006E
DW $0091
DW $00B4
DW $00D7
DW $00FA
DW $011D
DW $0140
DW $0028
DW $004B
DW $006E
DW $0091
DW $00B4
DW $00D7
DW $00FA
DW $011D
DW $0140
DW $0028
DW $004B
DW $006E
DW $0091
DW $00B4
DW $00D7
DW $00FA
DW $011D
DW $0140
DW $0028
DW $004B
DW $006E
DW $0091
DW $00B4
DW $00D7
DW $00FA
DW $011D
DW $0140
DW $0028
DW $004B
DW $006E
DW $0091
DW $00B4
DW $00D7
DW $00FA
DW $011D
DW $0140
DW $0028
DW $004B
DW $006E
DW $0091
DW $00B4
DW $00D7
DW $00FA
DW $011D
DW $0140
DW $0028
DW $004B
DW $006E
DW $0091
DW $00B4
DW $00D7
DW $00FA
DW $011D
DW $0140
scrBigY DW $001D ; Coordonnees Y sur le grand plateau
DW $001D
DW $001D
DW $001D
DW $001D
DW $001D
DW $001D
DW $001D
DW $001D
DW $0040
DW $0040
DW $0040
DW $0040
DW $0040
DW $0040
DW $0040
DW $0040
DW $0040
DW $0063
DW $0063
DW $0063
DW $0063
DW $0063
DW $0063
DW $0063
DW $0063
DW $0063
DW $0086
DW $0086
DW $0086
DW $0086
DW $0086
DW $0086
DW $0086
DW $0086
DW $0086
DW $00A9
DW $00A9
DW $00A9
DW $00A9
DW $00A9
DW $00A9
DW $00A9
DW $00A9
DW $00A9
DW $00CC
DW $00CC
DW $00CC
DW $00CC
DW $00CC
DW $00CC
DW $00CC
DW $00CC
DW $00CC
DW $00EF
DW $00EF
DW $00EF
DW $00EF
DW $00EF
DW $00EF
DW $00EF
DW $00EF
DW $00EF
DW $0112
DW $0112
DW $0112
DW $0112
DW $0112
DW $0112
DW $0112
DW $0112
DW $0112
DW $0135
DW $0135
DW $0135
DW $0135
DW $0135
DW $0135
DW $0135
DW $0135
DW $0135
scrSmallX DW $01C9 ; Coordonnees X pour le petit plateau
DW $01D7
DW $01E5
DW $01F3
DW $0201
DW $020F
DW $021D
DW $022B
DW $0239
DW $01C9
DW $01D7
DW $01E5
DW $01F3
DW $0201
DW $020F
DW $021D
DW $022B
DW $0239
DW $01C9
DW $01D7
DW $01E5
DW $01F3
DW $0201
DW $020F
DW $021D
DW $022B
DW $0239
DW $01C9
DW $01D7
DW $01E5
DW $01F3
DW $0201
DW $020F
DW $021D
DW $022B
DW $0239
DW $01C9
DW $01D7
DW $01E5
DW $01F3
DW $0201
DW $020F
DW $021D
DW $022B
DW $0239
DW $01C9
DW $01D7
DW $01E5
DW $01F3
DW $0201
DW $020F
DW $021D
DW $022B
DW $0239
DW $01C9
DW $01D7
DW $01E5
DW $01F3
DW $0201
DW $020F
DW $021D
DW $022B
DW $0239
DW $01C9
DW $01D7
DW $01E5
DW $01F3
DW $0201
DW $020F
DW $021D
DW $022B
DW $0239
DW $01C9
DW $01D7
DW $01E5
DW $01F3
DW $0201
DW $020F
DW $021D
DW $022B
DW $0239
scrSmallY DW $010C ; Coordonnees Y pour le petit plateau
DW $010C
DW $010C
DW $010C
DW $010C
DW $010C
DW $010C
DW $010C
DW $010C
DW $011A
DW $011A
DW $011A
DW $011A
DW $011A
DW $011A
DW $011A
DW $011A
DW $011A
DW $0128
DW $0128
DW $0128
DW $0128
DW $0128
DW $0128
DW $0128
DW $0128
DW $0128
DW $0136
DW $0136
DW $0136
DW $0136
DW $0136
DW $0136
DW $0136
DW $0136
DW $0136
DW $0144
DW $0144
DW $0144
DW $0144
DW $0144
DW $0144
DW $0144
DW $0144
DW $0144
DW $0152
DW $0152
DW $0152
DW $0152
DW $0152
DW $0152
DW $0152
DW $0152
DW $0152
DW $0160
DW $0160
DW $0160
DW $0160
DW $0160
DW $0160
DW $0160
DW $0160
DW $0160
DW $016E
DW $016E
DW $016E
DW $016E
DW $016E
DW $016E
DW $016E
DW $016E
DW $016E
DW $017C
DW $017C
DW $017C
DW $017C
DW $017C
DW $017C
DW $017C
DW $017C
DW $017C
*---
SprX DS 2
SprY DS 2
*--- Adresse des gros sprites (35x35)
SprBig DA L566B
DA L5B34
DA L5FFD
DA L64C6
DA L698F
DA L6E58
*--- Adresse des petits sprites (14x14)
SprSmall DA L7321
DA L73E5
DA L74A9
DA L756D
DA L7631
DA L76F5
*--- Les chiffres en rouge (8x12 pixels)
sprNumR DA L77B9
DA L7819
DA L7879
DA L78D9
DA L7939
DA L7999
DA L79F9
DA L7A59
DA L7AB9
DA L7B19
*--- Les chiffres en jaune
sprNumJ DA L7B79
DA L7BD9
DA L7C39
DA L7C99
DA L7CF9
DA L7D59
DA L7DB9
DA L7E19
DA L7E79
DA L7ED9
*---
DA sprPanel1
DA sprPanel2
*--- Les flèches haut et bas (30x23)
DA L9D77
DA LA029
DA LA2DB
DA LA58D
DA LA83F
DA LAAF1
*--- Les flèches gauche et droite (22x30)
DA LADA3
DA LB037
DA LB2CB
DA LB55F
DA LB7F3
DA LBA87
*--- Le début du gros fichier de données par niveau
L566B DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
L5B34 DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
L5FFD DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
L64C6 DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
L698F DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
L6E58 DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
L7321 DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
L73E5 DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
L74A9 DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
L756D DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
L7631 DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
L76F5 DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
DB $00
*--- Les chiffres
L77B9 DS 96 ; en rouge avec le 0
L7819 DS 96
L7879 DS 96
L78D9 DS 96
L7939 DS 96
L7999 DS 96
L79F9 DS 96
L7A59 DS 96
L7AB9 DS 96
L7B19 DS 96 ; ..9
L7B79 DS 96 ; en jaune avec le 0
L7BD9 DS 96
L7C39 DS 96
L7C99 DS 96
L7CF9 DS 96
L7D59 DS 96
L7DB9 DS 96
L7E19 DS 96
L7E79 DS 96
L7ED9 DS 96 ; ..9
*--- Les deux panneaux (79x49 pixels = $F1F)
sprPanel1
DS 79*49
sprPanel2
DS 79*49
*--- Les flèches haut et bas (30x23)
L9D77 DS 30*23 ; fond neutre
LA029 DS 30*23 ; fleche
LA2DB DS 30*23 ; fleche enfoncee
LA58D DS 30*23
LA83F DS 30*23
LAAF1 DS 30*23
*--- Les flèches gauche et droite (22x30)
LADA3 DS 22*30
LB037 DS 22*30
LB2CB DS 22*30
LB55F DS 22*30
LB7F3 DS 22*30
LBA87 DS 22*30
*---
refPALETTE DS 768
*--- Enfin, j'y suis arrivé !
ASC 8D8D
ASC '-------------- Cogito -------------'8D
ASC 'Programme original: Jerome Cretaux '8D
ASC 'Version Apple //gs: Antoine Vignau '8D
ASC ' Olivier Zardini'8D
ASC '------------ 01 01 1998 -----------'8D8D