Skip to content
View acwright's full-sized avatar

Highlights

  • Pro

Organizations

@infinitetoken @urbanfinch

Block or report acwright

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please donโ€™t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this userโ€™s behavior. Learn more about reporting abuse.

Report abuse
acwright/README.md

A.C. Wright

A.C. Wright

I build 8-bit computers, and I'm making a video series about programming them.

Software developer and maker in Lincoln, Nebraska. Most of what is here is the AC6502 project โ€” a family of homebrew 6502 machines, their firmware, their emulators, and the tools that go with them.

๐Ÿ“บ youtube.com/@acwrightdesign ย ยทย  ๐ŸŽฎ acwrightdesign.itch.io ย ยทย  โœ‰๏ธ acwrightdesign@gmail.com

6502 Assembly โ€” an upcoming video series

A course in 6502 assembly language, taught one machine at a time.

In production โ€” the first episode isn't out yet. The playlist is where episodes land as they go up, and everything being built for them is already public below.

It starts on a bare-bones single-board computer with eight LEDs and no display at all, where there is nothing sitting between you and the processor. Twenty episodes on the fundamentals โ€” registers, memory, addressing modes, the instruction set, interrupts, cycles and timing โ€” ending by building the game "Kill the Bit" on those eight LEDs.

From there I hope to climb through the machines that defined the 8-bit era: the Apple 1, the PET, the VIC-20, the Commodore 64, the Atari 800, the Apple II, the NES, the Atari 2600 and beyond. One new idea per machine.

You won't need any hardware to follow along โ€” everything runs in an emulator in your browser.

โ–ถ๏ธ Series 01 โ€” The AC6502 KIM The playlist, as episodes go up
๐Ÿ“‚ 6502-ASSEMBLY Scripts, slides, type-in cards and every example program
๐Ÿ•น๏ธ KIMULATOR Run the programs in your browser โ€” no install, no account
๐Ÿ“– 6502-DOCS The user's and programmer's guide for the AC6502 family

The Machines

Homebrew 6502 computers. All open source โ€” schematics, gerbers and firmware โ€” so build one if you want one.

6502-ACE All-in-one Computer Experience โ€” the whole family on a single board: 65C02, VGA video, SID audio, storage, serial, GPIO and a real-time clock
6502-KIM Keypad Input Monitor โ€” a 65C02, a 24-key pad, a 16ร—2 LCD and eight LEDs. Boots into a hex monitor. The machine series 01 is taught on
6502-DEV Development Environment Vehicle โ€” a Teensy 4.1 stands in for the CPU, with run/stop, single-step and a clock you can slow to a crawl
6502-COB Computer on a Backplane โ€” the modular desktop: card slots, up to 544KB of RAM, and a card for every peripheral
6502-VCS Video Computer System โ€” the console of the family: ROM cartridges, VGA out, SID sound and 2600-compatible joysticks
APL1 A homebrew Apple 1 replica โ€” 6502, 65C21 PIA and WozMon, with a microcontroller terminal adding PS/2 and serial

Firmware, Emulators & Tools

6502-BIOS The 32KB ROM every machine boots: the Kernal, the Monitor and BASIC. It probes the I/O slots, so missing cards are simply skipped
6502-EMULATOR The family, emulated โ€” cycle-accurate 65C02, TMS9918 video, SID audio. Browser or desktop
6502-KIMULATOR The KIM in particular โ€” pad, LCD and the eight LEDs on the bus. Browser or desktop
6502-PICOCALC The whole machine as one .uf2 for the ClockworkPi PicoCalc โ€” a handheld AC6502
6502-ASM Assembly programs beyond the ones in the series, each with a Makefile
6502-PRG / 6502-CRT Templates to start from โ€” a program that loads into RAM, or a cartridge that overlays ROM
bin2woz Binary โ†’ WozMon deposits, to paste into a machine over a serial terminal
cffs Build and edit CompactFlash images from the command line โ€” up to 256 disk banks
VT-AC A VT terminal that could have existed but didn't โ€” VT-100 compatible, with 256 colours and a graphics mode. Desktop, web and CLI
TMS9918-EDITOR Character and screen editor for the TMS9918 VDP

Elsewhere

Tools of the Trade

Pinned Loading

  1. 6502-ACE 6502-ACE Public

    6502-ACE 8-Bit Retro Computer Project

    C++ 11

  2. VT-AC VT-AC Public

    A fantasy VT terminal โ€” desktop app, web app, and CLI. VT-100/ANSI or its own protocol, over a serial port.

    TypeScript 3

  3. 6502-EMULATOR 6502-EMULATOR Public

    Emulator for the A.C. Wright 6502 project

    TypeScript 9

  4. TMS9918-EDITOR TMS9918-EDITOR Public

    Character & screen editor for the TMS9918 VDP

    TypeScript 2

  5. 6502-BIOS 6502-BIOS Public

    BIOS ROM for the A.C. Wright 6502 project

    Assembly 8

  6. APL1 APL1 Public

    A homebrew Apple 1 replica

    Vue 1