Or “Some of my earliest geek-out memories, part n”.

Without going too far into specifics, there’s one person in my family who likes video games.

So much, in fact, that it sort of annoyed me when I was a kid. Using my Spectravideo SV-318 to play my games. (Boooohooo!) Specifically, my copy of Boa. Kids these days probably know this game as “that old snake game that has been cloned umpteen times”.

So, being a proper geeky computer kid, I added password protection to the game.

This was pretty simple, because Boa was written in BASIC.

Of course, Spectravideo’s BASIC being a Microsoft product, this meant that the interpreter was notoriously easy to use, and notoriously insecure. Or deliberately “exposing” the “dangers” of open source. Or something like that.

Specifically, the interpreter helpfully labelled all function keys, so that even the other family member who doesn’t really know all this computer programming stuff guessed that list command, on F4, shows the program listing. With a little bit of figuring out, they could find the part where the password is asked, and find the password from the program listing. Password found. Game on.

So one day, this other family member was showing the game to some other people. Of course, I had changed the password, so the game didn’t run. Never worry, just look at the listing… though that probably turned out to be far more puzzling this time.

boabuster.jpg

…raw source code is here, in case you have VB.NET and you’re curious if this still compiles:

110 SCREEN1
130 DATA 86,73,67,79,78,72,89,86,65
140 DIM A$(9)
150 FORI=1TO9
160 A$(I)=CHR$(C)
170 NEXT
180 DIM B$(9)
190 FOR I=1TO9
200 B$(I)=INPUT$(1)
210 NEXT
220 FORI=1TO9
230 IF A$(I)<>B$(I)THEN RUN
240 NEXT
240 SCREEN 0

It appears that my programming style had no consistency at the time; the spacing is pretty confusing. Now, with a couple of decades more worth of programming experience, I’m also aware that security through obscurity isn’t probably the best possible strategy, but it did work at the time. Too bad I had saved an unprotected version on the other side of the tape and had told the said family member where this version is available, but at least I heard an admit of defeat. Yeah, honour-system security definitely isn’t a good idea either. Or security measures that basically just exist to show how smart you are.

But still, this was really fun.

If you can’t read BASIC, the program basically interprets the stuff on line 120 as ASCII codes, reads 9 characters from keyboard, and compares them to the characters in question. So, if I just whip out the ASCII table (I don’t have the SV-318 manual at hand, so I’ll just pop out the OS X terminal and type “man ascii” - glad ASCII hasn’t changed that much), the password turns out to be VICONHYVA (“VIC on hyvä” = “VIC is good”). I suppose this was after I had gotten my VIC-20. And again, a bit of idiocy - I have no idea why I said it’s so good, it’s definitely not as fun as the Spectravideo… Rooting for the underdog, I guess. I’m pretty sure it was not a case of picking a password that’s completely contrary to what I was thinking and thus throwing people off.