<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>NES Roms on Zorchenhimer.com</title>
    <link>https://zorchenhimer.com/nes/</link>
    <description>Recent content in NES Roms on Zorchenhimer.com</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <copyright>© 2023 Zorchenhimer</copyright>
    <atom:link href="https://zorchenhimer.com/nes/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Animated Background</title>
      <link>https://zorchenhimer.com/nes/animated-background/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://zorchenhimer.com/nes/animated-background/</guid>
      <description>&lt;p&gt;This ROM is a demonstration of an animated background that was originally apart&#xA;of another game rom.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://zorchenhimer.com/nes/img/animated-bg.gif&#34; alt=&#34;animation&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;This ROM uses CHR RAM and some timed swapping of CHR banks to animate the&#xA;background.  The animation frames were created with Gimp and Aseprite and were&#xA;designed to loop and tile seamlessly.  The main animation is eight tiles high&#xA;and eight tiles wide, or 64x64 pixels.&lt;/p&gt;&#xA;&lt;p&gt;A &amp;ldquo;poor-man&amp;rsquo;s frame buffer&amp;rdquo; is utilized for the animation.  Each frame one row&#xA;of eight tiles are written to CHR RAM.  Once eight rows have been written, the&#xA;currently used background pattern table is swapped and writing rows begins on&#xA;the opposite pattern table.  This whole process can be accomplished with CHR&#xA;ROM and 1k banks, foregoing the poor-man&amp;rsquo;s frame buffer, but the original ROM&#xA;was already using CHR RAM for other purposes.&lt;/p&gt;</description>
    </item>
    <item>
      <title>DVD Screensaver</title>
      <link>https://zorchenhimer.com/nes/dvd-screensaver/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://zorchenhimer.com/nes/dvd-screensaver/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://zorchenhimer.com/nes/img/dvd.gif&#34; alt=&#34;dvd animation&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;I think this can actually hit the corner.  I haven&amp;rsquo;t seen it do that though.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Famicom Brainfuck</title>
      <link>https://zorchenhimer.com/nes/brainfuck/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://zorchenhimer.com/nes/brainfuck/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://zorchenhimer.com/nes/img/bf-1.png&#34; alt=&#34;bf main menu&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;This is a fully functional Brainfuck interpreter &lt;em&gt;and&lt;/em&gt; compiler.  The Famicom&#xA;Keyboard is required to use this ROM.&lt;/p&gt;&#xA;&lt;p&gt;There are a few example programs included with the ROM.  The first is a Hello&#xA;World program that just prints out that text.  The second is an echo program&#xA;that will echo back what is typed.  This second program was used to debug and&#xA;verify the engine and keyboard.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Game of Life</title>
      <link>https://zorchenhimer.com/nes/game-of-life/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://zorchenhimer.com/nes/game-of-life/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://zorchenhimer.com/nes/img/gol_001.png&#34; alt=&#34;main menu&#34;&gt;&#xA;&lt;img src=&#34;https://zorchenhimer.com/nes/img/gol.gif&#34; alt=&#34;animation&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;A short and simple implementation of&#xA;&lt;a href=&#34;https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life&#34;&gt;Conway&amp;rsquo;s Game of Life&lt;/a&gt;&#xA;on the NES.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Keytest</title>
      <link>https://zorchenhimer.com/nes/keytest/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://zorchenhimer.com/nes/keytest/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://zorchenhimer.com/nes/img/keytest-0.png&#34; alt=&#34;menu&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;This is a utility ROM that I wrote to figure out how to read the Famicom&#xA;Keyboard.  I also learned the specifics of the Family Trainer mat and provided&#xA;some new details for the community.  I&amp;rsquo;ve got more details on the Family&#xA;Trainer in its &lt;a href=&#34;https://zorchenhimer.com/posts/family-trainer/&#34;&gt;own post&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;So far, I only have a few peripherals implemented, but I do plan on getting a&#xA;few more in there.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://zorchenhimer.com/nes/img/keytest-2.png&#34; alt=&#34;controllers&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;The standard controller test looks for the Famicom&amp;rsquo;s built-in controllers,&#xA;famicom expansion controllers, as well as the NES standard controlers and&#xA;controllers plugged into a Four Score.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Parallax</title>
      <link>https://zorchenhimer.com/nes/parallax/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://zorchenhimer.com/nes/parallax/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://zorchenhimer.com/nes/img/parallax.gif&#34; alt=&#34;animation&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;This is a parallax demo using MMC3&amp;rsquo;s IRQ scanline counter and some cycle&#xA;counting.  The IRQ counter is the boundary between the clouds and the light&#xA;blue mountains.  After that triggers and updates scroll values, another IRQ is&#xA;setup for the second split.&lt;/p&gt;&#xA;&lt;p&gt;The first boundary uses some sprites overlap some mountain tops across the&#xA;first boundary.  The second boundary only leaves about a scanline between the&#xA;two without any overlap.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Platforming</title>
      <link>https://zorchenhimer.com/nes/platforming/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://zorchenhimer.com/nes/platforming/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://zorchenhimer.com/nes/img/platforming_000.png&#34; alt=&#34;platforming demo&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;This is a simple little ROM that demonstrates some physics and collision logic&#xA;that you might find in a standard side-scrolling game.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pooh</title>
      <link>https://zorchenhimer.com/nes/pooh/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://zorchenhimer.com/nes/pooh/</guid>
      <description>&lt;p&gt;This ROM was an exercise in CHR tile management that utilizes a &lt;a href=&#34;http://localhost:1313/projects/go-nes/&#34;&gt;Golang&#xA;library&lt;/a&gt; that I&amp;rsquo;ve also written.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://zorchenhimer.com/nes/img/pooh-0.png&#34; alt=&#34;pooh-0.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;The text on both of these screens is configurable at build-time.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://zorchenhimer.com/nes/img/pooh-1.png&#34; alt=&#34;pooh-1.png&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Pressing A will swap between the two screens, while pressing Start will toggle&#xA;the screen on and off.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Snek</title>
      <link>https://zorchenhimer.com/nes/snek/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://zorchenhimer.com/nes/snek/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://zorchenhimer.com/nes/img/snek_001.png&#34; alt=&#34;snek_001&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;After writing the &lt;a href=&#34;https://zorchenhimer.com/nes/animated-background/&#34;&gt;animated background&lt;/a&gt; demo with a&#xA;rudimentary snake, I wanted to write a more proper snake implementation.  It&amp;rsquo;s&#xA;not perfect, but it&amp;rsquo;s good enough.  I figure it&amp;rsquo;s about 80% complete, and that&#xA;last 20% is all polish that would be a lot more work than I&amp;rsquo;m willing to put&#xA;into it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Stratagem Hero</title>
      <link>https://zorchenhimer.com/nes/hero/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://zorchenhimer.com/nes/hero/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://zorchenhimer.com/nes/img/stratagem-hero_001.png&#34; alt=&#34;stratagem-hero_001&#34;&gt;&#xA;&lt;img src=&#34;https://zorchenhimer.com/nes/img/stratagem-hero_002.png&#34; alt=&#34;stratagem-hero_002&#34;&gt;&#xA;&lt;img src=&#34;https://zorchenhimer.com/nes/img/stratagem-hero_003.png&#34; alt=&#34;stratagem-hero_003&#34;&gt;&#xA;&lt;img src=&#34;https://zorchenhimer.com/nes/img/stratagem-hero_004.png&#34; alt=&#34;stratagem-hero_004&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;I made a demake of the Stratagem Hero minigame from Helldivers 2!&lt;/p&gt;&#xA;&lt;p&gt;This ROM uses the MMC5 mapper.  This was my first dive into some of the MMC5&amp;rsquo;s&#xA;more advanced features like the extended attribute table.  The game uses the&#xA;same scoring and difficulties as the minigame in Helldivers 2.  The only things&#xA;missing are the themed rounds and some music.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
