Table of Contents
Prog65, A ROM-less 6502-based EPROM programmer, prototype board
The motivation for Prog65 is for new users to retrocomputers who are reluctant to investment $60 or more for a EPROM programmer. Prog65 is developed to program a selected few low-cost 5V programmable EPROM such as SST39SF0x0. It also serves as a simple 6502 single board computer. Discussion about Prog65 can be found here.
Revision 1 of Prog65 is here.
- ROM-less EPROM programmer requires no EPROM and no programmable logic
- Based on 6502 CPU
- Boot from FT245R, USB FIFO to program on-board EPROM
- Also serves as a simple single-board 6502 computer
- Through hole components, easy to build and debug
- Prototype area for experimentation
- 4“x4” 2-layer PC board
Theory of Operation
Prog65 has two modes of operation as determined by jumpers.
1. Programmer mode where Prog65 boots from an USB FIFO, FT245R, that can be purchased on eBay for about $12.
The user send the bootstrap program as binary file to USB FIFO via terminal program like TeraTerm in Windows. In programmer mode, the upper 32K of 6502's memory is mapped to FT245 and 6502 CPU's RDY input is tied to inverse of FT245's receive data full (#RXF) so 6502's program execution is suspended until next data from FT245 is received. FT245 is effectively feeding each instruction to 6502. This is a slow and tedious process because the FT245's instruction stream must provide every opcode for 6502 to execute and the opcode stream must account for 6502's reset behavior and how 6502 fetch and execute different instructions. Therefore It is advantageous to create an executable program in memory and jump into the said program. The bootstrap program creates a small loader in memory which then loads and runs an Intel Hex loader. Once the bootstrap program is loaded and running, it loads the EPROM-specific programming software and image file to be burned in EPROM and transfer control to the EPROM programming software to burn the EPROM.
2. Normal mode where Prog65 boots from EPROM and FT245 serves as console I/O.
Prog65boot is loaded first as binary file. It contains 3 small programs; the first program is executed by 6502 as it streams out of FT245 FIFO port and build a simple loader in RAM location; the 2nd program is the simple loader that reads up to 256 bytes of data coming out of FT245 and save it in memory and executes the 256-byte program; the third program is 256-byte Intel Hex loader that can load one or more programs in Intel Hex format and execute the selected program.
ProgMon is a simple 4-function monitor that can load Intel Hex files, modify memory contents, display memory, and run program.
ProgSST is EPROM programmer for SST39SF0x0.