Jump to content

Parallel Bus Interface

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Mamurra (talk | contribs) at 18:42, 8 August 2008 (Details: there was some confusion here). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

The Parallel Bus Interface or PBI is a 50-pin port found on some Atari 8-bit XL computers. It provides unbuffered, direct connection to the system bus lines (address, data, control), running at the same speed as the 6502 CPU.

Only the 600XL and 800XL computers had a PBI. XE systems came with the Enhanced Cartridge Interface (ECI), a functionally similar connection.

Details

During coldstart, the Atari OS polls for various parallel bus devices. If character devices are found, it'll load handler (aka driver) information into its handler table and initializes the parallel bus device, if needed.

Instead of loading a driver to RAM, a character device can utilize the Generic Parallel Device Handler that's already provided (at a fixed address in ROM) once the address is loaded into the handler table. The device connected to the parallel bus gets its ROM space mapped to the OS Floating-point package subroutines and tables. While the device is selected, no floating-point operations can take place. Once de-selected, the floating-point routines are restored.

A block device does not use the handler table, the only thing needed for proper initialization is setting a predefined flag, that the device is present. A block device can not use a softloaded driver, its driver must reside in the aforementioned ROM space.

Up to eight devices can be connected at a time. When they have been initialized properly, the OS selects them and deselects automatically as appropriate.

Pinout

Parallel Bus Interface (PBI) - looking at the back
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49
2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50
Parallel Bus Interface (PBI) - Pinout
Pin TOP Pin BOTTOM
1 GND Ground 2 External select
3 A0 Address output 4 A1
5 A2 6 A3
7 A4 8 A5
9 A6 10 GND
11 A7 12 A8
13 A9 14 A10
15 A11 16 A12
17 A13 18 A14
19 GND 20 A15
21 D0 Data (bidirectional) 22 D1
23 D2 24 D3
25 D4 26 D5
27 D6 28 D7
29 GND 30 GND
31 Phase 2 clock output 32 GND
33 NC Reserved 34 Reset output
35 (IRQ) Interrupt request 36 Ready input
37 NC 38 External decoder output
39 NC 40 Refresh output
41 Column address output 42 GND
43 MPD Math pack disable input 44 Row address strobe
45 GND 46 Latch read/write out
47 NC (+5V on 600XL only) 48 NC (+5V on 600XL only, used for 1064)
49 Audio input 50 GND

Devices

  • Atari 1064 Memory Module - Designed specifically for the 600XL, it upgraded the memory of the 600XL to 64kB. Only parallel bus device released by Atari.
  • Atari 1090 Expansion System - Designed to give expansion slots to the XL computers. Never released.
  • ICD Multi I/O Board - Hooked up to either a PBI or ECI connection. Featured a RAMdisk, parallel port, serial port, print spooler and a hard disk interface.
  • Black Box - The Black Box by CSS hooks up to either PBI or ECI connection. Featured a SCSI interface, a serial port, parallel port, floppy drive interface and a built-in menu system.

See also

References

  • Chadwick, Ian (1985). Mapping the Atari Revised Edition. COMPUTE! Publications, Inc. ISBN 0-87455-004-1. [1]