
Programmer
derpflanz/castle-runner
This is my hobby project in making a 6502 based 8-bit computer from scratch. The end goal is to have it run Castle Runner, a game I made many moons ago.

This is my hobby project in making a 6502 based 8-bit computer from scratch. The end goal is to have it run Castle Runner, a game I made many moons ago.
CR2021 CPU v2 is an open-source printed circuit board by derpflanz, from the derpflanz/castle-runner repository on GitHub. It is a 2-layer board of 178.4 × 115.6 mm with 47 parts on 172 nets, routed with 1,050 tracks and 59 vias.
It is built around the ATMEGA328-PU, 74LS540PC and LM324, with the 74HCU04D, 74LS163APC and 74LS273PC among its other parts. Its parts include 8 ICs, 3 capacitors, 3 resistors, 2 connectors and 1 diode. It belongs with the AVR (ATmega, ATtiny) boards of this library.
This is my hobby project in making a 6502 based 8-bit computer from scratch. The end goal is to have it run Castle Runner, a game I made many moons ago.
Castle Runner is built from scratch, including the assembler (new version, written in C). I created my own assembly language dialect to assemble the machine language code. That ML can then be written to a EEPROM. For which I built my own EEPROM programmer.
By default, the RESET vector is set to $8000, which is the start of the ROM in the CR001 computer. The VirtualCR001 uses that as well by default. When programming the EEPROM, this vector is sent as the first two bytes and stored in $FFFC/$FFFD in the ROM.
Note that the assembler can have a DATA section at the start, which will cause to use another RESET vector to be written at the start of the .hex file.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 4 | 74LS273 | Package_DIP:DIP-20_W7.62mm | $4002, $4003, OUT1, OUT2 |
| 2 | 22pF | Capacitor_THT:CP_Radial_Tantal_D4.5mm_P2.50mm | C1, C2 |
| 2 | 7400 | Package_DIP:DIP-14_W7.62mm | U3, U4 |
| 2 | 74LS138 | Package_DIP:DIP-16_W7.62mm | IN_DEMUX1, OUT_DEMUX1 |
| 2 | 74LS540 | Package_DIP:DIP-20_W7.62mm | IN1, IN2 |
| 2 | LM324 | Package_DIP:DIP-14_W7.62mm | U1, U7 |
| 1 | !IO_Active | Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_Vertical | PIN2 |
| 1 | +5V | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | CONN6 |
| 1 | 100uF | Capacitor_THT:CP_Radial_D6.3mm_P2.50mm | C3 |
| 1 | 10M | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R_CLK1 |
| 1 | 10k | Potentiometer_THT:Potentiometer_Piher_PT-10-V10_Vertical | RPOT1 |
| 1 | 1k | Resistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P5.08mm_Horizontal | R1 |
| 1 | 22 | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R_CLK2 |
| 1 | 3.3k | Resistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P5.08mm_Horizontal | R3 |
| 1 | 32 kB RAM | Package_DIP:DIP-28_W15.24mm | RAM1 |
| 1 | 330 | Resistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P5.08mm_Horizontal | R2 |
| 1 | 74HCU04 | Package_DIP:DIP-14_W7.62mm | U2 |
| 1 | 74LS163 | Package_DIP:DIP-16_W7.62mm | U5 |
| 1 | ADDRBUS_16BIT | Connector_PinHeader_2.54mm:PinHeader_1x16_P2.54mm_Vertical | BUS2 |
| 1 | ADDRSEL_IN | Connector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_Vertical | CONN7 |
| 1 | ADDRSEL_OUT | Connector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_Vertical | CONN8 |
| 1 | ATmega328-P | Package_DIP:DIP-28_W7.62mm | U6 |
| 1 | Atmega328 Programmer Interface | Connector_IDC:IDC-Header_2x03_P2.54mm_Vertical | J3 |
| 1 | Conn_02x06_Odd_Even | Connector_PinHeader_2.54mm:PinHeader_2x06_P2.54mm_Vertical | J1 |
| 1 | Crystal 8MHz | Crystal:Crystal_HC18-U_Vertical | Y1 |
| 1 | DATABUS_8BIT | Connector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_Vertical | BUS1 |
| 1 | Display | Connector_PinHeader_2.54mm:PinHeader_1x16_P2.54mm_Vertical | CONN5 |
| 1 | EXT_CLK | Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_Vertical | PIN_CLK1 |
| 1 | IN1 | Connector_Dsub:DSUB-9_Male_Horizontal_P2.77x2.84mm_EdgePinOffset9.90mm_Housed_MountingHolesOffset11.32mm | CONN3 |
| 1 | IN2 | Connector_Dsub:DSUB-9_Male_Horizontal_P2.77x2.84mm_EdgePinOffset9.90mm_Housed_MountingHolesOffset11.32mm | CONN4 |
| 1 | IO_Active | LED_THT:LED_D3.0mm | D1 |
| 1 | OUT1 | Connector_Dsub:DSUB-9_Male_Horizontal_P2.77x2.84mm_EdgePinOffset9.90mm_Housed_MountingHolesOffset11.32mm | CONN1 |
| 1 | OUT2 | Connector_Dsub:DSUB-9_Male_Horizontal_P2.77x2.84mm_EdgePinOffset9.90mm_Housed_MountingHolesOffset11.32mm | CONN2 |
| 1 | R/!W | Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_Vertical | PIN1 |
| 1 | RESET | Button_Switch_THT:SW_Tactile_Straight_KSL0Axx1LFTR | SW1 |
| 1 | ROM ZIF Socket | Package_DIP:DIP-28_W15.24mm | ROM1 |
| 1 | Speaker | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | LS1 |
| 1 | W65C22NxP | Package_DIP:DIP-40_W15.24mm | U8 |
| 1 | WD65C02S | Package_DIP:DIP-40_W15.24mm | CPU1 |

derpflanz/castle-runner
This is my hobby project in making a 6502 based 8-bit computer from scratch. The end goal is to have it run Castle Runner, a game I made many moons ago.

oberrow/i8088-computer
Code for an i8088-based non-PC compatible breadboard computer


felipesanches/Itautec_I7000_KICAD
Esquemáticos do computador Itautec I-7000 G desenhados a partir de inspeção do circuito das PCBs

robertrico/dino-homebrew
A perfboard with the bus edge and the slot decode every DINO card repeats. Plug it into any of J1-J8 on the Rev 1.0 mainboard, pick the slot with one shunt, bodge the card on the grid.

lynchaj/duodyne
Duodyne is a hobbyist retrocomputer system designed to run ROMWBW. It is comprised of modules on a system bus

acwright/KEY2USB
Commodore 64 / C128 expansion port cartridge to USB HID keyboard


It measures 178.4 × 115.6 mm and has 2 copper layers, 1.6 mm thick.
47 parts, built around the ATMEGA328-PU, 74LS540PC, LM324 and 74HCU04D. 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 derpflanz/castle-runner repository on GitHub, at the commit this page was made from: the board is ComputerDesigns/CR2021_CPU_v2/CR2021_CPU_v2.kicad_pcb and its schematic ComputerDesigns/CR2021_CPU_v2/6522.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 derpflanz before reusing the design.