HARDWARE DESCRIPTION OF THE EXPANSION BOX The box consists of two main elements, the Buffer Box and the Expansion Box Chassis. This document will concern itself with the hardware inside the Expansion Box Chassis as the Buffer Box is a simple signal buffer unit. The Expansion Chassis contains a backplane, for option connection, a power supply and I/O channels. The I/O channels consist of two serial RS232C channels and one Centronics type parallel output port. These functions are created by two 68B50 ACIAs, one 68B21 PIA, and a BR1943 baud rate generator. Figure 1 shows the locations of the devices in the memory map. All the devices respond to Parallel Bus Device #6. ----------------------------------- | Location | Device | ----------------------------------- | D100H | 68B50 Channel A | | D104H | 68B50 Channel B | | D108H | 68B21 | | D110H | 1943 | ----------------------------------- Figure 1 Parallel Channel Description The Parallel channel uses a 68B21 PIA. There are 11 signals implemented in the Centronics Interface. These signals are D0-D7, Data Strobe, Busy, and Fault. The data lines use port A in the PIA and are output only. Data Strobe is an output line from port B bit 4 which is used to strobe data to the printer. This signal should be active after data is stable and the printer is not busy. Busy is an input line of port B bit 5. This input controls the flow of data to the printer; it should be checked before next data transmission. Fault is an input of port B bit 6. This input indicates if the printer had a fault (ie. paper out) and should always be checked. Figure 2 shows the port assignments for the PIA. The register types and control bits are the same as the standard Atari PIA used in current computers. --------------------------------------------- | Port | Direction | Description | --------------------------------------------- | A0 | Output | Data Bit 0 | | A1 | Output | Data Bit 1 | | A2 | Output | Data Bit 2 | | A3 | Output | Data Bit 3 | | A4 | Output | Data Bit 4 | | A5 | Output | Data Bit 5 | | A6 | Output | Data Bit 6 | | A7 | Output | Data Bit 7 | --------------------------------------------- | B0 | Input | DSR' Channel A | | B1 | Output | DTR' Channel A | | B2 | Output | DTR' Channel B | | B3 | Input | DSR' Channel B | | B4 | Output | Data Strobe' | | B5 | Input | Busy' | | B6 | Input | Fault' | | B7 | Not Used | Not Used | --------------------------------------------- Figure 2 Baud Rate Selection The baud rate for the two serial channels is created by a BR1943 baud rate generator. This device creates two different baud rates using one write only register. The upper four bits of this register controls the baud rate for Channel B, the lower four bits control Channel A. Figure 3 shows the four bit combinations for the 16 different baud rates. Sel Value Baud Rate ----------------------------- | 0000 | 50 | | 0001 | 75 | | 0010 | 110 | | 0011 | 134.5 | | 0100 | 150 | | 0101 | 200 | | 0110 | 300 | | 0111 | 600 | | 1000 | 1200 | | 1001 | 1800 | | 1010 | 2400 | | 1011 | 3600 | | 1100 | 4800 | | 1101 | 7200 | | 1110 | 9600 | | 1111 | 19200 | ----------------------------- Figure 3 Serial Channels The two serial channels are a full RS-232C type. These channels use the baud rates from above, handshake internal to the ACIA as well as extra handshake lines from the PIA. The ACIA operation is described below as well as register locations. The software should provide correct operation of the extra handshake lines for full modem control. ACIA REGISTERS DESCRIPTION The ACIA has internal registers on the chip that are used for the status, control, receiving, and transmitting of data. The content of each of the registers is summarized in Table 1. ------------------------------------------------------------- |Data|Transmit|Receive |Control |Status | |Bus |Data |Data |Register |Register | | # |Register|Register| | | ------------------------------------------------------------- | 0 | Data 0 | Data 0 |C D Sel 1 CRO |RDRF | | 1 | Data 1 | Data 1 |C D Sel 2 CR1 |TDRE | | 2 | Data 2 | Data 2 |Word Sel 1 CR2 |DCD' | | 3 | Data 3 | Data 3 |Word Sel 2 CR3 |CTS' | | 4 | Data 4 | Data 4 |Word Sel 3 CR4 |Frame Error | | 5 | Data 5 | Data 5 |Transmit Con 1 CR5|Receiver Overrun | | 6 | Data 6 | Data 6 |Transmit Con 2 CR6|Parity Error | | 7 | Data 7 | Data 7 |Rec Int En CR7 |Interrupt Request| ------------------------------------------------------------- Table 1 Definition of ACIA Register Contents TRANSMIT DATA REGISTER (TDR) Data is written in the Transmit Data Register during the negative transition of the enable (E) when the ACIA has been addressed and RS . R/W is selected. Writing data into the register causes the Transmit Data Register Empty bit in the Status Register to go low. Data can then be transmitted. If the transmitter is idling and no character is being transmitted, then the transfer will take place within one bit time of the trailing edge of the Write command. If a character is being transmitted, the new data character will commence as soon as the previous character is complete. The transfer of data causes the Transmit Data Register Empty (TDRE) bit to indicate empty. RECEIVE DATA REGISTER (RDR) Data is automatically transferred to the empty Receive Data Register (RDR) from the receiver deserializer (a shift register) upon receiving a complete character. This event causes the Receive Data Register Full bit (RDRF) in the status buffer to go high (full). Data may then be read through the bus by addressing the ACIA and selecting the Receive Data Register with RS and R/W high when the ACIA is enabled. The non-destructive read cycle causes the RDRF bit to be cleared to empty although the data is retained in the RDR. The status is maintained by RDRF as to whether or not the data is current. When the Receive Data Register is full, the automatic transfer of data from the Receiver Shift Register to the Data Register is inhibited and the RDR contents remain valid with its current status stored in the Status register. CONTROL REGISTER The ACIA Control Register consists of eight bits of write-only buffer that are selected when RS and R/W are low. This register controls the function of the receiver, transmitter, interrupt enables, and the Request-to-Send peripheral/modem control output. Counter Divide Select Bits (CR0 and CR1) - The counter Divide Select Bits (CR0 and CR1) determine the divide ratios utilized in both the transmitter and receiver sections of the ACIA. Additionally, these bits are used to provide a master reset for the ACIA which clears the Status Register (except for external conditions on CTS and DCD) and initializes both the receiver and transmitter. Master reset does not affect other Control Register bits. Note that after power-on or a power fail/restart, these bits must be set high to reset the ACIA. After resetting, the clock divide ratio may be selected. These counter select bits provide for the following clock divide ratios: ----------------------------- | CR1 | CR0 | Function | ----------------------------- | 0 | 0 | Divide by 1 | | 0 | 1 | Divide by 16 | | 1 | 0 | Divide by 64 | | 1 | 1 | Master Reset | ----------------------------- Word Select Bits (CR2, CR3, and CR4) - The Word Select bits are used to select word length, parity, and the number of stop bits. The encoding format is as follows: ---------------------------------------------- |CR4|CR3|CR2| Function | ---------------------------------------------- | 0 | 0 | 0 | 7 Bits Even Parity 2 Stop Bits | | 0 | 0 | 1 | 7 Bits Odd Parity 2 Stop Bits | | 0 | 1 | 0 | 7 Bits Even Parity 1 Stop Bit | | 0 | 1 | 1 | 7 Bits Odd Parity 1 Stop Bit | | 1 | 0 | 0 | 8 Bits 2 Stop Bits | | 1 | 0 | 1 | 8 Bits 1 Stop Bit | | 1 | 1 | 0 | 8 Bits Even Parity 1 Stop Bit | | 1 | 1 | 1 | 8 Bits Odd Parity 1 Stop Bit | ---------------------------------------------- Word length, Parity Select, and Stop Bit changes are not buffered and therefore become effective immediately. Transmitter Control Bits (CR5 and CR6) - Two Transmitter Control bits provide for the control of the interrupt from the Transmit data Register Empty condition, the Request-to-Send (RTS) output, and the transmission of a Break level (space). The following encoding format is used: --------------------------------------- |CR6|CR5|Function | --------------------------------------- | 0 | 0 |RTS'=LOW Trans INT Disabled | | 0 | 1 |RTS'=LOW Trans INT Enabled | | 1 | 0 |RTS'=HIGH Trans INT Disabled | | 1 | 1 |RTS'=LOW Trans a BREAK CHAR | --------------------------------------- Receive Interrupt Enable Bit (CR7) - The following interrupts will be enabled by a high level in bit position 7 of the Control Register (CR7): Receive Data Register Full, Overrun, or a low to high transition on the Data Carrier Detect (DCD) signal line. STATUS REGISTER Information on the status of the ACIA is available to the MPU by reading the ACIA Status Register. This read-only register is selected when RS is low and R/W is high. Information stored in this register indicates the status of the Transmit Data Register, the Receive Data Register and error logic, and the peripheral/modem status inputs of the ACIA. Receive Data Register Full (RDRF), Bit 0 - Receive Data Register Full indicates that received data has been transferred to the Receive Data Register. RDRF is cleared after an MPU read of the Receive Data Register or by a master reset. The cleared or empty state indicates that the contents of the Receive Data Register are not current. Data Carrier Detect being high also causes RDRF to indicate empty. Transmit Data Register Empty (TDRE), Bit 1 - The Transmit Data Register Empty bit being set high indicates that the Transmit Data Register contents have been transferred and that new data may be entered. The low state indicates that the register is full and that transmission of a new character has not begun since the last write data command. Data Carrier Detect (DCD), Bit 2 - The Data Carrier Detect bit will be high when the DCD input from a modem has gone high to indicate that a carrier is not present. This bit going high causes an Interrupt Request to be generated when the Receive Interrupt Enable is set. It remains high after the DCD input is returned low until cleared by first reading the Status Register and then the Data Register or until a master reset occurs. If the DCD input remains high after read status and read data or master reset has occured, the interrupt is cleared, the DCD status bit remains high and will follow the DCD input. Clear-to-Send (CTS), Bit 3 - The Clear-to-Send bit indicates the state of the Clear-to-Send input from a modem. A low CTS indicates that there is a Clear-to-Send from the modem. In the high state, the Transmit Data Register Empty bit is inhibited and the Clear-to-Send status bit will be high. Master reset does not affect the Clear-to-Send Status bit. Framing Error (FE), Bit 4 - Framing error indicates that the received character is improperly framed by a start and a stop bit and is detected by the absence of the 1st stop bit. This error indicates a synchronization error, faulty transmission, or a break condition. The framing error flag is set or reset during the receive data transfer time. Therefore, this error indicator is present throughout the time that the associated character is available. Receiver Overrun (OVRN), Bit 5 - Overrun is an error flag that indicates that one or more characters in the data stream were lost. That is, a character or a number of characters were received but not read from the Receive Data Register (RDR) prior to subsequent characters being received. The overrun condition begins at the midpoint of the last bit of the second character received in succession without a read of the RDR having occurred. The Overrun does not occur in the Status Register until the valid character prior to Overrun has been read. The RDRF bit remains set until the Overrun is reset. Character synchronization is maintained during the Overrun condition. The Overrun indication is reset after the reading of data from the Receive Data Register or by a Master Reset. Parity Error (PE), Bit 6 - The parity error flag indicates that the number of highs (ones) in the character does not agree with the preselected odd or even parity. Odd parity is defined to be when the total number of ones is odd. The parity error indication will be present as long as the data character is in the RDR. If no parity is selected, then both the transmitter parity generator output and the receiver parity check results are inhibited. Interrupt Request (IRQ), Bit 7 - The IRQ bit indicates the state of the IRQ output. Any interrupt condition with its applicable enable will be indicated in this status bit. Anytime the IRQ output is low the IRQ bit will be high to indicate the interrupt or service request status. IRQ is cleared by a read operation to the Receive Data Register or a write operation to the Transmit Data Register. Expansion Box Specifications 7/27/83 1.0 Introduction The Expansion Box will be a buffered extension of the Parallel Bus Interface (P.B.I.) allowing system expansion and enhancement. The bus will enable the consumer to connect a variety of different devices to the Parallel Bus Interface. Some future devices are listed below. 1) Disk Drive Controller-* 2) Votrax- 3) Modem (300 and/or 1200)-* 4) Touch Tone Decoder- 5) EPROM Programmer- 6) B.S.R. Controller Interface- 7) Relay Switch Card- 8) IEEE 488 Control Card-* 9) Real Time Clock- 10) 80 Column Display-* 11) Printer Spooler/Buffer- 12) APPLE Card-* 13) VCS Adapter Card-* 14) A/D Converter Card-* 15) Infra Red Interface-* 16) Hard Disk Interface-* 17) Music Card- 18) Speech Recognition-* 19) Ram Disk-* 20) Battery Back-up CMOS RAM- 21) Corvus Interface-* 22) Ethernet Interface-* * indicates a smart device. 1.1 Product Objectives A. To provide future system expansion. B. To provide multiple device access to the P.B.I. C. To provide an interface standard to envoke interest from peripheral manufacturers in developing P.B.I. Devices. 1.2 References Sweet 16 Expansion Box Specification, A. Chopra P.B.I. Specification, S. Miller SURELY O.S. Rom Specification, S. Scheiman R. Nordin Software Implementation of Parallel Devices, R. Nordin 2.0 Product Description The Expansion Box will provide two RS-232C Serial Channels and one Centronics type Parallel Output Port in addition to eight (8) expansion slots. The connection to the XL-Series computer is made through the Parallel Bus Interface. Devices that plug into the P.B.I. are called Parallel Bus Devices (P.B.D.). The Expansion Box is a P.B.D.. The Interface in the Expansion Box to the expansion devices is called the Expansion Box Interface (E.B.I.). Modules that plug into the expansion slots will be called Expansion Box Devices (E.B.D.). 2.1 Mechanical 2.1.1 Appearance The Expansion Box should match the styling of the current XL product line. The Box should have all connections from devices, power, and bus signals in the rear of the box. The power switch and power indicator light should be placed on the front panel. 2.2.2 Design Concepts The Expansion Box should not require more than one square foot of table space. It should also be able to support a 13 inch color television. The top must be easily removable so the user can access the option cards, but not be able to access the power supply or come in contact with the Line Voltage. The Box will support eight 9 by 5 inch option cards (see figure 1). ------------------------------ - | | | | | | | | | | | | | 5 | | | | | | | | | | | ------------------ ----- - | | --------- |1/2| | <- 3.15 ->| | <----------- 9 ----------> | (all measurements are in inches) Figure 1 P.B.D. Card Size 2.2 Electrical 2.2.1 Expansion Box Interface The E.B.I. contains all the signals in the P.B.I. plus power for the E.B.D.. The description of the E.B.I. in this document is similar to that of the P.B.I. but note the differences in timing and loading. 2.2.1.1 Connector The Expansion Box Interface signals will be accessible through a 50-pin connector. This connector is an AMP type 67987-4. It will mate to a standard card edge with gold plated fingers at .100 inch centers. -------- EXTSEL' |2 1| GND A1 |4 3| A0 A3 |6 5| A2 A5 |8 7| A4 GND |10 9| A6 A8 |12 11| A7 A10 |14 13| A9 A12 |16 15| A11 A14 |18 17| A13 A15 |20 19| GND D1 |22 21| D0 D3 |24 23| D2 D5 |26 25| D4 D7 |28 27| D6 GND |30 29| GND GND |32 31| B02 RST' |34 33| +5 VDC RDY |36 35| IRQ' EXTENB' |38 37| -12 VDC REF' |40 39| +12 VDC GND |42 41| CAS' RAS' |44 43| MPD' LR/W' |46 45| GND +5 VDC |48 47| +5 VDC GND |50 49| AUDIO -------- Figure 2 Expansion Socket 2.2.1.2 Signals Shown in Figure 2 is the pin-out of the connector looking into the expansion box. The signal pin numbers and signal names are described below. Pin 2 EXTSEL' External Select (Input) ==> This open collector line is generated internally by the Expansion Box Device (E.B.D.). This signal should be active low whenever EXTENB is active and the E.B.D. is selected and there is a valid E.B.D. address on the bus. EXTSEL' causes a CAS' inhibit on the main board allowing a remapping process. Although an E.B.D. can be mapped in any VALID RAM location, these devices should follow the ATARI guidelines for E.B.D. locations so future ATARI devices can be used. The drive device should be capable of sinking 10mA. Pin 3 A0 Address Line 0 (Output) ==> Address line 0 is a buffered output from the microprocessor. Pin 4 A1 Address Line 1. Same as above. Pin 5 A2 Address Line 2. Same as above. Pin 6 A3 Address Line 3. Same as above. Pin 7 A4 Address Line 4. Same as above. Pin 8 A5 Address Line 5. Same as above. Pin 9 A6 Address Line 6. Same as above. Pin 11 A7 Address Line 7. Same as above. Pin 12 A8 Address Line 8. Same as above. Pin 13 A9 Address Line 9. Same as above. Pin 14 A10 Address Line 10. Same as above. Pin 15 A11 Address Line 11. Same as above. Pin 16 A12 Address Line 12. Same as above. Pin 17 A13 Address Line 13. Same as above. Pin 18 A14 Address Line 14. Same as above. Pin 20 A15 Address Line 15. Same as above. Pin 21 D0 Data Line 0 (Bi-directional) ==> Data line 0 is a buffered bi-directional data line. Pin 22 D1 Data Line 1. Same as above. Pin 23 D2 Data Line 2. Same as above. Pin 24 D3 Data Line 3. Same as above. Pin 25 D4 Data Line 4. Same as above. Pin 26 D5 Data Line 5. Same as above. Pin 27 D6 Data Line 6. same as above. Pin 28 D7 Data Line 7. Same as above. Pin 31 B02 Buffered Phase 2 Clock (Output) ==> This clock output line is a buffered phase 2 clock from the processor. Pin 34 RST' Reset (Output) ==> Reset is an active low signal which occurs either on power-up or by depressing the reset key on the computer. Pin 35 IRQ' Interrupt Request (Input) ==> This open collector line creates an interrupt on the microprocessor. The interrupt can then invoke the handler ROM or other service routines for the E.B.D.. The driving device should be capable of sinking 10mA. Pin 36 RDY Ready (Input) ==> This open collector input signal allows the E.B.D. to halt the microprocessor ONLY during read cycles. This will extend the read cycle for slow peripherals. The driving device should be capable of sinking 10mA. Pin 38 EXTENB External Decoder Enable (Output) ==> This output goes high when there is a valid ram access. Any E.B.D. can map during a valid EXTENB but the E.B.D. should only map in according to ATARI specified address locations. Pin 40 REF' Refresh (Output) ==> This output can be for refresh timing on volatile memories connected to the E.B.I.. Pin 41 CAS' Column Address Strobe (Output) ==> This output can be used for access of DRAM external to the computer. Due to timing restrictions caution should be taken when using this signal in the expansion box. Pin 43 MPD' Math Pack Disable (Input) ==> This open collector input is used to disable the math pack section of the OS ROM (D800H-DFFFH). This should be done when the E.B.D. is selected and has a handler resident. The driving device should be capable of sinking 10mA. Pin 44 RAS' Row Address Strobe (Output) ==> This output can be used for access of DRAM external to the computer. Due to timing restrictions caution should be taken when using this signal in the expansion box. Pin 46 LR/W' Latched Read Write (Output) ==> This output is active high for a read cycle and active low for a write cycle. Pin 49 AUDIO Audio In (Input) ==> This line is tied directly to the audio summation network of the computer. The audio signal input is 100 mV peak to peak with 4.7K ohm source impedance. Pins 1,10,19,29,30,32,42,45,50 are Ground (GND). Pins 33,47,48 are +5 Volts. Pin 37 is -12 Volts. Pin 39 is +12 Volts. 2.2.1.3 Interface Requirements For peripherals to interface through the E.B.I. to the computer the following requirements must be followed. 2.2.1.3.1 D.C. Characteristics All E.B.I. outputs from the Buffer Box have the capability of driving TTL load. All E.B.I. open collector input lines must be able to sink 10mA (min) at .4V (max). All E.B.I. non-open collector input lines except AUDIO must have the drive capability of 48mA at logic 0 (Iol) and -15mA at logic 1 (Ioh). All E.B.I. signals except AUDIO will be at standard TTL logic levels. The AUDIO input line must drive a 4.7K Ohm source impedance with a 100mV peak to peak signal. 2.2.1.4 Hardware Device Protocol The E.B.I. is designed to support two types of devices. The first is an Expansion Box Peripheral (E.B.P.) and the second is an External Application Cartridge (E.A.C.). 2.2.1.4.1 Expansion Bus Peripherals (E.B.P.) The E.B.P.s have the following characteristics: 1. The interface between the E.B.P. and the CPU is defined through the handler/OS resident in the OS ROM. The OS can support 8 devices at one time with only one enabled during any given interval. 2. Every E.B.P. has a unique handler that resides in the CPU memory from D800H-DFFFH. The ROMS containing the code for these handlers are physically resident on the respective E.B.P.s. To access this handler, the math pack must be disabled with MPD'. When the math pack is disabled (this should happen whenever the E.B.P. is selected and has an external handler) the computer will generate EXTENB for the math pack area. The E.B.P. must generate the correct EXTENB/EXTSEL' protocol. If the device does not generate EXTSEL' the CPU will access (in the 64K computers) an unused area of ram. This area should not be used since all computers of this series do not have that area of ram. 3. The location D1FFH in the CPU memory map is reserved for passing control information between the CPU and the E.B.P.s. The CPU selects one of the E.B.P. devices by writing a "1" into the desired bit in location D1FFH. The device can be deselected by writing a "0" into the desired bit. 7 6 5 4 3 2 1 0 ----------------------------------------- | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | ----------------------------------------- Therefore the CPU can then access 8 devices, one at a time. If the IRQ' line is pulled "low" the CPU can read the status for location D1FFH and locate the requesting E.B.P.. A "1" in a bit Ix (where x=0 to 7) corresponds to an interrupt in E.B.P. x. If the bit is a "0" then the device has not caused the interrupt. The E.B.P. must clear the interrupt flag when the interrupt is being serviced. 7 6 5 4 3 2 1 0 ----------------------------------------- | I7 | I6 | I5 | I4 | I3 | I2 | I1 | I0 | ----------------------------------------- 4. An E.B.P. should assert MPD' only when it is selected. An E.B.P. should assert EXTSEL' only when it is selected and if EXTENB' is asserted. 5. An E.B.P. may respond to any selects D0 through D7. It is recommended that the E.B.P.s have configuration switches to allow them to respond to any one of the selects. Some of the computer systems use the E.B.I. to support internal devices therefore the user should check each manual for device locations. If the system has devices in specific locations, those are reserved in that computer. 6. An E.B.P. handler may respond to addresses in the region D800H-DFFFH only when it is selected. 7. A peripheral may respond to addresses in the region D100H to D1FEH only when selected. 8. The E.B.P.s will have software priority over the SIO peripheral when they are addressed generically. 9. Data transfer between the CPU and the E.B.P. is under the control of the peripheral handler for the E.B.P.s. The peripheral handler may or may not be in the E.B.P. Data transfer is handled by a combination of code in the O.S. and the E.B.P. 10. The E.B.P.s shall work if a cartridge is present in the cartridge slot. 11. The CPU address space from D600H to D7FFH is reserved for E.B.I. devices as follows: Device Range Size ------ ----- ---- D0 D600H-D61FH 32 Bytes D1 D620H-D63FH 32 Bytes D2 D640H-D65FH 32 Bytes D3 D660H-D67FH 32 Bytes D4 D680H-D69FH 32 Bytes D5 D6A0H-D6BFH 32 Bytes D6 D6C0H-D6DFH 32 Bytes D7 D6E0H-D6FFH 32 Bytes The region from D700H to D7FFH is reserved for use by ATARI. The CPU address space from D600H to D7FFH is always mapped to the E.B.I. and does not require the EXTENB/EXTSEL' protocol. Some units may have devices mapped on the E.B.I.; these devices are only active when selected but care must be taken when using a unit with onboard devices. 2.2.1.4.2 External Application Cartridges The "External Application Cartridge" (EAC) is a generalization of the E.B.P.. They have the following characteristics: 1. An EAC can reside at any or all of the locations in the region 0000H to BFFFH for which the EXTENB is generated. They may respond to these addresses only when "opened". 2. The EACs must be opened by the protocol given for the E.B.P.s. 3. The EACs must conform to the EXTENB/EXTSEL' protocol. 4. The EACs must have a handler (resident at location D800H-DFFFH) that controls their operation. The EACs must conform to conditions (4) through (11) of section III. B. above. 5. The EACs will work if a cartridge is present in the internal cartridge slot. 2.2.2 I/O Channels The expansion box contains two RS-232C serial channels and one Centronics type parallel printer channel. Both the serial and parallel channels are preset to device #6. This device cannot be used in the Expansion Box. 2.2.2.1 Serial Channel Description The Expansion Box will have two RS-232C Asynchronous serial channels capable of simultaneous two way communication. Both channels should be addressable through software via CIO using the same format as the serial channels in the ATARI 850. The baud rate will be software selectable from 16 baud rates (see Table 1). The baud rates of the two channels are to be independent of each other. Sel Value Baud Rate ---------------------------- | 0000 | 50 | | 0001 | 75 | | 0010 | 110 | | 0011 | 134.5 | | 0100 | 150 | | 0101 | 200 | | 0110 | 300 | | 0111 | 600 | | 1000 | 1200 | | 1001 | 1800 | | 1010 | 2400 | | 1011 | 3600 | | 1100 | 4800 | | 1101 | 7200 | | 1110 | 9600 | | 1111 | 19200 | ---------------------------- Table 1 Baud Rate Selection Chart 2.2.2.2 Parallel Channel Description The basic Parallel Channel is to support a Centronics type parallel printer. To do this the following signals are supported. D0-D7 Data Lines DS' Data Strobe BUSY Busy Input FA' Fault Input 2.2.3 Buffer Box To allow connection to the XL-series computer, the Expansion Box will use a buffer box connected to the back of the computer. This Buffer Box will be able to drive a 3 foot long cable and the Expansion Box. The power used by the Buffer Box will be supplied by the Expansion Box on the Reserved Pins of the cable. The connectors used will be the standard 50 pin P.B.I. connectors. 2.2.4 Power Supply The Expansion Box power supply will have sufficient output to drive each slot with .75 Amps at +5 VDC, .1 Amps at +12 VDC, and .1 Amps at -12 VDC. Table 2 shows max operating current limits of the supply. A fan might be necessary to provide cooling in the Expansion Box. +5 VDC 6.75 Amps +12 VDC 1.0 Amps -12 VDC 1.0 Amps Table 2 2.3 Software 2.3.1 Expansion Bus Protocol The Software handlers and application programs written for use with/in the Expansion Box must follow standard Protocol defined by "The Software Implementation of Parallel Device Handlers and Drivers" by Rick Nordin. A Designers guide to interfacing devices to the PBI and Expansion Box will also contain the required documentation concerning the protocol. 2.3.2 I/O Channel Handlers The handler used in the Expansion Box I/O channel will conform to the above specifications as well as providing support for the printer as a standard CIO device call. 2.4 Product Performance This section will specify the projected performance of the Expansion Box. The environmental and reliability information that is included is targeted from the Sweet 16 specification. 2.4.1 Environmental Operating Environment Temperature = Maximum: 45 degrees C Minimum: 10 degrees C Humidity = Maximum: 90% R.H. (Non Condensing) Minimum: 15% R.H. Altitude = Maximum: 3000 Meters (9840 feet) (720 millibars) Minimum: -60 Meters (-197 feet) below sea level Non-Operating Environment Temperature = Maximum: 60 degrees C Minimum: -30 degrees C Humidity = Maximum: 90% R.H. Minimum: 0% R.H. Should condensing occur, unit must be dried off before operation. Altitude = Same as operating 2.4.2 Endurance Levels ESD Susceptibility No product damage or data loss with 10 KV to 20 KV discharge at any point accessible to the user except the connectors. Vibration Operation: .1g +- 10% 5 to 500Hz Resonance Search: Sine scan 5-100 Hz dwell on resonances 1.0g for 10 minutes. Transportation: 100 to 300 cycles per minute 2 directions 90 degrees apart, 30 minutes; each frequency to be such as to raise package from the table 0.06 in., acceleration to be 1.0g (min) No Damage should result. Impact Test: Free fall distance of 24 in. on corner, edge, and all 6 faces. No damage should occur to a packed unit. Random Vibration: 0.04g 2Hz 15 minutes; 10 to 1000Hz 6.3g RMS Thermal Shock: 10 degrees C for 3 hours power on raise temperature, 5 degrees per minute to 45 degrees C for 5 hours power off drop temperature 5 degrees C per minute to 10 degrees C. Repeat cycle 5 times no damage 2.4.3 MTBF & MTTR The targeted MTBF for the Expansion Box is 8000 hours continuous power-on at 25 degrees C. The targeted MTTR for the unit is 5 minutes. 2.4.4 Compliances UL 114 & UL 94HB CSA C22.2 No. 154 FCC Docket 20780, Part 15, Subpart J, Class B Expansion Box Specifications 10/14/83 Below are the changes to the document of the same name dated 7/27/83. 1.2 Assumptions 1.2.1 Product Reasoning This product is intended to add a strategic marketing dimension to the Atari home computer line by providing expansion capability. 1.2.2 Manufacturing It is assumed that the Expansion Box will be manufactured by some, as yet unspecified, overseas vendor. 1.2.3 Strategic Fit This product is intended to broaden Atari's image as a complete computer supplier. This is done by offering an expansion path for computer users to grow with their systems. A line of option cards will allow even the most sophisticated users to advance to an advanced system. 1.2.4 Product History As of the date of this document the expansion box has been redefined as a smart device rather than an extension of the Parallel Interface Bus. This was done to facilitate third party vendors in the implementation of option cards. This will also allow for easy interfacing of the Expansion Box to the current 400/800 installed base. This choice should create added sales of this device as well as showing the public Atari will not leave current users unsupported! In addition to the above features, a RFI problem is also reduced creating a faster path to bring the product to market. 1.3 References Sweet 16 Expansion Box Specification, A. Chopra P.B.I. Specification, S. Miller SURELY O.S. Rom Specification, S. Scheiman, R. Nordin Software Implementation of Parallel Devices, R. Nordin Sweetpea Product Specification, D. Lang JULIE FIFO Specification, S. Miller 2.2.2.4 Hardware Device Protocol The hardware protocol for the Expansion Box is similar to the Expansion Bus Interface on the computer in that each card is selected through a common register. There will also be device handlers on each card in a fixed location of memory. The bus timing is configured so any type of device can be easily interfaced to the Expansion Box. For complete interfacing requirements a third party vendor document will be created with examples of interfacing methods. 2.2.3 Processor Card 2.2.3.1 CPU The CPU for the Expansion Box will use a 6502 operating at 1 MHz. This is done for software compatibility with current developmental tools. The placement of the CPU on a card allows the user to swap other CPU cards for the 6502 card. 2.2.3.2 ROM There is provision for 8 K Bytes of monitor Rom on the processor card. This ROM can also be disabled by asserting ROMDIS' line on the bus. The ROM will be located at E000H-FFFFH. 2.2.3.3 RAM There is provision for 2 K Bytes of general purpose RAM on the processor card. The RAM can be disabled by asserting RAMDIS' line. This will allow for remapping of page 0 and 1 to swap tasks in and out without moving large areas of memory. The RAM will be located at the bottom of the memory space. 2.2.3.4 Serial Channel Description The processor card will have two RS-232C asynchronous serial channels, capable of simultaneous two way communication. Both channels are addressable through the CIO in the operating system of the Atari computer. The baud rates for the channels are found in table 1. Both channels have independent transmit and receive baud rates. One of the two serial ports will be jumperable to allow operation as a SIO port for operation with current Atari 400/800 units. BAUD RATES 50 75 110 134.5 150 200 300 600 1050 1200 1800 2000 2400 4800 7200 9600 19200 38400 Table 1 2.2.3.6 Bus Interface The Bus Interface for the processor card will support the load requirements of the Expansion Bus and follow the protocol of the Bus timing. 2.2.4 Computer Interface The Expansion Box will interface with the Atari XL product line through an interface unit connected to the Parallel Expansion Bus. The interface unit will contain a JULIE FIFO interface chip designed to allow communications between the XL computers and the Expansion Box. In addition the interface unit will have a 2K handler rom for the P.B.I. and one LS-TTL decoder chip. Power for the interface unit will be provided by the expansion box. The Interface will be connected to the Expansion Box via a 26 conductor double shielded cable. The cable is to be 3 feet in total length. 2.2.5 Power Supply Shown below are the total power requirements. +5 VDC 4.5 Amps +12 VDC 0.5 Amps -12 VDC 0.5 Amps +9 VDC 0.2 Amps unregulated 2.2.6 Memory Map FFFF +----+ | | | | 8K System ROM | | E000 +----+ | | I/O Space D000 +----+ | | Apple Board Space C000 +----+ | | | | A000 | | | | | | 8000 | | | | 6000 | | Free Memory Space | | 4000 | | | | 2000 | | | | 0800 +----+ 2K RAM 0000 +----+ System Map DFFF +----+ Device select and INT status | | | | DC00 | | | | | | D800 | | Open Device I/O Area | | | | D400 | | | | | | +----+ | | CPU Interface, UART, Parallel Printer D000 +----+ I/O Map 3.0 Future Enhancements The future enhancements include a SIO card to allow operation with the current Atari 400/800 line as well as the option cards stated in the introduction. As of this document no option cards are defined. 4.0 Cost Targets The targeted standard cost for this unit is $125. This cost will include the processor card with 2 serial channels and the interface to the current XL product line. 5.0 Packaging 5.1 Inner Packing The inner packing must protect the Expansion Box and accessories from 10 drops from 24 inches on any of six surfaces, three edges radiating from one corner without any internal damage. The inner packing must also protect the Expansion Box and accessories from vibrations of 30 minutes each, 2 directions 90 degrees apart, 100-300 cycles per minute. Packing must leave the surface 0.06 inches at some time, again leaving no damage. 5.2 Display Carton The display carton should be a six sided 24 pt. SBS (white chipboard) folding carton, printed in 4 colors plus PMS877 silver, with UV or other abrasion resistance coating. All graphics will be specified by Atari. 5.3 Shrink Wrap The fully packaged product will be shrink wrapped to prevent damage and pilferage. 5.4 Shipping Carton The weight and type of corrugate as well as the number of products per shipping carton are to be specified by Atari. 5.5 Carton Contents * Expansion Box Unit * Interface Unit for XL computers * Interface Cable * 2 RS-232C Cables * Processor Card * Owners Manual and Warranty card * Atari products catalog 5.6 Product Name The proposed official name is "Atari Expansion Box". 6.0 Manual Requirements The unit will include an owners manual to be specified by Atari. Expansion Box Specifications 5/11/84 Below are the changes to the documents of the same name dated 7/27/83 and 10/14/83 respectively. 1.0 Introduction The Expansion Box is an extension device providing support of expansion cards for the Atari Computer line. This device provides Atari systems with expansion and enhancement. The bus enables the consumer to connect a variety of different devices to the Expansion Box Interface (E.B.I.). Some devices are listed below. 1) RAM EXPANSION 2) SERIAL/PARALLEL INTERFACE 3) Z-80 PROCESSOR 4) 80-COLUMN VIDEO MONITOR INTERFACE 5) HOBBYIST PROTOTYPING CARD 2.1.1 Appearance The Expansion Box matches the styling of the current XL product line. The Box has all connections to devices and power in the rear of the box. A flat cable (connected to the front of the box) connects the Expansion Box to all PBI-equipped computers. 2.1.2 Design Concepts The Expansion Box requires less than one square foot of table space. The top is easily removable so the user can access the option cards. The Box supports five 9 by 5 inch option cards. To remove the top of the box, the AC adaptor must be unplugged from the box. 2.2.1 Architectural Overview The expansion box contains a triple-output power supply providing regulated +12 volts and -12 volts and +10 volts unregulated. Also provided is a half-wave rectified AC waveform (for power-line frequency reference only) and +5 volts (for reference only). The address bus, data bus and control lines are buffered by the expansion box and bussed to the five edge connectors provided. 2.2.2.1 Connector The Expansion Box Interface signals are accessible through a 50-pin connector. This connector is an AMP type 2-530843-9. It mates to a standard card edge with gold plated fingers at .100 inch centers. 2.2.2.3.1 D.C. Characteristics All E.B.I. outputs have the drive capability of 24mA at logic 0 (Iol) and -6mA at logic 1 (Ioh). All E.B.I. open collector input lines must be able to sink 10mA (min) at .4V (max). All E.B.I. non-open collecotr input lines except AUDIO must have the drive capability of 24mA at logic 0 (Iol) and -6mA at logic 1 (Ioh). All E.B.I. signals except AUDIO will be at standard TTL logic levels. The AUDIO input line must drive a 4.7KOhm source impedance with a 100mV peak to peak signal. Each expansion box card should not load any E.B.I. output line with more than three standard TTL loads. 2.2.2.3.2 A.C. Characteristics All specifications are referenced to the standard 2 MHz 6502 specifications. The signal PHASE2 is the 6502 clock at the processor. 2.2.2.3.3 Materials Requirements Contact fingers shall be plated with nickel of the low-stress type, Class II per federal specification QQ-N290A. Nickel plate thickness shall be 100 +/- 25 microinches. The nickel plating shall be overplated with gold type II (23+ karat), 15 microinches minimum (130-200 knoop hardness) or 10 microinches minimum (201 or over knoop hardness). Impurities shall not exceed .1%, not including metallic hardeners. Roughness shall be less than 50 microinches. 2.2.3 Power Supply The power supply is comprised of an external AC adaptor capable of providing 40VA at 9.5 vAC to the Expansion Box and an internal rectifier/filter/regulator system. This system provides: +10 vDC UNREGULATED (+40% or -15%) at .5A per card slot. +12 vDC REGULATED (+ or - 4%) at 30mA per card slot. -12 vDC REGULATED (+ or - 4%) at 30mA per card slot. +5 VREF REGULATED (+ or - 4%) as a reference only. AC - a 60 Hz reference only. Total supply current capacity is five times the per card slot amounts. It is recommended that the Expansion Box NOT be operated with the cover removed for safety reasons and to comply with radiated emissions standards. 3.0 Notes 3.1 RAM 64KMR The RAM 64KMR module is designed to be used in the expansion box. However, it does not completely adhere to the E.B.I. protocol since it will allow RAM to be selected in lieu of the O/S (when used in the "1064 mode".) 3.2 RESERVED MEMORY LOCATIONS The memory space from D100H to D1AFH is available for use by most applications. This space should be used by a device with the device select bit enabling its use. If the device select bit is not used, there is potential bus conflict between E.B.D.s. The remainder of the I/O space between D1B0H and D1FFH is mapped as follows: D1B0H - D1C7H Speech/Modem/Disk Registers D1C8H - D1CEH Atari Reserved D1CFH Alternate Interrupt Register (1450 only) D1D0H - D1DFH Audio Registers D1E0H - D1E7H Atari Reserved D1E8H - D1EFH Parallel/Serial Registers D1F0H - D1F7H Alternate CPU Registers D1F8H - D1FDH 80 Column Video Registers D1FEH RAM Bank Select Register D1FFH E.B.D. Select/Interrupt Register PARALLEL BUS INTERFACE SPECIFICATIONS 1.0 Introduction: The Parallel Bus Interface (PBI) is provided on the S-16 to support high speed peripherals, communication devices and cartridges. The objective of the PBI is two-fold: (1) To provide for future system improvement and expansion of the S-16. (2) To provide a simplified interface standard that will envoke interest from peripheral manufacturers in making peripherals for the S-16. The physical connection of the peripherals to the S-16 is conceived of being through a unit called the "Expansion Box". Roughly, the "Expansion Box" provides a low cost, easy-to-use multiple access mechanism to the PBI. It consists of electronics necessary to implement the interface protocol between the CPU and the Parallel Bus peripherals. Further details of the Expansion box are TBD. This document gives a logical definition of the pins on the PBI. It defines the characteristics of devices that can be supported on the PBI. The electrical specifications of the PBI signals and the details of the PBI protocol are in the S-16 Product Specification. 2.0 THE PARALLEL BUS INTERFACE The Parallel Bus Interface Connector is a 50 pin connector (See figure 5.2.9) with the following signals. PIN 3 through PIN 18 are A0 through A15 respectively. These are the CPU address lines. The CPU addresses the Parallel Bus Interface devices using these lines. PIN 19 through PIN 26 are D0 through D7 respectively. These are the processor data lines. The CPU transmits and receives data and control information from the Parallel Bus Interface devices on these lines. PINS 35, 36, and 37: are COMM A, COMM B, and COMM C select lines respectively. The Parallel Bus Interface devices lie in the CPU memory map. Three 256 byte segments of the CPU memory map are reserved for control of the parallel bus devices. COMM A selects the segment from D600 to D6FF. COMM B selects the segment from D700 to D7FF. COMM C selects the segment from D100 to D1FF. COMM A, COMM B, and COMM C are low when active. PIN 31 is for the Buffered Phase 2 Clock (B02) Output to the Parallel Bus Interface devices. PINS 2, 44, 45, and 46 are not connected. PIN 29 is the IRQ (Interrupt Request) input from the Parallel Bus Interface devices. A PBI device can pull this input low to invoke the device handler that services the parallel bus device. This input is "open drain". PIN 32 is the Read/Write (R/W) Output to the Parallel Bus Interface devices. This line is "high" for a read cycle. It is low for a write cycle. PIN 34 is the PoWeR ON (PWRON) Input from the Parallel Bus Interface devices. This input will allow the implementation of the "auto-wakeup" feature in future enhancements of the S-16. This signal is "low" when active. PIN 38 is reserved for future expansion. PIN 33 is Power on Reset (POR) ouput to the Parallel Bus Interface devices. This output resets any device so designed on power up and when the RESET key on the S-16 keyboard is hit. PIN 49 is audio in and out signal from/to the Parallel Bus devices. This line is connected directly to the audio summation network of the S-16. This audio signal is a 1 volt peak to peak. PIN 39 is the MODSEN (Module Sense) input from the Parallel Bus Interface Modules. This input is pulled low whenever a Parallel Bus Interface module is connected to the PBI. PINS 47 and 48 are GROUND. PIN 28 is External Decoder Enable (EXTENB) Output. This output goes high when an address on the CPU bus is an allowed address for a PBI device. The S-16 generates the EXTENB signal for all segments of the CPU memory map except: (a) The Active segments of the O.S. ROM. Any disabled segments of the O.S. ROM generate the EXTENB signal when addressed. (b) The region occupied by the internal cartridge (if present). PIN 27 is the External Select (EXTSEL) Input. This input is generated by the (external) decoder resident in the PBI device. This signal should go low whenever the EXTENB is enabled and the PBI device uses the address generated on the CPU Bus. This input is used to disable the S-16 decoder for the duration of the current bus cycle. PIN 30 is the RDY input to the S-16. A slow PBI device can extend the CPU bus cycle by pulling this line low when it is addressed. PIN 40 is the Refresh (REF) output. This output may be used for the refresh timing of volitile memories connected to the PBI. PIN 1 and PIN 50 are shield grounds. PIN 41 is Auto-run Present (ARP) pin. This pin goes high whenever an auto-run cartridge is present at the PBI. All auto-run cartridges should pull this line to the "high" state internally. PIN 42 is Auto-run Disable (ARD) pin. This pin goes high whenever a cartridge is present in the internal cartridge slot. The Auto-run cartridge should disable their decoder whenever this line is in the "high" state. PIN 43 is Math Pak Disable (MPD) input from the PBI devices. This input is pulled to the "low" state whenever a Parallel Bus Peripheral is selected by the CPU (the enable bit in location D1FDH is set). ---------- SHIELD GND |-1 2-| N/C A0 |-3 4-| A1 A2 |-5 6-| A3 A4 |-7 8-| A5 A6 |-9 10-| A7 A8 |-11 12-| A9 A10 |-13 14-| A11 A12 |-15 16-| A13 A14 |-17 18-| A15 D0 |-19 20-| D1 D2 |-21 22-| D3 D4 |-23 24-| D5 D6 |-25 26-| D7 EXTSEL |-27 28-| EXTENB IRQ |-29 30-| RDY B02 |-31 32-| R/W POR |-33 34-| PWRON COMM A |-35 36-| COMM B COMM C |-37 38-| P0 MODSEN |-39 40-| REF ARP |-41 42-| ARD MPD |-43 44-| N/C N/C |-45 46-| N/C GND |-47 48-| GND AUDIO |-49 50-| SHIELD GND ---------- FIGURE 5.2.9 PBI Connector 3.0 Parallel Bus Devices The Parallel bus will support 3 types of devices: 3.1 Auto-Run Cartridges: These cartridges are functionally identical to those that plug into the cartridge slot of the S-16 except that they can be up to 32K Bytes in size (in 4K Byte increments). The top address for these cartridges must be BFFFH and they must assert the "AUTO-RUN PRESENT" line when inserted into the expansion box. The auto-run cartridges work under the following constraints: (a) Only one such cartridge will work at a time. (b) If a cartridge is present in the internal cartridge slot, the auto-run cartridge is ignored by the S-16. (c) If no cartridge is present in the internal cartridge slot the auto-run cartridges operate in a manner identical to the cartridge slot cartridges. No additional handlers or O.S. changes are needed. (d) If an auto-run cartridge is present in the expansion slot, any "External Application" cartridges (See Sec. 3.3) plugged into the Expansion box will be disabled. (e) The Auto-run cartridges conform to the EXTSEL/EXTENB protocol (have their own decoder). (f) The Auto-run cartridges must disable their decoder if the "Auto-run Disable" output of the S-16 is active. 3.2 Parallel Bus Peripherals (PBPs) The PBPs have the following characteristics: (a) They interface to the S-16 through a well defined handler/O.S. interface. The code for this interface is resident in CPU memory location D600H to D7FFH (COMM A & COMM B areas). The ROM containing this code is physically located on the expansion box. The S-16 O.S. can support up to 8 PBPs. (b) Each PBP has a unique handler that resides in the CPU memory space at locations D800H to DFFFH. The ROM(s) containing the code for these handlers are physically resident on the respective peripheral boards (The memory space occupied by the handlers actually contains the Math-pak within the S-16. The Math-pak is disabled whenever any PBP is enabled. (See (c) below). (c) Locations D1FDH thru D1FFH (in COMM C space) in the CPU memory map are reserved for passing control information between the S-16 and the PBPs. Location D1FDH is Slot-Select location with the following bit assignments: 7 6 5 4 3 2 1 0 --------------------------------- | X | X | X | X | E | I | I | I | --------------------------------- E = Enable bit. The S-16 sets this bit to logic 1 whenever the O.S. wishes to communicate with a device in the slot whose I.D. is specified by III. When the Enable bit is set to logic 1 the S-16 disables the Math-pak and maps the region from D800H to DFFFH to the expansion box. The Enable bit is latched in the expansion box and it must be set to logic "0" to disable the PBPs. III = SLOT I.D. The S-16 O.S. can support a maximum of 8 PBPs. The slot I.D. is latched in the expansion box and a slot remains selected till a different slot I.D. is generated or the enable bit is set to logic 0. X = Don't Care. The Slot I.D. decoder is physically located on the expansion box. location D1FEH is Interrupt vector location with the following bit assignments: 7 6 5 4 3 2 1 0 ---------------------------------- | X | X | X | X | IR | I | I | I | ---------------------------------- IR = Interrupt Request. This bit, when logic 1, indicates to the S-16 O.S. that a device in the Expansion box has interrupted. When this bit is logic 0, no device in the expansion box has interrupt. III = is the slot I.D. of the highest priority slot that generates the interrupt. The S-16 O.S. assumes that the slots have fixed priority. The slot with an I.D. of 7 has the highest priority. X = Don't Care. The priority encoder is physically located on the expansion box. Location D1FFH is un-encoded interrupt location with the following bit assignments: 7 6 5 4 3 2 1 0 ----------------------------------------- | I7 | I6 | I5 | I4 | I3 | I2 | I1 | I0 | ----------------------------------------- IX (X = 0 to 7): This bit is set to logic 1 whenever a device in slot X generates an interrupt. This bit is cleared by the interrupt servicing routine for the device in slot X. The un-encoded interrupt location allows an application program to mask the interrupts from the specific slots. With the masking arrangement, an application program may ignore the fixed priority by slots and implement its own priority scheme. (d) A peripheral handler may respond to address in the region D800H-DFFFH only when the slot in which it resides is selected. Location D800H contains the device I.D. of a PBP. If a slot that contains no peripheral is selected, address D800H should return FFH as data. The peripheral handlers must conform to the EXTSEL/EXTENB protocol as specified in the S-16 Product Specifications. (e) A peripheral may respond to address in the region D100H to D1FCH only when the slot in which it resides is selected. (f) The PBPs will have priority over the SIO peripheral when they are addressed generically. (g) The data between the S-16 and a PBP is passed under control of the peripheral handler for the PBPs. (h) The PBPs will work if an auto-run cartridge or an internal cartridge is present in the system. 3.3 "External Application" Cartridges: The External Application Cartridge are a generalization of the auto-run cartridges and the PBPs. They have the following characteristics: (a) An "External Applications" Cartridge (EAC) can reside at any or all of the address in the region 4000H to BFFFH. They may respond to these addresses only when "opened". (b) The EACs must be "opened" by the S-16 through the slot select location in the same way as the PBPs. (c) The EACs must conform to the EXTENB/EXTSEL protocol. (d) The EACs must have a "handler" (resident in locations D800H to DFFFH) that controls their operation. The EACs must conform to conditions (d) and (e) of section 3.2 above. (e) The EACs will work only if no auto-run cartridge is enabled in the expansion box. The EACs must input the AUTO-RUN DISABLE line to ascertain that the Auto-run cartridge is disabled before asserting themselves on the Expansion Bus. (f) The EACs may work even if a cartridge is present in the internal cartridge slot. 4.0 assumptions (a) The above description of the PBI devices assumes that there is a mechanism in the Expansion Box that prevents more than one auto-run cartridge from being turned on at a time on the PBI. This mechanism may be a daisy chain priority scheme by slots or the auto-run cartridges may be specified to work in only one of the 8 possible slots. (b) The above description also assumes that there is a power shut-off interlock switch on the internal cartridge door.