Tuesday, June 23, 2020

Refurb weekend: Alpha Micro Eagle 300

One of the more unusual 68000-based systems -- even a few powered by ColdFire CPUs -- are the Alpha Micros. They run a DEC-inspired multiuser operating system called AMOS and popped up in lots of vertical markets as diverse as point of sale, veterinary and medical, and even churches (I encountered my first Alpha Micro in a Salvation Army corps, where it ran the business end using its terminal-based office suite and customized menus). I have a particular fondness for these systems due to a story that I'm not quite sure I'm past the statute of limitations on, but suffice it to say I find them to be entertaining oddballs and I serve my own homage site actually on an Alpha Micro, the Eagle 300. Here it is with its rather nice AM-75 colour terminal (a modified Wyse WY-370) and an AM-401 external CD-ROM (a rebadged Toshiba XM-5401B).

This machine does 24/7 non-stop service and it occurred to me one day walking past my house's server room that there was a rather loud whine coming from it, as if a cooling fan was stripping its bearings or something. A little investigation determined that it was coming from the E300, but it wasn't the power supply fan or the single 80mm case fan: it was the hard drive, which was slowly cooking itself to death because both of those fans, the only case ventilation, had failed. The power supply was a cheapo AT (not ATX) power supply I bought off the shelf a few years ago, but the case fan looked like the original one that came with the unit when it was manufactured in the mid 1990s. It's time for a Refurb Weekend!

The first order of business is to solve the cooling problem temporarily and order new parts. Let's just take the case off so the system can run as cool as possible until supplies arrive.

Replacing the PSU fan isn't prudent in this situation because there's probably other marginal parts in it as well; at this point it's safer just to replace the whole thing. Although I could jam another AT supply in it, they're getting rarer than ATX PSUs, the currently available stock are usually of poorer quality, and AT supplies have the singularly inconvenient attribute of having an integrated hard power switch that you have to weasel into where the old one went. (Notice the bag of mounting parts from the last time.)

For the new fan I picked a high-flow Noctua NF-A8 fan (the single-RPM FLX version, since this machine is too old to have PWM control) because the concept of a high-end fan in an old school workhorse amuses me conceptually. However, for the power supply I got an off-the-shelf ATX PSU and an AT-to-ATX converter.

The fan was the easy part: the old fan has a Molex power connector, and the Noctua conveniently includes a converter for that in the box, so done and done.

The AT-to-ATX converter is a little more complicated. This takes an ATX power connector and has leads to the existing switch instead of providing one of its own, and provides power on traditional AT P8/P9 connectors. You slip its switch leads out and connect the ATX connector to the PSU, and then connect the P8/P9 connectors to the motherboard.

The advantage here is that once wired in, you don't have to deal with the motherboard power supply connectors anymore or the power switch; you just switch out the ATX side like any recent system. This is important because many later AT supplies (and, it appears, this cable) don't properly key the P8 and P9 connectors. Inserting them backwards is guaranteed to let out the magic smoke and a lot of cussing, so remember the old nerd saying that you should never have red and red together. With this cable you just get it right once and you don't have to risk stressing the connectors or shorting out the machine next time.

With the rubber mounts in, the Noctua pulls a prodigious amount of air through, and combined with the now properly functioning power supply our Refurb Weekend was completed in less than a Refurb Hour. Best of all the hard disk is no longer shrieking from heatstroke. Still, maybe a SCSI2SD is the next project for this machine.

Thursday, June 11, 2020

Terminal sleep for old Macs

Even though my daily driver for almost the last two years has been a POWER9 Raptor Talos II, prior to that I used a Power Mac Quad G5 for almost 13 years. Although that system is on its second liquid cooling assembly, it still works, and any machine with that long of a service record is going to have lots of files stored you need to periodically access and old applications you need to periodically run. (And I'm still building TenFourFox on it, too, so there's that.)

For many things I'm connected to it via VNC or even just switching the KVM to its console. However, the G5 is not a particularly power-thrifty machine and I'd rather not have two big beefy computers running at the same time under my desk when it's 100 F out in sunny Southern California, so I regularly have it in sleep. Since many of my other typical tasks can be completed from the Mac OS X command line, it would be nice if I could sleep and restart it from a remote terminal login as well.

As it turns out, at least for 10.4 and up, this is relatively simple to do. To sleep the G5, I have a very simple shell script that looks like this:

#!/bin/csh -f

say "switch kvm"
sleep 5
osascript -e 'tell application "Finder" to sleep'
sleep 10

The magic incantation here is the AppleScript (run by osascript), which tells the Finder to sleep the system, and acts just as if you had done this from the Apple menu even if you're not actually on the console. The rest of it is oddiments of my routine: the say reminds me to switch the KVM away if I run this script from a Terminal.app session if I am using the console, since activity on USB will cause the G5 to wake up, and the two sleeps give me time to switch if necessary and give the AppleScript enough time to run. The date command is there because initially I couldn't figure out why it kept waking up (turned out to be a defective PCIe card which I pulled) and I wanted to correlate the time it awakened with the system log, but it's just handy to know anyway.

So that's sleeping — what about waking it up? The G5 will respond to Wake-On-LAN packets in sleep mode, so it's just a matter of sending it one. There are a couple of different command-line implementations; I personally rather like this simple Java one (especially since it doesn't need privileges) or this slightly more complex Perl version.

You would think you would pass these scripts the IP of the system and its MAC address, and you would be wrong. You do indeed need to know the MAC address of the destination system which you can get from arp or ifconfig, or for Power Macs from Mac OS X by going to System Preferences, Network, selecting the Ethernet interface in question, and then clicking the Ethernet tab. However, the IP address you'll send it to is actually the broadcast address for the network. ifconfig can tell you this as well if you don't know it. For many people, with this example assuming you used the Java version with javac WakeOnLan.class, that command for a typical home 192.168.1.* network would look like

java WakeOnLan 00:01:02:03:04:05

where the xy:zg:hi:jk:lm:no digits at the end are the MAC address of the destination system. Once in a great while, because this is UDP, you will need to send the packet twice if the machine fails to acknowledge it. I put this into a separate shell script on my T2 so that I just run it to wake the G5 up, shell in, sleep it when I'm done and either leave the window open (for the next time I wake it up) or just cut the connection. Now the G5 is always ready when I need it and in the way I need to access it, and not driving up my electric bill when I don't.

Saturday, June 6, 2020

TFW you find the last cartridge

I don't consider myself an obsessive collector because I'd rather use my vintage systems than simply collect for them. The majority of the systems in my back office may just be toys, but I don't collect (much) junk just for display, nor do I want to accumulate junk since I don't have much additional room to have out all the systems I'd like to and I try to regularly use them to keep them serviceable.

However, the exception to this rule is the very first home computer I ever had, the Tomy Tutor (that's my personal site dedicated to it), the toy company's one and only attempt at an American home computer system. This machine, whose closest hardware relative is actually the unreleased Texas Instruments 99/8, descends from the earlier Japanese-only Tomy Pyuuta (ぴゅう太). I still have the exact computer I used as a child before we upgraded to a Commodore 64 (that's me with it in the picture in my old apartment), and it still works. I figure if I'm going to be obsessive about one system, it should be that one, and I've now crossed the threshold where I have every single cartridge for it that Tomy ever manufactured. A few small-volume tape titles still elude me along with some third-party ones that I'll probably never find, but this particular last cartridge I've been trying to track down for a long time, and a boxed one (!) finally showed up for a not-impossible price relatively recently. COVID-19 has really upset international shipping and it took awhile to get it but it finally arrived.

The last cartridge I had yet to find was the Japanese domestic demonstration cartridge with a copyright date of 1983, intended for shops exhibiting systems for sale complete with a pretty little pink box. The great irony is that it actually doesn't work properly with the (Americanized) Tutor. I expected that it would appear wrong on-screen since the American Tomy Tutor naturally lacks katakana, but the demo cartridge additionally has its own menu — which seems to defeat the purpose of being a standalone demonstration cartridge — and it wouldn't read any of the Tutor's keys. So I dug out one of my Pyuutas and plugged it in and used it as it was intended. Let's look at some grabs.

Main title screen of the Pyuuta.

Main menu of the Pyuuta; you can read more about the system specifically, but everything is either in uppercase romaji or relatively primitive katakana glyphs, even Japanese native words. Typical of early Japanese home computers, this can sometimes makes it a little tricky to translate everything and my Japanese isn't so hot but I'll do my best. Here we're selecting the cartridge.

Pretty flowers and big sprites.

The demonstration cartridge menu's "three functions," namely, "color graphic," G-BASIC (the very limited peculiar subset of BASIC common to the Tomy computers, in this case the original Japanese keyword variant), and "cartridge game." The sprites shown are from Saurusland, which is vaguely related to the Tomy tabletop Caveman, but Saurusland isn't actually demonstrated here (read on). This is where the cartridge failed on the Tutor; it wouldn't register any of the number keys. There is a way documented on the box of going into an unattended mode with the SHIFT key but I couldn't get that to work.

The color graphic(s) demo using the classic Tomy built-in GRAPHIC paintbox. The Texas Instruments 9918A graphics are pretty well demonstrated here, along with sprite animation ("In addition, it's easy to make animation on the Pyuuta").

G-BASIC (GBASIC on the Tomy). Despite the Pyuuta and the Tutor being programmed in Japanese and English respectively, the internal representation uses the same tokens, so a tokenized program is actually mutually intelligible on both systems (once you account for differences in tape encoding). The blurb says, "Pyuuta is a personal computer. Programming is done in G-BASIC. G-BASIC is Japanese. In addition, it is easy to operate. Combining G-GBASIC with Pyuuta graphics can make beautiful original software."

The Pyuuta is advertised as having 20K of ROM, 16K of RAM and a 16-bit CPU (the Texas Instruments 9995). This is in fact incorrect; the Pyuuta has 32K of ROM. The Tomy Tutor has 48K of ROM owing to having both GBASIC and regular BASIC (descended from TI Extended BASIC) but is otherwise the same. The blurb adds, "Here a G-BASIC program is demonstrated."

G-BASIC "programming" is thus shown; you can see how simultaneously terse and inefficient this BASIC dialect is. The keyword kake is transliterated into English GBASIC as PRNT. In the monitaa (monitor) we are telling the Pyuuta jikkou (execution) to run the program.

The program is a simple math table generator.

Finally, cartridges. The blurb reads, "For Pyuuta, there are a lot of cartridges as well. Just insert a cartridge to easily enjoy a video game. Not only games but also other things such as education and home finance are planned for sale." Tomy never released these, though SKUs for them were reported in at least one Japanese marketing circular; all the Japanese domestic cartridges are games, and exactly one of the American Tutor cartridges is education-related despite similar promises here.

Despite using Saurusland sprites in the demo menu, the cartridge proceeds to show off Night Flight instead ("Here just a little of this fun cartridge game is demonstrated") which is fortunately a much better game (essentially the Tutor's answer to Qix, and subsequently ported by Colpax to MSX). This game never made it to American shores, by the way. You can't actually play it but the music and the graphics are exactly as they would appear on a real cartridge.

The Japanese demonstration cartridge was significantly rewritten for the American market, and you can see grabs of that cartridge (plus other Tomy marketing material). Not only was the language changed to English, but the cartridge menu was largely dispensed with, there were some minor changes to the sprites (a satellite instead of an astronaut), a completely new and different BASIC section replaced the G-BASIC segment with a primitive non-interactive card game, and the demo cartridge was changed to Traffic Jam (in my opinion the Tutor's best).

The most interesting difference between the Japanese and American demo cartridges, however, is the very last screen. I'll reproduce them both here.

Keep in mind that the Tutor was being sold in a rather different market somewhat later in 1983. Both systems have the TV, CPU and cartridge shown, though only the Tutor advertises the Joy Stick [sic]; the Pyuuta just has the Joy Controllers. Both systems also advertise a voice synthesizer (unreleased) and the cassette Data Recorder (released), which the Tutor calls a T. RECORDER even though it was sold as the Data Recorder here too.

The other expansion peripherals are where it gets a little different. The Pyuuta's "development schematic" has an orange box labeled mazaaboodo (motherboard), which connects to a line printer, floppy disk drive and onkyou kapara (acoustic coupler modem). In the Pyuuta manual each of these connect through a bespoke interface, such as an RS-232 serial interface for the acoustic coupler and a floppy controller board for the disk drive. Presumably this idea is what evolved into the BASIC-1 peripheral for the Pyuuta, which does indeed connect to the mainboard's expansion slot rather than through the regular cartridge port on top, but it only furnishes the printer interface (plus adding Tomy's version of TI Extended BASIC). The printer, disk drive, acoustic coupler and the other respective interfaces were never released nor to my knowledge demonstrated.

The Tutor, however, shows the printer connecting directly to the system (which is impossible, as there is no interface for it, and only homebrew ones ever existed). However, the most notable difference is the presence of the TI-ADAPTER. This is in fact nothing less than Tomy's planned rebranding of the TI Peripheral Expansion Bus cage, and there are mockup pictures of Tomy's version which provided the necessary interfaces for the disk drive and printer, but it was also never released (assuming it ever existed beyond a mockup in the first place). The PEB was even less well known in Japan, which probably explains why Tomy never bothered with that there.

It's a real feeling of accomplishment to complete this piece of my collection, even if there's still a few other items to mop up, and particularly when the last item has such interesting history behind it. I'll be updating my Tomy Tutor site with some of these grabs and some of my new tape acquisitions, but for those of you unfamiliar with this odd little computer, now you can share a little of my joy.