Post

Wow! I can't believe I found this code...

Going through a bunch of old floppy disks and copying the files to my home server in an effort to get rid of these things, I happened across a bit of source code from WAAAAAAAAAY back. (March 7th, 1990 to be precise.)

For a few years around 1990, a friend of mine (Sean) and I ran a very successful BBS with tons of users and AWESOME interaction among them. This was during a time in BBS usage was at it’s height and there were probably thousands to choose from. So Sean and I hatched a plan to put together our own online games and have these games be the driving force behind the entire community.

So what kind of games would we create? We were both into writing computer software and definitely considered ourselves computer enthusiasts. So the plan was to create a few games (in the days of BBS world, referred to as a “door”) that would allow people to hack various systems. I had previous experience in such things and Sean had an amazingly creative imagination… we also decided to make it a challenge and build the doors in QuickBASIC 4.5 (as if creating games and learning the concept of interacting with BBS software via doors wasn’t enough).

The first game to be released was pretty simple, allowing you to gain access to a computer terminal running something very similar to MS-DOS. You weren’t sure what it was that you were looking for, you were just curious. If you could unlock the secrets within, you’d win a prize.

HAKR ‘R US was born (later to be renamed to Janitors ‘R Us in honor of the main character in the games and for reasons of unwanted advances by the “men in black” – a story for another day).

Now that I’ve found this code, I’m hoping (most likely in vain) that I might be able to find part 1. What I found instead was part 2… which as anyone knows would be a much more ambitious undertaking. ;-)

So as I said, this code was written in QB4.5; of which there seems to be no way to execute it on Windows 7 64-bit (it’s a 16-bit application). So I could possibly setup a VPC image with DOS, find a copy of QB4.5 and try to get it running that way. Nah… apparently I like challenges. ;-)

Fast forward to today and we now have Microsoft Visual Studio 2010 and the version of BASIC is 14 revisions (Microsoft BASIC PDS 7.0/7.1, Microsoft Visual Basic 1-6, Microsoft Visual Basic for MS-DOS v1.00 and 5 releases on top of .NET) and 20+ years since this code was originally built. What was I to do? How about load it up in Visual Studio and see if I can get it to execute. About 20 minutes later of creatively solving problems, the code was executing! There were a few redraw problems with the key presses echoing twice to the screen (this was by design since we were emulating DOS through a terminal process which meant that you’d press a key and in order to see it on the screen, we’d have to send that string back to the client.) Wiped out the code causing this, the code that tracked prior usage and current progress for each user… the game was now playable.

Ah… the memories.

A few observations:

  • It’s interesting to note that, for the most part, the BASIC language, at it’s core, has been a strong language throughout all these years. The most basic constructs have managed to stand the test of time throughout all of these years. Most of the items that I had to change had to do with the “platform” (MS-DOS), specifically with how you interact with the console screen.
  • The code that I wrote 20 years ago is SCARY!!! ;-)
  • Even though the code was “sub-par” by today’s standards, it did work; and it worked very well.
  • It’s even more SCARY that it’s been 20 years!!!

I think I’m going to translate the code to Silverlight and make it available for playing; this would require that I build some sort of emulated console display (which I think would be pretty straight forward). I may even do what I did in the past; offer a prize to those that can unlock the secrets within. So brush up on your MS-DOS skills. ;-)

This post is licensed under CC BY 4.0 by the author.