C'est la partie du système d'exploitation qui est la plus proche de la machine. C'est ici que sont traités les divers interfaces et éléments périphériques tels que PIO et PSG. Cette procédure présente l'avantage qu'en cas de modification éventuelle de l'électronique, seul le MACHINE PACK devra être adapté comme par exemple le BIOS en CP/M. De ce fait, seules quelques routines peuvent être utilisées souvent. 0591 ******************************************* Reset Cont'd 0592 Control 0597 Port A 059C Port C 05 Al Centronics 05A6 Port B 05AA isoler LK4 05AC fin table 60Hz 05AF 50Hz? sauter si pas 05B1 fin table 50Hz 05B7 charger adresse registres vidéo 05BC charger registres vidéo05C5 ****************************************** table 60Hz 3F 28 2E 8E 26 00 19 1E 00 07 00 00 30 00 C0 00 05D5 ****************************************** table 50Hz 3F 28 2E 8E IF 06 19 1B 00 07 00 00 30 00 C0 00 05E5 démarrage à froid 05E8 à adresse de 05EB continuation 05ED ******************************** MC BOOT PROGRAM restaure le système d'exploitation et transmet la commande à une routine en (hl). 05F1 SOUND RESET 05F5 restaurer 05F8 périphérie 05FA KL CHOKE OFF 0601 KM RESET 0604 TXT RESET 0607 SCR RESET 060A KL U ROM ENABLE CONT'D 060E jp (hl) 0613 MC START PROGRAM 0617 erreur de chargement 061C ******************************* MC START PROGRAM initialisation complète du système et appel du programme dont adresse de début en hl. 061C rencontre RET après 066F 0620 fixer mode d'interruption 1 0622 sauver contenu des registres 0623 restaurer pointeur palette 0628 reset de la périphérie 062B éventuellement connectée 062D réinitialiser 0630 configuration RAM 0632 Floppy-Motor on/off Flip/Flop 0636 déconnecter moteur disquette 0638 copier &7f9 octets de l'adresse de départ 063B &B100 à l'adresse objet 063E &B101 0641 charger contenu de l'accu dans &B100 0642 exécuter procédure de copie 0644 U ROM off & L ROM on 0647 Screen Mode 1 0649 restaurer ancien contenu des registres 0652 Restore High Kernel Jumps 0655 JUMP RESTORE 0658 KM INITIALISE 065B SOUND RESET 065E SCR INITIALISE 0661 TXT INITIALISE 0664 GRA INITIALISE 0667 CAS INITIALISE 066A MC RESET PRINTER 066F jp (hl) 0674 initialiser ROM supérieure 0677***********************************************demarrage à froid 067A TXT SET CURSOR 067D sortir noms de firme 0680 sortir messages 0683 message initial 0686 sortir messages 0688 *************************************** message initial 0689 128K 068E Microcomputer 069D (v3) 06A4 Copyright 06B0 cl 985 06B6 Amstrad 06BE Consumer 06C7 Electronics 06D3 pic 06D9 and 06DD Locomotive 06E8 Software 06F1 Ltd 06F9 message erreur de chargement 06FC ************************************* sortir message 0700 TXT OUTPUT 0703 sortir message 0705 ************************************ message erreur de chargement 0705 *** 0709 PROGRAM 0711 LOAD 0716 FAILED 071E *** 0725 Port B 0728 isoler LK1 ... 3 072A /2 072B noms de firme 0738 ****************************************** noms de firme 0738 Arnold 073F Amstrad 0747 Orion 074D Schneider 0757 Awa 075B Solavox 0763 Saisho 076A Triumph 0772 Isp 0776 **************************************** MC SET MODE fixer mode écran. 0776 Mode>2? 0778 si oui retour 07 7B restaurer 077D bits mode 07 7D fixer 0781 nouveau mode 0786 ************************************* MC CLEAR INKS fixer une couleur pour cadre écran et toutes les inks. 0786 placer contenu de hl sur la pile 0787 puis charger &0000 dans hl 078A six octets plus loin 078C **************************************** MC SET INKS Sortir couleur de toutes les inks et du bord écran. 078C placer contenu de hl sur la pile 078D puis charger &0001 dans hl 0793 couleur bord 0796 sortir couleur 079A Adresse Ink 0 079C sortir couleur 07A4 charger toutes les mémoires couleur 07AA *************************************** sortir couleur 07AA pointeur de palette 07AD annuler bits 5, 6 et 7 de l'accu 07AF puis mettre bit 6 07B1 couleur 07B4 ********************************** MC WAIT FLYBACK attendre retour du faisceau. 07B6 Port B 07BA VSYNC? 07BB si non attendre 07C0 ********************************* MC SCREEN OFFSET fixer offset écran. 07C3 annuler tous les bits sauf 4 et 5 07C8 annuler tous les bits sauf 0 et 1 07CE Video Contr Register 12 07D1 début écran Hi 07D5 registre 13 07DC début écran Lo 07E0 ********************************* MC RESET PRINTER restaurer point de branchement indirect pour imprimante. 07E0 adresse de départ 07E3 adresse objet 07E6 21 octets 07E9 (copier) 07EE Move (hl+3) vers ((hl+1)),cnt = (hl) 07F1 db 03 3 octets 07F2 dw BDF1 adresse objet 07F4 MC WAIT PRINTER 07F7 ********************************** convertir accents La table suivante a été copiée par MC RESET PRINTER dans la RAM (adresse objet B804). Le premier octet de la table indique la longueur de la table en octets. Ensuite viennent plusieurs paires d'octets dont le premier indique chaque fois le code clavier et le second le caractère affecté de façon standard par l'électronique. Si cette table est modifiée dans la RAM, il est possible de manipuler les caractères affectés aux codes clavier de façon à produire, par exemple, un clavier français (AZERTY). 07F7 db 0A nombre d'octets 07F8 db A0 code clavier interne 07F9 db 5E caractère affecté A 07FA db A1 code clavier interne 07FB db 5C caractère affecté 07FC db A2 code clavier interne 07FD db 7B caractère affecté { 07FE db A3 code clavier interne 07FF db 23 caractère affecté # 0800 db A6 code clavier interne 0801 db 40 caractère affecté @ 0802 db AB code clavier interne 0803 db 7C caractère affecté | 0804 db AC code clavier interne 0805 db 7D caractère affecté } 0806 db AD code clavier interne 0807 db 7E caractère affecté ~ 0808 db AE code clavier interne 0809 db 5D caractère affecté ] 080A db AF code clavier interne 080B db 5B caractère affecté [ 080C ***************** MC AFFECTATION DE CARACTERES C'est ici qu'est effectuée la manipulation de conversion des accents. 080C hl: adresse de départ de la nouvelle table de caractères (RAM) 0812 convertir accents (RAM) 0817 KL LDIR CONT'D 081B ************************************* MC PRINT CHAR Sort le caractère en a sur le port Centronics. Après retour de cette routine, le carry est mis si le caractère a été transmis avec succès. 0826 accent? 0828 sauter si non 082F MC WAIT PRINTER 0835 *********************************** MC WAIT PRINTER Envoie un caractère à l'imprimante; si celle-ci n'est pas prête, attendre une période de délai. 0838 MC BUSY PRINTER 083B MC SEND PRINTER 0844 *********************************** MC SEND PRINTER Envoie un caractère à l'imprimante qui ne doit pas être occupée. 0847 octet sans strobe 0849 à l'imprimante 084E Strobe activé 0853 Strobe désactivé 0858 *********************************** MC BUSY PRINTER Examiner si l'imprimante est occupée. 085A Port B 085E imprimante occupée 085F vers Carry 0863 ******************************** MC SOUND REGISTER Fournir des données au Sound Controller. MC SOUND REGISTER est intéressant pour les amateurs de musique. Sans que vous vous torturiez l'esprit avec la transmission de données au PSG qui est relativement compliquée, il vous suffit de transmettre le numéro de registre et l'octet souhaités en les plaçant respectivement dans a et c. 0864 Port A 0866 Sound Register# 0868 Port C 086A Sound Chip 086C sur entrée 086C & strobe activé 0872 Strobe désactivé 0874 Port A 0876 données sound 0878 Port C 087D données 087F (insérer) 0883 ***************************************** Scan Keyboard 0883 Port A 0886 Sound Register 14 (Keyboard X Input) 0888 Port C 0891 Strobe activé 0893 Strobe désactivé 0896 Port A&B = Input 0898 Control 089D Port C 089F Keyboard Y Output et X Input 08Al Port A 08A3 données (Keyboard X Input) vers accu 08AC Keyboard Y+l 08B0 traité tous les canaux Y? 08B2 non alors canal suivant 08B5 Port A Output 08B7 Control 08BA Port C CPCrulez[Content Management System] v8.7-desktop/c Page créée en 121 millisecondes et consultée 1675 foisL'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. |
|