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

From CoCopedia - The Tandy/Radio Shack Color Computer Wiki
Jump to navigation Jump to search
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:
I don't know how many versions were made, but mine runs off a single +5 volt supply. It does not use batteries to get the programming voltage, it uses a DC-to-DC voltage contverter to generate the +12V, +21V, or +25V programming voltage. By using a DC-to-DC converter, it allows it to work on all versions of the coco. This IS compatable with the CoCo3.
Programming (or "burning") your own ROMs for upgrade purposes requires specific software, hardware and of course ROM files to be succesful.


repair tip: I had my DC-to-DC converter go bad (I broke it, by overloading it, it was an accident), and I simply tested the 4 transistors and replaced the bad one(s). With the price of these small signal transistors, you're probably better off to just replace all of them.
This guide was tested and written for Ubuntu 22.04.1 LTS and Debian systems in mind.


I will try to get a picture of mine posted before too long. Someone contact me if I forget.
== 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