The Art of BASIC 10-Liner Challenges: Cosmic Aq (Mattel Aquarius)

Last year I attempted something I never had before — what is known as a PUR-80 BASIC 10-Liner programming challenge. The objective is to squeeze as much as you possibly can within 10 lines of code, with no line to exceed 80 characters. A challenge open for any platform but one that is especially inviting for the old 8-bit systems that had limited resources to begin with.

It came at a time when I had become increasingly intrigued by the oft-forgotten Mattel Aquarius computer of 1983. The factory system included a version of Microsoft BASIC but with quite a few severe limitations. It lacks even a simple CLS to clear the screen, instead relying on special character allocations to handle it in the ROM (e.g., ?CHR$(11) = CLS). Even worse, it restricted each line to a maximum of 72 characters, so even the PUR-80 category, which is the most minimalistic and restrictive of the 10-Liner challenges, was beyond its capability. Read Full Article

Can Cheap UV Phone Sanitizers Erase EPROMs?



One of the outputs from the pandemic has been a surge in cut-rate priced UV cleaners and sanitizers for phones and small devices. You can find them everywhere, often for under $10 new and $5 used. I do a lot of EPROM programming, especially with vintage chips, such as programming new ROMs for my recently restored TRS-80 Model I. To program ROMs requires that they first be erased, which is achieved using UV lighting that, in decades past, involved pricey specialized equipment.

While there are now plenty of dedicated EPROM erasers on the market, I have found the most popular budget ones run from $25 to $40 or more, with questionable build quality and effectiveness. The one I ordered online was made out of a crude plastic molding devoid of any UL certifications or safety precautions. It didn't even come with a drawer handle and had other defects. I found that the integrated light (a 4W F4T5 GL) was also faulty, due to poor solder connections that I had to manually remedy before it would erase chips at all. The timer was also entirely inaccurate and unpredictable.

That got me thinking. If these new devices operate using similar UV-C ultraviolet technology, will they be powerful enough to erase EPROMs as well? In short, yes. Well, some of them at least! I accumulated half a dozen or so devices all for under $8 each, both used and new. I even added in a toothbrush's UV cleaner for good measure. I then tried each of them out, and here were my general findings.

You'll want to find ones that have a minimum of a 10-minute power cycles, or that allow you manual control how long they run. Several of the cleaners I had would only run for five minutes at a crack, which was not intense enough to erase the chips I tried. Even with dedicated EPROM erasers, 10 minutes is a reasonable expectation of threshold of time needed for proper erasure of common chips.

For maximum reliability, you'll want to find cleaners that allow you to prop the UV window of the chip up as close as possible to the bulb itself. On the Phonesoap L500-1 that I got for $3 at a thrift store, the top half of the case allows direct contact with the bulb. So, you can turn it upside down and load a row of chips with their windows touching the bulb, close it up and it'll run automatically for 10 minutes, which I found fully erased every chip I tried. Since the device has two UV bulbs — one at the top and one at the bottom — you could in theory cut out the plastic floor and then double-stack the chips leg-to-leg for twice the capacity with the windows facing each bulb directly. But, I found that chips placed outside the direct vicinity of the bulbs in these cleaners, even half an inch away or so, did not get enough UV intensity to guarantee erasure after 10 minutes.

The PhoneSpa portable UV wand was another effective and cheap solution. This one does not have an automatic shutoff and is USB-rechargeable, so I was able to rest the wand on a row of EPROMS for 10 minutes or so and then manually shut it off, while confirming the chips had been erased. For stubborn chips, this device is convenient because you can run it as long as needed.

Avoid the cleaners that do not use full-length fluorescent-style tube bulbs. I found that the ones with small LED-sized lights do not have enough surface emission to cleanly erase chips, or require extreme precision placement to do so. And while many of these devices don't divulge the specifics of their lights they use on the packaging, you should try your best to find ones that assure it is UV-C with at least 3 watts of power.

As a final experiment I dug out an old Philips Sonicare HX6160 toothbrush sanitizer. This uses a 4W concentrated UV bulb meant for brush heads, and has a 10 minute timer. I found that this to be very effective for erasing chips as well, as long as the chips are placed with their windows directly facing the bulb tip itself. This gave me an idea for a 3D-printed adapter of sources that could mount several EPROMs on the base to always be aligned with the bulb, but I haven't had time to pursue that just yet.

In conclusion, I did find that many of the $5-10 UV cleaning stations can easily double as makeshift EPROM erasers at a fraction of the price. They also tend to be structurally higher quality, at least compared to the self-described EPROM eraser and budget I purchased for more money online.

Retro Fix: A Purgatory of TRS-80 Model 1 Repairs

 

As I've mentioned before, one of my favorite pastimes is vintage computing. I take particular interest in early connect-to-TV 8 bit microcomputers (including the short-lived Mattel Aquarius, for which I recently developed an extremely thorough, free modern online visual designer to assist fellow Aquarius artists and developers).

And while I'm mostly a software guy, the aging nature of these vintage electronics leads to inevitable hardware faults and necessary maintenance, therefore it is still vital to be skillful on the hardware side as well. I recently wrapped up the most strenuous restoration project to date — an original TRS-80 Model I computer from 1977 with all the bells and whistles from that era. I don't usually document or write about my repair projects or 8-bit endeavors since I do it purely for the fun of it and personal enjoyment, but this was such a long and convoluted journey of highs and lows that I figured I should write a blog while aspects of it are still fresh in my mind. There are a lot of resources for TRS-80 computers out there already, but perhaps my shared experience will be of value or help to others trying to diagnose their own sets. If you have any questions, please feel free to ask in the comments.

This guide is not meant to be a deep dive of my own repair efforts, but rather a general plan of attack to troubleshoot any TRS-80, with many principles carrying over to other platforms as well. My endeavor of troubleshooting lasted more than 7 months of on-and-off attempts to fix a huge mix of problems that I hope few others have to deal with to such exhaustion. If this guide can help even one person in the future save the struggles I faced myself, bravo!

A Quick Jog Down TRS-80 Memory Lane

In 1977, Tandy (via Radio Shack) released its first TRS-80 home computer. For an initial advertised cost of "$600 to $15,000 (Kits and Assembled)" this was one of the major players in the early microcomputer boom, with Commodore and Apple making up the trifecta. This was an all-inclusive PC/Keyboard combination that hooked to a modified RCA consumer television set and allowed simple data transfer via cassette audio. The guts of the system were powered by a Z80 processor clocked to 1.774 MHz, with 80 integrated circuits cooperating to bring the system to life.

=&0=&button will attempt another seek of floppy data.

If no expansion interface is connected (and I highly recommend beginning your TRS-80 troubleshooting adventure with nothing else connected except the core TRS-80 computer) there is still a chance something along the expansion interface bus is triggering this garbage screen behavior.

To override any phantom expansion interface (or an actual EI if one is connected and powered on), hold down the BREAK key and then power on the TRS-80. You may have to attempt this several times. If the problem resides somewhere within the expansion interface communication line, the garbage screen should flash off and get you to the original BASIC prompt. You can also try holding in BREAK and RESET when the garbage screen is already displayed, but I recommend doing the hard power cycle.

If this resolves the problem, then we know that the RAM, ROM, CPU and overall system is relatively healthy. It then becomes a quest to pinpoint precisely why it believes an EI is connected when one is not. Scrutiny should be placed in checking for any dry solder joints, bridges or other unusual characteristics of the board especially surrounding the expansion interface bus and components. This is all assuming that the CPU, RAM and ROM are good based on the previous checks. You'll want to parse through the technical guide and Sams schematics to understand the flow from CPU/Keyboard to Expansion Interface and the various ICs that get touched along the way

Character Corruption - Video RAM (2102) or Character Generator

If you overcome all previous defects based on the strategies above or your own discovery, you will hopefully arrive at the BASIC prompt and see that the system is able to at least minimally be interacted with. However, as I discovered in the evolution of my repairs, the characters were clearly corrupted on my screen. They were technically all being output correctly, but "Rs" showed as "Qs," "Ds" looked like lightning bolt glyphs, and so on. Only spaces and underscores were showing suitably.

This generally comes down to either a problematic flip/flop IC (Z28), character generator (Z29) and/or most often one or more VRAM chips (Z45-Z48, Z61-Z63). The character generator is an obscure chip these days and, short of rigging up a custom EPROM for it, is best to rule the other possibilities out before attempting replacement. If your system doesn't already have a lowercase mod, I would recommend adding one which will make for a better system and might resolve the character issue. If you buy from Ian he includes a fresh character generator with descenders. More on lowercase modifications, later.

The video RAM sockets are not socketed so to replace them you'll have to desolder, add sockets and then replace. [Some later runs of the TRS-80 did include a socket for Z45 as a convenience for Radio Shack technicians or users to add a lowercase mod.] But before you deal with any of that, read on.

The Sams manual includes a clever bit of BASIC that allows checking of each VRAM bit without needing to remove anything or use external tools. The code is below:

For your convenience, I've created a ZIP file containing both a .CAS and .WAV version of the same code. You can feed the .CAS file through Play CAS from a computer or laptop to the TRS-80 cassette interface by plugging the black (Audio INPUT) end of the TRS-80 cassette cable into your Headphone (or Front Audio Out) jack of PC. Or, you can play the WAV file from any audio source into the TRS-80. To load it on the TRS-80, assuming your keyboard is functional, type CLOAD at the Level II BASIC prompt and press ENTER. Then play the audio file. It should take about 11 seconds and when done you can type RUN and press enter.

The program will iterate through every byte of video RAM and when done with each will output an "@" character to the screen. If there are any errors along the way it will mention what bit(s) check bad. You can use that and a little math alongside the schematics to figure out which chips are defective. To quote from an 1980 Radio Shack technician (Marc Brumlik):
=&1=&

To add lower-case display, bit 6 must be implemented. This may be accomplished by switching the memory chip for bit 7 to bit 6, thereby enabling lower-case letters and eliminating graphics, or by addition of an 8th memory chip. We prefer adding the extra chip. In either case, if you plan to use Level II BASIC, you must include a switch to disable bit 6, or BASIC will place a lot of funny characters on the screen!
Although it was stated that a toggle switch should be added, that was mostly with respect to the very original character generator IC. Since lowercase kits and later models began shipping improved character generators and mappings, this concern quickly grew out of style. The odds of running into any clashes with a permanent lowercase mod is non-existent unless you do happen to have the original run Z29 IC. If you feel compelled to add a switch, it's also a trivial process as detailed in the Electric Pencil instructions.

Inside of the Custom TRS-80 book, the following code snippet is used to iterate through all 256 character values and POKE them to the screen. This is a way to verify whether your device has lowercase installed.

Here's the .CAS and .WAV. As you can see from the screenshot, when all 8 VRAM bits properly functional, you'll be able to output the lower characters from the ROM, otherwise the original all-caps set will be repeated.

Lowercase Driver

Even with the hardware mod complete, by default Level II BASIC and other variants of OS will not enable you to write lowercase without loading a driver of sorts. This was supplied within Radio Shack's conversion kit for both BASIC and disk systems. A copy of this driver can be found here:

Two different files are included in the ZIP file. The BASIC version can be loaded by entering SYSTEM <ENTER> U <ENTER> and then playing ULCBAS.CAS. In about 20 seconds it will finish and you can then press to reload BASIC but with lowercase capabilities. This will have to be done every time you want to work in vanilla Level II BASIC and utilize lowercase. To toggle the lowercase feature on-or-off, press SHIFT + 0. The other file, ULCDVR.CAS is for very old disk systems, but as most DOS platforms for TRS-80 include their own integrated lowercase driver, this is largely redundant.

Although not every application or game embraced lowercase, the difference in readability by those that did is substantial. This is especially true in text adventure games, such as Scott Adams' Adventureland (available from Ira Goldklang's TRS-80 website). In fact, Scott and other developers make selective use of CAPS within their content to add to the atmosphere and dynamics, in ways that users without the lowercase mod miss out on.

Differences in Character Generator ROMs

Throughout the TRS-80 lifecycle, a few official and numerous homebrew iterations of the character ROM were manufactured. The original (MCM6670) was not particularly meant for lowercase since by default no device supported it. All lettering on this original ROM aligned at the base, even lowercase letters that were meant to have descenders. This led to some strange screen display and also included an additional glitch that became known as the 'flying a' bug. Eventually the one shipped with kits and newer devices was MCM6673, which reworked the font to support one-row descenders and is the one you should pursue to remedy the early defects.

There is also a chip dubbed Gendon3 that permits three-line descenders, which Ian also sells on eBay but is more of a project to mod than the original Radio Shack / Electric Pencil style. You can see what that looks like in the screenshot to the right (credit to Ian), or read more about it on this thread from Ian on VCFed.

I have both the MCM6673 mod kit with great thanks to Ian, but also a custom EPROM (MSL2716K) on its own breadboard that was included in one of my part machines. I haven't done great analysis on the EPROM yet or if this was actually a distributed kit, but it sports a few different glyphs such as a ` in place of the Euro sign, and the two on the end. The typeface itself matches the 6673 including one line descenders.

For the most extensive rundown of "everything you need to know" about lowercase mods, past and present, please refer to page 25 of the TRS8Bit Newsletter, Volume II Issue 03, September 2017. In that article, Ian Mavric does an exhaustive rundown of these character generators (page 137 of the Year 2011 bulk PDF, and Part 2 on page 188 which delves into third party mods).

Level I and Level II BASIC ROM Versions

The original TRS-80 shipped with "Level I" BASIC, which was derived from Tiny BASIC and very limited compared to their soon licensed Microsoft BASIC, dubbed Level II. Level II itself saw several updates over the life of the Model I, which were later coined as v1.0, v1.1, v1.2 and v1.3. For a thorough study of the differences among them, I differ you to Matthew Reed's website:

Although Level III BASIC was technically a thing, it wasn't a ROM-based solution and not widely adapted. As such, the best Cassette BASIC ROM solution for Model I is v1.3.

Until the later era of Model Is, Level II was typically supplied as an upgrade that used a three-ROM daughter board attached to one of the two ROM slots on the mainboard. Eventually it was also made available as a two ROM set that could plug directly into the main PCB, alleviating the need for any ribbon cables and sub-boards.

Determining ROM Versions

By chance I happened upon a very compact snippet of code in the 1982 book "TRS-80 Assembly Language Made Simple" that does a few PEEKs to arrive at a number that can determine the version number.

Here's a .CAS and .WAV version of this snippet. This program will take a minute to RUN and will return a three digit number.

  • 176 = ROM Version 1.0
  • 142 = ROM Version 1.1
  • 10 = ROM Version 1.2
  • 162 = ROM Version 1.3

That aside, the most definitive resource for reviewing and comparing ROM sets would be Ian Goldklang's website. Although it is noted that TEST1A from TRSDOS can determine this if you have a fully functioning expansion interface, disk drive and TRSDOS disk, I find the alternative method of running a simple BASIC program to be faster and less error-prone. The code for this script, written by Dean Bear, is reprinted below along with CAS and WAV formats. It is faster than the snippet above and more comprehensive.

.CAS and .WAV versions, here.

From the various parts and pieces I acquired this past year, I had several different ROMs. After running the checksum code above, I determined I had both v1.0 and v1.2, as well as some unknown EPROMs in various states of decay, and the original Level I. To get the best of both worlds, Level I ROM can remain in one socket (Z35) and the daughter board with Level II can run from Z36. A switch can be added to toggle between Level I and Level II as explained on pages 112-114 of the Custom TRS book.

With that done, I still preferred to replace Level II v1.2 with v1.3 to embrace its advances in both cassette loading accuracy and keybounce prevention. Obtaining original ROMs of v1.3 is not an easy task, so the solution is to burn custom EPROMs.

Custom EPROMs for Upgrading to Level II v1.3

[Addendum: While my approach below is built around 1980s tech including the EPROM chips and ROM files, you will find a similar technique outlined by Matt Boytim, using the much more common 27256 EPROM, on Page 9 of the Dec. 2021 issue of TRS8Bit - "Replacing Model I ROMs with A Single 27256 EPROM"]

Throughout months of repair efforts, I'd been mentored by Larry Kraemer who contributed a lot of time and energy toward advancing my TRS-80 knowledge. Larry wrote excellent articles and solutions in TRS-80 newsletters from the earliest days of the Model I onward, and remains actively supportive to this day. You can find Larry on the VCFed forums and he kindly offers a wealth of wisdom about the TRS-80 line of machines.

One article that Larry wrote in the early days and republished with amendments in TRS8Bit Volume 08 Issue 01 (March 2014) was: Radio Shack Level II ROM UPGRADE to Version 1.3 (starting on Page 13).

The gist of the solution is to use three TMS-2532 EPROMs to burn copies of the v1.3 ROM (three 4K raw binary files). Those EPROMs have a near identical pin-out to the original ROMs, with the exception of pin 21. That pin does not get inserted into the sockets but rather connect to a pull-up resistor, to run them high, mimicking the behavior of the original ROMs.

Since this chipset requires 25V, attempting to burn it on modern lightweight (USB-powered) programmers like the TL866 II is not practical, nor do most modern programmers provide native compatibility with these 1970s-80s EPROMs.

Instead, I opted to use the BP Microsystems EPROM Programmer EP-1 from the 1980s. This is a ROM-based programmer that is entirely self-contained and can be utilized through any terminal-type software (RS232 serial interface) or its dedicated DOS software. A great guide on using it can be found on Paul Carbone's website, including links to the manual, latest software/firmware and a list of supported chips.

The firmware in mine was initially version 2.00 (1986) but they continued pushing out updates through the early 1990s with 3.20 to support an increasing list of programmable ROMS. I had some spare 27256 chips and was able to program the 3.20 ROM to it, then installing it into the device for a successful upgrade. There are a couple different versions of its DOS program, the latest of which works best on 286-486 MS DOS machines whereas the former was designed for PCDOS on XT machines. The EPROM software ran well on my IBM 5160, but the latest iteration to match version 3.20 had to be operated from my 286. If you are using a Serial-to-USB adapter on a modern machine, your success may vary depending on a lot of circumstances. I stuck with original era-accurate hardware to do the burning.

It is not difficult and requires only a few commands, a list of all the noteworthy ones I generally use include:

  • EP 1 or EP 2 to launch the EP software, where # is the port number (1 or 2)
  • TEST to walk through a detailed hardware test of the device which includes each individual pin check (requires multimeter, worth running once to verify the hardware is within spec)
  • C to list and select the manufacturer and chip
  • RB (Binary) or RH (Hex) or RI (Intel Hex) or RM (Motorola Hex) or RT (Tektronix Hex) to read the ROM data to a file
  • BLANK to verify that the EPROM is blanked out (all 255s) and ready to be programming
  •  (Hex) or (Binary) to program the chip from a local file
  • VB to verify the chip contents by comparing to a binary file
  • SU to read and calculate the checksum for verification purposes
  • to review the EP-1 status including firmware version and chipset configuration
  • Q to quit the application

With all of this in order, the TRS-80 was successfully booting to the new V1.3 ROM. The tell-tale sign that you are using V1.3 and not an earlier ROM iteration is that the initial prompt was changed to say "MEM SIZE?" instead of "MEMORY SIZE?."

Jittery or Unstable Video... Check Video Mixing Section (Caps & Resistors)

When I completed the majority of repairs to the point where I had a usable TRS-80, I still found that the display was wobbly, jittery and somewhat disorientating. My immediate reaction was that it could be the monitor itself. But I realized even when hooking to a composite setup the signal was just not steady, it appeared there was a lot of interference coming through the line. It's at this point you'd generally want to hook up an oscilloscope and analyze the actual video output signal to compare with what the technical references show. But at a minimum we should test the capacitors and resistors that are part of the Video Mixing circuitry. Since all other aspects are functioning fine including the character generation, horizontal and vertical mixing and sync generation, it seems to be something interfering after that point and before the signal gets fed out to the monitor.

The Video Mixing section of the TRS-80 is explained well in the Radio Shack TRS-80 Technical Reference Handbook (2nd Ed.) on page 42-43. After ruling out transistors Q1 and Q2 (via substitution and testing), I recognized that when I removed ceramic capacitor C20 the video cleared up well but then we obviously lost the horizontal position. The manual notes: "Capacitors C7 and C2, together with R30, form a filter network for Q1 's collector." I checked the values of these and ultimately replaced C2 and C7 since I had an abundance of capacitors on hand. In that same pathway, I replaced a variety of the resistors that seemed to had drifted out of spec including R27-R30 and R22-R23. Since a lot of this also flowed through Z41 (75452) and I had some extras of that chip I swapped that as well.

These replacements, especially the resistors, helped bring the video back to perfect stability so there is no longer wobbling or drifting while in use. When I still had the board open, I took this opportunity to replace the rest of the electrolytics and a couple film capacitors since the majority of them are common and this helps future-proof those from drifting too far out of spec.

Triple Check IC Orientation, Work Environment and Cable Connections — A Word of Caution!

A lot can go wrong due to even slight carelessness when working on these systems. It happened more than a few times as I worked through the repair. A few really bad incidents and lessons learned included:

  • When you accidentally insert an IC the wrong way... Sometimes when it's 4 a.m. and you're in a dim-lit space adding sockets and replacing chips, it can be easy to overlook the correct orientation for ICs. All ICs have an identifier for pin 1, usually with a cut-out at the top of that side or a dot/bump/marking where pin 1 resides. The PCB board also has a groove cut out to indicate where the top of the IC aligns. If you mess this up, a lot can get damaged depending on what chip you made the mistake on. In one occurrence by myself, I accidentally replaced one of the voltage regulators upside down and tried powering it up. This sent voltages to all the wrong pins and then to further areas of the board. In an instant the majority of 4116 DRAM had been fried and red hot to the touch. Even after remedying it, the process of retesting and verifying all components can be a real daunting prospect considering how many ICs and circuits cross paths.
  • When you accidentally insert the power supply plug into the wrong socket... We already touched upon this issue earlier and I imagine this was a common occurrence in the 70s-80s given the identical cables and ports for power, video and cassette. The important takeaway is to not plug the live power cord into either the video or cassette ports, and ideally don't even plug anything into the wall until you have verified that each connection goes where it should. This mistake can result in stray voltage going everywhere that they shouldn't. The video port oopsie can lead to a surge and then no power/voltage, in which odds are the Zener Diode CR1 and/or regulator Z1 (possibly Z2) need to be replaced. Start with CR1. If you do the same with the cassette port, it can cause damage to parts along the cassette path. If this happens and suddenly the cassette line no longer kicks on or reads/writes, first try substituting the Z80 CPU and if that fails then check CR3, CR6, CR9, CR10, Z59, Z41, K1 relay...
  • When you don't have a clean workbench and have metal tools laying all over it... Some people have massive wall-sized workbenches, others opt to do all their work from a cramped TV tray or computer desk 😉. Along with my recommendation of buying an anti-static work mat to avoid accidental discharge into the chips, it is essential to keep the surroundings clear from any potentially conductive material. Again speaking from personal mistakes, there'd be times I was working at this and suddenly see smoke, hear a pop, or everything just fails. At one point this happened when I was messing with the big power transformer Q4. In that instance and several others, I lifted the board up from the table only to discover a small screwdriver, wire cutters or pry tool had gotten under there and was making contact with numerous points, creating connections to components that never should be. If this happens you'll have to spend time tracing any potential problems yet again. At one point I had a bridge rectifier go out that I attribute to inadvertently shorting some connection points.

Centering the Video Output and Final Checks

Alas, we've reached the point where the entire TRS-80 Model I is back to peak form (right? right?!) and the final remaining thing to do is to fully center the video and do a last check of voltage before putting it back together.

First, check and adjust the voltages once more as described in the "Voltage Checks: Internal Voltage" section early on in this article. There is quite a range of tolerance so anything from 11.4V to 12.6V in the 12V line and 4.75v TO 5.25v in the +/- 5V lines are acceptable. The OCD side of me still prefers to get each value right on the mark at 12.0V and 5.0V. Now is also a good time to do the touch test on all ICs in the device to make sure none of them are running red hot, although some of the power transistors (especially the heatsinked ones like Q4) will, by design, run very warm. In my final phases of testing, I found that Q3 (2N3904 power transistor) was getting finger-burning hot within three seconds of power on, while Q4 was not warming much. It was eventually found that Q3 was faulty, and replacing it let the heat distribute suitably to Q4. If you have a thermal camera you can check for hot spots that way, but that's not necessary.

To center the video correctly, we need to do it from the TRS-80 side of things first and then worry about external displays afterward. We can run a simple BASIC program that SETS points across the extreme boundaries of the display memory as well as a center point, and go from there. Below is a corrected code snippet from the one included in Radio Shack's technical guide. You'll find similar code in the Sams manual.

As always, here's the .CAS and .WAV for your convenience.

Rather than attempting to adjust it using the original monitor that itself may be misaligned, I recommend connecting it to a reputable modern set using a composite cable like the ones I constructed earlier. The benefit of using an LCD screen (or better yet, a capture card tuner) is that there is no overscan, and 4:3 content is cleanly displayed in the center. In my case, I connected it to a very old but still trustworthy Hauppauge capture card so that I could clearly distinguish where the bounds of the 4:3 are and how to perfectly center it. Adjust the horizontal (R20) and vertical (R21) centering as needed using the variable resistors. After it is set, you can then reconnect it to the original monitor and use the monitor's own vertical and horizontal adjustments on the back to center it there as well. You're now assured to have stellar alignment on both the TRS-80 and the monitor, which is very helpful!

Time to put a bow on it!

Expansion Interface: Things You Should Know

This guide was predominantly made to discuss the TRS-80 Model I computer itself as an extensive repair guide. However, I also embarked on an often similar troubleshooting effort for an expansion interface. Underneath the casing they share many similarities, including their own banks of RAM, controllers, matched capacitors and so forth. If you follow the basic principals above and review the schematics and guides specific to the EI, you should be fairly well-suited to repair any problems.

Rather than rehashing the usual, I want to just touch briefly on a few points:

  • Read the Operator's Manual: Sometimes just reading the basic owner's manual for any of these devices can go a long way to understanding their expected behavior and operations, more-so than the technical references. Here's a great copy of the EI's manual that consumers were given, and it makes a light read while familiarizing you with all of its inputs and outputs. When I first ventured down this repair path and acquired an EI, I knew nothing about it so found this guide was enough to make me feel comfortable with how it should operate. Without reading it over, a person might think the TRS-80 itself has a defect if they turn it on while hooked to the EI and only see a garbage screen —  but we learn that it does this always if there is no bootable drive media, and that holding down BREAK on boot (or BREAK + RESET) can put us back to BASIC.
  • RAM Banks for 16K or 32K: The expansion interface supports an additional 32KB of RAM, bringing the total to 48K assuming you've maxed out the TRS-80 at 16K. If you are only installing 16K into the machine, you should install it to banks Z9 to Z16 instead of Z1-Z8 (which is the high memory allocation for the subsequent 16K). This felt backwards and led to a lot of time troubleshooting why I was not seeing any of the extra RAM when I had 16K in Z1-Z8. As with the TRS-80, you'll want to check all ICs to ensure nothing is getting scorched hot as well as test all RAM. To determine whether the EI is working correctly with expanded RAM, power up the TRS-80 while holding BREAK while connected to the powered on EI. Press ENTER on the "MEM SIZE?" prompt and then type: ?MEM and press ENTER. If  you see around 15570 that means it is only seeing your internal 16K. Anything above that means it has added the RAM from the EI (e.g., 48338 if it is maxed out to 48K).
  • Expansion Interface Connector Cable: The early models of the EI had major interference problems between the computer and the EI. So bad that there was an official "buffered cable" recommended to prevent random failures and glitches. The revised EI board resolved this solution and they recommended using a standard 40-pin cabling (6 inches or so in length) instead. There were also apparently issues with the edge connectors of these units corroding and causing malfunctions. In my repair efforts, standard 40-pin male straight headers are soldered onto both EI edge connectors (keyboard and EI). This allows for a standard IDE hard drive cable to connect. What caused me a major headache was that the cable I was using was three feet in length. Everything seemed to work okay at first glance. But when I'd boot into Level II BASIC and specify any explicit MEM SIZE especially over 30,000, it'd generally fail and corrupt the screen even though those bytes should be perfectly reservable with extra RAM. I spent way too long repairing all the sockets and solder points, testing and retesting RAM, swapping other components. Ultimately only to discover that the cable was simply too long for reliable connections. I now use the shorter end of that same cable, approximately one foot in length, and have no trouble at all. I will be replacing the cable with a more compact and stylish IDE cable in the future. A similarly difficult to detect problem occurred when I was trying to use a different interface cable that came with the set. Under very close examination I discovered several of the 40 wires had broken near the connector points so any task that required transmission on those pins would fail.
  • Power Supply: The original setup for EIs required that you stick two full TRS-80 power supplies into the unit's case. One connected internally to the EI board, and the other ran out the back along with both electrical plugs. Make sure voltage is checked across the pins if using these old supplies to ensure nothing is impaired. I would recommend investing in a heavy duty modern power supply that can power both the TRS-80 and EI from a single outlet and is much more refined.

Before attempting any floppy drive hook-up or advanced configuration, you should focus on getting the TRS-80 perfected as well as the EI with maxed out RAM. Now would be a good time to re-test Level II ROM cassette loading and that all RAM is accounted for. With 48K total, you should be able to enter 60000 for "MEM SIZE?" and have BASIC load successfully, then see around 42801 available for BASIC when you type ?MEM. (The decimal value specified for "MEM SIZE?" actually refers to which memory location should be the final byte reserved for BASIC, with the rest being preserved for machine language routines or what not.

Floppy Drives

Originally, the TRS-80 Model I supported only single density (35 track) drives/disks though a floppy controller chip (FD1771) in the EI. These disks provided enough storage for up to around 85KB of content. Eventually double density controllers and adapters were manufactured to open the doors for double density 40-track disks with expanded storage capacity. Swapping floppy controllers was a simple effort, since they were already socketed. One popular adapter was Percom's Doubler II. This fit right into the original floppy controller socket, and within it you'd install the original FD1771 alongside a second controller it included. Over time, more disk  drive manufacturers produced compatible double density hardware, and flavors of DOS started natively offering support.

The old 5.25" floppy drives ("mini disks" compared to the original 8" mammoths) are rather sophisticated internally and require their own schematics and service manuals to help troubleshoot. The good news is most drives from the era were relatively similar in operation and maintenance.

Before touching on some key takeaways to look out for when dealing with floppy drives, I again stress that you should do a full visual inspection of the drives inside and out before powering them up or attempting to read disks. One of my disk drives appeared cosmetically fine on the outside, but internally had very old paper-plastic electrolytics for the power supply run and two of them had exploded and were highly unstable.

A few important items to note:

  • Head Cleaning and Rails: Over time the sensitive data-reading heads can collect even tiny specks of dirt that can hinder its ability to read floppy disks. Likewise, the rails that the head assembly traverse on can seize up as the original polish and lubricant dries up. You can find many tutorials online about floppy drive maintenance. Sometimes to get at the heads requires disassembly or removal of the top PCB. I usually gently brush against the heads with a non-lint foam brush containing either IA 91% or dedicated floppy contact cleaner such as from old stock Sony cleaning kits. In the glory days of floppies you could also find head-cleaning disks similar to VCR tape cleaners, but those have gotten fairly rare these days. If you have a long enough cleaning pad it is sometimes possible to clean the heads by going through the door opening without any more disassembly needed. I want to emphasize that great care should be taken especially lifting the upper head, if you lift slightly too much you can snap the arm off or destroy the alignment. For the rails, any sort of lubricant is sufficient and I've seen people use everything from dry lube to 3-in-1 oil; first clean them with IA 91% and then gently rub a tiny brushing of lubricant onto them. I'd avoid any lubricant that may bunch up as the assembly slides back and forth. Depending on the drive, sometimes you can manually slide the head back and forward to finish cleaning the rails, but do so with caution.
  • Door Latch Failure: Certain popular models of Radio Shack floppy drives, notably the Tandon series, used short nylon pegs as part of the door lock mechanism. These break easily and then the door will not stay down. Once again I owe much gratitude to Larry Kraemer who supplied me with replacement rods, inset components and instructions to repair the broken drive I had in a much more permeant and robust solution. I'm not sure if any of these parts or instructions are distributed at large, but please reach out if interested in learning more,
  • Terminating Resistors: In the TRS-80 days of computing, floppy drive cables could easily extend 10 feet with five branch-off points (one for the EI and four more to power up to four disk drives). For technical reasons it became necessary to terminate the last drive on the line using a specialized resistor pack that'd connect to the floppy's PCB. It is a pretty complex topic but a video from Adrian's Digital Basement helps explain it quite well. Radio Shack's original "Drive 0" mini disk drive (26-1160) came with the terminating resistor added as well as the floppy cable. They then sold an essentially identical drive as part number 26-1161 for use as drive 1-3. The only actual difference was that the subsequent drives did not include the cable or terminating resistor. For all practical purposes on two drive connections with relatively short cables, whether you have a terminating resistor in one or the other won't generally make a difference. All that matters is that you test both drives successfully and if something isn't working right, double-check for one terminating resistor.
  • Drive Select: When dealing with multiple disk drives, determining the order of them used to be a somewhat convoluted process. Radio Shack's floppy cables for the expansion interface came with certain pins removed and users were advised to plug the drives in sequentially beginning from the expansion interface to drive 0-3. The pin removal was a clever way to automate the drive select allocations without having to fuss with on-board drivers or manually reconfigure drives when adding or removing any.
  • Shunt Configurations: Another complicated feature related to drive selection of ancient floppy drives involved adjusting a shunt depending on whether you were using a single disk drive or multiple drives, what order you wanted them in, and other behavior. Most floppy manuals I've come across don't to a very good job explaining the various jumper settings and uses, but I found an excellent summary on pages 2-14 to 2-16 of the Siemens PU 670C manual. The pinout and items closely match what can be found on most TRS-80 floppy drives. The important part is that since the TRS-80 handles drive selection based on the selectively removed ribbon cable pins, DS0 through DS3 pins on all attached floppy drives should be enabled (shunted). The MX jumper should be cut/open, HS should be open and HM should be shunted.

All Hooked Up, But No Media!

Finally, everything is connected and running beautifully. And to think it only took me more than half a year a short stint of troubleshooting and repairs to reach this point! I'm finally ready to dive into the monochromatic goodness of TRS-80 and discover the thousands of programs for it. But I don't have any boot disks. And limited media even on cassette. Here are some options:

Cassette Transfers via PC/Laptop with Play CAS

There are some excellent TRS-80 tools out there from passionate developers. One such tool is known as Play CAS. It allows you to open up any .CAS (virtual cassette) file for TRS-80 and easily play it through your soundcard, which can be connected to the cassette interface cable's black "Audio INPUT / headphone" line. Then on the TRS-80 you can load into Level II BASIC and either type CLOAD <ENTER> if the cassette is BASIC, or SYSTEM <ENTER> [?] <ENTER> (where [?] is the first letter of the program's title, viewable from Play CAS). As long as your audio output settings are correct on the PC and volume at a decent level, you can then press play on your computer and the audio will begin transmission. On the TRS-80 you should see two asterisks in the top-right corner, one will be flashing. Once it has completed, you can type RUN <ENTER> (if the cassette was BASIC) or / <ENTER> (if the cassette was machine language) to launch it. Note that it can take more than four minutes to transfer data via cassette at around 500 baud.

Play CAS also allows you to save out any .CAS file to a .WAV, which you can then play through any ordinary audio player or transfer to your phone to act as a mobile cassette deck. Be careful playing the files through any software that has equalizer effects and enhancements enabled. On my main computer with a Sound Blaster A7 card, I switch the output to "Headphones" and "Raw" to ensure no filter effects get applied before playing the audio in a media player or utility like Audacity.

Relatedly, the TRS80-Tool utility allows you to convert one format to another, so you can convert .CMD disk software to .CAS or .WAV to sent to the Model I without requiring a floppy at all (e.g., "trs80-tool convert game.cmd game.cas" then play that through Play CAS).

Creating Bootable DOS Disks with a Cassette Bootstrapper

Now for the real exciting stuff. How do we go about making fresh 5.25" floppy disks usable on our TRS-80 disk drives? Without them our entire disk drive setup and EI is somewhat irrelevant.

I have a Model III but it is diskless with a M3SE interface, so I can't exactly make floppies from that. Plus my initial aim is to create single sided 35-sector versions of the popular DOS variants, so there might be conflict attempting that from a Model III anyway (I never tried).

One approach requires a chain of tools and blind luck that you have a supported 360K 5.25" ready computer for disk transfers. This process was illustrated well back in 2018 from Adrian's Digital Basement. The general approach is to extract the desired files from virtual DSK files or use them as-is. Then using ImageDisk / DMK2IMD you can convert the file to a compatible format to then copy to a floppy after setting some very specific properties. This is not a half bad approach and, once you do it a few times, enables you to create fresh floppies of any data you want from a PC environment. All contingent on you having other legacy machines capable of such, that is.

But there's a much more entertaining and rewarding way to go about doing it, and in my experience was actually less error-prone and tedious than the roundabout PC method.

Introducing... TRS-80 DOS Cassette Bootstrapper

Developer Jürgen Büssert realized that by creating a simple cassette-based bootloader, he could then feed it raw byte data track-by-track encoded as audio. He then converted all major flavors of TRS DOS into an audio byte format for use with the bootstrapper.

It takes a very long time.

This method requires you have an expansion interface and a total of at least 32K of RAM, and that your floppy drives, floppy disks and cassette interfaces are all operational. Then you can grab the FLAC files from his site or even load them on your phone connected to the cassette interface as previously explained. You then do as follows:

  1. Insert a new/wiped floppy drive into your TRS-80 disk drive.
  2. Power on the EI and then the computer while holding in BREAK to enter Level II BASIC.
  3. Enter 40000 for MEM SIZE? to ensure enough space is reserved for the actual cassette track data.
  4. Type SYSTEM <ENTER> B <ENTER>
  5. Play the bootstrapper file named something like bootstrap.v7.5.500.flac
  6. After 3+ minutes when it is done, press / <ENTER>
  7. A prompt will then appear asking what disk drive you wish to use (0 for primary) and then to confirm (1).
  8. Now, play whatever version of DOS you wish to load onto the disk, such as Model I - NEWDOS80 2.0.500.flac
  9. After the first block of data the disk should begin formatting. Assuming it is successful, the audio will continue playing and load track-by-track to then write and verify to the disk.

Since these operating systems have 35 to 40 tracks, the average playtime is 30-40 minutes. If any track fails during the process or there are other disk or drive issues, it will halt. If all is successful, it will say the writing is complete and you can then reboot your machine normally and DOS should take over! If not, you'll have to run the entire process again including starting with the bootstrap audio. I recommend trying a different disk if one fails.

This approach is clever and the same theory could be applied with the existing bootstrapper to create additional cassette-based disks of any sort, to enable users to create new disks directly from a cassette interface alone.

As each one finished, I used a vintage but excellent label maker and Windows 95 to print up some custom labels.

Archiving Cassettes and Floppy Disks

A massive amount of TRS-80 Model I applications on cassette and floppy are already archived in some form or another online. Willus.com has the "Big List of TRS-80 Software" that itself encompasses 15,871 entries at the time of this writing. Even so, you may have homebrew cassettes, rare newsletter compilations, diskettes containing data, audio commentary or other files that have never been digitized. I've acquired piles of unlabeled cassettes and disks as part of random computer bundles in the past, contents unknown.

Magnetic storage is prone to deterioration so the sooner that archiving is attempted, the better chances you have of success. You may also encounter other problems along the way, such as severed tape, but with care much of this can be remedied at least to the point of attempting to read the contents. It was also common to record the same data several times on both sides of a tape for backup purposes, so if one track of cassette data fails, there may be another copy elsewhere to try.

Cassette Backups

This is an easy process but one that requires some amount of trial and error. You'll want to get a reliable cassette player that supports headphone/speaker out. I use a trustworthy Radio Shack CTR-69 Voice Actuated Cassette Recorder for my successful backups. Before hooking any external inputs up, I recommend playing a standard music cassette to verify the sound is good and playback works as expected. You may also want to clean the cassette heads, a lazy way of doing so is to just play a new blank cassette tape straight through (this applies to VCRs, as well). With this system and the cassettes I've been transferring, I have found the following settings work well:

  • VOX - Out
  • ALC - Out
  • Tone - 10
  • Volume - 5 (can vary depending on the cassette's recorded volume)

When you know the cassette player is working, you can run a cable from its HEADPHONE/SPEAKER out port to your computer's LINE-IN port. Depending on your setup, this port is often software-toggleable between MICROPHONE and LINE-IN. With my Creative Sound Blaster AE-7, an external docking peripheral is included that allows easy connection to headphones and microphones using 1/8" or 1/4" connectors.

If your sound card has a multipurpose port for input, you will want to ensure LINE-IN is activated through software to get much cleaner captures than anything possible with MIC. With Sound Blasters, this is done via Sound Blaster Command → Mixer → Recording → (Gear Icon) → Line In. You will find similar software options with other hardware configurations, including most onboard configs like Realtek HD audio. I then prefer to go into Windows' own Control Panel → Sound → Recording and set Line-In as the default, then open its properties and set the volume level to 70 (but again this may vary by player and cassette audio volume).

Then, using your audio recording software of choice (e.g., Audacity, Audition) create a new 22,050 Hz, 16-Bit Mono track. Make sure the input for the software is set to Line In and then you can play the cassette and record on the computer to capture the waveform. I'd recommend letting the full side of tape play before stopping the recording, and then save it as an uncompressed WAV. While playing the audio, monitor the decibel level and adjust the volume accordingly. Usually with tape transfers the louder the better, but I have found keeping the complete waveform from -6 to -1 tends to produce an accurate record. Even if the audio clips above 0, it should be fine in many instances.

Now for the magic. The open source suite of TRS-80 tools includes an amazing web application for TRS-80 cassette analysis and restoration. By visiting https://www.my-trs-80.com/cassette/ you can load in your complete WAV file, and it will clean and reconstruct it into as perfect a transfer as possible. It also allows you to preview the binary data, BASIC coding, or even emulate it. It also will break up each track into its own section, and other handy features. Even if the transfer was partially corrupt, you can usually decipher metadata from the binary data including authorship or title, and then use that to research other copies online. The best part is you can then save a copy of the BAS, CAS and RECONSTRUCTED WAV to have a pristine backup of the data for future use on real or emulated devices.

Disk Backups

There are a lot of online resources explaining how to backup disks from a variety of systems and also the precautions of attempting so. You typically need some specialized hardware or software to make byte-for-byte backups on modern systems. Some old software may also have copyright protection tricks that will make ordinary reading or backing up more difficult.

Ira Goldklang offers a backup service free-of-charge, for converting Model I, III or 4 disks into DMK virtual disks. More details here: http://www.trs-80.com/wordpress/faq-converting-your-disks/

There are also some dedicated controllers, such as greaseweazle, that can enable you to read a huge array of floppy disks on a modern machine. I have an FC5025 USB 5.25" Floppy Controller but have not explored its compatibility with my TRS-80 Model I/III disks (the site notes compatibility with Tandy Color Computers but no mention of Model Is).

Finishing Touches and Conclusion

The TRS-80 had no internal sound chip or speakers. The TRS-80 monitor was likewise stripped of any audio mechanism. Yet, the systems are very capable of playing digitized sound by hijacking the cassette interface. This became a popular feature in some of the most iconic games, including those by Big Five Software. All you have to do is hook any sort of speaker amplifier up to the microphone out port and play a compatible game or software program like the Berzerk-inspired Robot Attack. Naturally if you hook up a speaker, you'll either need a y-adapter splitter or audio switch to toggle between speaker and cassette microphone in the event that you need to save any data via cassette.

At one point I also picked up an old Radio Shack CGP-115 four pen color plotter. It looks nice alongside the setup but I have to source some of the small specialized ink pens for it. Given their obscurity, this seems more like a 3D printing project to create the casings and then some makeshift ink tubes and pen tips.

I have a Doubler II in the expansion interface, and one double density disk drive alongside the original single density Radio Shack (Tandon TM100) drive. This allows me to get the best of both worlds while still having everything remain era authentic. The support for double density 40-track disks and similar should also make it easier to copy contents from an ordinary computer over to the system without having go through the maze of legacy software products and converters.

What I haven't decided is whether or not I will be getting a MISE for this set or leaving it in a vanilla state. Bartlett Labs makes incredible components for the Model I and Model III. On my diskless Model III that I rescued as a giveaway and restored, I do have a M3SE and love it very much. It enables WiFi, VGA output, joystick controllers and SD-based hard drive emulation. There is a lot of temptation and convenience to that approach for file transfers, so eventually I'll probably buckle down and get one. Or, at a minimum, a FreHD by Ian Mavric.

For now though, I just want to enjoy the simpler times of 1977 and immerse myself in all that the TRS-80 had to offer. To kick that off I've ordered two brand new games that have recently been developed for it:

A final word of thanks to all those who helped me on this journey toward restoration and TRS-80 appreciation, including: Larry Kraemer for his decades of experience, patience and repair materials. Ian Mavric for offering many hard to come by TRS-80 components that I needed including a character generator, power switches and more, Jay Neworth for the assembled modern heavy power supply, Ian Goldklang for the monumental TRS-80 informational site, George Phillips for creating an incredible emulator that I used often while troubleshooting my real device, Bartlett Labs for the MISE/M3SE, and all who are part of the TRS-80 communities.

I recommend you run all of your TRS-80 peripherals through a dedicated surge protector, so that you can turn the entire strip off after powering down to prevent the power adapters from continuing to run, etc.

External Resources

I've embedded some excellent third party hyperlinks throughout this article, but a few notable and additional mentions are below. You'll find much more through your favorite search engine but these pages are enough to keep one busy for a lifetime.

Discussion Groups and Communication Outlets

Coffee Break DIY: 4.5V Battery Replacement for Old CMOS Batteries

As a hobby, I do a lot of vintage electronics restoration and discovery. Due to time-constraints I rarely find the chance to document any such efforts, which has included everything from restoring a 1950s television set to factory new condition, to repairing old oscilloscopes and making them sing songs. But my main passion remains on retro computer systems, from the 1970s through 1990s. This past year I even developed an extraordinarily comprehensive online design tool called Aquarius Draw for the failed 8-bit Mattel Aquarius computer, which allows designing art and generating necessary code in BASIC and Z80 Assembly for transferring to the actual machine (talented users have made use of it as seen in the gallery).

But every so often I take a few photos of simple projects and figure it doesn't hurt to make a quick blog about it. Here's a fast DIY solution to replacing an old and depleted CMOS battery for a recently acquired Macintosh Performance 5400/180 computer using only random parts laying around.

The Dangers of Old Clock/CMOS/PRAM Batteries

Eventually computers evolved to use the standard and safe Lithium Button Cell batteries (e.g., 3032) for preserving CMOS settings and system clock data. However, for many years a lot of them used much more acidic and corrosive solutions in the form of barrel batteries and hard-soldered solutions. This was common in the earliest line of Macintosh computers all the way through the iMac G3 models of the 2000s. But this style also occurred in many vintage IBM desktops.

These batteries are subject to leakage and corrosion that can eat through an entire motherboard without concern. This doesn't always happen but is increasingly common as time passes, especially for systems that may be stored in uncontrolled environments such as attics and sheds in high temperatures. I have acquired many computers over the years that suffered such fates, including Mac Classics and Packard Bells.

In once instance, a Mac I acquired had such devastating battery vomit that it ate through not just the PCB and components, but spewed acid across most other components and even violently chewed through the metal casing itself. This is always a troubling discovery as many of the components in these vintage machines are growing increasingly impossible to obtain replacements. An identical motherboard for one of these Mac sets may pop up once or twice a year and sell for hundreds of dollars on its own. For that reason, it is crucial to check for such problematic batteries and remove them immediately on receiving any vintage computer system. I recently carried out similar on two separate Apple IIGS machines including a rare IIGS upgrade model in a IIE body, both of which had original batteries still in place but had not leaked.

Replacing Obscure Batteries with Safer Alternatives

Most CMOS batteries operate between 2.6V and 4V. Common battery voltages, depending on the system, will be either 3.6V or 4.5V. As long as that amount of voltage is getting through to the motherboard, the system doesn't care what shape or configuration the battery is. So while the originals may have 1/2 AA barrel-style batteries wired in or block-style 4.5V, replacing those with any type of battery that feeds off a similar voltage will suffice.

The goal of any battery replacement in vintage sets should be to both retain the original outer appearance of the system and to ensure a stronger safeguard against any potential damage from a leaking battery. One common approach to this is to replace any of these old style solutions with common AA or AAA battery holders. Depending on the voltage needs of the system, you can fine two-and-three battery holders that can commonly feed 3V to 4.5V. This is possible because AA and AAA batteries are 1.5V each, so with two or three feeding to each other we can get the same voltages that these dedicated original batteries supplied.

In almost every configuration, the original battery — whether hard-soldered to the board or plugged into pins — will have only two active leads, a positive and negative. All we need to do to swap them out is to run the same sort of wiring from a new holder to it. Many motherboards, like the Packard Bells I've worked with previously, have dedicated pinouts for optional external battery packs in addition to a soldered solution. Whenever voltage is detected on those leads, that is where the battery draw will come from. Others only have a single spot for a battery, but in either case the goal is to remove the original risky battery setup and wire in a new battery pack for it, preferably in an arrangement that allows the battery to be placed away from the board to alleviate any chance for disaster.

A Quick DIY Solution with Craft Lights

Although you can still find most varieties of CMOS batteries that'd be exact replacements for these vintage systems, there are more convenient solutions and ones which further mitigate any chance of PCB damage. Most commonly, there are dedicated battery packs you can find online that usually have two leads already soldered to them, sometimes with a 2-4 pin plug at the end. All you have to do is search around for the voltage you require in a battery pack form. But if you are in a hurry or not really wanting to deal with an online pursuit, there are plenty of local options as well.

Walk into any craft store, thrift store, or hobby/lighting section of a hardware store and you'll inevitably find many battery-operated light strands meant for decoration, glass jar ornaments and other uses. Often times you can find them for pennies on the dollar. Today I strolled to a local thrift store and found a new pack for $0.50. I also had a family member who bought a box full of lit autumn leaves powered by these packs, but since the battery control only had an off, on or flash mode and no timer-based option they were not practical for the intended use. With that, I borrowed one of them to refactor for my purpose.

As mentioned, I recently acquired a Macintosh Performance 5400/180 system from 1997 and have been working to clean it up and revitalize it. These all-in-one machines were handy back in the mid-90s and distributed to academic institutes. I find them convenient because they are a singular system with CD, floppy (IBM-compatible) and support the full spectrum of legacy Mac software from 68K through OS System 9. This system used a Rayovac 840 - Computer Clock Battery (4.5 Volts Alkaline) which includes a simple three-hole plug that slides onto a spot on the motherboard. Rayovac sold many different forms of computer batteries in the 1990s. You can still find compatible 840 batteries for this on eBay but at a cost of $30 per battery.

My alternative free and instant solution was to simply refactor the 3x AA battery pack from the crafting lights for use on the board. Here is a photo exhibit of that process.

The Plight of the Y2K20 Bug

While the world panicked 22 years ago over potential Y2K compatibility concerns, another obscure problem has crept up 20 years later for users of Mac System 8 or lower. Many Mac systems from the earliest onward suffer from a system clock that was only built to support up to the year 2019. As such, trying to set the clock to 2020 or 2021 will actually wrap around to assume it is the 1920s again. This is a minor inconvenience, though, as the internal clock does support up to 2040.  Classic Mac software developer Rob Braun released a custom Set Date utility that enables you to update the year to 2020+, and these changes will persist.

With this fast and easy mod, I now have a future-proof battery holder for the Mac and can swap the batteries or enable/disable it at any point from a conveniently accessible battery holder, without having to remove the motherboard again. In cases where the battery may be soldered onto the board, my recommendation is to desolder the points and remove the fixed battery, then solder straight pins in place so that you can connect simple DuPoint female cap wiring into them and still have a similarly detached solution.

 

Dual Boot Windows 11 and Windows XP in 2021: A Descent Into Madness

Years ago, I wrote a couple of guides on how to retain a fully functional Windows XP (32-Bit) and Windows 10 (64-Bit) on modern hardware, including integration into the then-latest NVIDIA Geforce 900-series cards, solid-state SATA drives and so on. Both of these articles proved much more popular than I ever imagined, given the increasing obscurity of their practical usefulness. My article about NVIDIA cards and XP, in particular, became heavily linked around the Internet and across many forum discussion threads from other XP diehards.

Now, in the year 2021 and on the cusp of Windows 11, is any of this still possible? In short, yes... But there are more caveats and quirks as modern hardware and software evolves in complexity and XP becomes increasingly obsolete. I should emphasize that if you really want to use XP these days, you are much better off using a standalone system with XP-era hardware as the basis. My convoluted modern dual boot approach is ill-advised unless you're an absolute mad man, and any attempt to do so is at your own peril.  Read Full Article