CODING ★ LES VECTEURS SYSTEME DES CPC: EXEMPLE D'USAGE DES ROUTINES CLAVIER ET TEXTE ★

System - Les Routines System - Exemple d'usage des Routines Clavier et Texte (SOS Programmeurs)
Les effets de cette routine n'ont rien de transcendant , elle se contente d'afficher un texte , puis un menu dans une fenêtre affiche le résultat de vos sélections à l'écran . Vous constaterez toutefois , qu'il n'est absolument pas nécéssaire de s'abrutir avec toutes les instructions du Z80 pour commencer a programmer . Vous jetterez un œil en particulier sur l'usage de OR A dans la routine PRT qui permet de vérifier si A vaut 0 (AND A aurait le même effet) , et noterez que dans ce cas , votre chaîne à afficher doit toujours se terminer pas 0 . On peut utiliser d'autres codes comme marque de fin d'affichage mais ce 0 est le plus commode à tester . Pour le reste , si cela ne vous parît pas évident , vous avez besoin de relire le cours d'Assembleur du numéro 5 .

;
;- Demonstration routines clavier et texte -
;
  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 écran
  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 écran 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

SOS PROGRAMMEURS

★ ANNÉE: ???
★ AUTEUR: MICHEL MAIGROT

★ AMSTRAD CPC ★ DOWNLOAD ★

Other platform tool:
» MICHEL  MAIGROT-les  routines  system-exemple  d  usage  des  routines  clavier  et  texte    SOSPDATE: 2012-08-27
DL: 323
TYPE: text
SiZE: 4Ko
NOTE:

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Coding » Menu - Soft - Vecteurs System
» Coding Src's » End Demo (Logon System)
» Coding » Read the Tape Data's Whitout the System (The Amstrad User)
» Coding Src's » Config - Systemidentifikator (CPC Amstrad International)
» Coding » Clefs pour Amstrad 1 : 27 Variables Systeme
» Coding » System - Les Routines System (SOS Programmeurs)
Je participe au site:
» Vous avez des infos personnel, des fichiers que nous ne possédons pas concernent ce programme ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.732-desktop/c
Page créée en 425 millisecondes et consultée 2438 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.