fichier des fonctions diverses: misc.s
%MISC%%%%%%%%%%%%%%%%% % WAIT,CONT,.. % %%%%%%%%%%%%%%%%%%%%%%
**WAIT LC 01000 DO { C--.A } WHILENC RTN
**CONT+ LC 001 GOSBVL [INKEY] ?CBIT=0.0 RTNYES D0= 00101 A=DAT0.B LC 18 ?A<C.B { A++.B DAT0=A.B } RTN
**CONT- LC 002 GOSBVL [INKEY] ?CBIT=0.0 RTNYES D0= 00101 A=DAT0.B LC 03 ?A>C.B { A--.B DAT0=A.B } RTN
**TB ?ST=0.13 RTNYES %DIAL LC 002 GOSBVL [INKEY] ?CBIT=0.2 RTNYES *YB LA 00000 D0= 001B6 DAT0=A.A % SPR@
D0= 00182 A=DAT0.B LC 2F ?AC.B { GOSUBL ?B ?ST=1.10 RTNYES D0= 00182 A=DAT0.B A++.B DAT0=A.B } ELSE { ?ST=0.11 RTNYES %NROOM ?ST=1.12 RTNYES ST=1.12 GOSUBL SCROL_H D0= 00182 A=0.B DAT0=A.B GOSUBL COPY_BA GOSUBL RCL.SP } RTN
**TH ?ST=0.13 RTNYES %DIAL LC 008 GOSBVL [INKEY] ?CBIT=0.2 RTNYES *YH LA 00198 D0= 001B6 DAT0=A.A % SPR@
D0= 00182 A=DAT0.B ?A0.B { GOSUBL ?H ?ST=1.10 RTNYES D0= 00182 A=DAT0.B A--.B DAT0=A.B } ELSE { ?ST=0.11 RTNYES %NROOM ?ST=0.12 RTNYES ST=0.12 GOSUBL SCROL_B D0= 00182 LA 30 DAT0=A.B GOSUBL COPY_BA GOSUBL RCL.SP } RTN
**TD ?ST=0.13 RTNYES %DIAL LC 004 GOSBVL [INKEY] ?CBIT=0.1 RTNYES *YD LA 004C8 D0= 001B6 DAT0=A.A % SPR@
GOSUBL ?D ?ST=1.10 RTNYES
D0= 00180 A=DAT0.B LC 6F ?AC.B { A++.B DAT0=A.B } RTN
**TG ?ST=0.13 RTNYES %DIAL LC 004 GOSBVL [INKEY] ?CBIT=0.3 RTNYES *YG LA 00330 D0= 001B6 DAT0=A.A % SPR@
GOSUBL ?G ?ST=1.10 RTNYES
D0= 00180 A=DAT0.B ?A0.B { A--.B DAT0=A.B } RTN
**T9 LC 008 GOSBVL [INKEY] ?CBIT=0.1 RTNYES *Y9
GOSUBL ?_PERSO
?ST=1.13 { GOSUBL OPEN.DIAL GOSUBL WAIT GOSUBL WRITE } ELSE { GOSUBL KILL.DIAL *ATT LC 008 GOSBVL [INKEY] ?CBIT=1.1 GOYES ATT } RTN
**T7 LC 008 GOSBVL [INKEY] ?CBIT=0.3 RTNYES *Y7 GOSUBL KILL.DIAL RTN
**THD LC 008 GOSBVL [INKEY] ?CBIT=0.1 RTNYES GOSUBL YH GOSUBL YD RTN
**THG LC 008 GOSBVL [INKEY] ?CBIT=0.3 RTNYES GOSUBL YH GOSUBL YG RTN
**TBD LC 002 GOSBVL [INKEY] ?CBIT=0.1 RTNYES GOSUBL YB GOSUBL YD RTN
**TBG LC 002 GOSBVL [INKEY] ?CBIT=0.3 RTNYES GOSUBL YB GOSUBL YG RTN
**T[+/-] LC 010 GOSBVL [INKEY] ?CBIT=0.3 RTNYES
%?ST=0.8 { ST=1.8 } %ELSE { ST=0.8 %D0= 001C7 LA 01 DAT0=A.B }
RTN
**COPY_AB %?ST=1.8 { GOLONG MENU_ON }
D1= [ECRAN1] A=DAT1.A D1=A D0= 0018E A=DAT0.A D0=A LC 87 DO { A=DAT1.W DAT0=A.W D0=D0+ 16 D1=D1+ 16 C--.B } WHILENC D1= [ECRAN2] A=DAT1.A D1=A D0= 00193 A=DAT0.A D0=A LC 87 DO { A=DAT1.W DAT0=A.W D0=D0+ 16 D1=D1+ 16 C--.B } WHILENC RTN
**COPY_BA D1= 0018E A=DAT1.A D1=A D0= [ECRAN1] A=DAT0.A D0=A LC 87 DO { A=DAT1.W DAT0=A.W D0=D0+ 16 D1=D1+ 16 C--.B } WHILENC D1= 00193 A=DAT1.A D1=A D0= [ECRAN2] A=DAT0.A D0=A LC 87 DO { A=DAT1.W DAT0=A.W D0=D0+ 16 D1=D1+ 16 C--.B } WHILENC RTN
**LANDA D1= 00198 A=DAT1.A D1=A D0= [ECRAN1] A=DAT0.A D0=A LC 87 DO { A=DAT1.W DAT0=A.W D0=D0+ 16 D1=D1+ 16 C--.B } WHILENC D1= 0019D A=DAT1.A D1=A D0= [ECRAN2] A=DAT0.A D0=A LC 87 DO { A=DAT1.W DAT0=A.W D0=D0+ 16 D1=D1+ 16 C--.B } WHILENC RTN
*?_PERSO D0= 001C9 A=DAT0.A D0=A D0=D0+ 1
D0=D0+ 2 A=DAT0.B D1= 001BD DAT1=A.B D0=D0+ 2 A=DAT0.B D1= 001BF DAT1=A.B
% n fois
D0= 00180 A=DAT0.B B=A.B D0= 001BD C=DAT0.B LA 10 C=C+A.B ?B>C.B { GOTO ?P2 } LA 10 C=C-A.B C=C-A.B ?B<C.B { GOTO ?P2 }
D0= 00182 A=DAT0.B ?ST=1.12 { LC 64d A=A+C.B } B=A.B D0= 001BF C=DAT0.B LA 10 C=C+A.B ?B>C.B { GOTO ?P2 } LA 10 C=C-A.B C=C-A.B ?B<C.B { GOTO ?P2 } ST=0.10 %TALK-2 RTN
*?P2 D0= 001C9 A=DAT0.A D0=A D0=D0+ 1 D0=D0+ 8
D0=D0+ 2 A=DAT0.B D1= 001BD DAT1=A.B D0=D0+ 2 A=DAT0.B D1= 001BF DAT1=A.B
D0= 00180 A=DAT0.B B=A.B D0= 001BD C=DAT0.B LA 10 C=C+A.B ?B>C.B { C=RSTK RTN } LA 10 C=C-A.B C=C-A.B ?B<C.B { C=RSTK RTN }
D0= 00182 A=DAT0.B ?ST=1.12 { LC 64d A=A+C.B } B=A.B D0= 001BF C=DAT0.B LA 10 C=C+A.B ?B>C.B { C=RSTK RTN } LA 10 C=C-A.B C=C-A.B ?B<C.B { C=RSTK RTN } ST=1.10 %TALK-2 RTN
@