Today is my birthday, making me twenty-nine years old. It was on this day back in 1993 that I began learning computer programming. My exposure to the first generation of video game consoles, mostly handed down from my older brother, sparked my interest in technology. Like a lot of people I wanted to make my own games, and I heard to do that one needed a ‘computer’.
So at great length I convinced my parents to buy their eight-year old son a Packard Bell 486SX.
How Things Have Changed
Some of the key statistics about that computer:
- 33MHz CPU
- 120MB Hard Drive
- 4MB of RAM
Some programmers will be familiar with working with much less power than that, but I suspect a number of friends and readers will have never dealt with such limited hardware. The album I am listening to as I type this article would not fit on that hard drive. No individual song would even fit in memory. To free up space on that computer I deleted Windows 3.1 so I could have more room for Doom WADs.
It was a glorious time when DoubleSpace was something people used.
I have to say, though, that when I think back on that computer it is the CPU which interests me the most, in terms of the hardware I use today. The 486SX is more properly known as Intel 80864SX, which itself was a purposefully crippled version of the [i80486DX]. The defect I refer to is the intentional omission of a floating-point unit (FPU). Sometimes people call it a ‘math co-processor’, which accurately describes what an FPU does: it is designed to crunch numbers quickly.
Manufacturers selling desktop computers at the time felt like most users would be fine with an FPU. For the most part they were right. PC gamers often needed them though, especially as 3D games began to take over the market. I distinctly remember the system requirements for Quake mentioning the necessity of an FPU. But before playing that game I spent more (of my parents’) money doubling my RAM to a stunning eight megabytes and replacing my 2400 baud modem with a 9600 baud one so I got better performance in deathmatch games against friends on a local BBS.
My adventure into computer programming began with QBasic. Soon after that I moved into the world of C and C++ simultaneously—not something I’d recommend in retrospect. I fondly remember using RHIDE as I’d grown used to the interface of QBasic. It did not take long before I went on a binge installing things from DJGPP, marking my first experience with GNU Emacs.
I’m going to see if I have any of my old code from those days backed up anywhere. Although I know it’ll be painful to look at it now if I do find it, but still…. Good times.