mirror of
https://github.com/antoinevignau/source.git
synced 2024-06-07 09:29:28 +00:00
move on
This commit is contained in:
parent
3a4380e5e6
commit
c595e3719e
Binary file not shown.
|
@ -19,6 +19,7 @@ WNDTOP = $22 ; top of text window
|
||||||
WNDBTM = $23 ; bottom+1 of text window
|
WNDBTM = $23 ; bottom+1 of text window
|
||||||
CH = $24 ; cursor horizontal position
|
CH = $24 ; cursor horizontal position
|
||||||
CV = $25 ; cursor vertical position
|
CV = $25 ; cursor vertical position
|
||||||
|
PROMPT = $33 ; prompt character
|
||||||
LINNUM = $50 ; result from GETADR
|
LINNUM = $50 ; result from GETADR
|
||||||
X0L = $e0 ; X-coord
|
X0L = $e0 ; X-coord
|
||||||
X0H = $e1
|
X0H = $e1
|
||||||
|
@ -32,7 +33,7 @@ chrRET = $0d
|
||||||
chrSPC = $20
|
chrSPC = $20
|
||||||
chrRET2 = $8d
|
chrRET2 = $8d
|
||||||
chrSPC2 = $a0
|
chrSPC2 = $a0
|
||||||
|
cursorCHAR = ">"
|
||||||
TEXTBUFFER = $200
|
TEXTBUFFER = $200
|
||||||
|
|
||||||
KBD = $c000
|
KBD = $c000
|
||||||
|
@ -74,7 +75,6 @@ CLREOL = $FC9C
|
||||||
WAIT = $FCA8
|
WAIT = $FCA8
|
||||||
RDKEY = $FD0C
|
RDKEY = $FD0C
|
||||||
KEYIN = $FD1B
|
KEYIN = $FD1B
|
||||||
GETLNZ = $FD67
|
|
||||||
GETLN = $FD6A
|
GETLN = $FD6A
|
||||||
CROUT = $FD8E
|
CROUT = $FD8E
|
||||||
PRBYTE = $FDDA
|
PRBYTE = $FDDA
|
||||||
|
@ -135,7 +135,9 @@ notiigs
|
||||||
|
|
||||||
REPLAY
|
REPLAY
|
||||||
jsr initALL
|
jsr initALL
|
||||||
|
jsr HGR
|
||||||
|
jsr setHGR
|
||||||
|
|
||||||
*-----------------------------------
|
*-----------------------------------
|
||||||
* DU BASIC A L'ASSEMBLEUR (BEURK)
|
* DU BASIC A L'ASSEMBLEUR (BEURK)
|
||||||
*-----------------------------------
|
*-----------------------------------
|
||||||
|
@ -195,15 +197,16 @@ REPLAY
|
||||||
* 200 - description salle
|
* 200 - description salle
|
||||||
*-----------------------------------
|
*-----------------------------------
|
||||||
|
|
||||||
:200 @print #strVOUS ; always output "VOUS ETES "
|
:200 jsr HGR
|
||||||
|
jsr setMIXEDOFF
|
||||||
|
|
||||||
|
@print #strVOUS ; always output "VOUS ETES "
|
||||||
|
|
||||||
lda SALLE
|
lda SALLE
|
||||||
sec
|
|
||||||
sbc #1
|
|
||||||
asl
|
asl
|
||||||
tax
|
tax
|
||||||
jsr (tbl7000,x)
|
jsr (tbl7000,x)
|
||||||
@key$
|
jsr setMIXEDON
|
||||||
|
|
||||||
:300 lda #0
|
:300 lda #0
|
||||||
sta H
|
sta H
|
||||||
|
@ -302,11 +305,8 @@ REPLAY
|
||||||
sta C,x
|
sta C,x
|
||||||
|
|
||||||
:550 @print #strCOMMANDE
|
:550 @print #strCOMMANDE
|
||||||
|
|
||||||
* lda #cursorCHAR
|
|
||||||
* sta PROMPT
|
|
||||||
jsr GETLN
|
jsr GETLN
|
||||||
|
|
||||||
lda TEXTBUFFER
|
lda TEXTBUFFER
|
||||||
cmp #chrRET2
|
cmp #chrRET2
|
||||||
bne :570
|
bne :570
|
||||||
|
@ -357,7 +357,7 @@ REPLAY
|
||||||
|
|
||||||
:940 lda T$
|
:940 lda T$
|
||||||
cmp MO$1
|
cmp MO$1
|
||||||
beq :950
|
bne :970
|
||||||
lda T$+1
|
lda T$+1
|
||||||
cmp MO$1+1
|
cmp MO$1+1
|
||||||
bne :970
|
bne :970
|
||||||
|
@ -425,7 +425,7 @@ REPLAY
|
||||||
jmp :1400
|
jmp :1400
|
||||||
|
|
||||||
:1150 lda NL
|
:1150 lda NL
|
||||||
cmp AA
|
cmp #AA
|
||||||
bcc :1200
|
bcc :1200
|
||||||
beq :1200
|
beq :1200
|
||||||
|
|
||||||
|
@ -453,8 +453,67 @@ REPLAY
|
||||||
:1190 @print #strEXCLAM
|
:1190 @print #strEXCLAM
|
||||||
jmp :100
|
jmp :100
|
||||||
|
|
||||||
:1200
|
:1200 lda NL
|
||||||
|
asl
|
||||||
|
tax
|
||||||
|
lda tblA$,x
|
||||||
|
sta LINNUM
|
||||||
|
lda tblA$+1,x
|
||||||
|
sta LINNUM+1
|
||||||
|
|
||||||
|
ldy #1
|
||||||
|
lda (LINNUM),y
|
||||||
|
cmp MO$1
|
||||||
|
beq :1201
|
||||||
|
iny
|
||||||
|
lda (LINNUM),y
|
||||||
|
cmp MO$1+1
|
||||||
|
bne :1210
|
||||||
|
:1201 jmp :1100
|
||||||
|
|
||||||
|
:1210 iny
|
||||||
|
lda (LINNUM),y
|
||||||
|
sta Y$
|
||||||
|
iny
|
||||||
|
lda (LINNUM),y
|
||||||
|
sta Y$+1
|
||||||
|
|
||||||
|
cmp Y$
|
||||||
|
bne :1225
|
||||||
|
cmp #"0"
|
||||||
|
bne :1225
|
||||||
|
jmp :1100
|
||||||
|
|
||||||
|
:1225 lda Y$
|
||||||
|
cmp MO$2
|
||||||
|
beq :1227
|
||||||
|
lda Y$+1
|
||||||
|
cmp MO$2+1
|
||||||
|
bne :1230
|
||||||
|
:1227 jmp :1100
|
||||||
|
|
||||||
|
:1230 ldy #0
|
||||||
|
lda (LINNUM),y
|
||||||
|
sec
|
||||||
|
sbc #4
|
||||||
|
sta E$
|
||||||
|
|
||||||
|
lda LINNUM
|
||||||
|
clc
|
||||||
|
adc #4
|
||||||
|
sta LINNUM
|
||||||
|
lda LINNUM+1
|
||||||
|
adc #0
|
||||||
|
sta LINNUM+1
|
||||||
|
|
||||||
|
ldy #1
|
||||||
|
]lp lda (LINNUM),y
|
||||||
|
sta E$,y
|
||||||
|
iny
|
||||||
|
cpy E$
|
||||||
|
bcc ]lp
|
||||||
|
beq ]lp
|
||||||
|
|
||||||
*-----------------------------------
|
*-----------------------------------
|
||||||
* 1400 - CONDITIONS
|
* 1400 - CONDITIONS
|
||||||
*-----------------------------------
|
*-----------------------------------
|
||||||
|
@ -1127,7 +1186,7 @@ nbCAR = 100 ; on ne depasse pas 100 caracteres
|
||||||
]lp lda TEXTBUFFER,x
|
]lp lda TEXTBUFFER,x
|
||||||
cmp #chrRET2
|
cmp #chrRET2
|
||||||
beq :6021
|
beq :6021
|
||||||
cmp #" "
|
cmp #chrSPC2
|
||||||
bne :6022
|
bne :6022
|
||||||
inx
|
inx
|
||||||
cpx lenSTRING
|
cpx lenSTRING
|
||||||
|
@ -1139,11 +1198,11 @@ nbCAR = 100 ; on ne depasse pas 100 caracteres
|
||||||
* 2. recopie le mot
|
* 2. recopie le mot
|
||||||
|
|
||||||
:6022 ldy #1
|
:6022 ldy #1
|
||||||
lda TEXTBUFFER,x
|
]lp lda TEXTBUFFER,x
|
||||||
cmp #chrSPC2
|
|
||||||
beq :6023
|
|
||||||
cmp #chrRET2
|
cmp #chrRET2
|
||||||
beq :6023
|
beq :6023
|
||||||
|
cmp #chrSPC2
|
||||||
|
beq :6023
|
||||||
sta X$1,y
|
sta X$1,y
|
||||||
inx
|
inx
|
||||||
cpx lenSTRING
|
cpx lenSTRING
|
||||||
|
@ -1151,31 +1210,37 @@ nbCAR = 100 ; on ne depasse pas 100 caracteres
|
||||||
iny
|
iny
|
||||||
cpy #4
|
cpy #4
|
||||||
bcc ]lp
|
bcc ]lp
|
||||||
:6023 sty X$1 ; sauve la longueur
|
beq ]lp
|
||||||
|
:6023 dey
|
||||||
|
sty X$1 ; sauve la longueur
|
||||||
|
|
||||||
* 3. cherche l'index du second mot
|
* 3. cherche un espace
|
||||||
|
|
||||||
inx
|
inx
|
||||||
]lp lda TEXTBUFFER,x
|
]lp lda TEXTBUFFER,x
|
||||||
cmp #chrRET2
|
cmp #chrRET2
|
||||||
beq :6021
|
beq :6031
|
||||||
cmp #" "
|
cmp #chrSPC2
|
||||||
bne :6032
|
beq :6032
|
||||||
inx
|
inx
|
||||||
cpx lenSTRING
|
cpx lenSTRING
|
||||||
bcs :6031
|
bcs :6031
|
||||||
cpx #nbCAR
|
cpx #nbCAR
|
||||||
bcc ]lp
|
bcc ]lp
|
||||||
:6031 rts ; retourne sans avoir trouve
|
:6031 jmp :6160 ; retourne sans avoir trouve
|
||||||
|
|
||||||
|
* 0123456789012
|
||||||
|
* PRENDRE LAMPE
|
||||||
|
|
||||||
* 4. recopie le mot
|
* 4. recopie le mot
|
||||||
|
|
||||||
:6032 ldy #1
|
:6032 inx
|
||||||
lda TEXTBUFFER,x
|
ldy #1
|
||||||
cmp #chrSPC2
|
]lp lda TEXTBUFFER,x
|
||||||
beq :6033
|
|
||||||
cmp #chrRET2
|
cmp #chrRET2
|
||||||
beq :6033
|
beq :6033
|
||||||
|
cmp #chrSPC2
|
||||||
|
beq :6033
|
||||||
sta X$2,y
|
sta X$2,y
|
||||||
inx
|
inx
|
||||||
cpx lenSTRING
|
cpx lenSTRING
|
||||||
|
@ -1183,8 +1248,13 @@ nbCAR = 100 ; on ne depasse pas 100 caracteres
|
||||||
iny
|
iny
|
||||||
cpy #4
|
cpy #4
|
||||||
bcc ]lp
|
bcc ]lp
|
||||||
:6033 sty X$2 ; sauve la longueur
|
beq ]lp
|
||||||
|
:6033 dey
|
||||||
|
sty X$2 ; sauve la longueur
|
||||||
|
|
||||||
|
* 5. cherche le mot dans les options
|
||||||
|
* X$1 PREN
|
||||||
|
* X$2 LAMP
|
||||||
|
|
||||||
*--------
|
*--------
|
||||||
|
|
||||||
|
@ -1198,6 +1268,7 @@ X$2 ds 4+1 ; second mot saisi
|
||||||
*-----------------------------------
|
*-----------------------------------
|
||||||
|
|
||||||
tbl7000
|
tbl7000
|
||||||
|
da $bdbd
|
||||||
da :7000
|
da :7000
|
||||||
da :7010
|
da :7010
|
||||||
da :7020
|
da :7020
|
||||||
|
@ -1228,82 +1299,69 @@ tbl7000
|
||||||
@print #str7000
|
@print #str7000
|
||||||
@wait #250
|
@wait #250
|
||||||
@print #str7001
|
@print #str7001
|
||||||
jsr :10000
|
jmp :10000
|
||||||
rts
|
|
||||||
|
|
||||||
:7010
|
:7010
|
||||||
@print #str7010
|
@print #str7010
|
||||||
jsr :10100
|
jmp :10100
|
||||||
rts
|
|
||||||
|
|
||||||
:7020
|
:7020
|
||||||
@print #str7020
|
@print #str7020
|
||||||
jsr :10200
|
jmp :10200
|
||||||
rts
|
|
||||||
|
|
||||||
:7030
|
:7030
|
||||||
@print #str7030
|
@print #str7030
|
||||||
lda #0
|
lda #0
|
||||||
sta F1
|
sta F1
|
||||||
jsr :10300
|
jmp :10300
|
||||||
rts
|
|
||||||
|
|
||||||
:7040
|
:7040
|
||||||
@print #str7040
|
@print #str7040
|
||||||
lda #1
|
lda #1
|
||||||
sta F1
|
sta F1
|
||||||
jsr :10300
|
jmp :10300
|
||||||
rts
|
|
||||||
|
|
||||||
:7050
|
:7050
|
||||||
@print #str7050
|
@print #str7050
|
||||||
jsr :10500
|
jmp :10500
|
||||||
rts
|
|
||||||
|
|
||||||
:7060
|
:7060
|
||||||
@print #str7060
|
@print #str7060
|
||||||
jsr :10600
|
jmp :10600
|
||||||
rts
|
|
||||||
|
|
||||||
:7070
|
:7070
|
||||||
@print #str7070
|
@print #str7070
|
||||||
lda #0
|
lda #0
|
||||||
sta LX
|
sta LX
|
||||||
jsr :10700
|
jmp :10700
|
||||||
rts
|
|
||||||
|
|
||||||
:7080
|
:7080
|
||||||
@print #str7080
|
@print #str7080
|
||||||
jsr :10800
|
jmp :10800
|
||||||
rts
|
|
||||||
|
|
||||||
:7090
|
:7090
|
||||||
@print #str7090
|
@print #str7090
|
||||||
lda #0
|
lda #0
|
||||||
sta LX
|
sta LX
|
||||||
jsr :10900
|
jmp :10900
|
||||||
rts
|
|
||||||
|
|
||||||
:7100
|
:7100
|
||||||
@print #str7100
|
@print #str7100
|
||||||
lda #0
|
lda #0
|
||||||
sta LX
|
sta LX
|
||||||
jsr :11000
|
jmp :11000
|
||||||
rts
|
|
||||||
|
|
||||||
:7110
|
:7110
|
||||||
@print #str7110
|
@print #str7110
|
||||||
lda #2
|
lda #2
|
||||||
sta LX
|
sta LX
|
||||||
jsr :10700
|
jmp :10700
|
||||||
rts
|
|
||||||
|
|
||||||
:7120
|
:7120
|
||||||
@print #str7120
|
@print #str7120
|
||||||
lda #1
|
lda #1
|
||||||
sta LX
|
sta LX
|
||||||
jsr :10700
|
jmp :10700
|
||||||
rts
|
|
||||||
|
|
||||||
:7130 ; nada
|
:7130 ; nada
|
||||||
rts
|
rts
|
||||||
|
@ -1312,70 +1370,59 @@ tbl7000
|
||||||
@print #str7140
|
@print #str7140
|
||||||
lda #2
|
lda #2
|
||||||
sta LX
|
sta LX
|
||||||
jsr :12200
|
jmp :12200
|
||||||
rts
|
|
||||||
|
|
||||||
:7150
|
:7150
|
||||||
@print #str7150
|
@print #str7150
|
||||||
@print #str7001
|
@print #str7001
|
||||||
jsr :11500
|
jmp :11500
|
||||||
rts
|
|
||||||
|
|
||||||
:7160
|
:7160
|
||||||
@print #str7160
|
@print #str7160
|
||||||
lda #1
|
lda #1
|
||||||
sta LX
|
sta LX
|
||||||
jsr :10900
|
jmp :10900
|
||||||
rts
|
|
||||||
|
|
||||||
:7170
|
:7170
|
||||||
@wait #300
|
@wait #300
|
||||||
@print #str7170
|
@print #str7170
|
||||||
jsr :11700
|
jmp :11700
|
||||||
rts
|
|
||||||
|
|
||||||
:7180
|
:7180
|
||||||
@print #str7180
|
@print #str7180
|
||||||
jsr :11800
|
jmp :11800
|
||||||
rts
|
|
||||||
|
|
||||||
:7190
|
:7190
|
||||||
@print #str7190
|
@print #str7190
|
||||||
lda #2
|
lda #2
|
||||||
sta LX
|
sta LX
|
||||||
jsr :10900
|
jmp :10900
|
||||||
rts
|
|
||||||
|
|
||||||
:7200
|
:7200
|
||||||
@print #str7200
|
@print #str7200
|
||||||
lda #1
|
lda #1
|
||||||
sta LX
|
sta LX
|
||||||
jsr :12200
|
jmp :12200
|
||||||
rts
|
|
||||||
|
|
||||||
:7210
|
:7210
|
||||||
@print #str7210
|
@print #str7210
|
||||||
lda #1
|
lda #1
|
||||||
sta LX
|
sta LX
|
||||||
jsr :11000
|
jmp :11000
|
||||||
rts
|
|
||||||
|
|
||||||
:7220
|
:7220
|
||||||
@print #str7220
|
@print #str7220
|
||||||
lda #0
|
lda #0
|
||||||
sta LX
|
sta LX
|
||||||
jsr :12200
|
jmp :12200
|
||||||
rts
|
|
||||||
|
|
||||||
:7230
|
:7230
|
||||||
@print #str7230
|
@print #str7230
|
||||||
jsr :12300
|
jmp :12300
|
||||||
rts
|
|
||||||
|
|
||||||
:7240
|
:7240
|
||||||
@print #str7240
|
@print #str7240
|
||||||
jsr :12400
|
jmp :12400
|
||||||
rts
|
|
||||||
|
|
||||||
*--------
|
*--------
|
||||||
|
|
||||||
|
@ -2214,7 +2261,7 @@ M$25 str "022100"
|
||||||
|
|
||||||
*---
|
*---
|
||||||
|
|
||||||
* A = 128
|
AA = 128
|
||||||
|
|
||||||
tblA$ da $bdbd
|
tblA$ da $bdbd
|
||||||
da A$1,A$2,A$3,A$4,A$5,A$6,A$7,A$8,A$9
|
da A$1,A$2,A$3,A$4,A$5,A$6,A$7,A$8,A$9
|
||||||
|
@ -2385,7 +2432,6 @@ C$14 str ".L."
|
||||||
|
|
||||||
*-----------------------------------
|
*-----------------------------------
|
||||||
|
|
||||||
AA ds 1 ; copycat of A
|
|
||||||
A1 ds 1
|
A1 ds 1
|
||||||
BREAK ds 1
|
BREAK ds 1
|
||||||
C ds 10+1
|
C ds 10+1
|
||||||
|
@ -2411,6 +2457,7 @@ S ds 2 ; pour S(1)
|
||||||
SALLE ds 1
|
SALLE ds 1
|
||||||
T ds 1
|
T ds 1
|
||||||
T$ ds 2 ; "00"
|
T$ ds 2 ; "00"
|
||||||
|
Y$ ds 2 ; "00"
|
||||||
Y1 ds 1
|
Y1 ds 1
|
||||||
Y2 ds 1
|
Y2 ds 1
|
||||||
Z ds 1
|
Z ds 1
|
||||||
|
@ -2428,12 +2475,12 @@ strILFAITNOIR
|
||||||
asc "IL FAIT NOIR COMME DANS UN FOUR, IL"8D
|
asc "IL FAIT NOIR COMME DANS UN FOUR, IL"8D
|
||||||
asc "FAUDRAIT PEUT-ETRE ALLUMER"00
|
asc "FAUDRAIT PEUT-ETRE ALLUMER"00
|
||||||
|
|
||||||
strILYA asc 8D"IL Y A DANS LA SALLE :"00
|
strILYA asc "IL Y A DANS LA SALLE :"00
|
||||||
strSPACE asc " "00
|
strSPACE asc " "00
|
||||||
strRETURN asc 8D
|
strRETURN asc 8D00
|
||||||
|
|
||||||
strCOMMANDE
|
strCOMMANDE
|
||||||
asc 8D"QUE FAITES-VOUS ? "
|
asc "QUE FAITES-VOUS ? "00
|
||||||
|
|
||||||
strJENECOMPRENDS
|
strJENECOMPRENDS
|
||||||
asc 8D"JE NE COMPRENDS PAS..."00
|
asc 8D"JE NE COMPRENDS PAS..."00
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,8 +1,3 @@
|
||||||
1200 IF MID$(A$(NL),1,2)<>MO$(1) THEN 1100
|
|
||||||
1210 Y$=MID$(A$(NL),3,2)
|
|
||||||
1220 IF Y$<>"00" AND Y$<>MO$(2) THEN 1100
|
|
||||||
1230 E$=MID$(A$(NL),5)
|
|
||||||
|
|
||||||
4000 HIRES:FORN=1TO20:EXPLODE:WAIT4:NEXT
|
4000 HIRES:FORN=1TO20:EXPLODE:WAIT4:NEXT
|
||||||
4001 PRINT"Vous avez gardez la lampe trop longtemps allumee,elle a explose"
|
4001 PRINT"Vous avez gardez la lampe trop longtemps allumee,elle a explose"
|
||||||
4005 WAIT400:RETURN
|
4005 WAIT400:RETURN
|
||||||
|
|
Loading…
Reference in New Issue
Block a user