Hacker News new | past | comments | ask | show | jobs | submit login

> The code makes some dangerous assumptions . . .

In this era, code for games was essentially write-only, by one or two engineers. No one would be confused by the code in later releases because there simply weren't any. Code that was common between games was the exception rather than the rule (at Atari, some of the best debugged and well-structured code was the stuff that operated the coin mechanism, because it had to be right or customers would aggressively exercise the tilt switch mentioned in the article).

Code also had to run on really tiny hardware. ROMs cost real money, and marketing wasn't going to give you more just to make your life easier. If your code ran in 4K, but Joe's code was a complete train-wreck that ran fine in 2K, guess who got the big bonus?

One cow-orker of mine had spent some time writing code for pinball machines at Midway. He said that on one project the hardware engineers wanted to save money by half-populating the board's RAM; unfortunately the way they sliced it was to only provide the bottom 4 bits of each byte.

"The ROM is still 8-bits wide, you can work around the RAM thing in software."

He only got his full-width RAM by pointing out that the processor's stack wouldn't work.

> sliced it was to only provide the bottom 4 bits of each byte.

That’s hilarious. I guess people were not that knowledgeable back then.

You underestimate the cruelty of a hardware team intent on cost reduction. They knew perfectly well what they were asking. IIRC the showstopper was that the CPU wouldn't be able to handle interrupts.

One thing that struck me when I started studying pinballs in more depth is that they really had the same basic technologies in use between the 40's and the 70's, decades spent entirely on finding creative uses of EM relay logic and coils and rubbers. To the extent that those games have memory, it's just enough to count credits, trigger a score reel and serve bonuses.

And that scale of logic translated into a microprocessor makes for some pretty trivial software; the games got to skip over all the intermediate technologies of vacuum tubes and drums and core memory. So part of that initial video game boom - and the corresponding switch to solid state pinball - really was a kind of seeking out of applications for hundreds to thousands of bytes of memory, often supplemented with existing analog tech. It's a fascinating crossover in many ways with a punctuated ending: the '84 games crash and the '85 computers crash precipiated cheaper RAM and in following years, suddenly all the games started having more expansive worlds, full soundtracks, keyframed sprite animation etc. The development shifted from a hardware and manufacturing focus to a software one; and the computing devices became much more convergent and portable. And that is the trend we've been on since in the consumer space - inexhaustible cravings for more memory and higher fidelity, held at bay only by the whims of hardware teams.

But I'm looking at coverage of CES this year and see this long trend as something that's played out, with a lot of companies across the board aiming to pitch new concepts. We're in a space where people have Enough Memory. So things are getting exciting again.

Applications are open for YC Summer 2020

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact