As you know, the Atari VCS 2600 has been (and is) an iconic video computer system. Compared to more modern systems like the Amiga or even the C64 it was rather limited. However, great software has been written for. This week we have demo for you that will blow your mind!
...
The video capabilities of the 2600's video chip "Stella" were quite limited - there was no frame buffer, as memory was prohibitively expensive at those days. The video chip had 40 bit of resolution for a video line - and it had to be programmed anew for each video line! I.e. using CPU cycle counting the video chip registers are being manipulated at the right time, sometimes in the middle of the video line, to get the right effects.

This makes it even more amazing what XAYAX has done with this very machine. See the demo [1] and be blown away!

To learn more about the 2600 video chip, see the visual6502 pages [2] and look at slides 39+ of their presentation [3]. A good programmer's view of the video chip is presented in Warren Robinett's discussion of his best-selling title "Adventure" for the Atari 2600 [4,5].

Below we have more information on programming, even including links to the schematics of the Stella video chip [6,7,8]. The Ultimate Talk on 28C3 gives a great overview on the VCS, the history, the games and technology [9]. Of course we have already covered the 2600 in other posts [10-16].

The demo mentions that "no illegal instructions [were] used in this demo". In this time it was common to use "illegal" instructions of the 6502 processor core to get a better timing. The 6502 logic had "undefined" opcodes, but clever programmers had found out that these instructions did not do nothing, but, due to incomplete decoding logic, sometimes combined the effects of two other opcodes for example. One example is LAX, which loads the Accumulator and the X register at the same time, a feature not available as "legal" opcode. These illegal opcodes were only available in the NMOS versions, and were removed in the later CMOS versions. Because illegal opcodes can make the code more efficient, it is even more amazing, that the demo did not use any!

So, after watching the demo, what do you think about the achievement?


[1] Demo XAYAX - Bang! (ATARI VCS 2600 demo)

[2] http://www.visual6502.org/images/pages/Atari_10444D_TIA.html
[3] http://visual6502.org/docs/6502_in_action_14_web.pdf

[4] http://www.warrenrobinett.com/adventure/index.html
[5] http://www.warrenrobinett.com/adventure/adventure_lecture.ppt

2600 schematics
[6] http://www.atariage.com/2600/archives/schematics_tia/index.html

2600 programming
[7] http://atariage.com/forums/topic/33233-sorted-table-of-contents/
[8] http://www.atariage.com/2600/programming/index.html

The ultimate 2600 talk
[9] The Atari 2600 Video Computer System: The Ultimate Talk [28C3]

Our posts:
[10] https://plus.google.com/108984290462000253857/posts/XSFJC1cpfQx

halo2600
[11] https://plus.google.com/108984290462000253857/posts/6qM8dtNaRdy
[12] http://www.codemystics.com/halo2600/

[13] https://plus.google.com/108984290462000253857/posts/4gMUBtNHi9d
[14] https://plus.google.com/108984290462000253857/posts/E98ckXGWMGE
[15] https://plus.google.com/108984290462000253857/posts/PQCb69TjLrB
[16] https://plus.google.com/108984290462000253857/posts/dGxuu4d1sBK
Shared publiclyView activity
Related Collections