3 ms·
True, but let’s not forget that the game code is usually in much bigger ROM on the Atari 2600 (and I forgot whether bank switching hardware and similar cartridg
by anyfoo 7y ago
True, but let’s not forget that the game code is usually in much bigger ROM on the Atari 2600 (and I forgot whether bank switching hardware and similar cartridge extension hardware was common there). Still mind boggling how little RAM you had for game state. And that you actually did not have a framebuffer at all, meaning that you essentially had to draw each pixel (or scanline?) when it came up!
- londons_explore 7y agoThere are a lot of games where you could represent state inside 10 bytes. Imagine candy crush for example - just just need a level counter (1 byte) and a bitmap of which candies have been collected (8 bytes).
- tenebrisalietum 7y agoI'd say about 10% of games had some sort of bankswitching. I think about 2 or 3 games even had a 256-byte expansion RAM. Not only was there no framebuffer and only 128 bytes of RAM, but the graphics chip didn't generate any interrupts (it could halt the CPU until the start of the next scanline though). You had to wait and spinlock on a timer for the proper amount of time after finishing your frame and processing game state to start drawing the next frame. You also manually had to tell the graphics chip to output VBLANK lines so you had to do that at the right time as well. If you got the timing wrong on that the vertical hold on your analog TV would lose sync and the screen would jitter or roll.
- anyfoo 7y agoOh, interesting. Do you happen to know how that bank switching and, more so, the RAM expansion was implemented? I heard before that this wasn’t common, because of a fatal omission in the cartridge connector. And indeed, looking at the pin out, it seems to lack a Write Enable line, or really anything else besides Address and Data lines! https://old.pinouts.ru/Motherboard/AtariCartridge_pinout.shtml https://old.pinouts.ru/Motherboard/AtariCartridge_pinout.sht... Are the Data lines still bidirectional? Or was this achieved by strobing the Address lines in a certain pattern?
- tenebrisalietum 7y agoAll I know is the majority of carts with it had a few specific addresses that triggered the bankswitch when written, toward the top of memory right before the 6502 vectors. I'm unsure how they were implemented electronically. At least one chip (the FE device for Decathlon) is sniffing the 6502 instruction stream because it triggers on JSR/RTS being executed. http://blog.kevtris.org/blogfiles/Atari%202600%20Mappers.txt http://blog.kevtris.org/blogfiles/Atari%202600%20Mappers.txt http://www.classic-games.com/atari2600/bankswitch.html http://www.classic-games.com/atari2600/bankswitch.html