For those who prefer brevity to beauty, here it is: the day I discovered DOS/4GW. For everyone else, read on.
Thanks to my dad’s wonderful prescience, I grew up with computers–and by grew up, I mean grew up. I think the first computer in the house was a Commodore (although for some reason I imputed a memory of my dad owning an Amstrad-Schneider). I was too young to remember much other than sitting on my dad’s lap and staring at the computer screen. Back in the day it was impossible (and I believe also illegal) to own “imperialist” equipment (I know one needed the governor’s permission to get a car) and so I am deeply impressed by my dad’s ability to do magic.
When I was six or seven (again, I don’t remember exactly), I got my very own ZX Spectrum + with a black-and-white monitor. I remember playing with it for hours (the fact that those years spent staring at a CRT screen haven’t made me blind confirms my theory that if you grow up with something you get used to it and it doesn’t harm you; ironically many of my friends who got their game consoles or computers when they were teenagers are nearly legally blind now).
Pretty quickly I started writing programs for it. Looking back, this was crazy–the user manual was in English and so at age seven I knew about eighty words–keywords used in programs I’d write–in English very well but no grammar or vocabulary that kids my age for whom English was their native language knew (a fascinating way to learn the language).
I don’t want to digress too much from the theme of this post; one day I’ll continue the rant. The important thing was that at the time the computer had 48k of memory available (an equivalent to the amount of information contained in the text of the Constitution of the United States of America; to put things in perspective, computers come with 2GB now, which is about 40 thousand times more). I didn’t feel I needed much, though, because the capabilities of the computer were limited and my brain was pretty small, too. Over time, however, I did start bumping into these limits more and more. I could define my own characters and sprites (for which I had to learn to operate in binary; knowing binary before I knew how to divide is a funny thing, now that I think about it) but I could define at most 256 of them.
Fast forward six years, to my first PC (getting close to that ominous greatest moment). Eternally curious how to make games rather than play them I’d continue programming. My brain, now more fully developed, could process more information and so I expected my programs to. The PC was also capable of much more (I think I had 16MB of memory at this point?) yet due to the hardware limitations I could use at most 640kB of it. You may think that a little more than 650 thousand bytes should suffice but that’s how much information is contained in a single uncompressed photo! I felt very constrained–my computer could play sound, display graphics, and perform calculations much faster than anything I’ve seen before. Yet I couldn’t take advantage of any of it. There seemed to be some kind of a rule that stipulated those omnipresent limits–party poopers. There seemed no way around it.
Then, one day, I discovered this utility called DOS/4GW. It wasn’t a discovery as much as a result of an investigation: I’d see more and more advanced games pop up that surelycouldn’t have been subject to the 640k limit (they combined music with graphics and seemed to store a lot of information about the virtual worlds they were depicting… my intuition told me that must have been more than the measly 640k). All these games would launch a small application before they themselves started, and that application would simply pop “DOS/4GW” on the screen and disappear. So I started digging.
I found out (at that point I didn’t have any access to the Internet–searching for information was so incredibly painful back then) that this little utility allowed the game programmers to bypass the 640k limit, effectively taking advantage of all the memory that the computer had available. And to my shock it turned out that I could also take advantage of this application when making my programs.
This lifting of the limit was, in retrospect, the single most eventful day in my entire life of interaction with computers. For one, the limit was immediately increased from 640k to 16M (a 25-fold increase!). But, more importantly, it was a soft limit: I could simply buy more memory and have more available to my programs. I felt empowered*. I went crazy–there were finally no limits to my creativity.
* What I didn’t know was that DOS/4GW didn’t abolish the limit altogether; it simply upped it to 4GB. But given that most of us don’t have that much memory even today, that fact wouldn’t have registered with me as something fundamental then. Now it’s part of the sad reality about modern computing–it’s all painfully finite.