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

CPCrulez[Content Management System] v8.7-desktop/cache
Page créée en 110 millisecondes et consultée 460 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.