Monday, February 6, 2012

Autoconfig

Autoconfig is an auto-configuration agreement of Amiga computers which is advised to automatically accredit assets to amplification accessories after the charge for jumper settings.1 It is akin to PCI configuration.

AutoConfig is chip aural the Amiga's Kickstart firmware, usually stored in ROM. When the arrangement is switched on, AmigaOS interrogates anniversary amplification accessory in about-face and assigns abode amplitude or assets as needed. For example, in the case of a anamnesis card, the OS can dynamically add the anamnesis to the system. Through Autoconfig the OS can admission firmware on amplification devices, for example, to cossack from a deejay affiliated to a harder deejay controller.

Protocol

Expansion accessories acknowledge to assertive anchored anamnesis addresses starting at hexadecimal E80000 (or FF000000 for Zorro III) if the /CFGIN arresting is asserted and the accessory is not already configured. The CPU reads nibbles of agreement advice (usually supplied by a PAL) such as architect ID, artefact ID, and the bulk of abode amplitude the accessory requires. The CPU again writes a abject anamnesis abode to the accessory (or tells it to "shut up" if for some acumen it can't be configured), and the accessory asserts /CFGOUT.

The /CFGIN of the aboriginal accessory is angry to ground. The additional device's /CFGIN is controlled by the aboriginal device's /CFGOUT, and so on.

In a backplane architecture such as the Amiga 2000, abutting the /CFGOUT of one aperture anon to the /CFGIN of the next would actualize the botheration that an alone aperture would breach the agreement chain. To break this, the backplane ORs the /CFGIN and /CFGOUT signals to anatomy the /CFGIN for the next aperture (/CFGOUT is pulled low if undriven), which allows abandoned slots to be bypassed. This requires one 74LS32 (quad OR gate) on the Amiga 2000, which is the alone motherboard accouterments appropriate by Autoconfig.

Hardware specifications and bus connections

Autoconfig is allotment of the Zorro II and Zorro III amplification bus blueprint for configuring amplification accessories in Amiga systems. Zorro II was aboriginal acclimated in the Amiga 2000, admitting a agnate amplification bus is present on the Amiga 1000. Zorro II is a almost aboveboard addendum of the 68000 bus.2 Autoconfig requires the 68000 abstracts and abode bus to be accessible to all accessories on the bus. In theory, a basic abode system, as acclimated in PCI, would crave a accessory afterlight to Autoconfig.

The Amiga 2000 can board 5 Zorro amplification cards, such as, RAM expansions, SCSI controllers and clear cards. However the accepted does not put a absolute on the amount of devices. In the A2000, two Zorro II slots are accumbent with ISA slots. The Zorro bus and ISA bus can be affiliated by agency of a "bridgeboard", such as, the Janus Accouterments Emulator, which allows appetite of Intel 80286 or 80386 systems.2

Zorro III is the 32 bit auto-configuring amplification bus of Amiga 3000 and Amiga 4000 systems.3 From the A3000 architecture onwards, it was accounted adorable for all enumerable accouterments expansions to use Autoconfig. It is OS-legal for non-Autoconfig accouterments to be absolutely abandoned and the accepted was adopted in AmigaOS 3.1.

Comparison with PCI configuration

Compared with PCI configuration, Autoconfig is abundant simpler, yet provides the aforementioned basal functions. PCI allows accidental admission to the agreement amplitude of devices, which requires arrangement registers and I/O lines. Autoconfig requires no such arrangement hardware, but has the brake that accessories can alone be configured in sequence, and they abide configured until reset. Autoconfig does abutment hot-plugging but alone for one accessory (the endure one). Most manufacturers which appropriate hot-plugging instead did not use Autoconfig for whatever was getting added and removed (e.g. a PCMCIA card) but instead assigned whatever ability was all-important assuredly to the anchorage or ambassador and handled the accession or abatement abundant like inserting a billowing disk.

An Amiga's Autoconfig is performed by the OS at boot-time and may not be afflicted after rebooting. In theory, PCI can change its ability allocation at any time, admitting both the accepted Linux and Windows operating systems do not acquiesce such changes due to architectural limitations in the corresponding operating systems. Direct PCI accouterments (e.g. A PCI card), however, may not be hot-plugged (PCI agreement registers are a abstracted allotment of the specification) due to the ancillary arbited attributes of the bus. So, PCI can reallocate assets on the fly, which it does if the OS endless and may override BIOS ability allocation, but cannot change the accouterments while the arrangement is running. Autoconfig can change the accouterments while the arrangement is active but alone for the endure accouterments in the config sequence, or to add a new section of hardware. Neither Autoconfig nor PCI PnP in fact acquiesce this in any ample operating system.

Notation

In aboriginal Commodore abstracts it was styled Auto Configuration2, auto-config2 or AutoConfig4, admitting in after abstracts it was styled AUTOCONFIG3.