Sunday, February 28, 2021

Repairing a Tandy CM-2 RGB Monitor

 Last week I finally received a Tandy 1000A and CM-2 monitor from an eBay seller. Unfortunately, it wasn't packed with the best care and both took some damage. I particular, the monitor was showing only a vertical line across the middle.

With some suggestions from persons wiser on the Tandy Discord, I popped the cover off and looked for disconnected wires and broken traces. And I found the source of the problem, right under the v-hold adjustment knob the PCB had broken.

Hoping the damage could be repaired, I pulled the board and inspected it. 

Not too bad, again with the help of Ken, Paul and Patrick on the Tandy Discord, I had a plan. The three areas in red are where I would mend the board. Paul suggested using solder braid, which made a lot of sense.

So, I applied some super glue and gave it 24 hours to set. Then, I used a tiny screw driver to scratch down to the copper.


 After cleaning with IPA, I soldered the solder wick to the board. I also removed the old solder from the joints that were on top of the crack and resoldered them as well for good measure.

Back into the monitor for a test and looking good! I had to adjust the pots on the flyback transformer to reduce the brightness, but otherwise it's working fine now.







Sunday, February 7, 2021

Repair and Refurb Atari Paddle Controllers

 A while back I picked up a set of Atari paddle controllers at a second-hand store. When I got home, I tested them and found they weren't working. I think there are only about 40 or so games that use paddles, but still I wanted them to add to the collection.

The controllers are pretty simple, a dial and a fire button. I figured the dial pot was just dirty and needed some cleaning. So, let's dig in.

 Two screws hold the controller together to expose the workings.

Each of the paddles four wires, one pair for the dial and the other pair for the fire button. Taking them apart I noticed a little foam pad that keeps pressure on the trigger mechanism. It was kind of crunchy, so I decided to remove it with some IPA and replace with some craft foam my wife had laying around. Just about the correct thickness and it has a sticky back.


 Next, I took the fire button assembly apart. This is a really simple mechanism, with a coil spring and a contact activated by the plunger. 

These didn't look really too dirty, but I decided to clean them anyway. 5 minutes in the ultrasonic and they looked good enough.

Next was the dial assembly. The dial handle pops off with light effort, and I needed to remove a single nut holding the dial pot to the case.

To get to the pot, I had to use a razor to get under four tabs that hold the pot cover on.

 From there I could examine the contacts and see how dirty they were. Here's a view under the microscope.

 Those whiskers were filthy, and I dropped them into the ultrasonic as well. They looked a lot better when they came out.

 Still there was a little crud, so I used a cleaning swab (not a cotton swab but one of those foam ones because I didn't want to damage the whiskers - although I did, more about that later).

Ready to reassemble, pretty much in reverse order. Starting with the fire button assembly.

Then the pot. Now, one thing to note when putting the cover back on. Make sure the indent in the cover faces the wiring. This prevents the knob from being turned past the end of the pot surface contact. I put it on backwards on one paddle, and when I tested everything the controller made a horrible scratching noise. I knew I had screwed up.

 I didn't take any pictures, but the whiskers got bent all to hell. Fortunately, I was able to bend them back into shape but they still looked horrible. 

I cleaned the decades of human detritus from the controller cases and gave them a test run on Kaboom!

Saturday, January 30, 2021

"Boot" From (V)HD in the trs80gp Emulator?

Recently I discovered a fantastic TRS-80 emulator from George and Peter Phillips. I've been playing with it, while trying my hand at BASIC after about, I dunno, 40ish years? Anyway, it's much easier to write code on an emulator - particularly since you can use a modern editor like Atom to work with longer code (i.e. anything over 10-20 lines), and then import the files directly into the emulator using Phillips' clever adaptation of the FreHD IMPORT/CMD and EXPORT/CMD utilities.

Initially, I ran into a blocker while using EnhancedCompiler BASIC from Misosys. It insists on compiling on the :0 drive, which is also the floppy boot drive by default. The compiler would fail because there was no space left on the diskette. Besides, who wants to compile on their boot root anyway? (by the way, I heard from another community member that this also happens with Misosys C compiler, so maybe it's a Misosys thing?)

Since I couldn't change the behavior of the compiler, I figured, with my modern ways of thinking, why not boot from a hard drive?

Wednesday, January 27, 2021

Well, it is gumbo after all...


 If, for some strange reason, my blog is still in your feed after 4 years of inactivity and you happen to read this I want to explain what's going on.

About 4 years ago I took a new position at VMware in Technical Marketing for the Cloud Management Business Unit. Hooray, right? As such, my work-related blog posts are now landing on the official VMware blog site. So, still doing blogs on VMware and current tech, just over there.

Now, in my free time I've found a nice hobby in retro computers. And I mean really, really retro - like late 70's to early 90's. I enjoy finding them in yard sales, vintage shops, online listings, you name it. Usually, they require some care to bring them back to operational condition. This is something I find fun, fulfilling and a reconnection to an earlier, simpler era of the industry that has given me a career and nice standard of living.

A recent (unsuccesful) attempt to rescue a Compaq all-in-one that had been severely water damaged. Got a working (I think) monitor out of it anyway.

So, welcome to the new Storage Gumbo, which is really the same old Storage Gumbo. That's the nice thing about gumbo; you can mix it up to taste. Tomato base, okra or no okra, seafood or fowl. It's all good.

I thought about standing up a new blog, with a more relevant name, but then I realized that would require time and treasure. I've got a perfectly good, established blog. And, based on most of the retro/vintage websites I frequent, there's not a high premium placed on "pretty" - solid and reliable information takes higher precedence. 

Stick around, or not, but either way I'll keep the old stuff here for the sake of posterity and who knows? Perhaps those old posts will find value again just like the old 8-bit machines we all love and cherish.

Thursday, May 11, 2017

vROps and Service Discovery - A New Dashboard for Troubleshooting Service Discovery

While working with the new vRealize Operations Service Discovery Management Pack in the Tech Marketing lab here at VMware, I built a dashboard to help troubleshoot service discovery issues.  I am sharing this in case others find it helpful.

There are a few things that can lead to service discovery failures:

  • Version of tools older than 10.1
  • Tools not running
  • Unmanaged tools that cannot be updated from vCenter
  • Invalid guest mapping credentials
This dashboard helps with isolating each of these problems; let me show you how.


The dashboard has six useful sections:

1 - Select the vCenter you wish to troubleshoot.  You can also view the collection state of the VC here before digging too deep.  If there are problems with vCenter Server, you should address those first.
2 - This list provides all of the SDMP adapter instances; it makes it easy for you to configure excluded services for SDMP.
3 - SDMP Stats scoreboard shows some interesting stats based on the SDMP adapter instance selected in item 2.
4 - The VM Discovery Issues list shows the following:
  • VMtools status
  • VMtoools support
  • Discovery method (Guest Alias or the default adapter instance credentials)
5 - VMs with No Service Discovery is a list of VMs for you to work from that have no initial discovery.
6 - Tools Status breakdowns provides overall number of VMs with tools running/not running and tools versions installed.

To install the dashboard, follow these steps:

1 - Download the zip file for the dashboard content here. (Click the download button)
2 - Extract the zip file to a suitable location.
3 - In vROps UI go to Content > Dashboards, import the SDMPTroubleshootingDashboard.json file.
4 - Now go to Content > Views, import the following:
  • SDMP Discovery Failures
  • SDMP No Success Tools Running
  • SDMP No Success Tools Version
  • SDMP VM No Services Discovered
5 - Finally, open the SDMPTroubleshooting.xml file in an editor (notepad is fine).  Create a new metric config called SDMPScoreboard in Content > Manage Metric Config > ReskndMetric and paste the contents of the xml file into the new config (you should overwrite the default contents).  Save it and you are finished!


Monday, December 5, 2016

The Self-Healing Data Center Part 5: Configure an Alert to Trigger the vRO Workflow

Now that we have configured the Translation Shim and vRealize Orchestrator the next task before testing is to configure vR Ops to send an alert to the shim.  This will be the final post in this series and when you complete this, you will be ready to apply this solution to automate any alerts you desire by simply creating the appropriate workflow and alert settings.

I am using vR Ops version 6.4 in the steps below, but this should work with any 6.0 or higher version of vR Ops.  We are also using Endpoint Operations to monitor the state of a service on a Linux OS.  Endpoint Operations is NOT required to use this shim, I am only using that because it provides a way to easily trigger an alert by stopping a service on a monitored OS.  It also shows that any automated remediation or activity is possible, not just automation of virtual infrastructure.

Saturday, December 3, 2016

The Self-Healing Data Center Part 4: Configuration of the vRO Example Workflow

So far we have discussed the reasoning behind the Translator Shim, installed it, configured it, started and tested the shim server.  In this blog post, we will set up things on the Orchestrator side so that the workflow is ready to go when an alert is fired from vR Ops.

This blog post assumes you have familiarity with vRealize Orchestrator and some experience with importing workflows and working with the HTTP-REST plugin.  If these are new concepts for you, please don't be discouraged.  Some great references to get comfortable with Orchestrator are:


HOL-1721-SDC-5 - Introduction to vRealize Orchestrator
Blog from vcoteam.info on using the REST plugin
Postman + vRO = HTTP-REST Plug-in Operations

Let's dive in.