Projects


TRS-80


Catch! for TRS-80 now available for download

The files for the TRS-80 game Catch! I wrote decades ago are now available here… 

For more info about it, read my blog post… Enjoy!

Update 19 Aug 2015: Some additional info:

I use FreHD, a device that lets an SD card be recognized and used a TRS-80 hard drive. It’s an amazing device. It, with the included software lets me save files using the SD card instead of disks, and I can import and export files so that I can move files between my Mac and the TRS-80. These are the steps I used to get the files from the TRS-80 to my Mac.

1. I saved it as a binary to drive 4 with SAVE “CATCH/BAS:4”
2. I saved it as an ASCII file with SAVE “CATCH/TXT:4”,A
3. Exited back to LDOS with CMD S
4. Exported the binary file with EXPORT2 CATCH/BAS CATCH.BAS
5. Exported the ASCII file with EXPORT2 CATCH/TXT CATCH.TXT
6. Turned the system off, mounted the SD card on my Mac, and on the drive are my two files: CATCH.BAS and CATCH.TXT.

If you’re using FreHD, you’ll need to do the reverse.

1. Copy the files from your Mac or PC to the SD card.
2. Import the files at the LDOS prompt: IMPORT2 CATCH.BAS CATCH/BAS:x and/or IMPORT2 CATCH.TXT CATCH/TXT:x where x is the drive number.
3. Start BASIC with the command BASIC
4. Load the binary with LOAD “CATCH/BAS:x” I don’t think you can load the ASCII version directly, however I think you can use MERGE to load into memory.
5. Sart the game by typing RUN


Frame-18-08-2015-10-17-41


Running a Game Program I Wrote in the ‘80s


When I was a teenager, I wrote a game program called "Catch!" for the TRS-80 Model 1. I got the idea from Kaboom! for the Atari 2600. It's a lot slower than Kaboom, but I made up for it with drifting bombs and more. Not bad for Level II BASIC. I got as far as submitting to the magazine Basic Computing, but it was right about when TRS-80's were going out of style...

I recently acquired a TRS-80 Model 4P on Craiglist, and with FreHD, an adapter that lets you use SD cards as hard drives, I finally got to see my program run again after about three decades. Typed it back in using print outs made in the days of tractor feed and saved it to my SD card. Technically, I didn't need FreHD to run it, but I don't really trust the disk drives. Though right now they seem to be working fine...

One more thing to note. I needed a power supply to run FreHD and didn't have my own. I was about to buy one when I stumbled across my father's Heathkit Regulated Power Supply, Model IP-28, which is about the same age as the TRS-80 I originally wrote Catch! with. Still works great. Seems more than appropriate to use it here. Thanks, Dad! There's also a Heathkit Voltmeter IMD-202-2 under it. Love those nixie tubes!

Update: Game files are available here...

Defender


Williams Defender 4164 RAM Upgrade


IMG 8370

I recently acquired my favorite video game of all time, Defender. It still has gameplay unmatched by any other and has a fascinating history. I’ve tried to get by on emulators, but they controls and layout are so unusual, there’s been no satisfactory substitute. So when a cocktail version of the game appeared on Craigslist at a low price, I broke down and bought it.

Of course, it was working perfectly when I first looked at it, but after a month, it started to freeze up after about 30 minutes of use, and then show RAM errors at boot-up. (RAM error 33, for anyone interested) I did my best to root out the problem, swapping the offending chip, reflowing solder under the offending chip's socket, but nothing worked. It appeared to be either a bigger problem with the socket or a problem with another chip accessing the RAM. I was convinced heating of the chips was part of the problem, since it would often start out ok, so I decided to try something before replacing the socket: I was going to replace the 4116 RAM chips with its lower power, less heat-generating, cheaper and more plentiful successor, the 4164.

About 4164 RAM

4116 chips require 3 voltages: +12V, +5, and -5V, and ground. 4164’s, which came later only require +5V and ground. The pinouts are similar, so it’s not that hard to replace a 4116 chip with a 4164. It’s a matter of putting +5V where the +12V used to be and removing the -5V connection. The result is a more energy-efficient chip, which sheds much less heat. With less thermal cycling, the 4164’s tend to stay put in their sockets better, not wiggling out like 4116’s. I was hoping this might help my problem.

There seem to be many different minor variations of the 4164 and a few speeds available so I spent some time trying to figure out what if any particular type or speed of 4164 RAM is required. I couldn’t find anything about the type but I found one web posting by someone that purported that the slowest of the 4164 RAM, the 150 ns version, is more than sufficient for Defender. So I just went with what seemed to be a reputable seller on eBay offering any type of 4164 at a good price. The prices do vary wildly, but I found a deal for 50 chips for $33 dollars + $2 shipping on eBay by HKUTResource. It took a few weeks, being shipped directly from China, but the seller was clear it would take about that long. In short, the 24 chips I used seem to be just fine. I’ll hopefully come up with a use for the 26 chips I didn’t use.

Defender Mods

I found quite a bit of information about how to modify a Defender machine to use 4164 instead of 4116. One of the best pages was here. Essentially, there are three ways to do it: 

1. Bend a few leads on the 4164 chip and do a little wiring on each chip, then insert the chip leaving those pints out. This is tedious, as you need to modify all 24 chips, but does not require any modifications to the board. A clever GIF of the mod is here. It really shows effectively what will ultimately happen at the chip no matter which mod you make.

2. Modify the board so that the chips are given the proper voltages. It requires cutting a trace on the board and bridging two others. This is the relatively simple change, but permanently changes the board. I really didnt want to alter the board though.

3. Modify how the voltages are fed to the board by making an adapter that goes between the power connector and the board. This doesn’t modify the board and you don’t have to modify the chips. This is the option I chose. A great PDF detailing what the adapter has to do is at the top of the page here. I used this document as my main guide. I used pictures of other people’s adapters for reference too, but be careful. I found more than one picture with the wiring incorrect.

Parts

The biggest problem I had was determining exactly which sockets and plugs I needed. I couldn’t find anyone offering a parts list for the adapters they’ve created. I eventually settled on these which I ordered from Newark/Element 14.

Male Connector:
MOLEX 26-60-4090, WIRE-BOARD CONNECTOR HEADER 9 POSITION, 3.96MM

Female Connector:
MOLEX 09-50-1091, CONNECTOR, HOUSING, RECEPTACLE, 9 POSITION, 1ROW

Crimp pins for female connector:
MOLEX 08-70-103, 1CONTACT, SOCKET, 24-18AWG, CRIMP

The female connector specified in the Defender parts list is for a Molex 09-50-1095, but at the Molex site, it’s listed as discontinued. It did state that 06-50-1091 would is an acceptable replacement. I found that at Newark, then found its crimp pins and it’s matching male connector. The female connector matches the connector on the board really well and its very clear which way to orient it when plugging it in. The male however, was less so, but not because of the new connector. It was because of the existing female one. It’s not obvious which way to orient the connectors. I just used the arrangement of wires to ensure it’s correct and then I put a dot of paint on the same side of both connectors. All this leads me to believe that even the original connectors may not have been matched perfectly. 

Some builders didn’t bother wire wire, and directly soldered the connectors together by their pins. It looks nice, but I believe a rigid adapter sticking high out from the circuit board will make it easier for the weight of the wiring to deform or damage the board connector or the board itself, so I used about 6” of wire for each connection. I already had 18-gauge stranded wire and heat shrink tubing which rounds out the parts list. 

Assembly

Soldering most of the wires to the crimp pins was easy, but it took some effort to solder two wires to one crimp pin and still fit it into the female socket. I soldered the other end of the wires to crimp pins, fit the crimp pins over the header pins on the the male connector, slid some heat string tubing on past it, then soldered the crimp pins onto the header. I then slid the tubing over the connection and heated with a lighter. The tubing is pretty critical here as it would otherwise be easy to have a short between the connections.

When I was done, the cable looked like below. I have oriented it so that the wires and connectors match up with the diagram. Before installation, I bundled the wires and wrapped it in electrical tape to give the adapter some strength. (Heat shrink would have been better, but I didn’t have anything large enough.) I also dabbed some epoxy over the backside of the male connector to keep the pins from sliding backwards when the its counterpart is mated.

IMG 8387

Note that the original diagram shows no wire for pin 9. The document may be correct that it isn’t required, but my existing female wiring harness has a wire going to pin 9, so I included it. I marked the adapter on three faces to indicate that it’s for 4164 RAM only.

Update: DO NOT include the wire for pin 9 (or, connect pin 9 to ground, at pins 2 or 3 on the female connector on the adapter loom, if you want the option of using 41256 chips in addition to 4164.) See the end of the article for more info. I will update the article to reflect this shortly.

I replaced all the 4116 chips with 4164, and double-checked to make no chips were inserted backwards and that no pins bent under the chip or bent outside the socket. It’s easy to become complacent by chip number 20.

then inserted the adapter. All plugged in, it looks like below. Please note that the ground wires are on the left side of the board’s socket in the picture but are on the right side of the socket in the diagram! This is a cocktail machine, so maybe the orientation of the socket better matches the diagram in upright machines. There’s no mistake however. If you look at the schematics for the board, you’ll find the diagram has correctly labeled the voltages and pin numbers. Make sure your adapter wires all match up with the original male connector before applying power. The colors of the wires leading to the adapter will help. Note the fourth wire from the bottom on the right. Thats the +12V which were not using anymore, so theres no wire connecting to it in the adapter.

IMG 8368

That’s it. I powered it up and the unit showed no errors! I ran the unit all day for several days and haven’t had a single freeze or memory error since. I can’t precisely say why it fixed the problem or even if it truly solved the problem. I may after all still have a bad RAM socket but the lower thermal cycling may be containing it. At least for now, bye-bye to RAM Error 33!

It was a fun project and very satisfying. I feel less “owner” of a mere video game and more a “caretaker” of an important piece of video game history so Im glad that I could contribute to itcontinued existence. I hope this might help someone else do the same.

Craig

Update: 13 September 2015

I posted about my blog at Vintage Computer Forums and I got a very important posting by Matt to warn me about a potential problem with my existing adapter. Essentially, my original adapter continued the -5V across the adapter when it shouldn’t. The -5V connection leads to pin 1 on the 4164 chips which in most cases is “no connection,” but not always. I realize I misunderstood the diagram I was following and fortunate that my 4164 chips are truly were “no connection” at pin 1 I’ve updated the article to reflect this.

While this article doesn’t address it, 41256 DRAM chips can also be used in place of 4164. The only additional requirement is that pin 1 of these chips go to ground. Check out the website that the person who helped me offers. It’s also got a lot of useful info about the 4164 change.

Legacy Apps

These are app’s I’ve written but have since stopped supporting. They may be gone from the iTunes store, but they are not forgotten!