Craziest bug, not so much in the sense of what it was (although it was itself wacky too), but in what I went through to fix it.

The year was 1986. I was finishing up coding on a C64 demo that I had promised would be out on a specific weekend. I had invented a new demo effect for it, which was pretty much the thing we all tried to do back then because it would guarantee a modicum of "fame", and we were all hyper-ego driven back then :) So, I knew I wanted to have it perfect when people saw it, to maximize impressiveness!

The problem was that I had this ONE little pixel in the corner of the screen that would cycle through colors as the effect proceeded. A pixel totally apart from the effect itself. A pixel that should have been totally inactive the entire time as part of a black background.

A pixel that REALLY pissed me off because it ruined the utter perfection otherwise on display, and I just couldn't have that!

Now, back then, all demos were coded in straight Assembly. If you've ever done anything of even mild complexity in Assembly, then you know how much of a PITA it can be to find bugs sometimes.

This one was no exception.

This happened on a Friday, and like I said, I promised it for the weekend. Thus began my 53 hours of hell, which to this day is still the single longest stretch of time straight that I've stayed awake.

Yes, I spent literally over 2+ days, sitting in front of my computer, really only ever taking bio breaks and getting snacks (pretty sure I didn't even shower)... all to get one damn pixel to obey me. I would conquer that f'ing pixel even if it killed me in the process!

And, eventually, I did fix it. The problem?

An 'i' instead of an 'l'. I shit you not!

After all these years I really don't remember the details, except for the big one that sticks in my mind, that I had an 'i' character in some line of code where an 'l' should have been. I just kept missing it, over and over and over again. I mean, I kinda understand after many hours, your brain turns to mush. and you make more mistakes, so I get missing it after a while... but missing it early on when I was still fresh just blows my mind.

As I recall, I finally uploaded the demo to the distro sight at around 11:30pm, so at least I made my deadline before practically dropping dead in bed (and then having to get up for school the next morning- D'oh!). And it WAS a pretty impressive demo... though I never did get the fame I expected from it (most likely because it didn't get distributed far and wide enough).

And that's the story of what I'd say was my craziest bug ever, the one that probably came closest to killing me :)

  • 2
    This was… a beautiful story… 😭
  • 0
    I can't imagine coding a graphics app let alone doing it in Assembly 🙏
  • 0
    @Ubbe It was all BBS's back then.

    There was some early networking between them (Fidonet), but really, for the most part, "distribution" was basically "okay, I uploaded the file to BBS X, now you couriers download it and start spreading it to other BBS's, and then other couriers will distribute from there, and so on". Couriers being just kids with a lot of free time on their hands (usually "paid" in download credits that allowed them to leech files from BBS's).

    So, if the BBS you uploaded to went down, or was very busy, or the couriers had extra homework, or probably 50 other things that could go wrong, you'd find your demo either spreading very slowly, or possibly not at all. I'm not sure what the deal was in this case, but for whatever reason it didn't spread like it was supposed to.
  • 0
    @Nanos Actually, yes! https://youtube.com/watch/... ... there's a guy that takes videos of old demos and puts them up, so he's got a lot you can look at besides this. The effect I was referring to is on the final page of the demo. The unfortunate part is that the quality isn't great, and I suspect he may have been running it on a PAL C64, but it was written for NTSC, so I can see some timing issues (either that or there were flaws I don't remember - which is entirely possible almost 40 years later!)
  • 1
    @asgs If it's any consolation, it's been so long since I did it that I can barely believe I did it and I doubt I could now (at least not without A LOT of time for re-learning). A couple of years ago, I actually found some of the code for some other stuff I did back then and I couldn't make heads or tails of it, and that's despite having done straight Assembly for like 4-5 years in the 80's. It's amazing how fast you lose skills if you don't use them.
Add Comment