June 7, 2018 | 5 minutes to read
This got me thinking… if Windows 95 could run on this Frankenstein-ed stack, what other nostalgic tech could I resurrect from my childhood?
My mind immediately jumped to something that consumed hours and hours of my childhood. It wasn’t a game, it wasn’t a chat app, it was QBasic.
QBasic was a fantastic first language. Getting started was a breeze - a first-time QBasic user could fire up the all-in-one IDE/runtime environment, write something like this:
PRINT "Hello, world!"
… hit Shift+F5, and immediately see the greeting written to the screen!
It also came with a great integrated help system that included lots of code snippets that I endless copy-and-pasted:
Recreating a QBasic environment in the browser was easier than expected, thanks to a project called js-dos. After about an hour of work, I had a working QBasic editor running in all its glowing blue glory!
After digging around on my backup drives, I found my old QBasic .BAS files and took a trip down memory lane as I ran each of my ancient programs one-by-one. Most of them required a bit of tweaking before they would behave correctly - my 13-year-old self had a bad habit of saving files to directories without checking if they existed first, and he really liked controlling program timing with empty loops:
FOR i = 0 TO 100000 NEXT i
… which unfortunately is entirely dependent on the speed of the host’s CPU. I had to cut most of these loops by a factor of 100 since the browser runs the programs so much slower than the original hardware.
A precursor to my more modern project Inspiral Web, this program creates Spirograph designs based on a few simple configurations.
Hint: Here’s an example configuration to get you started:
An adventure game with ASCII graphics. You control a small blue square with the numpad (4, 6, 8, and 2), journeying around the landscape visiting small towns (green squares) and battling rouge enemies (red squares).
I gave it a few tries, and man, it is hard.
A super short animation of a little man being sucked up by alien invaders.
A flash-card game for cello students that quizzes their knowledge of bass clef, tenor clef, and treble clef, complete with a high-scores list.
Another drawing program that creates intricate designs with customizable color palettes. I used to draw these shapes with color pencils as a child which inspired this QBasic version.
QBasic had a fun pitch generation API which I used to recreate piano and cello pieces I was learning at the time. Here’s Bach’s Giga from the Partita in B Flat:
Okay, you got me - this one isn’t mine. It’s one of the example programs that shipped with QBasic. My siblings and I had loads of fun lobbing explosive bananas at each other.
A Tetris clone.
Test your patience! How long can you hold down Q?
Feeling stressed? This little game lets you punch a square with your enemy’s name on it until they spontaneously combust!
There’s lots more where the above came from. Here’s a little GUI that can launch and run any of the programs I wrote as a child:
If you’re interested in how this little project works, check it out on GitHub here.
Other posts you may enjoy:
January 25, 2022 | 6 minutes to read
August 26, 2021 | 2 minutes to read
May 7, 2021 | 1 minute to read
November 18, 2020 | 4 minutes to read
October 19, 2019 | 2 minutes to read