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é.

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.

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.


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.


Les broches paires se trouvent sur le dessus du connecteur.
Les broches impaires en dessous.



2 84___86 182 |--- Dessus //////////////////////////// //////////////////////////// /==========================/ /==========================/ ^ ^ ^ ^ ^ 1 83 85 181 |___Dessous Schéma du Port d'Extension CD-32
| Broche | Nom | Fonction |
|---|---|---|
| 1 | A31 | Bus d'adresse |
| 2 | A30 | Bus d'adresse |
| 3 | A29 | Bus d'adresse |
| 4 | A28 | Bus d'adresse |
| 5 | A27 | Bus d'adresse |
| 6 | A26 | Bus d'adresse |
| 7 | A25 | Bus d'adresse |
| 8 | A24 | Bus d'adresse |
| 9 | DGND | Masse |
| 10 | VCC | Alimentation |
| 11 | A23 | Bus d'adresse |
| 12 | A22 | Bus d'adresse |
| 13 | A21 | Bus d'adresse |
| 14 | A20 | Bus d'adresse |
| 15 | A19 | Bus d'adresse |
| 16 | A18 | Bus d'adresse |
| 17 | A17 | Bus d'adresse |
| 18 | A16 | Bus d'adresse |
| 19 | DGND | Masse |
| 20 | VCC | Alimentation |
| 21 | A15 | Bus d'adresse |
| 22 | A14 | Bus d'adresse |
| 23 | A13 | Bus d'adresse |
| 24 | A12 | Bus d'adresse |
| 25 | A11 | Bus d'adresse |
| 26 | A10 | Bus d'adresse |
| 27 | A9 | Bus d'adresse |
| 28 | A8 | Bus d'adresse |
| 29 | DGND | Masse |
| 30 | VCC | Alimentation |
| 31 | A7 | Bus d'adresse |
| 32 | A6 | Bus d'adresse |
| 33 | A5 | Bus d'adresse |
| 34 | A4 | Bus d'adresse |
| 35 | A3 | Bus d'adresse |
| 36 | A2 | Bus d'adresse |
| 37 | A1 | Bus d'adresse |
| 38 | A0 | Bus d'adresse |
| 39 | DGND | Masse |
| 40 | VCC | Alimentation |
| 41 | D31 | Bus de données |
| 42 | D30 | Bus de données |
| 43 | D29 | Bus de données |
| 44 | D28 | Bus de données |
| 45 | D27 | Bus de données |
| 46 | D26 | Bus de données |
| 47 | D25 | Bus de données |
| 48 | D24 | Bus de données |
| 49 | DGND | Masse |
| 50 | VCC | Alimentation |
| 51 | D23 | Bus de données |
| 52 | D22 | Bus de données |
| 53 | D21 | Bus de données |
| 54 | D20 | Bus de données |
| 55 | D19 | Bus de données |
| 56 | D18 | Bus de données |
| 57 | D17 | Bus de données |
| 58 | D16 | Bus de données |
| 59 | DGND | Masse |
| 60 | VCC | Alimentation |
| 61 | D15 | Bus de données |
| 62 | D14 | Bus de données |
| 63 | D13 | Bus de données |
| 64 | D12 | Bus de données |
| 65 | D11 | Bus de données |
| 66 | D10 | Bus de données |
| 67 | D9 | Bus de données |
| 68 | D8 | Bus de données |
| 69 | DGND | Masse |
| 70 | VCC | Alimentation |
| 71 | D7 | Bus de données |
| 72 | D6 | Bus de données |
| 73 | D5 | Bus de données |
| 74 | D4 | Bus de données |
| 75 | D3 | Bus de données |
| 76 | D2 | Bus de données |
| 77 | D1 | Bus de données |
| 78 | D0 | Bus de données |
| 79 | DGND | Masse |
| 80 | VCC | Alimentation |
| 81 | IPL2* | Niveau de priorité d'interruption |
| 82 | IPL1* | Niveau de priorité d'interruption |
| 83 | IPL0* | Niveau de priorité d'interruption |
| 85 | RST* | |
| 86 | HALT* | |
| 87 | ECS* | Absent sur le 68EC020 |
| 88 | OCS* | Absent sur le 68EC020 |
| 89 | SIZE1 | |
| 90 | SIZE0 | |
| 91 | AS* | Sonde d'adresse |
| 92 | DS* | Sonde de donnée |
| 93 | R/W* | |
| 94 | BERR* | Erreur de bus |
| 96 | AVEC* | |
| 97 | DSACK1* | |
| 98 | DSACK0* | |
| 99 | CPUCLK_A | |
| 101 | DGND | Masse |
| 102 | VCC | Alimentation |
| 103 | FC2 | |
| 104 | FC1 | |
| 105 | FC0 | |
| 111 | CPU_BR* | |
| 112 | EXP_BG* | |
| 113 | CPU_BG* | |
| 114 | EXP_BR* | |
| 117 | PUNT* | |
| 118 | RESET* | |
| 119 | INT2* | |
| 120 | INT6* | |
| 121 | KB_CLOCK* | Horloge clavier |
| 122 | KB_DATA* | Données clavier |
| 123 | FIRE0* | Bouton de tir |
| 124 | FIRE1* | Bouton de tir |
| 125 | LED* | |
| 126 | ACTIVE* | Interface lecteur |
| 127 | RXD* | Données série entrée |
| 128 | TXD* | Données série sortie |
| 129 | DKRD* | Interface lecteur |
| 130 | DKWD* | Interface lecteur |
| 131 | SYSTEM | |
| 132 | DKWE* | Interface lecteur |
| 133 | CONFIG_OUT | |
| 135 | DGND | Masse |
| 136 | +12V | Alimentation |
| 137 | DGND | Masse |
| 138 | +12 | Alimentation |
| 139 | 17MHZ | Interface FMV |
| 140 | EXT_AUDIO* | ^ |
| 141 | DA_DATA | | |
| 142 | MUTE* | | |
| 143 | DA_LRCLK | v |
| 144 | DA_BCLK | Interface FMV |
| 145 | DGND | Masse |
| 146 | VCC | Alimentation |
| 147 | DR | Rouge numérique |
| 148 | DG | Vert numérique |
| 149 | DB | Bleu numérique |
| 150 | DI | Intensité numérique |
| 151 | PIXELSW_EXT* | |
| 152 | PIXELSW* | |
| 153 | BLANK* | |
| 154 | PIXELCLK | |
| 155 | DGND | Masse |
| 156 | VCC | Alimentation |
| 157 | CSYNC* | Synchro composite |
| 158 | CCK_B | |
| 159 | HSYNC* | Synchro horizontale |
| 160 | VSYNC* | Synchro verticale |
| 161 | VGND | Masse vidéo |
| 162 | VGND | Masse vidéo |
| 163 | AR_EXT | Rouge analogique |
| 164 | AR | Rouge analogique |
| 165 | AG_EXT | Vert analogique |
| 166 | AG | Vert analogique |
| 167 | AB_EXT | Bleu analogique |
| 168 | AB | Bleu analogique |
| 169 | VGND | Masse vidéo |
| 170 | VGND | Masse vidéo |
| 171 | NTSC* | |
| 172 | XCLKEN* | Active horloge vidéo externe (Genlock) |
| 173 | XCLK | Horloge vidéo externe (Genlock) |
| 174 | EXT_VIDEO* | Désactive interfaces vidéo internes |
| 175 | DGND | Masse |
| 176 | VCC | Alimentation |
| 177 | AGND | Masse analogique |
| 178 | +12 | Alimentation |
| 179 | LEFT_EXT | Audio gauche |
| 180 | LEFT | Audio gauche |
| 181 | RIGHT_EXT | Audio droite |
| 182 | RIGHT | Audio droite |
Les broches dont les numéros sont absents ne sont pas connectées.

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.

