
Keyboard
crankery/crank68
One day I thought to myself I want to build a computer with the simplest 8 bit CPU I can think of". That CPU is the Motorola M6800 and this is the computer.

One day I thought to myself I want to build a computer with the simplest 8 bit CPU I can think of". That CPU is the Motorola M6800 and this is the computer.
Memory is an open-source printed circuit board by crankery, from the crankery/crank68 repository on GitHub, published under the MIT licence. It is a 2-layer board of 100 × 100 mm with 19 parts on 85 nets, routed with 713 tracks and 59 vias.
It is built around the FM1608B-PG, 74LS00SC and 74LS04PC, with the 74LS139PC and FM1808B-PG among its other parts. Its parts include 7 capacitors, 7 ICs, 1 resistor and 1 connector.
One day I thought to myself I want to build a computer with the simplest 8 bit CPU I can think of". That CPU is the Motorola M6800 and this is the computer.
It's going to be pretty useless but it's fun to play around with all of this.
So, this isn't intended to be historically accurate or anything. It's a 1970s CPU but I'll use modern components where it makes things simpler. So, for whatever reason I thought it'd be nice to use things like the MC6850, MC6821 and other components that would have been available when the M6800 was being used in the industry. But really, I'm just trying to avoid using microcontrollers that would render the actual CPU hopelessly redundant.
One place I used a microcontroller is on the terminal board. It's just being used to produce DVI video and render text. Oh, it also does the keyboard matrix scan. It has its one job and that's to replace a glass terminal. So, since it's busy doing dumb terminal stuff it doesn't really matter that it's anacronistic... right?
The computer is split up across a bunch of 100x100mm boards. This is an attempt to reduce the cost of production as that's the maxiumum size the Chinese fabs will produce at bargain pricing. The one exception (thus far) is the actual keyboard; its dimensions are dictated by the keyboard layout.
I'm currently using some SPLDs as there were analogs of these back in the day. I am using them for decode logic for the most part but I'm trying to replace them with simple 74 series logic slowly.
As previously mentioned, the computer is built upon a set of cards. These cards are generally single function so there's a lot of them.
The backplane is a simple board with a bunch of slots on it. Each board will plug into this board. The boards are setup to be chained together. The slots are 13.5mm apart giving about 12mm of component height for each board. If a board grows taller than this or has multiple layers, it will block the next slot. This is tall enough to allow for most common components though.
The left side of each board is allowed to host connectors. This allows for connecting I/O devices to individual boards such as parallel ports, serial ports, video output or sound output.
Status: C68BP.01 sent to production
This board hosts the Motorola M6800 CPU and the MC6875 clock generator along with an oscillator running at 4MHz. This will result in a 1MHz system clock.
Status: C68CPU.01 sent to production
Lower 48KB of RAM (in FRAM), 8KB ROM (EEPROM)
Status: C68MEM.01 sent to production
1 MB of batery backed SRAM presented in two four KB windows in the main address space.
Status: Finalized design
AMD AM9511 FPU
Status: design in progress
This is a sound board. I'm still trying to decide which chip(s) to use. The YM2149 OPL2, Philips SAA1099, GI AY-3-8910 SGM
Status: spitballing
2xACIA MC6850, 2xPIA MC6821
Status: design completed
A DS12885 RTC and a MC6850 PTC.
Status: design completed
blinkenlights and switches and buttons.
Status: in progress
Using a Raspberry PI Pico with PicoDVI to generate the terminal's video and to perform keyboard scans. Uses an on-board MC6850 for communication to the host system.
Status: sent to production
The software for this project includes some old stuff and some new stuff. The old stuff is being "translated" into a VASM 6800 standard syntax while the new stuff is being written that way.
emu is a very basic M6800 emulator and is being used to verify software development. It isn't complete yet and will halt when it encounters an unimplemented instruction.
It is designed to match the actual computer's IO and memory access and will do the minimum to make things appear as they will in reality. So, the ACIA status and control registers set the flags appropriately while the actual rate of transfer isn't worried about.
Everything is being done using open source tools. This includes, but is not limited to:
| Qty | Value | Footprint | References |
|---|---|---|---|
| 7 | 100n | 0-Footprints:C_Disc_D5.0mm_W2.5mm_P5.00mm | C1, C2, C3, C4, C5, C6, C7 |
| 2 | FM1608 | 0-Footprints:DIP-28_W15.24mm_W7.62mm | U2, U3 |
| 1 | 10K | 0-Footprints:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_Horizontal | R2 |
| 1 | 28C64 | 0-Footprints:DIP-28_W15.24mm | U4 |
| 1 | 74LS00 | 0-Footprints:DIP-14_W7.62mm | U6 |
| 1 | 74LS04 | 0-Footprints:DIP-14_W7.62mm | U7 |
| 1 | 74LS139 | 0-Footprints:DIP-16_W7.62mm | U5 |
| 1 | Buss | 0-Footprints:Card | J1 |
| 1 | FM1808 | 0-Footprints:DIP-28_W15.24mm_W7.62mm | U1 |
| 1 | Logo | 0-Footprints:Crank | G1 |
| 1 | Logo | 0-Footprints:crankery_small | G2 |
| 1 | ROM_WE | 0-Footprints:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mm | JP1 |

crankery/crank68
One day I thought to myself I want to build a computer with the simplest 8 bit CPU I can think of". That CPU is the Motorola M6800 and this is the computer.

crankery/crank68
One day I thought to myself I want to build a computer with the simplest 8 bit CPU I can think of". That CPU is the Motorola M6800 and this is the computer.

crankery/crank68
One day I thought to myself I want to build a computer with the simplest 8 bit CPU I can think of". That CPU is the Motorola M6800 and this is the computer.

crankery/crank68
One day I thought to myself I want to build a computer with the simplest 8 bit CPU I can think of". That CPU is the Motorola M6800 and this is the computer.

crankery/crank68
One day I thought to myself I want to build a computer with the simplest 8 bit CPU I can think of". That CPU is the Motorola M6800 and this is the computer.

crankery/crank68
One day I thought to myself I want to build a computer with the simplest 8 bit CPU I can think of". That CPU is the Motorola M6800 and this is the computer.

crankery/crank68
One day I thought to myself I want to build a computer with the simplest 8 bit CPU I can think of". That CPU is the Motorola M6800 and this is the computer.

crankery/crank68
One day I thought to myself I want to build a computer with the simplest 8 bit CPU I can think of". That CPU is the Motorola M6800 and this is the computer.

crankery/crank68
One day I thought to myself I want to build a computer with the simplest 8 bit CPU I can think of". That CPU is the Motorola M6800 and this is the computer.

crankery/crank68
One day I thought to myself I want to build a computer with the simplest 8 bit CPU I can think of". That CPU is the Motorola M6800 and this is the computer.

crankery/crank68
One day I thought to myself I want to build a computer with the simplest 8 bit CPU I can think of". That CPU is the Motorola M6800 and this is the computer.

crankery/crank68
One day I thought to myself I want to build a computer with the simplest 8 bit CPU I can think of". That CPU is the Motorola M6800 and this is the computer.

sillyhatday/GAMEBOY-CPLD-FRAM-2MB
A CPLD implementation of the MBC5 mapper

sillyhatday/GAMEBOY-MBC5-DUAL-4_8MB
A working 8MB flash cart. You can also use this to to make a 4MB cart out of cheaper 2MB chips.

sillyhatday/GAMEBOY-MBC5-QUAD-8MB
8MB Gameboy cart using only 2MB flash chips

The-Invent0r/8-bit-Computer-PCB
These are the KiCAD files for my 8-Bit Computer.

btb/80ColumnCard
An Apple II 80-Column Card. Based on the Videx Videoterm


fabiodl/sf7000
Most of the work was done by Andrea Ottaviani https://github.com/aotta

It measures 100 × 100 mm and has 2 copper layers, 1.6 mm thick.
19 parts, built around the FM1608B-PG, 74LS00SC, 74LS04PC and 74LS139PC. 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 crankery/crank68 repository on GitHub, at the commit this page was made from: the board is Memory/Memory.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).