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.7-desktop/c
Page créée en 575 millisecondes et consultée 1266 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.