Zorro bus

from Wikipedia, the free encyclopedia

The Zorro bus is a bus system or an internal interface of the Amiga computer.

It was initially used as Zorro-I in the Amiga 1000 , further 16-bit as Zorro-II in the Amiga 2000 and finally 32-bit (multiplexed) as Zorro-III in the Amiga 3000 and higher.

The bus system of the early Amiga models is the so-called Zorro bus with 24-bit address and 16-bit data bus - in the A500 / 1000 with an 86-pin connector on the side, in the A2000 Zorro-II internally with several 100-pin ones Slots, in the A3000 / A4000 Zorro-III with 32-bit address and data bus through several 100-pin slots, 32-bit is achieved by multiplexing the signal lines. With an adapter you can operate Zorro II cards on an Amiga 500/1000. All Zorro II cards also run in Zorro III slots, since the bus automatically detects whether the card is a 16 or 32 bit card.

Commercially available IBM-compatible ISA plug-in cards (16-bit) can also be installed in the A2000, A3000 and A4000 models, but a so-called bridge card is also required, and only hard drives are accessible from the Amiga side using special software.

Auto-config mechanism

The Zorro bus has a so-called auto-config mechanism, which enables the automatic integration of expansion cards when the system is started. Each Zorro card has an EPROM or PAL module for this purpose , which contains all the information required for the auto-config mode.

These are for example

  • Manufacturer code number: Every developer of Zorro cards received a code number from Commodore or Amiga Technologies , which they can use to identify their card with the expansion.library.
  • Product number: This number can be freely selected by the manufacturer and is also required for identification via the expansion.library.
  • Serial number: It can be freely selected by the manufacturer and can mean anything (4 bytes).
  • Type designation and flags: Information such as the Zorro standard (II / III), the size of the required address space and much more are available here.

The address space can be 64 KiB to 8 MiB, with Zorro III also 16 to 1024 MiB are possible (each in powers of two ). This means that the system only reserves as much memory for the card as is required.

With the Amiga 2000 self-configuring internal interfaces were introduced for the first time. These internal interfaces of the Amiga are comparable to the considerably younger PCI slots of today's computers.

Each Zorro card has its own number, which depends on the slot in which it is inserted. After a reset, all cards are queried via the so-called CFGIN and CFGOUT signals. Each card is assigned a 64 kilobyte information block, which is from $ 00E8xxxx for Zorro-II and from $ FF00xxxx for Zorro-III. Then all necessary data for the integration of the card are entered in a system list. Then the drivers are installed, which receive all necessary information about the associated card via the expansion.library in order to be able to integrate them.

Others

The Zorro bus was developed from the CPU expansion slot of the Amiga 1000 . Many later extensions of the Amiga 500 (Plus) and the Amiga 1200 were based on it.

The "Zorro II" of the Amiga 2000 was designed for a data width of 16 bits. With the Amiga 3000 this was expanded to 32 bit data width (Zorro III), but Zorro II cards (16 bit) can still be used.

The Amiga 4000 uses the same Zorro III slots as the Amiga 3000.

In addition to Commodore itself, Great Valley Products , phase5 and other providers also offered expansion cards for the Zorro bus .

The hardware logic for the bus protocols is housed in the custom chip "Buster" (exception for the Amiga 2000 "A", where discrete GALs were used). The “Super Buster” was used for Zorro-III.

After the PCI specifications were announced, Dave Haynie considered the development of Zorro-IV to be obsolete.

Web links