Les sources de ce document sont deux fichiers texte PD, DART.DOC (de SJ Dibble) et AMS-SIO.DAT, qui traitent uniquement du port série. Toute information concernant le port parallèle et toute autre interface série/parallèle serait la bienvenue.
Richard Fairhurst, 1997
ADRESSES DES PORTS
Le CPS8256 utilise les adresses d'E/S suivantes. Pour référence, les ports équivalents sur les interfaces Amstrad, Pace et Cirkit pour le CPC sont indiqués entre parenthèses.
| &E0 | (&FADC) | Données DART |
| &E1 | (&FADD) | Contrôle DART |
| &E2 | (&FADE) | Données DART (port B) |
| &E3 | (&FADF) | Contrôle DART (port B) |
| &E4 | (&FBDC) | 8253 compteur 0 |
| &E5 | (&FBDD) | 8253 compteur 1 |
| &E6 | (&FBDE) | non utilisé |
| &E7 | (&FBDF) | 8253 mot en mode écriture |
VITESSES EN BAUDS
Pour configurer la vitesse de transmission, envoyez &36 au port &E7 et deux valeurs du tableau (dans l'ordre indiqué) au port &E4. Pour configurer la vitesse de réception, remplacez &36 par &76. Ces valeurs sont obtenues avec le CTC 8253 cadencé à 1,84375 MHz.
Notez que le 8250 n'est fiable que jusqu'à 9600 bauds. Pour des vitesses supérieures, il convient de le remplacer par une puce 16550AF, compatible avec le 8250. (Merci à Rob Scott pour cette information).
| 31250 | &00, &04 |
| 19200 | &00, &07 |
| 9600 | &00, &0D |
| 7200 | &00, &11 |
| 4800 | &00, &1A |
| 3600 | &00, &23 |
| 2400 | &00, &34 |
| 2000 | &00, &3F |
| 1800 | &00, &45 |
| 1200 | &00, &68 |
| 600 | &00, &D0 |
| 300 | &01, &A0 |
| 200 | &02, &71 |
| 150 | &03, &41 |
| 110 | &04, &70 |
| 75 | &06, &83 |
| 50 | &09, &C4 |
| 45 | &0A, &D9 |
REGISTRES DART
D'autres fonctions de contrôle impliquent la programmation du DART. Pour écrire une valeur dans un registre, envoyez d'abord le numéro du registre, puis la nouvelle valeur à &E1. Pour lire une valeur, envoyez le numéro du registre, puis vous pourrez la lire depuis le même port.
| &18 : | réinitialiser le port |
| &38 : | réinitialiser les bits d'erreur |
| b7 et b6 : | bits de données Rx ( 11: 8 bits, 10: 7, 01: 6, 00: 5) |
| b5 : | protocole de liaison matérielle via RTS/CTS |
| b4 à b1 : | doivent être 0 |
| b0 : | active la ligne de données Rx |
| b7 et b6 : | mode d'horloge DART (réglé sur 01) |
| b5 et b4 : | non utilisés (réglés sur 0) |
| b3 et b2 : | bits d'arrêt ( 11: 2 bits, 10: 1, 01: 1,5, 00: illégal) |
| b1 : | type de parité ( 1: pair, 0: impair) |
| b0 : | vérification de parité activée/désactivée |
| b7 : | DTR activé/désactivé |
| b6 : | bits de données Tx ( 11: 8 bits, 10: 7, 01: 6, 00: 5) |
| b4 : | interruption d'envoi |
| b3 : | activer la ligne de données Tx |
| b2 : | non utilisé |
| b1 : | RTS activé/désactivé |
| b0 : | non utilisé |
| b7 : | interruption reçue |
| b6 : | non utilisé |
| b5 : | CTS |
| b4 : | indication de sonnerie (RI) |
| b3 : | DCD (détection de porteuse) |
| b2 : | tampon de transmission prêt |
| b1 : | lié à l'interruption |
| b0 : | caractère de réception disponible |
| b7 : | non utilisé |
| b6 : | erreur de trame |
| b5 : | erreur de dépassement Rx (overrun) |
| b4 : | erreur de parité |
| b3 à b1 : | non utilisé |
| b0 : | tous envoyés |