MediaWiki:Sitenotice:
2024-03-02: The wiki ran out of disk space, so things were not working. This has been resolved by adding another 5GB of quota ;-) Thanks to Tim Lindner for reporting the issues.
2020-05-17: If a page gives you an error about some revision not being found, just EDIT the page and the old page should appear in the editor. If it does, just SAVE that and the page should be restored. OS-9 Al (talk) 12:22, 17 May 2020 (CDT)
EPROM Programming: Difference between revisions
m (MagicFab moved page EPROM Programmer to EPROM Programming: Re-write) |
(Added some details about combining ROMs) |
||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
Programming (or "burning") your own ROMs for upgrade purposes requires specific software, hardware and of course ROM files to be succesful. | |||
This guide was tested and written for Ubuntu 22.04.1 LTS and Debian systems in mind. | |||
== Hardware & software == | |||
Many EPROM programmers are available and when the CoCo was still available for purchase several magazines published articles to even build your own. | |||
This guide uses the [http://www.autoelectric.cn/en/tl866_main.html USB XGecu programmer (model TL 866II PLUS)], commonly available at an affordable price. | |||
You will also need an EPROM eraser, consisting of a device emitting ultraviolet light to wipe out any data on an EPROM. | |||
== Installing the minipro command line utility == | |||
We'll be using the [https://gitlab.com/DavidGriffith/minipro/ minipro] command line utility to control this EPROM programmer. Follow the instructions to install it in Ubuntu. | |||
Once installed, you can verify it has the latest firmware : | |||
minipro -t | |||
You may get a warning about outdated firmware like '''Warning : firmware is out of date'''. It's recommended to upgrade the firmware then. Check the relevant section below. | |||
You will then need to decide which kind chip you're going to be flashing and find it in the list of supported ICs. | |||
In this example we'll be using an AM27128ADC EPROM. To find its reference, we search the output of the minipro command : | |||
$ minipro -L AM27128 | |||
Found TL866II+ 04.2.128 (0x280) | |||
AM27128A@DIP28 | |||
AM27128A@PLCC32 | |||
In this case our chip has 28 PIN so the first entry is the one we need to use. | |||
== "Dumping" an EPROM contents to a file == | |||
To DUMP the content of the above EPROM to a file : | |||
$ minipro -p "AM27128A@DIP28" -r romtest.bin | |||
Found TL866II+ 04.2.128 (0x280) | |||
Chip ID OK: 0x0189 | |||
Reading Code... 0.28Sec OK | |||
Then this file can be edited with a hexadecimal editor such as '''tweak'''. | |||
== Flashing a ROM file to an EPROM == | |||
=== Erasing an EPROM === | |||
Erasing an EPROM requires an EPROM eraser. This process can take a few minutes. You can dump an EPROM to a file and if such a file contains only "FF" values, it's been erased. | |||
== Writing to an empty EPROM == | |||
To flash the above EPROM with a file we can use the file we dumped before or we can use an original ROM file from the Coco 1/2, for example Extended Color Basic (ECB) 1.1. As its name indicates, ECB sits "on top" of Color BASIC, so their respective ROM files have to be combined into one. | |||
In this example we'd like to flash ECB 1.3 to the EPROM we have. For this we need to get the Color BASIC 1.3 ROM and the Extended Color BASIC 1.1 ROMs and combine them. Such ROMs can be obtained from [https://colorcomputerarchive.com/repo/ROMs/XRoar/CoCo/BASIC_OS/ the Color Computer Archive] or better yet, they can be [https://github.com/tomctomc/coco_roms compiled from TRS-80 Color Computer ROM source code]. Once you've obtained both ROMs here is an example of steps to burn the resulting ROM : | |||
$ cat extbas11.rom bas13.rom > ECB11_CB13.rom | |||
$ minipro -p AM27128A@DIP28 -w ECB11_CB13.rom | |||
Found TL866II+ 04.2.128 (0x280) | |||
VPP=13V, VDD=6.5V, VCC=5V, Pulse=200us | |||
Chip ID OK: 0x0189 | |||
Writing Code... 12.77Sec OK | |||
Reading Code... 0.28Sec OK | |||
=== Firmware upgrade for the TL866 plus === | |||
You will need to download the original Windows installer (.RAR file similar to xgproV9999_setup.rar) from [http://www.xgecu.com/ the XGecu website] (or [https://github.com/Kreeblah/XGecu_Software from this mirror]), extract it, and the extract the required file before flashing it. Version 11.90 worked in this example : | |||
mkdir XGECUsoftware && cd XGECUsoftware | |||
get https://github.com/Kreeblah/XGecu_Software/blob/master/Xgpro/11/xgproV1190_setup.rar | |||
unrar e xgproV1190_setup.rar | |||
unrar e XgproV1190_Setup.exe updateII.dat | |||
Once you have the updateII.dat file, use it to flash your EPROM programmer : | |||
magicfab@PC-ProDesk:~/Documents/Projets/XGECUsoftware$ minipro -F updateII.dat | |||
Found TL866II+ 04.2.125 (0x27d) | |||
Warning: Firmware is out of date. | |||
Expected 04.2.128 (0x280) | |||
Found 04.2.125 (0x27d) | |||
updateII.dat contains firmware version 4.2.131 (newer) | |||
Do you want to continue with firmware update? y/n:y | |||
Switching to bootloader... OK | |||
Erasing... OK | |||
Reflashing... 100% | |||
Resetting device... OK | |||
Reflash... OK | |||
== References == | |||
* [http://www.autoelectric.cn/en/tl866_main.html USB XGecu programmer (model TL 866II PLUS)] product page | |||
* [https://github.com/Kreeblah/XGecu_Software XGecu_Software] - A mirror of current and archival versions of software for XGecu's (formerly Autoelectric's) chip programmers | |||
* [https://www.ullright.org/ullWiki/show/eeprom-programmer TL866 Minipro EEPROM Programmer Ubuntu Linux] | |||
* [https://github.com/blurpy/minipro Using minipro in OpenSUSE] | |||
[[Category:Software]] | [[Category:Software]] |
Latest revision as of 04:54, 4 September 2022
Programming (or "burning") your own ROMs for upgrade purposes requires specific software, hardware and of course ROM files to be succesful.
This guide was tested and written for Ubuntu 22.04.1 LTS and Debian systems in mind.
Hardware & software
Many EPROM programmers are available and when the CoCo was still available for purchase several magazines published articles to even build your own.
This guide uses the USB XGecu programmer (model TL 866II PLUS), commonly available at an affordable price.
You will also need an EPROM eraser, consisting of a device emitting ultraviolet light to wipe out any data on an EPROM.
Installing the minipro command line utility
We'll be using the minipro command line utility to control this EPROM programmer. Follow the instructions to install it in Ubuntu.
Once installed, you can verify it has the latest firmware :
minipro -t
You may get a warning about outdated firmware like Warning : firmware is out of date. It's recommended to upgrade the firmware then. Check the relevant section below.
You will then need to decide which kind chip you're going to be flashing and find it in the list of supported ICs.
In this example we'll be using an AM27128ADC EPROM. To find its reference, we search the output of the minipro command :
$ minipro -L AM27128 Found TL866II+ 04.2.128 (0x280) AM27128A@DIP28 AM27128A@PLCC32
In this case our chip has 28 PIN so the first entry is the one we need to use.
"Dumping" an EPROM contents to a file
To DUMP the content of the above EPROM to a file :
$ minipro -p "AM27128A@DIP28" -r romtest.bin Found TL866II+ 04.2.128 (0x280) Chip ID OK: 0x0189 Reading Code... 0.28Sec OK
Then this file can be edited with a hexadecimal editor such as tweak.
Flashing a ROM file to an EPROM
Erasing an EPROM
Erasing an EPROM requires an EPROM eraser. This process can take a few minutes. You can dump an EPROM to a file and if such a file contains only "FF" values, it's been erased.
Writing to an empty EPROM
To flash the above EPROM with a file we can use the file we dumped before or we can use an original ROM file from the Coco 1/2, for example Extended Color Basic (ECB) 1.1. As its name indicates, ECB sits "on top" of Color BASIC, so their respective ROM files have to be combined into one.
In this example we'd like to flash ECB 1.3 to the EPROM we have. For this we need to get the Color BASIC 1.3 ROM and the Extended Color BASIC 1.1 ROMs and combine them. Such ROMs can be obtained from the Color Computer Archive or better yet, they can be compiled from TRS-80 Color Computer ROM source code. Once you've obtained both ROMs here is an example of steps to burn the resulting ROM :
$ cat extbas11.rom bas13.rom > ECB11_CB13.rom $ minipro -p AM27128A@DIP28 -w ECB11_CB13.rom Found TL866II+ 04.2.128 (0x280) VPP=13V, VDD=6.5V, VCC=5V, Pulse=200us Chip ID OK: 0x0189 Writing Code... 12.77Sec OK Reading Code... 0.28Sec OK
Firmware upgrade for the TL866 plus
You will need to download the original Windows installer (.RAR file similar to xgproV9999_setup.rar) from the XGecu website (or from this mirror), extract it, and the extract the required file before flashing it. Version 11.90 worked in this example :
mkdir XGECUsoftware && cd XGECUsoftware get https://github.com/Kreeblah/XGecu_Software/blob/master/Xgpro/11/xgproV1190_setup.rar unrar e xgproV1190_setup.rar unrar e XgproV1190_Setup.exe updateII.dat
Once you have the updateII.dat file, use it to flash your EPROM programmer :
magicfab@PC-ProDesk:~/Documents/Projets/XGECUsoftware$ minipro -F updateII.dat Found TL866II+ 04.2.125 (0x27d) Warning: Firmware is out of date. Expected 04.2.128 (0x280) Found 04.2.125 (0x27d) updateII.dat contains firmware version 4.2.131 (newer) Do you want to continue with firmware update? y/n:y Switching to bootloader... OK Erasing... OK Reflashing... 100% Resetting device... OK Reflash... OK
References
- USB XGecu programmer (model TL 866II PLUS) product page
- XGecu_Software - A mirror of current and archival versions of software for XGecu's (formerly Autoelectric's) chip programmers
- TL866 Minipro EEPROM Programmer Ubuntu Linux
- Using minipro in OpenSUSE