Spaces in Metroid passwords

August 4, 2021

Bamboo digs into an addition to a 6-bit character password system. A follow-on to the NES Passwords video.

Thanks to @ijimkoz and others for their feedback in production!

References

Code

Music

Games Distributed by Magazine: The Automatic Proofreader

July 31, 2021

I type in The Automatic Proofreader from a real copy of Compute!’s Gazette and learn a lesson about how the Commodore 64 saved files to disk. Sorry about the garbage audio. This is a throwaway episode!

I’ll be streaming most Wednesdays at 6PM Eastern time on my personal Twitch channel and reuploading videos to the Games Distributed By Magazine playlist. Let’s hang out!

Resources

Changelog

  • 2021-07-31: Initial post.

NES Text Passwords: Demo NES ROM

July 15, 2021

In preparation for an upcoming video, I decided to get some experience with 6502 assembler and NES development. I built a ROM that will take a 24 character password like in Metroid or Kid Icarus and change it to either use Space or - characters where possible. It kinda simulates how spaces were a valid character in Metroid passwords whose bit value of %111111 was the same as -, but had the additional behavior of setting the prior character’s lower bits to on. Download the ROM here and try it out in you own emulator!

In the example ROM, I use the exclamation point ! character instead of the - to make the change more visually interesting and because exclamation points are cool. ! in Kid Icarus has the same bit value as - in Metroid.

Process

Code

References

Changelog

  • 2021-07-15: Initial post.
  • 2021-07-16: ROM updated to better support Nestopia. It didn’t like the palette definition for some reason. Thanks Tyrel!

NES Passwords: Notebook-based save game storage

July 11, 2021

Bamboo the Bunny talks about a big problem with big video games for early consoles – how do you make it so you don’t have to beat the whole thing in one sitting? A video take on an earlier post, The Game State That Lasted Seven Days.

Thanks to Tyrel Souza, @ijimkoz, and @tiegz (ティグさん) for their helpful feedback, and to everyone else who took the time to watch it while it was in production!

I realized I messed up the bit diagrams for the Metroid and Kid Icarus passwords in the video. Oops! The corrected Metroid bit diagram is in the Spaces in Metroid passwords video.

References

Code

Music & SFX

Changelog

  • 2021-07-11: Initial post.
  • 2021-08-04: Note about error in video and link to video w/ correction.

Amiga Copper Demo and Module Music Video

June 8, 2021

While researching a future post about the Copper functionality of the Amiga’s Agnus custom chip, I decided to really dig in and figure out how the Copper worked and how you would write some of the bare metal custom chip code. The process of making this video made me realize I need to do a few other posts before I can do one about the Copper, as there are a lot of prerequisites to understand it, at least at the level I am now able to understand it at. I also wanted to showcase a lot of the kind of music the Amiga was known for, module music made on music trackers. So here’s a nice, long video, with a real Amiga Copper demo (the kind I know I would make made back in the day, cartoon characters included, if I had these skills in the 90s!) and a lot of really great music to listen to.

How was it made?

  • The animation was done in Krita on Android. I used a pixel brush for the in-Amiga emulation to ensure all the pixels lined up with the 320x256 screen I was working on. The rest was done normally with regular brushes.
  • I used GIMP to convert the images destined for the Amiga into 16 color PNGs. The trick to keeping a consistent palette across all of the images was:
    • Convert one image to a 16 color image.
    • Swap around the colors in the index so that the color index to knock out via the Copper effect was index 0.
    • Create new layers to physically swap the color pixels in the image. You have the ability to select all of the pixels of a particular index, and then you can fill a new layer on top of the original to change the color.
    • After you’ve swapped one of these around, you can convert the remaining ones using the first image’s palette.
  • I used Personal Paint to convert the images from PNGs to IFFs.
  • I loaded all of the images, one by one, into memory banks in AMOS Professional. I loaded the first image again into a separate memory bank, but one that preserved screen resolution and palette, to simplify app initialization. I flip through these memory banks to animate Bamboo, as the IFF animation tools in AMOS Pro seem a bit broken.
  • I wrote a lot of AMOS BASIC, which I hadn’t done since 1997 1998, and I referenced a lot of Amiga Copper, bitplane (Denise’s territory), and DMA examples. These ones helped out the most:
  • I ran all of this in FS-UAE, and captured it with vokoscreenNG.
  • I edited the video with Kdenlive.
  • I converted the music mod files using ffmpeg. It was the fastest way to convert a large number of modules at once for evaluation and movie use. I hope they sound OK!

Code & Assets

I put the AMOS code – the bundled .amos file, the .abk with the animation frames, and a .txt file with the code in plaintext – up on GitHub. The code is released under an MIT license, but the artwork is copyright by me, all rights reserved. I’m no expert at Copper coding, so if there are improvements (besides rewriting it in assembler. Learning 68K assembler is on my list of things to do for R1KR), I’d love to hear them! For it to run fast enough, I emulated a 68030 with JIT enabled in FS-UAE.

Music

All the music is either Public Domain or Creative Commons Attribution 3.0, and it all comes from The Mod Archive. Check out all of these artists' awesome work! There’s way more there than I could put into this 90 minute video.

  • The beat

    • Andreas Viklund
    • CC-BY 3.0
  • Frostbiter

    • Pip Malt
    • CC-BY 3.0
  • Super Dance

    • Katie Cadet
    • Public Domain
  • NeuroTransfer

    • JAM
    • Public Domain
  • Momentary Meditation

    • K. Jose
    • CC-BY 3.0
  • Computer Adventures Of Drozerix

    • Drozerix
    • Public Domain
  • Filterness

    • Katie Cadet
    • Public Domain
  • Additional Discomfort

    • Pip Malt
    • CC-BY 3.0
  • Gate 303 - demomix

    • Andreas Viklund
    • CC-BY 3.0
  • the Epic Chip

    • M0ns0n/Drozerix
    • Public Domain
  • Pretty Big Stench

    • Pip Malt
    • CC-BY 3.0
  • Harmony-PartyEdit

    • Andreas Viklund
    • CC-BY 3.0
  • Digital Rendezvous

    • Drozerix
    • Public Domain
  • Simple Chip Tune

    • JAM
    • Public Domain
  • Dangerous Radiation

    • JAM

    • Public Domain

  • Sound Effects

    All sound effects, except for Bamboo’s “heh” which was all me, come from Freesound, and are also either Public Domain or Creative Commons Attribution 3.0.

    What’s next?

    I’ll be converting some of my prior posts into short YouTube videos on the The Industrious Rabbit channel, reworking them and updating them for a more visual medium. Once they’re done, I’ll post them here for viewing!

    Changelog

    Self-Portrait May 2021

    May 19, 2021

    I painted up a new Bamboo self-portait for May 2021!

    I’m still looking for the tools in Krita I enjoy the most. This one came together a lot faster than the prior one. I think I’m getting better at this.