
8-Bit CPU 32k
slu4coder/Minimal-64x4-Home-Computer
My DIY TTL home computer with VGA and PS/2 and 4x the processing power of a Commodore C64 or Apple II.

Legacy: Full TTL-only home computer with VGA and PS/2 and twice the processing power of a Commodore 64
8-Bit CPU 32k is an open-source printed circuit board by slu4coder, from the slu4coder/Minimal-64-Home-Computer repository on GitHub. It is a 2-layer board of 306.1 × 130.2 mm with 132 parts on 303 nets, routed with 6,667 tracks and 50 vias.
It is built around the 74HC245D, 74HC161S and 74HC00D, with the 74HC32D, 74HC574D and 74HC08D among its other parts. Its parts include 61 ICs, 32 resistors, 27 capacitors, 5 connectors and 1 switch. It belongs with the retro computing and games boards of this library.
See https://github.com/slu4coder/Minimal-64x4-Home-Computer for the most recent version.
This is a free and non-commercial project. I am in no way associated with any activies selling this as a product. Any such activity represents a license violation. Individual licenses apply for hardware and software parts. Please refer to appropriate documentations for detailed licensing information.
Here is my take on 80's home computer magic: The most computer from the least logic or the shortest way from TTL to Space Invaders.
Introductory videos: https://www.youtube.com/watch?v=3zGTsi4AYLw, https://www.youtube.com/watch?v=FJsnKu20ch8
Reference manual: https://docs.google.com/document/d/1e4hL9Z7BLIoUlErWgJOngnSMYLXjfnsZB9BtlwhTC6U/edit?usp=sharing
Visit my YouTube channel: https://www.youtube.com/channel/UCXYQcMpUBT3aaQKfmAVJNow
FEATURES
● Only 56 74HCxx logic ICs, 1x 6C1008 SRAM, 4x 39SF0x0 FLASH, BUT NO MICROCONTROLLER!
● Textbook 'Von-Neumann' architecture, 8-bit data bus, 16-bit address bus, 24 control signals
● 64KB RAM, 512KB FLASH SSD with file system (format, load, save, dir, delete)
● Monochrome VGA output 400 x 240 pixels, PS/2, expansion slot and serial UART port
● 8MHz system clock, 6MHz CPU clock with 0.84Mips (2x Commodore 64)
● 128 instructions including conditional branching, subroutines, stack and word operations
● 2 data registers A, B plus two more "software" registers X, Y
● ALU supporting ADD, SUBTRACT, AND, OR with 3 flags (negative, carry and zero)
● Full native tool-chain: MinOS, text editor, assembler, fast Python-like interpreter 'MIN'
● Emulator, cross-assembler (Windows) and classic games (TETRIS clone, Space Invaders clone)
● Open-source emulators in JAVA/PROCESSING and JAVASCRIPT/p5.js https://editor.p5js.org/slu4coder/full/aOUivViNt
See "CHANGE LOG" for a brief summary of the relevant updates.
Have fun!
| Qty | Value | Footprint | References |
|---|---|---|---|
| 26 | 100nF | Capacitor_THT:C_Disc_D3.4mm_W2.1mm_P2.50mm | C1, C2, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19, C20, C21, C22, C23 +10 |
| 16 | 470 | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17, R18, R19, R20 |
| 14 | 74HC161 | Package_DIP:DIP-16_W7.62mm | U3, U7, U8, U9, U10, U11, U14, U15, U17, U18, U33, U36, U37, U50 |
| 10 | 74HC245 | Package_DIP:DIP-20_W7.62mm | U12, U16, U19, U21, U23, U26, U46, U48, U60, U61 |
| 8 | 330 | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R25, R26, R27, R28, R29, R30, R31, R32 |
| 5 | 4.7k | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R2, R21, R22, R23, R24 |
| 4 | 74HC00 | Package_DIP:DIP-14_W7.62mm | U1, U40, U43, U55 |
| 4 | 74HC32 | Package_DIP:DIP-14_W7.62mm | U42, U49, U58, U59 |
| 4 | 74HC574 | Package_DIP:DIP-20_W7.62mm | U2, U20, U32, U53 |
| 4 | M2 | MountingHole:MountingHole_2.2mm_M2 | H1, H2, H3, H4 |
| 3 | 74HC08 | Package_DIP:DIP-14_W7.62mm | U22, U47, U56 |
| 2 | 74HC165 | Package_DIP:DIP-16_W7.62mm | U38, U39 |
| 2 | 74HC193 | Package_DIP:DIP-16_W7.62mm | U34, U52 |
| 2 | 74HC283 | Package_DIP:DIP-16_W7.62mm | U24, U25 |
| 2 | 74HC4078 | Package_DIP:DIP-14_W7.62mm | U29, U30 |
| 2 | 74HC590 | Package_DIP:DIP-16_W7.62mm | U41, U45 |
| 2 | 74HC595 | Package_DIP:DIP-16_W7.62mm | U35, U51 |
| 2 | 74HC86 | Package_DIP:DIP-14_W7.62mm | U27, U28 |
| 2 | 75 | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R1, R3 |
| 1 | 150 | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R4 |
| 1 | 16MHz | Oscillator:Oscillator_DIP-14 | X1 |
| 1 | 200pF | Capacitor_THT:C_Disc_D3.4mm_W2.1mm_P2.50mm | C6 |
| 1 | 5V* | Connector_PinSocket_2.54mm:PinSocket_2x03_P2.54mm_Vertical | J5 |
| 1 | 74HC04 | Package_DIP:DIP-14_W7.62mm | U31 |
| 1 | 74HC166 | Package_DIP:DIP-16_W7.62mm | U44 |
| 1 | 74HCT132 | Package_DIP:DIP-14_W7.62mm | U57 |
| 1 | AS6C1008 SRAM | Package_DIP:DIP-32_W15.24mm | U13 |
| 1 | EXPANSION PORT | Connector_PinSocket_2.54mm:PinSocket_2x16_P2.54mm_Vertical | J3 |
| 1 | LOGO | logo:logo | G*** |
| 1 | PS/2 Keyboard | ArduinoPC:FP_MINI_DIN_6_PS2 | J4 |
| 1 | RESET | Button_Switch_THT:SW_PUSH_6mm | SW1 |
| 1 | SST39SF010A HSB | Package_DIP:DIP-32_W15.24mm_Socket | U4 |
| 1 | SST39SF010A LSB | Package_DIP:DIP-32_W15.24mm_Socket | U6 |
| 1 | SST39SF010A MSB | Package_DIP:DIP-32_W15.24mm_Socket | U5 |
| 1 | SST39SF040A 512KB | Package_DIP:DIP-32_W15.24mm_Socket | U54 |
| 1 | UART | Connector_PinSocket_2.54mm:PinSocket_1x06_P2.54mm_Vertical | J1 |
| 1 | VGA connector | ArduinoPC:VGA DSUB15HD_female | J2 |
It measures 306.1 × 130.2 mm and has 2 copper layers, 1.6 mm thick.
132 parts, built around the 74HC245D, 74HC161S, 74HC00D and 74HC32D. 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 slu4coder/Minimal-64-Home-Computer repository on GitHub, at the commit this page was made from: the board is Revision 1.2/KiCAD/8-Bit CPU 32k.kicad_pcb and its schematic Revision 1.2/KiCAD/8-Bit CPU 32k.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask slu4coder before reusing the design.

slu4coder/Minimal-64x4-Home-Computer
My DIY TTL home computer with VGA and PS/2 and 4x the processing power of a Commodore C64 or Apple II.




slu4coder/Minimal-UART-Computer-1-2
Legacy: Version 1 and 2 of my TTL-only CPU featuring UART I/O, an expansion port, 512KB SSD at up to 10MHz clock speed


slu4coder/Minimal-UART-Computer-3
Version 3 of my educational DIY TTL computer built around a UART serial interface - now with blinkenlights!

nailed-barnacle/Cisc-8-ttl-processor
A cut-down version of the 8080 processor using HCTTL and including a discrete ALU and instruction decoder