Since I was a small child, I’ve always been interested, if not fascinated, by what computers can do. At least in the mainstream, efficiency seems to be a bit of a lost are now.
Back when we had an Atari 2600 I was amazed at what could be done by it. I was far too young to understand it then, and didn’t have the means to even try. As much as I enjoyed playing the games, the more interesting part to me was, how does it work? How does it know how to move the way you move the joystick? How did it know how to make the sounds.
Eventually, I got Pitfall. That was entirely different from any of the other games. It had many screens that you could explore. Now I know that there are 255 of them.
Recently, I rediscovered an article that went into some details of how Pitfall was made for the Atari 2600. Each screen was represented by just one byte to tell whether it had logs, treasures or pits or whatever else they had. The Atari 2600 only had 128 bytes of RAM. A good number of my sentences I write on my website here would take up too much memory to fit into that 128 bytes of RAM that the Atari had.
The Atari had no screen buffer, so the program had to draw the screen one line at a time. It had to be timed.
I love reading details of how old programmers would make their programs fit into the constraints that hardware had back then. It seems insane when you think about it now. They truly had to understand the hardware and how to best optimize how they used it. That’s the part of programming that was always fascinating to me.
Fast-forward to the Commodore 64. It had a lot more memory than the old Atari did. It was still very constraining. When we had our C64 I always wanted to learn assembly language, but I really was unable to find any books on it, and we had no way to compile it. I didn’t have the monetary means to buy one either, even if I was able to find it. I did love reading through some things that were on our Load star disks, but that was just enough to get me interested in it. If only I could have had access to the library back then.
These days, things just aren’t as efficient as they had to be back then. Even the simplest of trackers on nearly every website (None here!) probably wouldn’t even be able to run on old hardware. Computers being 64 bits rather than the eight bits back then causes a lot more store use, but that has its own benefits.
It’s not all negative, though. In many ways, usability is much better. Once we get rid of the flat design fad, that’ll likely get even better again. Back then, user interfaces were inconsistent at best or nonexistent between programs other than BASIC. The reality was that there was only so much you could squeeze out of that small amount of RAM and the slow processor. If it weren’t for the fad of making everything in the UI try to look the same we could have nice easy to use interfaces.
It usually comes up in comments about this sort of thing, but I saw the book Racing The Beam about the Atari 2600. I’ve been meaning to read it for quite a while, but always put in on the back burner and forgot to buy it. So far, I’m really enjoying it and learning many interesting things. No doubt I’ll be posting more about this book and what I learned from it later.