fichier des dialogues : dial.s

 

%DIAL%%%%%%%%%%%%%%%%%
%                    %
%%%%%%%%%%%%%%%%%%%%%%
**OPEN.DIAL
ST=0.13
D0= 00182 A=DAT0.B
LC 20 ?A>C.B
{ ST=1.0 } ELSE { ST=0.0 }
D0= 0018E A=DAT0.A
D1= 001B1 B=0.A
?ST=0.0
{ LC 00550 A=A+C.A B=B+C.A }
LC 00176 A=A+C.A R0=A
D0= 00193 A=DAT0.A
?ST=0.0
{ LC 00550 A=A+C.A }
LC 00176 A=A+C.A R1=A
C=B.A DAT1=C.A
LC 17 CSRB.B B=C.B
LC 01 D=C.B
DO {
C=D.B A=R0 D0=A
A=0.W A=-A-1.W
GOSUBL DISP.LINE
C=D.B A=R1 D0=A
A=0.W A=-A-1.W
GOSUBL DISP.LINE
LC B00 DO { C--.X } WHILENC
D=D+2.B LC 00022
A=R0 A=A-C.A R0=A
A=R1 A=A-C.A R1=A
B--.B } WHILENC
RTN
**KILL.DIAL
ST=1.13
RTN
**FNT1
GOSUBL FNT1
$FFFFFFFFFFFF5D5DFFFFFFFFFFFFFFFFFF7F7F7F7F7FFF7FFFBEBEBEFFFFFFFFFFBEBE1CBE1CBEBEFF7F3C5F3E7D1E7FFF9F9DFE7FBFDCFCFFBF5F5FBF5DDE3DFF7F7F7FFFFFFFFFFFFE7FBFBFBF7FFEFFBF7FFEFEFE7FBFFFFFBE7F1C7FBEFFFFFF7F7F1C7F7FFFFFFFFFFF3F3F7FBFFFFFFFFF1CFFFFFFFFFFFFFFFFFF3F3FFFFFFDFE7FBFDFFFFF3EDDDC5D9DDD3EFF7F3F7F7F7F7F3EFF3EDDFD7EBFDF1CFF3EDDFD3EFDDD3EFFFE7EBEDE1CFEFEFF1CDF1EFDFDDD3EFF7EBFDF1EDDDD3EFF1CFDFE7FBFBFBFFF3EDDDD3EDDDD3EFF3EDDDD3CFDFE3FFFFF3F3FFF3F3FFFFFFF3F3FFF3F3F7FBFFE7FBFDFBF7FFEFFFFFF1CFF1CFFFFFFDFBF7FFE7FBFDFFF3EDDFDFE7FFF7FFF3EDD5D5C5FDF3CFFFBF9FA7B38DBEBFF3CBBBB1CDDED0EFF7CBBDFDFEFED1EFF3CBBBBDBDBED0EFF38BFBF1CDFEF0CFF38BFBF1CDFEFEFFF7CBBDFDFE8ED1EFFBBBBDD1CDDEEEEFF7CFE7F7FBFBF1FFFFBFBFDFDEEEE1FFFBDBE3F9F9F6FEEFFBFBFDFDFDFEF0EFF7B393A5BDDEDEDFFBBBB1B5DDCEDEDFF3CDBDBEBEDED1EFF3CBBDB1CDFEFEFFF3CDBDBEB6CED1AFF3CBBDB1CDEEEEEFF3CDBDF3EFDED1EFF187F7FBFBFDFDFFFBBBBDDDDEEEE1FFFEBEDEE6FAFCFEFFFDBDBDD6D2D4EEEFFBBBD7E7F3FDEEEFFDBDC3FBFBFDFDFFF18FDFE7FBFDF0CFF3EBFBFBFBFBF3EFFFFDFBF7FFEFDFFFF3EFEFEFEFEFE3EFF7FBEDDFFFFFFFFFFFFFFFFFFFFFF1CFFBFBF7FFFFFFFFFFFFFFF7EBDDDDE3DFF7F7FBF3EBDDD1EFFFFFF7EBFDFDF3EFFFBFBFD3CDEDE3EFFFFFF7EBD1CDF3EFFF9FE187F7FBFBFFFFF7EBDBD7CDE1FFF7F7FBFBF3EDEDEFFFCFFFF7F7FBFBFFCFFFFFEFE7F6F9FFF7F7FBDBE3FDEDDFFFEFE7F7F7FBFBFFFFFFF3DBABA5D5DFFFFFFBE3DBDDEDEFFFFFF7EBDDDDE3FFFFF7EBDBD3EDFDFFFFF7EBDDD3EFE7FFFFFFF7D7E7FBFBFFFFFFF7EBD7FDE3FFFFFFE3C7F7FBFBFFFFFFFBDBDDEDE3DFFFFFFDDDE5F9FDFFFFFFFBABA5D5DBEFFFFFFBD7E7FBEDEFFFFFFBB7D7E7FBFFFFFFF3CFE7FBF1EFF7EBFBFDFBFBF7EFF7F7F7F7F7F7F7FFF3FFEFEFDFEFE3FFFFFFFBF5DFEFFFFFF5DBE5DBE5DBE5DFF
*FNT1 C=RSTK
RTN
**WRITE
GOSUBL MARIO_1
R1=C % TXT
GOSUBL WRT_LINE
D0= 001B1 A=DAT0.A
LC 00132 A=A+C.A
DAT0=A.A
C=R1 C=C+2.A R1=C
GOSUBL WRT_LINE
GOSUBL STOP.DIAL
GOSUBL NEXT_TXT
*DEFIL
C=R1 C=C+2.A R1=C
GOSUBL STOP.DIAL
GOSUBL NEXT_TXT
GOSUBL SCR.DIAL
LC 05000 DO { C--.A } WHILENC
GOSUBL SCR.DIAL
GOSUBL WRT_LINE
GOSUBL STOP.DIAL
GOSUBL NEXT_TXT
GOTO DEFIL
**WRT_LINE
D0= 0018E A=DAT0.A
D0= 001B1 C=DAT0.A
A=A+C.A
LC 00066 A=A+C.A A++.A
R0=A % @DIAL
LC F R2=C % <==> X 15
*<X>
GOSUBL FNT1 D1=C
C=R1 D0=C
LC 1F B=C.B
*READ.TXT
A=DAT0.B ?A=B.B
{ GOTO DISP.L }
LC 80 ?B‹C.B
{
B++.B D1=D1+ 16
GOTO READ.TXT
}
ELSE
{
A=DAT0.B LC 40 ?A=C.B
{ RTN }
A=DAT0.B LC 2A ?A=C.B
{ RTN }
A=DAT0.B LC 0A ?A=C.B
{ RTN }
GOTO ZAP.L
}
*DISP.L
A=R0 D0=A LC 7
DO { A=DAT1.B DAT0=A.B
D0=D0+ 34 D1=D1+ 2
C--.P } WHILENC
A=R0 D0= 0018E C=DAT0.A
A=A-C.A D0= 00193
C=DAT0.A C=C+A.A D0=C
A=R0 D1=A
 LC 7
DO { A=DAT1.B DAT0=A.B
D0=D0+ 34 D1=D1+ 34
C--.P } WHILENC
LC 01400 DO { C--.A } WHILENC
*ZAP.L
A=R0 A=A+2.A R0=A %@EC
C=R1 C=C+2.A R1=C %TXT
C=R2 C--.P R2=C
?C‹0.P { GOTO <X> }
RTN
*SCR.DIAL
LC 4 R3=C.P
*SCR.D
D0= 0018E A=DAT0.A
D0= 001B1 C=DAT0.A
A=A+C.A LC 00132
A=A-C.A D0=A D1=A
D1=D1+ 34
LC 15
DO { A=DAT1.W DAT0=A.W
D0=D0+ 16 D1=D1+ 16
A=DAT1.W DAT0=A.W
D0=D0+ 18 D1=D1+ 18
C--.B } WHILENC
D0= 00193 A=DAT0.A
D0= 001B1 C=DAT0.A
A=A+C.A LC 00110
A=A-C.A D0=A D1=A
D1=D1+ 34
LC 15
DO { A=DAT1.W DAT0=A.W
D0=D0+ 16 D1=D1+ 16
A=DAT1.W DAT0=A.W
D0=D0+ 18 D1=D1+ 18
C--.B } WHILENC
C=R3 ?C=0.P RTNYES
C--.P R3=C
GOTO SCR.D
*STOP.DIAL
C=R1 D0=C A=DAT0.B
LC 40 ?A=C.B
{ C=RSTK RTN }
C=R1 D0=C A=DAT0.B
LC 2A ?A=C.B
{
D0= 00193 A=DAT0.A
LC 00280 A=A+C.A
?ST=0.0
{ LC 00550 A=A+C.A }
B=A.A GOSUBL F_ON
D=0.X ST=0.9
*NEXT
LC 800 ?D=C.X
{
 D=0.X
 ?ST=0.9 { ST=1.9 GOSUBL F_OFF } ELSE { ST=0.9 GOSUBL F_ON }
}
ELSE
{ D++.X } 
LC 008 GOSBVL [INKEY]
?CBIT=1.3
{ C=RSTK GOLONG KILL.DIAL }
LC 008 GOSBVL [INKEY]
?CBIT=0.1 GOYES NEXT
C=R1 C=C+2.B R1=C
GOSUBL F_OFF
}
RTN
*F_OFF
A=B.A D0=A
D0=D0+ 2 LC 4
DO {
LA FF DAT0=A.B
D0=D0+ 34 C--.P
} WHILENC
RTN
*F_ON
GOSUB FLECHE
$3E3E1C3E7F
*FLECHE
C=RSTK D1=C
A=B.A D0=A
D0=D0+ 2 LC 4
DO {
A=DAT1.B A=A+A.B
ABIT=1.0 DAT0=A.B
D0=D0+ 34 D1=D1+ 2 C--.P
} WHILENC
RTN
*NEXT_TXT
C=R1 D0=C A=DAT0.B
LC D8 ?A=C.B
{
D0= 001C9 A=DAT0.A
D0=A D0=D0+ 1
?ST=1.10 { D0=D0+ 8 }
D0=D0+ 6
A=DAT0.P A++.P
DAT0=A.P
C=R1 C=C+2.A R1=C
}
RTN
*DISP.LINE
DO {
DAT0=A.W D0=D0+ 16
DAT0=A.W D0=D0+ 18
C--.B } WHILENC
RTN
@

 

Retour