The Knowable Computer
You – especially YOU, Loadstarite Alumni – have witnessed a thing that happens very rarely in history. You watched as the Greatest 8-bit Computer slipped into obsolescence and obscurity. You witnessed the unending ballyhoo of progress and an ever-accelerating acceleration of technological wonders. And you were told, perhaps convinced, that you were guilty of Luddite foot-dragging because you remember something that was, in fact, glorious.
You witnessed the end of the truly Knowable Computer. There was a moment in history when one determined person really could comprehend almost the entire Commodore 64. We didn’t merely operate the machine; we could form a mental model of it.
A single person – a smart, inquisitive, probably driven person – could understand the machine deeply enough to hold its essential logic in mind. I am not that person. I know many people who know and understand much more than I ever will. In fact, I have been away from programming for nearly 20 years now, and have forgotten more than I ever knew. But I had some sense of the logic of this thing. For this is a technological artifact that continues to exceed its own limitations.
Modern computers (by which I mean those of the 21st century) are vastly more capable. But no individual understands the CPU, GPU, operating system, firmware, drivers, networking stack, browser, display system, compiler, memory controller, security subsystem, and billions of transistors that collectively produce the little blinking insertion point (we used to call it a “cursor”) in front of them.
And the result is an incredibly sophisticated utility. We have something like the whole world in our pockets. We can acquire most any information or factoid by just asking a question out loud. And we can participate in elaborate simulation games with people from all over the world. All of this is really important – and fun.
But since I got my first computer, what it could do for me was never as important as what I could do with this tiny world of bytes and pure logic. The best thing about the computer was the built-in BASIC that was a gateway to accomplishing anything imaginable.
True, modern computers make getting things to work vastly easier. On the other hand, our machine was a marvelous milestone at the time. It had very real limitations. It had laws. 65,536 addresses. A finite number of registers. The VIC-II and the SID behaved according to their laws. The 6510 did exactly what you told it to – even when what you told it was idiotic. Nothing inside that world was supernatural. Yet, marvels appeared because somebody made the machine do it.
Perhaps that is what we lost when computers ceased to be knowable: a little world small enough for one human imagination to explore. And that world had boundaries.
It had real limits:
- A megahertz clock. Only a million cycles a second.
- Sixty-five thousand five hundred thirty-six bytes. And not one more.
- Sixteen colors. No more. No less.
- Eight sprites. Just 8 – covering only 24 by 21 pixels.
- Three voices. Four waveforms. Primitive sound.
- One Accumulator. Two Index Registers.
And therefore somebody kept asking: “How can I do it anyway?”
That’s where knowability turns into creativity.
But the C64 was more than a place of utility. It was – and still is – a place of exploration.
And the joy of the explorer is discovering how little you actually needed to make something work.
READY.
The Commodore 64 came right out of the box with a minimal operating system – the KERNAL – and BASIC 2.0. Plug it in, turn it on, and moments later you were greeted with:
**** COMMODORE 64 BASIC V2 ****
64K RAM SYSTEM 38911 BASIC BYTES FREE
READY.
And a friendly blinking square. It was called the “cursor,” and was involved in a fair amount of cursing – at least in my computer room.
Most 8-bit home computers came with some form of BASIC. By 1982, this modest language had traveled a remarkable distance.
In the early 1960s, Dartmouth mathematicians John Kemeny and Thomas Kurtz believed that computers should not belong only to scientists and specialists. They developed a time-sharing system that allowed many students to use Dartmouth’s computer through teletypes, and devised a language simple enough for ordinary undergraduates to learn. In May 1964, BASIC came to life.
The original Dartmouth BASIC was compiled. When a student typed RUN, the source program was quickly translated into machine language, executed in the user’s allotted space and time, and the results returned to the teletype. The computer was enormous, expensive, and shared – but BASIC made a little piece of it personally accessible.
A decade later, computers became small enough to belong to individuals. In 1975, Bill Gates and Paul Allen produced a BASIC interpreter for the Altair 8800, squeezing one version into as little as 4K. Instead of compiling an entire program before execution, the interpreter examined BASIC statements as they were encountered and dispatched machine-language routines to perform the requested work.
Microsoft adapted BASIC to many of the new 8-bit machines. Commodore acquired its 6502 version for the PET, and that BASIC V2 eventually found its way, virtually unchanged, into the ROM of the Commodore 64.
Perhaps too unchanged. BASIC V2 had no commands specifically designed for the C64’s remarkable VIC-II graphics or SID sound chip.
But the chips were there.
Waiting.