4 ms·
>miraculous Yes, miraculous is precisely the right word. 128 bytes of memory. BYTES! Or as the article's author so beautifully frames it : "the RAM can't hold
by jackhack 8y ago
>miraculous
Yes, miraculous is precisely the right word. 128 bytes of memory. BYTES! Or as the article's author so beautifully frames it : "the RAM can't hold a full Tweet". And that's just the RAM; CPU is similarly limited.
"half the CPU time is spent Racing The Beam" meaning "half the time is spent tracing video ram to module the Cathode Ray Tube electron beam to generate the video output."
Just incredible that anything useful was possible. The more I learn about the 2600s architecture, the more impressed I am with the quality of the games that existed.
- kabdib 8y agoYou have more than 128 bytes of memory. MUCH more, considering what's available :-) - The I/O chip has a register or two used to store the direction of a bit in the port. If you don't care whether the port is reading or writing, you can use the direction register as a byte of RAM. - The stack pointer is essentially useless most of the time. You get another 8-bit register to play with, and it even does auto increment/decrement for you, if you're careful about side effects. A cow-orker of mine at Atari (we were in the Atari 800 games group) decided to learn how to program the 2600. I think his motivation was partly the massive bonuses and royalties that 2600 programmers were getting for shipping their cartridges (our division did not do royalties, and it barely did bonuses). Over four months I watched him mentally deteriorate, and he finally gave up. [Six months later the company folded, more or less, and we both wound up working for Jack Tramiel]. Yeah, the fact that anyone could make a fun game on the 2600 was kind of a miracle.
- beefok 8y agoSorry to go off topic, but, when I started reading this response, I started thinking, "hey is this the dadhacker.com guy?". I really loved your atari st history blog posts, man! I'm laughing at the extra 2 bytes of memory you just gave us! ;) IMO, the NES dev community had a better time with the 6502 -- but they definitely had far more memory to play with by then and they had (more) expensive cart mappers with RAM.
- kabdib 8y agoWriting a 2600 game was a little like a contact sport, you got beaten up a lot by the hardware ("What's wrong with this stupid register?"), got beaten up by marketing ("Can't you cram that thing into 2K of ROM? What's wrong with you? Oh, and we need it next week. What's wrong with you???"), got beaten up by management ("We gave your hot title to Joe Thumbfingers because there's nothing wrong with him") and ultimately beaten up by the market ("This game suxx, what's wrong with you?"). The payoff was good, at least for a few people. Eventually the 2600 and its team ran out of gas. I remember being called into some game brainstorming meetings, and the 2600 programmers were just utterly burned out by the platform. Someone would raise an idea and it'd get shot down by the experienced platform wizards. Not the way you want to run a brainstorming session, but everyone thought that the platform was done. In comparison, Atari 400/800 development was a doddle. You had oodles of RAM, tons of ROM (the cartridge I wrote was the first 16K ROM that Atari shipped, and I don't recall there being a huge flap about it), and the tools were pretty decent (for writing assembly language, anyway). Getting something on the screen was maybe half an hour of work, and you didn't have to count cycles or crunch code until you wanted to do optimization. The downside was that we weren't paid as much, and towards the end management started to fix that, too.