Benchmarko Logo
Benchmarko Logo
Home
Projects
CPCEMU
Software
Download
Contact
Links

Allemand Anglais Espagnol
 
retour

CPCEMU - Transfert

  1. Transfert de données entre CPC et PC
    5.1 La disquette comme intermédiaire
    5.1.1 Le programme de transfert de disquette CPCTRANS
    5.1.2 L‘utilitaire de formatage et de copie 22DISK de SYDEX
    5.2 L‘interface parallèle
    5.3 L‘interface série
    5.4 Autres possibilités

 


 

5. Transfert de données entre CPC et PC

Que faire avec un bon émulateur si vous n‘avez pas de programmes pour l‘alimenter, ou si vous ne voyez aucune possibilité de transférer des programmes du CPC vers le PC ?

Au chapitre 6 (Sources d‘approvisionnement,...), des sources “ftp” sont énumérées, où l‘on peut trouver des programmes pour CPC.

Le présent chapitre traite du transfert des données depuis le CPC vers le PC. Des utilitaires adaptés aux différentes méthodes possibles sont décrits (disquette, avec une interface parallèle ou série).

 

5.1 La disquette comme intermédiaire

C‘est le moyen le plus simple de transférer des programmes pour CPC vers le PC. Vous n‘avez besoin que d‘un CPC avec un second lecteur de disquettes du bon format, c‘est-à-dire que les disquettes qu‘il reçoit doivent correspondre au format du lecteur de votre PC (sinon, vous pourriez toujours tenter de connecter un lecteur 3 pouces à votre PC).

Le PC doit être “persuadé” de reconnaître les disquettes au format CPC au moyen d‘un utilitaire de lecture des formats CPC appelé CPCTRANS.

 

5.1.1 Le programme de transfert de disquettes CPCTRANS

J‘ai conçu CPCTRANS afin de créer des images de disquettes à partir de disquettes CPC. Les formats standard du CPC aussi bien que les formats double face de Vortex sont reconnus.

CPCTRANS n‘est pas fait pour transférer des formats protégés contre la copie !

Lorsque vous appellerez CPCTRANS sans paramètres, vous obtiendrez un court aperçu.

CPCTRANS est équivalent à l‘instruction COPY du DOS :

CPCTRANS <source> <destination> <options>

Exemples :

  • "CPCTRANS B: DISK1.DSK" copie la disquette du lecteur B vers l‘image de disquette DISK1.DSK. Si cette dernière n‘existe pas, elle est créée.
  • “CPCTRANS DISK1.DSK B:” recopie l‘image de disquette DISK1.DSK sur la disquette insérée dans le lecteur B.

La première commande ne fonctionne que pour le format DATA. Pour les autres formats, vous devrez employer une option :

  • /f 0 : format DATA (par défaut)
  • /f 1 : format DATA, double face
  • /f 2 : format SYSTEM
  • /f 3 : format SYSTEM, double face
  • /f 4 : format VORTEX, double face
  • /f 5 : inconnu, CPCTRANS essaie de l‘identifier
  • /f 6 : +3DOS

Notez l‘espace entre “/f” et le nombre.
Lorsque vous utiliserez les formats DATA ou SYSTEM en double face, vous pourrez sélectionner la face A ou B dans le menu Disk (3.2.1).
Quand vous recopiez une image de disquette sur une disquette réelle, celle-ci doit avoir le même format ! Pour les simples formats, vous pouvez employer 22DISK, décrit dans la prochaine section.

  • Pour copier la face B d‘une disquette, utilisez l‘option “/s 1”.
    Avec “CPCTRANS B: DISK1.DSK /s 1”, seule la face B de la disquette est copiée ; avec “CPCTRANS DISK1.DSK B: /s 1”, la copie est recopiée sur la disquette du lecteur B.
  • L‘option “/v” active le mode “verify”, obligeant CPCTRANS à vérifier que la copie est correcte. C‘est un peu plus lent, mais cela augmente la sécurité.
  • L‘option “/t <nombre>” fixe le nombre de pistes à copier. Normalement, il y a 40 pistes, seul le format VORTEX en a 80.
  • L‘option “/q” (quick format) est une particularité avec laquelle vous pouvez formater une image de disquette, au lieu d‘y copier des données.
    Vous devez néanmoins spécifier un lecteur valide comme premier paramètre, même s‘il n‘est (évidemment) pas utilisé. Exemple : “CPCTRANS a: SYSTEM.DSK /f 2 /q” formate SYSTEM.DSK en tant qu‘image de disquette, avec le format SYSTEM.

 

5.1.2 L‘utilitaire de formatage et de copie 22DISK (de SYDEX)

Ce programme est disponible en shareware. Avec les définitions correctes, vous pouvez utiliser presque tous les formats CP/M ! Malheureusement, les formats employés par le CPC ne sont pas inclus avec la copie d‘évaluation de 22DISK. Pour y remédier, j‘ai défini ces formats dans le fichier CPMDISKS.DEF. Vous le trouverez dans le sous-répertoire UTILITY.

Que peut-on faire avec 22DISK ?

On peut transférer, dans les deux sens, de simples fichiers aux formats DOS et non-DOS, formater des disquettes, etc.

Copiez les fichiers CPC dans le sous-répertoire TAPE. Lisez la section 3.2.2 pour savoir comment faire.

 

5.2 L‘interface parallèle

Si votre CPC n‘a pas de second lecteur, vous pouvez faire vos transferts de données par l‘intermédiaire de l‘interface parallèle. L‘idée vient de Gilles Molinari, et il a également écrit pour cela des programmes en Turbo Pascal. Mais peut-être appartenez-vous à l‘armada d‘utilisateurs qui n‘ont PAS le compilateur Turbo Pascal sur leur CPC, et ne peuvent donc rien faire avec le programme source en Pascal ! Aussi ai-je réécrit les utilitaires en Basic Locomotive, et étendu leur action dans le sens PC->CPC.

Ainsi, il est possible de transférer des fichiers dans les deux sens entre CPC et PC ! Le CPC et le PC seront réunis par leur interface parallèle.

Si vous possédez un CPC 6128 avec des connecteurs Centronics, et que vous les comparez avec une imprimante, vous noterez que CPC et PC correspondent très bien au moyen d‘un câble standard pour imprimante PC. Mais ne faites rien encore, lisez la suite.

Il semble que seuls les CPCs Schneider ont des connecteurs Centronics. Si vous avez un Amstrad CPC 6128 avec de simples connecteurs étroits, ou un CPC 464 ou 664, utilisez le diagramme placé à la fin de cette section.

D‘abord, vous devrez franchir deux obstacles :

  1. 1. construire un adaptateur simple
  2. 2. taper un court programme sur le CPC

Attendez ! Ne sautez pas le reste !

Ces deux étapes sont très simples, parce que :

  1. l‘étape 1 est possible sans rien souder
  2. l‘étape 2 est vraiment très courte (environ 30 lignes de Basic)

Logiquement, voyons l‘étape 2 d‘abord.

Le programme dont vous avez besoin s‘appelle CPCREC.BAS, et il se trouve dans le sous-répertoire UTILITY. Il est sauvegardé en ASCII, donc vous pouvez le sortir sur votre imprimante sans difficulté ; ensuite, tapez-le sur le CPC.

Son travail va être analogue à la cordelette que vous envoyez le long d‘un tuyau, pour y tirer ensuite un gros câble.

Ici, la cordelette, ce sera CPCREC.BAS, qui reçoit sur le CPC des programmes en provenance du PC.

Avec ce petit utilitaire, vous obtiendrez CPCPARA.BAS (le gros câble) sur le CPC. Enfin, avec CPCPARA.BAS, vous pourrez recevoir et transmettre. Vous n‘aurez alors plus besoin de CPCREC.BAS.

Du côté du PC, vous utiliserez PCPARA.EXE, aussi inclus dans le sous-répertoire UTILITY.

Mais avant de taper CPCREC.BAS sur le CPC, voyons l‘étape 1 :

 

L‘adaptateur parallèle

Il vous 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 correspondance, 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 CPCPARA.BAS 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, car 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 <fichier> : envoie <fichier> 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 prise 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          11 ---------  2
          .                        .                  8 --------- 10
          .                        .                  1 --------- 11
          .                        .                  7 --------- 12
   17 --------- 17          14 --------- 14           6 --------- 13
   18 --------- 19          19 --------- 19           5 --------- 15
          .                 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 :

Source sur CPC : Octets/sec : bits/s :
Fichier sur disquette : 1600 12800
Bloc de mémoire : 2240 17920
Bloc de mémoire, sans interruptions
(poke &b941,&c9 sur CPC 664 et 6128)
2445 19560

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

Vous pourrez lire plus d‘information sur l‘adaptateur parallèle au chapitre 7.

 

5.3 L‘interface série

Si vous possédez une interface série pour le CPC, vous pouvez certainement l‘utiliser pour le transfert de données vers le PC.

 

5.4 Autres possibilités

Il y a encore d‘autres moyens fantastiques pour avoir des programmes sur le PC:

  • Connecter le lecteur de disquettes 3 pouces au PC. Quelques (anciens) modèles pourraient correspondre à la connexion 5,25 pouces.
  • Avec un détour par le Spectrum+3 : lire la disquette 3 pouces sur le Spectrum+3, la convertir au format Spectrum, et employer un utilitaire pour la lire sur le PC. Cet utilitaire est compris dans l‘émulateur Z80 du Spectrum, de Gerton Lunter.
  • Au temps où il était nécessaire (Amstrad n‘ayant pas encore donné son autorisation) de se débrouiller pour avoir les ROMs, quelqu‘un m‘a parlé de ce moyen:
    il enlevait la puce de la ROM d‘un CPC, et l‘insérait à la place du BIOS VGA. Avec un petit programme, il pouvait en lire le contenu.
  • Peut-être avez-vous trouvé un autre moyen?

 

Chapitre 6. Sources d‘approvisionnement, Aide, Remerciements

 

© Marco Vieth, Mai 1998



Marco Vieth, 19.04.2008 14:30:28