<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Amazing demo runs with Atari VCS&#039;s 128 bytes of&#160;memory</title>
	<atom:link href="http://boingboing.net/2013/02/20/amazing-atari-vcs-demo-fits-in.html/feed" rel="self" type="application/rss+xml" />
	<link>http://boingboing.net/2013/02/20/amazing-atari-vcs-demo-fits-in.html</link>
	<description>Brain candy for Happy Mutants</description>
	<lastBuildDate>Mon, 20 May 2013 01:33:00 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.1</generator>
	<item>
		<title>By: mennucc</title>
		<link>http://boingboing.net/2013/02/20/amazing-atari-vcs-demo-fits-in.html#comment-1661338</link>
		<dc:creator>mennucc</dc:creator>
		<pubDate>Thu, 21 Feb 2013 15:36:00 +0000</pubDate>
		<guid isPermaLink="false">http://boingboing.net/?p=214291#comment-1661338</guid>
		<description>«128bytes ought to be enough for anybody»</description>
		<content:encoded><![CDATA[<p>«128bytes ought to be enough for anybody»</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: donovan acree</title>
		<link>http://boingboing.net/2013/02/20/amazing-atari-vcs-demo-fits-in.html#comment-1661287</link>
		<dc:creator>donovan acree</dc:creator>
		<pubDate>Thu, 21 Feb 2013 14:03:00 +0000</pubDate>
		<guid isPermaLink="false">http://boingboing.net/?p=214291#comment-1661287</guid>
		<description>Programmers these days with their high level languages. Bloat! Bloat! Bloat!</description>
		<content:encoded><![CDATA[<p>Programmers these days with their high level languages. Bloat! Bloat! Bloat!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: SoItBegins</title>
		<link>http://boingboing.net/2013/02/20/amazing-atari-vcs-demo-fits-in.html#comment-1661208</link>
		<dc:creator>SoItBegins</dc:creator>
		<pubDate>Thu, 21 Feb 2013 08:40:00 +0000</pubDate>
		<guid isPermaLink="false">http://boingboing.net/?p=214291#comment-1661208</guid>
		<description>One M&amp;M. </description>
		<content:encoded><![CDATA[<p>One M&amp;M. </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Will Holz</title>
		<link>http://boingboing.net/2013/02/20/amazing-atari-vcs-demo-fits-in.html#comment-1661140</link>
		<dc:creator>Will Holz</dc:creator>
		<pubDate>Thu, 21 Feb 2013 05:33:00 +0000</pubDate>
		<guid isPermaLink="false">http://boingboing.net/?p=214291#comment-1661140</guid>
		<description>Oh man, flashback central!  I used to love some of those great Future Crew demos back in the early 90s!  I remember meeting one of them ages back, the guy could type in Assembly faster than I could type in English.  Lovely people</description>
		<content:encoded><![CDATA[<p>Oh man, flashback central!  I used to love some of those great Future Crew demos back in the early 90s!  I remember meeting one of them ages back, the guy could type in Assembly faster than I could type in English.  Lovely people</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: BBNinja</title>
		<link>http://boingboing.net/2013/02/20/amazing-atari-vcs-demo-fits-in.html#comment-1661113</link>
		<dc:creator>BBNinja</dc:creator>
		<pubDate>Thu, 21 Feb 2013 04:34:00 +0000</pubDate>
		<guid isPermaLink="false">http://boingboing.net/?p=214291#comment-1661113</guid>
		<description> I learned Chess algorithms from the source code of Sargon on a Commodore 64.  I started programming on a C64 when I was 6-7 years old.  Unfortunately, being versed in C64 Basic and 20+ other variations of the Basic language doesn&#039;t impress anyone on a resume these days.:P</description>
		<content:encoded><![CDATA[<p> I learned Chess algorithms from the source code of Sargon on a Commodore 64.  I started programming on a C64 when I was 6-7 years old.  Unfortunately, being versed in C64 Basic and 20+ other variations of the Basic language doesn&#8217;t impress anyone on a resume these days.:P</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stephan J. Müller</title>
		<link>http://boingboing.net/2013/02/20/amazing-atari-vcs-demo-fits-in.html#comment-1660935</link>
		<dc:creator>Stephan J. Müller</dc:creator>
		<pubDate>Thu, 21 Feb 2013 00:49:00 +0000</pubDate>
		<guid isPermaLink="false">http://boingboing.net/?p=214291#comment-1660935</guid>
		<description>The impressive part is usually the size of the binary, not the required RAM. To reproduce this blog post (or the whole demo for that matter) no RAM is required at all. All the program needs to do is read every byte from the binary and write it to the right output.

Those processors are Von Neumann architectures which means that the program itself doesn&#039;t need to be in the RAM in order to be executed. </description>
		<content:encoded><![CDATA[<p>The impressive part is usually the size of the binary, not the required RAM. To reproduce this blog post (or the whole demo for that matter) no RAM is required at all. All the program needs to do is read every byte from the binary and write it to the right output.</p>
<p>Those processors are Von Neumann architectures which means that the program itself doesn&#8217;t need to be in the RAM in order to be executed. </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: qwerty</title>
		<link>http://boingboing.net/2013/02/20/amazing-atari-vcs-demo-fits-in.html#comment-1660925</link>
		<dc:creator>qwerty</dc:creator>
		<pubDate>Thu, 21 Feb 2013 00:34:00 +0000</pubDate>
		<guid isPermaLink="false">http://boingboing.net/?p=214291#comment-1660925</guid>
		<description> &gt; 128 bytes of working memory, not 128 bytes for the entire program. 

Yeah, I was mystified until I realized that, too. While I am constantly amazed by the capabilities of the demo scene to cram functionality into tiny footprints, a 128-byte demo with this level of functionality was only explainable as &quot;fucking sorcery.&quot;</description>
		<content:encoded><![CDATA[<p> &gt; 128 bytes of working memory, not 128 bytes for the entire program. </p>
<p>Yeah, I was mystified until I realized that, too. While I am constantly amazed by the capabilities of the demo scene to cram functionality into tiny footprints, a 128-byte demo with this level of functionality was only explainable as &#8220;fucking sorcery.&#8221;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: JohnnyLA</title>
		<link>http://boingboing.net/2013/02/20/amazing-atari-vcs-demo-fits-in.html#comment-1660747</link>
		<dc:creator>JohnnyLA</dc:creator>
		<pubDate>Wed, 20 Feb 2013 21:56:00 +0000</pubDate>
		<guid isPermaLink="false">http://boingboing.net/?p=214291#comment-1660747</guid>
		<description>Whoops! Yeah, I thought I typed &quot;late-80s&quot;. I had a C-64 back in 1984 and saw some great demos (and music on the SID chip) the same way that dculberson above said: patch-wearing c-64 groups.

But I remember when the Amiga came out around &#039;88&#039;-89 that they were really taking off, at least from what I saw stuck in the MidWest. :)</description>
		<content:encoded><![CDATA[<p>Whoops! Yeah, I thought I typed &#8220;late-80s&#8221;. I had a C-64 back in 1984 and saw some great demos (and music on the SID chip) the same way that dculberson above said: patch-wearing c-64 groups.</p>
<p>But I remember when the Amiga came out around &#8217;88&#8242;-89 that they were really taking off, at least from what I saw stuck in the MidWest. :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: flickerKuu</title>
		<link>http://boingboing.net/2013/02/20/amazing-atari-vcs-demo-fits-in.html#comment-1660719</link>
		<dc:creator>flickerKuu</dc:creator>
		<pubDate>Wed, 20 Feb 2013 21:43:00 +0000</pubDate>
		<guid isPermaLink="false">http://boingboing.net/?p=214291#comment-1660719</guid>
		<description> WAY earlier than 1990. Plenty of Demos in the 80&#039;s.</description>
		<content:encoded><![CDATA[<p> WAY earlier than 1990. Plenty of Demos in the 80&#8242;s.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jon Konrath</title>
		<link>http://boingboing.net/2013/02/20/amazing-atari-vcs-demo-fits-in.html#comment-1660700</link>
		<dc:creator>Jon Konrath</dc:creator>
		<pubDate>Wed, 20 Feb 2013 21:29:00 +0000</pubDate>
		<guid isPermaLink="false">http://boingboing.net/?p=214291#comment-1660700</guid>
		<description>Atari ported a lot of their 2600 titles in the Greatest Hits app for iOS.</description>
		<content:encoded><![CDATA[<p>Atari ported a lot of their 2600 titles in the Greatest Hits app for iOS.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: beforewepost</title>
		<link>http://boingboing.net/2013/02/20/amazing-atari-vcs-demo-fits-in.html#comment-1660604</link>
		<dc:creator>beforewepost</dc:creator>
		<pubDate>Wed, 20 Feb 2013 20:23:00 +0000</pubDate>
		<guid isPermaLink="false">http://boingboing.net/?p=214291#comment-1660604</guid>
		<description>Back in the early 80&#039;s, I earned a living writing VCS games. The demo is impressive in that the author had to write a &quot;kernel&quot; to draw onscreen. What that means is each scan line requires that certain registers be preloaded just before the electron gun needs to draw the pixels on screen.

 If you were clever, you could load up to 4 or 5 registers in time to beat the gun and then reload the registers for the next scan line. There was a separate register that synced the computer to the the gun&#039;s horizontal sync but using it meant wasting a few of the 76 CPU cycles per scan line so we&#039;d just code all our branches so we were sure that no matter which path the code took, it was 76 cycles per scan line. As you can imagine, a multi-scanline &quot;kernel&quot; written in 6502 assembly language  took a lot of thought to map out. 

Since each game was different, each game needed its own kernel. Some kernels were found by accident when a bug surfaced and showed a neat effect like what the demo shows. One of the programmers I worked with referred to those bugs as &quot;lucky bugs.&quot;

In the beginning, a programmer did everything - game design, program, music, art and it looked like it as few were good at all those skills. Music, sound effects and art were the early skills that were initially delegated out. Our artists were quite good and one year, we programmers got together and chipped in a $1,000 plus to buy the lead artist a briefcase which we stuffed with $1,000 in $1 bills.  Fun times.</description>
		<content:encoded><![CDATA[<p>Back in the early 80&#8242;s, I earned a living writing VCS games. The demo is impressive in that the author had to write a &#8220;kernel&#8221; to draw onscreen. What that means is each scan line requires that certain registers be preloaded just before the electron gun needs to draw the pixels on screen.</p>
<p> If you were clever, you could load up to 4 or 5 registers in time to beat the gun and then reload the registers for the next scan line. There was a separate register that synced the computer to the the gun&#8217;s horizontal sync but using it meant wasting a few of the 76 CPU cycles per scan line so we&#8217;d just code all our branches so we were sure that no matter which path the code took, it was 76 cycles per scan line. As you can imagine, a multi-scanline &#8220;kernel&#8221; written in 6502 assembly language  took a lot of thought to map out. </p>
<p>Since each game was different, each game needed its own kernel. Some kernels were found by accident when a bug surfaced and showed a neat effect like what the demo shows. One of the programmers I worked with referred to those bugs as &#8220;lucky bugs.&#8221;</p>
<p>In the beginning, a programmer did everything &#8211; game design, program, music, art and it looked like it as few were good at all those skills. Music, sound effects and art were the early skills that were initially delegated out. Our artists were quite good and one year, we programmers got together and chipped in a $1,000 plus to buy the lead artist a briefcase which we stuffed with $1,000 in $1 bills.  Fun times.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: dculberson</title>
		<link>http://boingboing.net/2013/02/20/amazing-atari-vcs-demo-fits-in.html#comment-1660576</link>
		<dc:creator>dculberson</dc:creator>
		<pubDate>Wed, 20 Feb 2013 20:06:00 +0000</pubDate>
		<guid isPermaLink="false">http://boingboing.net/?p=214291#comment-1660576</guid>
		<description>I was checking out demos on my Amiga 1000 in 1990 and I assume I was not the first one.  There were amazing demos that fit in just the boot loaders of the disks put out by certain eye patch wearing groups.</description>
		<content:encoded><![CDATA[<p>I was checking out demos on my Amiga 1000 in 1990 and I assume I was not the first one.  There were amazing demos that fit in just the boot loaders of the disks put out by certain eye patch wearing groups.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jandrese</title>
		<link>http://boingboing.net/2013/02/20/amazing-atari-vcs-demo-fits-in.html#comment-1660550</link>
		<dc:creator>jandrese</dc:creator>
		<pubDate>Wed, 20 Feb 2013 19:49:00 +0000</pubDate>
		<guid isPermaLink="false">http://boingboing.net/?p=214291#comment-1660550</guid>
		<description>Sine waves are pretty impressive on a VCS though, it didn&#039;t have much in the way of advanced math capabilities.  It&#039;s not easy to just precalculate and store the values in the ROM either unless you cheat and use an oversized ROM.  

The flicker free text scroller was really impressive too.  That sort of thing is really hard to do on 2600 hardware.</description>
		<content:encoded><![CDATA[<p>Sine waves are pretty impressive on a VCS though, it didn&#8217;t have much in the way of advanced math capabilities.  It&#8217;s not easy to just precalculate and store the values in the ROM either unless you cheat and use an oversized ROM.  </p>
<p>The flicker free text scroller was really impressive too.  That sort of thing is really hard to do on 2600 hardware.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rob O'Daniel</title>
		<link>http://boingboing.net/2013/02/20/amazing-atari-vcs-demo-fits-in.html#comment-1660476</link>
		<dc:creator>Rob O'Daniel</dc:creator>
		<pubDate>Wed, 20 Feb 2013 19:07:00 +0000</pubDate>
		<guid isPermaLink="false">http://boingboing.net/?p=214291#comment-1660476</guid>
		<description>I&#039;d love to see more of the old Atari stuff ported to iOS! Some of those old titles would be a very good fit for the iOS UI. </description>
		<content:encoded><![CDATA[<p>I&#8217;d love to see more of the old Atari stuff ported to iOS! Some of those old titles would be a very good fit for the iOS UI. </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: royaltrux</title>
		<link>http://boingboing.net/2013/02/20/amazing-atari-vcs-demo-fits-in.html#comment-1660460</link>
		<dc:creator>royaltrux</dc:creator>
		<pubDate>Wed, 20 Feb 2013 18:53:00 +0000</pubDate>
		<guid isPermaLink="false">http://boingboing.net/?p=214291#comment-1660460</guid>
		<description>Yes, misleading headline. What&#039;s really interesting is that there are people today who still know how to do that on primitive VCS hardware.
More headline bashing: EVERYTHING on the Atari VCS, every single game ever, ran with just 128 bytes of RAM. That&#039;s all it had. The cartridges had significantly more ROM, however.</description>
		<content:encoded><![CDATA[<p>Yes, misleading headline. What&#8217;s really interesting is that there are people today who still know how to do that on primitive VCS hardware.<br />
More headline bashing: EVERYTHING on the Atari VCS, every single game ever, ran with just 128 bytes of RAM. That&#8217;s all it had. The cartridges had significantly more ROM, however.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jeffrey</title>
		<link>http://boingboing.net/2013/02/20/amazing-atari-vcs-demo-fits-in.html#comment-1660459</link>
		<dc:creator>Jeffrey</dc:creator>
		<pubDate>Wed, 20 Feb 2013 18:51:00 +0000</pubDate>
		<guid isPermaLink="false">http://boingboing.net/?p=214291#comment-1660459</guid>
		<description>It is quite the opposite of a video player.  All this was generated on the fly.

In the 2600, you usually set up an interrupt to happen at the beginning of each scan line.  For effects like these you would use different wait loops so that you started the object at the right position.  The sine waves were in a ROM table.  For fine positioning you had to use slightly slower addressing modes, so there was probably a second table for that.

I think that the most amazing game was 2600 Chess.  How they managed that one in 128 bytes of RAM an can&#039;t imagine.</description>
		<content:encoded><![CDATA[<p>It is quite the opposite of a video player.  All this was generated on the fly.</p>
<p>In the 2600, you usually set up an interrupt to happen at the beginning of each scan line.  For effects like these you would use different wait loops so that you started the object at the right position.  The sine waves were in a ROM table.  For fine positioning you had to use slightly slower addressing modes, so there was probably a second table for that.</p>
<p>I think that the most amazing game was 2600 Chess.  How they managed that one in 128 bytes of RAM an can&#8217;t imagine.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: SamSam</title>
		<link>http://boingboing.net/2013/02/20/amazing-atari-vcs-demo-fits-in.html#comment-1660454</link>
		<dc:creator>SamSam</dc:creator>
		<pubDate>Wed, 20 Feb 2013 18:48:00 +0000</pubDate>
		<guid isPermaLink="false">http://boingboing.net/?p=214291#comment-1660454</guid>
		<description>Ah, thanks. 128 bytes for the program would have been essentially impossible -- the text in the demo alone was more than that.

In any case, yes, you can make lots of pretty animations in almost no space just using a lot of sine waves.</description>
		<content:encoded><![CDATA[<p>Ah, thanks. 128 bytes for the program would have been essentially impossible &#8212; the text in the demo alone was more than that.</p>
<p>In any case, yes, you can make lots of pretty animations in almost no space just using a lot of sine waves.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dlo Burns</title>
		<link>http://boingboing.net/2013/02/20/amazing-atari-vcs-demo-fits-in.html#comment-1660452</link>
		<dc:creator>Dlo Burns</dc:creator>
		<pubDate>Wed, 20 Feb 2013 18:44:00 +0000</pubDate>
		<guid isPermaLink="false">http://boingboing.net/?p=214291#comment-1660452</guid>
		<description>Hey hey 16k, what does that get you today?</description>
		<content:encoded><![CDATA[<p>Hey hey 16k, what does that get you today?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brian Crounse</title>
		<link>http://boingboing.net/2013/02/20/amazing-atari-vcs-demo-fits-in.html#comment-1660448</link>
		<dc:creator>Brian Crounse</dc:creator>
		<pubDate>Wed, 20 Feb 2013 18:42:00 +0000</pubDate>
		<guid isPermaLink="false">http://boingboing.net/?p=214291#comment-1660448</guid>
		<description>Ah, back in the days when a kb of RAM meant something.

I miss my Vic-20. 3583 bytes, baby.</description>
		<content:encoded><![CDATA[<p>Ah, back in the days when a kb of RAM meant something.</p>
<p>I miss my Vic-20. 3583 bytes, baby.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Glen Able</title>
		<link>http://boingboing.net/2013/02/20/amazing-atari-vcs-demo-fits-in.html#comment-1660442</link>
		<dc:creator>Glen Able</dc:creator>
		<pubDate>Wed, 20 Feb 2013 18:38:00 +0000</pubDate>
		<guid isPermaLink="false">http://boingboing.net/?p=214291#comment-1660442</guid>
		<description>Ahhh ok, 128 bytes of working memory, not 128 bytes for the entire program.  Was very confused for a while.

So you could think of it as being a kind of tiny video player program, streaming data from ROM and piping it to the screen/audio registers.  (But, no doubt, it&#039;s actually vastly more tricksy and intricate than that.)</description>
		<content:encoded><![CDATA[<p>Ahhh ok, 128 bytes of working memory, not 128 bytes for the entire program.  Was very confused for a while.</p>
<p>So you could think of it as being a kind of tiny video player program, streaming data from ROM and piping it to the screen/audio registers.  (But, no doubt, it&#8217;s actually vastly more tricksy and intricate than that.)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: JohnnyLA</title>
		<link>http://boingboing.net/2013/02/20/amazing-atari-vcs-demo-fits-in.html#comment-1660438</link>
		<dc:creator>JohnnyLA</dc:creator>
		<pubDate>Wed, 20 Feb 2013 18:36:00 +0000</pubDate>
		<guid isPermaLink="false">http://boingboing.net/?p=214291#comment-1660438</guid>
		<description>I love the demo scene that&#039;s been around since at least the late &#039;90s. 

Nice demo!

Lots of guys I know are game developers at places like DICE and iD because of the hacking skills they developed working on these things.


This was made for 64k!

http://www.youtube.com/watch?v=MAnhcUNHRW0

Some talk about the scene - 

http://stackoverflow.com/questions/859082/how-can-i-learn-the-insane-art-of-4k-democoding</description>
		<content:encoded><![CDATA[<p>I love the demo scene that&#8217;s been around since at least the late &#8217;90s. </p>
<p>Nice demo!</p>
<p>Lots of guys I know are game developers at places like DICE and iD because of the hacking skills they developed working on these things.</p>
<p>This was made for 64k!</p>
<p><a href="http://www.youtube.com/watch?v=MAnhcUNHRW0" rel="nofollow">http://www.youtube.com/watch?v=MAnhcUNHRW0</a></p>
<p>Some talk about the scene - </p>
<p><a href="http://stackoverflow.com/questions/859082/how-can-i-learn-the-insane-art-of-4k-democoding" rel="nofollow">http://stackoverflow.com/questions/859082/how-can-i-learn-the-insane-art-of-4k-democoding</a></p>
]]></content:encoded>
	</item>
</channel>
</rss>
