TimeOut Spellcheck's 5L bug

February 11th, 2019 11:50 AM
by
Filed under Software showcase;
3 comments.

A few months ago, I detailed the "unliprobablyo" bug in AppleWorks Classic's TimeOut Grammar module. But there's another bug that's even more inscrutable. Although I've never personally encountered it, it is such a strange an inexplicable phenomenon that the revelation of its existence has stuck with me for decades.

For many, AppleWorks was their first access to a spellchecker. Although an imperfect tool that often lacked context and was unable to differentiate homonyms, it still introduced an unprecedented level of quality assurance to all writing, from simple to complex.

To this day, I've never encountered a spellcheck with a more efficient and intuitive interface, allowing me to select misspelled words from an alphabetical list instead of going through the document and forcing me to take action on each suspect word. This approach allows me to quickly skip over proper names, acronyms, and abbreviations.

But there was one abbreviation that, in a very specific context, could bring the whole house tumbling down. To the best of my knowledge, it was first reported by Tony Diaz on GEnie on November 1, 1996, as captured in GenieLamp:

I think I have stumbled on something here, and quite frankly, I for the life of me, just do not get it. Some history: I am starting to catagorize my Apple II Collection, I decided to start on paperwork. With the intention of eventually putting major portions of the list into an html table for posting on my Apple II Information web site. That is why I chose to just use the word processor instead of a data base file for this particular part of it, (some of you may say, why not use the database after I describe what lead me up to this.) I have my file boxes (Hanging folder cardboard boxes) labeled 1-12 at this point and the folders A-Z within. The stuff is in no particular order at this point which is why I just figured I'll make a quick list, save it as a TAB delimited format, import it into a database later and swap stuff around, alphabetize/catagorize it… I sure wish I started that way and then I would have had this mess.

Here is an example what I was doing.

 Name                                           What       Box/Folder
 --------------------------------------------------------------------
 Wico Joystick Dealer Kit                       Hardware           1A
 Titan Technologies Dealer Kit                  Hardware           3C
 Analytical Engines Saybrook 68000 Fliers/Kit   Hardware           4H
 Sweetmicro Systems Dealer Kit (Mockingboard)   Hardware           5L

I decided to spellcheck it so I could add some more words to my custom dictionary… and that was the end of that.

I after a long mess of 'WTF!?@@@>#$%' is going on here, I said.. ok, it's choking on something… Lord knows what, no disk access had happened yet. I ditched the (thank god for Macros) the Box/Folder catagory and it worked. To make a long story short, 5L Locked up AppleWorks.

What a completely and utterly SILLY and stupid bug.

Harold Hislop took up the investigation, responding with his own findings:

As far as I have been able to tell, after an extensive amount of trying different things, the lockup only occurs on IIgs machines, and only when a RamFast SCSI card is installed. . . and it does not seem to matter if any volume that is attached to the RamFast has been accessed or not. … I can find -NO- reason for the lockup in this firmware… I =strongly suspect= (but have NOT proved!) that the problem is really in AppleWorks itself, and most likely related to it's use of some 6502/65C02 opcode that does not execute in quite the same manner on a 65C816 processor.

I don't have the resources to test if this bug persists in that specific environment, or if later versions of AppleWorks or the RamFAST firmware resolved it.

RamFAST SCSI manual cover

Were you the culprit, RamFAST?… Or was it AppleWorks?

But I still remember around 2002, telling one programmer-type friend: "If you ran AppleWorks spellcheck on an Apple II with a RamFAST SCSI card installed, and the document contained '5L', it would crash."

I don't think I've ever seen that friend laugh so hard.