# Zorro-Bus

Der Zorro-Bus ist ein Bussystem und eine Schnittstelle, die in der Amiga-Computerfamilie verwendet wird. Der Name stammt von einer Entwicklungsplatine für den Amiga 1000, auf der der Zorro-Bus zusammen mit anderen wichtigen Schnittstellen erstmals implementiert wurde.

## Zorro

Der ursprüngliche Zorro-Steckplatz (retronym Zorro I) ist als einzelner externer Platinenstecker mit 86 Kontakten hinter einer Plastikklappe implementiert, der beim Amiga 1000 rechts und beim Amiga 500 und 500 Plus links sitzt. Er verfügt über 24-Bit-Adress- und 16-Bit-Datenleitungen.

## Zorro II

Im Amiga 2000 sind fünf 100-polige, interne, weibliche Steckplätze verbaut, ebenfalls mit 24-Bit-Adress- und 16-Bit-Datenleitungen.
Die Pinbelegung ist die gleiche wie bei Zorro I (bis auf Autoconfig). Mit einem einfachen Adapter können Zorro II-Karten an einem Amiga 500 / 1000 betrieben werden.

## Zorro III

Die internen Zorro III-Steckplätze des Amiga 3000 und Amiga 4000 verwenden denselben Formfaktor wie Zorro II, allerdings mit 32-Bit breitem Adress- und Datenbus. Dies wird durch Multiplexen der Signalleitungen erreicht.
Zorro II-Karten laufen auch in Zorro III-Steckplätzen, da am Bus selbständig erkannt wird, ob es sich bei der Karte um eine 16- oder 32-Bit-Karte handelt.

## Brückenkarte

In den Amiga-Modellen A2000, A3000 und A4000 können auch handelsübliche ISA-Steckkarten (16-Bit) verwendet werden. Dazu ist jedoch eine spezielle Brückenkarte erforderlich, die die Verbindung zwischen dem Zorro-Bus und den ISA-Steckplätzen ermöglicht. Festplatten, die über ISA-Steckkarten angeschlossen sind, sind über spezielle Software von der Amiga-Seite aus zugänglich.

## Autoconfig-Mechanismus

Der Zorro-Bus verfügt über einen Autoconfig-Mechanismus, der es ermöglicht, Erweiterungskarten beim Systemstart automatisch zu erkennen und einzubinden. Jede Zorro-Karte enthält einen EPROM- oder PAL-Baustein, der die notwendigen Informationen für den Autoconfig-Prozess speichert. Zu den wichtigen Informationen gehören:

### Hersteller-Kennziffer

    Jeder Entwickler von Zorro-Karten erhielt von Commodore bzw. Amiga Technologies eine einzigartige Kennziffer, die es der expansion.library ermöglicht, die Karte zu identifizieren.

### Produktnummer

    Diese vom Hersteller frei wählbare Nummer ist ebenfalls für die Erkennung der Karte durch die expansion.library erforderlich.

### Seriennummer

    Die Seriennummer, ebenfalls vom Hersteller frei wählbar, kann beliebige Werte (4 Bytes) annehmen.

### Typ-Bezeichnung und Flags

    Hier werden Informationen wie der Zorro-Standard (II/III), die Größe des benötigten Adressraums und weitere spezifische Merkmale der Karte gespeichert.
Der Adressraum kann 64 KiB bis 8 MiB betragen, bei Zorro III sind außerdem auch 16 bis 1024 MiB möglich (jeweils in Zweierpotenzen). Dadurch reserviert das System für die Karte nur so viel Speicher, wie erforderlich ist.
Der Adressraum einer Zorro-Karte kann zwischen 64 KiB und 8 MiB betragen. Bei Zorro III sind auch Adressräume von 16 bis 1024 MiB möglich (in Zweierpotenzen). Das System reserviert dabei nur den benötigten Speicherplatz für die jeweilige Karte.
Mit dem Amiga 2000 wurde erstmals die Möglichkeit eingeführt, auch interne Schnittstellen automatisch zu konfigurieren. Diese internen Schnittstellen des Amiga ähneln den PCI-Slots späterer Personal-Computer.
Jede Zorro-Karte erhält eine eindeutige Nummer, die sich nach dem Steckplatz richtet, in dem sie installiert ist. Nach einem Reset werden alle Karten über die Signale CFGIn und CFGOut abgefragt. Jede Karte bekommt dann einen 64-KiB-großen Informationsblock zugewiesen, der für Zorro-II ab der Adresse $00E8xxxx und für Zorro-III ab der Adresse $FF00xxxx liegt.
Anschließend werden die nötigen Daten der Karte in eine Systemliste eingetragen, und die Treiber werden installiert. Über die expansion.library erhält das System alle erforderlichen Informationen, um die Karte korrekt zu integrieren.

## Sonstiges
### Anbieter von Zorro-Erweiterungskarten

    Neben Commodore selbst boten auch andere Unternehmen wie Great Valley Products und phase5 Erweiterungskarten für den Zorro-Bus an.

### Hardware-Logik und Chips

    Die Logik für die Bus-Protokolle des Zorro-Busses ist im Customchip „Buster“ integriert. Eine Ausnahme stellt der Amiga 2000 A dar, bei dem diskrete GALs (Generic Array Logic) anstelle des Busters verwendet wurden. Für den Zorro-III-Bus kam der weiterentwickelte Chip „Super Buster“ zum Einsatz.

### Zorro-Steckplatz in späteren Modellen

    Im Amiga 600 und Amiga 1200 wurde der Zorro-I-Steckplatz durch den modernen PC-Card-Steckplatz ersetzt.

### Zorro-IV und PCI

    Nach der Bekanntgabe der PCI-Spezifikationen betrachtete Dave Haynie die Entwicklung des Zorro-IV-Busses als obsolet, da PCI schnell eine weit verbreitete Alternative wurde.