2023-12-29 09:09:50 +00:00
|
|
|
|
*
|
|
|
|
|
* Le retour du Dr Genius
|
|
|
|
|
*
|
|
|
|
|
* (c) 1983, Loriciels
|
|
|
|
|
* (c) 2023, Brutal Deluxe Software (Apple II)
|
|
|
|
|
*
|
|
|
|
|
|
|
|
|
|
mx %11
|
|
|
|
|
lst off
|
|
|
|
|
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
* SOFTSWITCHES AND FRIENDS
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
|
|
|
|
WNDTOP = $22 ; top of text window
|
|
|
|
|
WNDBTM = $23 ; bottom+1 of text window
|
|
|
|
|
CH = $24 ; cursor horizontal position
|
|
|
|
|
CV = $25 ; cursor vertical position
|
|
|
|
|
LINNUM = $50 ; result from GETADR
|
|
|
|
|
X0L = $e0 ; X-coord
|
|
|
|
|
X0H = $e1
|
|
|
|
|
Y0 = $e2 ; Y-coord
|
|
|
|
|
|
|
|
|
|
nbOaP = 10 ; on peut porter dix objets
|
|
|
|
|
|
|
|
|
|
chrLA = $88
|
|
|
|
|
chrRA = $95
|
|
|
|
|
chrDEL = $ff
|
|
|
|
|
chrRET = $8d
|
|
|
|
|
chrSPC = $a0
|
|
|
|
|
TEXTBUFFER = $200
|
|
|
|
|
maxLEN = 20
|
|
|
|
|
|
|
|
|
|
chrOUI = "O"
|
|
|
|
|
chrNON = "N"
|
|
|
|
|
|
|
|
|
|
idxCASSE = 200
|
|
|
|
|
idxTIMER = 201
|
|
|
|
|
|
|
|
|
|
*--- The firmware routines
|
|
|
|
|
|
2023-12-31 21:49:51 +00:00
|
|
|
|
*HGR = $F3E2 ; HGR
|
|
|
|
|
*HPLOT = $F457 ; HPLOT
|
|
|
|
|
*HILIN = $F53A ; HPLOT TO
|
|
|
|
|
*HCOLOR = $F6E9 ; HCOLOR= (call+3)
|
|
|
|
|
*INIT = $FB2F
|
|
|
|
|
*TABV = $FB5B
|
|
|
|
|
*HOME = $FC58
|
|
|
|
|
*WAIT = $FCA8
|
|
|
|
|
*RDKEY = $FD0C
|
2023-12-29 09:09:50 +00:00
|
|
|
|
*GETLN1 = $FD6F ; using mine now
|
|
|
|
|
COUT = $FDED
|
|
|
|
|
IDROUTINE = $FE1F
|
|
|
|
|
SETNORM = $FE84
|
|
|
|
|
SETKBD = $FE89
|
|
|
|
|
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
* MACROS
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
|
|
|
|
@draw mac
|
|
|
|
|
lda #]1
|
|
|
|
|
jsr showPIC
|
|
|
|
|
eom
|
|
|
|
|
|
|
|
|
|
@explode mac
|
|
|
|
|
jsr EXPLODE
|
|
|
|
|
eom
|
|
|
|
|
|
|
|
|
|
@play mac
|
|
|
|
|
ldx #>]1
|
|
|
|
|
ldy #<]1
|
|
|
|
|
jsr playMUSIC
|
|
|
|
|
eom
|
|
|
|
|
|
|
|
|
|
@print mac
|
|
|
|
|
ldx #>]1
|
|
|
|
|
ldy #<]1
|
|
|
|
|
jsr printCSTRING
|
|
|
|
|
eom
|
|
|
|
|
|
|
|
|
|
@wait mac
|
2023-12-31 20:27:37 +00:00
|
|
|
|
lda #>]1
|
2023-12-29 09:09:50 +00:00
|
|
|
|
ldy #<]1
|
|
|
|
|
jsr waitMS
|
|
|
|
|
eom
|
|
|
|
|
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
* CODE BASIC EN ASM :-)
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
2024-01-01 07:25:27 +00:00
|
|
|
|
PLAY sep #$30
|
|
|
|
|
|
|
|
|
|
jsr initALL
|
2023-12-29 09:09:50 +00:00
|
|
|
|
jsr HGR
|
|
|
|
|
|
2023-12-31 21:49:51 +00:00
|
|
|
|
* jsr HOME ; clear text screen
|
|
|
|
|
* lda #0 ; move cursor to 0,20
|
|
|
|
|
* sta CH
|
|
|
|
|
* lda #20
|
|
|
|
|
* jsr TABV
|
2023-12-29 09:09:50 +00:00
|
|
|
|
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
* DU BASIC A L'ASSEMBLEUR (BEURK)
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
|
|
|
|
:100 ldx #2
|
|
|
|
|
lda #0
|
|
|
|
|
sta P,x
|
|
|
|
|
|
|
|
|
|
lda SALLE
|
|
|
|
|
cmp #10
|
|
|
|
|
beq :100_OK
|
|
|
|
|
cmp #22
|
|
|
|
|
beq :100_OK
|
|
|
|
|
cmp #54
|
|
|
|
|
beq :100_OK
|
|
|
|
|
cmp #15
|
|
|
|
|
bne :105
|
|
|
|
|
|
|
|
|
|
:100_OK lda #1
|
|
|
|
|
sta P,x
|
|
|
|
|
|
|
|
|
|
:105 ldx #10
|
|
|
|
|
lda O,x
|
|
|
|
|
cmp SALLE
|
|
|
|
|
beq :200
|
|
|
|
|
cmp #-1
|
|
|
|
|
beq :200
|
|
|
|
|
|
|
|
|
|
ldx #2 ; :106
|
|
|
|
|
lda P,x
|
|
|
|
|
beq :200
|
|
|
|
|
|
|
|
|
|
ldx #9 ; :115
|
|
|
|
|
lda C,x
|
|
|
|
|
cmp #2
|
|
|
|
|
bcc :130
|
|
|
|
|
dec C,x
|
|
|
|
|
|
|
|
|
|
:130 jsr HGR
|
|
|
|
|
jsr setMIXEDON
|
|
|
|
|
@print #strILFAITNOIR
|
|
|
|
|
jmp :500
|
|
|
|
|
|
2023-12-29 20:39:04 +00:00
|
|
|
|
:140 jsr HGR
|
|
|
|
|
jsr setMIXEDON
|
|
|
|
|
@print #strVOSYEUX
|
|
|
|
|
jmp :500
|
|
|
|
|
|
2023-12-29 09:09:50 +00:00
|
|
|
|
*-----------------------------------
|
|
|
|
|
* 200 - description salle
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
|
|
|
|
:200 jsr setHGR
|
|
|
|
|
|
|
|
|
|
* @print #strRETURN
|
|
|
|
|
|
|
|
|
|
lda SALLE
|
|
|
|
|
asl
|
|
|
|
|
tax
|
|
|
|
|
lda tbl7000,x
|
|
|
|
|
sta :222+1
|
|
|
|
|
lda tbl7000+1,x
|
|
|
|
|
sta :222+2
|
|
|
|
|
|
|
|
|
|
:222 jsr $bdbd
|
|
|
|
|
jsr setMIXEDON
|
|
|
|
|
|
|
|
|
|
:300 lda #0
|
|
|
|
|
sta H
|
|
|
|
|
sta HH ; for comma
|
|
|
|
|
lda #1
|
|
|
|
|
sta N
|
|
|
|
|
|
|
|
|
|
:310 ldx N
|
|
|
|
|
lda O,x
|
|
|
|
|
cmp SALLE
|
|
|
|
|
bne :400
|
|
|
|
|
|
|
|
|
|
lda H
|
|
|
|
|
bne :350
|
|
|
|
|
|
|
|
|
|
@print #strILYA
|
|
|
|
|
|
|
|
|
|
inc H
|
|
|
|
|
|
|
|
|
|
:350 lda HH
|
|
|
|
|
beq :360
|
|
|
|
|
|
|
|
|
|
@print #strCOMMA
|
|
|
|
|
|
|
|
|
|
:360 @print #strSPACE
|
|
|
|
|
|
|
|
|
|
lda N
|
|
|
|
|
asl
|
|
|
|
|
tax
|
|
|
|
|
ldy tblO$,x
|
|
|
|
|
lda tblO$+1,x
|
|
|
|
|
tax
|
|
|
|
|
jsr printCSTRING
|
|
|
|
|
|
|
|
|
|
inc HH
|
|
|
|
|
|
|
|
|
|
:400 inc N
|
|
|
|
|
lda N
|
|
|
|
|
cmp #nbO
|
|
|
|
|
bcc :310
|
|
|
|
|
beq :310
|
|
|
|
|
|
|
|
|
|
@print #strRETURN
|
|
|
|
|
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
* 500 - ACCEPTATION COMMANDE
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
|
|
|
|
:500 ldx #1
|
|
|
|
|
lda C,x
|
|
|
|
|
cmp #2
|
|
|
|
|
bcc :501
|
|
|
|
|
dec C,x
|
|
|
|
|
|
|
|
|
|
:501 ldx #2
|
|
|
|
|
lda C,x
|
|
|
|
|
cmp #2
|
|
|
|
|
bcc :502
|
|
|
|
|
dec C,x
|
|
|
|
|
|
|
|
|
|
:502 ldx #4
|
|
|
|
|
lda C,x
|
|
|
|
|
cmp #2
|
|
|
|
|
bcc :503
|
|
|
|
|
dec C,x
|
|
|
|
|
|
|
|
|
|
:503 ldx #6
|
|
|
|
|
lda C,x
|
|
|
|
|
cmp #2
|
|
|
|
|
bcc :504
|
|
|
|
|
dec C,x
|
|
|
|
|
|
|
|
|
|
:504 ldx #10
|
|
|
|
|
lda O,x
|
|
|
|
|
cmp SALLE
|
|
|
|
|
beq :505
|
|
|
|
|
cmp #-1
|
|
|
|
|
bne :510
|
|
|
|
|
|
|
|
|
|
:505 ldx #3
|
|
|
|
|
lda C,x
|
|
|
|
|
cmp #2
|
|
|
|
|
bcc :510
|
|
|
|
|
dec C,x
|
|
|
|
|
|
|
|
|
|
:510 lda #1
|
|
|
|
|
sta T
|
|
|
|
|
lda #0
|
|
|
|
|
sta N
|
|
|
|
|
jmp :1000
|
|
|
|
|
|
2023-12-29 20:39:04 +00:00
|
|
|
|
:530 @print #strCOMMANDE ; commande avec energie
|
2023-12-29 09:09:50 +00:00
|
|
|
|
|
|
|
|
|
:535 jsr GETLN1
|
|
|
|
|
jsr rewriteSTRING ; from lower to upper
|
|
|
|
|
jsr :6000 ; cherche les mots
|
|
|
|
|
|
|
|
|
|
lda MO$1
|
|
|
|
|
bne :900
|
|
|
|
|
|
2023-12-29 20:39:04 +00:00
|
|
|
|
@print #strJENECOMPRENDS
|
2023-12-29 09:09:50 +00:00
|
|
|
|
jmp :100
|
|
|
|
|
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
* 900 - CONTROLES APPLE II
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
|
|
|
|
:900 cmp #idxCASSE
|
|
|
|
|
bne :910
|
|
|
|
|
|
|
|
|
|
jsr switchCASE
|
|
|
|
|
jmp :100
|
|
|
|
|
|
|
|
|
|
:910 cmp #idxTIMER
|
|
|
|
|
bne :915
|
|
|
|
|
|
|
|
|
|
jsr switchENERGIE
|
|
|
|
|
jmp :100
|
|
|
|
|
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
* 910 - CONTROLE MVT
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
|
|
|
|
:915 ldy #0
|
|
|
|
|
|
|
|
|
|
:920 lda SALLE ; T$=MID(M$(SALLE),Z,2)
|
|
|
|
|
asl
|
|
|
|
|
tax
|
|
|
|
|
lda tblM$,x
|
|
|
|
|
sta LINNUM
|
|
|
|
|
lda tblM$+1,x
|
|
|
|
|
sta LINNUM+1
|
|
|
|
|
|
|
|
|
|
lda (LINNUM),y
|
|
|
|
|
beq :980
|
|
|
|
|
cmp MO$1
|
|
|
|
|
bne :970
|
|
|
|
|
|
|
|
|
|
:950 iny
|
|
|
|
|
lda (LINNUM),y
|
|
|
|
|
sta SALLE
|
|
|
|
|
jmp :100
|
|
|
|
|
|
|
|
|
|
:970 iny
|
|
|
|
|
iny
|
|
|
|
|
bne :920
|
|
|
|
|
|
|
|
|
|
:980 lda #0
|
|
|
|
|
sta T
|
|
|
|
|
sta A1
|
|
|
|
|
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
* 1000 - CONTROLE
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
|
|
|
|
:1000 lda #0
|
|
|
|
|
sta NL
|
|
|
|
|
|
|
|
|
|
:1100 inc NL
|
|
|
|
|
|
|
|
|
|
lda T
|
|
|
|
|
beq :1150
|
|
|
|
|
|
|
|
|
|
lda NL ; E$=C$(NL)
|
|
|
|
|
asl
|
|
|
|
|
tax
|
|
|
|
|
lda tblC$,x
|
|
|
|
|
sta LINNUM
|
|
|
|
|
lda tblC$+1,x
|
|
|
|
|
sta LINNUM+1
|
|
|
|
|
|
|
|
|
|
ldy #0
|
|
|
|
|
lda (LINNUM),y
|
|
|
|
|
tax
|
|
|
|
|
]lp lda (LINNUM),y
|
|
|
|
|
sta E$,y
|
|
|
|
|
iny
|
|
|
|
|
dex
|
|
|
|
|
bpl ]lp
|
|
|
|
|
jmp :1400
|
|
|
|
|
|
|
|
|
|
:1150 lda NL
|
|
|
|
|
cmp #AA
|
|
|
|
|
bcc :1200
|
|
|
|
|
beq :1200
|
|
|
|
|
|
|
|
|
|
lda A1
|
|
|
|
|
cmp #1
|
|
|
|
|
bne :1170
|
|
|
|
|
jmp :500
|
|
|
|
|
|
|
|
|
|
:1170 @print #strIMPOSSIBLE
|
|
|
|
|
|
|
|
|
|
lda MO$1 ; les directions
|
|
|
|
|
cmp #10+1
|
|
|
|
|
bcs :1190
|
|
|
|
|
|
|
|
|
|
@print #strCECHEMIN
|
|
|
|
|
|
|
|
|
|
:1190 @print #strEXCLAM
|
|
|
|
|
jmp :100
|
|
|
|
|
|
|
|
|
|
:1200 ldx NL
|
|
|
|
|
lda tblA1,x
|
|
|
|
|
cmp MO$1
|
|
|
|
|
beq :1210
|
|
|
|
|
jmp :1100
|
|
|
|
|
|
|
|
|
|
:1210 lda tblA2,x
|
|
|
|
|
beq :1230
|
|
|
|
|
cmp MO$2
|
|
|
|
|
beq :1230
|
|
|
|
|
jmp :1100
|
|
|
|
|
|
|
|
|
|
:1230 lda tblAL$,x
|
|
|
|
|
sta LINNUM
|
|
|
|
|
lda tblAH$,x
|
|
|
|
|
sta LINNUM+1
|
|
|
|
|
|
|
|
|
|
ldy #0
|
|
|
|
|
lda (LINNUM),y
|
|
|
|
|
tax
|
|
|
|
|
]lp lda (LINNUM),y
|
|
|
|
|
sta E$,y
|
|
|
|
|
iny
|
|
|
|
|
dex
|
|
|
|
|
bpl ]lp
|
|
|
|
|
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
* 1400 - CONDITIONS
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
|
|
|
|
:1400 lda #1
|
|
|
|
|
sta E
|
|
|
|
|
|
|
|
|
|
:1420 ldx E
|
|
|
|
|
lda E$,x
|
|
|
|
|
cmp #"."
|
|
|
|
|
bne :1430
|
|
|
|
|
jmp :1700 ; do actions
|
|
|
|
|
|
|
|
|
|
:1430 sec
|
|
|
|
|
sbc #"A"
|
|
|
|
|
asl
|
|
|
|
|
pha
|
|
|
|
|
|
|
|
|
|
lda #0
|
|
|
|
|
sta OK
|
|
|
|
|
|
|
|
|
|
lda E$+1,x
|
|
|
|
|
sec
|
|
|
|
|
sbc #"0"
|
|
|
|
|
tay
|
|
|
|
|
lda tblD2H,y
|
|
|
|
|
sta N
|
|
|
|
|
|
|
|
|
|
lda E$+2,x
|
|
|
|
|
sec
|
|
|
|
|
sbc #"0"
|
|
|
|
|
clc
|
|
|
|
|
adc N
|
|
|
|
|
sta N
|
|
|
|
|
|
|
|
|
|
pla
|
|
|
|
|
tax
|
|
|
|
|
lda tbl1500,x
|
|
|
|
|
sta :1450+1
|
|
|
|
|
lda tbl1500+1,x
|
|
|
|
|
sta :1450+2
|
|
|
|
|
|
|
|
|
|
:1450 jsr $bdbd
|
|
|
|
|
|
|
|
|
|
lda OK
|
|
|
|
|
bne :1470
|
|
|
|
|
jmp :1100
|
|
|
|
|
|
|
|
|
|
:1470 lda E
|
|
|
|
|
clc
|
|
|
|
|
adc #3
|
|
|
|
|
sta E
|
|
|
|
|
jmp :1420
|
|
|
|
|
|
|
|
|
|
*--------
|
|
|
|
|
|
|
|
|
|
tbl1500 da :1500,:1510,:1520,:1530,:1540
|
|
|
|
|
da :1550,:1560,:1570,:1580
|
|
|
|
|
|
|
|
|
|
*-------- A
|
|
|
|
|
|
|
|
|
|
:1500 lda N
|
|
|
|
|
cmp SALLE
|
|
|
|
|
bne :1505
|
|
|
|
|
lda #1
|
|
|
|
|
sta OK
|
|
|
|
|
:1505 rts
|
|
|
|
|
|
|
|
|
|
*-------- B
|
|
|
|
|
|
|
|
|
|
:1510 ldx N
|
|
|
|
|
lda O,x
|
|
|
|
|
cmp #-1
|
|
|
|
|
beq :1515
|
|
|
|
|
cmp SALLE
|
|
|
|
|
bne :1516
|
|
|
|
|
:1515 lda #1
|
|
|
|
|
sta OK
|
|
|
|
|
:1516 rts
|
|
|
|
|
|
|
|
|
|
*-------- C
|
|
|
|
|
|
|
|
|
|
:1520 ldx N
|
|
|
|
|
lda O,x
|
|
|
|
|
cmp SALLE
|
|
|
|
|
bne :1525
|
|
|
|
|
rts
|
|
|
|
|
:1525 cmp #-1
|
|
|
|
|
bne :1527
|
|
|
|
|
rts
|
|
|
|
|
:1527 lda #1
|
|
|
|
|
sta OK
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
*-------- D
|
|
|
|
|
|
|
|
|
|
:1530 ldx N
|
|
|
|
|
lda O,x
|
|
|
|
|
cmp #-1
|
|
|
|
|
bne :1535
|
|
|
|
|
lda #1
|
|
|
|
|
sta OK
|
|
|
|
|
:1535 rts
|
|
|
|
|
|
|
|
|
|
*-------- E
|
|
|
|
|
|
|
|
|
|
:1540 ldx N
|
|
|
|
|
lda P,x
|
|
|
|
|
cmp #1
|
|
|
|
|
bne :1545
|
|
|
|
|
lda #1
|
|
|
|
|
sta OK
|
|
|
|
|
:1545 rts
|
|
|
|
|
|
|
|
|
|
*-------- F
|
|
|
|
|
|
|
|
|
|
:1550 ldx N
|
|
|
|
|
lda P,x
|
|
|
|
|
bne :1555
|
|
|
|
|
lda #1
|
|
|
|
|
sta OK
|
|
|
|
|
:1555 rts
|
|
|
|
|
|
|
|
|
|
*-------- G
|
|
|
|
|
|
|
|
|
|
:1560 ldx N
|
|
|
|
|
lda C,x
|
|
|
|
|
cmp #1
|
|
|
|
|
bne :1565
|
|
|
|
|
lda #1
|
|
|
|
|
sta OK
|
|
|
|
|
:1565 rts
|
|
|
|
|
|
|
|
|
|
*-------- H
|
|
|
|
|
|
|
|
|
|
:1570 rts
|
|
|
|
|
* lda VBL ; LOGO - Use a better RND?
|
|
|
|
|
* eor VERTCNT
|
|
|
|
|
* cmp N
|
|
|
|
|
* bcs :1575
|
|
|
|
|
* lda #1
|
|
|
|
|
* sta OK
|
|
|
|
|
*:1575 rts
|
|
|
|
|
|
|
|
|
|
*-------- I
|
|
|
|
|
|
|
|
|
|
:1580 lda N
|
|
|
|
|
cmp SALLE
|
|
|
|
|
beq :1585
|
|
|
|
|
lda #1
|
|
|
|
|
sta OK
|
|
|
|
|
:1585 rts
|
|
|
|
|
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
* 1700 - ACTIONS
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
|
|
|
|
:1700 inc E
|
|
|
|
|
|
|
|
|
|
lda #1
|
|
|
|
|
sta A1
|
|
|
|
|
|
|
|
|
|
:1710 ldx E
|
|
|
|
|
lda E$,x
|
|
|
|
|
cmp #"."
|
|
|
|
|
bne :1720
|
|
|
|
|
jmp :1100
|
|
|
|
|
|
|
|
|
|
:1720 sec
|
|
|
|
|
sbc #"A"
|
|
|
|
|
asl
|
|
|
|
|
pha ; LI
|
|
|
|
|
|
|
|
|
|
lda E$+1,x
|
|
|
|
|
cmp #"."
|
|
|
|
|
beq :1740
|
|
|
|
|
|
|
|
|
|
sec
|
|
|
|
|
sbc #"0"
|
|
|
|
|
tay
|
|
|
|
|
lda tblD2H,y
|
|
|
|
|
sta N
|
|
|
|
|
|
|
|
|
|
lda E$+2,x
|
|
|
|
|
sec
|
|
|
|
|
sbc #"0"
|
|
|
|
|
clc
|
|
|
|
|
adc N
|
|
|
|
|
sta N
|
|
|
|
|
|
|
|
|
|
:1740 lda #0
|
|
|
|
|
sta BREAK
|
|
|
|
|
|
|
|
|
|
pla
|
|
|
|
|
tax
|
|
|
|
|
lda tbl1800,x
|
|
|
|
|
sta :1750+1
|
|
|
|
|
lda tbl1800+1,x
|
|
|
|
|
sta :1750+2
|
|
|
|
|
|
|
|
|
|
:1750 jsr $bdbd
|
|
|
|
|
|
|
|
|
|
lda BREAK
|
|
|
|
|
beq :1780
|
|
|
|
|
asl
|
|
|
|
|
tax
|
|
|
|
|
lda tblBRKA,x
|
|
|
|
|
sta :1762+1
|
|
|
|
|
lda tblBRKA+1,x
|
|
|
|
|
sta :1762+2
|
|
|
|
|
:1762 jmp $bdbd
|
|
|
|
|
|
|
|
|
|
:1780 lda E
|
|
|
|
|
clc
|
|
|
|
|
adc #3
|
|
|
|
|
sta E
|
|
|
|
|
jmp :1710
|
|
|
|
|
|
|
|
|
|
*-------- The modified BREAK table
|
|
|
|
|
|
|
|
|
|
tblBRKA da $bdbd
|
|
|
|
|
da :100,:500,:530
|
|
|
|
|
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
* 1800
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
|
|
|
|
tbl1800 da :1800,:1900
|
|
|
|
|
da :2000,:2100,:2200,:2300,:2400,:2500,:2600,:2700,:2800,:2900
|
|
|
|
|
da :3000,:3100,:3200
|
|
|
|
|
|
|
|
|
|
*-------- A
|
|
|
|
|
|
|
|
|
|
:1800 lda #0
|
|
|
|
|
sta G
|
|
|
|
|
sta HH
|
|
|
|
|
sta H ; for comma
|
|
|
|
|
|
|
|
|
|
* lda #2 ; 500
|
|
|
|
|
* sta BREAK
|
|
|
|
|
|
|
|
|
|
:1810 inc G
|
|
|
|
|
lda G
|
|
|
|
|
tax
|
|
|
|
|
lda O,x
|
|
|
|
|
cmp #-1
|
|
|
|
|
beq :1840
|
|
|
|
|
|
|
|
|
|
lda G
|
|
|
|
|
cmp #nbO
|
|
|
|
|
bcc :1810
|
|
|
|
|
bcs :1870
|
|
|
|
|
|
|
|
|
|
:1840 lda HH
|
|
|
|
|
bne :1850
|
|
|
|
|
|
|
|
|
|
@print #strVOUSDETENEZ
|
|
|
|
|
|
|
|
|
|
:1850 inc HH
|
|
|
|
|
|
|
|
|
|
lda H
|
|
|
|
|
beq :1860
|
|
|
|
|
|
|
|
|
|
@print #strCOMMA
|
|
|
|
|
|
|
|
|
|
:1860 @print #strSPACE
|
|
|
|
|
|
|
|
|
|
lda G
|
|
|
|
|
asl
|
|
|
|
|
tax
|
|
|
|
|
ldy tblO$,x
|
|
|
|
|
lda tblO$+1,x
|
|
|
|
|
tax
|
|
|
|
|
jsr printCSTRING
|
|
|
|
|
|
|
|
|
|
inc H
|
|
|
|
|
|
|
|
|
|
lda G
|
|
|
|
|
cmp #nbO
|
|
|
|
|
bcc :1810
|
|
|
|
|
|
|
|
|
|
:1870 lda HH
|
|
|
|
|
beq :1880
|
|
|
|
|
|
|
|
|
|
@print #strPOINT
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:1880 @print #strVOUSRIEN
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
*-------- B
|
|
|
|
|
|
2023-12-29 20:39:04 +00:00
|
|
|
|
:1900 ldx N
|
2023-12-29 09:09:50 +00:00
|
|
|
|
lda O,x
|
|
|
|
|
cmp #-1
|
|
|
|
|
bne :1960
|
|
|
|
|
|
|
|
|
|
@print #strVOUSLAVEZ
|
2023-12-31 20:27:37 +00:00
|
|
|
|
rts
|
2023-12-29 09:09:50 +00:00
|
|
|
|
|
|
|
|
|
:1960 lda #-1
|
|
|
|
|
sta O,x
|
|
|
|
|
|
|
|
|
|
inc S
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
*-------- C
|
|
|
|
|
|
|
|
|
|
:2000 ldx N
|
|
|
|
|
lda O,x
|
|
|
|
|
cmp #-1
|
|
|
|
|
beq :2030
|
|
|
|
|
|
|
|
|
|
@print #strNOTOWNED
|
|
|
|
|
|
|
|
|
|
lda #2
|
|
|
|
|
sta BREAK
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:2030 lda SALLE
|
|
|
|
|
sta O,x
|
|
|
|
|
|
|
|
|
|
dec S
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
*-------- D
|
|
|
|
|
|
|
|
|
|
:2100 lda N
|
|
|
|
|
asl
|
|
|
|
|
tax
|
|
|
|
|
lda tbl4000,x
|
|
|
|
|
sta :2112+1
|
|
|
|
|
lda tbl4000+1,x
|
|
|
|
|
sta :2112+2
|
|
|
|
|
|
|
|
|
|
:2112 jmp $bdbd
|
|
|
|
|
|
|
|
|
|
*-------- E
|
|
|
|
|
|
|
|
|
|
:2200 ldx N
|
|
|
|
|
lda #1
|
|
|
|
|
sta P,x
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
*-------- F
|
|
|
|
|
|
|
|
|
|
:2300 ldx N
|
|
|
|
|
lda #0
|
|
|
|
|
sta P,x
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
*-------- G
|
|
|
|
|
|
|
|
|
|
:2400 ldx N
|
|
|
|
|
lda tblAL$,x
|
|
|
|
|
sta LINNUM
|
|
|
|
|
lda tblAH$,x
|
|
|
|
|
sta LINNUM+1
|
|
|
|
|
|
|
|
|
|
ldy E ; +3
|
|
|
|
|
iny
|
|
|
|
|
iny
|
|
|
|
|
sty E
|
|
|
|
|
iny
|
|
|
|
|
lda (LINNUM),y
|
|
|
|
|
sec
|
|
|
|
|
sbc #"0"
|
|
|
|
|
tax
|
|
|
|
|
lda tblD2H,x
|
|
|
|
|
|
|
|
|
|
ldx N
|
|
|
|
|
sta C,x
|
|
|
|
|
|
|
|
|
|
iny
|
|
|
|
|
lda (LINNUM),y
|
|
|
|
|
sec
|
|
|
|
|
sbc #"0"
|
|
|
|
|
clc
|
|
|
|
|
adc C,x
|
|
|
|
|
sta C,x
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
*-------- H
|
|
|
|
|
|
|
|
|
|
:2500 ldx N
|
|
|
|
|
lda #0
|
|
|
|
|
sta O,x
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
*:2500 ldx N
|
|
|
|
|
* lda O,x
|
|
|
|
|
* cmp #-1
|
|
|
|
|
* bne :2510
|
|
|
|
|
*
|
|
|
|
|
* dec S
|
|
|
|
|
*
|
|
|
|
|
*:2510 lda #0
|
|
|
|
|
* sta O,x
|
|
|
|
|
* rts
|
|
|
|
|
*
|
|
|
|
|
*:2500 lda N ; exchange object
|
|
|
|
|
* asl ; do it here on pointers
|
|
|
|
|
* tax ; not on strings
|
|
|
|
|
* lda tblO$,x
|
|
|
|
|
* pha
|
|
|
|
|
* lda tblO$+1,x
|
|
|
|
|
* pha
|
|
|
|
|
*
|
|
|
|
|
* lda tblO$+2,x
|
|
|
|
|
* sta tblO$,x
|
|
|
|
|
* lda tblO$+3,x
|
|
|
|
|
* sta tblO$+1,x
|
|
|
|
|
*
|
|
|
|
|
* pla
|
|
|
|
|
* sta tblO$+3,x
|
|
|
|
|
* pla
|
|
|
|
|
* sta tblO$+2,x
|
|
|
|
|
* rts
|
|
|
|
|
|
|
|
|
|
*-------- I
|
|
|
|
|
|
|
|
|
|
:2600 lda N
|
|
|
|
|
sta SALLE
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
*-------- J
|
|
|
|
|
|
|
|
|
|
:2700 @print #strDACCORD
|
|
|
|
|
|
|
|
|
|
*-------- K
|
|
|
|
|
|
|
|
|
|
:2800
|
|
|
|
|
lda #2
|
|
|
|
|
sta BREAK
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
*-------- L
|
|
|
|
|
|
|
|
|
|
:2900 lda #3
|
|
|
|
|
sta BREAK
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
*-------- M
|
|
|
|
|
|
|
|
|
|
:3000 lda #1
|
|
|
|
|
sta BREAK
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
*-------- N
|
|
|
|
|
|
|
|
|
|
:3100 rts
|
|
|
|
|
|
|
|
|
|
*-------- O
|
|
|
|
|
|
|
|
|
|
:3200 ldx N
|
|
|
|
|
lda SALLE
|
|
|
|
|
sta O,x
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
* 4000 - LES REPONSES
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
2023-12-29 20:39:04 +00:00
|
|
|
|
tbl4000 da $bdbd,:4010,:4020,:4030,:4040,:4050,:4060,:4070,:4080,:4090
|
2023-12-29 09:09:50 +00:00
|
|
|
|
da :4100,:4110,:4120,:4130,:4140,:4150,:4160,:4170,:4180,:4190
|
|
|
|
|
da :4200,:4210,:4220,:4230,:4240,:4250,:4260,:4270,:4280,:4290
|
|
|
|
|
da :4300,:4310,:4320,:4330,:4340,:4350,:4360,:4370,:4380,:4390
|
|
|
|
|
da :4400,:4410,:4420,:4430,:4440,:4450,:4460,:4470,:4480,:4490
|
|
|
|
|
da :4500,:4510,:4520,:4530,:4540,:4550,:4560,:4570,:4580,:4590
|
|
|
|
|
da :4600,:4610,:4620,:4630,:4640,:4650,:4660,:4670,:4680,:4690
|
2023-12-29 20:39:04 +00:00
|
|
|
|
da :4700,:4710,:4720,:4730,:4740,:4750,:4760,:4770,:4780,:4790
|
|
|
|
|
da :4800,:4810,:4820,:4830,:4840,:4850,:4860,:4870,:4880,:4890
|
|
|
|
|
da :4900,:4910,:4920
|
2023-12-29 09:09:50 +00:00
|
|
|
|
|
|
|
|
|
*--------
|
|
|
|
|
|
|
|
|
|
:4010 @print #str4010
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4020 @print #str4020
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4030 @print #str4030
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4040 @print #str4040
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4050 @print #str4050
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4060 @print #str4060
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4070 @print #str4070
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4080 @print #str4080
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4090 @print #str4090
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4100 @print #str4100
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4110 @print #str4110
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4120 @print #str4120
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4130 @print #str4130
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4140 @print #str4140
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4150 @print #str4150
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4160 @print #str4160
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4170 @print #str4170
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4180 @print #str4180
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4190 @print #str4190
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4200 @print #str4200
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4210 @print #str4210
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4220 @print #str4220
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4230 @print #str4230
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4240 @print #str4240
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4250 @print #str4250
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4260 @print #str4260
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4270 @print #str4270
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4280 @print #str4280
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4290 @print #str4290
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4300 @print #str4300
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4310 @print #str4310
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4320 @print #str4320
|
2023-12-29 20:39:04 +00:00
|
|
|
|
@print #str4321
|
2023-12-29 09:09:50 +00:00
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4330 @print #str4330
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4340 @print #str4340
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4350 @print #str4350
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4360 @print #str4360
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4370 @print #str4370
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4380 @print #str4380
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4390 @print #str4390
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4400 @print #str4400
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4410 @print #str4410
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4420 @print #str4420
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4430 @print #str4430
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4440 @print #str4440
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4450 @print #str4450
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4460 @print #str4460
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4470 @print #str4470
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4480 @print #str4480
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4490 @print #str4490
|
2023-12-31 20:27:37 +00:00
|
|
|
|
@print #str4491
|
2023-12-29 09:09:50 +00:00
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4500 @print #str4500
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4510 @print #str4510
|
|
|
|
|
jmp :gagne
|
|
|
|
|
|
|
|
|
|
:4520 @print #str4520
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4530 @print #str4530
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4540 @print #str4540
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4550 @print #str4550
|
2023-12-29 20:39:04 +00:00
|
|
|
|
@print #str4552
|
|
|
|
|
@print #str4558
|
2023-12-29 09:09:50 +00:00
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4560 @print #str4560
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4570 @print #str4570
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4580 @print #str4580
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4590 @print #str4590
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4600 @print #str4600
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4610 @print #str4610
|
2023-12-31 20:27:37 +00:00
|
|
|
|
@print #str4615
|
2023-12-29 09:09:50 +00:00
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4620 @print #str4620
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4630 @print #str4630
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4640 @print #str4640
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4650 @print #str4650
|
2023-12-29 20:39:04 +00:00
|
|
|
|
@print #str4655
|
|
|
|
|
@print #str4656
|
2023-12-29 09:09:50 +00:00
|
|
|
|
rts
|
|
|
|
|
|
2023-12-29 20:39:04 +00:00
|
|
|
|
:4660 @print #str4660
|
|
|
|
|
rts
|
2023-12-29 09:09:50 +00:00
|
|
|
|
|
2023-12-29 20:39:04 +00:00
|
|
|
|
:4670 @print #str4670
|
2023-12-29 09:09:50 +00:00
|
|
|
|
rts
|
|
|
|
|
|
2023-12-29 20:39:04 +00:00
|
|
|
|
:4680 @print #str4680
|
|
|
|
|
rts
|
2023-12-29 09:09:50 +00:00
|
|
|
|
|
2023-12-29 20:39:04 +00:00
|
|
|
|
:4690 @print #str4690
|
|
|
|
|
@print #str4692
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4700 @print #str4700
|
|
|
|
|
rts
|
|
|
|
|
|
2023-12-31 20:27:37 +00:00
|
|
|
|
:4710 lda SALLE
|
|
|
|
|
pha
|
|
|
|
|
@draw #54
|
|
|
|
|
pla
|
|
|
|
|
sta SALLE
|
2023-12-29 20:39:04 +00:00
|
|
|
|
rts
|
|
|
|
|
|
2023-12-31 20:27:37 +00:00
|
|
|
|
:4720 lda SALLE
|
|
|
|
|
pha
|
|
|
|
|
@draw #55
|
|
|
|
|
pla
|
|
|
|
|
sta SALLE
|
2023-12-29 20:39:04 +00:00
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4730 @print #str4730
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4740 @print #str4740
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4750 @print #str4750
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4760 @print #str4760
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4770 @print #str4770
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4780 @print #str4780
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4790 @print #str4790
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4800 @print #str4800
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4810 @print #str4810
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4820 @print #str4820
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4830 @print #str4830
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4840 @print #str4840
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4850 @print #str4850
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4860 @print #str4860
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4870 @print #str4870
|
|
|
|
|
@print #str4874
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4880 @print #str4880
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4890 @print #str4890
|
|
|
|
|
@print #str4891
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4900 @print #str4900
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4910 @print #str4910
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:4920 @print #str4920
|
|
|
|
|
rts
|
2023-12-29 09:09:50 +00:00
|
|
|
|
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
* 6000 - ANALYSE DU MOT
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
|
|
|
|
:6000 lda #0
|
|
|
|
|
sta N
|
|
|
|
|
sta X$1
|
|
|
|
|
sta X$2
|
|
|
|
|
|
|
|
|
|
sta MO$1
|
|
|
|
|
sta MO$2
|
|
|
|
|
|
|
|
|
|
* 1. cherche le premier caract<EFBFBD>re
|
|
|
|
|
|
|
|
|
|
ldx #0 ; cherche le premier caractere
|
|
|
|
|
]lp lda TEXTBUFFER,x
|
|
|
|
|
* cmp #chrRET
|
|
|
|
|
* beq :6021
|
|
|
|
|
cmp #chrSPC
|
|
|
|
|
bne :6022 ; on a trouv<75> un caract<63>re
|
|
|
|
|
inx
|
|
|
|
|
cpx lenSTRING
|
|
|
|
|
* bcs :6021
|
|
|
|
|
* cpx #nbCAR
|
|
|
|
|
bcc ]lp
|
|
|
|
|
:6021 rts ; retourne sans avoir trouve
|
|
|
|
|
|
|
|
|
|
* 2. recopie le mot
|
|
|
|
|
|
|
|
|
|
* 0123456789A
|
|
|
|
|
* 123456789
|
|
|
|
|
* PREN COMBI\
|
|
|
|
|
|
|
|
|
|
:6022 ldy #1
|
|
|
|
|
]lp lda TEXTBUFFER,x
|
|
|
|
|
cmp #chrRET
|
|
|
|
|
beq :6023
|
|
|
|
|
cmp #chrSPC
|
|
|
|
|
beq :6023
|
|
|
|
|
sta X$1,y ; 0P1R2E3N4
|
|
|
|
|
inx
|
|
|
|
|
cpx lenSTRING
|
|
|
|
|
bcs :6023
|
|
|
|
|
iny
|
|
|
|
|
cpy #4
|
|
|
|
|
bcc ]lp
|
|
|
|
|
beq ]lp
|
|
|
|
|
dey
|
|
|
|
|
:6023 sty X$1 ; sauve la longueur
|
|
|
|
|
|
|
|
|
|
* 3. cherche un espace
|
|
|
|
|
|
|
|
|
|
* inx
|
|
|
|
|
]lp lda TEXTBUFFER,x
|
|
|
|
|
* cmp #chrRET
|
|
|
|
|
* beq :6032
|
|
|
|
|
cmp #chrSPC
|
|
|
|
|
beq :6032
|
|
|
|
|
inx ; 5
|
|
|
|
|
cpx lenSTRING
|
|
|
|
|
* bcs :6100
|
|
|
|
|
* cpx #nbCAR
|
|
|
|
|
bcc ]lp
|
|
|
|
|
bcs :6100
|
|
|
|
|
|
|
|
|
|
* 4. recopie le mot
|
|
|
|
|
|
|
|
|
|
:6032 inx
|
|
|
|
|
ldy #1
|
|
|
|
|
]lp lda TEXTBUFFER,x
|
|
|
|
|
cmp #chrRET
|
|
|
|
|
beq :6033
|
|
|
|
|
cmp #chrSPC
|
|
|
|
|
beq :6033
|
|
|
|
|
sta X$2,y
|
|
|
|
|
inx
|
|
|
|
|
cpx lenSTRING
|
|
|
|
|
bcs :6033
|
|
|
|
|
iny
|
|
|
|
|
cpy #4
|
|
|
|
|
bcc ]lp
|
|
|
|
|
beq ]lp
|
|
|
|
|
dey
|
|
|
|
|
:6033 sty X$2 ; sauve la longueur
|
|
|
|
|
|
|
|
|
|
* 5. cherche le mot dans les options
|
|
|
|
|
* X$1 4 PREN
|
|
|
|
|
* X$2 4 LAMP
|
|
|
|
|
* V$x 6 04PREN
|
|
|
|
|
* 0 123456
|
|
|
|
|
|
|
|
|
|
:6100 lda X$1
|
|
|
|
|
bne :6110
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:6110 ldy #1
|
|
|
|
|
]lp lda tblVL$,y
|
|
|
|
|
sta :6225+1
|
|
|
|
|
lda tblVH$,y
|
|
|
|
|
sta :6225+2
|
|
|
|
|
|
|
|
|
|
ldx #0
|
|
|
|
|
:6225 lda $bdbd,x
|
|
|
|
|
cmp X$1,x
|
|
|
|
|
bne :6250
|
|
|
|
|
inx
|
|
|
|
|
cpx X$1
|
|
|
|
|
bcc :6225
|
|
|
|
|
beq :6225
|
|
|
|
|
|
|
|
|
|
lda tblV,y
|
|
|
|
|
sta MO$1
|
|
|
|
|
bne :6300
|
|
|
|
|
|
|
|
|
|
:6250 iny
|
|
|
|
|
cpy #V
|
|
|
|
|
bcc ]lp
|
|
|
|
|
beq ]lp
|
|
|
|
|
|
|
|
|
|
* 6. on change de mot
|
|
|
|
|
|
|
|
|
|
:6300 lda X$2
|
|
|
|
|
bne :6310
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:6310 ldy #1
|
|
|
|
|
]lp lda tblVL$,y
|
|
|
|
|
sta :6325+1
|
|
|
|
|
lda tblVH$,y
|
|
|
|
|
sta :6325+2
|
|
|
|
|
|
|
|
|
|
ldx #0
|
|
|
|
|
:6325 lda $bdbd,x
|
|
|
|
|
cmp X$2,x
|
|
|
|
|
bne :6350
|
|
|
|
|
inx
|
|
|
|
|
cpx X$2
|
|
|
|
|
bcc :6325
|
|
|
|
|
beq :6325
|
|
|
|
|
|
|
|
|
|
lda tblV,y
|
|
|
|
|
sta MO$2
|
|
|
|
|
bne :6400
|
|
|
|
|
|
|
|
|
|
:6350 iny
|
|
|
|
|
cpy #V
|
|
|
|
|
bcc ]lp
|
|
|
|
|
beq ]lp
|
|
|
|
|
|
|
|
|
|
:6400 rts
|
|
|
|
|
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
* 7000 - DESCRIPTION DES PIECES
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
|
|
|
|
tbl7000 da $bdbd
|
|
|
|
|
da :7010,:7020,:7030,:7040,:7050,:7060,:7070,:7080,:7090
|
|
|
|
|
da :7100,:7110,:7120,:7130,:7140,:7150,:7160,:7170,:7180,:7190
|
|
|
|
|
da :7200,:7210,:7220,:7230,:7240,:7250,:7260,:7270,:7280,:7290
|
|
|
|
|
da :7300,:7310,:7320,:7330,:7340,:7350,:7360,:7370,:7380,:7390
|
|
|
|
|
da :7400,:7410,:7420,:7430,:7440,:7450,:7460,:7470,:7480,:7490
|
|
|
|
|
da :7500,:7510,:7520,:7530,:7540,:7550,:7560,:7570,:7580,:7590
|
|
|
|
|
da :7600
|
|
|
|
|
|
|
|
|
|
:7010 @print #str8010
|
|
|
|
|
@draw #1
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7020 @print #str8020
|
|
|
|
|
@draw #2
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7030 @print #str8030
|
|
|
|
|
@draw #3
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7040 @print #str8040
|
|
|
|
|
@draw #4
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7050 @print #str8050
|
|
|
|
|
@draw #5
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7060 @print #str8060
|
|
|
|
|
@draw #6
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7070 @print #str8070
|
|
|
|
|
@draw #7
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7080 @print #str8080
|
|
|
|
|
@draw #8
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7090 @print #str8090
|
|
|
|
|
@draw #9
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7100 @print #str8100
|
|
|
|
|
@draw #10
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7110 @print #str8110
|
|
|
|
|
@draw #11
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7120 @print #str8120
|
|
|
|
|
@draw #12
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7130 @print #str8130
|
|
|
|
|
@draw #13
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7140 @print #str8140
|
|
|
|
|
@draw #14
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7150 @print #str8150
|
|
|
|
|
@draw #15
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7160 @print #str8160
|
|
|
|
|
@draw #16
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7170 @print #str8170
|
|
|
|
|
@draw #17
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7180 @print #str8180
|
|
|
|
|
@draw #18
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7190 @print #str8190
|
|
|
|
|
@draw #19
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7200 @print #str8200
|
|
|
|
|
@draw #20
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7210 @print #str8210
|
|
|
|
|
@draw #21
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7220 @print #str8220
|
|
|
|
|
@draw #22
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7230 @print #str8230
|
|
|
|
|
@draw #23
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7240 @print #str8240
|
|
|
|
|
@draw #24
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7250 @print #str8250
|
|
|
|
|
@draw #25
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7260 @print #str8260
|
|
|
|
|
@draw #26
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7270 @print #str8270
|
|
|
|
|
@draw #27
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7280 @print #str8280
|
|
|
|
|
@draw #28
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7290 @print #str8290
|
|
|
|
|
@draw #29
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7300 @print #str8300
|
|
|
|
|
@draw #30
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7310 @print #str8310
|
|
|
|
|
@draw #31
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7320 @print #str8320
|
|
|
|
|
@draw #32
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7330 @print #str8330
|
|
|
|
|
@draw #33
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7340 @print #str8340
|
|
|
|
|
@draw #34
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7350 @print #str8350
|
|
|
|
|
@draw #35
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7360 @print #str8360
|
|
|
|
|
@draw #36
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7370 @print #str8370
|
|
|
|
|
@draw #37
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7380 @print #str8380
|
|
|
|
|
@draw #38
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7390 @print #str8390
|
|
|
|
|
@draw #39
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7400 @print #str8400
|
|
|
|
|
@draw #40
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7410 @print #str8410
|
|
|
|
|
@draw #41
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7420 @print #str8420
|
|
|
|
|
@draw #42
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7430 @print #str8430
|
|
|
|
|
@draw #43
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7440 @print #str8440
|
|
|
|
|
@draw #44
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7450 @print #str8450
|
|
|
|
|
@draw #45
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7460 @print #str8460
|
|
|
|
|
@draw #46
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7470 @print #str8470
|
|
|
|
|
@draw #47
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7480 @print #str8480
|
|
|
|
|
@draw #48
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7490 @print #str8490
|
|
|
|
|
@draw #49
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7500 @print #str8500
|
|
|
|
|
@draw #50
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7510 @print #str8510
|
|
|
|
|
@draw #51
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7520 @print #str8520
|
|
|
|
|
@draw #52
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7530 @print #str8530
|
|
|
|
|
@draw #53
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7540 @print #str8540
|
|
|
|
|
@draw #54
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7550 @print #str8550
|
|
|
|
|
@draw #55
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7560 @print #str8560
|
|
|
|
|
@draw #56
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7570 @print #str8570
|
|
|
|
|
@draw #57
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7580 @print #str8580
|
|
|
|
|
@draw #58
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7590 @print #str8590
|
|
|
|
|
@draw #59
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
:7600 @print #str8600
|
|
|
|
|
@draw #60
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
* 8000 - CHARGEMENT VARIABLES
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
|
|
|
|
initALL
|
|
|
|
|
ldx #FIN_DATA-DEBUT_DATA
|
|
|
|
|
lda #0
|
|
|
|
|
]lp sta A1-1,x
|
|
|
|
|
dex
|
|
|
|
|
bne ]lp
|
|
|
|
|
|
|
|
|
|
*---
|
|
|
|
|
|
|
|
|
|
lda #1
|
|
|
|
|
sta SALLE
|
|
|
|
|
|
|
|
|
|
lda #5 ; 5000
|
|
|
|
|
sta TEMPS
|
|
|
|
|
lda #0
|
|
|
|
|
sta TEMPS+1
|
|
|
|
|
sta TEMPS+2
|
|
|
|
|
sta TEMPS+3
|
|
|
|
|
|
|
|
|
|
lda #"5"
|
|
|
|
|
sta strTEMPS
|
|
|
|
|
lda #"0"
|
|
|
|
|
sta strTEMPS+1
|
|
|
|
|
sta strTEMPS+2
|
|
|
|
|
sta strTEMPS+3
|
|
|
|
|
|
|
|
|
|
*---
|
|
|
|
|
|
|
|
|
|
ldx #nbO ; reset object table
|
|
|
|
|
]lp lda refO,x
|
|
|
|
|
sta O,x
|
|
|
|
|
dex
|
|
|
|
|
bpl ]lp
|
|
|
|
|
|
|
|
|
|
ldx #nbO*2 ; reset object table
|
|
|
|
|
]lp lda refO$,x
|
|
|
|
|
sta tblO$,x
|
|
|
|
|
dex
|
|
|
|
|
bpl ]lp
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
* 20000 - PERDU
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
|
|
|
|
:perdu @explode
|
|
|
|
|
@draw #3
|
|
|
|
|
@wait #400
|
|
|
|
|
|
|
|
|
|
jsr setTEXTFULL
|
|
|
|
|
@print #strPERDU
|
2023-12-31 20:27:37 +00:00
|
|
|
|
* @play #zikPERDU
|
2023-12-29 09:09:50 +00:00
|
|
|
|
|
|
|
|
|
:20050 ; commun avec gagne
|
|
|
|
|
]lp @print #strREPLAY
|
|
|
|
|
jsr translateKEY
|
|
|
|
|
cmp #chrNON
|
|
|
|
|
beq :20001
|
|
|
|
|
cmp #chrOUI
|
|
|
|
|
bne ]lp
|
2023-12-31 20:27:37 +00:00
|
|
|
|
jmp PLAY
|
2023-12-29 09:09:50 +00:00
|
|
|
|
|
2023-12-31 20:27:37 +00:00
|
|
|
|
:20001 jmp QUIT ; return to the IIgs
|
2023-12-29 09:09:50 +00:00
|
|
|
|
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
* 32000 - GAGNE
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
|
|
|
|
:gagne
|
|
|
|
|
@draw #6
|
|
|
|
|
@wait #400
|
|
|
|
|
jsr setTEXTFULL
|
|
|
|
|
@print #strGAGNE
|
2023-12-31 20:27:37 +00:00
|
|
|
|
* @play #zikINTRODUCTION
|
2023-12-29 09:09:50 +00:00
|
|
|
|
jmp :20050
|
|
|
|
|
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
* ORIC
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
2023-12-31 20:27:37 +00:00
|
|
|
|
EXPLODE rts
|
2023-12-29 09:09:50 +00:00
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
* CODE 6502
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
|
|
|
|
*----------------------
|
|
|
|
|
* setTEXTFULL
|
|
|
|
|
*----------------------
|
|
|
|
|
|
2023-12-31 20:27:37 +00:00
|
|
|
|
setTEXTFULL rts ; 40x24 text
|
2023-12-29 09:09:50 +00:00
|
|
|
|
|
|
|
|
|
*----------------------
|
|
|
|
|
* setHGR
|
|
|
|
|
*----------------------
|
|
|
|
|
|
2023-12-31 20:27:37 +00:00
|
|
|
|
setHGR rts ; HGR
|
2023-12-29 09:09:50 +00:00
|
|
|
|
|
|
|
|
|
*----------------------
|
|
|
|
|
* switchCASE
|
|
|
|
|
*----------------------
|
|
|
|
|
|
2023-12-31 20:27:37 +00:00
|
|
|
|
switchCASE lda fgCASE
|
2023-12-29 09:09:50 +00:00
|
|
|
|
eor #$80
|
|
|
|
|
sta fgCASE
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
*----------------------
|
|
|
|
|
* GETLEN1 par LoGo
|
|
|
|
|
*----------------------
|
|
|
|
|
|
|
|
|
|
GETLN1 ldx #0
|
|
|
|
|
]lp jsr RDKEY
|
|
|
|
|
cmp #chrRET
|
|
|
|
|
beq doRET
|
|
|
|
|
cmp #chrDEL
|
|
|
|
|
beq doBACK
|
|
|
|
|
cmp #chrLA
|
|
|
|
|
beq doBACK
|
|
|
|
|
cmp #chrRA
|
|
|
|
|
beq ]lp
|
|
|
|
|
|
|
|
|
|
jsr testENERGIE
|
|
|
|
|
|
|
|
|
|
sta TEXTBUFFER,x
|
|
|
|
|
jsr COUT
|
|
|
|
|
doNEXT inx
|
|
|
|
|
cpx #maxLEN
|
|
|
|
|
bcc ]lp
|
|
|
|
|
|
|
|
|
|
doEXIT lda #chrRET
|
|
|
|
|
sta TEXTBUFFER,x
|
|
|
|
|
stx lenSTRING
|
|
|
|
|
jmp COUT
|
|
|
|
|
|
|
|
|
|
doBACK cpx #0
|
|
|
|
|
beq ]lp
|
|
|
|
|
dec CH
|
|
|
|
|
dex
|
|
|
|
|
jmp ]lp
|
|
|
|
|
|
|
|
|
|
doRET cpx #0
|
|
|
|
|
bne doEXIT
|
|
|
|
|
|
|
|
|
|
jsr switchVIDEO
|
|
|
|
|
jmp ]lp
|
|
|
|
|
|
|
|
|
|
*----------------------
|
|
|
|
|
* ENERGIE
|
|
|
|
|
*----------------------
|
|
|
|
|
|
|
|
|
|
switchENERGIE
|
|
|
|
|
lda #0
|
|
|
|
|
eor #1
|
|
|
|
|
sta switchENERGIE+1
|
|
|
|
|
rts
|
|
|
|
|
|
2023-12-31 20:27:37 +00:00
|
|
|
|
testENERGIE rts
|
2023-12-29 09:09:50 +00:00
|
|
|
|
|
|
|
|
|
*----------------------
|
|
|
|
|
* switchVIDEO
|
|
|
|
|
*----------------------
|
|
|
|
|
|
2023-12-31 20:27:37 +00:00
|
|
|
|
switchVIDEO lda #0
|
2023-12-29 09:09:50 +00:00
|
|
|
|
eor #1
|
|
|
|
|
sta switchVIDEO+1
|
|
|
|
|
bne setMIXEDOFF
|
|
|
|
|
|
|
|
|
|
*----------------------
|
|
|
|
|
* setMIXEDON
|
|
|
|
|
*----------------------
|
|
|
|
|
|
|
|
|
|
setMIXEDON ; HGR + 4 LINES OF TEXT
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
*----------------------
|
|
|
|
|
* setMIXEDOFF
|
|
|
|
|
*----------------------
|
|
|
|
|
|
|
|
|
|
setMIXEDOFF ; FULL HGR
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
*----------------------
|
|
|
|
|
* printCSTR
|
|
|
|
|
*----------------------
|
|
|
|
|
|
|
|
|
|
printCSTRING
|
|
|
|
|
sty pcs1+1
|
|
|
|
|
stx pcs1+2
|
|
|
|
|
|
|
|
|
|
pcs1 lda $ffff
|
|
|
|
|
beq pcs3
|
|
|
|
|
|
|
|
|
|
bit fgCASE
|
|
|
|
|
bpl pcs2
|
|
|
|
|
|
|
|
|
|
tax ; from lower to upper
|
|
|
|
|
lda tblKEY,x
|
2023-12-31 20:27:37 +00:00
|
|
|
|
and #$ff
|
2023-12-29 09:09:50 +00:00
|
|
|
|
|
|
|
|
|
pcs2 jsr COUT
|
|
|
|
|
|
|
|
|
|
inc pcs1+1
|
|
|
|
|
bne pcs1
|
|
|
|
|
inc pcs1+2
|
|
|
|
|
bne pcs1
|
|
|
|
|
|
|
|
|
|
pcs3 rts
|
|
|
|
|
|
|
|
|
|
*--------
|
|
|
|
|
|
|
|
|
|
fgCASE ds 1 ; $00 lower OK, $80 otherwise
|
|
|
|
|
|
|
|
|
|
*----------------------
|
|
|
|
|
* waitMS
|
|
|
|
|
*----------------------
|
|
|
|
|
|
2023-12-31 20:27:37 +00:00
|
|
|
|
switchWAIT lda waitMS+1
|
2023-12-29 09:09:50 +00:00
|
|
|
|
eor #1
|
|
|
|
|
sta waitMS+1
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
waitMS lda #0 ; skip if not zero
|
|
|
|
|
bne waitMS9
|
|
|
|
|
|
|
|
|
|
sty LINNUM
|
|
|
|
|
doW1 ldy LINNUM
|
2023-12-31 20:27:37 +00:00
|
|
|
|
doW2 lda #60 ; 1/100<30>me de seconde
|
2024-01-01 07:25:27 +00:00
|
|
|
|
]lp ldal RDVBLBAR
|
2023-12-31 20:27:37 +00:00
|
|
|
|
bmi ]lp
|
2024-01-01 07:25:27 +00:00
|
|
|
|
]lp ldal RDVBLBAR
|
2023-12-31 20:27:37 +00:00
|
|
|
|
bpl ]lp
|
2023-12-29 09:09:50 +00:00
|
|
|
|
dey
|
2023-12-31 20:27:37 +00:00
|
|
|
|
bne doW2
|
2023-12-29 09:09:50 +00:00
|
|
|
|
dex
|
|
|
|
|
bpl doW1
|
|
|
|
|
waitMS9 rts
|
|
|
|
|
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
* rewriteSTRING (lower -> upper)
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
|
|
|
|
rewriteSTRING
|
|
|
|
|
ldx #0
|
|
|
|
|
]lp ldy TEXTBUFFER,x
|
|
|
|
|
lda tblKEY,y
|
|
|
|
|
sta TEXTBUFFER,x
|
|
|
|
|
inx
|
|
|
|
|
cpx lenSTRING
|
|
|
|
|
bcc ]lp
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
* translateKEY (lower -> upper)
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
|
|
|
|
translateKEY
|
|
|
|
|
jsr RDKEY
|
|
|
|
|
tax
|
|
|
|
|
lda tblKEY,x
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
tblKEY
|
|
|
|
|
hex 00,01,02,03,04,05,06,07,08,09,0A,0B,0C,0D,0E,0F
|
|
|
|
|
hex 10,11,12,13,14,15,16,17,18,19,1A,1B,1C,1D,1E,1F
|
|
|
|
|
hex 20,21,22,23,24,25,26,27,28,29,2A,2B,2C,2D,2E,2F
|
|
|
|
|
hex 30,31,32,33,34,35,36,37,38,39,3A,3B,3C,3D,3E,3F
|
|
|
|
|
hex 40,41,42,43,44,45,46,47,48,49,4A,4B,4C,4D,4E,4F
|
|
|
|
|
hex 50,51,52,53,54,55,56,57,58,59,5A,5B,5C,5D,5E,5F
|
|
|
|
|
hex 60,61,62,63,64,65,66,67,68,69,6A,6B,6C,6D,6E,6F
|
|
|
|
|
hex 70,71,72,73,74,75,76,77,78,79,7A,7B,7C,7D,7E,7F
|
|
|
|
|
hex 80,81,82,83,84,85,86,87,88,89,8A,8B,8C,8D,8E,8F
|
|
|
|
|
hex 90,91,92,93,94,95,96,97,98,99,9A,9B,9C,9D,9E,9F
|
|
|
|
|
hex A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF
|
|
|
|
|
hex B0,B1,B2,B3,B4,B5,B6,B7,B8,B9,BA,BB,BC,BD,BE,BF
|
|
|
|
|
hex C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,CA,CB,CC,CD,CE,CF
|
|
|
|
|
hex D0,D1,D2,D3,D4,D5,D6,D7,D8,D9,DA,DB,DC,DD,DE,DF
|
|
|
|
|
hex E0,C1,C2,C3,C4,C5,C6,C7,C8,C9,CA,CB,CC,CD,CE,CF
|
|
|
|
|
hex D0,D1,D2,D3,D4,D5,D6,D7,D8,D9,DA,FB,FC,FD,FE,FF
|
|
|
|
|
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
* VARIABLES
|
|
|
|
|
*-----------------------------------
|
|
|
|
|
|
|
|
|
|
DEBUT_DATA
|
|
|
|
|
|
2023-12-31 20:27:37 +00:00
|
|
|
|
A1 ds 2
|
|
|
|
|
BREAK ds 2
|
|
|
|
|
E ds 2
|
|
|
|
|
F1 ds 2
|
|
|
|
|
G ds 2
|
|
|
|
|
H ds 2
|
|
|
|
|
HH ds 2
|
|
|
|
|
L ds 2
|
|
|
|
|
LX ds 2
|
|
|
|
|
MO$1 ds 2 ; mot 1
|
|
|
|
|
MO$2 ds 2 ; mot 2
|
|
|
|
|
N ds 2
|
|
|
|
|
NL ds 2
|
|
|
|
|
OK ds 2
|
|
|
|
|
S ds 2
|
|
|
|
|
SALLE ds 2
|
|
|
|
|
T ds 2
|
|
|
|
|
W ds 2
|
|
|
|
|
Z ds 2
|
|
|
|
|
lenSTRING ds 2
|
2023-12-29 09:09:50 +00:00
|
|
|
|
TEMPS ds 4 ; le temps = 5000
|
2023-12-31 20:27:37 +00:00
|
|
|
|
strTEMPS ds 4+1
|
2023-12-29 09:09:50 +00:00
|
|
|
|
|
2023-12-31 20:27:37 +00:00
|
|
|
|
C ds 62+1
|
2023-12-29 09:09:50 +00:00
|
|
|
|
E$ ds 32 ; the longest string
|
2023-12-31 20:27:37 +00:00
|
|
|
|
P ds 62+1
|
|
|
|
|
X$1 ds 1+4 ; premier mot saisi
|
|
|
|
|
X$2 ds 1+4 ; second mot saisi
|
2023-12-29 09:09:50 +00:00
|
|
|
|
|
|
|
|
|
FIN_DATA
|
|
|
|
|
|
|
|
|
|
*--- The lazy decimal to hexadecimal conversion
|
|
|
|
|
|
|
|
|
|
tblD2H dfb 0,10,20,30,40,50,60,70,80,90
|
|
|
|
|
|