<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Game Analysis on Programming the Atari VCS in Assembly</title><link>https://cdeever.github.io/atari-vcs/docs/game-analysis/</link><description>Recent content in Game Analysis on Programming the Atari VCS in Assembly</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://cdeever.github.io/atari-vcs/docs/game-analysis/index.xml" rel="self" type="application/rss+xml"/><item><title>Pong (a minimal teardown)</title><link>https://cdeever.github.io/atari-vcs/docs/game-analysis/pong/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://cdeever.github.io/atari-vcs/docs/game-analysis/pong/</guid><description>&lt;h1 id="pong-a-minimal-teardown"&gt;Pong (a minimal teardown)&lt;a class="anchor" href="#pong-a-minimal-teardown"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Where &lt;a href="https://cdeever.github.io/atari-vcs/docs/game-analysis/combat/"&gt;Combat&lt;/a&gt; and &lt;a href="https://cdeever.github.io/atari-vcs/docs/game-analysis/pitfall/"&gt;Pitfall!&lt;/a&gt; are feats of &lt;em&gt;compression&lt;/em&gt; — huge games squeezed into tiny ROMs — this Pong is the opposite lesson: the &lt;strong&gt;irreducible minimum&lt;/strong&gt;, the smallest thing that is still a complete VCS game. It&amp;rsquo;s a clean, modern implementation by &lt;strong&gt;Lucas Avanço&lt;/strong&gt;, built on Kirk Israel&amp;rsquo;s &amp;ldquo;thin red line&amp;rdquo; tutorial and the Stella Programmer&amp;rsquo;s Guide — not Atari&amp;rsquo;s 1977 cartridge, but all the better for reading, because there&amp;rsquo;s nothing in it that isn&amp;rsquo;t essential.&lt;/p&gt;</description></item><item><title>Combat (1977)</title><link>https://cdeever.github.io/atari-vcs/docs/game-analysis/combat/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://cdeever.github.io/atari-vcs/docs/game-analysis/combat/</guid><description>&lt;h1 id="combat-1977"&gt;Combat (1977)&lt;a class="anchor" href="#combat-1977"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;&lt;em&gt;Combat&lt;/em&gt; shipped in the box with the original console — for millions of people it &lt;em&gt;was&lt;/em&gt; the Atari. Written by &lt;strong&gt;Larry Wagner&lt;/strong&gt; with hardware help from &lt;strong&gt;Joe DeCuir&lt;/strong&gt;, it packs &lt;strong&gt;27 game variations&lt;/strong&gt; (tanks, tank-pong, invisible tanks, biplanes, jets) into a &lt;strong&gt;2 KB&lt;/strong&gt; ROM. It&amp;rsquo;s also one of the most thoroughly annotated programs in 2600 history: the commented disassembly this teardown follows runs from Harry Dodgson&amp;rsquo;s original through Nick Bensema&amp;rsquo;s notes (1997) to Roger Williams&amp;rsquo; full overhaul (2002).&lt;/p&gt;</description></item><item><title>Pitfall! (1982)</title><link>https://cdeever.github.io/atari-vcs/docs/game-analysis/pitfall/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://cdeever.github.io/atari-vcs/docs/game-analysis/pitfall/</guid><description>&lt;h1 id="pitfall-1982"&gt;Pitfall! (1982)&lt;a class="anchor" href="#pitfall-1982"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;&lt;em&gt;Pitfall!&lt;/em&gt; — &lt;strong&gt;David Crane&lt;/strong&gt;, Activision, 1982 — sent Pitfall Harry running through a &lt;strong&gt;255-room jungle&lt;/strong&gt; of logs, vines, crocodiles, scorpions, and quicksand, and became one of the best-selling games on the system. It did all that on a &lt;strong&gt;4 KB&lt;/strong&gt; cartridge, which raises an obvious question: where do 255 rooms &lt;em&gt;fit&lt;/em&gt;? The answer is the most famous idea in 2600 programming, and it&amp;rsquo;s the reason this game is worth taking apart. (The disassembly here is Thomas Jentzsch&amp;rsquo;s.)&lt;/p&gt;</description></item><item><title>Adventure (1980)</title><link>https://cdeever.github.io/atari-vcs/docs/game-analysis/adventure/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://cdeever.github.io/atari-vcs/docs/game-analysis/adventure/</guid><description>&lt;h1 id="adventure-1980"&gt;Adventure (1980)&lt;a class="anchor" href="#adventure-1980"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;&lt;em&gt;Adventure&lt;/em&gt; — &lt;strong&gt;Warren Robinett&lt;/strong&gt;, Atari — put an entire &lt;strong&gt;explorable world&lt;/strong&gt; on the console: roughly thirty connected rooms, items you carry one at a time, three dragons that hunt you, a thieving bat, and locked castles opened with keys. It was the first action-adventure game on a home console, packing an astonishingly rich world into a 4 KB cartridge. It&amp;rsquo;s also famous for its hidden &lt;strong&gt;&amp;ldquo;Created by Warren Robinett&amp;rdquo; room&lt;/strong&gt; — widely regarded as the first &lt;em&gt;famous&lt;/em&gt; Easter egg in a video game, and the one that popularized the tradition of hiding secrets for players to find.&lt;/p&gt;</description></item><item><title>River Raid (1982)</title><link>https://cdeever.github.io/atari-vcs/docs/game-analysis/riverraid/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://cdeever.github.io/atari-vcs/docs/game-analysis/riverraid/</guid><description>&lt;h1 id="river-raid-1982"&gt;River Raid (1982)&lt;a class="anchor" href="#river-raid-1982"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;&lt;em&gt;River Raid&lt;/em&gt; — &lt;strong&gt;Carol Shaw&lt;/strong&gt;, Activision — flies a jet up a winding river that never ends: shoot the ships, helicopters, and jets, blow the bridges, and watch the fuel gauge, because the banks keep narrowing. It was one of the best-selling and most acclaimed games of the era, and a landmark for another reason — Shaw was among the first women to design and program a commercial video game, and River Raid is her masterpiece. The disassembly here is Thomas Jentzsch&amp;rsquo;s.&lt;/p&gt;</description></item><item><title>Space Invaders (1980)</title><link>https://cdeever.github.io/atari-vcs/docs/game-analysis/spaceinvaders/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://cdeever.github.io/atari-vcs/docs/game-analysis/spaceinvaders/</guid><description>&lt;h1 id="space-invaders-1980"&gt;Space Invaders (1980)&lt;a class="anchor" href="#space-invaders-1980"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;&lt;em&gt;Space Invaders&lt;/em&gt; — &lt;strong&gt;Rick Maurer&lt;/strong&gt;, Atari — was the first officially &lt;strong&gt;licensed arcade game&lt;/strong&gt; to land on a home console, and it changed everything. It was the 2600&amp;rsquo;s &lt;strong&gt;killer app&lt;/strong&gt;: the cartridge people bought the &lt;em&gt;console&lt;/em&gt; in order to play, widely credited with roughly quadrupling hardware sales in 1980 and turning the VCS from a curiosity into a phenomenon. Maurer&amp;rsquo;s port is also a quiet masterclass in TIA economy — it fills the screen with marching aliens using astonishingly little hardware. The disassembly here was produced from the cartridge with &lt;a href="https://cdeever.github.io/atari-vcs/docs/getting-started/toolchain/"&gt;DiStella&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Video Chess (1979)</title><link>https://cdeever.github.io/atari-vcs/docs/game-analysis/videochess/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://cdeever.github.io/atari-vcs/docs/game-analysis/videochess/</guid><description>&lt;h1 id="video-chess-1979"&gt;Video Chess (1979)&lt;a class="anchor" href="#video-chess-1979"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;&lt;em&gt;Video Chess&lt;/em&gt; — &lt;strong&gt;Larry Wagner&lt;/strong&gt; (the chess engine) and &lt;strong&gt;Bob Whitehead&lt;/strong&gt; (the kernel and display), Atari — is the one that shouldn&amp;rsquo;t fit. It is a &lt;strong&gt;real chess program&lt;/strong&gt;: it knows the legal moves, it looks ahead, it plays a whole game against you at eight levels of strength. And it does all of that in &lt;strong&gt;4 KB of ROM and 128 bytes of RAM&lt;/strong&gt; — less working memory than a single line of this paragraph. By legend it almost didn&amp;rsquo;t ship: Atari had advertised a chess cartridge in its earliest VCS catalog, couldn&amp;rsquo;t deliver for a year or two, and — the often-told story goes — a customer&amp;rsquo;s threatened lawsuit over the no-show product is what finally pushed it out the door in 1979.&lt;/p&gt;</description></item><item><title>Cosmic Ark (1982)</title><link>https://cdeever.github.io/atari-vcs/docs/game-analysis/cosmicark/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://cdeever.github.io/atari-vcs/docs/game-analysis/cosmicark/</guid><description>&lt;h1 id="cosmic-ark-1982"&gt;Cosmic Ark (1982)&lt;a class="anchor" href="#cosmic-ark-1982"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;&lt;em&gt;Cosmic Ark&lt;/em&gt; — &lt;strong&gt;Rob Fulop&lt;/strong&gt;, Imagic — casts you as a sort of Noah in orbit: a great ark sweeping the galaxy to rescue pairs of animals from dying worlds. It plays in two alternating acts — fend off a meteor storm from the center of the screen, then drop to a planet and lift creatures aboard with a tractor beam. It&amp;rsquo;s a fine game. But it is &lt;em&gt;remembered&lt;/em&gt; for four instructions.&lt;/p&gt;</description></item><item><title>Breakout (1978)</title><link>https://cdeever.github.io/atari-vcs/docs/game-analysis/breakout/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://cdeever.github.io/atari-vcs/docs/game-analysis/breakout/</guid><description>&lt;h1 id="breakout-1978"&gt;Breakout (1978)&lt;a class="anchor" href="#breakout-1978"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;&lt;em&gt;Breakout&lt;/em&gt; is where the VCS came from. The 1976 arcade machine was conceived by &lt;strong&gt;Nolan Bushnell&lt;/strong&gt; and &lt;strong&gt;Steve Bristow&lt;/strong&gt; as a one-player &lt;em&gt;Pong&lt;/em&gt; with a wall to chip away at, and the prototype was built — famously, over a few sleepless nights — by &lt;strong&gt;Steve Wozniak&lt;/strong&gt;, with &lt;strong&gt;Steve Jobs&lt;/strong&gt; handling the deal with Atari (and, the story goes, the bonus). The 1978 cartridge brought it home. It is &lt;em&gt;Pong&lt;/em&gt;&amp;rsquo;s child: a ball, a paddle, and a wall of bricks.&lt;/p&gt;</description></item></channel></rss>