Qq infos sur les interfaces série des Oric ------------------------------------------ La plupart des interfaces série pour Oric (toutes ?) utilisent l'ACIA 6551 comme contrôleur de communication. Certaines interfaces se contentent des signaux directement utilisés par le 6551 (les niveaux sont alors en TTL) mais généralement sont ajoutés des convertisseurs de niveaux pour obtenir une compatibilité RS232. Ces convertisseurs de niveaux autorisent un nombre limité de signaux, alors par souci d'économie, les interfaces série pour Oric sont pratiquement toutes incomplètes: certains signaux de la norme RS232 ne sont donc pas pris en charge. Par exemple, un composant tel que le MAX232 n'autorise que deux signaux en entrée et deux signaux en sortie, c.a.d un seul signal de contrôle modem en entrée et en sortie. Outre l'adresse en mémoire de l'ACIA 6551, les interfaces série pour Oric se différencient donc par le choix des signaux gérés. Ce choix n'est pas innocent avec un composant tel que le 6551, qui implémente le protocole RS232 "à sa manière"... En effet, le signal d'entrée DCD doit obligatoirement être actif (au niveau bas) pour que le 6551 accepte les données qui arrivent sur la broche de réception RxD (c.a.d que le fonctionnement du récepteur est directement lié à l'état de cette broche): c'est une information à garder en mémoire si vous voulez connecter un modem à votre Oric, car vous ne recevrez aucune donnée tant que le modem ne se sera pas connecté à un autre via la ligne téléphonique (ce qui veut dire que vous ne recevrez aucun echo des commandes de numérotation). De la même façon, le signal d'entrée CTS influe directement sur le fonctionnement du transmetteur du 6551 : CTS doit obligatoirement être actif (niveau bas) pour que le 6551 envoie effectivement des données. Si vous connectez un modem à votre Oric, vérifiez que le modem active bien ce signal. Pour éviter ces problèmes, certaines interfaces n'utilisent pas ces signaux d'entrée (les broches correspondantes du 6551 sont connectées à la masse), les autres supportent généralement un ou deux signaux d'entrée (parmi DCD, CTS et DSR; RI n'est pas supporté par le 6551 mais rien n'empêche quelqu'un de diriger ce signal vers une autre broche d'entrée pour une application de serveur BBS par exemple...) Même si vous connectez l'Oric à un autre ordinateur via une liaison null-modem, les remarques ci-dessus sont à prendre en compte. Il y a d'ailleurs au moins deux types de cables null-modem, l'un avec une liaison trois fils (émission, réception, masse) avec des connections locales des signaux de contrôle, l'autre avec des liaisons croisées des signaux de contrôle. Les signaux de contrôles reçus peuvent alors être très différents suivant le type de cable utilisé, et le fait que votre interface gère effectivement ou non les signaux de contrôle en sortie (DTR, RTS). Bref, vous l'avez compris, au niveau matériel, en l'absence d'une véritable extension série vendue par Oric International, c'est une vraie jungle, il peut y avoir une très grande diversité des interfaces série Oric (et j'ai omis les interfaces basiques qui ne relient pas la broche d'interruption INTR du 6551...). Difficile donc de faire des programmes qui marchent pour toutes ces interfaces, et si vous avez une interface série, vous devez savoir assez précisément comment elle marche. D'un autre côté, je pense qu'il n'y a pas beaucoup de personnes qui ont des interfaces série sur Atmos, alors que bien sûr tous les Telestrat en sont équipés. Je suis donc partisan de la préconisation d'une "interface série standard" pour les Atmos, inspirée de celle du Telestrat, et qui permette de diminuer cette diversité et de simplifier les connexions: même adresse pour l'ACIA ($031C), et support minimum de deux signaux de contrôle du modem (DCD, DTR). J'ai choisi de ne pas utiliser le couple RTS/CTS parce qu'un contrôle de flux utilisant ces signaux peut de toute façon perdre des données avec le fonctionnement de l'ACIA 6551 (quand un caractère est en cours de transmission), et la broche DCD apporte une information plus importante que DSR dans le cas d'une connexion à un modem (et dans les connexions null-modem, les signaux permettent de savoir si l'ordinateur connecté est prêt). Infos spécifiques à l'interface série du Telestrat -------------------------------------------------- Le Telestrat utilise bien un ACIA 6551 pour gérer les communications série, ce composant permet de piloter *une* communication série, mais à l'arrière du Telestrat on trouve à la fois une prise RS232 et une prise DIN (pour le Minitel): une seule des deux prises peut marcher à la fois ! La sélection de la prise se fait par logiciel (l'utilisation de certaines commandes d'HyperBasic force l'une ou l'autre des prises, par exemple SSAVE sélectionne l'interface RS232, tandis que MPRINT sélectionne l'interface Minitel). Si vous développez un programme sans utiliser HyperBasic, pensez à positionner le bit 4 du port A du VIA2. Par exemple: POKE #321,PEEK(#321) OR 16 pour activer la prise RS232. La prise DIN du Telestrat ------------------------- Les voltages sur la prise DIN sont des niveaux TTL (0 et 5V), la prise a été conçue pour une connexion au Minitel (à l'origine sur le Stratos, le brochage de la prise était légèrement différent: les modifications sur la carte mère Telestrat font passer un signal par un inverseur...). Les signaux classiques permettant de piloter un modem ne sont pas tous présent sur cette prise. La prise RS232 du Telestrat --------------------------- Attention, la prise femelle pourrait vous faire croire que le port série est un port DCE (Data Communication Equipment). Non, c'est bien un port DTE (Data Terminal Equipment) comme sur tous les ordinateurs: il vous faudra donc vraisemblablement utiliser un changeur de genre, ou un cable spécifique. Le Telestrat contient le couple de circuits MC1488/MC1489, ce qui lui autorise 3 signaux d'entrée (RxD, DCD et CTS) et 3 signaux de sortie (TxD, DTR, RTS) sur la prise RS232: les signaux DSR et RI ne peuvent donc être utilisés (l'entrée DSR de l'ACIA est curieusement connectée au +5V au lieu de la masse).