Saturday, November 16, 2024

One-parting some Commodore 64 utilities for fun and profit

I've got a few retrocomputing bucket list items I'm slowly working down, and a couple of them involve some little Commodore 64 games I've had kicking around on the backburner. However, every game needs media assets, and while there are many great tools for doing art on your present-day workstation and exporting it, sometimes you just want what you used to work with — in as convenient and quick-loading a way as possible that blends with modern emulation workflows. So here's two I tweaked and one-parted — Ultrafont+ and DOODLE! — and some tips for making self-contained tools like these yourself.

Saturday, October 26, 2024

The unreleased Commodore HHC-4's secret identity

Once upon a time (and that time was Winter CES 1983), Commodore announced what was to be their one and only handheld computer, the Commodore HHC-4. It was never released and never seen again, at least not in that form. But it turns out that not only did the HHC-4 actually exist, it also wasn't manufactured by Commodore — it was a Toshiba.
Like Superman had Clark Kent, the Commodore HHC-4 had a secret identity too: the Toshiba Pasopia Mini IHC-8000, the very first portable computer Toshiba ever made. And like Clark Kent was Superman with glasses, compare the real device to the Commodore marketing photo and you can see that it's the very same machine modulo a plastic palette swap. Of course there's more to the story than that.

Monday, October 14, 2024

Ward Christensen dies

There was initially some issue verifying this, but there appears to be direct confirmation now that Ward Christensen passed away October 11 at the age of 78, co-founder of the pioneering Computerized Bulletin Board System in February 1978 with Randy Suess — now believed to be the first BBS — and developer of the XMODEM transfer protocol. Although his notional job was at IBM, where he worked for 54 years, he became better known for his prolific public domain software output which was widely used in the early 1980s and his innovations with computer-based telecommunication. He was reportedly found dead at his Illinois home after a welfare check on October 13. Ars Technica has a nice summation. Rest in peace.

Sunday, October 13, 2024

Refurb weekend: the Symbolics MacIvory Lisp machine I have hated

Every collector has that machine, the machine they sunk so much time and, often, money into that they would have defenestrated it years ago except for all the aforementioned time and money. Yours truly is no exception.
That machine is my first Lisp Machine and my only one actually using real Lisp Machine hardware, this Symbolics MacIvory III in a Macintosh IIci host. To date it's cost me over $6000 total, primarily its initial purchase price, but also to rehabilitate it and just keep it alive. That's nearly as much as what I paid out of pocket for my $7300 (in 2018) POWER9 Raptor Talos II Linux workstation and my $10,000+ IBM POWER6 server, which I acquired in 2010 and in 2024 dollars would be over $14,000 — and both of those machines have been substantially less troublesome.

For those of you unfamiliar with the general world of Lisp machines, they are, as their name implies, workstations entirely designed around the Lisp programming language. That doesn't just mean using conventional processors with a Lisp runtime either: these devices are built to run Lisp from the silicon up with specific hardware support. (Some of these systems could also run Prolog, my personal favourite AI-adjacent language. We'll play with a surprising small Prolog implementation in a future article.) They existed in highly technical environments as workhorses of the first wave of AI hysteria (you crazy kids today with your LLMs) for applications like natural language processing and expert systems. The genre more-or-less flourished from the end of the 1970s to the early 1990s and included some of the first systems to implement advances like bitmapped displays, networking and pointer devices. In turn, those unusual capabilities caused them to also develop distinctive user interfaces for their unique feature set, years before today's GUI and keyboard conventions we almost unconsciously take for granted were even conceived of. Working with a Lisp machine can be a remarkably different user experience from modern computing and the occasionally jarring nature of those differences isn't something present-day emulators fully capture.

Unfortunately, their rarity also makes them the whitest of white elephants sometimes. Besides what I had to do to get it working properly to start with, the hard drive started timing out and it randomly froze during boot or shortly afterwards. (There was also the matter of me never finishing its setup, let alone getting it networked.) I'm not letting this benighted thing die on me after all I've put into it — it's time for a Refurb Weekend.

Saturday, October 5, 2024

So thieves broke into your storage unit - again

If you've been wondering why entries have been a little slow lately, let me tell you a story.

All collectors tend to be a bit obsessive by nature, and us classic computer nerds probably pick up more hardware than we can (or should) store in our residence — especially if the loves of our lives aren't as enthusiastic about the hobby than we are — and thus have storage units for the overflow. I have two small "cold" climate control units, kept small so that I can be out of one or both relatively quickly, as well as a larger "hot" conventional unit at ambient temperature. The hot unit is indoors and not exposed directly to the sun, so it's not particularly hot for sunny southern California, but I keep working spare electronics, hard disks, tapes, etc. in the cold units as a precaution and use the hot unit for non-working parts units, books, magazines and other household items.

Of course, climate control units cost more, sometimes substantially, and thieves use this as a signal that more valuable stuff is likely to be kept there:

Both times I've been burglarized, they were the cold units. August was the second time. So, with crime being a nationwide topic, let's talk about what happens when your storage unit gets broken into and how to recover from it.

Tuesday, September 3, 2024

Programming the Convergent WorkSlate's spreadsheet microcassette future

In this particular future, we will all use handheld spreadsheets stored on microcassettes, talking to each other via speakerphone, and probably listening to Devo and New Order a lot. (Though that part isn't too different from my actual present.)
It's been awhile since we've had an entry for reasons I'll talk about later, and this entry is a doozy. Since we recently just spent a couple articles on a computer whose manufacturer insisted it was mostly a word processor, it only seems fitting to spend some time with a computer whose very designer insisted it was mostly a spreadsheet.

That's the 1983 Convergent WorkSlate, a one-of-a-kind handheld system from some misty alternate history where VisiCalc ruled the earth. Indeed, even the "software" packages Convergent shipped for it — on microcassette, which could store voice memos and data — were nothing more than cells and formulas in a worksheet. The built-in modem let you exchange data with other Workslates (or even speak over the phone to their users), and it came with a calculator desk accessory and a rudimentary terminal program, but apart from those creature comforts its built-in spreadsheet was the sole centre of your universe. And, unlike IAI and the Canon Cat, I've yet to find any backdoor (secret or otherwise) to enable anything else.

That means anything you want to program has to be somehow encoded in a spreadsheet too. Unfortunately, when it comes to actually programming the device it turns out the worst thing a spreadsheet on an 8-bit CPU can be is Turing-complete (so it's not), and it has several obnoxious bugs to boot. But that doesn't mean we can't make it do more than balance an expense account. Along the way we'll examine the hardware, wire into its peripheral bus, figure out how to exchange data with today's future, create a simple game, draw rudimentary graphics and (with some help) even put it on the Internet with its very own Gopher client — after we tell of the WorkSlate's brief and sorrowful commercial existence, as this blog always must.

Saturday, July 13, 2024

Pretty pictures, bootable floppy disks, and the first Canon Cat demo?

Now that our 1987 Canon Cat is refurbished and ready to go another nine innings or so, it's time to get into the operating system and pull some tricks.
As you'll recall from our historical discussion of the Canon Cat, the Cat was designed by Jef Raskin as a sophisticated user-centric computer but demoted to office machine within Canon's typewriter division, which was tasked with selling it. Because Canon only ever billed the Cat as a "work processor" for documents and communications, and then abruptly tanked it after just six months, it never had any software packages that were commercially produced. In fact, I can't find any software written for it other than the original Tutor and Demo diskettes included with the system and a couple of Canon-specific utilities, which I don't have and don't seem to be imaged anywhere.

So this entry will cover a lot of ground: first, we have to be able to reliably read, image and write Canon disks on another system, then decipher the format, and then patch those images to display pictures and automatically run arbitrary code. At the end we'll have three examples we can image on any PC 3.5" floppy drive and insert into a Cat, turn it on or hit DISK, and have the Cat automatically run: a Jef Raskin "picture disk," a simple but useful dummy terminal, and the world's first (I believe) Canon Cat, two-disk, slightly animated and finely dithered, slideshow graphics demo!

But before we get to pumping out floppy disks, we first need to talk about how one uses a Cat. And that means we need to talk a bit about Forth, the Canon Cat's native tongue. And that means we should probably talk more about the operating system too. Oh, and we should go down to CompUSA and buy a brand new floppy drive while we're at it.

Saturday, June 29, 2024

Two tiny 65816 DTV consoles

The 21st century direct-to-TV game console: a dirt-cheap toy dragging poor ports of cherished games to a more downmarket age. If you couldn't afford the real device, your alternative was these inexpensive, inadequate facsimiles faithful only to one's gauzy recollection. As their chipsets are generally grossly underpowered and optimized solely for cost, the vast majority didn't even try to run the original games precisely as they were, and the quality of the resulting rewrites sometimes showed their software to be as rushed as the hardware. (Even today, where true emulators are more plentiful, the SoCs these devices use often still require compromise.) There were certainly standouts that are practical miniatures of the original systems, notably the Commodore 64 Direct-to-TV and Atari Flashback 2, but the remainder during their zenith in the early 2000s were more like this Intellivision and two Atari 2600 imposters, playing uneven resurrections on unrelated silicon.
But it turns out these three (and others) have something in common besides the bargain bin: they're all derived from our favourite chip, the 6502. In fact, the two Atari imposters even embed the 6502's 16-bit descendant, the 65816. How do we know this? Rampant speculation, foggy memory, datasheets and vidcaps — and taking them apart, of course.

Tuesday, June 25, 2024

The Living Computers Museum finally isn't

First off, apologies for a quiet month as I've been dealing with family matters which hopefully are now on a better footing (more articles are in the hopper). Unfortunately, the same apparently can't be said for the once-great Living Computers Museum + Labs in Seattle, established by the late Microsoft co-founder Paul Allen and closed in 2020 during the COVID pandemic after his death, at least some of which is going up for auction. The specific pieces have not yet been announced by Christie's, but will ostensibly include his personal DECsystem-10, a 1971 KI10 DEC PDP-10 from the MIT AI Lab which is the first computer he and Bill Gates ever used. (There's just something about your first. I still have my actual first computer too, and with only around 1500 systems built the unit at the LCM was apparently the exact machine they used also. Here's a picture of it from when it was in residence at the LCM and used to develop a replica.)

Obviously, while I think it's a crying shame, the estate can do what it likes with its own stuff and I hope the machine, plus the other 149 pieces reportedly to be auctioned off, goes to someone who appreciates it. (Bill Gates himself perhaps.) What's more problematic is the people who donated systems and peripherals with the expectation they would remain there in some capacity, especially since the museum reportedly didn't accept items as long-term loans. (Wikipedia has a substantially complete list of those items.) That's not per se an unreasonable position, and one that helps protect the museum, but it's also one that leaves their prior owners with no firm recourse for recovery before they get liquidated or scrapped in a situation like this. Throwing them away is bad enough but if those items also go up for sale, though doing so may be technically legal depending on how the transfer was written up, it's pretty darn sleazy. Allen's estate, notably his sister Jody who is the trustee and executrix, would then be profiting off items donated in good faith on the understanding that they would be in a museum. That's bad and they should feel bad.

But then perhaps museums aren't what they used to be. On cctalk someone mentioned the now defunct? National Museum of Communications in Irving, TX which downsized in 1998 by taking about five commercial dumpsters' worth of radios and other items to the dump. It looks like one guy ran that shop and it probably became too large for him to handle, a story which is probably more common than most of us know, though it's still bad news for the equipment that got junked — some of which was almost certainly rare or irreplaceable, even if specific items themselves weren't particularly valuable. Every collector has had well-intentioned dreams at one time or another of opening our own museums, not realizing that they turn into massive sinks of time and money and regulatory filings, and they're never as much fun to operate as the private computer room or display case you used to have in your house. Situations like this should also remind us that donating our own beloved items to any institution in the hopes they'll "survive" us is no guarantee they'll remain there either.

We're amateurs, though. Paul Allen, on the other hand, was not an amateur and was an incredibly wealthy man who had to have some awareness of estate planning, and one who knew his cancer was likely to return. It is widely reputed that the LCM was expensive to run and hard to manage even with his sizeable fortune and a lot of diligent volunteers. Now his collection and quite a few artifacts I imagine some folks would like back are in the hands of his sister, who allegedly doesn't have any interest in them other than the price they might fetch. Let that be a lesson to us that no one and nothing lives forever.

Monday, May 27, 2024

Refurb weekend: Canon Cat

It's the Memorial Day holiday weekend and it's time for a little deferred maintenance, especially on those machines I intend to work on more in the near future. So we'll start with one that's widely considered to be a remarkable cul-de-sac in computing history: the Canon Cat.
Many people take a casual glance at this machine and say, "Isn't that an overgrown word processor?" And one could certainly think so, in part because of its keyboard-centric operation, but mostly from the utterly uncomprehending way Canon advertised it in 1987. Canon dubbed the Cat a "work processor" because of its built-in telecommunications, modem and word processor even though Jef Raskin, its designer, had intended it as a "people's computer" that could be inexpensive, accessible and fully functional — all things he had hoped to accomplish at Apple after first launching the Macintosh project, prior to departing in 1982.

Canon, however, never fully grasped the concept either. Apart from the tone-deaf marketing, Canon sold the device through their typewriter division and required the display to only show what a daisywheel printer could generate, limiting its potential as a general purpose workstation. There was also an infamous story where Canon engineers added a hard power switch not present in the original prototype, believing its absence to be an oversight — over Raskin's objections, who intended the machine as an always-on, instantly useable system. The Cat nevertheless launched at an MSRP of $1495 ($4125 in 2024 dollars) in July that year to many plaudits and design awards, but alleged corporate shenanigans and uncertainty within Canon doomed it internally, causing them to dropkick the product after just six months and 20,000 sales. In the wake of the 1987 Black Monday stock market crash Raskin's investors subsequently pulled the plug and the company closed in 1991.

But what was actually under the hood was a unique all-in-one 68000 machine with a bitmapped display and a full Forth environment hidden in its ROM-based, fast-start operating system. There's no hard disk, just a single 3.5" floppy drive to save your documents and the current Forth dictionary. Although the default mode is the built-in word processor, its tForth ("token-threaded Forth") dialect was easily unlockable and Information Appliance, Inc., Raskin's company that produced the Cat and licensed it to Canon, published substantial documentation on how to enable and program in it.

We'll have more to say about that in a future entry when we get into the guts of the OS. Today, we have two tasks: replace its settings battery and shore up the nearly unobtainium custom Canon floppy drive, its most common point of failure. It's time for a Refurb Weekend.

Commodore does the iPad "crush" concept right ... in 1985

I get what Apple was trying to say with their infamous Crush ad, even though they made it a little weird. They should have simply done what Commodore did for the C128 — ironically, competing with the Apple IIc. Notice the emphasis on audio and sound, plus the Commodore 64 perched on top. And no musical instruments were flattened in the making of this ad, though it looks like a number of keycaps were traumatically separated.

Saturday, May 4, 2024

With PowerPC, Windows CE and the WiiN-PAD slate, everyone's a WiiN-er (except Data General)

Telemedicine (and mobile health generally) accumulated a hunk of public mindshare during the pandemic emergency, but speaking as someone with a day job in public health for almost two decades, it's always been a buzzword in certain corners of IT with enough money sloshing around that vendors repeatedly flirted with it. Microsoft, of course, is no exception, and on at least one occasion in the late 1990s pitched Windows CE at this space. After all, WinCE was oriented at low-power portable devices perfect for medicine on the go, and like perennial predictions of "the Linux desktop" finally taking off, Microsoft's eager sales team was certain the day of the portable physician's device had come as well.

And, well, no. I can't think of a single product from that particular salvo that actually survived, let alone thrived. But we've got one of them here — and, as you might expect, there's a few odd things about it. First off, it's a slate. (We call them tablets now, kids.)

Not a vanishingly rare form factor for a Windows CE device, though hardly the most common. It's also got a full-size dock, a camera and ... a Data General badge? The Nova-AViiON-CLARiiON-Data General/One Data General that put two I's into everything?
Yup, it's really that Data General with that naming convention. In fact, as the history will show, the Data General WiiN-PAD is quite possibly the last computing device DG ever produced before EMC bought them out and shut (most of) them down in 1999. (No, near as I can determine, the name WiiN-PAD has nothing to do with the unreleased Microsoft WinPad.)

But that's not the really wacky part. Check out the CPU it's running.

That's right: it's PowerPC, the most unloved of the architectures CE ever ran on — in fact, this is the first PowerPC Windows CE device I've ever found, and I'm the self-described biggest pro-PowerPC bigot in the world. Here's an unusual form factor Windows CE device, running on the operating system's least used CPU, from a storied computer company near the end of its run, intended for medical applications, produced in very small numbers and cancelled within months.

What are we going to do with it? Well, what do you think we're gonna do with it? We're going to program it, so that we can finally have some software! And, of course, since this wacky thing was there at the bitter end, we'll talk more about the last days of Data General and what happened next.

Saturday, April 27, 2024

Virtualizing the 6502 on a 6502 with 6o6 (and The Incredible KIMplement goes 1.0)

Okay, promises, promises. Here's the first of my bucket list projects I'm completing which I've intermittently worked on for literally two decades. Now that I've finally shaken out more bugs, tuned it up and cleaned it off, it's time to let people play with the source code.
This is the official 1.0 release of the Incredible KIMplement, an emulator of the one kilobyte, 1MHz MOS/Commodore KIM-1 6502-based single board computer. It provides access to the KIM's built-in TTY support (even through your computer's real serial port) and has expanded RAM with 16K of addressing space, all on an unexpanded stock Commodore 64.

It's almost burying the lede to announce that, though, because the real meat in this entry is how the Commodore 64 manages to emulate a very different 6502-based system. That piece is "6o6," for "6502-on-6502," and is a full virtualized software NMOS 6502 CPU that runs on a 6502 CPU — which I've open-sourced too. It has full control of guest code execution, including trapping undocumented and jam opcodes, and completely abstracts all memory access, making it possible to remap addresses, intercept illegal reads or writes, or even run entirely from virtual memory. On top of that, it's complete enough to not only pass a full functional test but also virtualize itself virtualizing itself:

These GIF screencasts are real-time with no tricks. Here a Commodore 64 and Apple IIe are both running a guest "hello world" payload within 6o6 (stage 1), which is nearly instantaneous, then 6o6 running the payload as a payload within another instance of 6o6 (stage 2), which is a little slower, then 6o6 running 6o6 running 6o6 running the payload (stage 3), which is glacial. But all of it works!

Friday, April 19, 2024

So long, Z80

You can still buy 6502s from Western Design Center and others, but Zilog's getting out of Z80s (PDF), announcing earlier this week that after June 14th you won't be able to buy them anymore (specifically the last-part-standing Z84C00 which comes in various speeds from 6-20 MHz) and what you buy you can't return. This covers the Z84C0006VEG, Z84C0006PEG, Z84C0010PEG, Z84C0008AEG, Z84C0020VEG, Z84C0008PEG, Z84C0010AEG, Z84C0008VEG, Z84C0010VEG, Z84C0010VEG00TR (!), Z84C0020AEG, Z84C0020PEG, and Z84C0006AEG. Get 'em while they're hot. The Z180 and eZ80 are not affected by this announcement.

Saturday, March 30, 2024

Refurb weekend: Data General/One (and the worst LCD in the world)

I mentioned earlier that while I prefer specializing in non-x86 laptops, that doesn't mean I don't collect interesting or unusual x86 laptops, like the Brother GeoBook NB-60 (I finally tracked down a mostly working NB-80C, the top of the line model, which will be the subject of a future restoration). However, this one is a unit I've had since about 1998 when they were getting rid of it at the University I worked for, and in many ways a landmark PC laptop since it was the first battery-capable system with a full 80x25 or CGA 640x200 LCD — though with a notorious deficiency: more on that shortly — and also came with a terminal and text editor in ROM. This is the 1984 Data General/One.
I suspect it was primarily used to dial into the campus network using the built-in modem and ROM terminal emulator, at least until better alternatives became available, and then ended up forgotten somewhere until they were cleaning things out and asked me if I wanted it. (Yes, I was retro even before retro.) It came with its bag, power supply and modem cable, and of course I said yes. It wasn't pristine, though: the floppy disk eject buttons wouldn't stay on anymore, it couldn't remember its hardware configuration, and the main drive had issues with nearly full disks. And then there was that infamous LCD.

Ah, what the heck. I finally got a round tuit. That makes it time for ... another Refurb Weekend.

Monday, March 18, 2024

After 41 years, my first assembly program on my first computer, the Tomy Tutor

We got it in 1983, I think, so it only took me about 41 years to get around to it. This Tomy Tutor isn't a replacement system I secondarily acquired, nor is it a Ship of Theseus Frankenstein rebuild. This is my actual first computer, in its original case, on its original components, with the Federated Group sticker still on the original box. And it still works.
Now, why so long? Well, for one thing, it was only supposed to be a training wheels computer because a full Commodore 64 system would have cost too much, but my folks wanted to see whether we'd take to a home computer and His High Holy Munificence Fred R. Rated was blowing these babies out for a song by then. The receipt has long since disappeared, though $99 sounds about right plus maybe around $40 or so for a joystick, cassette deck and some cartridges, compared to somewhere between $200 and $300 for the recently discounted 64 — which didn't include anything else. (It tells you something about our family finances at the time when a C64 was too expensive.) I immediately started writing my own BASIC programs on it in its perverse little BASIC dialect and when my folks indeed saved up and bought us a C64 system the next year (complete with 1702 monitor and 1541 disk drive), I refused to use it. In retaliation my best interests, my parents forcibly relocated the Tomy to storage and I went on to do even bigger things on the Commodore, making it, not the Tutor, the defining computer of my childhood. That's why there's still a Commodore 128DCR on my desk.

The other reason is that there was never really a simple way to do it. Even when I found out what CPU was actually inside (incredibly a 16-bit TMS 9995, an evolved version of the TMS 9900 in the Texas Instruments 99/4 and 99/4A), there was never a Tomy assembler, and other than its small amount of scratchpad RAM (256 bytes) the entirety of the Tutor's 16K of memory is tied up in the 9918ANL VDP video chip. That sort of architecture was typical for the family, but that also means that almost everything is stored in non-executable VDP RAM, so short of burning your own cartridge EPROMs there's no way to actually create and run a machine language program on the Tutor. The first flashcart for the Tutor didn't exist until around 2016 and it was still all ROM; furthermore, while the 99/4A could have its CPU-addressable RAM expanded (as well as the 99/8, its unreleased successor to which the Tomy Tutor is closely related), there wasn't ever a Tutor RAM expansion cartridge either until very recently. But now there are multiple homebrew options even for obscure home computers like this one, and at last I've got my own assembly language program finally running on it.

And it's all done with its own, better I/O routines (if I do say my own better self) as a basis for bigger projects. But first, a little tour of the Tutor itself, and then we'll dig in.

Tuesday, March 5, 2024

xa (xa65) 2.4.1

A quick one: xa (xa65), André Fachat's compatible fast two-pass cross-assembler for 6502, 65C02, R65C02 and 65816 processors that André and I maintain is now at version 2.4.1. This optionally expands the syntax from 2.4.0 and fixes some bugs primarily with relocatable .o65 objects. As usual, there are even more tests in its extensive conformance test-suite, and it is tested on Linux/ppc64le, Mac OS X (PowerPC, Intel and Apple silicon), AIX (its primary development platform, just to be difficult), and NetBSD/macppc and NetBSD/mac68k. You can download it and read documentation in man(1) format (converted to HTML) from the main xa65 home page. xa is free and open-source under the GNU Public License v2.

Saturday, March 2, 2024

An Apple district manager's Macintosh Portable in 1989-91 (featuring GEIS AppleLink and a look at System 7.0 alpha)

A few months ago I introduced you to one of the more notable Apple pre-production units in my collection, a late prototype Macintosh Portable. But it turns out it's not merely notable for what it is than what it has on it: a beta version of System 6.0.6 (the doomed release that Apple pulled due to bugs), Apple sales databases, two online services — the maligned Mac Prodigy client, along with classic AppleLink as used by Apple staff — and two presentations, one on Apple's current Macintosh line and one on the upcoming System 7. Now that I've got the infamous Conner hard drive it came with safely copied over, it's time to explore its contents some more.
We'll start with this Macintosh Portable itself and Apple's sales channel applications, moving from there to a brief presentation of Apple's Macintosh product line as Apple's own marketing staff would have presented it, at a distinct point in the company's history.
After that, we'll also look at the upcoming System 7.0 circa 1989-90 and a couple very different views of the operating system during its alpha phase.
Finally, after a brief glance at Mac Prodigy, we'll explore a little taste of AppleLink in its classic incarnation on General Electric's Mark III network — and spoof it enough to actually get it to log in.

Saturday, February 10, 2024

CAP-X and COMP-X: how the Tandy Pocket Computers got a sucky Japanese assembler

I grew up primarily with the Commodore 64, where if you wanted to do anything really cool and useful, you had to do it in 6502 assembly language. Today I still write 6502 assembly, plus some Power ISA and even a little TMS9900. I like assembly languages and how in control of the CPU you feel writing in one. But you know what would make me not like an assembly language? One that was contrived and not actually the CPU it was running on. And you know what would make me like it even less? If it were kneecapped, convoluted and limited without even proper I/O facilities.

But this particular odd little assembler dialect had the bureaucratic weight of the Japanese government behind it, because in 1969 what was then the Ministry of International Trade and Industry (MITI, 通商産業省) developed a completely artificial processor architecture to help ensure everyone taking the Information Technology Engineer Examination (情報処理技術者試験) would do so on an even keel. No one would have been an expert in this architecture or how to program it because we just made it up, reasoned the Ministry, so therefore no one will have an unfair advantage on the test.

Of course, that lasted only a few years before the specifications got out, and soon afterwards a handful of Japanese manufacturers had added it to their computers as a feature — including their pocket computer line. Through the magic of Tandy badge engineering, two of them made it to Radio Shack stores in the United States in the mid-1980s, perplexing a generation of larval nerds like me who couldn't understand what the heck it was doing there. While it was no secret the Tandy PC-5 and Tandy PC-6 Assembler feature was a fake, few people knew its history or ever did a detailed exploration. Let's dig into the dark and gloomy corners of this utterly bogus virtual CPU that a few real computers ran — sort of — and write our own cross-assembler and virtual machine so that future geeks can be just as befuddled.

Saturday, February 3, 2024

Thou shalt follow these Vintage Computing Commandments

Since vintage computing is supposed to be a spiritual experience, I point out that today, February 3, 2024, the Torah reading for this week is the Ten Commandments. Regardless of your religious tradition or lack thereof, I think we can all agree on these.

  1. Thou shalt check voltage and polarity on new-to-thee power supplies, or thy machines shall be smote and release smoke. This is sometimes very hard to judge without a load, but they should be somewhere in the ballpark, verily, and you should get in the habit of checking any new power supply before using it with your irreplaceable collection. I've been collecting some of the wallwart specifications for early consoles, including the listed values on the casing and the actual nominal values I got with my multimeter.

  2. Thou shalt remove batteries when placing items in storage, or thou will surely go to hell with them. For example, the person who improperly stored this particular Apple prototype is certainly going to hell for ruining an irreplaceable artifact. And not just lithium batteries: any battery. AAs leak too. On my pinball machines the battery holders to maintain the high scores have been relocated to the bottom of the board instead of the top so that gravity won't drag the batteries' corrosive contents all over it.

  3. Thou shalt support the lower half of laptop screens and other hinged computers when opening them, lest they break like an MD5 hash. This is becoming a bigger and bigger problem as plastics age, especially because on some designs the plastic display backs were either load-bearing and/or had metal screw races embedded in them which can tear out. The typical symptom is that the bottom of the bezel cracks when you open it and by then it's too late. Mid-1990s Apple PowerBooks are notorious for this (see our restorations of the PowerBook 1400 and PowerBook Duo 2300c) but it's also a significant problem for many PC laptops of around the same age. Depending on your skill and the location of the attachments it may be possible to reinforce the back of the top display, potentially using some sort of compatible high strength epoxy (JBWeld solves a lot of problems), but this will necessarily fuse some portions of the display together and may cause failures at other points which are now comparatively weaker. In the meantime, I've found the best way to open them is to put your palms on the bottom half of the display back near the hinges as you swing the laptop open, supporting where the attachment sites to the hinges are, so that you prevent the action of opening the hinges from putting further strain on those attachments.

    A similar phenomenon occurs with clamshell pocket computers such as the Casio FX-780P/790P and their American rebadges as the Tandy PC-5 and PC-6. These machines often put substantial strain on the plastic cover directly over the hinge pin, and when this cover breaks, the hinge pin will pop out and potentially damage the wide ribbon cable between the two halves. Once this hinge cover fractures, I haven't seen a good way to repair them because the hinge pin must be able to rotate freely — you can't just fuse the whole thing together. As a result, eBay is littered with used examples where the hinges are now totally shot. You may be able to prevent it from happening if you directly place pressure on both hinge covers with your fingers as you open the case, or put a strong strip of tape between the halves and over the hinges to reinforce the cover and shift the points of strain.

  4. Thou shalt use a head protector or dud 5.25" floppy disk when moving floppy drives, so that they might not clatter, crash or misalign. Yeah, remember those white cardboard head protectors you threw away thinking you'd never use them again? Good times, huh? While a piece of smooth paperboard or cardboard cut to size with a central hole can often suffice, you could potentially damage or warp the spindle if you cut it wrong and force the drive door closed over it, so the safest approach if you don't have a properly made head protector anymore is just to use a physically intact floppy disk that you know doesn't work. (Careful of labels, though.) You don't need to do this for 3.5" drives.

  5. Thou shalt not wrap the power cord around any plastic case, lest the stigmata they cause be grievous. I've mourned otherwise pristine machines with ugly gouges in their cases that neatly fit where the power cord had been. This is due to the plasticizers in the cord which will also plasticize the hard plastic shell of the computer itself — and you don't want that plasticized. Store the cord either completely separately from the main unit or, if it cannot be detached, let it dangle in the box or put a bag over it so it doesn't contact the computer's case.

  6. Thou shalt keep the box and paperwork if thou can, so that future generations may appreciate the context. Besides obviously making the collection more complete, we're all nerds here and computing is a cultural experience. Price tags are great comparison pieces, sales receipts and business cards are themselves historical artifacts, often referencing people and places long since departed, and who'll remember the warranty cards if nobody saves them? Sometimes unexpected letters and correspondence can be clues about what a particular computer or peripheral was used for, and those pack-in product circulars are often useful ways of finding out about what other bits you should have on your list. Plus, if nothing else, the device's original packaging is usually a safe place to store it.

  7. Thou shalt not say "recap!" every time someone else says their computer is broken. In general, this is lazy diagnosis. It's by no means limited to classic computers; classic pinball has the same kind of kneejerk repair response, but it's no less obnoxious. There are definitely systems that are infamously prone to bad capacitors — virtually every 68030 Macintosh and Macs of the same era, such as the Macintosh Portable, will require recapping if they're still on their original set — and some that are at higher risk, such as those from the capacitor plague in the early 2000s. On the other hand, many other machines are just as likely to have problems in other components instead, if not more so. Electrolytic capacitors don't have an infinite service lifetime, but virtually all of my 1970s and 1980s systems are still running fine on their original caps, and those that did crap out invariably experienced a failure in something else. Trying to fix what turns out not to be broke just runs the risk of you ruining something else. Test things first before unthinkingly replacing them.

  8. Thou shalt figure out what thou willst do with thine collection upon thy passing, or all thy hard work will be lost in an estate sale or something. It is possible, and for some folks even probable, that a well-maintained collection will outlive you. Don't let your hard work be lost. We've all had pipe dreams at some time in our collector lives about opening up our own computer museums. For most of us, this dream will never come true, and even the people foolish or bloodyminded enough to qualify for a 501(c)(3) will discover the hard way that museums don't run themselves. Instead, consider donating particularly notable items to those reputable museums that do exist, and making arrangements in either your estate or when you downsize for the next generation of collectors to let your legacy live on with them. Instead of charging money to sell your pieces, have interested parties write you an essay or something about why they'll be a good home — and then make sure they keep a printout with it (as it is written in the Sixth Commandment). Consignment tables at vintage festivals are also good options, or just post a "come and get it" somewhere like the VCF Forums: you're guaranteed to get interest from somebody, because the glory days of finding Atari 800s at swap meets have long gone the way of the Canaanites.

  9. Thou shalt keep thy wife, or thy husband, or thy partner, or anyone else thou cohabits with, we judgeth not, happy and limit the number of rooms thou occupyest. I made a rule I would keep my systems to two rooms and I've (mostly) followed it. The overflow goes in storage units, not into other rooms (mostly). Additionally, it was helpful that my wife knew beforehand what she was getting into (mostly).

  10. Thou shalt not make vintage computing your G-d.

Thursday, January 18, 2024

Reversing the Web-@nywhere Watch: browse fragments of the Web on your wrist

In the halcyon days of analogue modems and POTS dialup Internet, when the only wireless connection in your house was between the cordless phone and the wall, anything having to do with the Web was best consumed in small bites (pun intended). If you wanted to take data with you, you downloaded it first.

Which brings us to this.

Smartwatches at the turn of the century were a more motley assortment than today's, with an even wilder range of functionality. If you had a few hundred dollars or so, there were some interesting options, even back then. But if all you had was $85 (in 2024 dollars about $150), you still weren't left out, because in 2001 you could get the Web-@nywhere (the "Worldwide Web Watch"). Load up the software on your PC and slap it in its little docking station, and you could slurp down about 93K of precious Web data to scroll on the 59x16 screen — 10 characters by 2 characters — to read any time you wanted!

That is, of course, if the remote host the watch's Windows 9x-based client accessed were still up, on which it depended for virtually anything to download and install. Well, I want 95,488 bytes of old smartwatch tiny screen Web on my wrist, darn it. We're going to reverse-engineer this sucker and write our own system using real live modern Web data. So there!

Thursday, January 4, 2024

Niklaus Wirth dies

Reported yesterday. The first computer program I remember in school was Apple Presents Apple, which was written in UCSD Pascal; the first actual compiler I ever used was Turbo Pascal 5.5 (purloined from a campus NetWare server), and the first actual compiler I ever used on the Mac was MacMETH, which is Modula-2. I owe a lot of my computing experiences to Niklaus Wirth. Godspeed.

program wirth(input, output);
begin
end.