Previous Next Contents Index
Appendix 4: The DISCiPLE Hardware

The DISCiPLE hardware consists of 8K ROM, 8K Static RAM, a Western Digital WD1772
Floppy Disk Controller, two PALs for address decoding and a few 74XX-type ICs.
The ROM and RAM are mapped in the 0-16K address range, sharing it with the Spectrum
"main" ROM. When the Z80 in the Spectrum reaches certain addresses, the "main" ROM is
paged-out and the DISCiPLE RAM&ROM are paged-in.
These addresses are:
#0001 Spectrum initialize.
#0008 Spectrum error restart.
#0066 Non Maskable Interrupt routine and return from CALBAS.
#028E Spectrum keyboard scan routine.

The following I/O ports are used for communication between the Z80 and the DISCiPLE
hardware:
 27 #1B FDC status (read) & command (write) register
 91 #5B FDC track register
155 #9B FDC sector register
219 #DB FDC data register

 31 #1F Kempston joystick (read) & control (write)
                   7      6      5      4      3      2      1      0
          read:   net   busy     -    fire    up    down   left   right
            (active low, e.g. printer is busy if bit6=0)
          write:  net  strobe ext.sel hibit romA13   SD    side1  drive0
            (active high, e.g. printer strobe if bit6=1)
             ext.sel = external select, romA13 = ROM address line 13,
             SD = Single Density, side0 & side1, drive0 & drive1
             NOTE: Hibit is inverted inhibit, so if the inhibit button is in and
                   bit4=0 then DISCiPLE memory address decoding inactive!

 59 #3B Net-WAIT (write-only) Activate Z80 WAIT line if network has a high level.
          (a read of port 31 would then give bit7=0)

123 #7B ROM/RAM flip (called BOOT by MGT)
          read:  ROM at 0-8K, RAM at 8-16K addresses (MGT: SET BOOT)
                 NOTE: Pressing the reset button has the same effect, i.e. ROM low.
          write: ROM at 8-16K, RAM at 0-8K addresses (MGT: RESET BOOT)

187 #BB Page-in/out DISCiPLE ROM&RAM (called PATCH by MGT)
          read:  page-in ROM/RAM (MGT: SET PATCH)
          write: page-out ROM/RAM (MGT: RESET PATCH)

251 #FB Printer data (write-only)

254 #FE Sinclair joystick 1 & 2 (read-only, active low)
          joystick 1 (keys 1-5: left, right, down, up, fire) is selected when
          A11=0, e.g. LD BC,#F7FE  IN A,(C).
          joystick 2 (keys 6-0: left, right, down, up, fire) is selected when
          A12=0, e.g. LD BC,#EFFE  IN A,(C).
          joystick 2 shares connector with Kempston joystick.
Previous Next Contents Index