Eight kilobytes?! How do you build anything meaningful, especially a game, with just eight kilobytes?
Eight kilobytes?! How do you build anything meaningful, especially a game, with just eight kilobytes?
[1] Yes, I see what I did there.
http://www.pouet.net/prodlist.php?platform%5B0%5D=Atari+VCS
Here's one of the higher-ranked 8k demos:
http://www.pouet.net/prod.php?which=32203 (YouTube: https://www.youtube.com/watch?v=WogMZn87hkk )
https://en.wikipedia.org/wiki/.kkrieger
Screenshot: https://en.wikipedia.org/wiki/.kkrieger#/media/File:Kkrieger...
- In 2600 coding you often don't need a stack, so you can use 'S' as a temp register. Very useful in the display kernel.
- The 2600 has a standard parallel port chip. There are configuration registers (e.g., port direction) that can be temporarily hijacked as RAM, when you don't care about input or output (which you generally only sample once a frame). That's a whole 8 more bits of RAM, not to be sneezed at.
One of my cow-orkers at Atari decided that he'd try to learn 2600 programming (he was mostly doing Atari Home Computer stuff). Over three or four months I saw him go through what I can only describe as deterioration and utter discouragement. The people who could get even an awful game out of the 2600 were pretty damned good hackers.
But that was storages, which was huge compared to the 128 bytes of RAM. Further complications happen because you need to time things with the scan lines of the display.
It doesn't even have a screen buffer, just a half a line buffer. You have to count scan lines and keep track of what's being drawn on a cycle by cycle basis, then update the line buffer live to get what you want on screen.
Often times you don't.
Think of how many computer programmers there were back then. How many notable 2600 programmers were there? 20? 25?