
Zx50 Cpu RevC3
mmosko/Zx50
This is the primary CPU board for the Zx50 8-slot passive backplane system. It hosts the Z80 microprocessor (running at 5 MHz to 10 MHz) and acts as the master controller for the primary bus.

This is the primary CPU board for the Zx50 8-slot passive backplane system. It hosts the Z80 microprocessor (running at 5 MHz to 10 MHz) and acts as the master controller for the primary bus.
Zx50 MemoryCard RevC1 is an open-source printed circuit board by mmosko, from the mmosko/Zx50 repository on GitHub. It is a 6-layer board of 132.1 × 107.9 mm with 235 parts on 552 nets, routed with 3,594 tracks and 632 vias.
It is built around the LCMXO3LF-6900C-5BG400C, 74LVC245AD and 74LVC3G07DC, with the IS25LP080D-JNLE-TR, SN74LVC1G17DBVR and AMS1117-2.5 among its other parts. Its parts include 96 resistors, 75 capacitors, 24 ICs, 20 diodes and 12 connectors. It belongs with the FPGA and CPLD boards of this library.
This is the primary CPU board for the Zx50 8-slot passive backplane system. It hosts the Z80 microprocessor (running at 5 MHz to 10 MHz) and acts as the master controller for the primary bus.
Revision C1 updates the design to a 6-layer stackup, integrating a high-performance Math and Stack Coprocessor Cluster mounted on the bottom side beneath the clock mezzanine shield, along with a dedicated hardware Wait-State Generator (wait_gen).
Crucially, this board coexists with the Zx50 Shadow Bus architecture. It features a hardware-level "firewall" that allows a secondary master (like a Pi Pico on the Bus Probe or Front Panel card) to request the bus via ~BUSRQ. When the Z80 yields (~BUSAK), the CPU card instantly severs itself from the backplane, allowing the secondary master to perform high-speed 40 MHz DMA transfers without electrical contention.
U4): Zilog Z84C00xxP CMOS variant in a 40-pin DIP package (socketed).SN74ABT245BN)To drive the heavy capacitance of the 8-slot backplane, this board uses four SN74ABT245BN octal bus transceivers (U2, U3, U5, U7) with high-drive capability. A unified BOM of four '245s optimizes PCB trace routing across all 32 backplane lines.
U2, U3): Direction (DIR) is hardwired to +5V (A $\rightarrow$ B only).U7): Direction (DIR) is hardwired to +5V (A $\rightarrow$ B only). (Unused input A8 is tied to GND via a 10k$\Omega$ resistor R2 to prevent CMOS floating-gate oscillation).U5): Direction (DIR) is dynamically controlled by read/acknowledge steering logic (D_DIR driven by U8 / R8). This switches the transceiver to an input state (B $\rightarrow$ A) during standard memory/IO reads or Interrupt Acknowledge (INTA) cycles.~OE): The ~OE pins of all four transceivers are driven by inverted ~BUSAK (/BUSAK from U1 pin 4).Discrete "Little Logic" and micro-logic ICs handle high-speed signal translation:
74AHC1G14 (U1 - Schmitt Inverter): Inverts the Z80's active-low ~BUSAK signal to drive the active-low ~OE pins of the transceiver wall.74AHCT74 (U9 - Dual D Flip-Flop): Latches timing states for wait-state generation.74AHCT132 (U10 - Quad Schmitt NAND): Handles pulse shaping and step-logic gating for debugging.74LVC1G3208 (U8 - 3-Input OR-AND Combo): Manages direction and enable logic for auxiliary bus controls.wait_gen) SubsystemThe board incorporates a dedicated hardware wait-state generator to support single-step debugging and cycle stretching during fast coprocessor or backplane operations:
SN74AHCT74DRG4 / U9): Latches bus cycle transitions relative to ZCLK and ~M1/~IORQ/~MREQ edges.74AHCT132 / U10): Provides noise-tolerant pulse shaping and single-step gate logic.2N7002-7-F N-Channel MOSFET / Q2): Drives the active-low ~WAIT line without contention, allowing other cards or the CPLD to safely assert ~WAIT.~WAIT low at $T_2$/$T_3$ until a manual step pulse is received from the Clock Mezzanine (J3) or Front Panel (J4).Mounted entirely on the back side of the board beneath the Clock Mezzanine copper shield, a high-performance CPLD cluster operates on a dedicated private memory bus.
+-----------------------------------+
| ATF1508AS CPLD (PLCC-84 / U11) |
| Dual Clocks: 20MHz MCLK / 5MHz ZCLK|
+-----+-----------------------+-----+
| |
CA0-CA13 | | CD0-CD7
Private Address| | Private Data
v v
+-----------+-----------------------+-----------+
| |
| +-------------------+ +---------------+ |
| | SST39SF040 Flash | | IS61C5128AS | |
| | 16KB Active (55ns)| | 16KB Active | |
| | PLCC-32 (U13) | | SRAM 32-SOP | |
| +---------+---------+ +-------+-------+ |
| | | |
| | ~F_CE / ~F_OE / ~F_WE| ~M_CE / ~M_OE / ~M_WE
+-------------+---------------------+-----------+ATF1508ASx-xxJx84 / U11)MCLK (GCLK1, Pin 83) and 5/10 MHz ZCLK (CLK, Pin 2) from the clock mezzanine (J3). The internal state machine executes at MCLK speed, enabling sub-cycle arithmetic and table lookups before the Z80 samples data.~BUSREQ Contention)The CPLD manages its own dedicated private address (CA0–CA13) and data (CD0–CD7) buses, isolating coprocessor memory operations from the primary Z80 system bus:
CA0–CA13) provides 16 KB of addressable private memory space. Upper address lines (A14–A18) on both memory ICs are tied directly to GND to guarantee static CMOS levels and prevent floating pin oscillations.SST39SF040 / U13): 16 KB active window (55 ns NOR Flash) in a 32-pin PLCC socket. Stores non-volatile lookup tables (Quarter-Square $f(n)=\lfloor n^2/4 \rfloor$, sine/cosine maps, logarithmic tables, reciprocal seeds).IS61C5128AS-25QLI / U12): 16 KB active window (25 ns High-Speed Static RAM) in a 32-pin SOP footprint. Serves as private scratchpad, hardware stack frame storage, or modifiable shadow RAM.~M_CE and ~F_CE lines are fitted with $10\text{ k}\Omega$ pull-up resistors (R7, R10) to $+5\text{V}$ to keep both memory chips deselected and High-Z during power-up or CPLD JTAG re-programming.J8 - MEM SPD)To support both 20 MHz and 40 MHz MCLK speeds without requiring CPLD bitstream re-flashing:
J8): 2-pin (1x2) 2.54mm pin header connected to CPLD Pin 81 (I/O/GCLK3) with a $10\text{ k}\Omega$ pull-up resistor (R5) to $+5\text{V}$.MCLK with 25 ns SRAM).MCLK).J7): 6-pin (1x6) 2.54mm male header.GND (Pin 2), TMS (Pin 3), TDO (Pin 4), TDI (Pin 5), TCLK (Pin 6). Compatible with Waveshare USB-JTAG converters and OpenOCD.Handled by a Microchip MCP1316MT-46LE/OT Supervisor IC (SOT-23-5, U6).
C9) to charge and peripheral clock sources/Picos to initialize before releasing ~RESET.~RESET rail (Pin 1).SW1): Tactile button connected to ~MR (Pin 3) for debounced hardware reset during bench testing.Revision C1 uses a 6-layer stackup to accommodate the high-density coprocessor cluster beneath the top-side clock shield without interfering with front-side copper:
| Layer | Type | Dedicated Function |
|---|---|---|
| Layer 1 (Top) | Signal / Plane | Primary Z80 component traces, Clock Mezzanine RF shield copper ground pour |
| Layer 2 (GND) | Power Plane | Continuous $GND$ reference plane |
| Layer 3 (Inner 1) | Signal | Private Coprocessor Bus: CA0–CA13, CD0–CD7, and private control lines (~M_CE, ~M_OE, ~M_WE, ~F_CE, ~F_OE, ~F_WE) |
| Layer 4 (Inner 2) | Signal | Z80 Bus Ingest: Taps A0–A15, D0–D7, and control lines from U4 to the CPLD |
| Layer 5 (VCC) | Power Plane | Continuous $+5\text{V}$ power distribution plane |
| Layer 6 (Bottom) | Signal / SMT | Bottom-mounted SMT footprints: ATF1508AS PLCC-84 (U11), SST39SF040 PLCC-32 (U13), IS61C5128AS SOP-32 (U12) |
| Connector | Type | Description |
|---|---|---|
J1 - Backplane | 80-Pin Edge Connector | Standard Zx50 2.54mm bus interface. |
J2 - Bus Connect / Step Tap | 2x2 Pin Socket | Tap for AUX (Pin 80), GPIO15, ~STEP, and ~RUN signals. |
J3 - Clock Mezzanine | 2x5 Socket (2.54mm) | Ingests MCLK (20/40 MHz), CLK (5/10 MHz ZCLK), and ~STEP signals. |
J4 - Front Panel | 2x5 Right-Angle IDC | Interfaces status LEDs (RUN, HALT), ~RESET, ~STEP, and power lines. |
J5 - TP_D_DIR Debug | 1x2 Header (2.54mm) | Hardware tap for Data Bus Direction monitoring and GND test point. |
J6 - TP_BUSAK Debug | 1x2 Header (2.54mm) | Hardware tap for ~BUSAK signal observation. |
J7 - Coprocessor JTAG | 1x6 Header (2.54mm) | In-System Programming header for the ATF1508AS CPLD (+5V, GND, TMS, TDO, TDI, TCLK). |
J8 - MEM SPD Jumper | 1x2 Header (2.54mm) | Hardware jumper for 1-cycle vs 2-cycle private memory access speed selection (Pin 81 / R5). |
Operating at $5\text{V}$, the Rev C1 CPU card draws a typical active current of ~170 mA (~0.85 W) and a worst-case peak switching current of ~280 mA (~1.40 W). The power load is split between the primary Z80 CPU subsystem and the high-speed coprocessor cluster.
| Component | Part Number | Qty | Typ. Current | Max Current | Notes |
|---|---|---|---|---|---|
| Z80 CPU (10 MHz) | Z84C00xxP | 1 | 10 mA | 20 mA | CMOS low-power core |
| Bus Transceivers | SN74ABT245BN | 4 | 15 mA | 40 mA | Drives 8-slot backplane capacitance |
| Wait-State Logic | 74AHCT74 / 132 | 2 | 8 mA | 15 mA | Dual D-FF & Schmitt NAND gates |
| Glue Logic & Supervisor | 74AHC1Gxx / MCP1316 | 5 | 3 mA | 5 mA | SOT-23 micro-logic & reset controller |
| Status LEDs & Pull-ups | PWR, HALT LEDs | 2 | 8 mA | 10 mA | ~$470\Omega$ current limiting |
| Subtotal (CPU Side) | ~44 mA | ~90 mA | ~0.22 W Typ / 0.45 W Max |
| Component | Part Number | Qty | Typ. Current | Max Current | Notes |
|---|---|---|---|---|---|
| CPLD (20/40 MHz MCLK) | ATF1508ASx-xxJx84 | 1 | 65 mA | 100 mA | Dynamic $I_{CC}$ scales with MCLK frequency |
| Private SRAM (25 ns) | IS61C5128AS-25QLI | 1 | 15 mA | 30 mA | Active read/write state |
| Private Flash (55 ns) | SST39SF040 | 1 | 15 mA | 30 mA | Active table read state |
| Subtotal (Coprocessor) | ~95 mA | ~160 mA | ~0.48 W Typ / 0.80 W Max |
| Qty | Value | Footprint | References |
|---|---|---|---|
| 53 | 100n | Capacitor_SMD:C_0402_1005Metric | C10, C11, C12, C13, C14, C15, C16, C17, C18, C22, C23, C24, C28, C29, C30, C31 +37 |
| 25 | 10k | Resistor_SMD:R_0402_1005Metric | R23, R28, R30, R32, R102, R107, R108, R113, R118, R119, R120, R121, R122, R123, R124, R125 +9 |
| 12 | 330 | Resistor_SMD:R_0805_2012Metric | R7, R8, R9, R10, R11, R12, R13, R14, R19, R20, R21, R22 |
| 11 | 33 | Resistor_SMD:R_0402_1005Metric | R78, R92, R93, R94, R95, R96, R97, R98, R99, R100, R101 |
| 10 | 10k | Resistor_SMD:R_0805_2012Metric | R1, R2, R3, R68, R69, R70, R71, R72, R73, R76 |
| 10 | 10u | Capacitor_SMD:C_1206_3216Metric | C1, C2, C3, C6, C8, C77, C78, C79, C80, C85 |
| 9 | 74LVC245 | Package_SO:TSSOP-20_4.4x6.5mm_P0.65mm | U3, U4, U5, U6, U9, U11, U21, U23, U24 |
| 8 | 1K | Resistor_SMD:R_0402_1005Metric | R48, R49, R50, R51, R58, R59, R60, R61 |
| 8 | 220nF | Capacitor_SMD:C_0402_1005Metric | C44, C45, C46, C47, C50, C51, C52, C53 |
| 8 | 49R9 | Resistor_SMD:R_0402_1005Metric | R44, R45, R46, R47, R54, R55, R56, R57 |
| 8 | 4k7 | Resistor_SMD:R_0402_1005Metric | R24, R25, R26, R27, R29, R31, R34, R37 |
| 7 | 75 | Resistor_SMD:R_0603_1608Metric | R33, R36, R52, R53, R62, R63, R67 |
| 5 | YLW | LED_SMD:LED_0805_2012Metric | D3, D4, D5, D6, D13 |
| 4 | BLUE | LED_SMD:LED_0805_2012Metric | D15, D16, D17, D18 |
| 4 | IS61WV10248EDBLL | zx50_footprints:TSOP-44_11P9X18P5_ISI | U15, U16, U17, U18 |
| 3 | 33R | Resistor_SMD:R_Array_Convex_8x0602 | RN2, RN3, RN4 |
| 3 | GRN | LED_SMD:LED_0805_2012Metric | D1, D19, D20 |
| 2 | 1M | Resistor_SMD:R_0805_2012Metric | R64, R65 |
| 2 | 1N5819 | Diode_SMD:D_SOD-323 | D8, D9 |
| 2 | 1n 2kV | Capacitor_SMD:C_1206_3216Metric | C56, C57 |
| 2 | 33R | Resistor_SMD:R_0603_1608Metric | R4, R5 |
| 2 | 470R | Resistor_SMD:R_0805_2012Metric | R38, R39 |
| 2 | 74LVC1G17 | digikey-footprints:SOT-753 | U7, U8 |
| 2 | GND | Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_Vertical | J6, J7 |
| 2 | IS25LP080D-JNLE-TR | zx50_footprints:SOIC127P600X88-8N | U19, U20 |
| 2 | RED | LED_SMD:LED_0805_2012Metric | D2, D14 |
| 2 | RJ45_RB1-125B8G1A | zx50_footprints:HANRUN_HR911130A | J11, J12 |
| 1 | 100 | Resistor_SMD:R_0805_2012Metric | R6 |
| 1 | 10K | Resistor_THT:R_Array_SIP6 | RN1 |
| 1 | 1uF | Capacitor_SMD:C_0402_1005Metric | C69 |
| 1 | 2.5V | Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_Vertical | J1 |
| 1 | 200n | Capacitor_SMD:C_0402_1005Metric | C55 |
| 1 | 25 MHz | Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm | Y1 |
| 1 | 3.3V | Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_Vertical | J2 |
| 1 | 600R | digikey-footprints:0805 | FB1 |
| 1 | 74LVC3G07 | Package_SO:VSSOP-8_2.3x2mm_P0.5mm | U10 |
| 1 | AMS1117-2.5 | Package_TO_SOT_SMD:SOT-223-3_TabPin2 | U1 |
| 1 | AMS1117-3.3 | Package_TO_SOT_SMD:SOT-223-3_TabPin2 | U2 |
| 1 | DEBUG | Connector_IDC:IDC-Header_2x09_P2.54mm_Vertical | J8 |
| 1 | DONE | LED_THT:LED_D3.0mm | D10 |
| 1 | INIT | LED_THT:LED_D3.0mm | D7 |
| 1 | JTAG 5V | Connector_IDC:IDC-Header_2x06_P2.54mm_Horizontal | J9 |
| 1 | JTAG ACT | LED_THT:LED_D3.0mm | D11 |
| 1 | LCMXO3LF-6900C-5BG400C | zx50_footprints:CABGA400_LAT | U12 |
| 1 | RESET | Button_Switch_THT:SW_PUSH_6mm_H7.3mm | SW2 |
| 1 | RS232 5V | Connector_IDC:IDC-Header_2x03_P2.54mm_Horizontal | J10 |
| 1 | RS232 ACT | LED_THT:LED_D3.0mm | D12 |
| 1 | SN74LVC1G17DBVR | digikey-footprints:SOT-753 | U22 |
| 1 | SW_DIP_x05 | Button_Switch_THT:SW_DIP_SPSTx05_Slide_9.78x14.88mm_W7.62mm_P2.54mm | SW1 |
| 1 | TP_CLK | Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_Vertical | J4 |
| 1 | TP_MCLK | Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_Vertical | J5 |
| 1 | TXU0204PWR | zx50_footprints:TSSOP14_PW_TEX | U13 |
| 1 | TXU0304PWR | zx50_footprints:TSSOP14_PW_TEX | U14 |
| 1 | Zx50_EdgeConnector | zx50_footprints:PinSocket_2x40_P2.54mm_Horizontal_Edge | J3 |

mmosko/Zx50
This is the primary CPU board for the Zx50 8-slot passive backplane system. It hosts the Z80 microprocessor (running at 5 MHz to 10 MHz) and acts as the master controller for the primary bus.

mmosko/Zx50
This is the primary CPU board for the Zx50 8-slot passive backplane system. It hosts the Z80 microprocessor (running at 5 MHz to 10 MHz) and acts as the master controller for the primary bus.

mmosko/Zx50
This is the primary CPU board for the Zx50 8-slot passive backplane system. It hosts the Z80 microprocessor (running at 5 MHz to 10 MHz) and acts as the master controller for the primary bus.

mmosko/Zx50
This is the primary CPU board for the Zx50 8-slot passive backplane system. It hosts the Z80 microprocessor (running at 5 MHz to 10 MHz) and acts as the master controller for the primary bus.

mmosko/Zx50
This is the primary CPU board for the Zx50 8-slot passive backplane system. It hosts the Z80 microprocessor (running at 5 MHz to 10 MHz) and acts as the master controller for the primary bus.

mmosko/Zx50
This is the primary CPU board for the Zx50 8-slot passive backplane system. It hosts the Z80 microprocessor (running at 5 MHz to 10 MHz) and acts as the master controller for the primary bus.

mmosko/Zx50
This is the primary CPU board for the Zx50 8-slot passive backplane system. It hosts the Z80 microprocessor (running at 5 MHz to 10 MHz) and acts as the master controller for the primary bus.

mmosko/Zx50
This is the primary CPU board for the Zx50 8-slot passive backplane system. It hosts the Z80 microprocessor (running at 5 MHz to 10 MHz) and acts as the master controller for the primary bus.

mmosko/Zx50
This is the primary CPU board for the Zx50 8-slot passive backplane system. It hosts the Z80 microprocessor (running at 5 MHz to 10 MHz) and acts as the master controller for the primary bus.

mmosko/Zx50
This is the primary CPU board for the Zx50 8-slot passive backplane system. It hosts the Z80 microprocessor (running at 5 MHz to 10 MHz) and acts as the master controller for the primary bus.

mmosko/Zx50
This is the primary CPU board for the Zx50 8-slot passive backplane system. It hosts the Z80 microprocessor (running at 5 MHz to 10 MHz) and acts as the master controller for the primary bus.

mmosko/Zx50
This is the primary CPU board for the Zx50 8-slot passive backplane system. It hosts the Z80 microprocessor (running at 5 MHz to 10 MHz) and acts as the master controller for the primary bus.





andykarpov/karabas-pro
FPGA based retrocomputer with FDD and HDD controllers

knewter/kvm-board
An open-source KVM-over-IP device built with a Milk-V Duo S (RISC-V) and ESP32-S3. Remotely control any computer's keyboard, video, and mouse over your network — at the hardware level, independent of the target's OS.


It measures 132.1 × 107.9 mm and has 6 copper layers, 1.6 mm thick.
235 parts, built around the LCMXO3LF-6900C-5BG400C, 74LVC245AD, 74LVC3G07DC and IS25LP080D-JNLE-TR. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the mmosko/Zx50 repository on GitHub, at the commit this page was made from: the board is boards/Zx50_MemoryCard_RevC1/Zx50_MemoryCard_RevC1.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask mmosko before reusing the design.