Les Ports Zorro

Les ports Zorro consistent en un connecteur mettant à disposition des signaux de l'UC (68000 ou mieux) et quelques signaux d'horloge pour cadencer la carte.

En fait il s'agit d'un mécanisme de reconnaissance automatique de périphérique au boot, chaque carte se branchant à tour de rôle sur l'Amiga qui lui fournit son adresse définitive sur le bus en fonction de ses caractéristiques.

Ils ont considérablement progressé depuis les débuts de l'Amiga.

Sur les compatibles PC, l'arrivée de la norme EISA et des bus PCI permet d'arriver à un résultat sensiblement équivalent, mais avec quel retard...

Cette dénommination de Zorro vient du nom de code original des cartes prototypes de l'Amiga 1000. La carte Zorro en suivait une autre qui s'appelait Lorraine et il s'agissait de la carte en étude quand les spécifications d'extensions fonctionnèrent. Comme tout le monde utilisait le nom de Zorro, il fut conservé.

Zorro I

Zorro II

Zorro III





Les Bus Standards PC

On classe les bus en deux familles : les bus d'extension et les bus locaux.

Les bus ISA, Eisa, MCA font partie la première catégorie, le VL-Bus constitue lui un type de bus local où les cartes doivent fonctionner à la cadence d'horloge du processeur et en partager le bus à l'aide d'un contrôleur mémoire. Le bus Vesa VL-bus est un exemple de bus local.

Le Bus ISA (Industry Standard Architecture) (1985) peut transférer 16 bits par cycle. Il est basé sur une horloge de 8.33 Mhz et il ne peut atteindre 16.66 Mo par seconde.

Le Bus EISA (Extended industry Standard Architecture) (1988) est une amélioration du ISA. Basé sur la même horloge à 8.33 Mhz, il transfert 32 bits à chaque cycle et peut atteindre un maximum théorique de 33 Mo par seconde.

Le bus MCA (Micro Channel Architecture) est une solution propriétaire de chez IBM. Il équipe les ordinateurs IBM/PS2 (Personal System) et a été délivré en plusieurs versions de 16 à 64 Bits. La dernière évolution (1994) travaille avec une horloge à 20 Mhz et offre un débit maximum de 160 Mo/s.

Le bus VESA (Video Electronics Standards Association) transfert 4 mots 32 bits en cinq cycles d'horloge pour la lecture et un mot de 32 bits en deux cycles pour l'écriture. Sur un système à 33 Mhz, cela donne un taux maximal théorique de 66 Mo par seconde en écriture et 100 Mo en lecture. Appelé aussi VLB (Vesa Local Bus). La dernière évolution (1994) travaille avec une horloge à 50 Mhz et offre un débit maximum de théorique 400 Mo/s.

IBM a introduit un bus à haut débit étroitement intégré aux autres éléments de l'ordinateur et qui ne requiert qu'un pont vers le bus du processeur (ce qu'on appelle "architecture en Mezzannine") : le bus PCI (Peripheral Component Interconnect) développé par Intel. Il s'agit d'un bus 32 bits haute performance qui offre une bande passante de 132 Mo/s à 33 MHz. Les débits effectifs sont de 45 Mo/s en lecture et de 90 Mo/s en écriture. Il est indépendant du processeur car un buffer s'intègre entre le processeur et les périphériques. Une extension lui permet de passer à 64 bits, doublant ainsi sa bande passante qui atteint alors 264 Mo/s. Contrairement à EISA et MCA, le bus PCI est vraiment Plug and Play, en fait le protocole d'autoconfig est un peu plus sophistiqué que celui des port Zorro.

Un comité composé d'industriels est chargé de définir les normes PCI. Il s'agit du PCIMG (Peripheral Component Industrial Computer Manufacturer Group).

La société DKB annonce une carte 68060 pour A2000 qui serait équipée d'un port PCI. Peut-être un moyen de palier l'absence de port Zorro-3 dans cette machine.

Le Macintosh dispose pour ses bus d'extension de la norme NuBus (depuis 1987), développé par le Massachusetts Institute of Technology (MIT) (license vendue à Texas Instruments). Cadencé à l'origine à 10 MHz, le NuBus pouvait, en théorie, atteindre 40 Mo/s, mais en pratique le débit était plus proche de 5Mo/s sur la plupart des systèmes à cause de problèmes de synchronisation et de l'incapacité du hardware d'interfaçage du Mac de faire des cycles NuBus en rafale basés sur les cycles en rafales du 680x0. Une version améliorée est présente sur les Mac de la génération suivante (1993), elle double la capacité de ce bus. Les débits atteignent alors 20 Mo/s en lecture et 32 Mo/s en écriture pour un maximum théorique de 80 Mo/s.

On trouve dans la plupart des Macintosh, un connecteur PDS (Processor Direct Slot). Ce dernier est destiné à recevoir des cartes processeurs. A ne pas confondre avec les ports ADB (Apple Desktop Bus) sur lesquels se connectent clavier, souris et autres joystick.

Apple s'oriente désormais vers l'utilisation de bus PCI. Les Macintosh PowerMac 7200, 7500, 8500 et 9500 en sont d'ailleurs équipés.



Zorro I

Première version apparue dans l'A1000.

L'Amiga 1000 fut conçu avec un connecteur donnant accès au bus interne du 68000 et à quelques autres signaux. Peu après son introduction furent publiées les spécifications d'extension pour une carte qui se connecterait à l'Amiga 1000.

Ce bus était l'ancêtre de celui que nous connaissons sous le nom de bus Zorro. Bien plus sophistiqué que les bus d'IBM-XT/AT et d'Apple en usage communément à cette époque, le bus Zorro permettait à n'importe quel slot d'être le maître du bus, et liait les cartes d'extension au logiciel système. Les jumpers d'adressage furent éliminés, l'adresse des cartes étant désormais assignée par le logiciel, et les cartes pouvaient aisément être identifiées par le logiciel et liées au programme pilote approprié, le tout avec un minimum d'intervention de la part de l'utilisateur.

Schéma du port Zorro Processeur




Schéma du port Processeur A1000/A500/A2000

Broche A1000 & A500 A2000 Type
1MasseMasse-
2MasseMasse-
3MasseMasse-
4MasseMasse-
5+5 volts+5 voltsS
6+5 volts+5 voltsS
7DMAV7ME
8-5 volts-5 voltsS
9Non connecté28 MHz-
10+12 volts+12 voltsS
11SLAVEINCOPCFG*E
12CONFIGOUTMasseS
13MasseMasse-
14C3*C3*-
15CDACCDAC-
16C1*C1*-
17OVR*OVR*-
18XRDYXRDY-
19INT2*INT2*E
20Non connectéBOSS-
21A5A5-
22INT6*INT6*E
23A6A6-
24A4A4-
25MasseMasse-
26A3A3-
27A2A2-
28A7A7-
29A1A1-
30A8A8-
31BFC8FC0-
32A9A9-
33BFC1FC1-
34A10A10-
35BFC2FC2-
36A11A11-
37MasseMasse-
38A12A12-
39A13A13-
40IPL0*IPL0*-
41A14A14-
42IPL1*IPL1*-
43A15A15-
44IPL2*IPL2*-
45A16A16-
46BERR*BERR*-
47A17A17-
48VPA*VPA*-
49MasseMasse-
50EE-
51VMA*VMA*-
52A18A18-
53RES*RST*S
54A19A19-
55HLT*HLT*S
56A20A20-
57A22A22-
58A21A21-
59A23A23-
60BRIN*CBR*E
61MasseMasse-
62BGACK*BGACK*-
63D15PD15-
64BGOUT*CBG*-
65D14PD14-
66DTACK*DTACK*-
67D13PD13-
68READPRW*S
69D12PD12-
70BLDS*LDS*-
71D11PD11-
72BUDS*UDS*-
73MasseMasse-
74BAS*AS*-
75D0PD0-
76D10PD10-
77D1PD1-
78D9PD9-
79D2PD2-
80D8PD8-
81D3PD3-
82D7PD7-
83D4PD4-
84D6PD6-
85MasseMasse-
86D5PD5-




Zorro II

Avec son introduction sur l'Amiga 2000, le bus fut modifié. Entre autres modifications, des lignes d'interruptions discrètes furent ajoutées et le format se rapprocha de celui des cartes IBM PC-AT, en réduisant le coût et permettant au bus Zorro II d'offrir un bus PC-AT comme bus secondaire optionnel d'extension. De ces modifications naquit le bus Zorro II, et il s'agit du standard de bus qui fut le plus utilisé durant la vie de l'Amiga.

Connecteurs 100 broches situés sur le bus 68000 permettant la connexion de plusieurs cartes simultanément. Bus de données sur 16 bits et bus d'adresses sur 24 bits. Le temps de cycle de base est de 280 ns. Taux de transfert maximal de 2 Mo/s. Présents sur les A2000 et A2500.

Le connecteur processeur à 86 broches des A1000, A500 et A2000 et plus ou moins assimilé à un port Zorro-II. Ce connecteur, présent sur les 3 machines, est appelé SOTS (Slap On The Side) sur l'A500. Sur les A3000/A4000, le connecteur processeur fait 200 broches.

Sur les Amiga 2000/3000/4000 on trouve aussi un connecteur d'extension vidéo permettant par exemple la connexion d'un Flicker-Fixer.

Aucun des ports d'extension présents sur les machines équipées de 68EC020 ne sont de vrais Zorro II.

Schéma du port Processeur A1000/A500/A2000
Schéma du port Processeur A3000/A4000
Schéma du port Processeur A1200
Schéma du port Vidéo
Schéma du port Zorro II
Schéma du port de la CD32




Schéma du port Processeur A3000/A4000

1_DSACK12Masse3Masse4_HLT
5R_W6Masse7Masse8_BGACK
9_SBR10Masse11Masse12_AVEC
13EXT9014+5 volts15+5 volts16RAMSLOT
17_BOSS18+5 volts19+5 volts20FC0
21_STERM22+5 volts23+5 volts24FC1
25_BR26+5 volts27+5 volts28_CBACK
29_BERR3031_EMUL32_CBREQ
33A83435Masse36A0
37A938Masse39Masse40A1
41A10424344A2
45A114647Masse48A3
49A1250Masse51Masse52A4
53A135455_WAIT56A5
57A145859Masse60A6
61A1562Masse63Masse64A7
65A16666768A24
69A177071Masse72A25
73A1874Masse75Masse76A26
77A19787980A27
81A208283Masse84A28
85A2186Masse87Masse88A29
89A229091_DSACK092A30
93A2394+5 volts95+5 volts96A31
97_DS98+5 volts99+5 volts100_ECS
101_CIOUT102+5 volts103+5 volts104_DBEN
105_BG106+5 volts107+5 volts108_RMC
109_CPURST110_FPURST111112EXTCPU
113_EBCLR114115Masse116_IPEND
117_RESET118Masse119Masse120_IPL0
121SIZ0122Masse123Masse124_IPL1
125FC2126CLK90127Masse128_IPL2
129SIZE1130Masse131Masse132_CIIN
133_AS134_FPUCS135_CPUCLKR136_OCS
137D31138Masse139Masse140D15
141D30142Masse143Masse144D14
145D29146147_CBR148D13
149D28150151Masse152D12
153D27154Masse155Masse156D11
157D26158159_BG30160D10
161D25162163Masse164D9
165D24166Masse167Masse168D8
169D16170171172D0
173D17174+5 volts175+5 volts176D1
177D18178+5 volts179+5 volts180D2
181D19182+5 volts183+5 volts184D3
185D20186+5 volts187+5 volts188D4
189D21190Masse191Masse192D5
193D22194Masse195Masse196D6
197D23198Masse199Masse200D7




Schéma du port Processeur A1200

1A3176D2
2A3077D1
3A2978D0
4A2879Masse
5A2780+5 v
6A2681/IPL2
7A2582/IPL1
8A2483/IPL0
9Masse84NC
10+5 v85/RST
11A2386/HLT
12A2287NC
13A2188NC
14A2089SIZE1
15A1990SIZE0
16A1891/AS
17A1792/DS
18A1693R/W
19Masse94/BEER
20+5 v95NC
21A1596/AVEC
22A1497/DSACK1
23A1398/DSACK0
24A1299CPUCLKA
25A11100E
26A10101Masse
27A9102+5 v
28A8103FC2
29Masse104FC1
30+5 v105FC0
31A7106/RMC
32A6107NC
33A5108NC
34A4109NC
35A3110NC
36A2111/BR
37A1112/BG
38A0113NC
39Masse114/BOSS
40+5 v115/FPUCS
41D31116/FPUSENSE
42D30117CCKA
43D29118/RESET
44D28119Masse
45D27120+5 v
46D26121/NETCS
47D25122/SPARECS
48D24123/RTCCS
49Masse124/FLASH
50+5 v125/REG
51D23126/CCENA
52D22127/WAIT
53D21128/KBRESET
54D20129/IORD
55D19130/IOWR
56D18131/OE
57D17132/WE
58D16133/OVR
59masse134XRDY
60+5 v135/ZORRO
61D15136/WIDE
62D14137/INT2
63D13138/INT6
64D12139Masse
65D11140+5 v
66D10141SYSTEM1 (Masse)
67D9142SYSTEM0 (Masse)
68D8143/xRxD
69masse144/xTxD
70+5 v145/CONFIG OUT (Masse)
71D7146Audio masse
72D6147Audio gauche
73D5178Audio droite
74D4179+12 v
75D3180-12 v

Les broches paires se trouvent sur le dessus du connecteur.

Les broches impaires en dessous.



Schéma du connecteur Vidéo étendu des Amiga 2000, 3000 et 4000

Schéma du connecteur Vidéo étendu des Amiga 2000, 3000 et 4000

CN203CN207
1Masse1
2R02
3R13FLTLEFT
4R24FLTRIGHT
5Masse5
6G06+5 volts
7G17RED
8G28+5 volts
9Masse9Masse
10B110+12 volts
11B211GREEN
12Masse12Masse
13COMPVID13Masse
14TBASE14_CSYNC
15VCDAC15BLUE
16PPOUT16_XCLKEN
17_C317Masse
18PBUSY18BURST
19_FIRB19_C4
20_PACK20Masse
21PSEL21Masse
22Masse22_HSYNC
23PPD023B0 (D1)
24PPD124Masse
25PPD225B3 (DB)
26PPD326_VSYNC
27PPD427G3 (DG)
28PPD528COMPSYNC
29PPD629R3 (DR)
30PPD730PIXELSW
31_LED31-5 volts
32Masse32Masse
33RAWLEFT33XCLK
34Masse Audio34_VC1
35RAWRIGHT35
36Masse Audio36PSTROBE




Schéma du Port Zorro II

1Masse51/VMA Valid Memory Address
2Masse52A18
3Masse53/RST
4Masse54A19
5+5 volts55/HLT
6+5 volts56A20
7/LOCAL-OWN57A22
8-5 volts58A21
9/SLAVEx59A23
10+12 volts60BRx Bus Request
11/CONF-OUTx61Masse
12/CONF-INx62/BGACK Bus Grant Acknowledge
13Masse63BD15
14/C364/BGx
15CDAC65BD14
16/C166/DTACK
17/OVR67BD13
18XRDY68READ
19/INT269BD12
20-12 volts70/BLDS Lower Data Strobe
21A571BD11
22/INT672/BUDS Upper Data Strobe
23A673Masse
24A474/BAS Address Strobe
25Masse75BD0
26A376BD10
27A277BD1
28A778BD9
29A179BD2
30A880BD8
31BFC081BD3
32A982BD7
33BFC183BD4
34A1084BD6
35BFC285Masse
36A1186BD5
37Masse87Masse
38A1288Masse
39A1389Masse
40/EINT790Masse
41A1491Masse
42/EINT5927Mhz
43A1593DOE
44/EINT494/BUSRST Reset Bus
45A1695/GBG
46/BERR Bus ERRor96/EINT1
47A1797RESERV8
48/VPA Valid Peripheral Address98RESERV9
49Masse99Masse
50E100Masse





Schéma du Port d'Extension CD-32

2 84___86 182 |--- Dessus //////////////////////////// //////////////////////////// /==========================/ /==========================/ ^ ^ ^ ^ ^ 1 83 85 181 |___Dessous
Broche Nom Fonction
1A31Bus d'adresse
2A30Bus d'adresse
3A29Bus d'adresse
4A28Bus d'adresse
5A27Bus d'adresse
6A26Bus d'adresse
7A25Bus d'adresse
8A24Bus d'adresse
9DGNDMasse
10VCCAlimentation
11A23Bus d'adresse
12A22Bus d'adresse
13A21Bus d'adresse
14A20Bus d'adresse
15A19Bus d'adresse
16A18Bus d'adresse
17A17Bus d'adresse
18A16Bus d'adresse
19DGNDMasse
20VCCAlimentation
21A15Bus d'adresse
22A14Bus d'adresse
23A13Bus d'adresse
24A12Bus d'adresse
25A11Bus d'adresse
26A10Bus d'adresse
27A9Bus d'adresse
28A8Bus d'adresse
29DGNDMasse
30VCCAlimentation
31A7Bus d'adresse
32A6Bus d'adresse
33A5Bus d'adresse
34A4Bus d'adresse
35A3Bus d'adresse
36A2Bus d'adresse
37A1Bus d'adresse
38A0Bus d'adresse
39DGNDMasse
40VCCAlimentation
41D31Bus de données
42D30Bus de données
43D29Bus de données
44D28Bus de données
45D27Bus de données
46D26Bus de données
47D25Bus de données
48D24Bus de données
49DGNDMasse
50VCCAlimentation
51D23Bus de données
52D22Bus de données
53D21Bus de données
54D20Bus de données
55D19Bus de données
56D18Bus de données
57D17Bus de données
58D16Bus de données
59DGNDMasse
60VCCAlimentation
61D15Bus de données
62D14Bus de données
63D13Bus de données
64D12Bus de données
65D11Bus de données
66D10Bus de données
67D9Bus de données
68D8Bus de données
69DGNDMasse
70VCCAlimentation
71D7Bus de données
72D6Bus de données
73D5Bus de données
74D4Bus de données
75D3Bus de données
76D2Bus de données
77D1Bus de données
78D0Bus de données
79DGNDMasse
80VCCAlimentation
81IPL2*Niveau de priorité d'interruption
82IPL1*Niveau de priorité d'interruption
83IPL0*Niveau de priorité d'interruption
85RST*
86HALT*
87ECS*Absent sur le 68EC020
88OCS*Absent sur le 68EC020
89SIZE1
90SIZE0
91AS*Sonde d'adresse
92DS*Sonde de donnée
93R/W*
94BERR*Erreur de bus
96AVEC*
97DSACK1*
98DSACK0*
99CPUCLK_A
101DGNDMasse
102VCCAlimentation
103FC2
104FC1
105FC0
111CPU_BR*
112EXP_BG*
113CPU_BG*
114EXP_BR*
117PUNT*
118RESET*
119INT2*
120INT6*
121KB_CLOCK*Horloge clavier
122KB_DATA*Données clavier
123FIRE0*Bouton de tir
124FIRE1*Bouton de tir
125LED*
126ACTIVE*Interface lecteur
127RXD*Données série entrée
128TXD*Données série sortie
129DKRD*Interface lecteur
130DKWD*Interface lecteur
131SYSTEM
132DKWE*Interface lecteur
133CONFIG_OUT
135DGNDMasse
136+12VAlimentation
137DGNDMasse
138+12Alimentation
13917MHZInterface FMV
140EXT_AUDIO*^
141DA_DATA|
142MUTE*|
143DA_LRCLKv
144DA_BCLKInterface FMV
145DGNDMasse
146VCCAlimentation
147DRRouge numérique
148DGVert numérique
149DBBleu numérique
150DIIntensité numérique
151PIXELSW_EXT*
152PIXELSW*
153BLANK*
154PIXELCLK
155DGNDMasse
156VCCAlimentation
157CSYNC*Synchro composite
158CCK_B
159HSYNC*Synchro horizontale
160VSYNC*Synchro verticale
161VGNDMasse vidéo
162VGNDMasse vidéo
163AR_EXTRouge analogique
164ARRouge analogique
165AG_EXTVert analogique
166AGVert analogique
167AB_EXTBleu analogique
168ABBleu analogique
169VGNDMasse vidéo
170VGNDMasse vidéo
171NTSC*
172XCLKEN*Active horloge vidéo externe (Genlock)
173XCLKHorloge vidéo externe (Genlock)
174EXT_VIDEO*Désactive interfaces vidéo internes
175DGNDMasse
176VCCAlimentation
177AGNDMasse analogique
178+12Alimentation
179LEFT_EXTAudio gauche
180LEFTAudio gauche
181RIGHT_EXTAudio droite
182RIGHTAudio droite

Les broches dont les numéros sont absents ne sont pas connectées.



Zorro III

Avec la création de l'Amiga 3000, il devenait clair que le bus Zorro II devenait inadéquat à supporter tous les besoins du système. Quelques lignes inutilisées sur le bus Zorro II et l'adoption d'un contrôleur de bus custom LSI, donnèrent naissance au bus Zorro III, toujours compatible avec le Zorro II, mais désormais avec un accès total en 32 bits et quelques limitations en moins.

Connecteurs 100 broches compatibles ZORRO II. Bus de données et d'adresses sur 32 bits. La vitesse du bus est indépendante du processeur et les transferts DMA se font à haute vitesse. Taux de transfert de 8 Mo/s. Présents sur les A3000 et A4000.

En fait, seule l'architecture optimisée de l'A4000 permet d'utiliser à 100 % le potentiel du bus Zorro III, l'A3000 ne pouvant tirer qu'environ 50 % de celui-ci.

Schéma du port Zorro III




Schéma du Port Zorro III

Broche Nom Adressage Données
1MasseMasseMasse
2MasseMasseMasse
3MasseMasseMasse
4MasseMasseMasse
5+5 volts+5 volts+5 volts
6+5 volts+5 volts+5 volts
7/OWN/OWN/OWN
8-5 volts-5 volts-5 volts
9/SLAVEx/SLAVEx/SLAVEx
10+12 volts+12 volts+12 volts
11/CONF-OUTx/CONF-OUTx/CONF-OUTx
12/CONF-INx/CONF-INx/CONF-INx
13MasseMasseMasse
14/C3/C3/C3
15CDACCDACCDAC
16/C1/C1/C1
17/CINH/CINH/CINH
18MTCRMTCRMTCR
19/INT2/INT2/INT2
20-12 volts-12 volts-12 volts
21A5A5A5
22/INT6/INT6/INT6
23A6A6A6
24A4A4A4
25MasseMasseMasse
26A3A3A3
27A2A2A2
28A7A7A7
29/LOCK/LOCK/LOCK
30A8A8D0
31BFC0BFC0BFC0
32A9A9D1
33BFC1BFC1BFC1
34A10A10A2
35BFC2BFC2BFC2
36A11A11D3
37MasseMasseMasse
38A12A12D4
39A13A13D5
40/INT7/INT7/INT7
41A14A14D6
42/INT5/INT5/INT5
43A15A15D7
44/INT4/INT4/INT4
45A16A16D8
46/BERR/BERR/BERR
47A17A17D9
48/MTACK/MTACK/MTACK
49MasseMasseMasse
50EEE
51/DS0DS0DS0
52A18A18D10
53/RST/RST/RST
54A19A19D11
55/HLT/HLT/HLT
56A20A20D12
57A22A22D14
58A21A21D13
59A23A23D15
60/BRx/BRx/BRx
61MasseMasseMasse
62/BGACK/BGACK/BGACK
63D31A31D31
64/BGx/BGx/BGx
65D30A30D30
66/DTACK/DTACK/DTACK
67D29A29D29
68READREADREAD
69D28A28D28
70/DS2/DS2/DS2
71D27A27D27
72/DS3S3/DS3
73MasseMasseMasse
74/CCS/CCS/CCS
75D0-D16
76A26A26D26
77SD1-D17
78A25A25D25
79SD2-D18
80A24A24D24
81SD3-D19
82SD7-D23
83SD4-D20
84SD6-D22
85MasseMasseMasse
86SD5-D21
87MasseMasseMasse
88MasseMasseMasse
89MasseMasseMasse
90MasseMasseMasse
91SenseZ3SenseZ3SenseZ3
927Mhz7Mhz7Mhz
93DOEDOEDOE
94/IORST/IORST/IORST
95/BCLR/BCLR/BCLR
96/INT1/INT1/INT1
97/FCS/FCS/FCS
98/DS1/DS1/DS1
99MasseMasseMasse
100MasseMasseMasse