CODINGLA BIBLE DU CPC 6128

La Bible du CPC 6128 : 4.01.00 Les routines du système d'exploitation
Voici une liste des routines et tables du système d'exploitation, pour autant que nous les connaissions.

Attention: n'essayez jamais d'appeler ces routines à travers les adresses qui vous sont fournies ici si vous ne maîtrisez pas pleinement le mécanisme de commutation de la configuration mémoire!

Utilisez plutôt les vecteurs présentés au chapitre 2.1.

Cette liste sert avant tout à vous permettre d'avoir un rapide aperçu du système d'exploitation. C'est pour cela que nous n'avons présenté ici que les routines du CPC6128 (voir chapitre 2.5). Pour le CPC664, la liste correspondante différerait légèrement pour certaines adresses.

KERNAL
0000  RST 0 RESET ENTRY
0008  RST 1 LOW JUMP
0010  RST 2 SIDECALL
0018  RST 3 FAR CALL
0020  RST 4 RAM LAM
0028  RST 5 FIRM JUMP
0030  RST 6 USER RESTART
0038  RST 7 INTERRUPT ENTRY
0040  jusqu'ici on copie dans la RAM
0044  Restore High Kernel Jumps
005C  KL CHOKE OFF
0099  KL TIME PLEASE
00A3  KL TIME SET
00B1  Scan Events
0153  Kick Event
0163  KL NEW FRAME FLY
016A  KL ADD FRAME FLY
0170  KL DEL FRAME FLY
0176  KL NEW FAST TICKER
0I7D  KL ADD FAST TICKER
0183  KL DEL FAST TICKER
0189  traiter Ticker Chain
01B3  KL ADD TICKER
01C5  KL DEL TICKER
01D2  KL INIT EVENT
01E2  KL EVENT
0219  KL DO SYNC
0227  KL SYNC RESET
022E  ajouter sync event
0255  KL NEXT SYNC
0276  KL DONE SYNC
0284  KL DEL SYNCHRONOUS
028D  KL DISARM EVENT
0294  KL EVENT DISABLE
029A  KL EVENT ENABLE
02A0  KL LOG EXT
02B1  KL FIND COMMAND
0326  KL ROM WALK
0330  KL INIT BACK
0379  Add Event
0388  Delete Event
0397  KL FIXER CONFIGURATION RAM
03C7  KL POLL SYNCHRONOUS
03E7  RST 7 INTERRUPT ENTRY CONT'D
041E  KL EXT INTERRUPT ENTRY
042A  KL LOW PCHL CONT'D
0430  RST 1 LOW JUMP CONT'D
045F  KL FAR PCHL CONT'D
0467  KL FAR ICALL CONT'D
046D  RST 3 LOW FAR CALL CONT'D
04BD  KL SIDE PCHL CONT'D
04C3  RST 2 LOW SIDE CALL CONT'D
04DB  RST 5 FIRM JUMP CONT'D
04F7  KL L ROM ENABLE CONT'D
04FE  KL L ROM DISABLE CONT'D
0505  KL U ROM ENABLE CONT'D
050C  KL U ROM DISABLE CONT'D
0516  KL ROM RESTORE CONT'D
051F  KL ROM SELECT CONT'D
0524  KL PROBE ROM CONT'D
052D  KL ROM DESELECT CONT'D
0543  KL CURR SELECTION CONT'D
0547  KL LDIR CONT'D
054D  KL LDDR CONT'D
0553  KL ROM OFF & CONFIG. SAVE
056C  RST 4 RAM LAM CONT'D
057D  KL RAM LAM (IX)

MACHINE PACK
0591  Reset Cont'd
05C5  table 60Hz
05D5  table 50Hz
05ED  MC BOOT PROGRAM
061C  MC START PROGRAM
0677  démarrage à froid
0688  message initial
06FC  sortir message
0705  message erreur de chargement
0738  noms de firme
0776  MC SET MODE
0786  MC CLEAR INKS
078C  MC SET INKS
07AA sortir couleur
07B4  MC WAIT FLYBACK
07C0  MC SCREEN OFFSET
07E0  MC RESET PRINTER
07F7  convertir accents
080C  MC AFFECTATION DE CARACTERES
081B  MC PRINT CHAR
0835  MC WAIT PRINTER
0844  MC SEND PRINTER
0858  MC BUSY PRINTER
0863  MC SOUND REGISTER
0883  Scan Keyboard

JUMP RESTORE
08BD JUMP RESTORE
08DE Main Jump Adress
0A72  BASIC Jump Adr.
0AB4 Move (hl+3) vers ((hl+1)),cnt=(hl)

SCREEN PACK
0ABF SCR INITIALISE
0AD0 SCR RESET
0AE9 SCR SET MODE
0B0C  SCR GET MODE
OBI7  SCR CLEAR
0B37  SCR SET OFFSET
0B3C SCR SET BASE
0B45  SCR MODIFIER DEBUT ECRAN
0B56  SCR GET LOCATION
0B5D SCR CHAR LIMITS
0B6A SCR CHAR POSTION
0BAF SCR DOT POSITION
0C05  SCR NEXT BYTE
0C11  SCR PREV BYTE
0C1F SCR NEXT LINE
0C39  SCR PREV LINE
0C55  SCR ACCESS
0C71  SCR WRITE
0C74  SCR PIXELS
0C7A XOR Mode
0C7F AND Mode
0C85  OR Mode
0C8A SCR READ
0C8E SCR INK ENCODE
0CA7 SCR INK DECODE
0CD8 Reset couleurs
0CEA SCR SET FLASHING
0CEE SCR GET FLASHING
0CF2  SCR SET INK
0CF7  SCR SET BORDER
0CF8  Set Colour
0D10  aller chercher entrée matrice couleur
0D1A SCR GET INK
0D1F SCR GET BORDER
0D20  Get Colour
0D35  aller chercher adresse ink
0D61  Set Inks on Frame Fly
0D73  Flash Inks
0D87  aller chercher paramètres du jeu de couleurs actuel
0D99  matrice couleurs
0DB9 SCR FILL BOX
ODBD SCR FLOOD BOX
0DE5 SCR CHAR INVERT
0DF8 adresser mémoire couleurs
0E00  SCR HW ROLL
0E44  SCR SW ROLL
0EF9  SCR UNPACK
0F2A SCR REPACK
0F93  SCR HORIZONTAL
0F9B  SCR VERTICAL
1052  couleurs défaut

TEXT SCREEN
1074  TXT INITIALISE
1084  TXT RESET
109F  Reset Params (toutes les fenêtres)
10E4  TXT STR SELECT
1103  TXT SWAP STREAMS
111E  Idir cnt=15
1126  Adr. paramètres fenêtre vers de
1139  fixer paramètres défaut
115A TXT SET COLUMN
1165  TXT SET ROW
1170  TXT SET CURSOR
117C  TXT GET CURSOR
1186  fenêtre actuelle haut, gauche + hl
1193  fenêtre actuelle haut, gauche - hl
11A4  Move Cursor
11CA TXT VALIDATE
11D6  HL à l'intérieur limites fenêtre
1208  TXT WIN ENABLE
1252  TXT GET WINDOW
125F  TXT DRAW/UNDRAW CURSOR
1265  TXT PLACE/REMOVE CURSOR
1276  TXT CUR ON
127E  TXT CUR OFF
1286  TXT CUR ENABLE
1288  Cur Enable Cont'd
1297  TXT CUR DISABLE
1299  Cur Disable Cont'd
12A6 TXT SET PEN
12AB TXT SET PAPER
12BA TXT GET PEN
12C0  TXT GET PAPER
12C6  TXT INVERSE
12D4  TXT GET MATRIX
12F2  TXT SET MATRIX
12FE TXT SET M TABLE
132B  TXT GET M TABLE
1335  TXT WR CHAR
134B  TXT WRITE CHAR
137B  TXT SET BACK
1388  TXT GET BACK
13A8 TXT SET GRAPHIC
13AC TXT RD CHAR
13BE TXT UNWRITE CHAR
13FE TXT OUTPUT
140A TXT OUT ACTION
1452  TXT VDU DISABLE
1459   TXT VDU ENABLE
1460   FLAG CURSEUR ACTUEL VERS ACCU
1464  copier sauts caractères de commande défaut
1474  sauts caractères de commande défaut
14D4  TXT GET CONTROLS
14E1  bip-bip
14EC mode transparent activé/désactivé
14F1  instruction INK
14FA instruction BORDER
1501   définir fenêtre
150D  instruction SYMBOL
1519  CRSR Left
151E  CRSR Right
1523  CRSR Down
1528  CRSR Up
1539  CRSR Home
153F  CRSR sur début de ligne
1547  instruction LOCATE
154F  TXT CLEAR WINDOW
155E  supprimer caractère dans position CRSR
1565  supprimer fenêtre à partir de position CRSR
1578  supprimer fenêtre jusqu'à position CRSR
158F  supprimer ligne à partir de position CRSR
1599  supprimer ligne jusqu'à position CRSR

GRAPHICS SCREEN
15A8  GRA INITIALISE
15D7  GRA RESET
I5EC NN
15FB  GRA MOVE RELATIVE
15FE  GRA MOVE ABSOLUTE
1606  GRA ASK CURSOR
160E  GRA SET ORIGIN
161C  GRA GET ORIGIN
1624  aller chercher position de départ physique
1627  aller chercher position objet physique + fixer curseur
162A  GRA CONVERTIR COORD.
165D ajouter coord. act. + coord. rel..
16A5  GRA WIN WIDTH
16EA GRA WIN HEIGHT
1717  GRA GET W WIDTH
172D GRA GET W HEIGHT
1736  GRA CLEAR WINDOW
1767  GRA SET PEN
176E  GRA SET PAPER
1775  GRA GET PEN
177A  GRA GET PAPER
1780  GRA PLOT RELATIVE
1783  GRA PLOT ABSOLUTE
1786  GRA PLOT
1794  GRA TEST RELATIVE
1797  GRA TEST ABSOLUTE
179A  GRA TEST
17A6  GRA LINE RELATIVE
17A9  GRA LINE ABSOLUTE
17AC GRA SAUVER PARAMETRES MASQUE
17B0  GRA SAUVER PARAMETRES MASQUE
17B4  GRA LINE
1940  GRA WR CHAR
19D5  GRA SAUVER PARAMETRES
19D9  GRA FILL

KEYBOARD MANAGER
1B5C KM INITIALISE
1B98  KM RESET
1BBF KMWAITCHAR
1BC5  KM READ CHAR
1BFA KMCHARRETURN
1C04  KMEXPBUFFER
1C0A Exp Buffer Cont'd
1C3C Default Exp String
1C46  KMSETEXPAND
1C6A vider buffer d'extension
1CA7 place pour une nouvelle chaîne d'extension?
1CB3  KM GET EXPAND
1CC3  adresse Exp String vers de
1CDB KMWAITKEY
1CE1  KM READ KEY
1D38  KM GET STATE
1D3C Set State
1D40  KM UPDATE KEY STATE MAP
1DB8 KM TEST BREAK
1DE5 KM GET JOYSTICK
1DF2 KM GET DELA Y
1DF6 KM SET DELAY
1DFA KM ARM BREAK
1E0B  KM DISARM BREAK
1E19  KM BREAK EVENT
1E2F  KM GET REPEAT
1E34  KM SET REPEAT
1E45  KM TEST KEY
1E55  aller chercher bit correspondant à la touche
1E6D masques bits
1EC4 KM GET TRANSLATE
1EC9 KM GET SHIFT
1ECE KM GET CONTROL
1ED1  Get Key Table
1ED8 KM SET TRANSLATE
1EDD KM SET SHIFT
1EE2  KM SET CONTROL
1EE5  Set Key Table
1EEF Key Translation Table
1F3F  Key SHIFT Table
1F8F  Key CTRL Table

SOUND MANAGER
1FE9  SOUND RESET
2050  SOUND HOLD
206B  SOUND CONTINUE
208B  Sound Event
20D7  Scan Sound Queues
2114  SOUND QUEUE
21AC SOUND RELEASE
21 CE SOUND CHECK
21EB  SOUND ARM EVENT
23DB fixer volume
2495  SOUND AMPL ENVELOPE
249A SOUND TONE ENVELOPE
249D copier courbe d'enveloppe
24A6 SOUND A ADRESS
24AB SOUND T ADRESS
24AE aller chercher adresse courbe d'enveloppe

CASSETTE MANAGER
24BC CAS INITIALISE
24CE CAS SET SPEED
24E1  CAS NOISY
24E5  CAS IN OPEN
24FE CAS OUT OPEN
2502  Cass. Open
2550  CAS IN CLOSE
2557  CAS IN ABANDON
257F  CAS OUT CLOSE
2599  CAS OUT ABANDON
25A0 CAS IN CHAR
25C6  CAS OUT CHAR
25F6  Check Input Buffer Status
25F9  Check Buffer Status
2603  CAS TEST EOF
2607  CAS RETURN
2618  CAS IN DIRECT
2653  CAS OUT DIRECT
2692  CAS CATALOG
26AC lire File Header
2891   sortir message CAS (# in b)
28F0  sortir message CAS (1 caractère)
2935  messages cassette
29A6  CAS READ
29AF CAS WRITE
29C1  CAS CHECK
29E3  moteur activé & ouvrir clavier
2B3D Cass. Input RD DATA & Test ESC
2BA7 Cass. Output WR DATA
2BBB CAS START MOTOR
2BBF CAS STOP MOTOR
2BC1  CAS RESTORE MOTOR

SCREEN EDITOR
2C02  EDIT
2C42  EDIT exécuter saut
2C72  EDIT table de saut 1
2CAE EDIT table de saut 2
2CBD CRSR UP
2CC1 CRSR DWN
2CC5 CRSR RGHT
2CC9 CRSR LEFT
2CD0 ESC
2CEA message BREAK
2CF1  ENTER
2CFE BIP-BIP
2D02  CRSR RGHT (buffer)
2D0A CRSR DWN (buffer)
2D14  CTRL & CRSR RGHT
2D1D CTRL & CRSR DWN
2D34  CRSR LEFT (buffer)
2D3C CRSR UP (buffer)
2D45 CTRL & CRSR LEFT
2D4F CTRL & CRSR UP
2D81  CTRL & TAB (Flip Insert)
2D8A ajouter caractère
2DC3 DEL
2DCD CLR
2E17  SHFT & CRSR RGHT
2E1C SHFT & CRSR LEFT
2E21  SHFT & CRSR UP
2E26  SHFT & CRSR DWN
2E65  COPY
2F56  caractère de clavier
ARITHMETIQUE
2F73  FLO PI
2F91  FLO COPIER VARIABLE DE (DE) VERS (HL)
2F9F  FLO ENTIER VERS VIRGULE FLOTTANTE
2FC8  FLO VALEUR 4 OCTETS VERS VIRGULE FLOTTANTE
2FD1  FLO VALEUR 4 OCTETS PAR 256 VERS ENTIER
2FD9 FLO VIRGULE FLOTTANTE VERS ENTIER
3001   FLO VIRGULE FLOTTANTE VERS ENTIER
3014  FLO FIX
3055  FLO INT
305F  FLO
30C6  FLO MULTIPLIER NOMBRE PAR 10AA
3136  FLO RND INIT
3143  FLO SET RANDOM SEED
3159  FLO RND
3188  FLO ALLER CHERCHER DERNIERE VALEUR RND
31BI  FLO LOG10
31B6  FLO LOG
322F  FLO EXP
32AC FLO SQR
32AF FLO ELEVATION A LA PUISSANCE
3345  FLO DEG/RAD
3349  FLO COS
3353  FLO SIN
33C8  FLO TAN
33D8  FLO ATN
349E  FLO SOUSTRACTION
34A2  FLO ADDITION
3577   FLO MULITIPLICATION
3604  FLO DIVISION
36DF FLO COMPARAISON
3727  FLO SGN
3731   FLO CHANGEMENT DE SIGNE

CHARACTERS
3800-3FFF CHARACTERS

★ ANNÉE: ???

Page précédente : La bible du CPC 6128 : 3.04.01 L'arithmétique à virgule flottante
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 114 millisecondes et consultée 1579 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.