A 65C02-based homebrew computer
OTHER License
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.
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:
With the exception of the files noted below, this work is © 2021 Michael Billington, and 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.
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
.
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.