;
;- Demonstration routines clavier et texte - M.MAIGROT, ; ORG 40000 nolist ; CALL #BC11 ;Determiner mode en cours LD (OLDMODE),A ;Et stocker ; CALL #BB99 ;Idem pour PAPER LD (OLDPAPER),A ; CALL #BB93 ;Et pour PEN LD (OLDPEN),A ; LD A,1 ;Parametre mode ecran CALL #BC0E ;Fixer Mode 1 ; LD A,2 ;Parametre PAPER CALL #BB96 ;Fixer PAPER 2 CALL #BB6C ;CLS #0 ; LD A,1 CALL #BB96 ;PAPER 1 LD A,3 CALL #BB90 ;PEN 3 ; LD HL,#0618 ;H=6 , L=24 CALL #BB75 ;LOCATE ; LD HL,TEXTE1 ;Adresse du texte a afficher dans HL CALL PRT ;Afficher texte.La routine est a la fin du listing ; LD H,10 ;Parametre colonne gauche fenetre . LD L,5 ;Ligne haute LD D,29 ;Colonne droite LD E,15 ;Ligne bas CALL #BB66 ;Fixer fenetre #0 ; CALL #BB6C ;Effacer canal 0 ; LD HL,TMENU ;Afficher le menu dans la fenetre . CALL PRT ; TSTKEY LD A,7 ;Faire BIP (PRINT CHR$(7)) CALL #BB5A NXTST CALL #BB06 ;Attendre l'appui sur une touche AND #DF ;Forcer les majuscules pour le test CP "Q" JP Z,QUITTER ;'Q' ou 'q' enfonce , quitter programme ; CP "A" ;Si caractere plus petit que "A" JR C,TSTKEY ;n'est pas valide , faire BIP et retester CP "G" ;Si caractere plus grand que "F" JR NC,TSTKEY ;n'est pas valide non plus , faire BIP et retester ; PUSH AF ;A va etre modifie par ce qui suit LD HL,TEXTE2 ;Afficher texte 2 CALL PRT POP AF ;Recuperer le caractere donne par #BB06 CALL #BB5A ;Et l'afficher a la suite de TEXTE2 JR NXTST ;Et recommencer le test SANS fiare BIP QUITTER LD A,(OLDMODE) ;Restaurer le mode ecran sauve en entree CALL #BC0E LD A,(OLDPAPER) ;Idem pour PAPER CALL #BB96 LD A,(OLDPEN) ;Idem pour PEN CALL #BB90 RET ;C'est fini . ; PRT LD A,(HL) ;Mettre dans A le caractere pointe par HL OR A ;Tester si c'est 0 RET Z ;Si oui on arrete la sortie des caracteres CALL #BB5A ;Si non on affiche INC HL ;On pointe le caractere suivant JR PRT ;Et on retourne tester ; OLDMODE DB 0 OLDPAPER DB 0 OLDPEN DB 0 ; TEXTE1 DB " Demo. routines texte/clavier ",0 TMENU DB 31,1,2," [A] = Option 1",10,13 DB " [B] = Option 2",10,13 DB " [C] = Option 3",10,13 DB " [D] = Option 4",10,13 DB " [E] = Option 5",10,13 DB " [F] = Option 6",10,13 DB " [Q] = QUITTER DEMO",0 ; TEXTE2 DB 31,1,10," Selection faite: ",0 |