Slashdot Mirror


Unreal History of the Atari 2600

Such_a_geek writes "Atari fans, do you remember playing Gunther Gebel Williams' Cage Cleaner, Typing Tutor, and Peabo Bryson's Cow Tipper on your 2600? How about playing the interactive Foghat 8-track while playing with your Pong action figures? Yeah, me neither. But thanks to this totally fake but quite convincing screenshots in this alternate history of 2600 games, I almost find myself remembering these things."

8 of 130 comments (clear)

  1. google cache by minus_273 · · Score: 2, Informative

    for what it is worth.. here
    check your flash ;)

    --
    The war with islam is a war on the beast
    The war on terror is a war for peace
  2. Who needs those? by immanis · · Score: 3, Informative

    I have one of these.

    Target, 15 bucks or so. Money WELL spent. How long has it been since YOU held a joystick like that?

    perv.

  3. Wrong CPU by localroger · · Score: 3, Informative
    The Atari 2600 used the 6507, a 24-pin packaging of the 6502. It was not a particularly low-power chip but it was considered very fast for its technology, executing many instructions in 2 clock cycles.

    The 1802 was, in fact, used in quite a few space probes, including the Pioneer series, because of its reliability (it was miserably slow by contrast to the 6502 but also much simpler).

    --
    Brackets contain world's first nanosig, highly magnified:[.]
  4. mirror by iosmart · · Score: 1, Informative

    i was able to get just a few...site seems to have completely died now. i have typing tutor, hands across america, ms. paul's fish stock hunter, and part of emett-otter's jug-band motorcross.

    here's my partial mirror

  5. Re:From the wouldn-it-be-cool-if-Atari-went-OS dep by cide1 · · Score: 3, Informative

    There isnt much source code per say. Most games were 4 KByte, the biggest were 32 or maybe 64. They were done completely in 6507 assembly, and can be disassembled into essentially what the programmers wrote. The hard part is making sense of it. With effort, and some experience, one can label the disassembly enough to understand whats going on. There are several games where this has been done, and are publicly available. Remember that the atari was very simple, it barely had enough power to draw the screen line by line. Their was a CPU (6507 which was a 6502 with only 13 address lines) and the TIA chip, which was what generated the scan lines for television. Their was iirc 128 bytes of memory, and if one was really sneaky, some ram could be put on the cartridge. The most complex part of atari code is bank switching, where differant segments of a rom are mapped onto the same set of addresses. Having the source would not give any benefit, as it is one step above machine code. The best way to preserve atari title is to have emulators that are as close to a 2600 as possible, thus allowing the titles to still be played.

    --
    -- the computer doesn't want any beer, no matter how much you think it does. NEVER, EVER feed your computer beer.
  6. Not on the 2600 by localroger · · Score: 2, Informative

    The 2600 reset did not actually reset the CPU, it was just an input that the cart could read and act upon. I know this well since I've written a couple of 2600 demos, and I've used it.

    --
    Brackets contain world's first nanosig, highly magnified:[.]
  7. Hi Amsterdam Vallon by Anonymous Coward · · Score: 0, Informative

    That "MOD PARENT UP" trick is stupid and it's nice to see it fail miserably.

  8. Re:From the wouldn-it-be-cool-if-Atari-went-OS dep by ClosedSource · · Score: 2, Informative

    What might have not been clear from your post was that bank switching was game vendor specific and not part of the 2600 itself.

    As you said, some cartridges had RAM but accessing it was strictly based on addresssing since the R/W line from the processor was not brought out to the cartridge interface. So you'd have an address space for reading from RAM and a different address space for writing to it.

    I recall I once had a bug on an indexed read (the index was incorrect) that ended up reading from the wrong location. It turned out the location it read from was in the RAM write address space. So I read an incorrect value and at the same time wrote an incorrect value all in one instruction.