
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.

My DIY TTL home computer with VGA and PS/2 and 4x the processing power of a Commodore C64 or Apple II.
8-Bit CPU 32k is an open-source printed circuit board by slu4coder, from the slu4coder/Minimal-64x4-Home-Computer repository on GitHub. It is a 2-layer board of 245.1 × 160 mm with 139 parts on 317 nets, routed with 5,224 tracks and 42 vias.
It is built around the 74HC245D, 74HC161S and 74HC32D, with the 74HC157D, 74HC377D and 74HC00D among its other parts. Its parts include 67 ICs, 33 capacitors, 27 resistors, 5 connectors and 1 switch. It belongs with the retro computing and games boards of this library.
Here is my latest take on 1980's home computer magic: The most computer from the least logic or the shortest way from TTL to Space Invaders.
This is a free and non-commercial project. I am in no way associated with any activies selling the Minimal 64x4 as a product. Any such activity represents a license violation. Individual licenses apply for hardware and software parts. Please refer to the applicable documentations for detailed licensing information.
Introductory video: https://www.youtube.com/watch?v=L1oECH6rPvs
Online emulator (sorry, no Redux): https://editor.p5js.org/slu4coder/sketches/lRq1gyYR2
Reference manual: https://docs.google.com/document/d/1-nDv_8WEG1FrlO3kEK0icoYo-Z-jlhpCMiCstxGOCjQ/edit?usp=sharing
Visit my YouTube channel: https://www.youtube.com/channel/UCXYQcMpUBT3aaQKfmAVJNow
Take a look at these repositories of fellow Minimal 64x4 enthusiasts for more games and fascinating projects:
https://github.com/hans61/Minimal-64x4-Games
https://github.com/hans61/Minimal-64x4-Expansion
https://github.com/michaelkamprath/minimal-64x4-expansion-cards
https://github.com/michaelkamprath/extended-min
FEATURES
● Only 57 74HCxx logic ICs, 2x 6C1008 SRAM, 4x 39SF0x0 FLASH, 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 port and serial UART interface
● 8MHz CPU clockrate, 1.8Mips - that's more than 4x the commonly quoted Mips value of a 6502 running at 1MHz like in a Commodore C64 or Apple II
● 256 instructions including conditional branching, subroutines, stack, word, long and zero-page operations
● 2 data registers A & B, 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'
● Cycle-exact emulator, cross-assembler (both for Windows and Linux) and classic games (TETRIS clone, Space Invaders clone, 3D Maze)
If you like this project and want to give something back, you can do so via PayPal. Thanks!
https://paypal.me/CarstenHerting
Have fun!
See "CHANGE LOG" for a brief summary of the recent updates.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 29 | 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 +13 |
| 16 | 470 | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R2, R9, R10, R11, R12, R13, R14, R15, R16, R17, R18, R19, R20, R21, R22, R23 |
| 14 | 74HC161 | Package_DIP:DIP-16_W7.62mm_Socket | U11, U15, U19, U24, U26, U27, U28, U29, U30, U32, U48, U49, U52, U53 |
| 8 | 74HC245 | Package_DIP:DIP-20_W7.62mm_Socket | U42, U44, U46, U50, U56, U64, U65, U66 |
| 6 | 74HC32 | Package_DIP:DIP-14_W7.62mm_Socket | U2, U7, U33, U58, U60, U62 |
| 4 | 22pF | Capacitor_THT:C_Disc_D3.4mm_W2.1mm_P2.50mm | C30, C31, C32, C33 |
| 4 | 4.7k | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R1, R3, R4, R5 |
| 4 | 74HC157 | Package_DIP:DIP-16_W7.62mm_Socket | U22, U43, U47, U51 |
| 4 | 74HC377 | Package_DIP:DIP-20_W7.62mm_Socket | U5, U10, U20, U45 |
| 4 | M2 | MountingHole:MountingHole_2.2mm_M2 | H1, H2, H3, H4 |
| 3 | 74HC00 | Package_DIP:DIP-14_W7.62mm_Socket | U3, U4, U8 |
| 3 | 74HC574 | Package_DIP:DIP-20_W7.62mm_Socket | U38, U40, U41 |
| 2 | 150 | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R6, R26 |
| 2 | 68 | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R7, R8 |
| 2 | 74HC02 | Package_DIP:DIP-14_W7.62mm_Socket | U1, U6 |
| 2 | 74HC08 | Package_DIP:DIP-14_W7.62mm_Socket | U61, U63 |
| 2 | 74HC165 | Package_DIP:DIP-16_W7.62mm_Socket | U12, U13 |
| 2 | 74HC193 | Package_DIP:DIP-16_W7.62mm_Socket | U14, U18 |
| 2 | 74HC283 | Package_DIP:DIP-16_W7.62mm_Socket | U55, U59 |
| 2 | 74HC590 | Package_DIP:DIP-16_W7.62mm_Socket | U37, U39 |
| 2 | 74HC595 | Package_DIP:DIP-16_W7.62mm_Socket | U16, U17 |
| 2 | 74HC86 | Package_DIP:DIP-14_W7.62mm_Socket | U54, U57 |
| 1 | 0 | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R27 |
| 1 | 100 | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R25 |
| 1 | 16MHz | Oscillator:Oscillator_DIP-14 | X1 |
| 1 | 200 | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R24 |
| 1 | 74HC166 | Package_DIP:DIP-16_W7.62mm_Socket | U35 |
| 1 | 74HC4002 | Package_DIP:DIP-14_W7.62mm_Socket | U67 |
| 1 | 74HCT132 | Package_DIP:DIP-14_W7.62mm_Socket | U9 |
| 1 | AS6C1008 SRAM | Package_DIP:DIP-32_W15.24mm_Socket | U34 |
| 1 | AS6C62256 or AS6C1008 VRAM | Package_DIP:DIP-32_W15.24mm_Socket | U36 |
| 1 | EXPANSION PORT | Connector_PinSocket_2.54mm:PinSocket_2x16_P2.54mm_Vertical | J3 |
| 1 | LOGO | logo:logo | G*** |
| 1 | POWER | Connector_PinSocket_2.54mm:PinSocket_2x03_P2.54mm_Vertical | J5 |
| 1 | PS/2 | ArduinoPC:FP_MINI_DIN_6_PS2 | J2 |
| 1 | RESET | Button_Switch_THT:SW_PUSH_6mm | SW1 |
| 1 | SST39SF010..040 HSB | Package_DIP:DIP-32_W15.24mm_Socket | U21 |
| 1 | SST39SF010..040 LSB | Package_DIP:DIP-32_W15.24mm_Socket | U25 |
| 1 | SST39SF010..040 MSB | Package_DIP:DIP-32_W15.24mm_Socket | U23 |
| 1 | SST39SF040 512KB SSD | Package_DIP:DIP-32_W15.24mm_Socket | U31 |
| 1 | UART | Connector_PinSocket_2.54mm:PinSocket_1x06_P2.54mm_Vertical | J1 |
| 1 | VGA | ArduinoPC:VGA DSUB15HD_female | J4 |

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-64-Home-Computer
Legacy: Full TTL-only home computer with VGA and PS/2 and twice the processing power of a Commodore 64

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


rjw57/simplest-80s-computer
This is my rough scratch repo where I keep experiments to do with desiging 80s computer peripherals. It is not in any sensible shape to be used by others yet, apologies.

/KiCAD/8-Bit%20CPU%2032k.kicad_pcb.jpg?size=s&soon)
It measures 245.1 × 160 mm and has 2 copper layers, 1.6 mm thick.
139 parts, built around the 74HC245D, 74HC161S, 74HC32D and 74HC157D. 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-64x4-Home-Computer repository on GitHub, at the commit this page was made from: the board is Revision 1.1/KiCAD8/8-Bit CPU 32k.kicad_pcb and its schematic Revision 1.1/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.