
6502 Chiplab Dev Board
Write and run programs for a real 6502!
This USB device lets you upload programs to run against the classic 6502 CPU, made famous by the NES, Apple ][, and Commodore PET.
Write programs from the comfort of a modern machine, then upload your programs via USB. Version:
Description
This system lets you save time, and gives you the most accurate environment for running 6502 based programs. Common use cases:
- Accelerate software development for 6502 based hardware projects.
- Research 6502 behavior for emulator projects. Nothing is more accurate than a real chip.
- Enjoy a cross-platform development for 6502 based software. Classic chips like the 6502 are simple yet powerful, making development a joy. Even in assembly language.
FAQ
What is included?
The 6502 chiplab board includes:
- (Optional) Onboard 6502 Chip (W65C02, a modern CMOS variant of the classic 6502 cpu). You can also buy this board without an included 6502, if you already have one or would like to install one yourself.
- Custom chiplab mainboard, featuring a microcontroller and a Micro USB interface for serial communication.
- The software to interact with this board is freely available on Github.
How do I use this?
The device connects to your computer over USB. Then you can use the serial_rom.py program, which I have open sourced, to upload your assembled program to the chip.
Typically it is simple as running:
./serial_rom.py /dev/ttyUSB0 my_program.bin
You can also manually interact with the chip. The controller board provides a serial console which can be used to simulate external events to the chip.
Can I try it out?
An online version of this board is provided as part of the Chiplab service I run.
Note that the online version is shared, so program execution is limited in order to ensure fair usage of the service. Programs are only allowed 100 cycles (or around 30 instructions), and are queued first-come-first-serve.
Purchasing your own board gives you dedicated access to your own chip, and you can run your programs for as long as you like. And without waiting in line.
6502 Compatibility
If you are planning on using your own 6502 with this board, you should confirm that it is compatible. I have tested using the W65C02 from Western Design Center. You can find it from Mouser here.
The board runs the 6502 at 3.3V. The expected pinout is as follows:
6502 Pinout (Left side)
Name | Number |
---|---|
VPB | 1 |
RDY | 2 |
PHI1O | 3 |
IRQB | 4 |
MLB | 5 |
NMIB | 6 |
SYNC | 7 |
VDD (3.3V) | 8 |
A0 | 9 |
A1 | 10 |
A2 | 11 |
A3 | 12 |
A4 | 13 |
A5 | 14 |
A6 | 15 |
A7 | 16 |
A8 | 17 |
A9 | 18 |
A10 | 19 |
A11 | 20 |
6502 Pinout (Right side)
Number | Name |
---|---|
40 | RESB |
39 | PHI2O |
38 | SOB |
37 | PHI2 |
36 | BE |
35 | NC |
34 | RWB |
33 | D0 |
32 | D1 |
31 | D2 |
30 | D3 |
29 | D4 |
28 | D5 |
27 | D6 |
26 | D7 |
25 | A15 |
24 | A14 |
23 | A13 |
22 | A12 |
21 | VSS (GND) |
Other questions?
If you have other questions, feel free to send me an email.