Digital Archeology, Part II

Ghosts of the past, I/O errors, and big dreams.


A while back I did a Part I on digging through the old pile of Apple II equipment and floppy disks I found in my parents’ basement. It’s time to finish that job! I have no idea if this is going to be interesting for anyone who isn’t me. This is normally the part where I ask you to comment if you want more of this, but that would be moot here. I won’t ever be ten years old again (thank goodness).

What I did is sit down with the entire pile of floppy disks, and go through them one by one. As you might imagine from any such collection, it’s mostly pirated games that are all now available in various places online for use in emulators and such. That’s not particularly exciting these days. I’m more interested in the personal stuff. I had really hoped to find some of my very early programming efforts, from age four or five. To prevent an anticlimax, I’ll tell you now I didn’t find anything that early, unfortunately. At the time, floppy disk space was extremely precious, so old files tended to get deleted to make space for newer ones. When you’re paying up to five dollars for a single 143k floppy disk, you don’t care so much about that silly animated boat picture you made when you were six. I sure wish I had it now, though. The other program I was hoping to find is what I believe was the first one I ever wrote. I believe I would have been four or five years old, and it was intended to be a train simulator game. It was in BASIC, but the only statement I knew was PRINT. It was designed to have a series of decisions to make as your train went along, but the program just printed out one giant spew of all possible solutions, along with railroad tracks drawn in ASCII. Interactivity was not yet in my repertoire. Sadly, that program appears lost forever. My memory of refusing to come to dinner because I was working on it is very vivid, however. It was the moment I knew that programming computers was My Thing™.

Wouldn’t you know, as I sat down to go through the pile, my Apple IIc Plus started misbehaving. Keys typed on the keyboard started repeating themselves as though they were stuck down, completely at random. The ‘D’ key had always been a bit flaky on this machine, but I had written that off to a dirty keyswitch that I would get around to addressing one of these days. This new problem seemed systemic. Every key was doing it, and completely randomly. I dismantled the machine and didn’t see anything obviously wrong with the connections to the keyboard, so I opted to clean the keyswitches very thoroughly and see if that helped. It could be that one or two keys were sticking which was causing all those that share a row or column in the scanning matrix to also appear sticky. Just in case, I also ordered a replacement of the keyboard encoder IC off eBay. That chip could be failing. That’ll take several weeks to arrive on the slow boat from China, so in the meantime we’ll give cleaning a chance.


The keyboard on the IIc and IIc Plus is very easy to remove. Dismantle the case as shown earlier on this blog, and it lifts right out.


I pulled each keycap off the switch, then sprayed contact cleaner into the switch mechanism. Each key was then worked up and down 100 times. Yes, really, and yes it took a while.


Pulling the keycaps off can be a bit pucker-worthy, because they are often stuck on there really good, having never been removed in 30 years or so of service. Some old keyboards, like the IIc Plus, are pretty much unobtainium short of buying a whole new machine for parts. Breaking a key stem could be a real bummer here. Luckily, I have a trick that works very well.


Those “chip puller” things are absolutely horrible for pulling chips. The worst invention ever for their intended purpose. They are basically guaranteed to damage the chip if they work at all. Well, guess what- they are magical at safely and cleanly removing vintage keycaps. This works really well, and because all the force is straight up, there’s very little chance of breaking anything. This tip is my gift to you.


Note that these are all real mechanical key switches. No rubber domes or foam pads. Apple always did make high quality stuff, and these keys still feel great 30 years later.


With all the keycaps removed and the key-switches cleaned, I focused on the PCB underneath. Way back when I first acquired this machine, I tore it down and found that someone had spilled soda in it. It seemed at the time that the dust filter caught everything, but that doesn’t seem to be entirely true. A close inspection of the keyboard revealed a thin layer of brown… something covering the PCB. I suspect this is latent soda residue. I spent a good hour with alcohol and cotton swabs, and got it all cleaned up.

After all that, the problem seems to be 98% fixed. It still very occasionally acts up and auto-repeats a key, but not often enough that I have been able to reproduce it for further debugging. So I guess that’s a win. It works well enough for me to continue with this project, anyway.

Okay, let’s get down to it. Here are a series of amusing floppies I found in the pile, in no particular order.


Might as well start with a representative from the Totally Legit Offsite Backup collection. Most of the disks are of this sort. I went through a phase where I made nice labels for all of them on my ImageWriter II dot matrix printer. Even a filthy pirate has to have standards.


A note on my disk envelopes. On January 3rd, 1988, I typed in a program from Compute! magazine called “Jacket Lister”. It generates inventoried disk envelopes on your dot matrix printer. It’s a pretty neat idea- you insert a disk, and the program would generate an inventory of what’s on it. It would then print that out with lines drawn so you could cut out and fold a disk envelope from the printer paper. I got quite enamored with this, and proceeded to do all my disks this way (those that were readable by the program, anyway). That’s why you’ll see that date on all the envelopes. We got our first Apple II in 1979 or 1980 (I believe), so most of these disks are much older than 1988. I can roughly date each one by the labels, as we’ll soon see.

Also, if you’re under 25, you have no idea how loud dot matrix printers were. No idea. You live in a world of magically silent printer technology, if you even own a printer. Okay, I’m glad we got the obligatory Get Off My Lawn moment out of the way early.


Here’s a fun one to start with. That label is my father’s handwriting, which marks this as a very early disk (probably 1979 or 1980). When we first got our Apple II+, he was in charge of the computer. He set it up and managed all the disks. He’s very organized like me, and one of the things he did was number all the disks with “Volume” numbers. Check out the patina on that scotch tape!


A lot of these early disks have a lot of little programs on them, of entirely unknowable origin. Early programs were small, often BASIC, and often typed in from magazines. That meant you could put a lot on a disk, and thus ended up with assorted random collections of games and utilities like this first one. I wouldn’t be surprised if this disk came from the dealer we bought the computer from. They would often give customers a few disks here and there with assorted programs on them to get you started with your computing life. Computer stores were a big source of meaning-no-harm piracy in the early days.

There are some funny little programs on this disk that are worth exploring. Side one appears to be Beagle Bros programs typed in from magazine advertisements. Beagle Bros was a fun and goofy software company that made a lot of great products. Their ads were particularly irreverent, done in a faux-sincerity woodcut style that modern hipsters would appreciate. The ads often had little software toys that you could type in. Let’s take a look at a couple.


The catalog shows some weird and mysterious things. What do they all do?


Here’s a good example- it’s called Handy-Wipe, and it erases its own source code from the screen in various mildly amusing ways. For…. some reason. That’s really all it does, and this is how we entertained ourselves in 1980, folks. It was either that or watch Archie Bunker on television, and no sentient being should be subjected to such treatment.


One of the challenges of some of these older disks is that the programs were probably written for older versions of BASIC, and/or earlier ROM revisions than what’s in my IIc Plus. Who knows what “No. 3” was supposed to do at the time, but now it just breaks the text window and stomps all over Applesoft’s program space. It was undoubtedly some clever exploit of something on earlier Apple II machines.


This next one is quintessential a Beagle Bros toy. It’s called Daughter of Eyes, and well, watch closely for the punchline.

It errors out at the end when it tries to load Integer BASIC off a language card (something the IIc Plus no longer has), but I hope you caught what it did just before then. It dotted the ‘I’s in whatever you type. This was good for a chuckle for sure, since you didn’t know what it would do when you were typing it in.


Here’s a nifty little test of your AppleSoft math knowledge. It’s titled Why Does This Do This, and I’ll leave it as an exercise to the reader:


Here’s the code for that mystery program. Discuss in the comments.


The last Beagle Bros toy I want to share is called SECRET DE-CODER on the disk.

It’s supposed to uncover the punchline as you type, but it no longer works on newer Apple IIs, again, likely because it exploited some quirk of earlier machines.

That punchline says it all. Beagle Bros was basically Dad Jokes turned into a corporate strategy. It worked for a while and they are remembered fondly.


Lastly, you may have noticed a file in that catalog called FROGGER. What on earth would that be?

Oh. It’s Frogger. Go figure.


Moving right along..



Your guess is as good as mine on the meaning of that disk label. It’s another early one though- I recognize my own pre-pubescent doodling. The contents appear to be school assignments. My guess is elementary school or perhaps a summer computer camp of some sort. You’ll see my father has dutifully included it in his mysterious Volume numbering system. The other interesting part is that Apple logo sticker with “16” on it. Around the Apple II+ era, you were given a sheet of those little ’16’ stickers with your computer. The earliest shipping operating system for the Apple II was DOS 3.2. This used a 13 sector disk format, and was only used for a short time. Very quickly, it was replaced with DOS 3.3, which continued to be used for a decade after that. DOS 3.3 stepped up to a 16 sector disk topography, which was not backward compatible. The stickers were supposed to help you remember which disks were the fancy new 16 sector ones. We never used the old DOS 3.2 in our house. I just liked the stickers and put them on everything. Oh, in case you’re wondering, this disk has a pirated copy of Donkey Kong on the back of it. I don’t know why it’s labeled Donkey Kong II (and on masking tape no less).

Interestingly, the actual contents don’t match the envelope. There’s no doubt who’s disk this is, though.


Let’s see what some of these eponymous programs do.


Oooookay. It’s my name, with dashes in between. Again, your guess is as good as mine. I have no memory of writing this. Then there’s Crossing Quinn Dunki, which writes my name in an X pattern on the screen. Crossing me is usually fatal, but luckily this time it is harmless.


This was definitely an elementary school assignment, and I remember really enjoying drawing that little monster with ASCII characters, then seeing it move. It probably seems like nothing in this day and age, but moving a rectangular block of characters together like that was neat to figure out. It definitely challenged my squishy little fifth grade brain.



This disk is a bit later, because it’s from my CAPITAL LETTERS PHASE. I decided for a while that my handwriting needed to be in capital letters. I had a school friend who was a very talented artist and wrote that way. I wanted to be like that. I am not a talented artist, and forgoing lower case letters did not make me into one.

One interesting tidbit here is that these are programs entered from a magazine called ENTER. Any American or Canadian readers probably remember 3-2-1 Contact magazine, right? Great kids’ science magazine. For a brief period (I want to say six issues or so) they had a spin-off called ENTER that was dedicated to programming. It was fantastic, but sadly short lived. Delightfully, the entire run has been scanned and is available on

This disk also got included here because of the Totally Legit Offsite Backup of Gumball on the back. That one’s for you, 4am and qkumba. The Gumball label is my dad’s handwriting again. He was also apparently going through A CAPITAL LETTERS PHASE. Maybe there’s some latent genetic Dunki desire to be great artists.

Okay, let’s go back. Waaaay back.


mY Vewwy oWN CweAtioNs

I’m about 90% sure that this is my very first programming disk. Finding out that I could type stuff that made the computer do what I wanted it to was pretty much the seminal moment of my life, and set me on the course that led to a long career in computer science. This is almost certainly the disk that had my aforementioned train “game”, and my animated boat image. Unfortunately, as explained earlier, floppy disk space was much too precious to let what seemed like stupid young kid programs linger around. It’s not all bad news though. Some of these are still my early programs. The rest seem to be things typed in from magazines.

Here’s a sample of one of mine. It appears to be an attempt at the Battleship board game. The ending is anticlimactic, and very typical of my early programming efforts.

Yup. That seems about right. Most of these old programs get to some partway-finished point and I got bored or frustrated with debugging them. Learning to stick it out and solve software problems didn’t come until much later in life.

Next up is Logo. Oh yes, you knew Logo would make an appearance sooner or later.


This is a version of Logo you may not have heard of- LogoWriter.


LogoWriter was a later version of Logo, different than the one that Apple distributed (which was used in most schools). Our junior high school used this one, and it was actually very sophisticated. In addition to the normal turtle drawing stuff we all remember, it also had a basic sprite system in that could be used to make little movies and animations.


I messed with this for a while, but couldn’t remember the commands to get my old programs loaded and running from my data disk. Old software is very much RTFM. If you don’t think modern software is intuitive, trying using a complex programming environment from the 1980s without reading any manuals. It will make you appreciate everything you use now.


Next up, we’re skipping forward a ways. I think we’re into late junior high, early high school at this point.


Still in THE CAPITAL LETTERS phase here. This is also in my “Junk” phase. During this period, I labelled all my project disks “Junk” for some reason. Perhaps some combination of internalized insecurity, and an attempt at security through obscurity. Or generalized teenage angst. Who knows.


The back side of this disk (Junk 4) is one of my later project disks, and there are a few interesting things on it. The front side is from my attempt at writing my own BBS from scratch. Yes, it’s called “The Underground”. Like every other 1980’s tween’s BBS. That, or The Pirate’s Den, or The Secret Bunker. We all thought we were very edgy and original.


This was also the time when my patience for typing filenames in the command line had run out. I started naming everything with very short abbreviations. I have no idea what any of this is, or what those names stood for.

Note the different numbered versions of each acronym. I had worked out a primitive form of source control here. Whenever I got to a good point in development, I bumped the index number on the filename. That way I could iterate or experiment without risking my progress to that point. Let’s take a look at a couple of these.


Not sure what I was doing here. Experimenting with hi-res graphics math, but no idea why. I know I was obsessed with 1st person RPG engines like Bard’s Tale for a while, so maybe I was trying to reverse engineer those.


My other obsession was tile-based RPG engines like Ultima. This appears to be a performance test of how well I could render a screen of tree tiles in BASIC. Turns out- not fast at all.


The second version of that tile experiment appears to be an attempt to render a castle. Don’t know what I was testing here.


Hey, now we’re getting interesting. This looks like early work on an actual game.


The Apple II didn’t have sprite hardware like a lot of other 8-bit computers, but it did have a software-implemented vector primitive system called Shape Tables. They weren’t as nice as sprites, but they did have the ability to draw over and restore backgrounds, and they could be called from BASIC for a modicum of speed. Looks like I was learning how to use them here, with the intent to make a vertical shooter.


The shape table isn’t quite rendering properly there, but it’s animating pretty nicely! Let’s see if I made more progress.


Not bad! I’m moving the joystick in that recording, and the plane flies back and forth. It also shoots when I push the button! This is almost a game! Seems like it was abandoned shortly thereafter though.


This looks like an attempt to make a moving crosshair or mouse pointer of some sort. It responds really nicely to joystick input, but clearly I hadn’t figured out erasing the previous position yet. This experiment didn’t seem to lead anywhere.


I had a text adventure phase as well, and took a few half-hearted shots at writing one. To my credit, it looks like I was trying to innovate on the interface a bit here. I’m moving a pointer between available commands with the keyboard, all in an interesting multi-level selection menu.

Once again though, it apparently went nowhere after this. My attention span was not long in those days, it seems.


This next one is another attempt at an actual game. This is using lo-res graphics on the Apple II, which gives you 40×40 pixels and 16 colors.


The paddle is responding to the joystick, but it only moves left, and moves verrrry slowly. Also the ball only bounces at 90° angles, so it very quickly gets stuck in a diamond pattern. I have no idea what the intended gameplay was here. This is probably earlier than the above attempts, judging by the sophistication level. Maybe age 10 or 11?

Next up on this disk, it seems I took a shot at productivity software for teachers. This appears to be a tool for writing exams called Test Creation Utility. I thoughtfully dated this one, so this is age 14.


TCU – because every serious piece of ’80s software had an acronym.


Nice! It supports multiple choice tests and long answer! Let’s try multiple choice.


Oh, right- I never finished anything at this age.


Next up, let’s go back in time a bit. This disk is helpfully labeled, so I know it was from 7th grade computer class. I loved those classes, and really enjoyed the assignments. Go figure.


This label speaks for itself. I loved Computer Option class.


The assignments we used to get in these classes were a ton of fun for me. We’d get a little problem to solve, and I would always try to write the most fancy, polished version of the solution that I could. Here is a charming example of the problems. This one required you to accept input from the user for a list of colors, and render a “magic carpet” using those colors.


When the assignments were done, we would play with other ideas. Shortly after learning there was an extra character set in Apple IIe Enhanced computers called MouseText, I started figuring out to draw with it. A couple of the characters formed a running figure when placed next to each other, so I had to try that out.

Evidently there was a bug I couldn’t find that rendered an extra white square below the running track. Instead of fixing it, I helpfully instructed the user to ignore it. If only we could do this in modern software.


Moving along, I was continually amazed how many of these disks had copies of pirated games mixed in with whatever else. Here’s a random copy of Crisis Mountain sitting on one of my school disks. I definitely didn’t pay for this. Apologies to David Schroeder.


Games everywhere. It’s almost as though I liked (and like) playing video games.


I did a little bit of hacking on commercial games as well. I was delighted to learn, for example, that the excellent classic game Pirates! (by Sid Meier) used BASIC as a scripting language for the menu system. That made it easy to go in and muck around with the text. I also recall changing the names of the countries and other shenanigans.


Oh, I was a rascal in my youth.


Incidentally, the intro for Pirates! is a truly lovely thing, and I have to share.


Here’s a charming artifact. An official original copy of Adventure, the classic mainframe game that inspired Zork. I believe this came with every Apple II+ as a pack-in game. Or maybe my father bought it with the computer.


You may have noticed that a lot of the floppy disks have their name written on the envelope. Floppy disks inspired a lot of superstitions in their owners, because you lived in constant fear of magnetic fields from unknown sources wiping out your hard work while you slept. There was also a lot of heresy surrounding them. People would say you shouldn’t put them on or near your monitor. This was often true. People would say you shouldn’t put them on top of your floppy drive. This was obviously silly, since they were safe inside the drive. Nevertheless, I believed it. Another superstition I latched on to was that you should keep your disks with their same envelope for all time, because another disk’s envelope could interfere with the flux on your disk. This is patently ridiculous, but I took it seriously enough to label all my envelopes so as to keep them with their respective disks.


Here’s another very early disk. Ds are hard! That one took me several tries. This must be age.. 7?


I have a very vivid memory of the day I learned there was a hidden level editor in the seminal platformer Lode Runner. Well, it wasn’t hidden if you bought the game and thus owned the manual. However if you had a Totally Legit Offsite Backup and didn’t know the hidden control keys to activate the editor, it was miraculous information. As you can see from that disk label, I had big plans for world domination centered around my soon-to-be custom-Lode-Runner-level-based software empire. Quinnsoft Incorperated was never able to close Series B funding though, and the venture ultimately folded. The board of directors blamed unionization for the failure.

It took activating some very deep memories to remember how to play custom made levels, but I did figure it out, so of course I had to try out the Quinnsoft edition of Lode Runner.


Here’s my custom level 1. It’s actually not bad! There’s an interesting strategic mechanic involving controlling the motion of the enemies so that they don’t pick up a chest and fall down the pit with it.


Here’s my custom level 2. This one has an interesting “one way door” mechanic. There’s a trick layout of bricks and ladders in the lower right that acts as a one-way valve for progress in the level. You need to plan ahead a bit.

I’m not sure how many other levels there are on the disk, but I’ve imaged it here, if you’d like to try it out in an emulator.


Another cheerfully decorated Lode Runner data disk turned up, although this one seemed to have only normal factory levels on it. We were very fond of this game in our house, as you can see from the label. Douglas Smith, the creator of Lode Runner, passed away only very recently. His work touched a lot of lives.


Moving along…


It’s not all pirated games. Here’s a beautiful mint original copy of Wasteland- one of the best RPGs ever made.


YES!! Underline! Also extreme caution for some reason!


For reasons I no longer recall precisely, I was very excited to get ProTERM. It was without a doubt the premier terminal software package for the Apple II, and I was deep into the BBS scene for a while, so I suppose that’s why. I think it also finally gave me access to ZMODEM, the first BBS disk transfer protocol that wasn’t terrible. I got excited about lots of software, but my compulsion to express this emotion on the disk label itself appears to be unique to this case. I have absolutely no idea why I scribbled USE WITH EXTREME CAUTION on the envelope.

One last amusing software toy that turned up on one of my project disks is a copy of S.A.M.: The Software Automated Mouth. While the name is a regrettable backronym, the software is very impressive. Take a look. Keep in mind the Apple II has one-bit sound that has to be actively cycle-counted in code to make noise.


I said I was going to avoid pirated stuff and commercial software in this post, but this one is too good to pass by.

Microsoft before they were Microsoft. They made this shameless rip off of the arcade game Track & Field for the Apple II. It was actually tremendous fun though, and we played it a lot in our family. Even though I was only 6 years old at the time, it’s still remarkable that I misspelled “Olympic” on the envelope, since it was written right there on the label.


This next disk is another special one for me. It’s my collection of programs typed in from COMPUTE! magazine. What’s great is that this disk includes Laser Chess. It was a huge machine language listing- one of the biggest I ever attempted. I was so enamored with that game that I spent much of my programming career remaking various versions of it. Most recently, I made a version for iPhone called Beam Chess.

Magazine type-ins were mostly just trinkets, but Laser Chess was really something special. An excellent original game that you could only get by typing it from a magazine. Also noteworthy here- this disk is branded with the store where we bought our Apple II. Wise Software Solution Ltd is long gone, as you might imagine. Mom & Pop computer stores were wonderful places, though.


Laser Chess in action on the Apple II. This fascinating, clever, novel game was typed in from a magazine. Here you can see Blue has rather uncleverly destroyed two of her own triangular mirrors.


Here’s my own loving tribute on the iPhone, 30-or-so years later.



Speaking of type-in programs, here’s another special one. This is my collection of programs typed in from Usborne books.

These names may look familiar if you grew up in Canada or the UK. Usborne’s computer books for kids are legendary.

The Usborne computer books were quite remarkable for their boldness. Would you ever attempt to teach assembly language to a 10 year old? If so, how would you do it? I bet it would end up looking very much like this. Getting programming books of any sort was not easy if you didn’t live in a major American city in the 1980s. The Usborne books were an oasis in an information desert for kids craving technical knowledge about computers. Amazingly, Usborne has released all their early kids’ programming books into the public domain. Here’s a sample from The rest are all there as well, and well worth your time. The art direction in these books is an explosion of charm that you have to see to believe.


That about wraps up the floppy disk pile. Just one more thing.


It wasn’t all floppy disks in my floppy disk pile. I found this 30yo note my mom left for my dad about a dinner party. I hope they both made it, and Sherry Jackson put on a good shindig. On the back of this was my notes for Seven Cities of Gold.


That’s all for this trip down Remembrance Drive. I hope this wasn’t utterly tedious for you. I’ve imaged all these disks for preservation and use in emulators, but I won’t bother sharing them all here unless someone really wants to see something. If you have a box of floppies in your basement somewhere, I encourage you to image them while you can. A number of mine had bad blocks on them, and they aren’t getting any fresher. These disks are already way past their intended operational life, so the clock is ticking. It’s on each of us to carry computing history across the air gap from the largely analog computing world of the 1980s to the fully interconnected digital one of today. We only have a few more years before all that hard work and history is lost for good.



18 thoughts on “Digital Archeology, Part II

  1. You mentioned that “Olympic” is misspelled on your sleeve for Olympic Decathlon, but so is “Decathlon.” It’s only funny because both words are printed right there on the disk’s label. That’s one of the games that “disappeared” in my house after my dad came home and caught my friends and I banging on the keyboard.

    I don’t remember at what age I began writing in all capital letters, but it seemed like an freeing epiphany (“we’re allowed to DO THIS?”) at the time. Like your collection, my personal floppy collection spans almost a decade, so you can literally watch my handwriting get better the further back you dig.

    I never heard the rumor that disks and disk sleeves were supposed to remain married. The vast majority of my disk sleeves reveal the quality of blanks I bought (plain white), although some have colors and brand names. One pet peeve is when I run across pirated disks in company (Electronic Arts, Epyx) disk sleeves. I will spend time digging to reunite those disk sleeves with their proper diskettes. One time I bought a box of ten diskettes that were colored (two red, two orange, two blue, two green, and two yellow) and I thought they were so special. They even came with clear plastic sleeves, so you could enjoy all 5 1/4″ of color. Good times.

    1. ROFL! I didn’t even notice “Decathlon”. Thanks for pointing that out. Colored floppies were magical. I always wanted to own an Applied Engineering product because the software that came with their hardware accessories was on purple disks. I couldn’t stop looking at them.

  2. I happen to be heading home soon (a trip of numerous thousand miles) – there’s a box of old floppy disks stashed away there, quite possibly containing my first computing adventures on an Atari ST.

    I suddenly have the urge to investigate their contents.

  3. All of my floppies are dead and buried unfortunately, but the article brought back a lot of memories of my first computer. Thanks.
    I had some 3.5″ diskettes that I imaged long years ago. Nothing too interesting a few little RPGs and games, CAD stuff, family tree stuff, some early programming stuff (qbasic, C, C++), Early programs made with said languages, some boot disks I made. I had a few versions of windows like NT S&W, 3.11, 3.1 but obviously even with a newer disk format they just aren’t reliable in large spans. Also had some earlier Solaris, Linux, and etc stuff.

    One of the biggest surprises to me was going through my old programs and seeing how creative I was. I was either a genius then or am stupid now, because I could do things in C++ for instance then without all the fancy syntactic sugar, Standard Library, language additions, and internet that would require me now to bust out googlefu and find examples.

    I was optimistic in those times, no project too large. My stuff was organized. I documented my code well. I documented everything, text files galore. What happened to me.?.

    I found so many wild and weird projects. I was copying a dictionary, building several games, learning AI(this was like 1990), creating frameworks in C++ apparently with no project in mind(just a generic framework to build apps on), designing my dream house, documenting cat behavior, and lots more.

  4. My best bit of Atari 800 programming was an assembly-language game prototype I wrote with two friends n college. I accessed the Vertical blank interphase to animate a selection square in the style of Chris Crawford’s Eastern Front. It moved around the screen, even scrollled the gameboard smooth as silk.

    I also knew much happiness when I realized Avalon Hill’s game Nukewar was just written in BASIC and was very hackable.

  5. Curiosity has gotten the better of me – – – are your “Totally Legit Offsite Backup[s]” still protected, or broken?

  6. Wow, this was a really nice writeup. Brought back a lot of memories of my own childhood as well. Now I need to go through that box of floppy disks I have in my basement (mostly Atari 8-bit, but some Apple II and early Mac stuff as well).

  7. Back when I was in 3rd – 5th grade or so, my family didn’t have a computer, but I was obsessed with them and with the idea of programming them. I used to check out books from the school’s library that had nothing but code listings in them — I think maybe they were published by BYTE or Atari magazine? But I don’t remember for sure. I’d spend hours copying the code listings into notebooks — in case the books weren’t there anymore when I finally had a computer, you see.

    This copying process was instrumental to me understanding programming, though. I remember working out what GOSUB and RETURN must do by tracing through the code one line at a time. I also remember some variation on this line:


    By looking at the surrounding code and how N was used, I managed to reason out it must generate a random number between A and B. But had no idea how it worked. It was like magic.

    I also used to write my own programs on sheet paper. My parents tell me hundreds or thousands of sheets of the stuff — my own programs and copies of other people’s — used to be strewn all about the house. One solitary sheet survives; it’s the first page of an attempt at writing a text-based baseball program. Long hand. On a sheet of Big Chief tablet paper. For when I’d have a chance to type it in to a computer. It’s framed hanging in my house; I affectionately refer to it as my college diploma.

  8. this reminded me of that time when i was 13 and rummaged through my grandpa’s dos porn collection. lovely cga images of 1970s porn stars. despite having middle class grandparents i grew up in poverty and didnt get my first rig till well into the pentium era. i did manage to pilfer a few ancient computers from the special ed school i went too. it had been the dumping ground for the whole district’s apple 2s. from piles of junk i managed to assemble at least 4 working computers. of the machines i liberated, one was a damaged apple 2 that they were going to throw away anyway, and which i never got working. and a ti99, which had a basic interpreter, a speech synthesis module, a single game, and no manuals or documentation of any kind, so my basic programming was limited to printing my name in an infinite loop. of course i was writing things in c++ by the time i was 16 (which incidentally is the same year i got my first computer).

  9. I actually did manage to keep the disk images from the Apple II of my childhood. You might wonder how many extremely stupid BASIC programs can fit on a single 160k disk; it turns out the answer is “a lot”.

    Apple II shape tables are fun, they were instrumental in my recent port of Kerbal Space Program to the Apple II:

    I’ve been meaning to port that to assembly language, but have gotten sidetracked after thinking about moving the theme music to a Mockingboard and instead ended up building a Raspberry Pi chiptune machine using the AY-3-8910 sound chips.

      1. I’m actually a long-time lurker here, just never had much to add until now.
        Especially like the pinball posts, my dad restores old machines but he only likes the pre-1970 electro-mechanical ones.

        I’ll have to check out the podcast. While I am a big long-term Apple II fan I’ve always found the online Apple II community to be a lot less approachable than others, so I often miss out on things unless they end up posted on comp.sys.apple2.programmer.

        1. I’m sorry to hear you haven’t found Apple II folks to be approachable. Maybe come to KansasFest sometime? You’ll make 80 or so lifelong friends your first day, I guarantee.

  10. Great article! I’m getting to it rather late, but it’s a great reminder for me to get cracking and image the hundreds of floppies in my own collection. I’m sure there are a few tidbits here and there of home programming experiments and magazine type-ins. And text files…boy oh boy, I’ll bet there are some choice teenage gems in those files…

  11. “Why Does This Do This?”

    Alright I’ll play…

    Up front let me say that the following comes from someone who was never lucky enough to own an Apple II. As a young kid I could only ever stand in Radio Shack and gaze longingly at wondrous machines which were way out of my financial reach.

    The trite answer is that the results are corrupted by floating point arithmetic round off errors and/or bugs. But I thought to try answer with a little more precision.

    So donning the Internet goggles I found the following in short order:-

    Here we find an archived copy of an Beagle Bros diskette which contains the “Why Does This Do This?” program. More importantly the Archive also provides a virtual Apple II with which to run the software. Very handy for someone like me without any Apple! Interestingly the online version of this program appears to flagged “I” for Integer Basic(?) and won’t load in the emulator. But it was easy enough to type it in from scratch.

    Here we find an article by Jim Thomas once head of the “Apple Numerics Group” that outlines several deficiencies in Applesoft BASIC floating point arithmetic.

    While the “Multiplier Bug” mentioned in this paper stands out as a likely candidate to be honest after peeking and poking about I really wasn’t able to conclusively prove this point.

    So sadly I have failed the challenge of providing greater clarity. I wonder if the question from the Beagle Bros in this instance was entirely rhetorical?

    I did however have a lot of fun doing my own digital archeology sleuthing. So by way of atonement for not providing an exacting answer. I offer the following Applesoft BASIC program that I cobbled together from multiple sources. The one word output of which would appear to sum the situation up best.

    Thanks Quinn for a terrific series of articles!!

    Regards, Steve.


    10 GOSUB 100
    20 OP = 3: REM XOR
    52 LET V2=135
    55 FOR I = 61597 TO 61588 STEP -1
    60 V1 = PEEK (I)
    65 GOSUB 200
    70 PRINT CHR$ (V1);
    75 NEXT I
    80 PRINT
    90 END
    100 DEF FN GE(B) = ((V – ( INT (V / (2 ^ B))) * (2 ^ B)) > = (2 ^
    (B – 1)))
    110 DEF FN SE(B) = V + ( NOT FN GE(B)) * (2 ^ (B – 1))
    120 DEF FN CL(B) = V – ( FN GE(B)) * (2 ^ (B – 1))
    130 LET N = 8
    190 RETURN
    200 FOR B = 1 TO N
    210 LET V = V2:B2 = FN GE(B)
    220 LET V = V1:B1 = FN GE(B)
    230 LET R = B1
    240 ON OP GOSUB 271,272,273
    250 IF R THEN V1 = FN SE(B)
    260 IF R = 0 THEN V1 = FN CL(B)
    270 NEXT B: RETURN
    271 LET R = B1 AND B2: RETURN
    272 LET R = B1 OR B2: RETURN
    273 LET R = B1 B2: RETURN

Comments are closed.

Mini Cart 0

Your cart is empty.