Skip to content

Hardware Jumpers

Peter Wilson edited this page Jun 12, 2023 · 5 revisions

The Z80 CPU card contains a number of jumpers to change the basic way the hardware is configured. A number of these have allowed for some historical development and aren't strictly necessary any longer and should be left in the default positions. This page gives a brief description of each of the jumpers and the correct settings. The picture shows the configuration in the authors configuration using an SIO/0.

IMG_20230502_124000917

Jumper Name Description Default Notes
P2 MEMLOW Determines whether flash or RAM is mapped to the CPU after a reset FLSH 1
P3 SIOBCLK Whether SIO channel B clock is driven by the CPU clock (CLKU) or the output (channel 0) from the CTC (CLK0_OUT) CLKU 2
P4 CTC_CFG This selection of jumpers allows CTC channel chaining. 7-8 6
P5 NOCTC If a CTC is not installed then set this jumper. This maintains the interrupt daisy chain when the chip is missing Not installed 3
P6 SIOACLK Whether SIO channel A clock is driven by the CPU clock (CLKU) or the output (channel 0) from the CTC (CLK0_OUT) CLKU 2
P7 If a Z80 SIO/0 is installed add a jumper to the middle of the 4 pins (SIO0). If an SIO/2 is installed add two jumpers connecting the outer pins (SIO2) SIO0 4
CPUCLK Either clock the CPU directly from the oscillator, eg ~14MHz, (CLKF) or from half the oscillators freq of ~7MHz FAST
SIOCLK Either clock the SIO directly from the oscillator, eg ~14MHz, (CLKF) or from half the oscillators freq of ~7MHz FAST
BA21SEL ADDSIZE Decides whether the MSB of the extended address bus is used (BA21). Leave this in the default. 4M 5

Notes

  1. Before I had a flash programmer I mapped SRAM into low memory and used a Raspberry Pi using the BUSRQ/BUSACK handshake to write data directly into RAM. This is really obsolete now so just leave this as flash low (the default)
  2. The default drives the SIO from the CPU clock (or CPU clock divided by 2). With a 14.375MHz clock this gives a baud rate of 230400 which works with no problem. The SIO can alternatively be driven by the output of the CTC timer 0 to give more control and to decouple the baud rate from the CPU clock. Note the zloader monitor currently only works with the SIO driven from the CPU. It doesn't configure the CTC to drive the SIO.
  3. Adding a CTC was a little experimental and is effectively optional. If you don't want to install a CTC then add this jumper. All the jumper does is bridge the IEI ro IEO so the interrupt daisy chain is not broken.
  4. I designed the original board to use a Z80 SIO/0 which I found easiest to get hold off. Several people asked why I chose that and whether an SIO/2 can be used. The only difference between the two is which internal signals are bound to external pins. If you're using an SIO/0 then put a jumper across the middle two pins on this 4 pin block. If using an SIO/2 then add two jumpers. One connecting the the left two pins and the other the right two.
  5. I originally didn't decode A21 which limited the address space to 2MB rather than the full 4MB. To use the MSB I needed to munge a couple of signals. With a ~14MHz clock I was a bit worried about timings so made this an option. In practice it seems to work just fine so just choose the 4M setting.
  6. PINS 7 and 8 allow CTC timer 3 to be driven from the output of the RTC square wave. If using the MSX Omega keyboard and the text video card with ZLoader then add this jumper. ZIOS configures timer three to do keyboard scans and cursor 'blinking'.