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!