--------

Le ZX81 en série...

--------

I ] Etude sur les transfert PC vers ZX81.

II ] « Comment recycler votre vieux PC

en machine esclave ! »



TIREZ PLUS DE VOTRE SINCLAIR









Etudes sur les Protocoles de communication

avec un ZX81...

Xavier Martin (2/2006)

Il existe différents moyen de télécharger des données sur le Zx81 ... plus ou moins simple suivant les cas ...

Le plus simple est d'utiliser la carte ZX1, muni de son répartiteur de BUS, qui permet des fonctions péri-informatique intéressantes grâce à sa prise RS232 intégrée (permettant de brancher une imprimante matricielle). Mais cette extension ... n'est plus disponible de nos jour!

Alors quelles sont le solutions pour brancher notre ZX ?

1) La prise EAR du ZX :

Le Pc se comporte comme un lecteur de cassettes et envoie des donnés binaires sur le jack d'entré du micro!

- Prise PC interface série:

La prise série envoie un train d'impulsion similaire au lecteur de cassette sous une tension de 0/5Volts.

- Prise Centronic:

Principe identique à la prise série, mais avec une seule sortie du connecteur parallèle, la sortie D0.

Cela nécessite un traitement préalable pour démultiplexer le signal PC et de donner au ZX une information exploitable.

- Prise écouteurs:

Un simple cordon mini-Jack stéréo et mono suffit (attention prise mono en entrée sur le ZX un montage « Y » peut être effectué sur la prise mono).



2) Raccordement direct sur le BUS du ZX81:

Cela nécessite une carte de raccordement et un logiciel de traitement pour recueillir les informations reçues.



3) Raccordement au port clavier:

Décrit par les créateurs de No$Cash, ce montage n'est pas difficile en soit, mais requière une modification de la ROM du Zx! ... à lire le descriptif de la modification, tout paraît simple ... mais les ROMs sur ZX81 sont généralement soudées et je ne possède pas de programmeur d'Eprom! (à réserver au étudiants ambitieux et suicidaires!)



Liaison analogique vers le ZX81...

L'enregistrement sur cassette :

Avant d'approfondir les différentes modes de transfert de Pc à Zx81, il faut comprendre la méthode de transfert qu'il utilise. En effet, le ZX81, n'envoie pas les informations à l'état brut vers la sortie, mais traduit chaque donnée en train d'impulsions.

Le plus simple selon les ingénieurs Sinclair fût la méthode de conversion binaire en trains d'impulsions de 4 impulsions pour le « 0 » et 9 impulsions pour le « 1 » logique.

Pourquoi ? ... une pause sans impulsions aurait pu donnée un Zéro logique ... et c'est logique !

Le problème n'est pas si simple, car dans un transfert série, chacun sait que la synchronisation est primordiale.

Dans le cas qui nous intéresse, une donnée de synchronisation aurait allongé le temps de transfert, avec des données redondante, voir inutiles. Et la technique du nombre d 'impulsions permet un transfert asynchrone, sans base de temps.

Donc pour envoyer un « FF », le Zx81 envoie une série de 8 trains d'impulsions de 9 impulsions chacune et pour envoyer un « 00 », il envoie une série de 8 trains d'impulsions de 4 impulsions.

Pour transmettre un programme au Zx81, il suffit de reconstituer ces trains d'impulsion afin de simuler l'image d'un programme enregistrer sur cassette.

Les fichier « p », communément utilisés par nos émulateurs, sont la traduction de ces trains d'ondes en données sous forme d'octets.

Il suffit alors de convertir ces données en binaire et d'envoyer soit 4 impulsions, soit 9 impulsions, suivant la valeur du bit concerné.

Harmoniques utilisées :

Pour « imiter » les données d'entrée de la machine, il existe plusieurs moyens.

- Les ports d'entrée/sortie numériques: Le port parallèle ou série, utilisés par ZxTape ou no$cash.

Ces deux protocoles de transfert ne permettent pas de possibilité de création d'harmoniques analogiques mais permettent la création de signaux carrés numériques 0/5v.

- La sortie son en 8bits à 22050hz: Sortie casque de votre ordinateur (fichier Wav).

Ce type de transfert permet une meilleur souplesse au niveau du rendu du signal. Les séries d'impulsions, peuvent être échantillonnées et être lue vers la source de destination comme un lecteur de cassette.

Citons le profil d'harmoniques de « Eighty-One » et celui de « Zxd », sinusoïdale et triangle.




L'optimisation du signal peut très bien être réalisé (pour les transferts à grande vitesse vers le ZX81) mais il faudra prendre en compte les spécificités électroniques de l 'entrée de la machine.

En effet, La prise EAR attaque un circuit RC, bien connu des électroniciens, qui provoque des réactions lors de la commutation (phénomènes capacitifs déjà visible sur les enregistrements sur cassettes). Ce phénomène provoque une saturation du signal d'entrée et donc l'impossibilité, pour le ZX, de lire les donnés envoyées avec des cycles trop rapprochés ou avec des impulsions trop larges par rapport au temps d'envoi du train d'impulsion.

Le mieux, dans le cas qui nous concerne, serai de prendre en compte cette distortion afin d'améliorer sensiblement le taux de transfert des programmes sous hyperfréquence (cf. ZxSound).



Liaison série sur ZX81...

Généralités:




Raccordement d'une Sub 25 à une Sub 9:(adaptateur 9-25)




1) Avec une Carte d'extension RS232:

Un simple montage Null modem suffit.

Deux possibilités :

le montage Xon/Xoff.




Le montage complet en Null-modem.




2) RS232 sur le Jack EAR et MIC:

Le montage complet pour le logiciel ZXSAVE et ZXLOAD

de Kevin Baker (logiciel en Quick Basic).






Liaison Centronic sur ZX81...

Généralités:




1) Montage protocole ZXTape: (décrit par Wilf Ritger)




2) Montage protocole ZXTape version 3.1: (décrit par Wilf Ritger)




Programmation:

L'envoie des données s'effectue sur un seul bit, sortie D0 de la broche n°2 du connecteur Centronic.

Si on doit envoyer &hA0:

Dans ce Cas là, il faut les convertir les octets en bits - soit « 10100000 »- et démultiplexer les bits en trains d'impulsions.

On doit alors envoyer :

- un train d'impulsions de 9 x « 1»+« 0 » au port parallèle ( 9 impulsions)

- un train d'impulsions vide pour simuler une pause 8x« 0 »

- un train d'impulsions de 4 x «1 »+« 0» au port parallèle (9 impulsions)

- un train d'impulsions vide pour simuler une pause 8x« 0 »

- un train d'impulsions de 9 « 1»+« 0 » ...

Cela nous donne pour un octet:

« 101010101010101010 00000000 10101010 00000000 101010101010101010 00000000 10101010 00000000 10101010 00000000 10101010 00000000 10101010 00000000 10101010 00000000 »



2) Montage protocole No$CASH ZX81:

(décrit par martin korth téléchargement de ZX à PC seulement: à cause des diodes anti-retour.)

Nota : Selon l'auteur, les diodes peuvent être retirées pour un transfert bidirectionnel.

A) Cordon de raccordement:





B) Raccordement sur la carte mère:

C) Schéma raccordement clavier:


D) Raccordement sur le BUS entrées/Sorties de la carte mère:




Programmation:

Le logiciel No$Cash ZX81 permet une bonne gestion de ce protocole, mais le décodage côté Zx nécessite une mise à jour du BIOS.

Nota: La broche D0 de la prise Centronic peut être branchée directement sur la broche 16 (TV/TAPE OUT) et 20 (Tape IN) du ship ULA de Sinclair ( à vérifier !).

Xavier MARTIN (XavSnap).





Laison PC-PC Via deux cartes réseau 10/100Base-T

sans HUB:

Le problème avec les nouvelles machines est qu'ils ne gèrent pas forcément les anciens ports du type Rs 232c ou Centronic ... les ports USB les remplacent avantageusement!

Mais alors impossible de transférer quoi que ce soi !

La solution est de récupère une ancienne machine avec ce type de port et de créer un réseau tout simple avec deux cartes réseau, sans passer par un HUB ou « concentrateur ».

Comme pour les liaisons séries, vous pouvez effectuer le croisement des TX et des RX (comme en null-modem) sur les deux paire de transmission entrantes et sortantes.

Il suffit de prendre un câble de liaison Ethernet non croisé et de commuter :

-Gainer et souder le fil Vert avec le fil Orange .

-Gainer et souder le fil Blanc/Vert avec le Blanc/Orange.


Soit : Prise carte PC n°1 <---x--->Prise carte PC n°2




Les fonctions réseau entre les deux PC sont alors disponibles.

Pour trois Pc, le système est réalisable avec un Pc avec deux cartes réseau et la configuration d'un pont entre les deux cartes.


Au delà de trois Pc ... un Hub est conseillé.

Nota : Marquez ce câble au deux extrémités pour ne pas le confondre avec des câbles non croisés, car il ne fonctionnera plus en raccordement direct à un HUB.


Pour info :




Xavier MARTIN (XavSnap).