Skip to content

atarola/compy6502

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

132 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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:

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

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

$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:

$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.

About

Code for my 6502 build

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors