Skip to the content
PCBKitNew board
2 layers102.5 × 30 mmRom, the printed circuit board in 3D

Code for my 6502 build

Size
102.5 × 30 mm
Copper layers
2
Thickness
1.6 mm
Parts
4
Nets
40
Pads
72
Tracks, vias
103, 15
Pours
2
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
24 Nov 2019
Updated
19 Jul 2026

Overview

Rom is an open-source printed circuit board by atarola, from the atarola/compy6502 repository on GitHub. It is a 2-layer board of 102.5 × 30 mm with 4 parts on 40 nets, routed with 103 tracks and 15 vias.

Its parts include 2 capacitors, 1 IC and 1 connector. It belongs with the retro computing and games boards of this library.

README

README.md

compy6502

compy6502 is an early-stage 6502 homebrew computer project. The long-term goal is to build enough hardware and firmware to run Tetris on the machine.

The design follows the spirit of Ben Eater-style breadboard/modular 6502 systems for simplicity and debuggability, but uses a different memory map based on the MMU/address-decoder architecture in docs/mmu.png.

The repo currently includes KiCad hardware designs, early ROM bring-up firmware, build/write scripts, emulator test scaffolding, and architecture reference images in docs/.

Memory Map

The intended memory map is:

text
$0000-$BFFF  RAM
$C000-$C0FF  I/O page
$C100-$FFFF  ROM

The I/O page is split into four 64-byte device slots:

text
$C000-$C03F  IO0B
$C040-$C07F  IO1B
$C080-$C0BF  IO2B
$C0C0-$C0FF  IO3B

The linker script currently uses $8000-$FFFF as the 32 KB EEPROM image range so CPU addresses map directly to the correct physical offsets on the chip.

ROM Layout

The intended ROM organization is:

text
$C100-$C1FF  public jump table
$C200-$DFFF  kernel routines and drivers
$E000-$EFFF  enhanced monitor
$F500-$FFF9  Wozmon fallback monitor
$FFFA-$FFFF  CPU vectors

Credits

  • docs/mmu.png: Mike McLaren, K8LH.
  • docs/Beater 02b.png: Mike McLaren, K8LH.

Parts

4
QtyValueFootprintReferences
10.1uCapacitor_THT:C_Disc_D3.0mm_W1.6mm_P2.50mmC2
110uCapacitor_THT:CP_Radial_D5.0mm_P2.50mmC3
128C256Socket:DIP_Socket-28_W11.9mm_W12.7mm_W15.24mm_W17.78mm_W18.5mm_3M_228-1277-00-0602JU1
1Board ConnectorConnector_PinHeader_2.54mm:PinHeader_1x40_P2.54mm_HorizontalJ1

Questions

How big is the Rom PCB?

It measures 102.5 × 30 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Rom use?

4 parts. 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.

Where can I download the Rom KiCad files?

From the atarola/compy6502 repository on GitHub, at the commit this page was made from: the board is kicad/rom/rom.kicad_pcb and its schematic kicad/ACIA/ACIA.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Rom design in my own project?

Its repository states no licence, so its author keeps all rights: ask atarola before reusing the design.

More from atarola/compy6502

9
  • 2 layers190.5 × 105 mmBackplane, the printed circuit board in 3D

    Backplane

    atarola/compy6502

    Code for my 6502 build

    53 parts
  • 2 layers102.5 × 30 mmMmu, the printed circuit board in 3D

    Mmu

    atarola/compy6502

    Code for my 6502 build

    22 parts
  • 2 layers102.5 × 44.8 mmSpi, the printed circuit board in 3D

    Spi

    atarola/compy6502

    Code for my 6502 build

    20 parts
  • 2 layers105.4 × 30 mmPanel, the printed circuit board in 3D

    Panel

    atarola/compy6502

    Code for my 6502 build

    15 parts
  • 2 layers102.5 × 30 mmACIA, the printed circuit board in 3D

    ACIA

    atarola/compy6502

    Code for my 6502 build

    11 parts
  • 2 layers102.5 × 30 mmCpu, the printed circuit board in 3D

    Cpu

    atarola/compy6502

    Code for my 6502 build

    10 parts
  • 2 layers102.5 × 30 mmVia, the printed circuit board in 3D

    Via

    atarola/compy6502

    Code for my 6502 build

    8 parts
  • 2 layers49.5 × 30 mmDe9, the printed circuit board in 3D

    De9

    atarola/compy6502

    Code for my 6502 build

    7 parts
  • 2 layers102.5 × 30 mmRam, the printed circuit board in 3D

    Ram

    atarola/compy6502

    Code for my 6502 build

    5 parts

Similar boards

  • 2 layers18.5 × 26 mm24g2usb rp2350zero, the printed circuit board in 3D

    24g2usb rp2350zero

    joypad-ai/joypad-os

    Universal controller firmware for building adapters, dongles, and custom controllers.

    4 parts1.7kApache-2.0
  • 2 layers116 × 33 mm966595-1 and 963356-1, the printed circuit board in 3D

    966595-1 and 963356-1

    rusefi/rusefi

    rusefi - GPL internal combustion engine control unit

    4 parts1.2k
  • 2 layers19 × 18 mmDaughter board, the printed circuit board in 3D

    Daughter board

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    4 parts915
  • 2 layers24.8 × 24.8 mmNrf24 breakout, the printed circuit board in 3D

    Nrf24 breakout

    tardate/LittleArduinoProjects

    a collection of "Little Electronic & Arduino Projects", most involving electronics or an Arduino in one way or another!

    4 parts803MIT
  • 2 layers26 × 20 mmCap chain, the printed circuit board in 3D

    Cap chain

    drandyhaas/KiCadRoutingTools

    A set of Python/Rust tools to aid routing in KiCad

    4 parts744MIT
  • 2 layers34.7 × 20 mmXG Station Power MSI, the printed circuit board in 3D

    XG Station Power MSI

    osy/XG_Mobile_Station

    Open source eGPU dock for ROG Ally and ROG Flow

    4 parts712CC-BY-4.0
  • 2 layers20.3 × 24.5 mmJack power input, the printed circuit board in 3D

    Jack power input

    Luos-io/luos_engine

    Open-source and real-time orchestrator for cyber-physical-systems, to easily design, test and deploy embedded applications and digital twins.

    4 parts546MIT