1. 8

  2. 3

    The chip designers must have had their reasons: maybe LFSRs were cheaper to implement or required fewer transistors than regular binary counters? If you just need a six bit counter, then ultimately it doesn’t really matter if it counts 64 states from 000000 sequentially up to 111111, or if it follows some other random-looking but deterministic sequence of states. Either way you can add logic to check for the terminal state and reset the counter when needed. If anyone has an idea why the TIA’s designers used LFSRs for this stuff, I’d love to hear about it. Fortunately the Atari 2600 programmer is mostly insulated from this LFSR funny business.

    LFSRs take less resources than counters, and also are easier to meet timing with. The LFSR in the example only takes 3 gates and has a delay of 2 gates. However, a counter would use 6 half adders, which is already 12 gates. Additionally, a counter would have a delay of 6 gates, due to the carry needing to propagate through every bit. There are ways to get around this (carry-lookahead, carry-skip, etc), but they all take up additional gates.

    1. 1

      It may be interesting for some people to know that the Atari 2600 has an active demoscene. Many cartridges also features circuitry to expand the capabilities of the hardware, so-called mappers. These were also popular on the NES and some other consoles of the era. The capabilities of these mappers are somewhat hampered by the lack of a write line on the cartridge port, extended RAM has to have separate addresses for reading and writing..

      1. 2

        The Pitfall II cartridge had an additional sound chip to enable the continuous multichannel music, and a larger ROM enabled by bank-switching to hold all the data for the game.