CODING ★ LES VECTEURS SYSTEME DES CPC ★

System - Les Routines System (SOS Programmeurs)
Ces vecteurs sont le moyen essentiel de  communication entre la ROM et la  RAM . Ils occupent la zone RAM de  &B900 à &BDCA . Chaque vecteur est composé  de 3 octets déterminant un Restart ou un saut (3octets) à une adresse donnée.

 Je m'explique : Quelque soit le  langage de programmation employé , votre  programme se trouve toujours dans la  RAM alors que le système d'exploitation  qui gère le CPC est dans  la  ROM  .  Lorsque  vous avez besoin d'afficher un  caractère , d'accéder au drive  ,  ou  d'accomplir  toute  autre action , les  routines qui permettent ceci sont  en  ROM  et  la  table des vecteurs est le  moyen le plus commode  d'accéder  à  la  routine  appropriée  . Par exemple ,  lorsque vous faites en basic  :  CALL  &BB06  ,  ce  vecteur commute la ROM ,  exécute la routine ROM qui attend l'appui sur une touche et lorsque la touche  à été enfoncée revient dans la RAM et le programme reprend son cours .

Un autre exemple : POKE &BB5A,&C9 .  Un  code  RETour est mis dans le 1er  octet du vecteur  qui  ne  peut  donc  plus  activer  la  ROM  .  Après cette  instruction  ,  vous  constaterez  que   la  commande  PRINT  est  totalement  inopérante .

Plus de détails :  Les  routines  ROM  peuvent  aussi  être commutées par  d'autres moyens mais il  faut  connaître  l'adresse  exacte  de la routine et  celle ci-diffère selon le  type  de  CPC  (464  -  664  -  6128) alors que la  position en RAM des vecteurs est la même sur  tous les CPC . En revanche , le  contenu  de  ces  vecteurs  diffère  et  si  l'on  veut  les  modifier  comme  précédement , puis les restaurer  ,  il  faudra préserver le contenu originel  pour le restituer par la suite . Exemple :

10 a=PEEK(&BB5A) 'Preserver contenu de &BB5A
20 POKE &BB5A,&C9   'Interdire affichage
30 PRINT"AFFICHAGE" 'Le texte ne s'affichera pas
40 END
50 POKE &BB5A,A  'Restaurer le vecteur
60 GOTO 20    'Cette fois le texte s'affiche

D'autres exemples de ces possibilités  vous  seront  donnés  au fil de la  description des routines .

Paramètres des routines : La plupart  des  vecteurs ont besoin de valeurs  données pour fonctionner . Par exemple #BB75 qui correspond à LOCATE à besoin  de savoir ou l'on veut mettre le curseur ,  dans ce cas on dit que la routine  à  besoin  de  PARAMETRES  D'ENTREE   .  D'autres  routines  fournissent  des  informations après exécution  ,  ce  sont  les  PARAMETRES  DE  SORTIE  . Ces  paramètres sont transmis et reçus par  le  biais  des  registres du Z80 , ces  registres sont donc modifiés par la  routine  et il convient de les préserver  si leur contenu originel doit être  réutilisé  en sortie . Certaines routines  modifient des registres  sans  prévenir  ,  la  même  règle  devra alors être  appliquée .

-----------------------------------
— DESCRIPTION ET USAGE DES ROUTINES -
-----------------------------------

 Dans cette première description , se trouvent de nombreux 'blancs', pour commencer , je ne décrirai  que  les  routines  les  plus  usuelles , dans le  numéro suivant , vous aurez  droit  aux  routines  moins courantes et dans le  dernier numéro de l'année vous pourrez  étudier les routines que l'on utilise  pour ainsi dire jamais . La description est classée par nature d'usage (Texte  , Graphisme , Etc ...) et suit  toujours  la forme suivante . Adresse routine  en ROM est l'adresse ROM activée par le vecteur décrit .

ADRESSE :     ; Equivalent Basic :
EFFET   :
PARAMETRES D'ENTREE  :
PARAMETRES DE SORTIE :
REGISTRES MODIFIES   :
ETAT DES FLAGS EN SORTIE :
ADRESSE ROUTINE EN ROM CPC 464 :    664 :   ;6128

 En fin de chapitre , quelques  exemples  d'usage des vecteurs vous seront  proposés .

------------------
— ROUTINES CLAVIER -
------------------

ADRESSE : &BB06   Equivalent Basic : A$="":WHILE A$="":A$=INKEYS:WEND
EFFET   : Attend l'appui sur une touche  si aucun caractère n'est dans le  buffer de clavier . Le  caractère  trouvé  est  mis  dans  le registre A . Si  aucune touche n'est enfoncée , c'est  le  dernier caractère du buffer clavier  qui est renvoyé dans A .
PARAMETRES D'ENTREE  : Rien .
PARAMETRES DE SORTIE : A=Code ASCII de la touche enfoncée ou du buffer .
REGISTRES MODIFIES   : AF
ETAT DES FLAGS EN SORTIE : Carry toujours mis .
ADRESSE ROUTINE EN ROM CPC 464 : &1A3C - 664 - 6128 : &1BBF

ADRESSE : &BB09   Equivalent Basic : A$=INKEYS
EFFET   : Comme &BB06 mais n'attend pas l'appui sur une touche .
PARAMETRES D'ENTREE  : Rien .
PARAMETRES DE SORTIE : A=Caractère .
REGISTRES MODIFIES   : AF
ETAT DES FLAGS EN SORTIE : Carry mis SI un caractère à pu être lu .
ADRESSE ROUTINE EN ROM CPC 464 : &1A42 - 664 - 6128 : &1BC5

ADRESSE : &BB18   Equivalent Basic : Comme &BB06
EFFET   : Comme &BB06 mais ne tient  pas compte du buffer de clavier seul l'appui sur une touche peut déclencher la routine .
PARAMETRES D'ENTREE  : Rien .
PARAMETRES DE SORTIE : A=Caractère .
REGISTRES MODIFIES   : AF
ETAT DES FLAGS EN SORTIE : Carry toujours mis .
ADRESSE ROUTINE EN ROM CPC 464 : &1B56 - 664 - 6128 : &1CDB

ADRESSE : &BB1B     ;Equivalent Basic : Comme &BB09
EFFET   : Comme &BB09 mais ne tient  pas compte du buffer de clavier seul l'appui sur une touche peut stocker un caractère .
PARAMETRES D'ENTREE  : Rien .
PARAMETRES DE SORTIE : A=caractère .
REGISTRES MODIFIES   : AF
ETAT DES FLAGS EN SORTIE : Carry toujours mis .
ADRESSE ROUTINE EN ROM CPC 464 : &1B5C - 664 - 6128 : &1CE1

----------------------

ADRESSE : &BB1E   Equivalent Basic : INKEY (n)
EFFET   : Teste si la touche dont le  numéro est donné dans A est pressée . Il ne s'agit pas ici d'un code ASCII mais du numéro physique de la touche . La liste de ces numéros figure dans le manuel de votre CPC .
PARAMETRES D'ENTREE  : A=Numéro de touche
PARAMETRES DE SORTIE : A=0 Si la touche  à  été pressée , <> de 0 sinon . Le registre C informe si  CTRL  ou  SHIFT  étaient pressés simultanément . Si CTRL est pressé , le bit 7 de C est mis , si SHIFT est pressé , le bit 5 de C est mis .
REGISTRES MODIFIES   :  AF , HL , BC
ETAT DES FLAGS EN SORTIE : Z mis si touche pressée , NZ Sinon .
ADRESSE ROUTINE EN ROM CPC 464 : &1CBD - 664 - 6128 : &1E45

ADRESSE : &BB24   Equivalent Basic : JOY (n)
EFFET   : Teste l'état du joystick .
PARAMETRES D'ENTREE  : Rien .
PARAMETRES DE SORTIE : A=JOY(0) , H=JOY(0) , L=JOY(1)
REGISTRES MODIFIES   : AF , HL
ETAT DES FLAGS EN SORTIE : Variable .
ADRESSE ROUTINE EN ROM CPC 464 : &1BB3 - 664 - 6128 : &1D83
 Voici quels bits seront mis dans  A  ,  H  , L selon la commande joystyck donnée . Si plusieurs actions sont  effectuées simultanément , plusieurs bits de ces registres seront mis en sortie  .  Si le registre revient avec 0 comme contenu , le joystick n'a pas bougé .
  Bit 0 mis = HAUT . Bit 1 mis = BAS . Bit 2 mis = GAUCHE Bit 3 mis = DROITE
  Bit 4 mis = FIRE . Ex : A=%00011001 = Diagonal haut , droite et fire .

--------------------------

ADRESSE : &BB3F   Equivalent Basic : SPEED KEY a,b
EFFET   : Modifie la vitesse  de  réaction  et  de répétition des touches comme en basic .
PARAMETRES D'ENTREE  : H=a , L=b .
PARAMETRES DE SORTIE : Rien .
REGISTRES MODIFIES   : AF
ETAT DES FLAGS EN SORTIE : Variable .
ADRESSE ROUTINE EN ROM CPC 464 : &1CA6 - 664 - 6128 : &1EF2

--------------------------

ADRESSE : &BB48   Equivalent Basic : Rien .
EFFET   : Annule l'effet de la touche BREAK .
PARAMETRES D'ENTREE  : Rien .
PARAMETRES DE SORTIE : Rien .
REGISTRES MODIFIES   : AF , HL
ETAT DES FLAGS EN SORTIE : Variable .
ADRESSE ROUTINE EN ROM CPC 464 : &1C82 - 664 - 6128 : &1E0B

-------------
— ECRAN TEXTE -
-------------

ADRESSE : &BB5A   Equivalent Basic : PRINT
EFFET   : Affiche un caractère ou exécute un code de contrôle inférieur à 32 .
PARAMETRES D'ENTREE  : A=Caractère .
PARAMETRES DE SORTIE : Rien .
REGISTRES MODIFIES   : AF
ETAT DES FLAGS EN SORTIE : Variable .
ADRESSE ROUTINE EN ROM CPC 464 : &1400 - 664 : &13FA - 6128 : &13FE

ADRESSE : &B5DD   Equivalent Basic : PRINT CHRS(1),....
EFFET   : Comme la  précédente  mais  affiche la représentation graphique des codes de contrôle au lieu de les exécuter .
PARAMETRES D'ENTREE  : A=Caractère .
PARAMETRES DE SORTIE : Rien .
REGISTRES MODIFIES   : AF , BC , DE , HL .
ETAT DES FLAGS EN SORTIE : Variable .
ADRESSE ROUTINE EN ROM CPC 464 : &1334- 664 : &1331 - 6128 : &1335

--------------------------

ADRESSE : &BB66   Equivalent Basic : WINDOW 0,x1,y1,x2,y2
EFFET   : Détermine les coordonnées de  la  fenêtre  0 . La ligne la plus haute est donnée dans L , la plus basse  dans E . La colonne de gauche dans H et celle de droite dans L .
PARAMETRES D'ENTREE  : HL , Coin en haut  à  gauche  , DE = Coin en bas à droite .
PARAMETRES DE SORTIE : Rien .
REGISTRES MODIFIES   : AF , HL , DE , BC
ETAT DES FLAGS EN SORTIE : Variable .
ADRESSE ROUTINE EN ROM CPC 464 : &120C- 664 : &1204 - 6128 : &1208

ADRESSE : &BB69   Equivalent Basic : Rien .
EFFET   : Informe sur les dimensions de la fenêtre canal 0 .
PARAMETRES D'ENTREE  : Rien .
PARAMETRES DE SORTIE : HL  = Coin en haut  à  gauche  , DE = Coin en bas à droite .
REGISTRES MODIFIES   : AF , HL , DE , BC
ETAT DES FLAGS EN SORTIE : Variable .
ADRESSE ROUTINE EN ROM CPC 464 : &1256 - 664 : &124E - 6128 : &1252

ADRESSE : &BB6C   Equivalent Basic : CLS #0
EFFET   : Efface l'écran .
PARAMETRES D'ENTREE  : Rien .
PARAMETRES DE SORTIE : Rien .
REGISTRES MODIFIES   : AF , HL , DE ,BC
ETAT DES FLAGS EN SORTIE : Variable .
ADRESSE ROUTINE EN ROM CPC 464 : &1540 - 664 : &154B - 6128 : &154F

--------------------------

ADRESSE : &BB75   Equivalent Basic : LOCATE x,y
EFFET   : Place le curseur texte aux coordonnées x,y
PARAMETRES D'ENTREE  : H=Colonne , L=Ligne .
PARAMETRES DE SORTIE : Rien .
REGISTRES MODIFIES   : AF , HL
ETAT DES FLAGS EN SORTIE : Variable .
ADRESSE ROUTINE EN ROM CPC 464 : &1174 - 664 : &116C - 6128 : &1170

ADRESSE : &BB79   Equivalent Basic : Rien .
EFFET   : Donne dans HL les coordonnées du curseur texte .
PARAMETRES D'ENTREE  : Rien .
PARAMETRES DE SORTIE : H=colonne ,  L=Ligne  , A=Compteur de défilement . Le compteur de défilement compte  le  nombre  de  lignes texte décalées si un scrolling vertical à déplacé l'écran .
REGISTRES MODIFIES   : AF , HL
ETAT DES FLAGS EN SORTIE : Variable .
ADRESSE ROUTINE EN ROM CPC 464 : &1180 - 664 : &1178 - 6128 : &117C

--------------------------

ADRESSE : &BB90   Equivalent Basic : PEN , n
EFFET   : Change la selection du stylo texte .
PARAMETRES D'ENTREE  : A=Numéro PEN .
PARAMETRES DE SORTIE : Rien .
REGISTRES MODIFIES   : AF , HL
ETAT DES FLAGS EN SORTIE : Variable .
ADRESSE ROUTINE EN ROM CPC 464 : &12A9 - 664 : &12A2 - 6128 : &12A6

ADRESSE : &BB93    Equivalent Basic : Rien .
EFFET   : Renvoie dans A le numéro du stylo en cours .
PARAMETRES D'ENTREE  : Rien .
PARAMETRES DE SORTIE : A=Numéro de stylo .
REGISTRES MODIFIES   : AF , HL .
ETAT DES FLAGS EN SORTIE : Variable .
ADRESSE ROUTINE EN ROM CPC 464 : &12BD - 664 : &12B6 - 6128 : &12BA

ADRESSE : &BB96   Equivalent Basic : PAPER , n
EFFET   : Change la sélection du fond d'écran .
PARAMETRES D'ENTREE  : A=Numéro PAPER .
PARAMETRES DE SORTIE : Rien .
REGISTRES MODIFIES   : AF , HL .
ETAT DES FLAGS EN SORTIE : Variable .
ADRESSE ROUTINE EN ROM CPC 464 : &12AE - 664 : &12A7 - 6128 : &12AB

ADRESSE : &BB99   Equivalent Basic : Rien
EFFET   : Renvoie dans A le numéro de papier en cours .
PARAMETRES D'ENTREE  : Rien .
PARAMETRES DE SORTIE : A=Numéro de papier .
REGISTRES MODIFIES   : AF , HL
ETAT DES FLAGS EN SORTIE : Variable .
ADRESSE ROUTINE EN ROM CPC 464 : &12C3 - 664 : &12BC - 6128 : &12C0

ADRESSE : &BB9C   Equivalent Basic : PRINT CHR$(24)
EFFET   : Inverse les couleurs de PEN et PAPER .
PARAMETRES D'ENTREE  : Rien .
PARAMETRES DE SORTIE : Rien .
REGISTRES MODIFIES   : AF , HL
ETAT DES FLAGS EN SORTIE : Variable .
ADRESSE ROUTINE EN ROM CPC 464 : &12C9 - 664 : &12C2 - 6128 : &12C6

---------------------
— ROUTINES GRAPHIQUES -
---------------------

ADRESSE : &BBC0     Equivalent Basic : MOVE x,y
EFFET   : Déplace le curseur graphique .
PARAMETRES D'ENTREE  : DE=x HL=x
PARAMETRES DE SORTIE : Rien .
REGISTRES MODIFIES   : AF , BC , DE ,HL
ETAT DES FLAGS EN SORTIE : Variable .
ADRESSE ROUTINE EN ROM CPC 464 : &15F4 - 664 : &15FA - 6128 : &15FE

ADRESSE : &BBC3   Equivalent Basic : MOVER  x,y
EFFET   : Comme &BBC0 .
PARAMETRES D'ENTREE  : Comme &BBC0 .
PARAMETRES DE SORTIE : Comme &BBC0 .
REGISTRES MODIFIES   : Comme &BBC0 .
ETAT DES FLAGS EN SORTIE : Comme &BBC0 .
ADRESSE ROUTINE EN ROM CPC 464 : &15F1 - 664 : &15F7 - 6128 : &15FB

ADRESSE : &BBC6   Equivalent Basic : Rien .
EFFET   : Informe sur la position du curseur graphique .
PARAMETRES D'ENTREE  : Rien .
PARAMETRES DE SORTIE : DE=x , HL=y
REGISTRES MODIFIES   : AF , BC , DE , HL
ETAT DES FLAGS EN SORTIE : Variable .
ADRESSE ROUTINE EN ROM CPC 464 : &15FC - 664 : &1602 - 6128 : &1606

ADRESSE : &BBC9   Equivalent Basic : ORIGIN x,y
EFFET   : Modifie l'origine de l'écran .
PARAMETRES D'ENTREE  : DE=x , HL=y
PARAMETRES DE SORTIE : Rien .
REGISTRES MODIFIES   : AF , BC , DE ,HL
ETAT DES FLAGS EN SORTIE : Variable .
ADRESSE ROUTINE EN ROM CPC 464 : &1604 - 664 : &160A - 6128 : &160E

ADRESSE : &BBCC   Equivalent Basic : Rien .
EFFET   : Informe sur l'origine de l'écran .
PARAMETRES D'ENTREE  : Rien .
PARAMETRES DE SORTIE : DE=x , HL=y
REGISTRES MODIFIES   : AF , BC ,DE, HL
ETAT DES FLAGS EN SORTIE : Variable .
ADRESSE ROUTINE EN ROM CPC 464 : &1612 - 664 : &1618 - 6128 : &161C

--------------------------

ADRESSE : &BBDE   Equivalent Basic : GRAPHICS PEN n (6128 seulement)
EFFET   : Détermine le numéro de stylo graphique .
PARAMETRES D'ENTREE  : A=Numéro de stylo .
PARAMETRES DE SORTIE : Rien .
REGISTRES MODIFIES   : AF
ETAT DES FLAGS EN SORTIE : Variable .
ADRESSE ROUTINE EN ROM CPC 464 : &17F6 - 664 : &1763 - 6128 : &1767

ADRESSE : &BBE1   Equivalent Basic : Rien .
EFFET   : Informe sur le numéro de stylo graphique en cours .
PARAMETRES D'ENTREE  : Rien .
PARAMETRES DE SORTIE : A=Numéro de stylo .
REGISTRES MODIFIES   : AF
ETAT DES FLAGS EN SORTIE : Variable .
ADRESSE ROUTINE EN ROM CPC 464 : &1804 - 664 : &1771 - 6128 : &1775

ADRESSE : &BBE4   Equivalent Basic : GRAPHICS PAPER n (6128 seulement)
EFFET   : Fixe la couleur de fond de l'écran graphique .
PARAMETRES D'ENTREE  : A=Numero stylo graphique .
PARAMETRES DE SORTIE : Rien .
REGISTRES MODIFIES   : AF
ETAT DES FLAGS EN SORTIE : Variable .
ADRESSE ROUTINE EN ROM CPC 464 : &17FD - 664 : &176A - 6128 : &176E

ADRESSE : &BBE7   Equivalent Basic : Rien .
EFFET   : Informe sur la couleur graphique du fond .
PARAMETRES D'ENTREE  : Rien .
PARAMETRES DE SORTIE : A=PAPER Graphique .
REGISTRES MODIFIES   : AF
ETAT DES FLAGS EN SORTIE : Variable .
ADRESSE ROUTINE EN ROM CPC 464 : &180A - 664 : &1776 - 6128 : &177A

ADRESSE : &BBEA   Equivalent Basic : PLOT x,y
EFFET   : Affiche un point aux coordonnées x,y .
PARAMETRES D'ENTREE  : DE=x , HL=y
PARAMETRES DE SORTIE : Rien .
REGISTRES MODIFIES   : AF , BC , DE , HL
ETAT DES FLAGS EN SORTIE : Variable .
ADRESSE ROUTINE EN ROM CPC 464 : &1813 - 664 : &177F - 6128 : &1783

ADRESSE : &BBED   Equivalent Basic : PLOTR x,y
EFFET   : Comme &BBEA
PARAMETRES D'ENTREE  :  Comme &BBEA
PARAMETRES DE SORTIE :  Comme &BBEA
REGISTRES MODIFIES   :  Comme &BBEA
ETAT DES FLAGS EN SORTIE : Variable .
ADRESSE ROUTINE EN ROM CPC 464 : &1810 - 664 : &177C - 6128 : &1780

--------------------------

ADRESSE : &BBF6   Equivalent Basic : DRAW x,y
EFFET   :  Trace  une  ligne  depuis  la  position  du  curseur graphique jusqu'au point x,y .
PARAMETRES D'ENTREE  : DE=x , HL=y
PARAMETRES DE SORTIE : Rien .
REGISTRES MODIFIES   : AF , BC ,DE , HL
ETAT DES FLAGS EN SORTIE : Variable .
ADRESSE ROUTINE EN ROM CPC 464 : &1839 - 664 : &17A5 - 6128 : &17A9

ADRESSE : &BBF9   Equivalent Basic : DRAWR x,y
EFFET   : Comme &BBF6
PARAMETRES D'ENTREE  : Comme &BBF6
PARAMETRES DE SORTIE : Comme &BBF6
REGISTRES MODIFIES   : Comme &BBF6
ETAT DES FLAGS EN SORTIE : Comme &BBF6
ADRESSE ROUTINE EN ROM CPC 464 : &1836 - 664 : &17A2 - 6128 : &17A6

----------------
— ROUTINES ECRAN -
----------------

ADRESSE : &BC0E   Equivalent Basic : MODE
EFFET   : Change le mode écran .
PARAMETRES D'ENTREE  : A=Mode .
PARAMETRES DE SORTIE : Rien .
REGISTRES MODIFIES   : AF , BC , DE ,HL
ETAT DES FLAGS EN SORTIE : Variable .
ADRESSE ROUTINE EN ROM CPC 464 : &ACAH - 664 : &AE5H - 6128 : &AE9H

ADRESSE : &BC11   Equivalent Basic : Rien .
EFFET   : Renvoie dans A le mode d'écran en cours .
PARAMETRES D'ENTREE  : Rien .
PARAMETRES DE SORTIE : A=Mode .
REGISTRES MODIFIES   : AF , BC , DE , HL
ETAT DES FLAGS EN SORTIE :  Si mode 0 : Carry mis et NZ . Si mode 1 : Carry non mis et Z mis . Si mode 2 : Carry non mis et NZ
ADRESSE ROUTINE EN ROM CPC 464 : &AECH - 664 : &B08H - 6128 : &B0CH

ADRESSE : &BC14   Equivalent Basic : CLS
EFFET   : Efface tout l'écran .
PARAMETRES D'ENTREE  : Rien .
PARAMETRES DE SORTIE : Rien .
REGISTRES MODIFIES   : AF , BC ,DE , HL
ETAT DES FLAGS EN SORTIE : Variable .
ADRESSE ROUTINE EN ROM CPC 464 : &AF7H - 664 : &B13H - 6128 : &B17H

ADRESSE : &BC32   Equivalent Basic : INK a,b
EFFET   : Affecte à un stylo donné les deux couleurs .
PARAMETRES D'ENTREE  : A=Stylo , B=Couleur 1 , C=Couleur 2 .
PARAMETRES DE SORTIE : Rien .
REGISTRES MODIFIES   : AF , BC , DE ,HL
ETAT DES FLAGS EN SORTIE : Variable .
ADRESSE ROUTINE EN ROM CPC 464 : &CECH - 664 : &CEEH - 6128 : &CF2H

ADRESSE : &BC35   Equivalent Basic : Rien .
EFFET   : Informe sur les encres affectées à un stylo donné .
PARAMETRES D'ENTREE  : A=Numéro de stylo .
PARAMETRES DE SORTIE : B=Couleur 1 , C = Couleur 2 .
REGISTRES MODIFIES   : AF , BC , DE , HL
ETAT DES FLAGS EN SORTIE : Variable .
ADRESSE ROUTINE EN ROM CPC 464 : &D14H - 664 : &D16H - 6128 : &D1AH

ADRESSE : &BC38   Equivalent Basic : BORDER a,b
EFFET   : Change la couleur du bord .
PARAMETRES D'ENTREE  : B=Couleur 1 , C = Couleur 2 .
PARAMETRES DE SORTIE : Rien .
REGISTRES MODIFIES   : AF , BC , DE , HL
ETAT DES FLAGS EN SORTIE : Variable .
ADRESSE ROUTINE EN ROM CPC 464 : &CF1H - 664 : &CF3H - 6128 : &CF7H

ADRESSE : &BC3B   Equivalent Basic : Rien .
EFFET   : Informe sur la couleur du bord .
PARAMETRES D'ENTREE  : Rien .
PARAMETRES DE SORTIE : B=Couleur 1 , C=Couleur 2
REGISTRES MODIFIES   : AF , BC , DE , HL
ETAT DES FLAGS EN SORTIE : Variable .
ADRESSE ROUTINE EN ROM CPC 464 : &D19H - 664 : &D1BH - 6128 : &D1FH

--------------------------

ADRESSE : &BC59   Equivalent Basic : PRINT CHR$(23);CHR$(N)
EFFET   : Fixe le mode graphique .
PARAMETRES D'ENTREE  : A=0 : Mode normal ; A=1 : Mode XOR ; A=2 : Mode AND ; A=3 : Mode OR
PARAMETRES DE SORTIE : Rien .
REGISTRES MODIFIES   : AF , BC ,DE ,HL
ETAT DES FLAGS EN SORTIE : Variable .
ADRESSE ROUTINE EN ROM CPC 464 : &C49H - 664 : &C51H - 6128 : &C55H

--------------------------------------

La série s'arrête ici pour  ce  numéro  .  Les vecteurs des périphériques  (Imprimante , drive) seront traités dans  le prochain numéro . Concernant les  vecteurs de l'écran  ,  les  cours  de  graphisme  vous  donnent des routines  destinées à remplacer  ceux-ci  dont  l'usage  entraîne  une  perte  de temps  considérable . C'est donc au fil des  cours de graphisme que vous découvrirez  ces vecteurs .

SOS PROGRAMMEURS

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

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

Lien(s):
» Coding » The Adventure Writing System
» Coding » Clefs pour Amstrad 1 : 27 Variables Systeme
» Coding Src's » Config - Systemidentifikator (CPC Amstrad International)
» Coding » Comparaison d'affichages de caractères (système VS hardware)
» Coding » Clefs pour Amstrad 2 : 09 - Logiciel Interne Table Var Systeme
» Coding Src's » Systeme Protection pour Newlog4
Je participe au site:

» 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 472 millisecondes et consultée 4682 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.