I've had a complete Tandy 1000 TL/2 computer and Tandy CM-11 color CGA monitor that I found in a thrift store for $15 for about 10 or so years now.
There's nothing particularly wrong with it and it's a great retro system, but sadly the built in video output is Tandy CGA, and only a select few very
large and expensive to ship monitors will work correctly with the system out of the box. You'd think you could just install a new VGA card and be good
to go, but The Tandy 1000 system only has an 8 bit ISA bus, and the vast majority (if not all) VGA cards were designed for an 16 bit bus. There
are a select few 16 bit cards that are compatible with an 8 bit bus...
but they're few and far between, hard to find, and prohibitively expensive on the used market. My Tandy isn't the only system with this problem, all pre-vga
systems with 8 bit expansion busses have this problem.
Resultantly, a few people have stepped up and designed native 8 bit ISA cards that can be built or purchased
new and are compatible with these systems. After looking around for a while I found the ISA Super VGA
card designed by Sergey Kiselev. The cards are sold as bare boards and the end user is responsible for sourcing all of the components, including the Trident TVGA9000i VGA controller
which is out of production, but easy enough to salvage from an existing card for find new-old stock on eBay.
I ended up ordering two boards and two VGA controller chips, so I would have some extra, since they're surface mount and I have *ZERO* experience soldering large surface mount packages.
Ultimately what ended up helping me the most was watching both Louis Rossmann's and
Dave of EEVBLOG's excellent YouTube channels who both have videos demonstrating
how to solder these types of packages successfully. If there's any one thing I learned from all of this it's that you can never use to much flux.
"The bigger the glob, the better the job" --Louis Rossmann
Overall I don't think I did too bad a job for a first time without any practice. One of those nice microscopes would be cool to inspect your work, but in this
case I just used my phone camera :\
The next thing to tackle was flashing the EPROM. There are a lot of different types of ROM chips, ROMs, PROMS, EPROMS, and EEPROMS. Of course none of them
are compatible with the rest from what I can tell. If you have a circuit or IC that was designed to work with an EPROM, then you can't expect an EEPROM to be a drop in
replacement. This means the next components I need to source are some EPROMs and an EPROM programmer.
For the programmer I ended up going to eBay and buying something called the "Willem EPROM Programmer"
I got hardware version 6.0E LPT. It seemed popular and was compatible with the most devices. It has a parallel port,USB B port, and a DC jack on it.
You might be tricked into assuming that the USB port on it can be used for connecting it to a PC and flashing the ROM.
Don't Be. It's for power only.
If you're going to use this programmer to flash a chip you need to have a bi-directional parallel port on your system, or buy an add-in card. I ended up getting the add-in card.
Having never worked with an LPT port before on modern Windows (10) I figured I'd be in for a hassle, but once the card was in and the drivers installed, it showed right
up in Device Manager as LPT1 just like it should, so at least that was easy for now.
I fired up the CD that came with the Willem Programmer and found a few different versions of the software for different systems. The one for 64bit windows was clearly
labeled. The readme is less clear telling you only to install the TVciPort drivers, reboot, and to "Launch PCB6.0 LPT.exe and it should work." (Spoiler: It Didn't).
I fired up the software and set the LPT port to LPT1, selected my EPROM from the device list, set the jumpers, and then went to Help -> Test Hardware only to have it tell me
"Hardware Error: Check Power & Connection"
If you're here with the same problem hopefully this is the part of the story where I can save you a lot of time and googling. The LPT1 port is supposed to be
at address 0x378. If you have a parallel port built into you system, that's the address it will be at. However, some add-in cards don't use that address because they may
interfere with the LPT port that's already on the system. This is fine for printers but not for much else. If you go into Device Manager on Windows and open the properties page, you'll find the I/O range that the
card is using under the Resources tab. In my case it was DFF8-DFFF. There's no way to directly change which address the Willem EPROM software will use, but you can remap
it with a modified version of the TVciPort driver that it had you install earlier.
On the CD that I got there was a zip file in the 64bit software directory called "Remapped-IO.DLL-64-bit-using-TVicPort-Version-1.1.zip"
which has a modified .dll for the TVciPort driver which will read the I/O base address of your add-in LPT card and remap it to 0x378 so it will work with the Willem EPROM software.
Just extract the io.dll and io.ini files from the archive into the 64bit software directory and edit the io.ini file wit the first address from the memory range that was listed in
device manager for your LPT port. After that fire the EPROM software back up and try the hardware test. It should work.