| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| builderpages:plasmo:6502:prog65:prog65r2:prog65r2home [2023/09/20 05:58] – Revision from 2023-09-20 | builderpages:plasmo:6502:prog65:prog65r2:prog65r2home [2026/06/15 13:04] (current) – external edit 127.0.0.1 |
|---|
| /* Imported from Wayback Machine | /* Imported from Wayback Machine |
| Original URL : https://www.retrobrewcomputers.org/doku.php?id=builderpages:plasmo:6502:prog65:prog65r2:prog65r2home | Original URL : https://retrobrewcomputers.org/doku.php?id=builderpages:plasmo:6502:prog65:prog65r2:prog65r2home |
| Snapshot date: 2023-09-20 | Snapshot date: 2025-02-12 |
| Generator : wayback-archiver | Generator : wayback-archiver |
| */ | */ |
| 1. Programmer mode where Prog65 boots from an USB FIFO, FT245R, that can be purchased on eBay for about $12. | 1. Programmer mode where Prog65 boots from an USB FIFO, FT245R, that can be purchased on eBay for about $12. |
| |
| [[https://www.retrobrewcomputers.org/lib/exe/fetch.php?tok=b38681&media=https%3A%2F%2Fwww.retrobrewcomputers.org%2Flib%2Fplugins%2Fckgedit%2Ffckeditor%2Fuserfiles%2Fimage%2Fbuilderpages%2Fplasmo%2F6502%2Fprog65%2Fprog65r2%2Fft245r_.jpg|{{https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/builderpages/plasmo/6502/prog65/prog65r2/ft245r_.jpg?200x107|www.retrobrewcomputers.org_lib_plugins_ckgedit_fckeditor_userfiles_image_builderpages_plasmo_6502_ft245r.jpg}}]] | [[https://www.retrobrewcomputers.org/lib/exe/fetch.php?tok=b38681&media=https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/builderpages/plasmo/6502/prog65/prog65r2/ft245r_.jpg|{{https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/builderpages/plasmo/6502/prog65/prog65r2/ft245r_.jpg?200x107|www.retrobrewcomputers.org_lib_plugins_ckgedit_fckeditor_userfiles_image_builderpages_plasmo_6502_ft245r.jpg}}]] |
| |
| 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 [[https://www.retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:plasmo:6502:prog65boot_initial_release.zip|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. | 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 [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:plasmo:6502:prog65boot_initial_release.zip|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. | 2. Normal mode where Prog65 boots from EPROM and FT245 serves as console I/O. |
| ===== Design Files ===== | ===== Design Files ===== |
| |
| [[https://www.retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:plasmo:6502:prog65:prog65r2:prog65_rev1_scm.pdf|Schematic]] | [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:plasmo:6502:prog65:prog65r2:prog65_rev1_scm.pdf|Schematic]] |
| |
| [[https://www.retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:plasmo:6502:prog65:prog65r2:prog65_r1_gerber.zip|Gerber photo plot]] files | [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:plasmo:6502:prog65:prog65r2:prog65_r1_gerber.zip|Gerber photo plot]] files |
| |
| [[builderpages:plasmo:6502:prog65:memmap|Memory map]] | [[builderpages:plasmo:6502:prog65:memmap|Memory map]] |
| [[builderpages:plasmo:6502:prog65:prog65r2:ec_at28c256|Engineering change]] is needed to program AT28C256 32Kx8 EEPROM | [[builderpages:plasmo:6502:prog65:prog65r2:ec_at28c256|Engineering change]] is needed to program AT28C256 32Kx8 EEPROM |
| |
| [[https://www.retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:plasmo:6502:prog65:prog65r2:prog65r1_bom.pdf|Bill of materials]] | [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:plasmo:6502:prog65:prog65r2:prog65r1_bom.pdf|Bill of materials]] |
| |
| ==== Software ==== | ==== Software ==== |
| |
| [[https://www.retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:plasmo:6502:prog65boot_initial_release.zip|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. | [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:plasmo:6502:prog65boot_initial_release.zip|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. |
| |
| [[https://www.retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:plasmo:6502:progmon_initial_release.zip|ProgMon]] is a simple 4-function monitor that can load Intel Hex files, modify memory contents, display memory, and run program. | [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:plasmo:6502:progmon_initial_release.zip|ProgMon]] is a simple 4-function monitor that can load Intel Hex files, modify memory contents, display memory, and run program. |
| |
| [[https://www.retrobrewcomputers.org/lib/exe/fetch.php?tok=c64a2f&media=https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/builderpages/plasmo/6502/prog65/prog65r2/prog65_monitor.jpg|{{https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/builderpages/plasmo/6502/prog65/prog65r2/prog65_monitor.jpg?300x213|www.retrobrewcomputers.org_lib_plugins_ckgedit_fckeditor_userfiles_image_builderpages_plasmo_6502_prog65_prog65r2_prog65_monitor.jpg}}]] | [[https://www.retrobrewcomputers.org/lib/exe/fetch.php?tok=c64a2f&media=https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/builderpages/plasmo/6502/prog65/prog65r2/prog65_monitor.jpg|{{https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/builderpages/plasmo/6502/prog65/prog65r2/prog65_monitor.jpg?300x213|www.retrobrewcomputers.org_lib_plugins_ckgedit_fckeditor_userfiles_image_builderpages_plasmo_6502_prog65_prog65r2_prog65_monitor.jpg}}]] |
| |
| [[https://www.retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:plasmo:6502:progsst_initial_release.zip|ProgSST]] is EPROM programmer for SST39SF0x0. | [[https://retrobrewcomputers.org/lib/exe/fetch.php?media=builderpages:plasmo:6502:progsst_initial_release.zip|ProgSST]] is EPROM programmer for SST39SF0x0. |
| | |
| | ===== Projects ===== |
| | |
| | ==== Prog65PLD ==== |
| | |
| | Prog65 is modified to use a 22V10 as decode for RAM, ROM and I/O. This project is incomplete and on hold. Modifications are documented here before they are lost. This the [[builderpages:plasmo:6502:prog65:prog65r2:prog65r2home:prog65pld|link]] to Prog65PLD modifications. |
| | |
| | [[https://retrobrewcomputers.org/lib/exe/fetch.php?tok=3f2748&media=https%3A%2F%2Fwww.retrobrewcomputers.org%2Flib%2Fplugins%2Fckgedit%2Ffckeditor%2Fuserfiles%2Fimage%2Fbuilderpages%2Fplasmo%2F6502%2Fprog65%2Fprog65r2%2Fprog65r2home%2Fdsc_77691204.jpg|{{https://www.retrobrewcomputers.org/lib/plugins/ckgedit/fckeditor/userfiles/image/builderpages/plasmo/6502/prog65/prog65r2/prog65r2home/dsc_77691204.jpg?300x276|www.retrobrewcomputers.org_lib_plugins_ckgedit_fckeditor_userfiles_image_builderpages_plasmo_6502_prog65_prog65r2_prog65r2home_dsc_77691204.jpg}}]] |
| |