mirror of
https://github.com/antoinevignau/source.git
synced 2026-04-20 00:17:07 +00:00
4636 lines
136 KiB
ArmAsm
4636 lines
136 KiB
ArmAsm
|
|
LST OFF
|
|
|
|
|
|
ORG $1000
|
|
|
|
|
|
PHTAB EQU $0F0000
|
|
let EQU $0F4000 ;pourquoi, oh mon Dieu ??
|
|
Rlet EQU $0F5000 ;pourquoi, oh mon Dieu ??
|
|
|
|
CLC
|
|
XCE
|
|
SEP #$30
|
|
JSR $A000
|
|
jsr SOUND
|
|
clc
|
|
xce
|
|
sep #$30
|
|
BIT $C010
|
|
|
|
***** NO ADB ******
|
|
|
|
~AsyncADBReceive MAC
|
|
PHLW ]1;]2
|
|
Tool $D09
|
|
<<<
|
|
|
|
~SyncADBReceive MAC
|
|
PHW ]1
|
|
PHLW ]2;]3
|
|
Tool $E09
|
|
<<<
|
|
|
|
PHLW MAC
|
|
PHL ]1
|
|
PHW ]2
|
|
<<<
|
|
|
|
PHL MAC
|
|
IF #=]1
|
|
PEA ^]1
|
|
ELSE
|
|
PHW ]1+2
|
|
FINADB
|
|
PHW ]1
|
|
<<<
|
|
|
|
PHW MAC
|
|
IF #=]1
|
|
PEA ]1
|
|
ELSE
|
|
IF MX/2
|
|
LDA ]1+1
|
|
PHA
|
|
FINADB
|
|
LDA ]1
|
|
PHA
|
|
FINADB
|
|
<<<
|
|
|
|
*********************
|
|
|
|
_SENDINFO MAC
|
|
Tool $909
|
|
<<<
|
|
_ReadMouse MAC
|
|
Tool $1703
|
|
<<<
|
|
_InitMouse MAC
|
|
Tool $1803
|
|
<<<
|
|
_SetMouse MAC
|
|
Tool $1903
|
|
<<<
|
|
_ClampMouse MAC
|
|
Tool $1C03
|
|
<<<
|
|
|
|
Tool MAC
|
|
LDX #]1
|
|
JSL $E10000
|
|
<<<
|
|
|
|
STZ $C035
|
|
LDA #$A1
|
|
STA $C029 ; AFFICHE LA PAGE GRAPH
|
|
|
|
LDA $C034
|
|
AND #$F0 ; COULEUR NOIRE BORD
|
|
ORA #$00
|
|
STA $C034
|
|
|
|
CLC
|
|
XCE
|
|
REP #$30 ; 16 BIT
|
|
LDAL $E100C9 ; VOLUME SONORE
|
|
AND #$0F00
|
|
STA SND
|
|
|
|
LDA #$0001
|
|
STA ECRAN ; ECRAN=1
|
|
|
|
PEA $0000 ; recherche du slot
|
|
_InitMouse
|
|
|
|
PEA 0 ; X min
|
|
PEA 312 ; X max
|
|
PEA 0 ; Y min
|
|
PEA 194 ; Y max
|
|
_ClampMouse
|
|
|
|
PEA $0001 ; Mode Transparent
|
|
_SetMouse
|
|
|
|
STZ A1
|
|
STZ AP
|
|
STZ POSX
|
|
STZ POSY
|
|
STZ POSXA
|
|
STZ POSYA
|
|
INC POSX
|
|
* STZ POSXI ; PERMET D'EVITER LE BUG...
|
|
STZ BOUT
|
|
STZ LACH
|
|
|
|
LDA #$0060
|
|
STA BBX
|
|
LDA #$0050
|
|
STA BBY
|
|
LDA #$0000
|
|
LDX #$004C
|
|
ERAS STA X0,X
|
|
DEX
|
|
DEX
|
|
BPL ERAS
|
|
LDA #$0009
|
|
STA MINU
|
|
|
|
**** PRELIMINAIRES *****
|
|
|
|
JSR SAUV ; OK
|
|
JSR DESS
|
|
|
|
CLC
|
|
XCE ; 16 BIT
|
|
REP #$30
|
|
LDA #$0001
|
|
STA ECRAN
|
|
JSR SAUV ; OK
|
|
|
|
JSR REINIT
|
|
|
|
*******************************************************
|
|
|
|
KBD CLC
|
|
XCE
|
|
REP #$30
|
|
|
|
LOOP PHA
|
|
PHA
|
|
PHA
|
|
_ReadMouse
|
|
PLA ; Etat de la souris (bouton...)
|
|
AND #$E001 ; C001, E001, F001
|
|
CMP #$C001
|
|
BNE CONTI1
|
|
|
|
BRA BOUTON1
|
|
|
|
CONTI1 PLY
|
|
PLX
|
|
STY CONTI3+1
|
|
STX CONTI4+1
|
|
STZ BOUT
|
|
LDA BOUT3
|
|
CMP #$00A0 ; DELAI BOUTON
|
|
BMI CONTI2
|
|
STZ BOUT2
|
|
JSR CLRLI
|
|
LDA LACH
|
|
CMP #$0001
|
|
BNE CONTI2
|
|
JMP LACHE
|
|
|
|
CONTI2 INC BOUT3
|
|
CONTI3 LDY #$0000
|
|
CONTI4 LDX #$0000
|
|
|
|
CPY POSY ; necessaire car le curseur n'est pas
|
|
BNE :noequal ; synchronise, on affiche que si la
|
|
CPX POSX ; position a change. tu peux supprimer
|
|
BEQ LOOP ; ces 4 lignes pour voir la difference.
|
|
|
|
:noequal STY POSY ; Y
|
|
STX POSX ; X
|
|
|
|
BRA DEB
|
|
|
|
BOUTON1 LDA #$0001
|
|
STA BOUT
|
|
PLY
|
|
PLX
|
|
STY POSY
|
|
STX POSX
|
|
|
|
*************************************************
|
|
|
|
DEB CLC
|
|
XCE
|
|
REP #$30
|
|
|
|
LDA POSX
|
|
CMP #$0139 ; BORD DROIT
|
|
BPL BD
|
|
|
|
CMP #$0000 ; BORD GAUCHE
|
|
BMI BG
|
|
|
|
LDA POSY ; BORD BAS
|
|
CMP #$00C2
|
|
BPL BA
|
|
|
|
CMP #$0000 ; BORD HAUT
|
|
BMI BH
|
|
|
|
BRA DEB1
|
|
|
|
|
|
BD LDA #$0138 ; BORD DROIT
|
|
STA POSX
|
|
BRA DEB1
|
|
|
|
BG STZ POSX ; BORD GAUCHE
|
|
BRA DEB1
|
|
|
|
BA LDA #$00C2 ; BORD BAS
|
|
STA POSY
|
|
BRA DEB1
|
|
|
|
BH STZ POSY ; BORD HAUT
|
|
BRA DEB1
|
|
|
|
*************************************************
|
|
|
|
DEB1 LDA A1 ; A1 POSITION ACTUELLE
|
|
STA AP ; AP ANCIENNE POSITION
|
|
|
|
LDA POSX
|
|
LSR A ; ON DIVISE POSX PAR 2 POR QUE CA SOIT EN BYTES
|
|
STA POSXI ; POSXI = POSX INTERMEDIAIRE
|
|
|
|
LDA POSY
|
|
ASL A ; POSY=POSY*2
|
|
TAX ; X=POSY*2
|
|
LDA TABLE,X
|
|
CLC ; ON TRANSFORME DES CORDONNEES X ET Y (POSX, POSY)
|
|
ADC POSXI ; EN UN NOMBRE (A1) AVEC A1=160*POSY+POSX
|
|
STA A1
|
|
|
|
LDA BOUT ; BOUTON ENFONCE ?
|
|
CMP #$0000
|
|
BEQ PA
|
|
|
|
JMP BOUTON
|
|
|
|
***************************************************
|
|
|
|
PA CLC
|
|
LDA POSX ; ON REGARDE SI ON EST SUR UNE COLONNE
|
|
; PAIR OU IMPAIR POUR DESSINER LE POINTEUR
|
|
LSR A
|
|
|
|
BCC PAIR
|
|
BCS IMPA
|
|
|
|
RTS ; FIN
|
|
|
|
PAIR JMP TRACE1
|
|
IMPA JMP TRACE2
|
|
|
|
*******************************************************
|
|
|
|
TRACE1 CLC
|
|
XCE
|
|
REP #$30
|
|
|
|
LDA SYN
|
|
CMP #$0000
|
|
BEQ TRACE3
|
|
|
|
JSR SAUV
|
|
TRACE3 JSR DESS ; OK
|
|
JSR SAUV
|
|
STZ SYN
|
|
|
|
LDX A1 ; DESSINE LE POINTER POSITION PAIRE
|
|
|
|
LDA #$FFFF
|
|
STAL $012000,X ; A1
|
|
STAL $012002,X ; B1
|
|
|
|
LDAL $0120A0,X ; A2
|
|
AND #$00FF
|
|
ORA #$000F
|
|
STAL $0120A0,X
|
|
|
|
LDA #$0F00 ; B2
|
|
STAL $0120A2,X
|
|
|
|
LDAL $012140,X ; A3
|
|
AND #$F0FF
|
|
ORA #$F000
|
|
STAL $012140,X
|
|
|
|
LDAL $012142,X ; B3
|
|
AND #$FF00
|
|
ORA #$F000
|
|
STAL $012142,X
|
|
|
|
LDAL $0121E0,X ; A4
|
|
ORA #$0F00
|
|
STAL $0121E0,X
|
|
|
|
LDAL $0121E2,X ; B4
|
|
AND #$FF00
|
|
ORA #$F000
|
|
STAL $0121E2,X
|
|
|
|
LDAL $012282,X ; B5
|
|
ORA #$00FF
|
|
STAL $012282,X
|
|
|
|
LDAL $012322,X ; B6
|
|
ORA #$000F
|
|
STAL $012322,X
|
|
|
|
JMP KBD
|
|
|
|
******************************************************
|
|
|
|
TRACE2 CLC
|
|
XCE
|
|
REP #$30
|
|
|
|
LDA SYN
|
|
CMP #$0000
|
|
BEQ TRACE4
|
|
|
|
JSR SAUV
|
|
TRACE4 JSR DESS ; OK
|
|
JSR SAUV
|
|
STZ SYN
|
|
|
|
LDX A1
|
|
|
|
LDAL $012000,X ; C1
|
|
ORA #$FF0F
|
|
STAL $012000,X
|
|
|
|
LDA #$FFFF ; D1
|
|
STAL $012002,X
|
|
|
|
LDAL $012004,X ; E1
|
|
ORA #$00F0
|
|
STAL $012004,X
|
|
|
|
LDAL $0120A0,X ; C2
|
|
AND #$F0FF
|
|
ORA #$F000
|
|
STAL $0120A0,X
|
|
|
|
LDA #$0000 ; D2
|
|
STAL $0120A2,X
|
|
|
|
LDAL $0120A4,X ; E2
|
|
ORA #$00F0
|
|
STAL $0120A4,X
|
|
|
|
LDAL $012140,X ; C3
|
|
ORA #$0F00
|
|
STAL $012140,X
|
|
|
|
LDA #$0F00 ; D3
|
|
STAL $012142,X
|
|
|
|
LDA #$0FF0 ; D4
|
|
STAL $0121E2,X
|
|
|
|
LDAL $012282,X ; D5
|
|
ORA #$F00F
|
|
STAL $012282,X
|
|
|
|
LDAL $012322,X ; D6
|
|
ORA #$F000
|
|
STAL $012322,X
|
|
|
|
JMP KBD
|
|
|
|
******************************************************
|
|
|
|
DESS CLC ; DESSINE LE DECOR (LIE A AP), ANCIENNE POSITION
|
|
XCE
|
|
REP #$30
|
|
|
|
LDX AP
|
|
|
|
LDA DEC
|
|
STAL $012000,X
|
|
LDA DEC+2
|
|
STAL $012002,X
|
|
LDA DEC+4
|
|
STAL $012004,X
|
|
LDA DEC+6
|
|
STAL $0120A0,X
|
|
LDA DEC+8
|
|
STAL $0120A2,X
|
|
LDA DEC+10
|
|
STAL $0120A4,X
|
|
LDA DEC+12
|
|
STAL $012140,X
|
|
LDA DEC+14
|
|
STAL $012142,X
|
|
LDA DEC+16
|
|
STAL $0121E0,X
|
|
LDA DEC+18
|
|
STAL $0121E2,X
|
|
LDA DEC+20
|
|
STAL $012282,X
|
|
LDA DEC+22
|
|
STAL $012322,X
|
|
|
|
RTS
|
|
|
|
SAUV CLC ; SAUVEGARDE LE DECOR (LIE A A1), NOUVELLE POSITION
|
|
XCE
|
|
REP #$30
|
|
|
|
LDX A1
|
|
|
|
LDAL $012000,X
|
|
STA DEC
|
|
LDAL $012002,X
|
|
STA DEC+2
|
|
LDAL $012004,X
|
|
STA DEC+4
|
|
LDAL $0120A0,X
|
|
STA DEC+6
|
|
LDAL $0120A2,X
|
|
STA DEC+8
|
|
LDAL $0120A4,X
|
|
STA DEC+10
|
|
LDAL $012140,X
|
|
STA DEC+12
|
|
LDAL $012142,X
|
|
STA DEC+14
|
|
LDAL $0121E0,X
|
|
STA DEC+16
|
|
LDAL $0121E2,X
|
|
STA DEC+18
|
|
LDAL $012282,X
|
|
STA DEC+20
|
|
LDAL $012322,X
|
|
STA DEC+22
|
|
|
|
RTS
|
|
|
|
***********************************************
|
|
|
|
DEC HEX 000000000000000000000000000000000000000000000000
|
|
|
|
DECB HEX 0000000000000000000000000000000000000000
|
|
HEX 0000000000000000000000000000000000000000
|
|
HEX 0000000000000000000000000000000000000000
|
|
|
|
A1 HEX 0000 ; POSITION ACTUELLE
|
|
AP HEX 0000 ; ANCIENNE POSITION
|
|
POSX HEX 0000 ; POSITION X (COMPRISE ENTRE 0 ET 312)
|
|
POSY HEX 0000 ; POSITION Y (COMPRISE ENTRE 0 ET 194)
|
|
POSXA HEX 0000 ; POSITION X ANCIENNE
|
|
POSYA HEX 0000 ; POSITION Y ANCIENNE
|
|
POSX1 HEX 0000 ; POSITION POINTEUR POUR L'UTILISATION
|
|
POSY1 HEX 0000 ; POUR LA CREATION DE TABLE
|
|
POSXI HEX 0000 ; POSITION X INTERMEDIAIRE (UTILISEE DANS UN CAL
|
|
BBX HEX 6000 ; POSITION X BOULE B (COMPRISE ENTRE
|
|
BBY HEX 6000 ; POSITION Y BOULE B (COMPRISE ENTRE
|
|
BBX1 HEX 0000 ; DERNIERE POSITION DE LA BOULE BLANCHE
|
|
BBY1 HEX 0000
|
|
BBX2 HEX 0000 ; UTILISE POUR DIRECTION
|
|
BBY2 HEX 0000
|
|
BBA HEX 0000 ; BOULE BLANCHE ACTUELLE POSITION
|
|
BBO HEX 0000 ; BOULE BLANCHE OLD POSITION
|
|
BBS HEX 0000 ; BOULE BLANCHE SAUVEGARDE
|
|
SYN HEX 0000 ;
|
|
TIMEMAR HEX 0000 ; =1 SI LEVEL=10,20,30,40
|
|
|
|
ECRAN HEX 0000 ; ECRAN N[...
|
|
BOUT2 HEX 0000 ; BOUTON ENFONCE TRACE ?
|
|
BOUT3 HEX 0000 ; BOUTON RELACHE ?
|
|
BOUT HEX 0000 ; BOUTON ENFONCE ?
|
|
|
|
***********************************************
|
|
|
|
BOUTON STZ BOUT3
|
|
LDA BOUT2
|
|
CMP #$0001
|
|
BEQ ECR4
|
|
LDA ECRAN
|
|
CMP #$0001
|
|
BEQ ECR1
|
|
CMP #$0002
|
|
BEQ ECR2
|
|
CMP #$0003
|
|
BEQ ECR3
|
|
|
|
JMP KBD ; NO SCREEN ?
|
|
|
|
ECR2 JMP ECRA2
|
|
ECR3 JMP ECRA3
|
|
ECR4 JMP CANNE
|
|
|
|
****************
|
|
|
|
ECR1 LDA POSY
|
|
CMP #$00B8 ; 184
|
|
BMI BOULE
|
|
CMP #$00C3 ; 195
|
|
BPL RETOUR
|
|
LDA POSX
|
|
CMP #$0014 ; 20
|
|
BMI RETOUR
|
|
CMP #$005B ; 91
|
|
BMI PANIC1
|
|
CMP #$007C ; 124
|
|
BMI RETOUR
|
|
CMP #$00C3 ; 195
|
|
BMI OPTIONS1
|
|
CMP #$00E1 ; 225
|
|
BMI RETOUR
|
|
CMP #$012E ; 296
|
|
BMI PAUSE1
|
|
|
|
BRA RETOUR
|
|
|
|
RETOUR JMP KBD
|
|
|
|
PAUSE1 JMP PAUSE
|
|
OPTIONS1 JMP OPTIONS
|
|
PANIC1 JMP PANIC
|
|
|
|
BOULE LDA BBY
|
|
SEC
|
|
SBC #$0003
|
|
STA BOU1+1
|
|
CLC
|
|
ADC #$0005
|
|
STA BOU2+1
|
|
LDA BBX
|
|
ASL ; *2
|
|
CLC
|
|
ADC #$0004
|
|
STA BOU4+1
|
|
SEC
|
|
SBC #$0006
|
|
STA BOU3+1
|
|
|
|
LDA POSY
|
|
BOU1 CMP #$0000
|
|
BMI RETOUR
|
|
BOU2 CMP #$0000
|
|
BPL RETOUR
|
|
LDA POSX
|
|
BOU3 CMP #$0000
|
|
BMI RETOUR
|
|
BOU4 CMP #$0000
|
|
BPL RETOUR
|
|
|
|
LDA #$0001
|
|
STA BOUT2
|
|
|
|
RETOUR2 JMP KBD
|
|
|
|
***********************************************************
|
|
|
|
ECRA2 LDA POSX ; NEXT ABOUT ET QUIT GAME
|
|
CMP #$0044 ; 68
|
|
BMI RETOUR2
|
|
CMP #$0095 ; 149
|
|
BPL SEL1
|
|
LDA POSY
|
|
CMP #$0025 ; 37
|
|
BMI RETOUR2
|
|
CMP #$0091 ; 145
|
|
BMI NEAB
|
|
|
|
SEL1 LDA POSY ; BD.THE HALL ET LVP
|
|
CMP #$0094 ; 148
|
|
BPL SEL2
|
|
LDA POSX
|
|
CMP #$00AF ; 175
|
|
BMI RETOUR2
|
|
CMP #$010A ; 166
|
|
BMI BDPH
|
|
BRA RETOUR2
|
|
|
|
SEL2 LDA POSY ; RETURN ET SON
|
|
CMP #$00A4 ; 164
|
|
BMI RETOUR2
|
|
LDA POSX
|
|
CMP #$00B8 ; 184
|
|
BPL SON
|
|
LDA POSY
|
|
CMP #$00B5 ; 185
|
|
BPL RETOUR2
|
|
LDA POSX
|
|
CMP #$0048 ; 72
|
|
BMI RETOUR2
|
|
CMP #$00B7 ; 183
|
|
BMI RETU
|
|
BRA RETOUR2
|
|
|
|
SON LDA POSY
|
|
CMP #$00B0 ; 176
|
|
BMI RETOUR1
|
|
CMP #$00B5 ; 181
|
|
BPL RETOUR1
|
|
LDA POSX
|
|
CMP #$00F3 ; 243
|
|
BMI RETOUR1
|
|
CMP #$00F9 ; 249
|
|
BMI SONPL ; SON PL OK
|
|
CMP #$0102 ; 258
|
|
BMI RETOUR1
|
|
CMP #$0108 ; 264
|
|
BPL RETOUR1
|
|
JMP SONMO ; SONMO OK
|
|
|
|
RETU LDA POSY
|
|
CMP #$00B2 ; 178
|
|
BPL RETOUR1
|
|
JMP RETURN ; RETURN OK
|
|
|
|
NEAB LDA POSY
|
|
CMP #$0037 ; 55
|
|
BMI NEXT ; NEXT OK
|
|
CMP #$0052 ; 82
|
|
BMI RETOUR1
|
|
CMP #$0064 ; 100
|
|
BMI ABOUT ; ABOUT OK
|
|
CMP #$007F ; 127
|
|
BMI RETOUR1
|
|
CMP #$0091 ; 145
|
|
BMI QUITGA ; QUIT GAME OK
|
|
BRA RETOUR1
|
|
|
|
BDPH LDA POSX
|
|
CMP #$00AF ; 175
|
|
BMI RETOUR1
|
|
LDA POSY
|
|
CMP #$003B ; 59
|
|
BMI BDTHE ; BD.THE OK
|
|
CMP #$004C ; 76
|
|
BMI RETOUR1
|
|
CMP #$0069 ; 105
|
|
BMI HALL ; HALL OK
|
|
CMP #$007A ; 122
|
|
BMI RETOUR1
|
|
CMP #$0094 ; 148
|
|
BMI LVP ; LVP OK
|
|
|
|
|
|
RETOUR1 JMP KBD
|
|
|
|
****************
|
|
|
|
QUITGA JMP QUIT
|
|
BDTHE JMP PHOTO
|
|
HALL JMP HALLOF
|
|
LVP JMP LOUISVP
|
|
ABOUT JMP REALI
|
|
NEXT JMP NEXT1
|
|
SONPL JMP SONPL1
|
|
SONMO JMP SONMO1
|
|
RETURN JMP RETURN1
|
|
|
|
********************************************************
|
|
|
|
ECRA3 LDA POSX
|
|
CMP #$0063 ; 99
|
|
BMI RETOUR1
|
|
CMP #$006A ; 106
|
|
BPL RETOUR1
|
|
LDA POSY
|
|
CMP #$0058 ; 88
|
|
BMI RETOUR1
|
|
CMP #$005E
|
|
BMI QUIPRO ; QUIT PRODOS OK
|
|
CMP #$0064 ; 100
|
|
BMI RETOUR1
|
|
CMP #$006A ; 106
|
|
BMI QUIRE ; QUIT REBOOT OK
|
|
CMP #$0070 ; 112
|
|
BMI RETOUR1
|
|
CMP #$0076 ; 118
|
|
BMI QUICAN ; QUIT CANCEL OK
|
|
BRA RETOUR1
|
|
|
|
**********
|
|
|
|
QUIPRO JMP RADIO
|
|
QUIRE JMP RADIO
|
|
QUICAN JMP QUICAN1
|
|
|
|
*************************** HALL OF FRIME ************************
|
|
|
|
HALLOF JSR DESS ; MOUAI ***
|
|
INC POSX
|
|
LDA #$002C ; LONGUEUR
|
|
STA MU+1
|
|
LDA #$0BA6 ; BANK SPRIT
|
|
STA MU1+2
|
|
LDA #$014F ; BANK GRAPH
|
|
STA MU2+2
|
|
LDA #$A665 ; SPRIT
|
|
STA MU1+1
|
|
LDA #$4FD7 ; GRAPH
|
|
STA MU2+1
|
|
LDA #$B925 ; HAUTEUR
|
|
STA MU4+1
|
|
JSR MU
|
|
|
|
HALLOF1 CLC
|
|
XCE ; 8 BIT
|
|
SEP #$30
|
|
|
|
LDA #$FF
|
|
JSR $FCA8 ; ATTENTE 0,3 S
|
|
LDA #$FF
|
|
JSR $FCA8
|
|
LDA #$FF
|
|
JSR $FCA8
|
|
|
|
JSR FADOU ; FADE OUT
|
|
|
|
LDX #$80 ; APRIL
|
|
LDY #$0C ; BANK *
|
|
JSR FADIN
|
|
|
|
LDA #$FF
|
|
JSR $FCA8 ; WAIT *************
|
|
LDA #$FF
|
|
JSR $FCA8
|
|
|
|
CLC
|
|
XCE ; 16 BIT
|
|
REP #$30
|
|
|
|
PHA
|
|
PHA
|
|
PHA
|
|
_ReadMouse
|
|
PLA
|
|
PLA
|
|
PLA
|
|
|
|
HAL2 PHA
|
|
PHA
|
|
PHA
|
|
_ReadMouse
|
|
PLA ; Etat de la souris (bouton...)
|
|
AND #$C000 ; ****
|
|
CMP #$C000
|
|
BNE HAL4
|
|
JMP HAL3
|
|
|
|
HAL4 PLA
|
|
PLA
|
|
BRA HAL2
|
|
|
|
HAL3 PLA
|
|
PLA
|
|
CLC
|
|
XCE ; 8 BIT
|
|
SEP #$30
|
|
|
|
HAL1 JSR FADOU
|
|
|
|
LDX #$80 ; IMAGE OPTIONS
|
|
LDY #$0A ; BANK
|
|
JSR FADIN
|
|
|
|
CLC
|
|
XCE ; 16 BIT
|
|
REP #$30
|
|
|
|
STZ PERDU
|
|
JSR SAUV ; OK
|
|
|
|
JMP SAFF
|
|
|
|
*************************** THE PHOTO ************************
|
|
|
|
PHOTO JSR DESS ; MOUAI ***
|
|
INC POSX
|
|
LDA #$002C ; LONGUEUR
|
|
STA MU+1
|
|
LDA #$0B86 ; BANK SPRIT
|
|
STA MU1+2
|
|
LDA #$0134 ; BANK GRAPH
|
|
STA MU2+2
|
|
LDA #$860A ; SPRIT
|
|
STA MU1+1
|
|
LDA #$34F7 ; GRAPH
|
|
STA MU2+1
|
|
LDA #$96EA ; HAUTEUR
|
|
STA MU4+1
|
|
JSR MU
|
|
|
|
CLC
|
|
XCE ; 8 BIT
|
|
SEP #$30
|
|
|
|
LDA #$FF
|
|
JSR $FCA8 ; ATTENTE 0,3 S
|
|
LDA #$FF
|
|
JSR $FCA8
|
|
LDA #$FF
|
|
JSR $FCA8
|
|
|
|
JSR FADOU ; FADE OUT
|
|
|
|
LDX #$00 ; PHOTO
|
|
LDY #$0E ; BANK
|
|
JSR FADIN
|
|
|
|
CLC
|
|
XCE ; 16 BIT
|
|
REP #$30
|
|
|
|
PHA
|
|
PHA
|
|
PHA
|
|
_ReadMouse
|
|
PLA
|
|
PLA
|
|
PLA
|
|
|
|
CLC
|
|
XCE
|
|
SEP #$30
|
|
LDA #$FF
|
|
JSR $FCA8
|
|
LDA #$FF
|
|
JSR $FCA8 ; ATTENTE 1 SEC
|
|
LDA #$FF
|
|
JSR $FCA8
|
|
LDA #$FF
|
|
JSR $FCA8
|
|
LDA #$FF
|
|
JSR $FCA8
|
|
CLC
|
|
XCE
|
|
REP #$30
|
|
|
|
|
|
*********** CYCLAGE
|
|
|
|
LDA #$0FF0 ; PRELIMINAIRES
|
|
STA PHCO
|
|
STAL PHTAB
|
|
STZ PHCT
|
|
|
|
|
|
JSR PHA1 ; CREATION TABLE
|
|
|
|
PHCYC LDA #$9E22 ; N[ DE LA COULEUR : 1
|
|
STA PHCOU+1
|
|
LDA PHAA1 ; PLACE DANS LA TABLE
|
|
INC
|
|
INC
|
|
STA PHEMP+1
|
|
STA PHAA1
|
|
CMP #$00B2
|
|
BNE PHC2
|
|
LDA #$0000
|
|
STA PHAA1
|
|
|
|
PHC2 JSR PHAFF ; AFFICHAGE
|
|
|
|
LDA #$9E24 ; COULEUR 2
|
|
STA PHCOU+1
|
|
LDA PHAA2
|
|
INC
|
|
INC
|
|
STA PHEMP+1
|
|
STA PHAA2
|
|
CMP #$00B2
|
|
BNE PHC3
|
|
LDA #$0000
|
|
STA PHAA2
|
|
|
|
PHC3 JSR PHAFF
|
|
|
|
LDA #$9E26 ; COULEUR 3
|
|
STA PHCOU+1
|
|
LDA PHAA3
|
|
INC
|
|
INC
|
|
STA PHEMP+1
|
|
STA PHAA3
|
|
CMP #$00B2
|
|
BNE PHC4
|
|
LDA #$0000
|
|
STA PHAA3
|
|
|
|
PHC4 JSR PHAFF
|
|
|
|
|
|
PH3O2 PHA
|
|
PHA
|
|
PHA
|
|
_ReadMouse
|
|
PLA ; Etat de la souris (bouton...)
|
|
AND #$C000 ; ***
|
|
CMP #$C000
|
|
BNE PH3O4
|
|
JMP PHO3
|
|
|
|
PH3O4 PLA
|
|
PLA
|
|
|
|
|
|
LDA #$9E28 ; COULEUR 4
|
|
STA PHCOU+1
|
|
LDA PHAA4
|
|
INC
|
|
INC
|
|
STA PHEMP+1
|
|
STA PHAA4
|
|
CMP #$00B2
|
|
BNE PHC5
|
|
LDA #$0000
|
|
STA PHAA4
|
|
|
|
PHC5 JSR PHAFF
|
|
|
|
LDA #$9E2A ; COULEUR 5
|
|
STA PHCOU+1
|
|
LDA PHAA5
|
|
INC
|
|
INC
|
|
STA PHEMP+1
|
|
STA PHAA5
|
|
CMP #$00B2
|
|
BNE PHC6
|
|
LDA #$0000
|
|
STA PHAA5
|
|
|
|
PHC6 JSR PHAFF
|
|
|
|
LDA #$9E2C ; COULEUR 6
|
|
STA PHCOU+1
|
|
LDA PHAA6
|
|
INC
|
|
INC
|
|
STA PHEMP+1
|
|
STA PHAA6
|
|
CMP #$00B2
|
|
BNE PHC7
|
|
LDA #$0000
|
|
STA PHAA6
|
|
|
|
PHC7 JSR PHAFF
|
|
|
|
|
|
PH2O2 PHA
|
|
PHA
|
|
PHA
|
|
_ReadMouse
|
|
PLA ; Etat de la souris (bouton...)
|
|
AND #$C000
|
|
CMP #$C000 ; ****
|
|
BNE PH2O4
|
|
JMP PHO3
|
|
|
|
PH2O4 PLA
|
|
PLA
|
|
|
|
|
|
LDA #$9E2E ; COULEUR 7
|
|
STA PHCOU+1
|
|
LDA PHAA7
|
|
INC
|
|
INC
|
|
STA PHEMP+1
|
|
STA PHAA7
|
|
CMP #$00B2
|
|
BNE PHC8
|
|
LDA #$0000
|
|
STA PHAA7
|
|
|
|
PHC8 JSR PHAFF
|
|
|
|
LDA #$9E30 ; COULEUR 6
|
|
STA PHCOU+1
|
|
LDA PHAA8
|
|
INC
|
|
INC
|
|
STA PHEMP+1
|
|
STA PHAA8
|
|
CMP #$00B2
|
|
BNE PHC9
|
|
LDA #$0000
|
|
STA PHAA8
|
|
|
|
PHC9 JSR PHAFF
|
|
|
|
CLC
|
|
XCE
|
|
SEP #$30
|
|
LDA #$AA ; ATTENTE
|
|
JSR $FCA8
|
|
CLC
|
|
XCE
|
|
REP #$30
|
|
|
|
|
|
PHO2 PHA
|
|
PHA
|
|
PHA
|
|
_ReadMouse
|
|
PLA ; Etat de la souris (bouton...)
|
|
AND #$C000
|
|
CMP #$C000 ; ****
|
|
BNE PHO4
|
|
JMP PHO3
|
|
|
|
PHO4 PLA
|
|
PLA
|
|
|
|
|
|
JMP PHCYC
|
|
|
|
|
|
*********************** AFFICHAGE ************************
|
|
|
|
CLC
|
|
XCE
|
|
REP #$30
|
|
|
|
PHAFF NOP
|
|
|
|
LDX #$001C ; ON EMPILE
|
|
PHEMP LDAL PHTAB,X
|
|
PHA
|
|
DEX
|
|
DEX
|
|
BPL PHEMP
|
|
|
|
LDX #$0001C0
|
|
PHDEP PLA
|
|
PHCOU STAL $019E22,X
|
|
TXA
|
|
SEC
|
|
SBC #$0020
|
|
TAX
|
|
BPL PHDEP
|
|
|
|
RTS
|
|
|
|
************************* CREATION DE LA TABLE ********************
|
|
|
|
CLC
|
|
XCE
|
|
REP #$30
|
|
|
|
PHA1 LDA PHCO ; 1ERE COULEUR (H)
|
|
AND #$0FF0
|
|
CMP #$0F00
|
|
BEQ PHA2
|
|
SEC
|
|
SBC #$0010
|
|
STA PHCO
|
|
|
|
LDX PHCT
|
|
INX
|
|
INX
|
|
STX PHCT
|
|
STAL PHTAB,X
|
|
BRA PHA1
|
|
|
|
|
|
PHA2 LDA PHCO
|
|
AND #$0F0F
|
|
CMP #$0F0F
|
|
BEQ PHA3
|
|
INC
|
|
STA PHCO
|
|
|
|
LDX PHCT
|
|
INX
|
|
INX
|
|
STX PHCT
|
|
STAL PHTAB,X
|
|
BRA PHA2
|
|
|
|
|
|
PHA3 LDA PHCO
|
|
AND #$0F0F
|
|
CMP #$000F
|
|
BEQ PHA4
|
|
SEC
|
|
SBC #$0100
|
|
STA PHCO
|
|
|
|
LDX PHCT
|
|
INX
|
|
INX
|
|
STX PHCT
|
|
STAL PHTAB,X
|
|
BRA PHA3
|
|
|
|
|
|
PHA4 LDA PHCO
|
|
AND #$00FF
|
|
CMP #$00FF
|
|
BEQ PHA5
|
|
CLC
|
|
ADC #$0010
|
|
STA PHCO
|
|
|
|
LDX PHCT
|
|
INX
|
|
INX
|
|
STX PHCT
|
|
STAL PHTAB,X
|
|
BRA PHA4
|
|
|
|
|
|
PHA5 LDA PHCO
|
|
AND #$00FF
|
|
CMP #$00F0
|
|
BEQ PHA6
|
|
DEC
|
|
STA PHCO
|
|
|
|
LDX PHCT
|
|
INX
|
|
INX
|
|
STX PHCT
|
|
STAL PHTAB,X
|
|
BRA PHA5
|
|
|
|
|
|
PHA6 LDA PHCO
|
|
AND #$0FF0
|
|
CMP #$0FF0
|
|
BEQ PHA7
|
|
CLC
|
|
ADC #$0100
|
|
STA PHCO
|
|
|
|
LDX PHCT
|
|
INX
|
|
INX
|
|
STX PHCT
|
|
STAL PHTAB,X
|
|
BRA PHA6
|
|
|
|
PHA7 LDA PHCO
|
|
AND #$0FF0
|
|
CMP #$0F00
|
|
BEQ PHA8
|
|
SEC
|
|
SBC #$0010
|
|
STA PHCO
|
|
|
|
LDX PHCT
|
|
INX
|
|
INX
|
|
STX PHCT
|
|
STAL PHTAB,X
|
|
BRA PHA7
|
|
|
|
|
|
PHA8 RTS
|
|
|
|
**************************************
|
|
|
|
PHAA1 HEX 0000
|
|
PHAA2 HEX 1E00
|
|
PHAA3 HEX 3C00
|
|
PHAA4 HEX 5A00
|
|
PHAA5 HEX 7800
|
|
PHAA6 HEX 9600
|
|
PHAA7 HEX 0000
|
|
PHAA8 HEX 1E00
|
|
PHCT HEX 0000
|
|
PHCO HEX 0FF0
|
|
|
|
*************************************
|
|
|
|
|
|
PHO3 PLA
|
|
PLA
|
|
CLC
|
|
XCE ; 8 BIT
|
|
SEP #$30
|
|
|
|
BIT $C010
|
|
PHO1 JSR FADOU
|
|
|
|
LDX #$80 ; IMAGE OPTIONS
|
|
LDY #$0A ; BANK
|
|
JSR FADIN
|
|
|
|
CLC
|
|
XCE ; 16 BIT
|
|
REP #$30
|
|
|
|
JSR SAUV ; OK
|
|
|
|
JMP KBD
|
|
|
|
*************************** LOUIS VAN PROOF ************************
|
|
|
|
LOUISVP JSR DESS ; MOUAI ***
|
|
INC POSX
|
|
LDA #$002C ; LONGUEUR
|
|
STA MU+1
|
|
LDA #$0BBA ; BANK SPRIT
|
|
STA MU1+2
|
|
LDA #$016C ; BANK GRAPH
|
|
STA MU2+2
|
|
LDA #$BA65 ; SPRIT
|
|
STA MU1+1
|
|
LDA #$6C97 ; GRAPH
|
|
STA MU2+1
|
|
LDA #$CB45 ; HAUTEUR
|
|
STA MU4+1
|
|
JSR MU
|
|
|
|
CLC
|
|
XCE ; 8 BIT
|
|
SEP #$30
|
|
|
|
LDA $C000
|
|
BIT $C010
|
|
|
|
LDA #$FF
|
|
JSR $FCA8 ; ATTENTE 0,3 S
|
|
LDA #$FF
|
|
JSR $FCA8
|
|
LDA #$FF
|
|
JSR $FCA8
|
|
LDA #$FF
|
|
JSR $FCA8
|
|
|
|
JSR FADOU ; FADE OUT
|
|
|
|
CLC
|
|
XCE ; 16 BIT
|
|
REP #$30
|
|
|
|
PHA
|
|
PHA
|
|
PHA
|
|
_ReadMouse
|
|
PLA
|
|
PLA
|
|
PLA
|
|
**** DEB
|
|
|
|
CLC
|
|
xce ; 8 BIT
|
|
sep #$30
|
|
|
|
LDX #$00
|
|
LDY #$09
|
|
JSR FADIN ; IMAGE GALAXIE
|
|
|
|
|
|
********** FIXAGE DES SCB POUR LE MESSAGE ET LE SCROLL ************
|
|
|
|
* Prend le caractere de la chaine
|
|
|
|
debut lda #<mes
|
|
sta debut0+1
|
|
lda #>mes
|
|
sta debut0+2
|
|
debut0 hex ad
|
|
dw mes
|
|
beq debut
|
|
cmp #$01 ; COMPARAISON
|
|
BEQ attend
|
|
CMP #$02
|
|
BEQ LPL2 ; JUP
|
|
CMP #$03
|
|
BEQ LPL3 ; TER
|
|
CMP #$04
|
|
BEQ LPL4 ; SCU
|
|
CMP #$05
|
|
BEQ LPL5 ; LOU
|
|
CMP #$08
|
|
BEQ LPL8 ; CLIGNO
|
|
CMP #$09
|
|
BEQ LPL9 ; MULTI
|
|
BRA cherche
|
|
|
|
LPL2 JSR JUP
|
|
BRA CONTI
|
|
LPL3 JSR TER
|
|
BRA CONTI
|
|
LPL4 JSR SCU
|
|
BRA CONTI
|
|
|
|
LPL5 JMP LOU ; FIN
|
|
|
|
LPL8 JSR CLI
|
|
BRA CONTI
|
|
LPL9 JSR BRAI
|
|
|
|
|
|
CONTI INC debut0+1
|
|
BRA debut0
|
|
|
|
*************************************
|
|
|
|
attend LDA #$CC ;routine d'attente
|
|
JSR $FCA8 ;ATTEND
|
|
|
|
INC debut0+1
|
|
bra debut0
|
|
|
|
cherche ldx #41 ;avec la table 'table'
|
|
cherche0 cmp table,x
|
|
beq trouve
|
|
dex
|
|
bra cherche0
|
|
|
|
trouve txa ;on a le caractere
|
|
asl ;calcule son adresse
|
|
tax
|
|
lda adresse,x
|
|
sta dep+1
|
|
inx
|
|
lda adresse,x
|
|
sta dep+2
|
|
|
|
clc
|
|
xce
|
|
rep #$30
|
|
ldx #$1E
|
|
dep lda $ffff,x
|
|
stal let,x
|
|
dex
|
|
dex
|
|
bpl dep
|
|
|
|
* Ici on affiche le caractere
|
|
|
|
]ecr = $01989E
|
|
]pos = $0F4000 ; let
|
|
|
|
lup #$08 ;0 to 3
|
|
ldal ]pos
|
|
stal ]ecr
|
|
]pos = ]pos+2
|
|
]ecr = ]ecr+$a0
|
|
--^
|
|
|
|
jsr scroll
|
|
|
|
***********
|
|
]ecr = $01989E ;4 to 7
|
|
]pos = $0F4010 ; let
|
|
|
|
lup #$08
|
|
ldal ]pos
|
|
stal ]ecr
|
|
]pos = ]pos+2
|
|
]ecr = ]ecr+$a0
|
|
--^
|
|
|
|
jsr scroll
|
|
|
|
|
|
CLC
|
|
XCE
|
|
SEP #$30
|
|
|
|
lda $c000
|
|
bmi quitte
|
|
]inc inc debut0+1
|
|
bne ]no
|
|
inc debut0+2
|
|
]no jmp debut0
|
|
|
|
quitte bit $c010
|
|
cmp #$98
|
|
bne ]inc
|
|
|
|
FINI JSR FADOU ; FIN
|
|
|
|
LDX #$80 ; IMAGE OPTIONS
|
|
LDY #$0A ; BANK
|
|
JSR FADIN
|
|
|
|
CLC
|
|
XCE ; 16 BIT
|
|
REP #$30
|
|
|
|
JSR SAUV
|
|
|
|
JMP KBD
|
|
|
|
|
|
* Scroll shgr gauche
|
|
|
|
scroll CLC
|
|
xce
|
|
sep #$30
|
|
scroll0 lda $c019 ;synchronisation
|
|
bpl scroll0
|
|
sync lda $c019
|
|
bmi sync
|
|
|
|
clc
|
|
xce
|
|
rep #$30
|
|
|
|
ldx #$0000
|
|
SCROLL1 ldal $019802,x
|
|
stal $019800,x
|
|
ldal $0198a2,x
|
|
stal $0198a0,x
|
|
ldal $019942,x
|
|
stal $019940,x
|
|
ldal $0199e2,x
|
|
stal $0199e0,x
|
|
ldal $019a82,x
|
|
stal $019a80,x
|
|
ldal $019b22,x
|
|
stal $019b20,x
|
|
ldal $019bc2,x
|
|
stal $019bc0,x
|
|
ldal $019c62,x
|
|
stal $019c60,x
|
|
inx
|
|
inx
|
|
cpx #$9e
|
|
beq scroll2
|
|
brl SCROLL1
|
|
|
|
scroll2 clc
|
|
xce
|
|
rep #$30
|
|
|
|
rts
|
|
|
|
* All datas needed
|
|
|
|
mes asc "ANNEE 2019 DE L'ERE CHRETIENNE"
|
|
ASC " "
|
|
asc "VAISSEAU SIRUS EN PROVENANCE DE LA GALAXIE D'ANDROMEDE"
|
|
ASC " "
|
|
asc "MISSION : RENOUVELLEMENT DES INFORMATIONS SUR SYSTEMES "
|
|
ASC "SOLAIRES ELOIGNES"
|
|
ASC " "
|
|
ASC "OBJECTIF EN COURS : PLANETTE TERRE, VOIE LACTEE"
|
|
ASC " "
|
|
asc "DATE DES DERNIERS RELEVES : 1992"
|
|
ASC " "
|
|
ASC "&LA PLANETE SERA BIENTOT EN VUE MON CAPITAINE{"
|
|
ASC " "
|
|
HEX 02
|
|
HEX 01
|
|
ASC "&IL Y A UN PROBLEME.........."
|
|
ASC " "
|
|
ASC "CELA NE CORRESPOND PLUS AUX DERNIERS RELEVES...{"
|
|
ASC " "
|
|
ASC "&LA PLANETE SEMBLE S'ETRE ASSECHEE...{"
|
|
ASC " "
|
|
ASC "&FAITES APPARAITRE LES RELEVES DE 1992{"
|
|
ASC " "
|
|
HEX 03
|
|
ASC " "
|
|
HEX 01
|
|
ASC "&NOS SCANNERS NE DETECTENT AUCUN SIGNE DE VIE"
|
|
ASC " "
|
|
ASC "LA TERRE EST UN VRAI DESERT "
|
|
ASC " "
|
|
HEX 08
|
|
ASC "&CA Y EST, "
|
|
HEX 08
|
|
ASC "ON A TROUVE "
|
|
HEX 08
|
|
ASC "QUELQUE CHOSE..."
|
|
HEX 08
|
|
ASC " "
|
|
HEX 08
|
|
ASC " "
|
|
HEX 08
|
|
ASC " "
|
|
HEX 08
|
|
ASC " "
|
|
HEX 08
|
|
ASC "&NOUS AVONS"
|
|
HEX 08
|
|
ASC " REUSSI A "
|
|
HEX 08
|
|
ASC " LOCALISER"
|
|
HEX 08
|
|
ASC " L'ENDROIT : "
|
|
ASC " "
|
|
HEX 08
|
|
ASC " "
|
|
HEX 08
|
|
ASC "ANCIENNEMENT"
|
|
HEX 08
|
|
ASC " VILLE DE NANCY"
|
|
HEX 08
|
|
ASC " "
|
|
HEX 08
|
|
ASC " "
|
|
HEX 08
|
|
ASC " FRANCE"
|
|
HEX 08
|
|
ASC " "
|
|
HEX 08
|
|
ASC " "
|
|
HEX 08
|
|
ASC " EUROPE"
|
|
HEX 08
|
|
ASC " "
|
|
HEX 08
|
|
ASC " "
|
|
HEX 08
|
|
ASC " "
|
|
HEX 08
|
|
ASC "&NOUS ENVOYONS"
|
|
HEX 08
|
|
ASC " UN VAISSEAU"
|
|
HEX 08
|
|
ASC " POUR VERIFIER...{"
|
|
HEX 08
|
|
ASC " "
|
|
HEX 08
|
|
ASC " "
|
|
HEX 08
|
|
ASC " "
|
|
HEX 04
|
|
HEX 01
|
|
HEX 01
|
|
ASC "&CA Y EST, NOUS AVONS PU ETABLIR LE CONTACT"
|
|
ASC " "
|
|
ASC "CET HOMME ETAIT ENTRAIN DE PRECHER...."
|
|
ASC " "
|
|
ASC "JE CROIS QU'IL ESSAYE DE NOUS DIRE QUELQUE CHOSE...."
|
|
ASC " "
|
|
ASC "CELA POURRAIT ETRE CAPITAL POUR COMPRENDRE COMMENT LA TERRE"
|
|
ASC " EN EST ARRIVEE LA... "
|
|
ASC " ECOUTONS LE : "
|
|
HEX 09
|
|
HEX 01
|
|
HEX 01
|
|
HEX 01
|
|
ASC " "
|
|
ASC "MULTIFINDER ???? GS ????? "
|
|
ASC "&LES PROPOS SONT INCOMPREHENSIBLES MON CAPITAINE...{"
|
|
ASC " "
|
|
ASC "&CE N'EST PAS GRAVE, ILS ONT DU DEVENIR FOUS A FORCE"
|
|
ASC " D'ETRE TOUT SEUL... "
|
|
HEX 05
|
|
asc "A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 9 "
|
|
asc "( ) ! ? & { ' , . \ : "
|
|
hex 00
|
|
|
|
table asc " ABCDEFGHIJKLMNOPQRSTUVWXYZ0129()!?&{',.\:"
|
|
adresse dw ESL,AL,BL,CL,DL,EL,FL,GL,HL,IL,JL,KL,LL,ML,NL,OL,PL,QL
|
|
dw RL,SL,TL,UL,VL,WL,XL,YL,ZL,ZEL,UNL,DEL,NEL,POL,PFL,PEL,PIL
|
|
dw GOL,GFL,APL,VIL,PTL,COL,DPL
|
|
|
|
ESL HEX 00000000000000000000000000000000
|
|
HEX 00000000000000000000000000000000
|
|
|
|
AL HEX 000000CC0BBB0AA00990088807700660
|
|
HEX 0000CC00BBB00AA00990088007700660
|
|
|
|
BL HEX 00000CCC0BB00AA00990088007700666
|
|
HEX 0000CC000BB00AA09900088007706600
|
|
|
|
CL HEX 000000CC0BB00AA00990088007700066
|
|
HEX 0000CC000BB000000000000007706600
|
|
|
|
DL HEX 00000CCC0BB00AA00990088007700660
|
|
HEX 0000CC00BBB00AA00990088077706600
|
|
|
|
EL HEX 00000CCC0BB00AA00990088007700666
|
|
HEX 0000CCC0000000009900000000006660
|
|
|
|
FL HEX 00000CCC0BB00AA00990088007700660
|
|
HEX 0000CCC0000000009900000000000000
|
|
|
|
GL HEX 000000CC0BB00AA00990088007700066
|
|
HEX 0000CC0000B000009990088007706660
|
|
|
|
HL HEX 00000CC00BB00AA00999088007700660
|
|
HEX 00000CC00BB00AA00990088007700660
|
|
|
|
IL HEX 000000CC000B000A0009000800070066
|
|
HEX 0000CC00B000A0009000800070006600
|
|
|
|
JL HEX 00000000000000000000000007700066
|
|
HEX 00000CC00BB00AA00990088007706600
|
|
|
|
KL HEX 00000CC00BB00AAA0999088007700660
|
|
HEX 00000CC0BB00A0000000000077000660
|
|
|
|
LL HEX 00000CC00BB00AA00990088007700666
|
|
HEX 00000000000000000000000007706660
|
|
|
|
ML HEX 0000CC00BBB0AAAA9909880077006600
|
|
HEX 000000C0B0B0A0A00090008000700060
|
|
|
|
NL HEX 00000CC00BBB0AAA0999088007700660
|
|
HEX 000000C000B0A0A09090808000700060
|
|
|
|
OL HEX 000000CC0BB00AA00990088007700066
|
|
HEX 0000CC000BB00AA00990088007706600
|
|
|
|
PL HEX 00000CCC0BB00AA00990088007700660
|
|
HEX 0000CC000BB00AA09900000000000000
|
|
|
|
QL HEX 000000CC0BB00AA00990088007700066
|
|
HEX 0000CC000BB00AA00990008077000660
|
|
|
|
RL HEX 00000CCC0BB00AA00990088007700660
|
|
HEX 0000CC000BB00AA09900800007000060
|
|
|
|
SL HEX 000000CC0BB00AA00099000007700066
|
|
HEX 0000CC000BB000009900088007706600
|
|
|
|
TL HEX 00000CCC0000000A0009000800070006
|
|
HEX 0000CCC00000A0009000800070006000
|
|
|
|
UL HEX 00000CC00BB00AA00990088007700066
|
|
HEX 00000CC00BB00AA00990088007706660
|
|
|
|
VL HEX 00000CC00BB00AA00990088000770006
|
|
HEX 00000CC00BB00AA00990088077006000
|
|
|
|
WL HEX 0000CC00BB00AA009909888877706600
|
|
HEX 000000C000B000A00090808000700060
|
|
|
|
XL HEX 00000C000BB000AA0009008807700600
|
|
HEX 000000C00BB0AA009000880007700060
|
|
|
|
YL HEX 00000C000B000AA00099000800070006
|
|
HEX 000000C000B00AA09900800070006000
|
|
|
|
ZL HEX 00000CCC000000000009008800000666
|
|
HEX 0000CCC00BB0AA009000000000006660
|
|
|
|
ZEL HEX 000000CC0BB00AA00990088007700066
|
|
HEX 0000CC000BB00AA00990088007706600
|
|
|
|
UNL HEX 0000000C00BB000A0009000800070666
|
|
HEX 0000C000B000A0009000800070006660
|
|
|
|
DEL HEX 000000CC0BB000000000000800770666
|
|
HEX 0000CC000BB00AA09900800000006660
|
|
|
|
NEL HEX 000000CC0BB00AA00099000000000066
|
|
HEX 0000CC000BB00AA09990088077006000
|
|
|
|
POL HEX 000000000000000A0009000800000000
|
|
HEX 00000CC0BB00A0009000800077000660
|
|
|
|
PFL HEX 00000CC000BB000A0009000800770660
|
|
HEX 000000000000A0009000800000000000
|
|
|
|
PEL HEX 0000000C000B000A0009000800000006
|
|
HEX 0000C000B000A0009000800000006000
|
|
|
|
PIL HEX 000000CC0BB000000000000800000006
|
|
HEX 0000CC000BB00AA09900800000006000
|
|
|
|
GOL HEX 00000CC00B0000A00000000000000000
|
|
HEX 00000CC00B0000A00000000000000000
|
|
|
|
GFL HEX 00000CC000B00A000000000000000000
|
|
HEX 00000CC000B00A000000000000000000
|
|
|
|
APL HEX 0000000C0000000A0000000000000000
|
|
HEX 0000C000B00000000000000000000000
|
|
|
|
VIL HEX 00000000000000000000000000070000
|
|
HEX 00000000000000000000000070006000
|
|
|
|
PTL HEX 00000000000000000000000000070006
|
|
HEX 00000000000000000000000070006000
|
|
|
|
COL HEX 00DD0C00B00BA0A09090800807000066
|
|
HEX DD0000C0B00B000A0009800800706600
|
|
|
|
DPL HEX 00000000000B000A0000000800070000
|
|
HEX 00000000B000A0000000800070000000
|
|
|
|
|
|
**************** CLIGNOTEMENT ****************************
|
|
|
|
CLI CLC
|
|
XCE
|
|
SEP #$30
|
|
|
|
LDAL $012D96
|
|
CMP #$2E
|
|
BEQ CLI2
|
|
|
|
LDA #$2E
|
|
STAL $012D96
|
|
RTS
|
|
|
|
CLI2 LDA #$27
|
|
STAL $012D96
|
|
RTS
|
|
|
|
*************** MULTIFINDER *****************************
|
|
|
|
BRAI clc
|
|
xce ; 16 BIT
|
|
rep #$30
|
|
|
|
LDA #$85A0
|
|
STA MUU1+1 ; INITIALISATION
|
|
LDA #$41F1
|
|
STA MUU2+1
|
|
|
|
MUU ldx #$0042
|
|
MUU1 LDAL $0B85A0,x
|
|
MUU2 stal $0141F1,x
|
|
DEX
|
|
DEX
|
|
bpl MUU1
|
|
|
|
LDA MUU1+1
|
|
CLC
|
|
ADC #$00A0
|
|
CMP #$AB20
|
|
BEQ MUU3
|
|
STA MUU1+1
|
|
|
|
LDA MUU2+1
|
|
CLC
|
|
ADC #$00A0
|
|
STA MUU2+1
|
|
BRA MUU
|
|
|
|
MUU3 CLC
|
|
XCE
|
|
SEP #$30
|
|
|
|
RTS
|
|
|
|
****************************************************************
|
|
|
|
JUP CLC
|
|
XCE
|
|
SEP #$30
|
|
|
|
JSR FADOU
|
|
LDX #$00
|
|
LDY #$08
|
|
JSR FADIN ; IMAGE JUPITER
|
|
RTS
|
|
|
|
TER JSR FADOU
|
|
LDX #$80
|
|
LDY #$08
|
|
JSR FADIN ; IMAGE TERRES
|
|
RTS
|
|
|
|
SCU JSR FADOU
|
|
LDX #$80
|
|
LDY #$07
|
|
JSR FADIN ; IMAGE SCULLEY
|
|
RTS
|
|
|
|
|
|
LOU clc
|
|
xce ; 16 BIT
|
|
rep #$30
|
|
LDX #$7FFE
|
|
LOU0 LDA #$0000 ; EFFACE
|
|
STAL $012000,X
|
|
DEX
|
|
DEX
|
|
BPL LOU0
|
|
|
|
ldx #$7FFE
|
|
LOU1 ldal $070000,x ; IMAGE LOUIS
|
|
stal $012000,x
|
|
dex
|
|
dex
|
|
bpl LOU1
|
|
|
|
CLC
|
|
XCE ; 8 BIT
|
|
SEP #$30
|
|
|
|
|
|
LDX #$04
|
|
LOU8 LDA #$FF ; ATTEND 3 SECONDE
|
|
JSR $FCA8
|
|
LDA #$FF
|
|
JSR $FCA8
|
|
LDA #$FF
|
|
JSR $FCA8
|
|
DEX
|
|
DEX
|
|
BPL LOU8
|
|
|
|
|
|
LDX #$22
|
|
LDA #$00
|
|
LOU4 STAL $019D76,X ; FIXE LES SCB
|
|
DEX
|
|
BPL LOU4
|
|
|
|
LDX #$04
|
|
LOU7 LDA #$FF ; ATTEND 1 SECONDE
|
|
JSR $FCA8
|
|
LDA #$FF
|
|
JSR $FCA8
|
|
LDA #$FF
|
|
JSR $FCA8
|
|
DEX
|
|
DEX
|
|
BPL LOU7
|
|
|
|
AVE JSR FADOU
|
|
LDX #$80
|
|
LDY #$06
|
|
JSR FADIN ; IMAGE AVERTISS
|
|
|
|
|
|
LDX #$20
|
|
AVE1 LDA #$FF
|
|
JSR $FCA8
|
|
LDA #$FF
|
|
JSR $FCA8
|
|
LDA #$FF
|
|
JSR $FCA8
|
|
DEX
|
|
DEX
|
|
BPL AVE1
|
|
|
|
CLC
|
|
XCE ; 16 BIT
|
|
REP #$30
|
|
|
|
**** FIN
|
|
|
|
LVP2 PHA
|
|
PHA
|
|
PHA
|
|
_ReadMouse
|
|
PLA ; Etat de la souris (bouton...)
|
|
AND #$C000 ; ****
|
|
CMP #$C000
|
|
BNE LVP4
|
|
JMP LVP3
|
|
|
|
LVP4 PLA
|
|
PLA
|
|
BRA LVP2
|
|
|
|
LVP3 PLA
|
|
PLA
|
|
CLC
|
|
XCE ; 8 BIT
|
|
SEP #$30
|
|
|
|
LVP1 JSR FADOU
|
|
|
|
LDX #$80 ; IMAGE OPTIONS
|
|
LDY #$0A ; BANK
|
|
JSR FADIN
|
|
|
|
CLC
|
|
XCE ; 16 BIT
|
|
REP #$30
|
|
|
|
JSR SAUV ; OK
|
|
|
|
JMP KBD
|
|
|
|
*************************** NEXT ************************
|
|
|
|
NEXT1 JSR DESS ; MOUAI ***
|
|
INC POSX
|
|
LDA #$0028 ; LONGUEUR
|
|
STA MU+1
|
|
LDA #$0B98 ; BANK SPRIT
|
|
STA MU1+2
|
|
LDA #$0136 ; BANK GRAPH
|
|
STA MU2+2
|
|
LDA #$9834 ; SPRIT
|
|
STA MU1+1
|
|
LDA #$36A2 ; GRAPH
|
|
STA MU2+1
|
|
LDA #$A4B4 ; HAUTEUR
|
|
STA MU4+1
|
|
JSR MU
|
|
|
|
CLC
|
|
XCE ; 8 BIT
|
|
SEP #$30
|
|
|
|
LDA #$FF
|
|
JSR $FCA8 ; ATTENTE 0,3 S
|
|
LDA #$FF
|
|
JSR $FCA8
|
|
LDA #$FF
|
|
JSR $FCA8
|
|
|
|
JSR FADOU ; FADE OUT
|
|
|
|
LDX #$80 ; NEXT
|
|
LDY #$0D ; BANK *
|
|
JSR FADIN
|
|
|
|
LDA #$FF
|
|
JSR $FCA8 ; WAIT ***********
|
|
LDA #$FF
|
|
JSR $FCA8
|
|
|
|
CLC
|
|
XCE ; 16 BIT
|
|
REP #$30
|
|
|
|
PHA
|
|
PHA
|
|
PHA
|
|
_ReadMouse
|
|
PLA
|
|
PLA
|
|
PLA
|
|
|
|
NET2 PHA
|
|
PHA
|
|
PHA
|
|
_ReadMouse
|
|
PLA ; Etat de la souris (bouton...)
|
|
AND #$C000
|
|
CMP #$C000 ; ****
|
|
BNE NET4
|
|
JMP NET3
|
|
|
|
NET4 PLA
|
|
PLA
|
|
BRA NET2
|
|
|
|
NET3 PLA
|
|
PLA
|
|
CLC
|
|
XCE ; 8 BIT
|
|
SEP #$30
|
|
|
|
NET1 JSR FADOU
|
|
|
|
LDX #$80 ; IMAGE OPTIONS
|
|
LDY #$0A ; BANK
|
|
JSR FADIN
|
|
|
|
CLC
|
|
XCE ; 16 BIT
|
|
REP #$30
|
|
|
|
JSR SAUV ; OK
|
|
|
|
JMP KBD
|
|
|
|
*************************** REALISATION ************************
|
|
|
|
REALI JSR DESS ; MOUAI ***
|
|
INC POSX
|
|
LDA #$0028 ; LONGUEUR
|
|
STA MU+1
|
|
LDA #$0BA6 ; BANK SPRIT
|
|
STA MU1+2
|
|
LDA #$0152 ; BANK GRAPH
|
|
STA MU2+2
|
|
LDA #$A694 ; SPRIT
|
|
STA MU1+1
|
|
LDA #$52C2 ; GRAPH
|
|
STA MU2+1
|
|
LDA #$B314 ; HAUTEUR
|
|
STA MU4+1
|
|
JSR MU
|
|
|
|
CLC
|
|
XCE ; 8 BIT
|
|
SEP #$30
|
|
|
|
BIT $C010
|
|
LDA #$FF
|
|
JSR $FCA8 ; ATTENTE 0,3 S
|
|
LDA #$FF
|
|
JSR $FCA8
|
|
LDA #$FF
|
|
JSR $FCA8
|
|
|
|
JSR FADOU ; FADE OUT
|
|
|
|
LDX #$00 ; REALISATION
|
|
LDY #$0D ; BANK *
|
|
JSR FADIN
|
|
JSR $a000 ; la zikmu
|
|
jsr $a003
|
|
|
|
CLC
|
|
XCE ; 16 BIT
|
|
REP #$30
|
|
|
|
PHA
|
|
PHA
|
|
PHA
|
|
_ReadMouse
|
|
PLA
|
|
PLA
|
|
PLA
|
|
|
|
******** DEB
|
|
|
|
Rdebut lda #Rmes ;routine d'attente CLAVIER
|
|
sta Rdebut0+1
|
|
Rdebut0 hex ad
|
|
dw Rmes
|
|
and #$00ff
|
|
beq Rdebut ; 0000 ON REDEMARE
|
|
cmp #$0001
|
|
bne Rcherche
|
|
|
|
CLC ;la routine d'attente
|
|
XCE ; 8 BIT
|
|
SEP #$30
|
|
ldx #$1D
|
|
]Rlp2 lda #$a0
|
|
jsr $fca8
|
|
dex
|
|
bpl ]Rlp2
|
|
CLC
|
|
XCE ; 16 BIT
|
|
REP #$30
|
|
lda Rdebut0+1
|
|
clc
|
|
adc #$0001
|
|
sta Rdebut0+1
|
|
JMP ABO2
|
|
|
|
Rcherche sta Rcherche1+1 ;cherche le caractere dans la table
|
|
ldx #0045
|
|
]Rlp1 lda Rtable,x
|
|
and #$00ff
|
|
Rcherche1 cmp #$ffff ;notre caractere
|
|
beq Rtrouve
|
|
dex
|
|
bra ]Rlp1
|
|
|
|
Rtrouve txa ;on a le caractere
|
|
asl ;calcule son adresse
|
|
tax
|
|
lda Radresse,x
|
|
sta Rdep+1
|
|
*
|
|
ldx #$001E ;met le caractere dans le buffer
|
|
Rdep lda $ffff,x
|
|
stal Rlet,x
|
|
dex
|
|
dex
|
|
bpl Rdep
|
|
|
|
***********
|
|
|
|
* Ici on affiche le caractere
|
|
CLC
|
|
XCE ; 8 BIT
|
|
SEP #$30
|
|
|
|
jsr Rscroll
|
|
|
|
]Recr = $01989F
|
|
]Rpos = $0F5000
|
|
|
|
lup #$08 ;0 to 1
|
|
ldal ]Rpos
|
|
stal ]Recr
|
|
]Rpos = ]Rpos+1
|
|
]Recr = ]Recr+$a0
|
|
--^
|
|
|
|
jsr Rscroll
|
|
|
|
***********
|
|
|
|
]Recr = $01989F ;2 to 3
|
|
]Rpos = $0F5008
|
|
|
|
lup #$08
|
|
ldal ]Rpos
|
|
stal ]Recr
|
|
]Rpos = ]Rpos+1
|
|
]Recr = ]Recr+$a0
|
|
--^
|
|
|
|
jsr Rscroll
|
|
|
|
***********
|
|
|
|
]Recr = $01989F ;4 to 5
|
|
]Rpos = $0F5010
|
|
|
|
lup #$08
|
|
ldal ]Rpos
|
|
stal ]Recr
|
|
]Rpos = ]Rpos+1
|
|
]Recr = ]Recr+$a0
|
|
--^
|
|
jsr Rscroll
|
|
|
|
***********
|
|
|
|
]Recr = $01989F ;6 to 7
|
|
]Rpos = $0F5018
|
|
|
|
lup #$08
|
|
ldal ]Rpos
|
|
stal ]Recr
|
|
]Rpos = ]Rpos+1
|
|
]Recr = ]Recr+$a0
|
|
--^
|
|
|
|
**********************
|
|
|
|
CLC
|
|
XCE ; 16 BIT
|
|
REP #$30
|
|
|
|
lda Rdebut0+1 ;prochain caractere
|
|
clc
|
|
adc #$0001
|
|
sta Rdebut0+1
|
|
|
|
ABO2 PHA
|
|
PHA
|
|
PHA
|
|
_ReadMouse
|
|
PLA ; Etat de la souris (bouton...)
|
|
AND #$C000
|
|
CMP #$C000 ; ***
|
|
BNE ABO4
|
|
STZ ZICJEU
|
|
JMP ABO3
|
|
|
|
ABO4 PLA
|
|
PLA
|
|
CLC
|
|
XCE ; 8 BIT
|
|
SEP #$30
|
|
LDA $C000 ; CLAVIER
|
|
BMI TOUCH
|
|
TOUCH1 CLC
|
|
XCE
|
|
REP #$30
|
|
JMP Rdebut0
|
|
|
|
TOUCH CLC
|
|
XCE
|
|
SEP #$30
|
|
BIT $C010
|
|
CMP #$98
|
|
BNE TOUCH1
|
|
CLC
|
|
XCE ; 16 BIT
|
|
REP #$30
|
|
LDA #$0001
|
|
STA ZICJEU
|
|
JMP TOUCH2
|
|
|
|
* Scroll shgr gauche
|
|
|
|
Rscroll sec
|
|
xce ; 8 BIT
|
|
sep #$30
|
|
Rscroll0 lda $c019 ;synchronisation
|
|
bpl Rscroll0
|
|
Rsync lda $c019
|
|
bmi Rsync
|
|
ldx #$00
|
|
RSCROLL1 ldal $019801,x
|
|
stal $019800,x
|
|
ldal $0198a1,x
|
|
stal $0198a0,x
|
|
ldal $019941,x
|
|
stal $019940,x
|
|
ldal $0199e1,x
|
|
stal $0199e0,x
|
|
ldal $019a81,x
|
|
stal $019a80,x
|
|
ldal $019b21,x
|
|
stal $019b20,x
|
|
ldal $019bc1,x
|
|
stal $019bc0,x
|
|
ldal $019c61,x
|
|
stal $019c60,x
|
|
inx
|
|
cpx #$9F
|
|
beq Rscroll2
|
|
brl RSCROLL1
|
|
Rscroll2 rts
|
|
|
|
CLC
|
|
XCE
|
|
REP #$30
|
|
|
|
* All datas needed
|
|
|
|
|
|
Rmes ASC " BILLE ART \ 1992 BY BRUTAL DELUXE ",01
|
|
ASC " "
|
|
ASC " THE BOOT WAS A LITTLE SLOW BUT ... "
|
|
ASC " NO DISK ACCESS DURING THE GAME "
|
|
ASC " YOU CAN REMOVE THE DISK WITHOUT ANY PROBLEM "
|
|
ASC " BE CAREFUL !! USING THIS PROGRAM COULD BE"
|
|
ASC " DANGEROUS FOR THE DATA OF YOUR RAM DISK... "
|
|
ASC " RISK OF RADIOACTIVITY POLLUTION... "
|
|
ASC " FULL ASSEMBLY PROGRAM, AROUND 5OOO LINES UNDER MERLIN 16 "
|
|
ASC " MOST OF THE BOOT PICTURES WERE TAKEN"
|
|
ASC " FROM THE BITMAP BROTHERS FAMOUS GAMES : "
|
|
ASC " SPEEDBALL 2 AND GODS, THE SPRITES ANIMATION"
|
|
ASC " WAS MODIFIED FOR BEST EFFECTS... "
|
|
ASC " THE PICTURES OF THE &REALISATION{ AND &HALL OF FRIME{ SCENES"
|
|
ASC " WERE DRAWN BY OUR FRIEND DIZZY. THE WOMAN IN &HALL OF FRIME{ IS"
|
|
ASC " NOT A SCANNED PHOTO... IT'S REALLY A PATTERN !! NICE WORK... "
|
|
ASC " "
|
|
ASC " WE HAVE USED AS GRAPHIC TOOLS PAINTWORKS GOLD, THE.BD.256,"
|
|
ASC " A 256 COLORS PROGRAM WE HAVE MADE AND... THE EXCELLENT DREAMGRAPHIX"
|
|
ASC " FOR THE MULTIPALETTE SCREENS... THIS PROGRAM IS WONDERFUL, JUST"
|
|
ASC " BUY IT ! "
|
|
ASC " THE TWO MUSICS THEMES WERE CREATED BY GOLD GS USING SOUNDSMITH"
|
|
ASC " \ FUN AND HUIBERT HAALBERS. "
|
|
ASC " YOU CAN CONTACT US ON FRENCH MINITEL : 36-15 RTEL, 36-14 RTEL1,"
|
|
ASC " 36-14 RTEL2, BAL : BRUTAL DELUXE "
|
|
ASC " SEE YOU SOON WITH MORE ANIMATIONS, MORE FULL COLORED GRAPHICS, "
|
|
ASC " MORE GREAT MUSICS, A SHORTER BOOT, A FULL GS.OS COMPATIBLE, "
|
|
ASC " HARD DISK INSTALLATION OPTION AVAIBLE AND A MORE INTERRESTING"
|
|
ASC " MAIN PROGRAM... "
|
|
ASC " BRUTAL DELUXE, OCTOBER 1992, 14 TH ",01,01
|
|
ASC " "
|
|
ASC " "
|
|
* ASC "A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 1 2 3 4 "
|
|
* ASC "5 6 9 ( ) ! ? & { , . \ : - ' "
|
|
da $0000
|
|
|
|
Rtable asc " ABCDEFGHIJKLMNOPQRSTUVWXYZ1234569()!?&{,.\:-'"
|
|
Radresse da RESL,RAL,RBL,RCL,RDL,REL,RFL,RGL,RHL,RIL,RJL,RKL,RLL,RML,RNL,ROL,RPL,RQL
|
|
da RRL,RSL,RTL,RUL,RVL,RWL,RXL,RYL,RZL,RUNL,RDEL,RTRL,RQUL,RCIL,RSIL
|
|
da RNEL,RPOL,RPFL,RPEL,RPIL,RGOL,RGFL,RVIL,RPTL,RCOL,RDPL,RMOL,RQOL
|
|
|
|
RESL HEX 99AABBCCDDEEFFFF99AABBCCDDEEFFFF
|
|
HEX 99AABBCCDDEEFFFF99AABBCCDDEEFFFF
|
|
|
|
RAL HEX 99AAB7C6D5E4F3F29988776C5D443F2F
|
|
HEX 998877C6D5E4F3F299AA7B6C5D4E3F2F
|
|
|
|
RBL HEX 99A8B7C6D5E4F3F299887B6C5D4E3F22
|
|
HEX 9988B7A655E4F32299AA7B6CDD4E3FFF
|
|
|
|
RCL HEX 99AAB7C6D5E4F3FF99887B6C5D4E3F22
|
|
HEX 9988B7CCDDEEF32299AA7BCCDDEE3FFF
|
|
|
|
RDL HEX 99A8B7C6D5E4F3F299887B6C5D4E3F2F
|
|
HEX 998877C6D5E4332299AA7B6C5D4E3FFF
|
|
|
|
REL HEX 99A8B7C6D5E4F3F299887B6C5D4E3F22
|
|
HEX 9988BBCC55EEFF22998ABBCCDDEEFF2F
|
|
|
|
RFL HEX 99A8B7C6D5E4F3F299887B6C5D4E3F2F
|
|
HEX 9988BBCC55EEFFFF998ABBCCDDEEFFFF
|
|
|
|
RGL HEX 99AAB7C6D5E4F3FF99887B6C5D4E3F22
|
|
HEX 9988BBCC55E4F32299AA7BCC5D4E3F2F
|
|
|
|
RHL HEX 99A8B7C6D5E4F3F2998A7B6C554E3F2F
|
|
HEX 99A8B7C6D5E4F3F2998A7B6C5D4E3F2F
|
|
|
|
RIL HEX 99AABBCCDDEEFFFF9988B7C6D5E4F322
|
|
HEX 99887B6C5D4E3F2299AABBCCDDEEFFFF
|
|
|
|
RJL HEX 99AABBCCDDEEF3FF99AABBCCDDEE3F22
|
|
HEX 99A8B7C6D5E4F322998A7B6C5D4E3FFF
|
|
|
|
RKL HEX 99A8B7C6D5E4F3F2998A7B66554E3F2F
|
|
HEX 99A8776CDDEE33F2998ABBCCDDEEFF2F
|
|
|
|
RLL HEX 99A8B7C6D5E4F3F2998A7B6C5D4E3F22
|
|
HEX 99AABBCCDDEEF32299AABBCCDDEE3F2F
|
|
|
|
RML HEX 998877665544332299AA7B66D5EEFFFF
|
|
HEX 99AA7B6CDDEEFFFF998A7B6C5D4E3F2F
|
|
|
|
RNL HEX 99A8B7C6D5E4F3F2998A7766554E3F2F
|
|
HEX 99AABB6C5D4EFFFF998A7B6C5D4E3F2F
|
|
|
|
ROL HEX 99AAB7C6D5E4F3FF99887B6C5D4E3F22
|
|
HEX 9988B7C6D5E4F32299AA7B6C5D4E3FFF
|
|
|
|
RPL HEX 99A8B7C6D5E4F3F299887B6C5D4E3F2F
|
|
HEX 9988B7C655EEFFFF99AA7B6CDDEEFFFF
|
|
|
|
RQL HEX 99AAB7C6D5E4F3FF99887B6C5D4E3F22
|
|
HEX 9988B7C6D5EE33F299AA7B6C5D4EFF2F
|
|
|
|
RRL HEX 99A8B7C6D5E4F3F299887B6C5D4E3F2F
|
|
HEX 9988B7C6554EF3FF99AA7B6CDDEEFF2F
|
|
|
|
RSL HEX 99AAB7C6DDEEF3FF99887B6C55EE3F22
|
|
HEX 9988B7CC55E4F32299AA7BCCDD4E3FFF
|
|
|
|
RTL HEX 99A8BBCCDDEEFFFF9988BBC6D5E4F3F2
|
|
HEX 9988BB6C5D4E3F2F998ABBCCDDEEFFFF
|
|
|
|
RUL HEX 99A8B7C6D5E4F3FF998A7B6C5D4E3F22
|
|
HEX 99A8B7C6D5E4F322998A7B6C5D4E3F2F
|
|
|
|
RVL HEX 99A8B7C6D5E4FFFF998A7B6C5D4E33F2
|
|
HEX 99A8B7C6D5E4332F998A7B6C5D4EFFFF
|
|
|
|
RWL HEX 998877665544332299AABBCCD5443FFF
|
|
HEX 99AABBCCDD4EFFFF998A7B6C5D4E3F2F
|
|
|
|
RXL HEX 99A8B7CCDDEEF3F299AA7B66D5443FFF
|
|
HEX 99AAB7665D44F3FF998A7BCCDDEE3F2F
|
|
|
|
RYL HEX 99A8B7C6DDEEFFFF99AABB6C55E4F3F2
|
|
HEX 99AABBC6554E3F2F998A7B6CDDEEFFFF
|
|
|
|
RZL HEX 99A8BBCCDDEEFFF29988BBCCD544FF22
|
|
HEX 9988B7665DEEFF22998A7BCCDDEEFF2F
|
|
|
|
RUNL HEX 99AABBCCDDEEFFF299A877C6D5E4F322
|
|
HEX 998A7B6C5D4E3F2299AABBCCDDEEFF2F
|
|
|
|
RDEL HEX 99AAB7CCDDEEFFF299887BCCDDE43322
|
|
HEX 9988B7C6554EFF2299AA7B6CDDEEFF2F
|
|
|
|
RTRL HEX 99A8BBCCDDEEF3FF9988BBC6DDEE3F22
|
|
HEX 9988776C55E4F322998ABBCCDD4E3FFF
|
|
|
|
RQUL HEX 99AABBCCD5E4FFFF99AAB7665D44FFFF
|
|
HEX 998877665544332299AABBCCDD4EFFFF
|
|
|
|
RCIL HEX 99A8B7C6DDEEF3FF99887B66DDEE3F22
|
|
HEX 9988BB66D5E4F322998ABBCC5D4E3FFF
|
|
|
|
RSIL HEX 99AAB7C6D5E4F3FF99887B6C554E3F22
|
|
HEX 9988BBCC55E4F32299AABBCCDD4E3FFF
|
|
|
|
RNEL HEX 99AAB7C6DDEEFFFF99887B6C55EEFF22
|
|
HEX 9988B7C655E4332F99AA7B6C5D4EFFFF
|
|
|
|
RPOL HEX 99AABBCCDDEEFFFF99AABBC6D5E4FFFF
|
|
HEX 99A8776C5D4E33F2998ABBCCDDEEFF2F
|
|
|
|
RPFL HEX 99A8BBCCDDEEFFF2998A77C6D5E4332F
|
|
HEX 99AABB6C5D4EFFFF99AABBCCDDEEFFFF
|
|
|
|
RPEL HEX 99AABBCCDDEEFFFF99A8B7C6D5E4FFF2
|
|
HEX 998A7B6C5D4EFF2F99AABBCCDDEEFFFF
|
|
|
|
RPIL HEX 99AAB7CCDDEEFFFF99887BCCDDE4FFF2
|
|
HEX 9988B7C6554EFF2F99AA7B6CDDEEFFFF
|
|
|
|
RGOL HEX 99A8B7CCDDEEFFFF998ABB6CDDEEFFFF
|
|
HEX 99A8B7CCDDEEFFFF998ABB6CDDEEFFFF
|
|
|
|
RGFL HEX 99A8BBC6DDEEFFFF998A7BCCDDEEFFFF
|
|
HEX 99A8BBC6DDEEFFFF998A7BCCDDEEFFFF
|
|
|
|
RVIL HEX 99AABBCCDDEEFFFF99AABBCCDDEEF3FF
|
|
HEX 99AABBCCDDEE3F2F99AABBCCDDEEFFFF
|
|
|
|
RPTL HEX 99AABBCCDDEEFFFF99AABBCCDDEEF3F2
|
|
HEX 99AABBCCDDEE3F2F99AABBCCDDEEFFFF
|
|
|
|
RCOL HEX 99A87B6C5D4EF3FF88AAB76C5DE4FF22
|
|
HEX 88AA7BCCDD4EFF22998AB7C6D5E43FFF
|
|
|
|
RDPL HEX 99AABBCCDDEEFFFF99AAB7C6DDE4F3FF
|
|
HEX 99AA7B6CDD4E3FFF99AABBCCDDEEFFFF
|
|
|
|
RMOL HEX 99AABBCCD5EEFFFF99AABBCC55EEFFFF
|
|
HEX 99AABBCC55EEFFFF99AABBCC5DEEFFFF
|
|
|
|
RQOL HEX 99AABBCCDDEEFFFF99A8B7C6DDEEFFFF
|
|
HEX 998A7B6CDDEEFFFF99AABBCCDDEEFFFF
|
|
|
|
ZICJEU HEX 0000
|
|
|
|
********* FIN
|
|
|
|
ABO3 CLC
|
|
XCE ; 16 BIT
|
|
REP #$30
|
|
PLA
|
|
PLA
|
|
LDA ZICJEU
|
|
CMP #$0001 ; MUSIC PENDANT LE JEU
|
|
BEQ TOUCH2
|
|
CLC
|
|
XCE ; 8 BIT
|
|
SEP #$30
|
|
Jsr $a006 ; FIN ZIK
|
|
|
|
TOUCH2 CLC
|
|
XCE
|
|
SEP #$30
|
|
|
|
ABO1 JSR FADOU
|
|
|
|
LDX #$80 ; IMAGE OPTIONS
|
|
LDY #$0A ; BANK
|
|
JSR FADIN
|
|
|
|
CLC
|
|
XCE ; 16 BIT
|
|
REP #$30
|
|
|
|
JSR SAUV ; OK
|
|
|
|
JMP KBD
|
|
|
|
*************************** QUIT ************************
|
|
|
|
QUIT JSR DESS ; MOUAI ***
|
|
INC POSX
|
|
LDA #$28 ; LONGUEUR
|
|
STA MU+1
|
|
LDA #$0BB4 ; BANK SPRIT
|
|
STA MU1+2
|
|
LDA #$016E ; BANK GRAPH
|
|
STA MU2+2
|
|
LDA #$B4F4 ; SPRIT
|
|
STA MU1+1
|
|
LDA #$6EE2 ; GRAPH
|
|
STA MU2+1
|
|
LDA #$C174 ; HAUTEUR
|
|
STA MU4+1
|
|
JSR MU
|
|
|
|
CLC
|
|
XCE ; 8 BIT
|
|
SEP #$30
|
|
|
|
LDA #$FF
|
|
JSR $FCA8 ; ATTENTE 0,3 S
|
|
LDA #$FF
|
|
JSR $FCA8
|
|
LDA #$FF
|
|
JSR $FCA8
|
|
|
|
JSR FADOU ; FADE OUT
|
|
|
|
LDX #$00 ; QUIT
|
|
LDY #$0C ; BANK *
|
|
JSR FADIN
|
|
|
|
CLC
|
|
XCE ; 16 BIT
|
|
REP #$30
|
|
|
|
LDA #$0003
|
|
STA ECRAN
|
|
|
|
JSR SAUV ; OK
|
|
|
|
JMP KBD
|
|
|
|
***************
|
|
|
|
QUICAN1 INC POSX
|
|
|
|
CLC
|
|
XCE ; 8 BIT
|
|
SEP #$30
|
|
|
|
JSR FADOU
|
|
|
|
LDX #$80 ; OPTIONS
|
|
LDY #$0A ; BANK
|
|
JSR FADIN
|
|
|
|
CLC
|
|
XCE ; 16 BIT
|
|
REP #$30
|
|
|
|
LDA #$0002
|
|
STA ECRAN
|
|
|
|
JSR SAUV ; OK
|
|
|
|
JMP KBD
|
|
|
|
*************************** RADIO **************************
|
|
|
|
RADIO JSR DESS ; MOUAI ***
|
|
|
|
CLC
|
|
XCE ; 8 BIT
|
|
SEP #$30
|
|
|
|
LDA #$FF
|
|
JSR $FCA8 ; ATTENTE 0,3 S
|
|
|
|
JSR FADOU ; FADE OUT
|
|
|
|
CLC
|
|
XCE ; 16 BIT
|
|
REP #$30
|
|
|
|
LDX #$7FFE
|
|
RAD2 LDAL $098000,X ; IMAGE RADIO
|
|
STAL $012000,X
|
|
DEX
|
|
DEX
|
|
BPL RAD2
|
|
|
|
CLC
|
|
XCE ; 8 BIT
|
|
SEP #$30
|
|
|
|
LDA $C034
|
|
AND $F0 ; BORDURE JAUNE
|
|
ORA #$0D
|
|
STA $C034
|
|
|
|
CLC
|
|
XCE ; 16 BIT
|
|
REP #$30
|
|
|
|
JSR ADBNO ; * * * * * * * * * * * * * * * * * * * *
|
|
|
|
RAD1 NOP
|
|
|
|
LDX #$045E
|
|
RAD3 LDAL $0B8000,X ; TURN OFF 7 LIGNES
|
|
STAL $E198A0,X
|
|
DEX
|
|
DEX
|
|
BPL RAD3
|
|
|
|
JSR RADW ; ATTENTE
|
|
JSR RADW
|
|
JSR RADW
|
|
|
|
LDX #$045E
|
|
RAD4 LDAL $0198A0,X ; RADIO
|
|
STAL $0198A0,X
|
|
DEX
|
|
DEX
|
|
BPL RAD4
|
|
|
|
JSR RADW ; ATTENTE
|
|
JSR RADW
|
|
JSR RADW
|
|
|
|
BRA RAD1
|
|
|
|
RADW CLC
|
|
XCE
|
|
SEP #$30
|
|
LDA #$FF
|
|
JSR $FCA8
|
|
LDA #$FF ; ATTENTE 1 SEC
|
|
JSR $FCA8
|
|
LDA #$FF
|
|
JSR $FCA8
|
|
LDA #$FF
|
|
JSR $FCA8
|
|
CLC
|
|
XCE
|
|
REP #$30
|
|
RTS
|
|
|
|
*************************** PANIC ************************
|
|
|
|
PANIC JSR DESS ; MOUAI ***
|
|
INC POSX
|
|
LDA #$0022 ; LONGUEUR
|
|
STA MU+1
|
|
LDA #$0B86 ; BANK SPRIT
|
|
STA MU1+2
|
|
LDA #$0193 ; BANK GRAPH
|
|
STA MU2+2
|
|
LDA #$8685 ; SPRIT
|
|
STA MU1+1
|
|
LDA #$930A ; GRAPH
|
|
STA MU2+1
|
|
LDA #$8EA5 ; HAUTEUR
|
|
STA MU4+1
|
|
JSR MU
|
|
|
|
CLC
|
|
XCE ; 8 BIT
|
|
SEP #$30
|
|
|
|
LDA #$FF
|
|
JSR $FCA8 ; ATTENTE 0,3 S
|
|
|
|
JSR FADOU ; FADE OUT
|
|
|
|
LDX #$00
|
|
LDY #$0A ; BANK
|
|
JSR FADIN
|
|
|
|
LDA #$FF
|
|
JSR $FCA8
|
|
LDA #$FF
|
|
JSR $FCA8
|
|
|
|
CLC
|
|
XCE ; 16 BIT
|
|
REP #$30
|
|
|
|
PHA
|
|
PHA
|
|
PHA
|
|
_ReadMouse
|
|
PLA
|
|
PLA
|
|
PLA
|
|
|
|
PAN2 PHA
|
|
PHA
|
|
PHA
|
|
_ReadMouse
|
|
PLA ; Etat de la souris (bouton...)
|
|
AND #$C000
|
|
CMP #$C000 ; ***
|
|
BNE PAN4
|
|
JMP PAN3
|
|
|
|
PAN4 PLA
|
|
PLA
|
|
BRA PAN2
|
|
|
|
PAN3 PLA
|
|
PLA
|
|
CLC
|
|
XCE ; 8 BIT
|
|
SEP #$30
|
|
|
|
PAN1 JSR FADOU
|
|
|
|
LDX #$00
|
|
LDY #$0B ; BANK
|
|
JSR FADIN
|
|
|
|
CLC
|
|
XCE ; 16 BIT
|
|
REP #$30
|
|
|
|
JSR REINIT
|
|
|
|
JSR SAUV ; OK
|
|
|
|
JMP KBD
|
|
|
|
*************************** RETURN ************************
|
|
|
|
RETURN1 JSR DESS ; MOUAI ***
|
|
INC POSX
|
|
LDA #$0036 ; LONGUEUR
|
|
STA MU+1
|
|
LDA #$0BAD ; BANK SPRIT
|
|
STA MU1+2
|
|
LDA #$0186 ; BANK GRAPH
|
|
STA MU2+2
|
|
LDA #$AD01 ; SPRIT
|
|
STA MU1+1
|
|
LDA #$86A4 ; GRAPH
|
|
STA MU2+1
|
|
LDA #$B661 ; HAUTEUR
|
|
STA MU4+1
|
|
JSR MU
|
|
|
|
CLC
|
|
XCE ; 8 BIT
|
|
SEP #$30
|
|
|
|
LDA #$FF
|
|
JSR $FCA8 ; ATTENTE 0,3 S
|
|
|
|
JSR FADOU ; FADE OUT
|
|
|
|
LDX #$00
|
|
LDY #$0B ; BANK
|
|
JSR FADIN ; FADE IN
|
|
|
|
CLC
|
|
XCE ; 16 BIT
|
|
REP #$30
|
|
|
|
LDA #$0001
|
|
STA ECRAN
|
|
|
|
JSR REINIT
|
|
|
|
JSR SAUV ; OK
|
|
|
|
JMP KBD
|
|
|
|
************************** PAUSE ******************************
|
|
|
|
PAUSE JSR DESS ; DESSINE ENFONCE MOUAI ***
|
|
INC POSX
|
|
LDA #$0022 ; LONGUEUR
|
|
STA MU+1
|
|
LDA #$0B91 ; BANK SPRIT
|
|
STA MU1+2
|
|
LDA #$0193 ; BANK GRAPH
|
|
STA MU2+2
|
|
LDA #$9125 ; SPRIT
|
|
STA MU1+1
|
|
LDA #$9370 ; GRAPH
|
|
STA MU2+1
|
|
LDA #$99E5 ; HAUTEUR
|
|
STA MU4+1
|
|
JSR MU
|
|
|
|
LDA #$0042 ; LONGUEUR SAUVE LE DECOR
|
|
STA MU+1
|
|
LDA #$0140 ; BANK SPRIT
|
|
STA MU1+2
|
|
LDA #$0BD8 ; BANK GRAPH
|
|
STA MU2+2
|
|
LDA #$40AF ; SPRIT
|
|
STA MU1+1
|
|
LDA #$D8C0 ; GRAPH
|
|
STA MU2+1
|
|
LDA #$608F ; HAUTEUR
|
|
STA MU4+1
|
|
JSR MU
|
|
|
|
LDA #$0042 ; LONGUEUR DESSINE LE 'PAUSE'
|
|
STA MU+1
|
|
LDA #$0BB8 ; BANK SPRIT
|
|
STA MU1+2
|
|
LDA #$0140 ; BANK GRAPH
|
|
STA MU2+2
|
|
LDA #$B840 ; SPRIT
|
|
STA MU1+1
|
|
LDA #$40AF ; GRAPH
|
|
STA MU2+1
|
|
LDA #$D820 ; HAUTEUR
|
|
STA MU4+1
|
|
JSR MU
|
|
|
|
CLC
|
|
XCE ; 8 BIT
|
|
SEP #$30
|
|
|
|
LDA #$FF
|
|
JSR $FCA8
|
|
LDA #$FF
|
|
JSR $FCA8
|
|
JSR $FCA8
|
|
|
|
CLC
|
|
XCE ; 16 BIT
|
|
REP #$30
|
|
|
|
PHA
|
|
PHA
|
|
PHA
|
|
_ReadMouse
|
|
PLA
|
|
PLA
|
|
PLA
|
|
|
|
PAU2 PHA
|
|
PHA
|
|
PHA
|
|
_ReadMouse
|
|
PLA ; Etat de la souris (bouton...)
|
|
AND #$C000
|
|
CMP #$C000 ; ****
|
|
BNE PAU4
|
|
BRA PAU3
|
|
|
|
PAU4 PLA
|
|
PLA
|
|
BRA PAU2
|
|
|
|
PAU3 PLA
|
|
PLA
|
|
|
|
CLC
|
|
XCE ; 8 BIT
|
|
SEP #$30
|
|
LDA #$FF
|
|
JSR $FCA8
|
|
CLC
|
|
XCE ; 16 BIT
|
|
REP #$30
|
|
|
|
LDA #$0042 ; LONGUEUR DESSINE LE DECOR
|
|
STA MU+1
|
|
LDA #$0BD8 ; BANK SPRIT
|
|
STA MU1+2
|
|
LDA #$0140 ; BANK GRAPH
|
|
STA MU2+2
|
|
LDA #$D8C0 ; SPRIT
|
|
STA MU1+1
|
|
LDA #$40AF ; GRAPH
|
|
STA MU2+1
|
|
LDA #$F8A0 ; HAUTEUR
|
|
STA MU4+1
|
|
JSR MU
|
|
|
|
LDA #$0022 ; LONGUEUR DESSINE LE PAUSE NORMAL
|
|
STA MU+1
|
|
LDA #$0BCC ; BANK SPRIT
|
|
STA MU1+2
|
|
LDA #$0192 ; BANK GRAPH *
|
|
STA MU2+2
|
|
LDA #$CC85 ; SPRIT
|
|
STA MU1+1
|
|
LDA #$92D0 ; GRAPH *
|
|
STA MU2+1
|
|
LDA #$D545 ; HAUTEUR
|
|
STA MU4+1
|
|
JSR MU
|
|
|
|
JSR SAUV ; OK
|
|
|
|
STZ BOUT
|
|
|
|
JMP KBD ; ANCIEN DEB
|
|
|
|
************************** OPTIONS ****************************
|
|
|
|
OPTIONS JSR DESS ; MOUAI ***
|
|
INC POSX
|
|
LDA #$0022 ; LONGUEUR
|
|
STA MU+1
|
|
LDA #$0B9B ; BANK SPRIT
|
|
STA MU1+2
|
|
LDA #$0193 ; BANK GRAPH
|
|
STA MU2+2
|
|
LDA #$9B25 ; SPRIT
|
|
STA MU1+1
|
|
LDA #$933E ; GRAPH
|
|
STA MU2+1
|
|
LDA #$A345 ; HAUTEUR
|
|
STA MU4+1
|
|
JSR MU
|
|
|
|
CLC
|
|
XCE ; 8 BIT
|
|
SEP #$30
|
|
|
|
LDA #$FF
|
|
JSR $FCA8 ; ATTENTE 0,3 S
|
|
|
|
JSR FADOU ; FADE OUT
|
|
|
|
LDX #$80 ; OPTIONS
|
|
LDY #$0A ; BANK
|
|
JSR FADIN ; FADE IN
|
|
|
|
CLC
|
|
XCE ; 16 BIT
|
|
REP #$30
|
|
|
|
LDA #$0002
|
|
STA ECRAN
|
|
|
|
JSR SAUV ; OK
|
|
|
|
JMP SAFF
|
|
|
|
***************************** SON ***********************************
|
|
|
|
SONPL1 LDA SND
|
|
CMP #$0F00
|
|
BEQ SAFF
|
|
LDA SND
|
|
CLC
|
|
ADC #$0100
|
|
STA SND
|
|
***
|
|
LDA $C03B
|
|
AND #$F0FF
|
|
ORA SND
|
|
STA $C03B
|
|
|
|
CLC
|
|
XCE
|
|
SEP #$30
|
|
JSR $FF3A ; GLONG
|
|
CLC
|
|
XCE
|
|
REP #$30
|
|
***
|
|
BRA SAFF
|
|
|
|
SONMO1 LDA SND
|
|
CMP #$0000
|
|
BEQ SAFF
|
|
LDA SND
|
|
SEC
|
|
SBC #$0100
|
|
STA SND
|
|
***
|
|
LDA $C03B
|
|
AND #$F0FF
|
|
ORA SND
|
|
STA $C03B
|
|
|
|
CLC
|
|
XCE
|
|
SEP #$30
|
|
JSR $FF3A ; GLONG
|
|
CLC
|
|
XCE
|
|
REP #$30
|
|
***
|
|
|
|
|
|
SAFF LDA SND
|
|
LSR
|
|
LSR
|
|
LSR
|
|
LSR
|
|
LSR
|
|
LSR
|
|
LSR
|
|
TAX
|
|
LDA STAB,X
|
|
STA SMU1+1
|
|
JSR SMU
|
|
|
|
CLC
|
|
XCE
|
|
SEP #$30
|
|
LDA #$EE
|
|
JSR $FCA8
|
|
CLC
|
|
XCE
|
|
REP #$30
|
|
|
|
JMP KBD
|
|
|
|
**************
|
|
SMU LDA #$86FB ; ADRESSE ECRAN
|
|
STA SMU2+1
|
|
LDA #$E6FB
|
|
STA SMU3+1
|
|
LDY #$000C
|
|
|
|
SMU0 ldx #$0006 ; LONGUEUR
|
|
SMU1 LDAL $0BD725,x
|
|
SMU2 stal $0186FB,x
|
|
SMU3 STAL $0AE6FB,X
|
|
DEX
|
|
DEX
|
|
bpl SMU1
|
|
|
|
LDA SMU1+1
|
|
CLC
|
|
ADC #$00A0
|
|
STA SMU1+1
|
|
|
|
LDA SMU2+1
|
|
CLC
|
|
ADC #$00A0
|
|
STA SMU2+1
|
|
ADC #$6000
|
|
STA SMU3+1
|
|
|
|
DEY
|
|
DEY
|
|
BPL SMU0
|
|
|
|
|
|
RTS
|
|
|
|
STAB HEX 25D72ED737D740D749D752D75BD764D7
|
|
HEX C5DCCEDCD7DCE0DCE9DCF2DCFBDC04DD
|
|
SND HEX 0000 ; EN HEXA 0 -> F
|
|
|
|
***************************************************************************
|
|
***************************************************************************
|
|
***************************************************************************
|
|
|
|
CLC
|
|
XCE ; 16 BIT
|
|
REP #$30
|
|
|
|
MU ldx #$0022
|
|
MU1 LDAL $0B8000,x
|
|
MU2 stal $019200,x
|
|
DEX
|
|
DEX
|
|
bpl MU1
|
|
|
|
LDA MU1+1
|
|
CLC
|
|
ADC #$00A0
|
|
MU4 CMP #$8820
|
|
BEQ MU3
|
|
STA MU1+1
|
|
|
|
LDA MU2+1
|
|
CLC
|
|
ADC #$00A0
|
|
STA MU2+1
|
|
BRA MU
|
|
|
|
MU3 RTS
|
|
|
|
******************* FADE OUT ***** 8 BIT *******************
|
|
|
|
FADOU CLC
|
|
XCE ; 16 BIT
|
|
REP #$30
|
|
|
|
LDY #$000F
|
|
CLR1 LDX #$01FE
|
|
CLR2 LDAL $019E00,X
|
|
CMP #$0000
|
|
BEQ CONT
|
|
|
|
LDAL $019E00,X
|
|
AND #$0F00
|
|
CMP #$0000 ; ON NOIRCIT CHAQUE COMPOSANTE
|
|
BEQ NEX1
|
|
LDAL $019E00,X
|
|
SEC
|
|
SBC #$0100
|
|
STAL $019E00,X
|
|
|
|
NEX1 LDAL $019E00,X
|
|
AND #$00F0
|
|
CMP #$0000
|
|
BEQ NEX2
|
|
LDAL $019E00,X
|
|
SEC
|
|
SBC #$0010
|
|
STAL $019E00,X
|
|
|
|
NEX2 LDAL $019E00,X
|
|
AND #$000F
|
|
CMP #$0000
|
|
BEQ CONT
|
|
LDAL $019E00,X
|
|
SEC
|
|
SBC #$0001
|
|
STAL $019E00,X
|
|
|
|
|
|
CONT DEX
|
|
|
|
BPL CLR2
|
|
|
|
CLC
|
|
XCE ; 8 BIT
|
|
SEP #$30
|
|
|
|
LDX #$FF ;ROUTINE D'ATTENTE
|
|
SCR LDA $C02E
|
|
CMP #$FF
|
|
BNE SCR
|
|
DEX
|
|
BPL SCR
|
|
|
|
CLC
|
|
XCE ; 16 BIT
|
|
REP #$30
|
|
|
|
DEY ; ON LE FAIT 16 FOIS
|
|
BPL CLR1
|
|
|
|
FIN CLC
|
|
XCE ; 8 BIT
|
|
SEP #$30
|
|
|
|
RTS
|
|
|
|
*************** FADE IN ***** 8 BIT ****************
|
|
|
|
FADIN stx in0+2 ;X= MEMOIRE HAUTE
|
|
sty in0+3 ;Y=BANC
|
|
sty in2+3
|
|
sty in4+3
|
|
sty in6+3
|
|
|
|
txa
|
|
clc
|
|
adc #$7e
|
|
sta in2+2
|
|
sta in4+2
|
|
sta in6+2
|
|
|
|
clc
|
|
xce ; 16 BIT
|
|
rep #$30
|
|
|
|
ldx #$7dde
|
|
in0 ldal $062000,x
|
|
stal $012000,x
|
|
dex
|
|
dex
|
|
bpl in0
|
|
|
|
ldy #$000f
|
|
in1 ldx #$01fe
|
|
in2 ldal $019e00,x
|
|
and #$000f
|
|
sta temp
|
|
in3 ldal $019e00,x
|
|
and #$000f
|
|
cmp temp
|
|
beq in4
|
|
ldal $019e00,x
|
|
clc
|
|
adc #$0001
|
|
stal $019e00,x
|
|
in4 ldal $019e00,x
|
|
and #$00f0
|
|
sta temp
|
|
in5 ldal $019e00,x
|
|
and #$00f0
|
|
cmp temp
|
|
beq in6
|
|
ldal $019e00,x
|
|
clc
|
|
adc #$0010
|
|
stal $019e00,x
|
|
in6 ldal $019e00,x
|
|
and #$0f00
|
|
sta temp
|
|
in7 ldal $019e00,x
|
|
and #$0f00
|
|
cmp temp
|
|
beq in8
|
|
ldal $019e00,x
|
|
clc
|
|
adc #$0100
|
|
stal $019e00,x
|
|
in8 dex
|
|
dex
|
|
bpl in2
|
|
|
|
CLC
|
|
XCE ; 8 BIT
|
|
SEP #$30
|
|
|
|
LDX #$FF ;ROUTINE D'ATTENTE
|
|
ISCR2 LDA $C02E
|
|
CMP #$FF
|
|
BNE ISCR2
|
|
DEX
|
|
BPL ISCR2
|
|
|
|
CLC
|
|
XCE ; 16 BIT
|
|
REP #$30
|
|
|
|
dey
|
|
bpl in11
|
|
|
|
CLC
|
|
xce ; 8 BIT
|
|
sep #$30
|
|
|
|
rts
|
|
|
|
in11 JMP in1
|
|
temp ds 2
|
|
|
|
**********************************************************************************
|
|
|
|
CLC
|
|
XCE
|
|
REP #$30
|
|
|
|
REINIT LDA #$0060
|
|
STA BBX
|
|
LDA #$0050
|
|
STA BBY
|
|
STZ LEVEL
|
|
LDA #$0009
|
|
STA MINU
|
|
STZ TIME
|
|
STZ SCORE
|
|
|
|
LDA BBY
|
|
ASL
|
|
TAX
|
|
LDA TABLE,X
|
|
CLC
|
|
ADC BBX
|
|
STA BBA
|
|
STA BBO
|
|
|
|
JSR SVB
|
|
JSR DSB
|
|
JSR BB
|
|
|
|
JSR TIMETR5 ; TRACE
|
|
JSR LEVTR
|
|
JSR SCRTR
|
|
JSR CLEAR
|
|
JSR BPTR
|
|
|
|
RTS
|
|
|
|
********************** BOULE BLANCHE *******************
|
|
|
|
BB CLC
|
|
XCE
|
|
REP #$30
|
|
|
|
BB1 LDA BBA ; BBA POSITION ACTUELLE
|
|
STA BBO ; BBO ANCIENNE POSITION (OLD)
|
|
|
|
LDA BBY
|
|
ASL A ; POSY=POSY*2
|
|
TAX ; X=POSY*2
|
|
LDA TABLE,X
|
|
CLC ; ON TRANSFORME DES CORDONNEES X ET Y (POSX, POSY)
|
|
ADC BBX ; EN UN NOMBRE (A1) AVEC A1=160*POSY+POSX
|
|
STA BBA
|
|
|
|
***************************************************
|
|
|
|
TRABB CLC ; BOULE BLANCHE
|
|
XCE
|
|
REP #$30
|
|
|
|
CLC
|
|
XCE
|
|
SEP #$30
|
|
SYNC1 LDA $C019
|
|
BMI SYNC1
|
|
SYNC2 LDA $C019
|
|
BPL SYNC2
|
|
CLC
|
|
XCE
|
|
REP #$30
|
|
|
|
JSR DSB ; OK
|
|
JSR SVB
|
|
|
|
LDX BBA ; DESSINE LA BOULE
|
|
|
|
LDA #$FFFF
|
|
STAL $011CE0,X ;PARTIES BLANCHES
|
|
STAL $011D80,X
|
|
STAL $011E20,X
|
|
STAL $011EC0,X
|
|
STAL $011F60,X
|
|
STAL $012000,X
|
|
STAL $0120A0,X
|
|
STAL $012140,X
|
|
STAL $0121E0,X
|
|
STAL $012280,X
|
|
STAL $011F5E,X
|
|
STAL $011FFE,X
|
|
STAL $011F62,X
|
|
STAL $012002,X
|
|
|
|
LDA #$FFEF
|
|
STAL $011EBE,X ; BLANC/GRIS CLAIR
|
|
STAL $01209E,X
|
|
LDA #$FEFF
|
|
STAL $011EC2,X
|
|
STAL $0120A2,X
|
|
|
|
LDAL $011CDE,X ; LIGNE 1
|
|
AND #$F0FF
|
|
ORA #$0D00
|
|
STAL $011CDE,X
|
|
|
|
LDAL $011CE2,X
|
|
AND #$FF0F
|
|
ORA #$00D0
|
|
STAL $011CE2,X
|
|
|
|
LDAL $011D7E,X ; LIGNE 2
|
|
AND #$00FF
|
|
ORA #$FF00
|
|
STAL $011D7E,X
|
|
|
|
LDAL $011D82,X
|
|
AND #$FF00
|
|
ORA #$00FF
|
|
STAL $011D82,X
|
|
|
|
LDAL $011E1E,X ; LIGNE 3
|
|
AND #$00F0
|
|
ORA #$FF0F
|
|
STAL $011E1E,X
|
|
|
|
LDAL $011E22,X
|
|
AND #$0F00
|
|
ORA #$F0FF
|
|
STAL $011E22,X
|
|
|
|
LDAL $01213E,X ; LIGNE 8
|
|
AND #$00F0
|
|
ORA #$FF0F
|
|
STAL $01213E,X
|
|
|
|
LDAL $012142,X
|
|
AND #$0F00
|
|
ORA #$F0FF
|
|
STAL $012142,X
|
|
|
|
LDAL $0121DE,X ; LIGNE 9
|
|
AND #$00FF
|
|
ORA #$FF00
|
|
STAL $0121DE,X
|
|
|
|
LDAL $0121E2,X
|
|
AND #$FF00
|
|
ORA #$00FF
|
|
|
|
STAL $0121E2,X
|
|
|
|
LDAL $01227E,X ; LIGNE 10
|
|
AND #$F0FF
|
|
ORA #$0D00
|
|
STAL $01227E,X
|
|
|
|
LDAL $012282,X
|
|
AND #$FF0F
|
|
ORA #$00D0
|
|
STAL $012282,X
|
|
|
|
RTS
|
|
|
|
******************************************************
|
|
|
|
DSB CLC ; DESSINE LE DECOR (LIE A AP), ANCIENNE POSITION
|
|
XCE ; BOULE BLANCHE
|
|
REP #$30
|
|
|
|
LDX BBO
|
|
LDA DECB
|
|
STAL $011CDE,X
|
|
LDA DECB+2
|
|
STAL $011D7E,X
|
|
LDA DECB+4
|
|
STAL $011E1E,X
|
|
LDA DECB+6
|
|
STAL $011EBE,X
|
|
LDA DECB+8
|
|
STAL $011F5E,X
|
|
LDA DECB+10
|
|
STAL $011FFE,X
|
|
LDA DECB+12
|
|
STAL $01209E,X
|
|
LDA DECB+14
|
|
STAL $01213E,X
|
|
LDA DECB+16
|
|
STAL $0121DE,X
|
|
LDA DECB+18
|
|
STAL $01227E,X
|
|
LDA DECB+20 ; 1 ere COLONNE
|
|
STAL $011CE0,X
|
|
LDA DECB+22
|
|
STAL $011D80,X
|
|
LDA DECB+24
|
|
STAL $011E20,X
|
|
LDA DECB+26
|
|
STAL $011EC0,X
|
|
LDA DECB+28
|
|
STAL $011F60,X
|
|
LDA DECB+30
|
|
STAL $012000,X
|
|
LDA DECB+32
|
|
STAL $0120A0,X
|
|
LDA DECB+34
|
|
STAL $012140,X
|
|
LDA DECB+36
|
|
STAL $0121E0,X
|
|
LDA DECB+38
|
|
STAL $012280,X
|
|
LDA DECB+40 ; 2 eme
|
|
STAL $011CE2,X
|
|
LDA DECB+42
|
|
STAL $011D82,X
|
|
LDA DECB+44
|
|
STAL $011E22,X
|
|
LDA DECB+46
|
|
STAL $011EC2,X
|
|
LDA DECB+48
|
|
STAL $011F62,X
|
|
LDA DECB+50
|
|
STAL $012002,X
|
|
LDA DECB+52
|
|
STAL $0120A2,X
|
|
LDA DECB+54
|
|
STAL $012142,X
|
|
LDA DECB+56
|
|
STAL $0121E2,X
|
|
LDA DECB+58
|
|
STAL $012282,X
|
|
|
|
RTS
|
|
|
|
**************
|
|
|
|
SVB CLC ; SAUVEGARDE LE DECOR (LIE A BBA), NOUVELLE POSITION
|
|
XCE ; BOULE BLANCHE
|
|
REP #$30
|
|
|
|
LDX BBA
|
|
LDAL $011CDE,X
|
|
STA DECB
|
|
LDAL $011D7E,X
|
|
STA DECB+2
|
|
LDAL $011E1E,X
|
|
STA DECB+4
|
|
LDAL $011EBE,X
|
|
STA DECB+6
|
|
LDAL $011F5E,X
|
|
STA DECB+8
|
|
LDAL $011FFE,X
|
|
STA DECB+10
|
|
LDAL $01209E,X
|
|
STA DECB+12
|
|
LDAL $01213E,X
|
|
STA DECB+14
|
|
LDAL $0121DE,X
|
|
STA DECB+16
|
|
LDAL $01227E,X
|
|
STA DECB+18 ; 1 ere COLONNE
|
|
LDAL $011CE0,X
|
|
STA DECB+20
|
|
LDAL $011D80,X
|
|
STA DECB+22
|
|
LDAL $011E20,X
|
|
STA DECB+24
|
|
LDAL $011EC0,X
|
|
STA DECB+26
|
|
LDAL $011F60,X
|
|
STA DECB+28
|
|
LDAL $012000,X
|
|
STA DECB+30
|
|
LDAL $0120A0,X
|
|
STA DECB+32
|
|
LDAL $012140,X
|
|
STA DECB+34
|
|
LDAL $0121E0,X
|
|
STA DECB+36
|
|
LDAL $012280,X
|
|
STA DECB+38 ; 2 eme COLONNE
|
|
LDAL $011CE2,X
|
|
STA DECB+40
|
|
LDAL $011D82,X
|
|
STA DECB+42
|
|
LDAL $011E22,X
|
|
STA DECB+44
|
|
LDAL $011EC2,X
|
|
STA DECB+46
|
|
LDAL $011F62,X
|
|
STA DECB+48
|
|
LDAL $012002,X
|
|
STA DECB+50
|
|
LDAL $0120A2,X
|
|
STA DECB+52
|
|
LDAL $012142,X
|
|
STA DECB+54
|
|
LDAL $0121E2,X
|
|
STA DECB+56
|
|
LDAL $012282,X
|
|
STA DECB+58 ; 3 eme COLONNE
|
|
|
|
RTS
|
|
|
|
*****************************************************************************
|
|
|
|
CANNE CLC
|
|
XCE
|
|
REP #$30
|
|
|
|
******* DISTANCE *******
|
|
|
|
LDA #$0001
|
|
STA LACH ; BOULE PEUT ETRE LACHEE
|
|
LDA #$0F00
|
|
STA CLRLI2+1
|
|
LDA #$F000 ; LIGNE BLANCHE
|
|
STA CLRLI1+1
|
|
LDA DX
|
|
LSR
|
|
LSR
|
|
ASL
|
|
TAX ; /2 /2 *2
|
|
LDA MUTAB,X ; MULTI
|
|
STA DIS1+1
|
|
LDA DY
|
|
LSR
|
|
LSR
|
|
ASL
|
|
TAX ; /2 /2 *2
|
|
LDA MUTAB,X
|
|
CLC
|
|
DIS1 ADC #$0000
|
|
ASL ; *16 /4
|
|
ASL
|
|
STA DIST
|
|
CMP #$04E2 ; 1250
|
|
BPL CAN2
|
|
CMP #$0029
|
|
BPL CAN1
|
|
|
|
CAN2 LDA #$0000
|
|
STA CLRLI2+1
|
|
LDA #$0000 ; LIGNE INVISIBLE
|
|
STA CLRLI1+1
|
|
STZ DIST ; DIST=0
|
|
STZ LACH ; LACH=0
|
|
|
|
CAN1 LDA DIST
|
|
STA DIST2
|
|
JSR CLRLI
|
|
|
|
LDA POSX
|
|
STA X0
|
|
LDA POSY
|
|
STA Y0
|
|
|
|
LDA BBX
|
|
ASL ; *2
|
|
STA X1
|
|
LDA BBY
|
|
STA Y1
|
|
|
|
JSR LIGNE
|
|
|
|
JMP KBD
|
|
|
|
***************************
|
|
|
|
LACHE LDA A1
|
|
STA AP
|
|
JSR DESS ; DESSINE LE DECOR DE FOND
|
|
LDA POSX
|
|
STA POSX1 ; INITIALISATION DE POSX1 ET POSY1
|
|
LDA POSY ; AVANT LEUR UTILISATION
|
|
STA POSY1
|
|
LDA BBX
|
|
STA BBX1 ; SAUVEGARDE DE LA DERNIERE POSITION
|
|
STA BBX2
|
|
LDA BBY ; AVANT DEPART
|
|
STA BBY1
|
|
STA BBY2
|
|
|
|
STZ SVYI
|
|
LDA #$0001
|
|
STA TABCRE ; CREATION TAB
|
|
LDY #$0000
|
|
JSR LIGNE2
|
|
|
|
LDA X0
|
|
CMP X1 ; CREATION TAB1
|
|
BPL LACH2
|
|
LDA X1 ; X1>X0
|
|
ASL
|
|
SEC
|
|
SBC X0
|
|
STA X0
|
|
BRA LACH3
|
|
LACH2 LDA X0
|
|
ASL
|
|
SEC
|
|
SBC X1
|
|
STA X1
|
|
LACH3 LDA #$0001
|
|
STA TABCRE ; CREATION
|
|
STA SVYI ; TAB1
|
|
LDY #$0000
|
|
JSR LIGNE2
|
|
STZ SVYI
|
|
STZ TABCRE ; INITIALISATION
|
|
STZ LACH
|
|
|
|
LACH1 LDA BBA ; SAUVEGARDE POSITION ACTUELLE
|
|
STA BBS
|
|
LDY SVY
|
|
STY GO1+1
|
|
|
|
*************
|
|
|
|
DIR LDA BBX2
|
|
ASL ; *2
|
|
CMP POSX1 ; OK
|
|
BPL DIR1
|
|
|
|
LDA POSY1 ; OK
|
|
CMP BBY2
|
|
BPL AD
|
|
LDA DX
|
|
CMP DY
|
|
BPL AD
|
|
BRA SB
|
|
|
|
DIR1 LDA POSY1 ; OK
|
|
CMP BBY2
|
|
BMI SB
|
|
LDA DX
|
|
CMP DY
|
|
BMI AD
|
|
|
|
***** BOULE BLANCHE
|
|
|
|
SB LDA #$E938 ; SEC SBC
|
|
STA GO02
|
|
LDA #$0001
|
|
STA INV
|
|
BRA GO1
|
|
|
|
AD LDA #$6918 ; CLC ADC
|
|
STA GO02
|
|
STZ INV
|
|
|
|
*******
|
|
GO1 LDY #$0000 ; DEPLACEMENT BOULE BLANCHE SVY OU SVY1
|
|
STY GO01+1
|
|
GO00 LDA DIST2
|
|
CMP #$0000
|
|
BEQ GOF
|
|
GO LDA BBA
|
|
STA BBO
|
|
GO01 LDY #$0000
|
|
DEY
|
|
DEY
|
|
STY GO01+1
|
|
CPY #$0000
|
|
BEQ GOF1 ; ON EST AU BOUT DE LA TABLE
|
|
|
|
LDA SVYI
|
|
CMP #$0001
|
|
BEQ GO04
|
|
LDA TAB,Y
|
|
STA GO2+1
|
|
BRA GO05
|
|
GO04 LDA TAB1,Y
|
|
STA GO2+1
|
|
GO05 LDA BBS
|
|
GO02 SEC
|
|
GO2 SBC #$0000 ; ADC OU SBC
|
|
STA BBA
|
|
JSR TRANS ; TRANSFORMATION BBA EN BBX1 ET BBY1
|
|
JMP BORDU ; BORDURES
|
|
GO3 JSR AFF ; AFFICHAGE
|
|
DEC DIST2
|
|
GO5 LDA DIST2 ; NOUVELLE ROUTINE D'ARRET
|
|
CMP #$0000
|
|
BEQ GOF
|
|
JSR TIMETR
|
|
LDA PERDU
|
|
CMP #$0001
|
|
BEQ GOF3
|
|
GO4 BRA GO00
|
|
|
|
******* FIN
|
|
|
|
GOF1 LDA BBA
|
|
STA BBS
|
|
JMP GO1
|
|
|
|
GOF JSR TRANS
|
|
INC POSX ; OK POUR RE-AFFICHAGE
|
|
INC SYN
|
|
JSR GAGNE
|
|
JSR SCRTR
|
|
LDA GAGN
|
|
CMP #$0000
|
|
BEQ GOF2
|
|
INC LEVEL
|
|
LDA SCORE
|
|
CLC
|
|
ADC #$002F ; +47 SI NIVEAU FINI
|
|
STA SCORE
|
|
JSR CLEAR ; NETTOIE LES BUMPERS
|
|
GOF2 JSR BPTR ; TRACE LES BUMPERS
|
|
JSR LEVTR ; TRACE N[ LEVEL
|
|
JSR SCRTR ; SCORE TRACE
|
|
JMP PA
|
|
|
|
GOF3 STZ PERDU ; PERDU
|
|
JSR GOF4
|
|
JSR GOF4
|
|
JSR GOF4
|
|
JSR GOF4
|
|
JSR GOF4
|
|
* LDA #$0009
|
|
* STA MINU ; BUG ...
|
|
LDA #$0002
|
|
STA ECRAN
|
|
JMP HALLOF1
|
|
|
|
GOF4 STZ TIMEREG ; ON FAIT CLIGNOTER LE TIME
|
|
LDA CHI3
|
|
STA CHI
|
|
LDA CHI3+2
|
|
STA CHI+2
|
|
LDA CHI3+4
|
|
STA CHI+4
|
|
LDA CHI3+6
|
|
STA CHI+6
|
|
LDA CHI3+8
|
|
STA CHI+8
|
|
JSR TIMETR5
|
|
CLC
|
|
XCE ; 8 BIT
|
|
SEP #$30
|
|
LDA #$FF
|
|
JSR $FCA8
|
|
LDA #$FF
|
|
JSR $FCA8
|
|
CLC
|
|
XCE ; 16 BIT
|
|
REP #$30
|
|
LDA CHI1
|
|
STA CHI
|
|
LDA CHI1+2
|
|
STA CHI+2
|
|
LDA CHI1+4
|
|
STA CHI+4
|
|
LDA CHI1+6
|
|
STA CHI+6
|
|
LDA CHI1+8
|
|
STA CHI+8
|
|
STZ TIMEREG
|
|
JSR TIMETR5
|
|
CLC
|
|
XCE ; 8 BIT
|
|
SEP #$30
|
|
LDA #$FF
|
|
JSR $FCA8
|
|
LDA #$FF
|
|
JSR $FCA8
|
|
CLC
|
|
XCE ; 16 BIT
|
|
REP #$30
|
|
RTS
|
|
|
|
************** SOUS ROUTINES **********************
|
|
|
|
***** BORDURE BLANCHE *********
|
|
|
|
BORDU LDA BBX ; VERIFICATION BORDURES
|
|
CMP #$000B ; 12
|
|
BMI BX1 ; BORDU X GAUCH
|
|
INC BMPV
|
|
CMP #$0093 ; 146
|
|
BPL BX1 ; BORDU X DROIT
|
|
BORDU1 LDA BBY
|
|
CMP #$0015 ; 22
|
|
BMI BY1I ; BORDU Y HAUT
|
|
INC BMPH
|
|
CMP #$0086 ; 133
|
|
BPL BY1I ; BORDU Y BAS
|
|
STZ BMPH
|
|
STZ BMPV
|
|
JMP GO3
|
|
|
|
BY1I JMP BY1 ; INTERMEDIAIRE
|
|
|
|
BX1 LDA BBO
|
|
STA BBA
|
|
STA BBS
|
|
JSR TRANS ; BBA EN BBX ET BBY
|
|
LDA BMPV ; BUMPER ?
|
|
CMP #$0001
|
|
BNE BX14
|
|
JMP BX5
|
|
BX14 LDX #$000C ; 12
|
|
STX BX10+1
|
|
LDA LVBPA,X ;
|
|
CMP #$0000
|
|
BEQ BX6 ; LE PREMIER A ZERO ON CONTINUE
|
|
STA BX7+1
|
|
STA BX9+1
|
|
CLC
|
|
ADC #$0018 ; +24
|
|
STA BX8+1
|
|
LDA BBY
|
|
SEC
|
|
SBC #$0012 ; 18 RECTIFICATION
|
|
BX7 CMP #$0000 ; GAUCHE HAUT
|
|
BPL BX8
|
|
BRA BX6
|
|
BX8 CMP #$0000 ; GAUCHE BAS
|
|
BMI BX9
|
|
BX6 LDX #$000E ; 14
|
|
STX BX10+1
|
|
LDA LVBPA,X
|
|
CMP #$0000
|
|
BNE BX22 ; ON SORT
|
|
JMP BX11
|
|
BX22 STA BX12+1
|
|
STA BX9+1
|
|
CLC
|
|
ADC #$0018 ; +24
|
|
STA BX13+1
|
|
LDA BBY
|
|
SEC
|
|
SBC #$0012 ; 18 RECTIFICATION
|
|
BX12 CMP #$0000 ; GAUCHE HAUT
|
|
BPL BX13
|
|
JMP BX11
|
|
BX13 CMP #$0000 ; GAUCHE BAS
|
|
BMI BX9
|
|
JMP BX11
|
|
BX9 LDA #$0000 ; LVBPA
|
|
STA BPTRAC4+1
|
|
LDA #$0007 ; COULEUR BLEU
|
|
STA BPCOUL4+1
|
|
JSR BPTRAC4
|
|
JSR SOUND ; * * * * * * * * SON
|
|
LDA #$0003 ; COULEUR ROSE
|
|
STA BPCOUL4+1
|
|
LDA SCORE
|
|
CLC
|
|
ADC #$0010 ; SCORE +16 SI TOUCHE
|
|
STA SCORE
|
|
BX10 LDX #$0000
|
|
STZ LVBPA,X
|
|
JMP BX11
|
|
BX5 LDX #$0004 ; 4
|
|
STX BX21+1
|
|
LDA LVBPA,X ;
|
|
CMP #$0000
|
|
BEQ BX17 ; LE PREMIER A ZERO ON CONTINUE
|
|
STA BX15+1
|
|
STA BX20+1
|
|
CLC
|
|
ADC #$0018 ; +24
|
|
STA BX16+1
|
|
LDA BBY
|
|
SEC
|
|
SBC #$0012 ; 18 RECTIFICATION
|
|
BX15 CMP #$0000 ; GAUCHE HAUT
|
|
BPL BX16
|
|
BRA BX17
|
|
BX16 CMP #$0000 ; GAUCHE BAS
|
|
BMI BX20
|
|
BX17 LDX #$0006 ;
|
|
STX BX21+1
|
|
LDA LVBPA,X
|
|
CMP #$0000
|
|
BEQ BX11 ; ON SORT
|
|
STA BX18+1
|
|
STA BX20+1
|
|
CLC
|
|
ADC #$0018 ; +24
|
|
STA BX19+1
|
|
LDA BBY
|
|
SEC
|
|
SBC #$0012 ; 18 RECTIFICATION
|
|
BX18 CMP #$0000 ; GAUCHE HAUT
|
|
BPL BX19
|
|
JMP BX11
|
|
BX19 CMP #$0000 ; GAUCHE BAS
|
|
BMI BX20
|
|
JMP BX11
|
|
BX20 LDA #$0000 ; LVBPA
|
|
STA BPTRAC2+1
|
|
LDA #$0070 ; COULEUR BLEU
|
|
STA BPCOUL2+1
|
|
JSR BPTRAC2
|
|
JSR SOUND ; * * * * * * * * SON
|
|
LDA #$0030 ; COULEUR ROSE
|
|
STA BPCOUL2+1
|
|
LDA SCORE
|
|
CLC
|
|
ADC #$0010
|
|
STA SCORE ; SCORE +16
|
|
BX21 LDX #$0000
|
|
STZ LVBPA,X
|
|
BX11 STZ BMPV
|
|
LDA SVYI
|
|
CMP #$0001
|
|
BEQ BX2
|
|
LDA #$0001 ; TAB
|
|
STA SVYI
|
|
LDA SVY1
|
|
STA GO1+1
|
|
LDA LI
|
|
CMP #$0002
|
|
BNE BX3
|
|
INC INV
|
|
BRA BX3
|
|
BX2 STZ SVYI ; TAB1
|
|
LDA SVY
|
|
STA GO1+1
|
|
LDA LI1
|
|
CMP #$0002
|
|
BNE BX3
|
|
INC INV
|
|
BX3 LDA INV
|
|
CMP #$0001
|
|
BEQ BX4
|
|
JMP SB
|
|
BX4 JMP AD
|
|
|
|
|
|
BY1 LDA BBO
|
|
STA BBA
|
|
STA BBS
|
|
JSR TRANS ; BBA EN BBX ET BBY
|
|
LDA BMPH ; BUMPER ?
|
|
CMP #$0001
|
|
BNE BY14
|
|
JMP BY5
|
|
BY14 LDX #$0000 ;ON PREND LE PREMIER HAUT
|
|
STX BY10+1
|
|
LDA LVBPA,X ;
|
|
CMP #$0000
|
|
BEQ BY6 ; LE PREMIER A ZERO ON CONTINUE
|
|
STA BY7+1
|
|
STA BY9+1
|
|
CLC
|
|
ADC #$0010 ; 32/2 LONGUEUR BUMPER
|
|
STA BY8+1
|
|
LDA BBX
|
|
SEC
|
|
SBC #$0009 ; 9 RECTIFICATION ORIGINE
|
|
BY7 CMP #$0000 ; LVPBA HAUT GAUCHE
|
|
BPL BY8
|
|
BRA BY6
|
|
BY8 CMP #$0000 ; LVPBA+32/2 HAUT GAUCHE
|
|
BMI BY9
|
|
BY6 LDX #$0002 ; ON PREND LE DEUXIEME
|
|
STX BY10+1
|
|
LDA LVBPA,X
|
|
CMP #$0000
|
|
BNE BY22 ; ON SORT SI = 0
|
|
JMP BY11
|
|
BY22 STA BY12+1
|
|
STA BY9+1
|
|
CLC
|
|
ADC #$0010 ; 32/2 LONGUEUR BUMPER
|
|
STA BY13+1
|
|
LDA BBX
|
|
SEC
|
|
SBC #$0009 ; 9 RECTIFICATION ORIGINE
|
|
BY12 CMP #$0000 ; LVBPA HAUT DROITE
|
|
BPL BY13
|
|
JMP BY11
|
|
BY13 CMP #$0000 ; LVBPA+32/2 HAUT DROITE
|
|
BMI BY9
|
|
JMP BY11
|
|
BY9 LDA #$0000 ; LVBPA
|
|
STA BPTRAC1+1
|
|
LDA #$7777 ; COULEUR BLEU
|
|
STA BPCOUL1+1
|
|
JSR BPTRAC1
|
|
JSR SOUND ; * * * * * * * * * * SON
|
|
LDA #$3333 ; COULEUR ROSE
|
|
STA BPCOUL1+1
|
|
LDA SCORE
|
|
CLC
|
|
ADC #$0010
|
|
STA SCORE ; SCORE +10
|
|
BY10 LDX #$0000
|
|
STZ LVBPA,X
|
|
JMP BY11
|
|
BY5 LDX #$0008 ; 8 BAS DROITE
|
|
STX BY21+1
|
|
LDA LVBPA,X ;
|
|
CMP #$0000
|
|
BEQ BY17 ; LE PREMIER A ZERO ON CONTINUE
|
|
STA BY15+1
|
|
STA BY20+1
|
|
CLC
|
|
ADC #$0010 ; 32/2 LONGUEUR BUMPER
|
|
STA BY16+1
|
|
LDA BBX
|
|
SEC
|
|
SBC #$0009 ; 9 RECTIFICATION ORIGINE
|
|
BY15 CMP #$0000 ; LVBPA BAS DROITE
|
|
BPL BY16
|
|
BRA BY17
|
|
BY16 CMP #$0000 ; LVBPA BAS GAUCHE
|
|
BMI BY20
|
|
BY17 LDX #$000A ; LVBPA BAS GAUCHE
|
|
STX BY21+1
|
|
LDA LVBPA,X
|
|
CMP #$0000
|
|
BEQ BY11 ; ON SORT SI=0
|
|
STA BY18+1
|
|
STA BY20+1
|
|
CLC
|
|
ADC #$0010 ; 32/2 LONGUEUR BUMPER
|
|
STA BY19+1
|
|
LDA BBX
|
|
SEC
|
|
SBC #$0009 ; 9 RECTIFICATION ORIGINE
|
|
BY18 CMP #$0000 ; LVBPA BAS DROITE
|
|
BPL BY19
|
|
JMP BY11
|
|
BY19 CMP #$0000 ; LVBPA BAS DROITE
|
|
BMI BY20
|
|
JMP BY11
|
|
BY20 LDA #$0000 ; LVBPA
|
|
STA BPTRAC3+1
|
|
LDA #$7777 ; COULEUR BLEU
|
|
STA BPCOUL3+1
|
|
JSR BPTRAC3
|
|
JSR SOUND ; * * * * * * * * * * SON
|
|
LDA #$3333 ; COULEUR ROSE
|
|
STA BPCOUL3+1
|
|
LDA SCORE
|
|
CLC
|
|
ADC #$0010
|
|
STA SCORE ; SCORE +16
|
|
BY21 LDX #$0000
|
|
STZ LVBPA,X
|
|
BY11 STZ BMPH
|
|
LDA SVYI
|
|
CMP #$0001
|
|
BEQ BY2
|
|
LDA #$0001 ; TAB
|
|
STA SVYI
|
|
LDA SVY1
|
|
STA GO1+1
|
|
LDA LI
|
|
CMP #$0001
|
|
BNE BY3
|
|
INC INV
|
|
BRA BY3
|
|
BY2 STZ SVYI ; TAB1
|
|
LDA SVY
|
|
STA GO1+1
|
|
LDA LI1
|
|
CMP #$0001
|
|
BNE BY3
|
|
INC INV
|
|
BY3 LDA INV
|
|
CMP #$0001
|
|
BEQ BY4
|
|
JMP SB
|
|
BY4 JMP AD
|
|
|
|
************************************************************************************
|
|
************************************************************************************
|
|
|
|
AFF JSR TRABB ; ON AFFICHE LA BOULE BLANCHE
|
|
JSR WAIT
|
|
RTS
|
|
|
|
WAIT LDA DIST2 ; ATTENTE BOULE BLANCHE
|
|
LSR
|
|
LSR
|
|
LSR ; /2*2*2*2=16
|
|
LSR
|
|
STA WAIT2+1
|
|
LDA #$004F
|
|
SEC
|
|
WAIT2 SBC #$0000
|
|
STA WAIT3
|
|
BRA WAIT5
|
|
WAIT3 HEX 0000
|
|
WAIT5 CLC
|
|
XCE ; 8 BIT
|
|
SEP #$30
|
|
LDA WAIT3
|
|
JSR $FCA8
|
|
CLC
|
|
XCE ; 16 BIT
|
|
REP #$30
|
|
RTS
|
|
|
|
TRANS LDA BBA ; ON TRANSFORME BBA EN BBX ET BBY
|
|
STA TRANS1+1
|
|
LDX #$0000
|
|
LDY #$0000
|
|
TRANS1 LDA #$0000 ; BBA
|
|
CMP #$00A0
|
|
BMI TRANS2
|
|
SEC
|
|
SBC #$00A0
|
|
STA TRANS1+1
|
|
INY
|
|
BRA TRANS1
|
|
TRANS2 TAX
|
|
STX BBX
|
|
STY BBY
|
|
RTS
|
|
|
|
CLEAR LDA #$4444 ; NETTOYAGE BORD BILLARD
|
|
LDX #$008A
|
|
CL1 STAL $012969,X
|
|
STAL $017649,X
|
|
DEX
|
|
DEX
|
|
BPL CL1
|
|
LDX #$00A0
|
|
CL2 LDA #$5455 ;5455
|
|
STAL $012967,X
|
|
LDAL $E129F5,X
|
|
AND #$0FFF
|
|
ORA #$4000
|
|
STAL $0129F5,X
|
|
TXA
|
|
CLC
|
|
ADC #$00A0
|
|
TAX
|
|
CMP #$4CE0
|
|
BNE CL2
|
|
RTS
|
|
|
|
TIMETR LDA TIMEREG ; TIME TRACE
|
|
CMP #$0000
|
|
BEQ TIMETR5
|
|
DEC TIMEREG
|
|
RTS
|
|
TIMETR5 LDA #$0040 ; 40 EN REALITE *************************
|
|
STA TIMEREG
|
|
LDA TIME
|
|
CMP #$0000
|
|
BEQ TIMETR3
|
|
DEC TIME
|
|
BRA TIMETR4
|
|
TIMETR3 LDA MINU
|
|
CMP #$0000
|
|
BEQ TIMEFIN
|
|
DEC MINU
|
|
LDA #$003B ; 59
|
|
STA TIME
|
|
BRA TIMETR4
|
|
TIMEFIN STZ TIME
|
|
STZ MINU
|
|
LDA #$0001
|
|
STA PERDU ; TEMPS ECOULE
|
|
TIMETR4 LDX #$0000
|
|
LDY #$0000
|
|
LDA TIME ; SECONDE EN HEXA
|
|
STA TIMETR1+1
|
|
TIMETR1 LDA #$0000
|
|
CMP #$000A
|
|
BMI TIMETR2
|
|
SEC
|
|
SBC #$000A
|
|
INX
|
|
STA TIMETR1+1
|
|
BRA TIMETR1
|
|
TIMETR2 TAY
|
|
STY TIM2 ; CHIFFRE DES UNITES
|
|
STX TIM1 ; CHIFFRE DES DIZAINES
|
|
STX CHIFR
|
|
LDA #$8A30
|
|
STA CHITR1+1
|
|
JSR CHITR
|
|
LDA TIM2
|
|
STA CHIFR
|
|
LDA #$8A32
|
|
STA CHITR1+1
|
|
JSR CHITR
|
|
LDA MINU
|
|
STA CHIFR
|
|
LDA #$8A2D
|
|
STA CHITR1+1
|
|
JSR CHITR
|
|
RTS
|
|
|
|
LEVTR LDX #$0000 ; LEVEL TRACE
|
|
LDY #$0000
|
|
LDA LEVEL ; LEVEL EN HEXA
|
|
STA LEVTR1+1
|
|
CMP #$000A
|
|
BEQ LEVTR01
|
|
CMP #$0014 ; 20
|
|
BEQ LEVTR01
|
|
CMP #$001E ; 30
|
|
BEQ LEVTR01
|
|
CMP #$0028 ; 40
|
|
BNE LEVTR02
|
|
LEVTR01 LDA TIMEMAR
|
|
CMP #$0001
|
|
BEQ LEVTR1
|
|
INC TIMEMAR
|
|
STZ TIME
|
|
LDA #$0009
|
|
STA MINU
|
|
BRA LEVTR1
|
|
LEVTR02 STZ TIMEMAR
|
|
LEVTR1 LDA #$0000
|
|
CMP #$000A
|
|
BMI LEVTR2
|
|
SEC
|
|
SBC #$000A
|
|
INX
|
|
STA LEVTR1+1
|
|
BRA LEVTR1
|
|
LEVTR2 TAY
|
|
STY LEV2 ; CHIFFRE DES UNITES
|
|
STX LEV1 ; CHIFFRE DES DIZAINES
|
|
STX LCH
|
|
LDA #$8956
|
|
STA LCHTR1+1
|
|
LDA #$8958
|
|
STA LCHTR5+1
|
|
JSR LCHTR
|
|
LDA LEV2
|
|
STA LCH
|
|
LDA #$895A
|
|
STA LCHTR1+1
|
|
LDA #$895C
|
|
STA LCHTR5+1
|
|
JSR LCHTR
|
|
RTS
|
|
|
|
SCRTR LDX #$0000 ; SCORE TRACE
|
|
LDY #$0000
|
|
LDA SCORE
|
|
STA SCRTR1+1
|
|
SCRTR1 LDA #$0000 ; SCORE
|
|
CMP #$000A
|
|
BMI SCRTR2
|
|
SEC
|
|
SBC #$000A
|
|
INX
|
|
STA SCRTR1+1
|
|
BRA SCRTR1
|
|
SCRTR2 TAY ; UNITES
|
|
STY SCR1
|
|
STX SCRTR3+1
|
|
LDX #$0000
|
|
LDY #$0000
|
|
SCRTR3 LDA #$0000
|
|
CMP #$000A
|
|
BMI SCRTR4
|
|
SEC
|
|
SBC #$000A
|
|
INX
|
|
STA SCRTR3+1
|
|
BRA SCRTR3
|
|
SCRTR4 TAY
|
|
STY SCR2
|
|
STX SCRTR5+1
|
|
LDX #$0000
|
|
LDY #$0000
|
|
SCRTR5 LDA #$0000
|
|
CMP #$000A
|
|
BMI SCRTR6
|
|
SEC
|
|
SBC #$000A
|
|
INX
|
|
STA SCRTR5+1
|
|
BRA SCRTR5
|
|
SCRTR6 TAY
|
|
STY SCR3
|
|
STX SCRTR7+1
|
|
LDX #$0000
|
|
LDY #$0000
|
|
SCRTR7 LDA #$0000
|
|
CMP #$000A
|
|
BMI SCRTR8
|
|
SEC
|
|
SBC #$000A
|
|
INX
|
|
STA SCRTR7+1
|
|
BRA SCRTR7
|
|
SCRTR8 TAY
|
|
STY SCR4
|
|
STX SCR5
|
|
LDA SCR1
|
|
STA CHIFR
|
|
LDA #$89C7
|
|
STA CHITR1+1
|
|
JSR CHITR
|
|
LDA SCR2
|
|
STA CHIFR
|
|
LDA #$89C5
|
|
STA CHITR1+1
|
|
JSR CHITR
|
|
LDA SCR3
|
|
STA CHIFR
|
|
LDA #$89C3
|
|
STA CHITR1+1
|
|
JSR CHITR
|
|
LDA SCR4
|
|
STA CHIFR
|
|
LDA #$89C1
|
|
STA CHITR1+1
|
|
JSR CHITR
|
|
LDA SCR5
|
|
STA CHIFR
|
|
LDA #$89BF
|
|
STA CHITR1+1
|
|
JSR CHITR
|
|
STZ CHIFR
|
|
LDA #$89BD
|
|
STA CHITR1+1
|
|
JSR CHITR
|
|
RTS
|
|
|
|
CHITR LDY #$0000 ; CHIFFRE TRACE
|
|
LDA CHIFR
|
|
ASL
|
|
ASL ; *5
|
|
CLC
|
|
ADC CHIFR
|
|
ASL
|
|
TAX
|
|
CHITR2 LDA CHI,X
|
|
CHITR1 STAL $012000
|
|
INX
|
|
INX
|
|
LDA CHITR1+1
|
|
CLC
|
|
ADC #$00A0
|
|
STA CHITR1+1
|
|
INY
|
|
CPY #$0005
|
|
BNE CHITR2
|
|
RTS
|
|
CHIFR HEX 0000 ; COMPRIS ENTRE 0 ET 9
|
|
|
|
LCHTR LDY #$0000 ; LEVEL CHIFFRE TRACE
|
|
LDA LCH
|
|
ASL
|
|
ASL
|
|
ASL
|
|
ASL
|
|
SEC
|
|
SBC LCH
|
|
SEC ; *14
|
|
SBC LCH
|
|
STA LCHTR3+1
|
|
ASL
|
|
TAX
|
|
LCHTR2 LDA LVL,X
|
|
LCHTR1 STAL $012000
|
|
INX
|
|
INX
|
|
LDA LCHTR1+1
|
|
CLC
|
|
ADC #$00A0
|
|
STA LCHTR1+1
|
|
INY
|
|
CPY #$0007
|
|
BNE LCHTR2
|
|
LDY #$0000
|
|
LCHTR3 LDA #$0000
|
|
CLC
|
|
ADC #$0007
|
|
ASL
|
|
TAX
|
|
LCHTR4 LDA LVL,X
|
|
LCHTR5 STAL $012000
|
|
INX
|
|
INX
|
|
LDA LCHTR5+1
|
|
CLC
|
|
ADC #$00A0
|
|
STA LCHTR5+1
|
|
INY
|
|
CPY #$0007
|
|
BNE LCHTR4
|
|
RTS
|
|
LCH HEX 0000 ; COMPRIS ENTRE 0 ET 9
|
|
|
|
BPTR LDA LEVEL ; BUMPER TRACE
|
|
ASL
|
|
ASL ; *8
|
|
ASL
|
|
ASL ; ENTREE TABLE
|
|
TAX
|
|
STX BPTRCOP1+1
|
|
LDY #$0000
|
|
BPTRCOP LDA LVBP,X
|
|
STA LVBPA,Y
|
|
INX
|
|
INX ; ON COPIE LE LEVEL DANS LVBPA
|
|
INY
|
|
INY
|
|
CPY #$0010
|
|
BMI BPTRCOP
|
|
BPTRCOP1 LDX #$0000
|
|
STX BPTR1+1
|
|
LDA LVBP,X ;
|
|
CMP #$0000
|
|
BEQ BPTR1
|
|
STA BPTRAC1+1
|
|
JSR BPTRAC1
|
|
BPTR1 LDX #$0000
|
|
INX
|
|
INX
|
|
STX BPTR2+1
|
|
LDA LVBP,X
|
|
CMP #$0000
|
|
BEQ BPTR2
|
|
STA BPTRAC1+1
|
|
JSR BPTRAC1
|
|
BPTR2 LDX #$0000
|
|
INX
|
|
INX
|
|
STX BPTR3+1
|
|
LDA LVBP,X
|
|
CMP #$0000
|
|
BEQ BPTR3
|
|
STA BPTRAC2+1
|
|
JSR BPTRAC2
|
|
BPTR3 LDX #$0000
|
|
INX
|
|
INX
|
|
STX BPTR4+1
|
|
LDA LVBP,X
|
|
CMP #$0000
|
|
BEQ BPTR4
|
|
STA BPTRAC2+1
|
|
JSR BPTRAC2
|
|
BPTR4 LDX #$0000
|
|
INX
|
|
INX
|
|
STX BPTR5+1
|
|
LDA LVBP,X
|
|
CMP #$0000
|
|
BEQ BPTR5
|
|
STA BPTRAC3+1
|
|
JSR BPTRAC3
|
|
BPTR5 LDX #$0000
|
|
INX
|
|
INX
|
|
STX BPTR6+1
|
|
LDA LVBP,X
|
|
CMP #$0000
|
|
BEQ BPTR6
|
|
STA BPTRAC3+1
|
|
JSR BPTRAC3
|
|
BPTR6 LDX #$0000
|
|
INX
|
|
INX
|
|
STX BPTR7+1
|
|
LDA LVBP,X
|
|
CMP #$0000
|
|
BEQ BPTR7
|
|
STA BPTRAC4+1
|
|
JSR BPTRAC4
|
|
BPTR7 LDX #$0000
|
|
INX
|
|
INX
|
|
LDA LVBP,X
|
|
CMP #$0000
|
|
BEQ BPTR8
|
|
STA BPTRAC4+1
|
|
JSR BPTRAC4
|
|
BPTR8 RTS
|
|
|
|
BPTRAC1 LDA #$0000 ; TRACE HAUT
|
|
CLC
|
|
ADC #$0969
|
|
TAX
|
|
LDY #$0000
|
|
BPCOUL1 LDA #$3333 ; COULEUR
|
|
BPTRAC12 STAL $012000,X
|
|
INX
|
|
INX
|
|
INY
|
|
CPY #$0008
|
|
BMI BPTRAC12
|
|
RTS
|
|
BPTRAC2 LDA #$0000 ; TRACE DROITE
|
|
ASL
|
|
TAX
|
|
LDA TABLE,X
|
|
CLC
|
|
ADC #$2A96
|
|
STA BPTRAC22+1
|
|
STA BPTRAC23+1
|
|
LDY #$0000
|
|
BPTRAC22 LDAL $012000
|
|
AND #$FF0F
|
|
BPCOUL2 ORA #$0030
|
|
BPTRAC23 STAL $012000
|
|
LDA BPTRAC22+1
|
|
CLC
|
|
ADC #$00A0
|
|
STA BPTRAC22+1
|
|
STA BPTRAC23+1
|
|
INY
|
|
CPY #$0018
|
|
BMI BPTRAC22
|
|
RTS
|
|
BPTRAC3 LDA #$0000 ; TRACE BAS
|
|
CLC
|
|
ADC #$5649
|
|
TAX
|
|
LDY #$0000
|
|
BPCOUL3 LDA #$3333 ; COULEUR
|
|
BPTRAC32 STAL $012000,X
|
|
INX
|
|
INX
|
|
INY
|
|
CPY #$0008
|
|
BMI BPTRAC32
|
|
RTS
|
|
BPTRAC4 LDA #$0000 ; TRACE GAUCHE
|
|
ASL
|
|
TAX
|
|
LDA TABLE,X
|
|
CLC
|
|
ADC #$2A08
|
|
STA BPTRAC42+1
|
|
STA BPTRAC43+1
|
|
LDY #$0000
|
|
BPTRAC42 LDAL $012000
|
|
AND #$FFF0
|
|
BPCOUL4 ORA #$0003
|
|
BPTRAC43 STAL $012000
|
|
LDA BPTRAC42+1
|
|
CLC
|
|
ADC #$00A0
|
|
STA BPTRAC42+1
|
|
STA BPTRAC43+1
|
|
INY
|
|
CPY #$0018
|
|
BMI BPTRAC42
|
|
RTS
|
|
|
|
GAGNE LDX #$0000
|
|
GAGNE1 LDA LVBPA,X
|
|
CMP #$0000
|
|
BEQ GAGNE2
|
|
STZ GAGN
|
|
RTS
|
|
GAGNE2 INX
|
|
INX
|
|
CPX #$0010
|
|
BMI GAGNE1
|
|
LDA #$0001
|
|
STA GAGN
|
|
RTS
|
|
|
|
*****************************************
|
|
|
|
*-------------------------------
|
|
* play a sample
|
|
*-------------------------------
|
|
|
|
SOUND clc
|
|
xce
|
|
rep #$30
|
|
LDA ZICJEU
|
|
CMP #$0001
|
|
BNE SOUND1
|
|
RTS
|
|
SOUND1 LDA $C03B
|
|
AND #$F0FF
|
|
ORA SND
|
|
STA $C03B
|
|
|
|
*-------------------------------
|
|
* met le son en ram son
|
|
*-------------------------------
|
|
|
|
* ldal $e100ca
|
|
* and #%00001111
|
|
* ora #%01100000
|
|
* sta $c03c
|
|
* stz $c03e
|
|
* stz $c03f
|
|
|
|
*-------------------------------
|
|
* joue le son en ram son
|
|
*-------------------------------
|
|
|
|
clc
|
|
xce
|
|
sep #$20
|
|
stz $c03e
|
|
stz $c03f
|
|
|
|
lda #$00 ; oscillo 0, frequence bas
|
|
sta $c03e
|
|
lda #$60
|
|
sta $c03d
|
|
|
|
lda #$20 ; oscillo 0, frequence haut
|
|
sta $c03e
|
|
lda #$00
|
|
sta $c03d
|
|
|
|
lda #$40 ; oscillo 0, volume
|
|
sta $c03e
|
|
lda #$ff
|
|
sta $c03d
|
|
|
|
lda #$80 ; oscillo 0, adresse sound
|
|
sta $c03e
|
|
lda #$80 ; son en $8000 en ram son
|
|
sta $c03d
|
|
|
|
lda #$c0 ; oscillo 0, taille du son
|
|
sta $c03e
|
|
lda #%00101101 ; longueur du son $1700
|
|
sta $c03d
|
|
|
|
lda #$a0 ; oscillo 0, registre de controle
|
|
sta $c03e
|
|
lda #%00000010
|
|
sta $c03d ; mode one-shot
|
|
|
|
clc
|
|
xce
|
|
rep #$30
|
|
rts
|
|
|
|
**************************************************
|
|
|
|
PUT TABLE
|
|
|