I'll open with the happy fact that my knees feel great! I mean, they're still the knees of a 66-year-old fat man, but they don't hurt! I never even mentioned the pain in my knees to the doc, because I just thought that was part of aging.

It's pretty remarkable. It hurt just standing up. I was making a conscious effort not to groan every time I got up. And mostly failing. Getting into my friend's little Miata when I was up in New York a couple of weeks ago amounted to sliding my ass over the seat back and then just dropping into the seat. I hated carrying the luggage up the stairs in Martha's Vineyard, likewise the place I rented in Clifton Park. No stairs here, so it was mostly standing up and sitting down and riding the bike.

They would ache just lying in bed at night.

Anyway, I really appreciate the "miracle of antibiotics."

On to other things.

I've been playing round with BASIC on the old handheld computers from HP and TI that I have, and of course comparing them with Applesoft using Virtual II. That got me into playing around more with Virtual II, and cleaning up the directories full of crap I collected several years ago when I was more into the whole "retrocomputing" experience.

Well, I've always been kind of interested in the Apple ///. Like the Lisa, the G4 Cube and maybe a couple of others, the /// was expensive and a marketplace failure. But it was a pretty sophisticated design for an 8-bit machine back in the day. I recall seeing one in person at a computer show in Virginia Beach. It was the full stack, with the Profile hard drive, designed to fit perfectly between the CPU and the Monitor ///. It looked very cool. Very serious.

I was still running a 40-column 48K Apple ][+ with one floppy drive, so even the UI looked unfamiliar.

Today they're still expensive, so emulating them in software is about the only practical way to experience what using them was like.

The thing about the /// was there wasn't much about the machine that was defined in ROM. Back then, it was thought that people wanted to buy a computer and be able to do something with it, right out of the box. So nearly all of them shipped with a console or monitor ROM to handle basic I/O, like the keyboard and video output, and something to handle getting data in and out of a cassette tape interface (cassette recorder not included). And some flavor of BASIC was built in so it would "do something."

The /// was like the IBM-PC, in that all that stuff was built into the OS that was loaded from disk at startup. CP/M was like that as well. You know, "business computers" versus "home computers."

Anyway, running an emulator involves having a copy of the ROMs. These are usually binary files and they're not hard to find on the web, with people often being coy about where they are because they contain copyrighted code, so they aren't built right into the emulator itself.

The /// was based on the 6502 processor, same as the II, so it had a 64K memory space. There have been ways around that by using "bank switching" for many computers for years. The /// was designed from the ground up to do that, using MOS 6522 Versatile Interface Adapters to help manage that and other aspects of the machine. Partly for its design, partly for its lack of success in the marketplace and consequently limited "affection" from the retro-community, there hadn't been a really "good" emulator for the /// for many years.

Well, that's all changed now, and MAME has what I understand is the very best emulation of an Apple ///. I recall trying to run MAME many years ago and giving up in frustration. I use Virtual ][ as my Apple II emulator. It's very high-fidelity and offers most of the peripheral devices I care about. It's a turnkey solution, download and install that app, install the ROM(s), pay the license fee and you're good to go.

MAME is a command-line thing, and while I don't hate the terminal, I don't spend much time there. So this other guy, Apple retrocomputing wizard Kevin Sherlock, has made a MacOS GUI frontend called AMPLE, which also installs MAME. But not the ROMs.

Because of course.

So I spent Friday and part of yesterday trying to get an Apple /// up and running using AMPLE. There isn't a clear "how-to" anywhere that I could find. MAME likes its ROMs in .zip files, which wasn't clear to me initially. Then it was a bit of an easter egg hunt to find the right ROMs in .zip format. (They're at the Internet Archive.)

I couldn't get the thing to run. AMPLE offers a log window, and it was always complaining about not finding the ROM file, and some other nonsense. ChatGPT suggested my .zip files were corrupted somehow, based on the error messages. I basically kept easter-egging the thing, swapping files in and out of the ROMs folder, and it eventually booted.

Apparently the disk image I was using for startup has some kind of strange character set installed because the screen had weird characters instead of dashes defining the borders of the various sections of the SOS Utilities screen.

Having at least got the thing to boot, I stopped. Soon I'll easter-egg disk images until I get a clean one. I need to figure out ROMs for the clock and the hard drive emulator too.

I did get to play Andy Hertzfeld's Atomic Defense game. You launch your ABMs using the arrow keys, though I'm not certain about the mapping. You use the numeric keypad to control the aiming cursor. The game was mostly notable for using one of the graphics modes on the ///, which later became part of the 128K //e, that allowed 16 colors on the "hi-res" screen.

Ultimately, I want to get Business BASIC up and running, and Pascal ///, which is very similar to the Apple II version.

After I got the /// kind of running, I tried to find my Apple II Pascal setup. I recalled that I'd created a set of disk images that mirrored the setup I had on my real Apple //e. It had a RAMWorks 1MB memory expansion card installed, and I'd found the RAM-disk drivers from Applied Engineering, which included scripts for moving all the essential parts of UCSD Pascal to the RAM disk. You could go from editing your source code to compiling it to running it without any disk swapping, and it compiled much faster. Not as easy as just typing "RUN" from BASIC, but not much harder either.

Happily, I found those, and they still work.

One of the best purchases I made on eBay back then was a pretty much NIB ("new, in box") Apple Pascal package, for version 1.2. (The very last version was 1.3, but I.2 included all the new stuff to support a 128K //e.) Being the philistine that I am, I threw away the box, and gave the disks away with all the other Apple II stuff I gave away to that kid from Tampa.

But I kept the manuals. Because they are pristine. And they included the Luehmann and Peckham Apple Pascal, a hands-on approach, paperback. Along with the 1.2 spiral-bound supplement, and a bunch of errata sheets. Pretty sweet.

So I pulled those off the shelf last night and tried to re-acquaint myself with the OS, because it's different enough to be confusing.

I do all this because it recalls, at least for me, a faint echo of the "sense of wonder" I had for computers back then, and mostly haven't felt since.

It was a nice feeling.

Almost as nice as pain-free knees!

I suppose I should tag this post "tl;dr."

Originally posted at Nice Marmot 05:22 Sunday, 8 October 2023