This project is currently in the breadboard stage, because I haven't figured out the PCB portion of KiCAD.

.

The Steering CMTE is an interface to provide Turbo Z80 power to any of the old Z80-based TRS-80s:

     Model I                              Model 4 (ga)                  Model II

     Model III                            Model 4P (ga)                Model 12

     Model 4 (nga)                   Model 4D (ga)                Model 16

     Model 4P (nga)                                                         Model 6000

As there are dozens of people working on fast retro Z80 computer projects, I did not see the point of re-inventing the wheel.  What I found was, however, that most lacked any external interface that would allow a plug-and-play experience with a TRS-80.

.

The most approachable one to date is the Dino Boards Stegosaur (Green) Turbo Z80 Board by Dean Netherton of Australia. His design, made for the MSX operating system on the RC2014 extended 80-pin bus, already incorporates clock step-up/step-down logic that allows it to function in multiple environments.

As designed, he incorporated a 20MHz crystal to power a 20 MHz CMOS Z80. His Yellow version of the same board, included a 16MHz crystal as well to slow it down, in case you don't trust that speed. He provides that same crystal with the Stegosaur version on request. His board has three (3) switch-selectable speed settings: SLOWCLOCK, which uses the clock speed on the RC2014 bus, and is used for I/O space accesses, FASTCLOCK at crystal speed with 3 Wait States for memory, and FASTCLOCK at crystal speed with 1 Wait State for modern fast memory.

Any Turbo-mode Z80 used in a TRS-80 must deal with, not only slow I/O, like normal computers, but slow ROMs , slow memory-mapped keyboards, slow memory-mapped video displays, slow memory-mapped interrupt latches, slow memory-mapped disk select latches, slow memory-mapped cassette select latches, slow bidirectional memory-mapped printer ports, and slow memory-mapped disk controllers. It also has to deal with the timing of tight timing loops and programmed (as opposed to interrupt-driven) I/O. These all require the same clock step-down logic used by the I/O, and are the headaches of the two fundamental TRS-80 memory maps.

In addition to those timing considerations, all TRS-80s use "dynamic RAMs", that make use of the Z80 "hidden refresh" feature. It is not really documented anywhere, but virtually all 1-bit wide (4K/16K/64K/256K/1M) dynamic RAMs (except the the fastest <90ns access) require a minimum 110ns RFSH  signal  (up to 300ns RAMs) to maintain data integrity, no matter what the data sheets say. At 20MHz, the <2 T-State RFSH signal is <100ns, so I chose the 16MHz crystal, to guarantee a 120ns (<134ns) RFSH signal. 

Further, even though all RC2014 bus signals are active on the Turbo Z80 Board, The TRS-80 claims the entirety of the 64K Z80 memory space: all RC2014 I/O is available to access by the TRS-80 (watch out for port conflicts), but any RC2014 memory is guaranteed to cause bus contention with the TRS-80, unless the memory address is unpopulated on the TRS-80 bus. The only exception I can think of is the use of the RC2014 eZ80 coprocessor board using its own memory, acting as bus master to access the TRS-80 memory. It will still have a problem with slow memory-mapped I/O, though.

I had to make some minor alterations to the Dino Boards Turbo Z80 beyond changing the crystal from 20MHz to 16MHz. First, I replaced the regular 40-pin DIP socket for the 20MHz Z80 with a wire-wrap socket, to provide pins for Z80 signal passthrough cables to the TRS-80. Then, I deleted the speed-select switch (which I re-used on the Distribution Board), and provided 2 signals to the switch contacts pads in its stead: NATIVE* (N8V*, which selects SLOWCLOCK, switching to the same as the TRS-80 processor clock) and TURBO* (which selects FASTCLOCK, switching to 16MHz with 1 Wait State). These active signals are mutually exclusive. If both are inactive, it creates an intermediate state of FASTCLOCK, switching to 16MHz with 3 Wait States. I also provided to the RC2014 bus the following: TRS-80 PHI processor clock as system clock; Aux Ground/Power, switch-selectable from 5v-to-Ground-to-12v; as well as providing for the RC2014 bus Ground & 5v Vcc Power.

.

As designed, the TRS-80 Steering CMTE runs the Stegosaur Turbo Z80 at 16MHz with 1 Wait State for Models II & 4  (and all their variants -- Model II/4 Mode). It runs at 16MHz with 3 Wait States for Models I & III (Model I/III Mode). And if slow onboard ROMs or any I/O is accessed -- either I/O-mapped or memory-mapped -- the board slows down to the Native clock speed of any attached TRS-80 -- 1.77MHz, 2.03Mhz, or 4.06MHz (Native Mode).

The Steering CMTE hardware currently consists of three (3) small boards & eight (8) connecting cables. The boards are:

(1) The Distributor Board, which distributes power from the TRS-80 through power rails with 100 uf of bypass capacitors, to the interface & the Turbo Z80 board from Dino Boards, including a switch-selectable Aux ground & power to the RC2014 bus (5v/Gnd/12v); provides a pass-through point for the Z80 signals between the Z80 socket on the TRS-80 motherboard, and the Turbo Z80; and sends Logic Board control signals to the Turbo Z80;

(2) The Logic Board, which collects assorted signals from the TRS-80, and steers them into control signals for the Turbo Z80; and has a 40-pin wire-wrap DIP socket (as with the Turbo Z80 Board) with extended pins to accept the passthrough cables;  and

(3) The Receiver Board, which receives both power into its own power rails with 100 uf of bypass capacitors, and the control signals from the Distributor, & patches them into the Turbo Z80 & RC2014 bus.

The cables are:

(1) Z-80 Socket.10-inch 40-pin flat ribbon cable, with 40-pin DIP IDC plug connectors on each end, from the Z80 socket on the TRS-80 motherboard to the 40-pin wire-wrap DIP socket on the Logic Board. It has an additional 40-pin DIP socket on one end as a pin protector; two (2) pins -- #18 & #25 are removed to allow use of HALT and BUSRQ by the RC2014 system & block the funky way they are handled on the TRS-80 Models I/III/4. This protective socket is not needed on the TRS-80  Models II/12/16/6000 & should be removed & replaced with a socket with all pins.

(2) Model I/III Mode. 15-inch 6-pin flat ribbon cable, 6-pin Dupont connector on one end, 5 spring-loaded dual-hook probes on each of the wires, one heavier spring-loaded single-hook probe on the other. Connects the Logic Board to signals Vcc, Ground, CasMotorOn, DskMotorOn, A15, & A14 from the Models I/III/4. Not needed on models II/12/16/6000.

(3) Model II/4 Mode. 15-inch 6-pin flat ribbon cable, 6-pin Dupont connector on one end, 5 spring-loaded dual-hook probes on each of the wires, one heavier spring-loaded single-hook probe on the other. Connects the Logic Board to signals ROMCE*, KEYB*, VID*, SEL1, Ground, & FAST from the Models II/4/12/16/6000. Not needed on the Models I/III.

(4) All Models Control. 15+inch 4-pin flat ribbon cable, 4-pin Dupont connector on one end, 2 spring-loaded dual-hook probes, plus a case-mountable switch on the other. Connects the Logic Board to signals NEXT*/MUX*, Ground, and an SPST switch which disables (closed) or enables (open) the Turbo mode of the Turbo Z80.

(5) & (6) Passthrough Cables for Z80 signals and power. 15-inch 60-pin flat ribbon cables with 60-pin (2x30) IDC socket connectors on both ends, from the Distribution Board to the Turbo Z80 via the Receiver Board. Cable (5) carries Z80 signals for pins 1-20 & 10 pins of Vcc (5 volts) on the odd pins, interspersed with the 30 Ground lines on the even pins; Vcc is inline with the Z80 signals, while the ground line pins are in the other line, positioned between the Z80 signals #1-#20 and #21-#40. Cable (6) carries Z80 signals for pins #21-#40 & 10 additional pins of Vcc on the even pins, interspersed with 30 additional Ground lines on the odd pins; again, Vcc is inline with the Z80 signals #21-#40, the Ground line pins are in the other line, positioned between the 2 rows of Z80 signals. The plug in the back of the Receiver Board mirrors the plug in the back of the Distributor Board. 100uf (10x#106) caps on power rails at each end of these cables. Vcc rail and Ground rail are patched from the Receiver Board the Turbo Z80 RC2014 interface (extended 80-pin bus) pins #17, #18, #57, & #58, RC2014 Power & Ground.

(7) Aux Power/TRS-80 PHI Cable. 15-inch Dual twisted-pair cables with 4-pin female connectors on each end, from the Distribution Board to the Receiver Board. (A) Carries Aux Power to the Receiver Board, switch-selectable on the Distribution Board from 5-volts, to Ground, to 12-volts, paired with an Aux Ground, and patched from the Receiver to the Turbo Z80 RC2014 interface pins #41 (Aux Power) and #42 (Aux Ground), USER SELECT pins. (B) Carries TRS-80 PHI (motherboard processor clock), redirected from the Z80 Socket Cable through the Distribution Board; paired with a Ground, to the Receiver Board, & patched through to Turbo Z80 RC2014 interface pin #21, RC2014 (slow) bus clock.

(8) NATIVE*/TURBO* Select Cable. 15-inch Dual twisted-pair cables with 4-pin female connectors on each end, from the Distribution Board to the Receiver Board. (A) Carries the generated NATIVE* (N8V*) signal, paired with a Ground, generated by the Logic Board, & sent through the Distribution Board, to the Receiver Board. Patched through from the Receiver Board to the Turbo Z80 SLOWCLOCK* input, to switch to the slower clock speed for slow ROMs & slow memory-mapped I/O on the TRS-80 (auto-generated during I/O operations). (B) Carries the generated TURBO* signal, paired with a Ground, generated by the Logic Board, & sent through the Distribution Board, to the Receiver Board. Patched through from the Receiver Board to the Turbo Z80 FASTCLOCK* input, to switch to the maximum clock speed for ordinary fast memory accesses.