L'adaptateur parallele ---------------------- Vous avez besoin d'un adaptateur entre le CABLE d'imprimante et la SORTIE imprimante du PC. C'est facile avec une "wiring box" ("boŒte … fils") pour interface RS-232. Elle a un c“t‚ mƒle "D-sub" … 25 broches ("plug") et un c“t‚ femelle "D-sub" … 25 broches ("socket"). En branchant de courts fils … l'int‚rieur de la boŒte, vous pouvez r‚aliser toutes les connexions possibles entre les deux c“t‚s. Habituellement, ce type de boŒte est employ‚, comme son nom l'indique, pour adapter les interfaces RS-232. Les connexions en s‚rie ne fonctionnent pas du premier coup, savez-vous ? L'adaptateur sera branch‚, c“t‚ mƒle vers le PC, et c“t‚ femelle vers le cƒble. Voici les connexions … faire dans la boŒte : C“t‚ mƒle C“t‚ femelle pour la sortie-imprimante du PC pour le cƒble Broche 2 --------------- Broche 11 Broche 10 --------------- Broche 8 Broche 11 --------------- Broche 1 Broche 12 --------------- Broche 7 Broche 13 --------------- Broche 6 Broche 15 --------------- Broche 5 Broche 19 --------------- Broche 19 Comme vous voyez, vous n'avez pas besoin de 25 fils, 7 suffisent. Bien qu'une "wiring box" soit bon march‚ si vous l'achetez par correspon- dance, vous trouverez peut-ˆtre encore meilleur march‚ si vous utilisez une "jumper box" (boŒte … cavaliers). Mais vous aurez … souder les fils. Le moins cher consiste … acheter un connecteur mƒle "D-sub" … 25 broches, et un connecteur femelle "D-sub" … 25 broches ‚galement. Plus quelques fils. A pr‚sent, je pr‚sume que vous avez connect‚ les deux ordinateurs avec l'adaptateur, et que CPCREC.BAS est dans la m‚moire de votre CPC. Que faire maintenant ? 1. Sur le CPC : lancez CPCREC.BAS (aprŠs l'avoir sauvegard‚...) 2. Sur le PC : tapez "PCPARA /s CPCPARA.BAS" Si aucun message d'erreur n'apparaŒt sur l'‚cran du PC, tout va bien, le fichier est sur le CPC. Si le PC n'envoie rien et affiche un message d'erreur, c'est que la connexion peut ˆtre incorrecte. S'il envoie quelque chose (message "Sending block xx"), mais qu'un message d'erreur apparaŒt occasionnellement, votre PC est peut-ˆtre trop rapide ou trop lent : le transfert dans le sens PC->CPC est trŠs sensible … la question de vitesse, sachez-le. Sur mon 386/33, il ne fallait pas que la m‚moire EMS soit install‚e, sinon, elle est trop lente. Sur un ordinateur trŠs rapide, il pourrait ˆtre n‚cessaire d'utiliser le commutateur "turbo", si vous en avez un. De toute fa‡on, n'utilisez le programme que sous DOS, pas sous OS/2 ni sous Windows. Si cela ne marche pas du tout, envoyez-moi une note. En attendant, vous pourriez taper le programme CPCPARA.BAS, qui est un peu plus long : dans le sens CPC->PC, cela fonctionne toujours, mˆme sous OS/2, parce que le processus est presque le mˆme que l'action d'imprimer : le PC se comporte comme une imprimante. Je pr‚sume que vous avez maintenant CPCPARA.BAS sur votre CPC. Transf‚rez les fichiers du CPC vers le PC de la fa‡on suivante : 1. Sur le PC : tapez "PCPARA /r". 2. Sur le CPC : lancez CPCPARA, s‚lectionnez S)end, et donnez le nom de chaque fichier que vous voulez transmettre au PC (il faudra retaper "PCPARA /r" pour chaque fichier ; CPCPARA, lui, tourne comme une boucle sans fin). Ainsi, utilisez PCPARA de la fa‡on suivante : - PCPARA /r : lance PCPARA dans le mode r‚ception - PCPARA /s : envoie vers le CPC ; si vous utilisez "TRM:" en guise de nom de fichier, vous aurez un terminal. Tous les programmes contenus dans le sous-r‚pertoire UTILITY affichent un aper‡u de leurs options si vous les appelez sans paramŠtres. ATTENTION ! Mˆme si la construction est trŠs simple, je ne peux pas garantir que vous n'aurez aucun dommage. Si le port-imprimante de votre CPC est endommag‚ aprŠs cela, ce sera un malheureux accident ! Peut-ˆtre aurait-il, aussi, ‚t‚ endommag‚ si vous aviez simplement connect‚ une imprimante. Par exemple, je connais un ancien utilisateur de CPC dont le clavier ne fonctionnait plus correctement ; aprŠs la r‚paration, on lui a dit qu'il n'aurait pas d- brancher le joystick alors que l'ordinateur ‚tait allum‚ ! (Et alors, je le fais constamment ?!?) Pour revenir … nos moutons : J'ai construit l'adaptateur avec succŠs. Et j'ai mˆme, parfois, "oubli‚" d'ins‚rer l'adaptateur dans le connecteur, sans avoir eu aucun problŠme. Diagrammes de David Chapeau, si votre CPC n'a pas de connecteur Centronics : 34 <- - - - - - - - 18 \ ______________________ | | ________________ | | | |________________| | - | ---> Connecteur (femelle) |______________________| | de l'imprimante | 17 < - - - - - - - - 1 | | |||||||||||||||||| | |||||||||||||||||| \ |||||||||||||||||| > Cƒble "CPC 6128 vers DMP 2160" |||||||||||||||||| / |||||||||||||||||| | | 1 - - - - - - - - > 18 | ________________________ | \ ______________ / | \ |______________| / - | ---> Connecteur (mƒle) Centronics \__________________/ | | 19 - - - - - - - -> 36 / 18 < - - - - - - - - 1 \ ________________________ | \ ______________ / | \ |______________| / - | ---> Connecteur (femelle) Centronics \__________________/ | | 36 <- - - - - - - - 19 | | |||||||||||||||||| | |||||||||||||||||| \ |||||||||||||||||| > Adaptateur parallŠle PC |||||||||||||||||| / |||||||||||||||||| | | 1 - - - - - - - - > 13 | ________________________ | \ .................. / | \ ................ / - | ---> Connecteur Sub-D (mƒle) \__________________/ | vers le PC (LPT1) | 14 - - - - - - - -> 25 / 13 < - - - - - - - - 1 \ ________________________ | \ .................. / | \ ................ / - | ---> Connecteur Sub-D (femelle) \__________________/ | | 25 <- - - - - - - - 14 | | |||||||||||||||||| | |||||||||||||||||| \ |||||||||||||||||| > "Wiring Box" RS 232 |||||||||||||||||| / |||||||||||||||||| | | 1 - - - - - - - - > 13 | ________________________ | \ .................. / | \ ................ / - | ---> Connecteur Sub-D (mƒle) \__________________/ | vers le PC (LPT1) | 14 - - - - - - - -> 25 / Connecteur Centronics Centronics Connecteur Connecteur Connecteur Imprimante (femelle) (mƒle) Sub-D Sub-D Sub-D 1 --------- 1 1 --------- 1 2 --------- 11 . . 10 --------- 8 . . 11 --------- 1 . . 12 --------- 7 17 --------- 17 14 --------- 14 13 --------- 6 18 --------- 19 19 --------- 19 15 --------- 5 . 21 --------- 20 19 --------- 19 . 23 --------- 21 . 25 --------- 22 34 --------- 35 27 --------- 23 29 --------- 24 30 --------- 25 31 --------- 16 32 --------- 15 33 --------- 18 36 --------- 17 Vitesse de transfert CPCPARA -> PCPARA (v1.1) : Temps de transfert d'un bloc de 0x4000 octets du CPC vers le PC avec l'adaptateur parallŠle : Complement d'information: ------------------------- Source sur CPC : Octets/sec : Bauds : ----------------------------------------------------------- Fichier sur disquette : 1600 12800 Bloc de m‚moire : 2240 17920 Bloc de m‚moire, sans 2445 19560 interruptions (poke &b941,&c9 sur CPC 664 et 6128) Le bloc envoy‚ ‚tait contr“l‚ en Basic (dans CPCPARA) : defstr a:a="test.$$$":call sstr,@a a=string$(&80):for i=1 to &80:call sstr,@a:next:call sbyte,0:stop Voyons d'abord la construction de l'adaptateur, avec la description des fonctions de chaque fil : PC D-SUB Cent. CPC Fonction -------------------------------- --------------------------- GND 19 ---- 19 GND GND BUSY 11 <--- 1 -STROBE Synchro (Donn‚e disponible) -ACK 10 <--- 8 D6 | PE 12 <--- 7 D5 | Donn‚es SELECT 13 <--- 6 D4 | -ERROR 15 <--- 5 D3 | D0 2 ---> 11 BUSY Synchro (Prˆt … recevoir) Sens CPC->PC ------------ Normalement, l'adaptateur est con‡u pour fonctionner dans ce sens seulement. Envoyer une donn‚e depuis le CPC ‚quivaut en principe … envoyer du texte sur la ligne de l'imprimante. Si le PC signale "Not-BUSY" (non occup‚), le CPC ‚crit un quartet (4 bit d'un octet) sur le port, positionne STROBE pour signaler que la donn‚e est l…, et l'efface ensuite. Ainsi, le PC a seulement besoin d'effacer le signal BUSY (par la ligne D0), d'attendre le STROBE (sa ligne BUSY), prendre le quartet (sur les lignes d'entr‚e imprimante->PC), et positionner BUSY. Question : pourquoi scinder l'octet en deux quartets ? Pourquoi ne pas envoyer les 8 bits en une seule fois ? R‚ponse : 1. Le port imprimante du PC doit ˆtre reprogramm‚ en entr‚e, et je ne suis pas s–r que c'est possible sur tous les PCs et 2. Le CPC n'a que 7 bits sur sa sortie imprimante (sauf le 6138 Plus). Sens PC->CPC ------------ J'ai pens‚ un jour … la possibilit‚ d'envoyer des donn‚es dans l'autre sens. Malheureusement, le CPC n'a qu'une seule ligne (un seul bit) en entr‚e sur le port-imprimante : le signal BUSY. Aussi, cela n'am‚liorerait pas la situation si vous tentiez de concevoir un meilleur adaptateur pour ce sens. Ainsi, faites avec ce que vous avez d‚j…, et tentez plut“t d'am‚liorer le protocole de transfert. Une interface s‚rie, ‚galement, n'a qu'une ligne pour chaque sens. Mais elle utilise une synchronisation mat‚rielle, habituellement avec un quartz, et les deux c“t‚s doivent employer exactement la mˆme vitesse de transmission, par exemple 1200 bauds. Il est difficile de r‚aliser cela avec seulement un logiciel. Que faire alors ? L'id‚e principale consiste … utiliser l'avantage de la vitesse du PC sur le CPC. Chaque octet est partag‚ en 8 bits, et transmis en s‚rie, le PC devant se charger de positionner le signal BUSY au rythme voulu. Durant la transmission de ces 8 bits, le CPC fournit sa vitesse maximale, et le PC doit se r‚gler sur lui. Le CPC ‚crit un "bit de requˆte" avec une instruction en assembleur, et le PC doit r‚agir rapidement en positionnant le signal BUSY en concordance avec le bit suivant, puisque, avec l'instruction "suivante-moins-une" (?), le CPC le lira. Afin de ne pas d‚sactiver les interruptions pendant tout le transfert, pour chaque octet, une "connexion" est ‚tablie : le CPC dit "Envoie-moi quelque chose !", et le PC r‚pond "D'accord, j'attends jusqu'… ce que tu sois prˆt … le recevoir !" en basculant le signal BUSY. Tout le processus est prot‚g‚ par un timer, pour ‚viter qu'aucun des deux partenaires n'aille se planter en attendant un signal qui n'a jamais ‚t‚ envoy‚. Ainsi (puisque les interruptions ne sont pas d‚sactiv‚es), vous pouvez sortir du programme avec ou + … tout moment.