Friday, December 30, 2022
Another weird MOS Pong console: 1976 Allied Leisure Name of the Game II
Sunday, December 25, 2022
Merry Old VCR Christmas with Dick Smith and his VZ200
Video Technology designed the VZ200 as their own version of the Tandy TRS-80 Model I, which Dick Smith sold as the System-80 via the EACA Video Genie. While the Video Genie was a more or less straightforward clone of the TRS-80 Model I, the VZ200 uses the basic architecture but with a different memory map, BASIC and video chip (same as the Tandy Color Computer and others). The Z80 runs at 3.58MHz (versus the Model I's 1.774MHz) and some of the BASIC differences were caused by VTech intentionally crippling the BASIC which some extended BASICs partially reversed. VTech also produced a Laser 100 and 110, differing from the 200 primarily in built-in RAM, but Dick Smith never sold those.
The Technical Reference Manual isn't as sophisticated or (at 21 pages) anywhere near as comprehensive as, say, the Commodore 64 Programmer's Reference Guide, but it gives you a simple memory map plus some documentation of the ROM routines, sound and available video modes. It complements the BASIC Reference Manual which the computer came with. The original price tag on the back says it was sold for A$9.50. Even more usefully, however, it also comes with schematics. While the VZ200 is relatively simple hardware with off-the-shelf components, these systems don't come up very often and it would be great to know how to repair it if a partially working unit ends up surfacing. All three system boards are provided.I have to say she outdid herself this year. More when we actually land one of these things. Merry Christmas and happy holidays.
Saturday, December 17, 2022
A minor memorial for Leo Laporte's terrestrial AM radio show
Friday, December 16, 2022
The strange case of BeOS, SRS and the silent Power Mac 6500
My favourite beige Power Mac is the Power Macintosh 7300 and its relatives. They're compact, capable, upgradable and easy to work on. For as much as people raved about the pull-down side door of the Yosemite G3 and the Power Mac G4, they owe their design to their fold-out Outrigger Power Mac ancestors which did it all and did it horizontally — and in some ways did it better.
However, when it came time to setting up a second PowerPC BeOS system to go with my 133MHz BeBox (the two run the same applications), although the Outriggers are well supported in BeOS 5 I decided to get a tower Mac for space reasons. Since NuBus, G3 and New World Macs were out (not compatible with BeOS) there's only a few choices, namely the 8500, 8600, 9500, 9600 and the 6400 and 6500. I despise the 8500 case (I only tolerate my clock-chipped Quadra 800 in the same style because it runs A/UX so well), the 8600 is bulky, and while all beige Power Macs have succumbed to the general price inflation that has afflicted every corner of vintage computing, the 9500 and 9600 6-slot Power Macs have really taken it on the chin (and the 9600 is bulky too).
That left the Insta-Towers, or what I like to call the Stormtrooper Macs:
Friday, December 2, 2022
Magic Cap, from the Magic Link to the DataRover and the stuff in-between
Sunday, November 27, 2022
Refurb weekend: Sega Dreamcast
However, the Dreamcast was also not very future-proofed as it was the only fifth-generation console not to use DVD format (even the "mini" discs of the GameCube stored more), and Sega's attempt to outrun Sony and Nintendo's new offerings with deep discounts only served to make the console unprofitable faster. Sega announced the discontinuation of the Dreamcast on March 31, 2001, and slashed the cost to $99. I'd heard good things about it, I'd played Crazy Taxi in the arcades, and there it was at Fry's (rest in peace) at a price I could afford as a starving student, so I picked one up. Games turned up in quantity at lower prices and I even managed to land a Broadband Adapter and a keyboard and a light gun and a mouse and the Seaman microphone and even the fishing reel controller. There's also an SD card reader plugged into the back expansion port I can play disk images off.
Although I've picked up a couple other Dreamcast and Dreamcast-adjacent systems since, I still have the original one in my office. Its internal battery used for storing settings had long since worn out, requiring me to enter the date and time every time I wanted to play a game, but then it wouldn't read any discs other than SoulCaliber. I mean, I like SoulCaliber, but this was ridiculous. No Crazy Taxi? It's time for ... a Refurb Weekend!
... after we play a game of SoulCaliber.
Saturday, November 12, 2022
Meet your new two-factor authenticator: your Commodore 64
But just try misplacing a Commodore SX-64. And any thief who tries to grab it and run gets a free hernia truss from the prison infirmary:
Plus, I've got a colour for every key! And it actually works: The terminal window is showing a generated time-based one-time password for a full key, and the emulated 64 is showing the correct key, at the correct time, which was known and tested to be valid. Yes, you really can use your Commodore 64 for multi-factor authentication to generate TOTP codes!
Sunday, November 6, 2022
Running a pinball game from a disk image doesn't make me a pirate
In this case it didn't deter them either, because I became aware of a crack for Big Race USA that will happily play the game from a CD image. My "gaming" classic Mac is a Power Macintosh 7300 with a 800MHz Sonnet G4, an ATI Rage Orion (a Mac-specific 16MB Rage 128GL which has fewer compatibility problems with older games than the Radeons), a gig of RAM and two 18GB SCSI drives. That's more than enough space to save disk images for games and most of the games (that don't require redbook audio tracks) play from one, which is both faster and less wear on the optical drive. Big Race USA and Fantastic Journey both refuse to.
The Web runs a unique executable, but the others use a more or less common runtime. This gave me hope that Fantastic Journey could be broken in the same way that Big Race was. Let's have a look.
Saturday, November 5, 2022
Refurb weekend: Commodore SFD-1001
This SFD came to me from a seller who said while it powered on it also made a weird noise and he had trouble inserting disks. Nevertheless, it's still an odd enough duck it was worth buying to see if it was repairable. We have an extra hour this weekend from the daylight savings change, so let's crack this sucker open.
Sunday, October 30, 2022
If one GUI's not enough for your SPARC workstation, try four
This particular machine is a fairly upgraded unit thanks in large part to Stephen Dowdy, formerly of the Solbourne Shack and the University of Colorado, where he maintained them. In particular, besides tons of OS stuff and documentation, the SBus RAM expander card giving this machine a total of 56MB ECC RAM came from his old S3000, and it also has a SCSI2SD along with a 256K L2 cache CPU module stolen from an S4100. The 1152x900 monochrome display is compatible with the SBus bwtwo. Just like I retain a great fondness for PA-RISC because it was my first job out of college, I have similar affection for Solbournes because one of my first undergraduate Unix accounts was on a department Series6.
KAP was an interesting processor with a great name, but its sometimes serious issues more or less directly led to Solbourne's demise as a computer manufacturer because Matsushita wouldn't let them walk away from its sunk design costs. Still, it was good competition when it was new and OS/MP was nearly 100% compatible with SunOS 4.x (4.1C, the final release, is equivalent with SunOS 4.1.3), so what you're really looking at is a SPARCstation "clone" of sorts with the hottest display this side of a Al Gore climate chart.
And it turns out that particular computing environment was really the intersection point for a lot of early GUI efforts, which were built and run on Sun workstations and thus will also run on the Solbourne. With some thought, deft juggling of PATH and LD_LIBRARY_PATH and a little bit of shell scripting, it's possible to create a single system that can run a whole bunch of them. That's exactly what reykjavik, this S3000, will be doing.
Sunday, October 23, 2022
Battery Eliminator Bible: what's in that classic console AC adapter
- Allied Leisure Name of the Game (Electro-Mech Co. #1076): 5.5mm/2.1mm barrel jack, tip positive. This thing is a liar: the casing says 7.8V 30mA nominal, but I got a straight-up 6V on the multimeter. Works with both the Name of the Game I (A-100) and II (A-300).
- Atari Pong Battery Eliminator (part# 4720/model# 4-0033-2): 1/8" TRS (3.5mm mono headphone) jack, tip positive, nominal 5.5V 100mA, measured 5.8V. However, 6V should be just fine, since it takes a total of 6 volts in batteries. Should work with all Atari Pong consoles (I use it with my Ultra Pong Doubles).
- Atari VCS/Atari 2600 (part# C016353): 1/8" TRS (3.5mm mono headphone) jack, tip positive, nominal 9V 500mA, measured 14V. Advertised as compatible with Atari Video Pinball, Atari Stunt Cycle and Atari Tank II. Also works for the CX-2000 if you have one. ;)
- Bally Astrocade. This is not detachable unless it was secondarily detached. Reading off my working wallwart, "blk-red grn-wht 85mA, 10.8VAC red-grn 1A, 7.5VAC." I'm not chopping it off to test it!
- Coleco Telstar (model# 6041): 1/8" TRS (3.5mm mono headphone) jack, tip positive, nominal 9V 200mA, measured 10.6V. I use this very adapter with my Telstar Arcade and Telstar Gemini, but the box says it works for the entire Coleco Telstar range.
- Commodore Type 708 AC Adaptor: 1/8" TRS (3.5mm mono headphone) jack, tip positive, nominal 6V 250mA, measured 6.7V. This was sold for the Commodore TV Game 3000H but should work with the TV Game 2000K.
- Magnavox Odyssey 3000 (model# AH9026BK01): 2.5mm TRS (mono headphone) jack, tip positive, nominal 9V 100mA, measured 9.8V. I'm told this will work for most of the other Magnavox Odyssey series except the Odyssey2 and Odyssey 4000, and the Philips Odyssey 2001 and 2100 (and naturally any of the Videopacs).
- Radofin SC8000 (model# 9100): 2.5mm TRS (mono headphone) jack, tip positive, nominal 9V 100mA, measured 10.1V. Likely works for other Radofin consoles like the SC4000.
Friday, October 21, 2022
Refurb weekend: PowerBook 1400
It's that modularity (plus an exceptional keyboard) that makes the 1400 a particularly wonderful machine: over time I added a Sonnet 333MHz G3, extra RAM (the cs supports up to 60MB), a Apple 8-bit external video card and a 3Com EtherLink III PCMCIA NIC (which I hacked up a driver for), all on top of the 56K modem he installed and the floppy disk and CD-ROM drive bay modules it came with.
Plus, those delightful swappable covers!
Wednesday, October 19, 2022
One more MOS 7600 Pong: Coleco Telstar Gemini
Briefly in the last entry but mostly in the one previous I discussed the unusual 1978 Coleco Telstar Arcade console in its unique triangular form factor, which had one of four variants of the MOS 7600/1 "Pong-in-a-chip" CPU in each cartridge, the specific variant containing its own mask ROM and shape table data. To maximize its investment and possibly to compete with Atari's Video Pinball which came out in 1977, Coleco essentially took their cartridge #3 with the MOS 7600-004 pinball-and-skeet variant and turned it into a standalone console of its own, the Coleco Telstar Gemini, also in 1978. (Although easily confused by modern collectors with the Coleco Gemini — no "Telstar" — which was their 1983 Atari VCS clone, neither was a sales contemporary of the other.)
This unit was an eBay find that was advertised as not working and priced accordingly. As expected, it works just fine with a Telstar AC adapter which I happen to have (I'll do a followup with some of the console wallwarts in my collection since the polarities and voltages are not always listed).
Saturday, October 15, 2022
IR-controlling the new air conditioner in the vintage server room
Previously we talked about monitoring the portable air conditioning unit keeping the server room cool. The SMS gateway, basically an overgrown Raspberry Pi, uses a USB decibel meter to report ambient noise volume in the room, from which we can extrapolate the state of the air conditioner's compressor and fan. The Sawtooth Power Mac G4 file server (and radio station) logs the temperature and humidity with a USB sensor of its own. The portable A/C unit exhausts warm air through a duct to the roof so the room can remain secure, and a turbine spins the hot air away into the atmosphere.
Unfortunately, what all this monitoring showed was the A/C unit was crapping out. The house central A/C's compressor died abruptly this summer after over two decades, naturally during the hottest part of the year, and it took nearly a week and $14,000 to get it dealt with (it was an old R-22 system and thus everything had to be replaced). The portable A/C was itself almost 11 years old by this time, and after that bad week running nearly non-stop started making an ominous unbalanced low warble from its exhaust fan. This got to the point where it was unable to clear its own condensate and a couple days where I had to empty the drain pan about every 12 hours, versus never having to before (not a great deal of humidity here). I like old computers, but I try not to accumulate old broken computers, and that goes double for old broken air conditioners. It was time for a replacement.
Saturday, October 8, 2022
Going where BeOS NetPositive hasn't gone before: NetPositive+
(How do you pronounce BeOS?)
This is a real 133MHz BeBox running otherwise stock BeOS R5, surfing Hacker News and Lobste.rs using a modified, bug-fixed NetPositive wired to offload encryption to an onboard copy of Crypto Ancienne (see my notes on the BeOS port). NetPositive is the only known browser on the PowerPC ports of BeOS — it's probably possible to compile Lynx 2.8.x with BeOS CodeWarrior, but I've only seen it built for Intel, and Mozilla and Opera were definitely Intel/BONE-only. With hacks for self-hosted TLS bolted on, NetPositive's not fast but it works, and supports up to TLS 1.2 currently due to BeOS stack limitations.
Saturday, September 24, 2022
The MIPS ThinkPad, kind of
I'll give you another hint.
Bright-red TrackPoint and mouse button trim, classic keyboard font, IBM logo on the top. It's a ThinkPad ... right?Well, obviously someone on IBM's design team wanted you to think so. But turn it on and it itself announces it's not a ThinkPad:
Say hello to the RISC ThinkPad that's not a ThinkPad, the IBM WorkPad z50.
Saturday, September 17, 2022
Refurb weekend: New batteries for the Palm Pilots
Thursday, September 15, 2022
Confirmed! the MOS 7600/7601 Pong chip is a true microcontroller
The question at the time was whether the 7600 actually had ROM in it (i.e., was a true microcontroller running a stored program), or whether it was simply playing games using discrete circuitry. The Telstar Arcade — and its relative, the confusingly named Telstar Gemini, not to be confused with the separate Coleco Gemini — demonstrated that other variants of the 7600 were capable of more sophisticated games than just ball-and-bat Pong variations, including primitive versions of pinball and road racing, even though most systems using the 7600 used it purely for Pong. On the other hand, no data sheets have survived to the present day and at the time my Google-fu uncovered no die photos to review, so I could find no substantiation for the occasional claims that it did.
Well, we now definitively know the answer and a bit more thanks to Sean Riddle, who actually did decap and photograph a 7600-002 die (the variant in Telstar cartridge #1, with racing, Pong and skeet shooting) and a 7600-001 (the most common three-Pong-and-skeet variant used in many machines, as well as in Telstar cartridge #2), and to Ken Shirriff, who made an extensive survey of the die, discussed with Sean and I attributes he noted, and posted a thread about it. Here's my own summary of the discussion plus a few other details I've run across since writing the original post.
Sunday, September 4, 2022
What the KIM-1 really needs is bubble memory (plus: 20mA current loop for fun and profit)
But, of course, if you've read this blog for any period of time you know I don't go in for that sort of new-fangled nonsense around here. I like my retrocomputing frivolities period-correct. What the KIM-1 really needs as a mass storage medium ... is bubble memory.
Saturday, August 20, 2022
Plua 2 continued: open source under GPL for your classic Palm
Well, Marcio has uploaded the source code for Plua 2.0 itself, which I have patched up to build on my Power Mac G5. This is really great to see because now the runtime can be updated with more features and for more devices, particularly the wide-screen AlphaSmart dana.
Sunday, August 14, 2022
The dark ages of history, circa 2030
Friday, August 5, 2022
The Pong you could program, possibly: the MOS 7600/7601
When people think microprocessors that MOS Technology made, they think of the 6502 and its many derivatives, as one should (which are of course frequent topics on this blog too) — but there might have been another one.
In the nethermists of time when polyester ruled the earth, G-d (or at least Al Alcorn) created the Pong machines. These started out as discrete logic that was hard-wired to play the game, both in the original 1972 Pong cabinet and then miniaturized for the Atari 3659 Pong-in-a-chip that was in the first home Pong console (sold through Sears) in 1975. By greatly reducing the component count Atari's new chip made the console cheaper to produce and assemble, significantly aiding mass production. Here at Floodgap orbiting headquarters we have an original Atari Ultra Pong Doubles with the later C010765, referred to as the "ultimate" Pong with 32 game variations for up to four players, and the last and mightiest of the Atari first-party consoles circa 1977. Still, like the original 1972 Pong, it was nevertheless controlled by hardwired logic; ultimately it just played Pong, and that was it. But that's not what this entry is about.
The Pong console wasn't the first home console; that was of course the 1972 Magnavox Odyssey, developed by Ralph Baer as a side project for defense contractor Sanders Associates, and licensed to Magnavox for sale. (For that matter, it wasn't even the first home Pong console: that was arguably the Universal Research Labs Video Action II, which ran ads for Christmas 1974 in an attempt to sell unused inventory made for ailing Pong licensee Allied Leisure and beat most of the others to market in 1975 by a couple of months.) However, it was the first Pong-in-a-chip, something the other fledgling semiconductor companies had yet to duplicate. Texas Instruments was supposed to be developing a single chip implementation for Magnavox's sequel two-game Odyssey 100, but it wasn't ready until later that year for the Odyssey 200, and the 100 ended up with four chips instead despite its simplified games. But that's also not what this entry is about.
The other thing Magnavox had besides their early market advantage was Ralph Baer's patents, and a plausible legal case. Atari themselves capitulated in 1974, determining they lacked the resources to invalidate his patents, and paying a settlement and licensing them instead. Other vendors followed suit. One of these companies was General Instrument, who devised their own black-and-white Pong-in-a-chip called the AY-3-8500, also in 1975. Ralph Baer was aware of its development from the licensing process and had a previous informal relationship with toy company Coleco's president Arnold Greenberg. This exchange was all business: Baer's patents represented a significant source of income to himself and the company he worked for, and if GI could move a lot of chips there'd be a big piece of the action in it. Coleco became GI's first customer and built the AY-3-8500 into the 1976 Coleco Telstar, which went on to sell roughly a million units. The AY-3-8500 was thus firmly established in the market and even Magnavox used it for subsequent Odyssey consoles to the great chagrin of Texas Instruments, including the 1977 Odyssey 3000 which we also have at Floodgap Orbiting HQ. But that's not what this entry is about either.
The AY-3-8500 naturally had its competitors, and Magnavox-Sanders-et amis got a piece of them too, though the design was so cheap and easy to work with that General Instruments crowded most of them out of the market. Besides TI, National Semiconductor introduced the colour MM-57100N, but despite its capabilities was too expensive to dislodge the market leader (and even its graphics advantage was eroded by the AY-3-8515, which was a bolt-on colour encoder for the 8500 and incorporated into later chips). However, there was one company at that time that was very good at making cheap chips cheaply, and it needed money fast. That company was MOS Technology, and finally that's what this entry is about.
Friday, July 15, 2022
Crypto Ancienne 2.0 now brings TLS 1.3 to the Internet of Old Things (except BeOS)
And what are those supported platforms? Why, here's some of them as they were being cruelly whipped to perform like beaten dogs for your entertainment:
Wednesday, July 13, 2022
CP/M is (more) officially open source
Let this paragraph represent a right to use, distribute, modify, enhance, and otherwise make available in a nonexclusive manner CP/M and its derivatives. This right comes from the company, DRDOS, Inc.'s purchase of Digital Research, the company and all assets, dating back to the mid-1990's. DRDOS, Inc. and I, Bryan Sparks, President of DRDOS, Inc. as its representative, is the owner of CP/M and the successor in interest of Digital Research assets.This was to clear up an apparent earlier misunderstanding that Sparks' earlier open release of CP/M in 2001 was restricted to distribution via a particular site. Sparks clarified this was not his intent.
Overall, would I prefer a more conventional open-source license? Sure. But he didn't have to do this then, he didn't have to do this now, and he did. So, thanks, Bryan.
Saturday, July 2, 2022
A brief dive into Power Mac INITs and NVRAM scripts, or, teaching Mac OS 9 new device tricks
However, because QEMU is a much lower-level emulator, that means that things like mice are also emulated, and that tends to chug a bit even with QEMU's JIT (currently KVM-PR, the virtualization system for Power ISA, does not work properly with Mac OS 9 in QEMU for reasons that have not yet been determined). If you use the default mouse support, the mouse is entirely maintained by the operating system and the polling frequency is just slow enough to be frustrating, and you have to grab and ungrab it all the time. The normal solution is to use an absolute pointing device like the QEMU tablet and solve all these problems at once, but the classic Mac OS doesn't support it and the existing Wacom driver doesn't work. (SheepSforza, on the other hand, hooks the system mouse and system mouse pointer into the guest OS, so it's much more responsive and transparent if I do say so myself.)
To support this and other QEMU virtual devices requires updating the guest Mac. And, happily, there are now two approaches at least for doing so for the QEMU tablet, which make an interesting comparison on how we could get other devices supported on the classic Mac OS.
Sunday, June 26, 2022
Overbite Palm 0.2
Saturday, June 11, 2022
prior-art-dept.: ProleText, encoding HTML before Markdown (and a modern reimplementation)
Markdown circa 2004 has displaced most of the others today, but it explicitly never claimed to be the first such human-readable format; indeed, AsciiDoc predates it by about two years, reStructuredText a year before that and MakeDoc about a year before that. For that matter, some of the concepts popularized in Markdown might not have existed at all were it not for earlier ancestors like 2002's Textile.
But a forgotten rich text language predates most of these, with the interesting property in that much of the markup is encoded using trailing whitespace, almost a fusion of in-band and out-of-band styling systems. If the whitespace is munged, it's largely just a text document (like those particular Mac files if you pass along only the data fork); but if it passes through intact, an intelligent converter can use attributes encoded in the whitespace to style it into HTML. That system is ProleText.
Monday, May 30, 2022
So long, home T1 line; hello, hacking the T1 router
T1 lines have never been cheap, though back in the day they were prized because at 1.536 Mbit/s each way they were comparatively high capacity. At my first job out of college in 1997 the university had a T1 connected to an AdTran CSU/DSU, adding more T1 lines on and bonding them for additional bandwidth until they upgraded to optical fiber. A friend of mine in the very late 1990s had his own residential T1 (this was when consumer DSL was uncommon and 56K dialup was still frequent) that his employer paid the bill for, reportedly close to a cool grand a month in those days; he would never been able to afford it otherwise. On a cost basis alone (and certainly dollars per megabit) a T1 would have been far from my first choice, but I needed a reliable server-grade connection and I couldn't find any other alternatives at the time, so if I wanted to get my hardware back online from the house I was going to have to pay up and get one. Rather than use the actual telephone company I went with an overlay vendor and was quoted $295 a month on an annual contract for a 16-address netblock plus $199 installation. Now going into my fourth week of downtime, I signed immediately. They called the telco who came out the next week, installed the smartjack (we'll talk about what this is), took over both telephone wire pairs to the house and wired it into the pedestal — conveniently, the local telco pedestal is literally in my backyard. Good thing I'd already moved the house alarm modem to a wireless connection since I could no longer have a landline now. I then ran lines from the smartjack into the server room (thanks to the telephone guys I used to work next to when I was consulting I already had good experience with a punchdown tool), the vendor came out the week after that with the T1 router, and finally Floodgap was back up.
The original idea was to use the T1 until something less expensive came along, but the T1 just plain worked and was always highest priority on service calls, so inertia and inflation eventually turned the $295 a month into $399 and a 12-month contract into 48. Still, it was a tariffed line with a service-level agreement, I had plenty of addresses and my personal bandwidth requirements have always been modest — I don't cloud, I rarely stream and YouTube is worse than television — so I ended up just using the T1 as my personal ISP at the same time and avoiding a second bill. This worked out fine for awhile except, of course, for love. My wife needed her Netflix and her iCloud, and by then the previously intransigent cable provider had been bought by someone else (fiber? hahahaha) who didn't know any of the previous history; they came out and finally pulled an RG-6 cable run five years after the fact, and switched us on. I moved the Wi-Fi to the new cable net and her bandwidth needs were thus met in the manner to which she was accustomed. We joke about the his'n'hers networks: I still had my lab and servers on the T1, and everything else including her devices was on the cable.
Well, it was good we did that because I mentioned in January this year that the vendor (which had changed owners twice over the years) was abruptly getting out of the residential T1 business and I had a month before it was switched off. I may well have been their last customer in the region. So I'd like to publicly thank John who reached out and offered a no-strings VPN arrangement — which I'm routing over the cable — to keep Floodgap online while we consider our housing options in a market as bad as it was good when I first bought the place. We turned the VPN on and the vendor turned the T1 off. They never asked for the router back and the smartjack still sits in the back of the house.
Now it's Memorial Day in the United States and I suppose I'll have to do something about that now superfluous wiring run sometime soon. Before I do, though, let's document the T1 for a generation who may have never seen one ... and figure out something fun to do with the router they left behind other than, you know, routing stuff.
Like every computing story, this one begins with a box.
Wednesday, May 4, 2022
Gopher on the Palm Pilot and the pitfalls of PalmOS connectivity
In 2004 I was working on a gopher client for my Palm m505, written in Lua using the new hotness of Plua 1.x, which supported UI, graphics and networking built-in. I christened an early implementation as "Port-A-Goph" and it even got a mention in Wired. Due to socket bugs in that version that never got fixed, I deferred the release until I could rewrite Port-A-Goph for Plua 2. Over the next few years I worked on it intermittently but got distracted by other projects, and eventually after moved to iOS and then Android I stopped carrying a Palm around with me entirely. Since I have my own Gopher client on Android, the PalmOS version sat in suspended animation.
Well, it's time to dust off the resurrected Port-A-Goph, newly christened into the Overbite client family as Overbite Palm. Along the way we'll make sure it works on a selection of real hardware:
Sunday, April 10, 2022
Tonight we're gonna log on like it's 1979 (Telenet, Dialcom and The Source)
Monday, March 28, 2022
prior-art-dept.: 5 letter words (Jim Butterfield's Jotto)
Friday, March 25, 2022
xa 2.3.13 and dxa 0.1.5
dxa's development was a little more colourful. This started with a file that didn't disassemble correctly (Paradoxon BASIC from 64'er, as it happens) because apparently d65 was never able to handle files that stretched riiiiiiiiiiiight up to the very last addressible byte ($ffff), let alone files that overflowed the addressing space or were bigger than 64K. However, even with that problem fixed, this particular test file also caused dxa to emit completely nonsense branches with unpossible displacements and even jumps to non-existent labels. This violates its core guarantee that you should be able to take dxa's output, feed it back into xa and get the binary you started with. It turns out that this is due to some weird C casts used for interpreting relative branches, so I made them more explicit, plus changes in the C preprocessor that caused the macro to check if a label exists to evaluate to true in one place and false in another. I think this file made a great test vector, so now dxa has a test suite too (make test; xa is naturally required) using it and a DOS wedge routine, and I'll probably throw in more exemplar code in the future. This new test suite is already earning its keep: it found a new bug when dxa is compiled with clang, which required even more reworking of the same section and some nearby code. Interestingly, even though now the test suite passes on all the same platforms as xa, dxa-built-with-clang generates subtly different output than dxa-built-with-gcc despite the fact the assembly files they both generate will yield bitwise identical binaries. Most of this seems to circulate around detecting vectors; clang flavour finds this in some places that gcc doesn't and vice versa. It's deterministic and predictable, but I'm not sure which one of them is "doing it right," so for now it'll be a curiosity until I can dig more into the differences.
Both xa and dxa are available under the GNU Public License v2.
Wednesday, February 23, 2022
KIMdle: Sorta-Wordle for the KIM-1
Wordle mania (trademark, probably, of the New York Times) continues. My wife and I, who bonded over word games and later got married because that's how you pick a good life partner, play daily on a private instance, except that she's 19 hours ahead so she has to be careful not to give out spoilers. Retro has gotten into the action. There are Wordle ports for Windows 3.1, Palm Pilots, Game Boys and at least three versions for the Commodore 64, such as this, this and this poop themed one called Turdle, ha ha ha.
Still, however, while these ports ditch dependence on JavaScript and HTML, they still rely on other modern conveniences such as, you know, a screen, a keyboard, and multiple kilobytes of RAM.
You see where I'm going with this.
Thursday, February 17, 2022
Refurb weekend: Texas Instruments Silent 700 Model 745 teletype
Friday, February 4, 2022
Overbite Android 0.2.6
Overbite Android 0.2.6 is available, the (persistently alpha-quality) native Gopher client for Android. This is merely a maintenance update for version 0.2.5 to fix visual issues with dark mode and Android 12, and a couple edge crashes. The screenshot is from my Pixel 6 Pro (the camera still crashes on it, Google, damn your eyes) running Android 12 but this release will still work with and is tested all the way back to 4.0.3 (Ice Cream Sandwich). After all, this is a retrocomputing blog! Source code for Android Studio (built with Bumblebee) is available under the BSD license.
Unfortunately, it is likely that 0.2.x will be the last release of Overbite Android to support OS versions prior to 9.0 (Pie). This is because right now I'm running Android Studio on an M1 Mac (hoping to get it working properly on my Talos II, but not there yet) and it is apparently not possible to run API 27 or earlier under the emulator. (I tried myself and it just dies immediately. There should be a way to make it run within a full system emulator, but it doesn't.) For testing purposes I dug out an Intel MacBook Air with a previous version of Android Studio, booted up a emulated Galaxy Nexus with 4.0.3 and checked the APK installs and runs, but this is rather inconvenient to test with for obvious reasons, and Google doesn't make it easy for you to keep working with old Android versions if you're trying to also support new ones. For the time being, though, I still think supporting a 10+ year old release of a mobile operating system is pretty darn good, and if I do any other 0.2.x bugfixes I will at least test them to the extent I can on Android 4 before release.
Yes, I know Overbite Android still doesn't do downloads yet. This is largely laziness on my part, since I'm only scratching the itches I personally have, and I haven't needed to download files via Gopher to any of my Android devices so far. But that's probably the major feature I plan to introduce in 0.3 when I get some time to sit down and actually write the support.
Old releases compatible back to Android 1.5 (Cupcake) are still available, including source code.
Saturday, January 15, 2022
prior-art-dept.: OWL Guide, early hypertext, and "replacing" the Web
Of course, hypertext didn't start with the microcomputer; one of the earliest document-oriented forms (as opposed to card- or frame-oriented like HyperCard or KMS, as well as other concepts) was the 1967 Hypertext Editing System, running on a partition on an IBM System/360 Model 50, contemporary with the baroque but much celebrated oN-Line System which formed the basis for the 1968 Mother of All Demos. However, the microcomputer was where it started to gain steam, with early text-only implementations like the DOS-based 1983 PhotoQuery, which became TIES in 1984. TIES' key innovation was advancing the convention that the text itself contained the links embedded within it, rather than navigating using external numbered menus, codes, icons or other gadgets. (TIES later evolved into HyperTIES, which in 1988 introduced early implementations of imagemaps and style sheets using its own "HTML" [HyperTIES Markup Language] for screen design, also based on SGML. HyperTIES was credited as the first instance where hyperlinks are blue.)
This was a natural fit for GUIs, and hypertext/hypermedia flourished on the early Macintosh. Naturally everyone remembers HyperCard and its various clones, the archetype (but not the prototype) of card-based hypermedia, but one of the earliest hypertext systems on any desktop computer was OWL Guide for the Mac, dating to 1986.