/6502-computer-mike42

A 65C02-based homebrew computer

Primary LanguageAssemblyOtherNOASSERTION

6502 computer

This repository contains the hardware and software for my home-built 65C02-based computer. At its heart, this computer is a 1980's design, and is approximately as powerful as the Apple II. It is powered over USB, and operated via a serial connection.

It features an SD card interface, simple audio interface, and two user-selectable ROMs. One ROM contains a port of EhBASIC, which is the only proprietary component in this repository. The other ROM contains a shell, written from scratch to be free and open source, which can be used to load machine-language programs from a modern PC.

Take a look at the hardware/ directory for how it's made, or rom/ for the firmware source code.

Basic specs

  • 1.8432 MHz 65C02 processor
  • 32 KiB RAM
  • 32 KiB ROM in two 16 KiB banks
  • 65C22 VIA (general purpose I/O) chip
  • 65C51N ACIA (UART) interface
  • Custom PCB and 3D printed case

Image of completed build

Completed project

Blog series

This project started out on breadboards, and I have been blogging about it as I have progressed the hardware, software, and my electronics knowlege. Posts I've written about this project include:

Licenses & acknowledgement

With the exception of the files noted below, this work is licensed under a Creative Commons Attribution 4.0 International License.

The design is an extension of Ben Eater's 6502 computer tutorial, which is itself based on the work of the 6502.org community.

6502 KiCad Library

The files hardware/kicad/65xx.dcm and hardware/kicad/65xx.lib are modified versions of the 6502 KiCad Library. Copyright 2018, Nicholas Parks Young. All Rights Reserved. The 6502 KiCad Library library is licensed under the GNU LGPL v2.1, which can be found in file licenses/LGPL.txt.

EhBASIC

The files in rom/basic/ are derived from EhBASIC, developed by Lee Davidson. The EhBASIC license allows for non-commerical use only. The most recent release and manual is hosted here, and a mirror of Lee's website can be found here.

EhBASIC is free but not copyright free. For non commercial use there is only one restriction, any derivative work should include, in any binary image distributed, the string "Derived from EhBASIC" and in any distribution that includes human readable files a file that includes the above string in a human readable form e.g. not as a comment in an HTML file.