Soyez sans crainte, nous n'avons pas oublié que votre ordinateur dispose d'un lecteur de disquette intégré, ce qui rend pour vous l'utilisation de cassettes pratiquement ou même tout à fait inutile. Nous ne vous en présentons pas moins le CASSETTE MANAGER qui dispose d'un certain nombre de routines qu'il est bon de connaître.24BC ************************************** CAS INITIALISEinitialisation complète du pack cassette 24BC CAS IN ABANDON 24C3 CAS NOISY 24CE ************************************** CAS SET SPEED fixer vitesse d'écriture. 24D9 (Cass. Speed) 24E1 ******************************************* CAS NOISY messages cassette activés/désactivés, les messages d'erreur restent activés. 24E1 (Cass. Message Flag) 24E5 ***************************************** CAS IN OPEN CAS IN OPEN ouvre un fichier d'entrée. Il faut pour cela placer en b la longueur du nom de fichier, en hl l'adresse de début du nom de fichier et en de l'adresse de début d'une zone de la Ram de 2 K qui sera utilisée comme buffer d'entrée. Au retour de la routine, hl contient l'adresse de début de la tête de fichier (header). a, bc et de contiennent d'autres valeurs tirées du header que vous pouvez cependant retirer vous-même directement du header, puisque vous disposez de l'adresse à laquelle il se trouve. Les flags carry et zéro vous informent sur le succès de l'opération: Carry=1.et zéro=0 signifient que tout a bien marché. Carry=0 et zéro=0 signifient qu'il y a déjà un autre fichier d'ouvert. Si la touche ESC a été enfoncée, carry=0 et zéro= 1. 24E5 Input Buffer Status 24E9 Cass. Open 24ED lire File Header 24FE ************************************** CAS OUT OPEN CAS OUT OPEN ouvre un fichier en sortie. Les paramètres à transmettre et la signification des flags sont les mêmes que ci-dessus. Naturellement, de doit ici contenire l'adresse du buffer de sortie. 24FE Output Buffer Status 2502 ******************************************** Cass Open 2550 **************************************** CAS IN CLOSE fermeture correcte du fichier d'entrée. 2550 (Input Buffer Status) 2557 ************************************ CAS IN ABANDON interrompre immédiatement la lecture et fermer le fichier d'entrée (en cas d'erreur). 2557 Input Buffer Status 257F ************************************* CAS OUT CLOSE fermeture correcte du fichier de sortie. 257F (Output Buffer Status) 2599 ********************************** CAS OUT ABANDON fermer immédiatement fichier de sortie et marquer le périphérique de sortie comme 'fermé', les données non encore écrites sont détruites. 2599 Output Buffer Status 25A0 **************************************** CAS IN CHAR CAS IN CHAR va chercher un caractère dans le buffer d'entrée et le transmet à travers a. Si c'était le dernier caractère du buffer, un nouveau bloc est automatiquement lu sur la cassette. Si carry=0 et zéro=0, c'est que la fin du fichier (EOF) a été atteinte ou que le fichier n'était pas ouvert. Les autres combinaisons ont le même sens que ci-dessus. 25A5 Check Input Buffer Status 25B0 lire File Header 25BC (Pointer Input Buffer) 25BF ld a,(hl) 25C1 (Pointer Input Buffer) 25C6 ************************************** CAS OUT CHAR CAS OUT CHAR écrit le caractère qui se trouve dans a dans le buffer de sortie. Si celui-ci est plein, le contenu du buffer est automatiquement écrit sur la cassette. La signification des flags est la même que ci-dessus. 25CA Output Buffer Status 25CF Check Buffer Status 25EA (Pointer Output Buffer) 25EF (Pointer Output Buffer) 25F6 ****************************** check Input Buffer Status 25F6 Input Buffer Status 25F9 ************************************ Check Buffer Status 2603 **************************************** CAS TEST EOF tester si fin de fichier atteinte. 2603 CAS IN CHAR 2607 ***************************************** CAS RETURN renvoyer dernier caractère lu dans le buffer. 260F (Pointer Input Buffer) 2613 (Pointer Input Buffer) 2618 *************************************** CAS IN DIRECT transférer fichier d'entrée entier dans la mémoire, pas de lecture caractère par caractère. 261B (Check Input Buffer Status) 2631 lire File Header 263C (Adr. Start Input Buffer) 2647 KL LDIR CONT'D 2650 KL LDDR CONT'D 2653 ************************************ CAS OUT DIRECT écrire zone mémoire définie sur cassette (pas à travers le buffer). 2656 Output Buffer Status 265B Check Buffer Status 266 E (Adr. Start Output Buffer) 2685 (Adr. Start Output Buffer) 2692 *************************************** CAS CATALOG sortie du catalogue d'une cassette sur l'écran. 2692 Input Buffer Status 269C (Adr. Start Input Buffer) 26Al CAS NOISY 26A9 CAS IN ABANDON 26AC ************************************** lire file Header 26C3 CAS READ 26E0 (Input Buffer Status) 26EF (Adr. Start Input Buffer) 26F2 (Pointer Input Buffer) 26F7 CAS READ 271B Input Buffer Status 2743 (File Header Input) 274E File Header Input 2760 File Header Input 277B CAS OUT CLOSE 2781 CAS MOTOR STOP 2790 File Header Output 279E (Adr. Start Output Buffer) 27Al (Pointer Output Buffer) 27A8 File Header Output 27B0 CAS WRITE 27BC CAS WRITE 27D9 Output Buffer Status 27F5 CAS START MOTOR 2807 (Cass. Message Flag) 2846 TXT WR CHAR 2871 sortir message CAS (1 caractère) 2886 sortir message CAS (# in b) 288C sortir message CAS (1 caractère) 289] ************************ sortir message CAS (# in b) 2891 TXT GET CURSOR 289D messages cassette 28C9 sortir message CAS (1 caractère) 28D0 sortir message CAS (1 caractère) 28D2 (Cass. Message Flag) 28D8 sortir message CAS (# in b) 28DB KM READ CHAR 28DE TXT CUR ON 28E1 KM WAIT KEY 28E4 TXT CUR OFF 28F0 ********************* sortir message CAS (1 caractère) 28F0 TXT OUTPUT 28F7 TXT SET COLUMN 28FE TXT GET WINDOW 2902 TXT GET CURSOR 2924 sortir message CAS (1 caractère) 292F (Input Buffer Status) 2935 *********************************** messages cassette 2935 Press 293B PLAY 293F then 2943 any 2946 key 294B error 2955 REC 2958 and 295D Read 2963 Write 296A Rewind 2970 tape 2975 Found 297D Loading 2985 Saving 298D ok 2990 block 2996 Unnamed 299D file 29A6 ******************************************* CAS READ lire un bloc de la cassette, cette routine est appelée par des routines de plus haut rang. 29A6 moteur activé & ouvrir clavier 29AF ****************************************** CAS WRITE écrire un bloc sur cassette, est appelé, comme CAS READ, par des routines de plus haut rang. 29AF moteur activé & ouvrir clavier 29C1 ****************************************** CAS CHECK comparer bloc sur la bande avec contenu de la mémoire. 29C1 moteur activé & ouvrir clavier 29D2 Port A=Out 29D7 moteur activé 29DE CAS RESTORE MOTOR 29E3 ***************************** moteur activé & ouvrir clavier 29EA SOUND RESET 29F0 CAS START MOTOR 29F4 Sound I/O Port sélect 29 F9 Strobe activé 29FE Strobe désactivé 2A02 Port A=In 2A07 ouvrir clavier Y9 (ESC) 2A0A & Sound I/O sur port A 2A3C RAM LAM (IX) 2A67 RAM LAM (IX) 2A95 Cass. Input RD DATA & Test ESC 2A9D Cass. Input RD DATA & Test ESC 2AB2 Cass. Input RD DATA & Test ESC 2B3D ********************* Cass. Input RD DATA & Test ESC 2B3D Port A 2B3F Keyb. X 2B41 ESC? 2B43 si oui retour 2B4D Port B 2B55 Input RD DATA 2B8E WR DATA désactivé 2B90 Cass. Output WR DATA 2B9F WR DATA activé 2BA1 Cass. Output WR DATA 2BA7 ******************************* Cass. Output WR DATA 2BB1 Port Control 2BB3 WR DATA 2BBB ********************************* CAS START MOTOR moteur cassette activé 2BBD CAS RESTORE MOTOR 2BBF *********************************** CAS STOP MOTOR arrêter moteur cassette. 2BC1 ******************************* CAS RESTORE MOTOR rétablit l'ancien état du moteur, après mise en marche du moteur on attend que le nombre de rotations requis soit atteint. 2BC2 Port C 2BCE moteur activé/désactivé 2BE9 KM TEST KEY
CPCrulez[Content Management System] v8.732-desktop/c Page créée en 492 millisecondes et consultée 1900 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. |
|
|