DCJ11 SBC Expansion Slot


Expansion Slot

The expansion slot uses a 50-pin card edge slot. It uses the same dimensions as the expansion slots on a Apple II. Also the numbering of the pins and the placement of GND and VCC is the same.

The expansion slot provides all signals to enhance the SBC. It provides the CPU signals

ALE, SCTL, STRB, CONT, MISS, ABORT, EVENT, PWRF, FPE, BUFCTL, DMR, MAP, IRQ0, DV, HALT

The data bus

DAL0..15

The latched CPU signals

LAIO0, LAIO1, LAIO2, LAIO3, LBS0, LBS1

the enable signals for on-board memory and console

CE, IO, WEL, WEU, OE

and the following signals

  • RCV interrupt of the DC319
  • XMT interrupt of the DC319
  • INIT which is used to reset either the DC319 or CDP6402
  • NXM which signals non-existant memory accessed
  • BRK interrupt of the DC319
  • LE inverted ALE

Adding IO devices

The PDP-11 uses memory mapped IO. This means, there are no special IO instructions to control devices. IO devices are controlled via device registers which are accessed with the normal instructions that can be used on normal memory locations. However the PDP-11 typically reserves the top 4kW of address space for device registers, i.e. addresses from 1600008 to 1777768. This is also called the IO page. The DCJ11 signals access to the IO page by using the bank select signals, when BS1=high and BS0=low this is equivalent to accessing the IO page.

The expansion slot is primarily design to add more IO devices. But there are also signals on the expansion slot that are not limited to devices, e.g. the NXM and LE signal.

INIT and INIT

The on-board reset circuit creates two reset signals, INIT and INIT.

INIT is generated by the on-board reset circuit using one schmitt-trigger inverter and provides power-up reset. In parallel to the capacitor there is a reset button which will trigger the reset signal. This inverter creates a positive pulse. This pulse is sent to the DC319 or CDP6402 which require both a positive master reset signal at power up. This signal is routed to the expansion slot. If required INIT can be disconnected by cutting JP4 from the inverter in case the INIT for peripherals is created by the expansion card. The pulse is also routed to a second schmitt-trigger inverter which creates the negative pulse for INIT required by the DCJ11. This connection is fixed so the on-board reset button always resets the CPU.

The reason you would disconnect the INIT signal from the INIT signal and provide INIT via logic from an expansion card is if you want to generate the reset signal for on-board IO in the same way as it is done on PDP-11 buses, i.e by using the RESET instruction of the DCJ11. This instruction in fact generates two GPWRITE commands, one which asserts the bus reset signal and some time later one which de-asserts the bus reset signal.

Replacing the on-board control signals

Depending on the functionality of the expansion card you may want to replace one or more of the controll signals CE, IO, WEL, WEU and OE

If it is only a single signal, in most cases this will be IO, you can just bend the pin of the device on the DCJ11 SBC.

You can proceed with this technique if you want to provide signals from the expansion card instead of the on-board glue logic. However I recommend that you consider to replace the on-board glue logic altogether and provide all signals.

Power-Up Configuration

One signal, GPREAD, is not on the expansion slot. Therefore if you remove the on-board glue-logic you can also remove U5, the 74HCT541, which provides the power-up code and provide the power-up configuration via the expansion slot.

Alternatively you can leave U5 and just populate U8, the 74HCT138, to generate the on-board GPREAD required by U5.

If you have soldered U5 directly to the SBC you can leave U5 even if you do not provide GPREAD via U8 or the GAL U18, as the enable input of U5 is connected to VCC via pull-up resistor R19 and hence will never be activated.

Ideas

Here I will present some ideas of how to use the expansion slot

Serial Line Units

Simple card using two CDP6402 and some glue logic to provide two serial line units.

Multi IO Expansion

A special Multi IO card will be available, which will have the following features

  • Second Serial Interface using a CDP6402
  • Two 8kbyte EEPROM for a boot ROM at 173000 and 165000
  • A W65C22S VIA with 16 GPIO and 4 handshake IO

This card does only support the minimal functionality of the serial interface. It was designed as a simple expansion. The Multi IO Expansion Card will come together with a bootstrap loader for TU-58 and a modified stand alone FIG Forth V1.3.3 using the TU-58 as mass storage.

The console can be either a DC319 or a CDP6402 using a Mini Adapter.

Piece de Resistance

This requires the memory expansion TTL logic devices and will provide the following features

  • Boot ROM
  • Line Time Clock
  • Glue Logic
  • Two additional serial line units
  • A SPI interface with registers mapped to the IO-page
  • A few GPIOs

This should allow to boot RT-11 via a TU-58 connected to the second SLU. Perhaps will include TU-58 emulator.