6502-DEV

A.C. Wright 6502
Development Environment Vehicle
Overview
The 6502-DEV (Development Environment Vehicle) is the emulation-based member of A.C. Wright's AC6502 family. Instead of a physical 65C02 chip, it runs cycle-accurate 65C02 emulation on a Teensy 4.1 microcontroller, paired with a second Teensy that emulates the video and sound chips. The result behaves exactly like the real hardware but adds developer luxuries: variable clock speed, single-stepping, SD-card loading, USB input, and a built-in web control panel.
History & Design
The DEV exists to make writing and debugging AC6502 software easy. The DEV Board's Teensy 4.1 emulates the CPU (via vrEmu6502) and handles storage, Ethernet and USB; the DEV Output Board's Teensy 4.0 emulates a TMS9918A video chip and a MOS 6581 SID, driven in real time over a high-speed serial link. Hardware buttons give run/stop, single-step, reset and clock-frequency control — turning an invisible CPU into something you can pause and inspect.
System Specifications
CPUEmulated 65C02 on Teensy 4.1 (vrEmu6502)
ClockVariable, single-step to multi-MHz
MemoryStandard AC6502 map (32KB RAM + ROM + banking)
VideoEmulated TMS9918A on 2.4" ILI9341 TFT
AudioEmulated MOS 6581 SID (3 voices, ADSR)
StorageSD card — ROMs, carts, programs, snapshots
NetworkEthernet + mDNS, web UI at 6502.local
InputUSB keyboard + Xbox 360/One controllers
SerialTerminal interface @ 115200 baud
ControlsRun/Stop, Step, Reset, Frequency buttons
At the machine
The DEV is the developer's workbench of the family — the only one whose CPU you can pause and single-step. Use the front-panel buttons to stop the processor mid-program and step through one instruction at a time, or spin the clock up and down to watch programs speed up and slow down.
The AC6502 Family
SystemRole
DEVEmulation-based development system (this machine)
ACEAll-in-one single-board computer
COBModular backplane desktop
KIMKeypad + LCD add-on that turns an ACE into a KIM-1
VCSCartridge-based game console
Because the DEV is cycle-accurate, software debugged here runs identically on the real-silicon ACE and COB.
Memory Map
RangeContents
$0000–$07FFZero page, stack, input & system variables
$0800–$7FFFProgram / BASIC RAM (30 KB)
$8000–$9FFFI/O hardware (emulated devices)
$A000–$B7FFKernal + jump table
$B800–$BFFFCharacter set ROM
$C000–$EDFFBASIC interpreter
$EE00–$FEFFMachine-code Monitor
$FF00–$FFF9Wozmon (mini monitor)
$FFFA–$FFFFCPU vectors (NMI, RESET, IRQ)
Did You Know?
There is no 6502 chip inside — a 600 MHz Teensy 4.1 pretends to be a 1 MHz 65C02, cycle for cycle.
A second Teensy emulates both the TMS9918A video chip and the 6581 SID sound chip at the same time.

6502-DEV

A.C. Wright 6502
Development Environment Vehicle
Getting Started
Power on and the emulated 65C02 boots into the shared BIOS BASIC with the OK prompt, shown on the TFT display. Type at the connected USB keyboard. Press ESC at boot for the machine-code Monitor; type X to return. If anything misbehaves, tap the Reset button on the front panel.
Front Panel Buttons
ButtonWhat It Does
Run/StopPause or resume the emulated CPU
StepExecute exactly one instruction (while stopped)
FrequencyCycle the CPU clock speed up/down
ResetRestart back to the BASIC prompt
Loading Programs
HowWhat Happens
DIRList programs on the SD card
LOAD "NAME"Load a program from SD
Web UIBrowse to 6502.local to load ROMs & snapshots
Fun To Try (No Disk Needed)
Slow-motion CPU — start a scrolling program (10 PRINT "DEV "; / 20 GOTO 10 / RUN), then press Run/Stop and tap Step to watch it advance one instruction at a time.
Make some noise — SOUND 1,440,50 plays a tone through the emulated SID. Set VOL 15 first.
Visit the web panel — on a phone or laptop on the same network, open 6502.local to control the machine from your browser.
BASIC Quick Reference
StatementPurpose
PRINTDisplay text or numbers
INPUT AAsk the user for a value
LET A=5Assign a variable (LET optional)
IF…THENMake a decision
FOR…NEXTCounting loop
GOTO / GOSUBJump to / call a line number
PEEK / POKERead / write a memory byte
SYS addrCall a machine-code routine
Monitor Commands
CommandAction
M aaaaMemory dump (hex + ASCII)
D aaaaDisassemble 65C02 code
> aaaa bb…Deposit bytes into memory
J aaaaCall code and come back on RTS
G aaaaGo — hands the machine over for good
RShow saved CPU registers
N valueConvert hex / decimal / binary
XExit Monitor back to BASIC
Pair the Monitor with the front-panel Step button to single-step through your own machine code.