An online friend of mine recently brought to my attention PCE.js, a browser-based emulator of the Macintosh Plus. Click the link and experience it for yourself. This emulator is solid gold. The machine it is emulating is solid gold. It’s a throwback to a world of computing almost 25 years ago. Those were the days of System 7 (which, in my opinion, is still a more intuitive interface than every other Mac OS since then). At the time, I was three years old. The Macintosh Plus was the first computer my family owned and it will always have a dear place in my heart. Between the ages of three and seven, I was inseparable from the Macintosh Plus. I fondly remember playing games like Dark Castle, Dungeons of Doom, Rogue, StuntCopter, and more. By the way, for anyone who saw the Angry Video Game Nerd’s review of Dark Castle for CDi, the Macintosh version was much easier to control with a mouse and keyboard.
Firstly, when you open the emulator you might be astonished by the specs of the machine. It has 4MB of memory and about 20MB of disk space. Really powerful stuff for 1986. Now I can run System 7 in a web browser on my computer while I simultaneously listen to music and write this blog post in another window. And my computer is still only using 12% of its CPU. I know it’s not a fair comparison, but I always have two feelings when I reflect on this. One feeling is, “How did I think that was so awesome back then?” The other feeling is, “What if I could see then how powerful the computer I use now is?” There is also a third follow-on feeling, “How awesome are computers going to be thirty years from now?”
Now for a little side lesson in Human Machine Interaction. Open the PCE.js emulator. If you go to the Special Menu of the Finder, you will see it has some familiar options: restart, shut down, empty trash, and… erase disk? Wait a second, are we sure we want to put that potentially disastrous functionality next to all these other innocent ones? Well why not? Every computer user can read the options can’t they? Not if you are three-year old Daniel Bank who likes computing even though he can’t read. Three-year old Daniel memorizes where things are physically on the screen and clicks OK until dialog windows go away. Maybe you can see where this is going (hint: I was trying to empty the trash and I accidentally reformatted my dad’s external hard drive… he was not happy).
Lastly, this post wouldn’t be complete if I didn’t talk about HyperCard. Essentially, it was a stack of “cards” that you could add scripting to. You could save your stack as a file and share it with others who could then open it with a HyperCard viewer. The scripting really made things interesting because you could transition to different cards when a part of one card was clicked, you could prompt the user for input, you could keep track of variables, and so on. Sadly, you won’t be able to experience HyperCard in the emulator because it only has a viewer.
HyperCard actually represented probably 80% of my play time on the Macintosh Plus. Sometimes I played other people’s stacks, but mostly I was creating my own. I created dozens of HyperCard games and finished maybe a handful of them. Mostly my stacks consisted of just a title screen and maybe the first few cards of an actual game. I was learning the fine art of creating VaporWare. The first words that I actually wrote with a pencil were go next, a command from the HyperCard scripting language to move to the next card. This was the start of a mad desire to create my own software gaming studio that lives on to this day.
So ends my nostalgic reflection on the Macintosh Plus as experienced through PCE.js. Tremendous kudos to James Friend for making this emulator. I have no idea how he did it but it is an awesome example of running a virtual machine in a browser.