Côté bricolage :

Une interface
24 Entrées/Sorties
pour votre ZX81.



TIREZ PLUS DE VOTRE SINCLAIR

Mis à Jour : Juin 2007.





Montage de Xavier Martin.

( XavSnap ).

Diffusion sur internet sous réserve de non utilisation mercantile, à titre pédagogique et pour la contribution de l'auteur à l'histoire du ZX81.

-

Montage n°1 :
Une interface Centronics pour votre Zx81

(Montage non réalisé)
V1.2




Carte Centronics Sub D 25 broches
utilisable avec un driver ASM ou
avec un programme Basic.
(Plaque époxy simple face)
Pour imprimantes ou transferts de données.


Attention :
ce projet n'est pas terminé et est susceptible d'être modifié !



Implantation :
(XavSnap)

(Face composants- face sans pistes mais avec straps)

Zoomer...

Sérigraphie:

Zoomer...

PCB:

(époxy simple face avec straps)

(Face cuivre à insoler - faces avec toutes les pistes)


Zoomer...

( Vue arrière ZX )


Fichier PBC: (XavSnap) - à jour avec les nouveaux composants v1.2

http://zx81.ordi5.free.fr/brico/centronic/images/centro.ci














Schéma de câblage :

Zoomer...
La sélection de la carte à activer ce fait en changeant l'adresse d'activation!
3800H=activation du 8255a(/GE).

Pour l'activation des autres cartes il suffit de poker une valeur à l'adresse pour activer une carte sur les 15 sorties disponibles (voir liste des adresses sur le schéma), la sortie sera mémorisée par une bascule et validera les valeurs du PA,PB et PC envoyés.

En tout, 24x15 (360) entrées/sorties sont disponibles grâce à ce sélecteur de cartes.

Ce bus de sortie peut aussi servir de bits de validation pour de prochains projets




Ce montage est composé de :

Références

Descriptif

Q

P.U.

Prix indicatif.

IC1

P.P.I – 8255A d'intel ou équivalent.

1

-

4,27

IC2a

74LS245 : Buffer entrées et sorties

1

-


IC2b

74LS245 : Buffer entrées et sorties

1

-


IC3

74LS154 : Multiplexeur 4 vers 16bits.

1

-







P1

Prise Centronics SubD 25 points femelle à souder.

1

-


ZX

Connecteur 2x23 points DF

1

-


vers carte E/S

Connecteur 25x1 sécable mâle





Boîtier PCV (noir)

1

-




















Utilisation:


Registre de contrôle du 8255A : Adresse 14339 / 3803h


D7

D6

D5

D4

D3

D2

D1

D0

Flag

Mode 1

Mode 2

Canal A

Canal C

Mode

Canal B

Canal C


D7:

0 = Mode Bit / Reset.
1 = Mode définition

D6 et D5:

00 = Mode 0
01 = Mode 1
1x = Mode 2

D4: Canal A

0 = Sorties
1 = Entrées

D3: Canal C (PC4 à PC7)

0 = Sorties
1 = Entrées

D2: Sélection du Mode.

0 = Mode 0
1 = Mode 1

D1: Canal B

0 = Sorties
1 = Entrées

D0: Canal C

0 = Sorties
1 = Entrées

Envoie des données vers le 8255A:

PA : Adresse 14336 / 3800h
« Poke 14336,1 » active le bit 1 de PA0.
« Print Peek (14336) » lie D0 à D7 sur PA.

PB : Adresse 14337 / 3801h
« Poke 14337,1 » active le bit 1 de PB0.
« Print Peek (14337) » lie D0 à D7 sur PB.

PC : Adresse 14338 / 3802h
« Poke 14338,1 » active le bit 1 de PC0.
« Print Peek (14338) » lie D0 à D7 sur PC.


Registre de données: ( PA D0-7 en bidirectionnel)


Registre de contrôle: ( PB D0-3 en sortie )
PB0= STROBE.
PB1= AUTOFEED.
PB2= INIT.
PB3= SELECT INPUT.
PB4-7=
NC.

Registre d'état: ( PC D3-7 en lecture )
PC0-2=
NC.
PC3= ERROR.
PC4= SELECT.
PC5= PAPER OUT / Paper Empty.
PC6= ACKNOWLEDGE.
PC7= BUSY.



Programmation Basic:


Teste du port PA en Sortie:
(D0-D7 de la prise Centronics)

10 POKE 14339,128
; PA, PB et BC en sortie.
20 FOR I=0 TO 8
30 POKE 14336,2**I-1
; PA mis à 1
40 PAUSE 40
; 1 seconde d'attente.
50 NEXT I
60 STOP


Teste du port PB en Sortie:
(Registre de Contrôle de la prise Centronics)

10 POKE 14339,128
; PA, PB et BC en sortie.
20 FOR I=0 TO 8
30 POKE 14337,2**I-1
; PB mis à 1
40 PAUSE 40
; 1 seconde d'attente.
50 NEXT I
60 STOP

N
ota: seuls D0 à D3 sont connectés.


Teste du port PC en Sortie:
(Registre d'état de la prise Centronics)

10 POKE 14339,128
; PA, PB et BC en sortie.
20 FOR I=0 TO 8
30 POKE 14338,2**I-1
; PC mis à 1
40 PAUSE 40
; 1 seconde d'attente.
50 NEXT I
60 STOP

N
ota: seuls D3 à D7 sont connectés... et en lecture seule.


Teste du port PA en Entrée:
(Registre de données de la prise Centronics)

10 POKE 14339,144
; PA en entrée ( «10010000»).
20 LET A=PEEK (14336) ; Lecture de PA.
30 PRINT A
; Lecture de PA en décimal.
40 PAUSE 40
; 1 seconde d'attente.
60 STOP

N
ota: Lecture de D0 à D7 de la prise.


Programmation Assembleur:


Teste du port PA en Entrée:
(Registre de données de la prise Centronics)

1 REM xxxxxxxxxxxxx (13 caractères)

org +16514
@PAIN = +144
; PA en entrée et Validation du 8255.
@INIT = +14339
; Registre de contrôle.
@ADDPA = +14336
; adresse de Données pour PA
LD HL,INIT
; Charge HL avec l'adresse 14339 (init. 8255)
LD (HL), PAIN ; Charge 144 à l'adresse 14339.
LD BC,(ADDPA) ; Lecture de l'adresse 14336 vers BC.
RET ; Retour vers le Basic

33,3,56, 54,144 , 33,0,56, 237,75,0,56, 201

Print Rand USR 16514
; Affiche le résultat. (= registre BC)
Let E=Rand USR 16514
; assigne le résultat de BC à la variable E.




Pour info:



Imprimantes et terminaux :

Broche 1 : Strobe. (entrée)

Le niveau est habituellement haut; il devient bas pour l'envoie des données.
Le signale doit être supérieur à 0,5µs au terminal (imprimante ou ordinateur).

Broche 2 à 9 : Données de D0 à D7. (Entrée)

Broche 10 : Acknowledge. (Sortie)
La broche passe à l'état bas pour indiquer que votre imprimante est prête à recevoir d'autres données.

Broche 11 : Busy. (Sortie)
Passe à l'état haut pour indiquer que votre imprimante ne peut plus recevoir de données.

Broche 12 : Paper Empty / Paper Out. (Sortie)
La broche passe à l'état haut pour indiquer que l'imprimante n'est plus alimentée en papier.

Broche 13 : Select. (Sortie)
La broche passe à l'état haut pour indiquer que l'imprimante est en ligne.

Broche 14 : AutoFeed. (Entrée)
La broche passe à l'état bas pour indiquer que votre imprimante doit décaler d'une ligne après l'impression.

Imprimantes seulement :
Broche 16 : Init. (Entrée)
La broche passe à l'état haut pour indiquer à l'imprimante de réinitialiser le contrôleur d'impression et son buffer.

Broche 15 : Error. (Sortie)
La broche passe à l'état haut pour indiquer que l'imprimante n'est plus alimentée en papier, qu'elle est éteinte ou en état d'erreur (bourrage).

Broche 17 : Select In. (entrée)
L'entrée de données à l'imprimante n'est possible que lorsque la broche est à l'état haut. (Etat bas pour une imprimante éteinte)

Montage n°2 :
Carte fille IDE pour votre Zx81

(Montage non réalisé)
V1.0

Implantation : (XavSnap)
(Face composants- face sans pistes mais avec straps)


Zoomer...

Connecteur haut vers IDE
Connecteur bas vers carte Centronics 24 E/S

Sérigraphie:

Zoomer...

PCB:
(époxy simple face avec straps)
(Face cuivre à insoler - faces avec toutes les pistes)

Zoomer...
Nota:
Le branchement du 74hc139 (bas) « /reset » reste à finaliser.

Fichier PBC: (XavSnap)

http://zx81.ordi5.free.fr/brico/centronic/images/IDE.ci




Programmation du driver (ROM/Ram) en cours


Annexe n°1:



Datasheet du 8255 -

http://www.datasheetcatalog.com pour le 8255A de Intel.


Annexe n°2:




Annexe n°3: