Brad Smith
MOON8 4 of 6 - Money
updated
I'm not free of sin. I've been an accidental back-seater on more than one occasion. It happens... but I think there are ways we can learn to avoid falling into that trap.
Don't worry, I'm conscious of the irony in making this point in a tip video. 😈 Also, I like the X sound, but feel free to debate the merits of ファザナドゥ in the comments. I regret not saying "snield".
This was originally supposed to be part of a collaborative complete "NESferatu" score, but I don't know if any other portions of the project were ever finished. I had shelved this at the time because the film's public domain status was still being contested until 2019.
This music would have been for the opening of the film, but I chose a clip from the middle instead because it was a little bit more exciting.
en.wikipedia.org/wiki/Nosferatu
http://rainwarrior.ca/music
The emulator core is merely sending MIDI writes, and MUNT is installed as a MIDI driver on my system. In theory I could use a physical MIDI interface and hook up to an external keyboard or synthesizer with cables.
This is my first time using MUNT, so I don't know if it's set up perfectly. Some of the instrument choices seem a little strange. The bard's lute sounds like an organ? ...but it's definitely playing the right notes!
When I played this as a kid, the manual really hyped up the Roland MT-32, and I wanted one so badly. Sometimes I played this game set to MT-32 output, and even though it was silent I just imagined what the music would sound like instead of the built-in AY chiptune version I was used to. I think the AY music is still quite good, though. Sierra's music staff was quite talented.
The core is available here:
patreon.com/posts/88108809
The MUNT MT-32 emulator is available here:
sourceforge.net/projects/munt
The core is available here:
patreon.com/posts/88108809
Once you get the Epoch, there is always an option to take it to fight Lavos. Later, when you get the wings, it allows you to crash the Epoch into its outer shell, breaking through and bypassing the first phase of the battle. Even later in the game, Lavos' head may already be destroyed, which I think is due to completing the Black Omen areas, but I haven't figured out the exact conditions yet. Under that late game condition, there are two more versions of the scene available!
When Lavos appears there is a brief view of the outer shell with missing head, and someone is saying "Lavos...". If you press A quickly here, you will crash the Epoch, but if you linger on this moment, the music will fade and go silent. The characters will make a few statements observing Lavos, and then instead of crashing the Epoch the characters will descend into the cavern below, and have different things to say. How subtle!
If you'd like to try this, I'd recommend using a save file from Zophar's Domain: zophar.net/savestates/snes/chrono-trigger.html
Download the save file called "Black Omen destroyed, all quests completed, everything found." by Joakim Hellstrand. It will load at the End of Time where you can board the Epoch by jumping from the right hand side of the area.
A side note: when flying the Epoch toward the crash, the game switches to a rarely used interlaced video output mode of the SNES. In most games, interlacing is either used for 480i high resolution (e.g. RPM Racing), or sometimes by accident, but I think this usage might be intentional to use the inherent jitter of interlacing to slightly highten the turbulence of the flight scene? Very strange!
Chrono Trigger seemed to use a few unusual features of the SNES video hardware, and it feels like the developers were curious to experiment with some of its dark corners.
Sadly, a lot of modern TVs or upscalers will have problems switching to interlaced and back, so the unique crash scene might end up dropping the picture for some players today! For this video I used weave de-interlacing so that you can see two interlaced frames at once in a mesh of horizontal lines.
Further reading: snes.nesdev.org/wiki/Uncommon_graphics_mode_games
Thanks go to user Yl Ow who discovered this while pressing fast forward in SNES9x. They thought it might only be accessible via the emulator, but I found that it is really based on waiting on the "Lavos..." screen. Here is their original discovery video: youtube.com/watch?v=I-PxY_43pdM
0:00 Epoch Crash
2:13 Alternative Crash Skip
ROM and Source Code:
patreon.com/posts/palette-cycling-71799222
Mark Ferrari's Living Worlds HTML5 Demo:
http://www.effectgames.com/demos/worlds
Mark Ferrari at GDC:
youtube.com/watch?v=aMcJ1Jvtef0
Living Worlds for your phone:
http://pixfabrik.com/livingworlds
Secret of Mana:
en.wikipedia.org/wiki/Secret_of_Mana
Lua script:
patreon.com/posts/simcity-snes-map-71239703
BizHawk emulator:
tasvideos.org/BizHawk
It's a game about herding sheep.
I like the game's concept, but I didn't get to realize much of its potential within the deadline of the game jam. I was happy with the music, and the game systems work pretty OK mechanically. I didn't have a lot of time to experiment with level design and figure out how to make fun scenarios out of it.
Game download and source code available here:
rainwarrior.itch.io/pastured-ewe
Bandcamp: http://rainwarrior.bandcamp.com/album/classic-chips
CDBaby: http://www.cdbaby.com/cd/bradsmith23
http://rainwarrior.ca/music/classic_chips.html
Classical favourites arranged for NES.
Title: String Quartet No. 1 Op. 7
Composer: Arnold Schönberg (1905)
Performer: bradsmith
Chip: MMC5
ROM and information:
patreon.com/posts/boing-ball-for-59302672
eldenpixels.com/alwas-awakening-nes
This is the second part of a making-of series for Alwa's Awakening NES. In this episode we discuss sprites, which are used to create animated characters for the game.
For more information on NES sprites, here is a making-of article from my earlier game Lizard:
My lizard is the Lizard of NES Sprite Rendering
kickstarter.com/projects/1101008925/lizard/posts/1582636
Chapters:
00:00 Prelude
00:39 Hardware
02:03 Colours
06:08 Flickering
09:08 Memory
13:13 Secret Walls
14:47 Coda
eldenpixels.com/alwas-awakening-nes
This is the first part of a making-of series for Alwa's Awakening NES. In this episode we discuss how the maps and background art will work.
For more information on NES backgrounds, here are two making-of articles for my earlier game Lizard:
1. My lizard is the Lizard of Tile Maps
kickstarter.com/projects/1101008925/lizard/posts/1186332
2. My lizard is the Lizard of NES Scrolling
kickstarter.com/projects/1101008925/lizard/posts/1820518
Chapters:
0:00 Prelude
0:25 Map Editor
0:44 Hardware
3:29 Tile Conversion
5:06 Compression
7:16 Coda
A tour of the Lizard Tool that I used to make my NES game Lizard.
kickstarter.com/projects/1101008925/lizard/posts/2860878
http://lizardnes.com
patreon.com/rainwarrior
Chapters:
00:00 Where to get it
00:35 Opening the tool
01:08 CHR Graphics
01:54 Palettes
02:11 Sprites
04:22 Rooms
07:36 Room Properties
09:32 Dogs
12:45 Testing
13:34 Non-Scrolling Rooms
13:46 Boss Rooms
14:04 Other Tools
15:31 Coda
Jun Chikuma, Hudson Soft, 1987
Arranged for guitar by Brad Smith, 2020
Don't have negative thoughts. Remember your mantra.
Score and tab available at:
http://rainwarrior.ca/music/index.html
This is a small demonstartion of my editor for Legacy of the Wizard (NES) and Dragon Slayer IV (Famicom).
Download: github.com/bbbradsmith/lotwtool/releases
Patreon: patreon.com/posts/legacy-of-wizard-35878112
Download: github.com/bbbradsmith/lotwtool/releases
Patreon: patreon.com/posts/legacy-of-wizard-35878112
Chapters:
00:00 Where to get it
00:17 Overview
00:45 Rooms
01:32 Tiles
04:11 Metatiles
05:42 Map Properties
11:52 Items and Enemies
14:58 Teleports
16:22 Enemy Properties
17:22 CHR Graphics
19:15 Credits
20:40 Title Screen
23:25 Dragon
25:26 Boss Rooms
26:19 Special Rooms
27:22 Undo
28:06 Global Properties
29:43 Testing
33:00 Revert Changes
33:39 Coda
NESert Golfing:
rainwarrior.itch.io/nesert-golfing
Desert Golfing:
captaingames.itch.io/desert-golfing
Sources and notes:
gist.github.com/bbbradsmith/e8618becb822156da30c677f54d5b7b4
Chapters:
00:00 Introduction
01:08 Mouse
03:08 Courses
06:00 Physics
08:37 Multiplication
12:22 Coda
ROM and explanation: patreon.com/posts/30714624
Arranged for NES, Brad Smith 2019
I was working on a data compression library for the NES, and I needed to make a demonstration test for it. I used the public domain story The Most Dangerous Game, which fit reasonably in the space I wanted to use. The story mentions Madame Butterfly at one point, which I thought could make appropriate accompanying music while you read the story.
Information on the NES compression project:
patreon.com/posts/27359058
Download the ROM:
http://rainwarrior.ca/projects/nes/danger.nes
youtube.com/watch?v=-l12chlb31M
x ← x + Ω - K * sin(2πx) / 2π mod 1
This is another graph of the circle map iteration, but what was changing over time in the other rendering is now changing across the vertical, and vice versa.
http://mathworld.wolfram.com/CircleMap.html
Ω varies from 0 to 1 across a vertical row, and each row represents a single value of K from 4π to 0, left to right. Over time what varies is the initial value used for x.
Instead of keeping a trace of where the iterated values of x land across the vertical column, as the last render did, instead I am counting how many iterations it takes to return to the initial value (within some epsilon). If it never returns, the image is black. If it returns very quickly, the image is brighter.
This took a lot more processing time, and the result is very noisy Maybe a bit spooky. It would probably take an insane amount of time to reduce that noise, however. This is just a hazy approximate view into this strange chaotic system.
More info and example program:
patreon.com/posts/24826459
x ← x + Ω - K * sin(2πx) / 2π mod 1
It began as a simple iterative system modelling an interaction between a spring and a rotating motor, but when you vary the speed and strength parameters, interesting regions of stability and chaos appear.
http://mathworld.wolfram.com/CircleMap.html
In this rendering, each frame represents a single Ω, varying from 0 to 1 across the animation. Each vertical line represents a single K, varying from 4π to 0 from left to right.
For each vertical slice, many starting values for x are chosen and iterated, accumulating a count of how many times each pixel is visited. Bright spots in the image represent a point of stability where they tend to converge.
Horizontally you can see it tends to split into pairs, recursively as K increases, eventually approaching total chaos, but then surprisingly returning to stability again periodically.
It's a form of the classic bifurcation pattern seen in many chaotic systems:
en.wikipedia.org/wiki/Bifurcation_diagram
More info and example program:
patreon.com/posts/24826459
An animation of the Circle Map's evil twin can be seen here:
youtu.be/3kBwqK-9Ckc
Music is something I wrote a few years ago for a one hour compo:
http://battleofthebits.org/arena/Entry/lava_man_and_lava_woman_lava_love_time.mp3/8944
Written December 25, 2012.
(Image is a screenshot of Doki Doki Penguin Land.)
http://rainwarrior.ca/music
More info: patreon.com/posts/22735126
Music: http://rainwarrior.ca/music/classic_chips.html
Sources and game list: gist.github.com/bbbradsmith/e8c0cdb82157060ec078bfb19a321194
Chapters:
0:00 Two ROM chips
0:42 Hardware
2:52 CHR ROM for graphics
4:29 CHR RAM for graphics
5:32 A fun thing to try
patreon.com/posts/karnov-inspector-22622436
NES LCD Mod:
http://neslcdmod.com
Tomee Zapp Gun:
hyperkin.com/nes-zapp-gun-tomee.html
LightGunVerter
lightgunverter.com
github.com/charcole/LCDZapper
Modern Mallard Kickstarter: (unsuccessful)
kickstarter.com/projects/metsasta/modern-mallard
It's a big topic, and there's a lot of little details that I had to leave out to keep it simple. For instance, there's really a lot of possibilities for how LCD and other types of modern TVs operate, but I tried to give an overview of the most basic and common cases here. There are also more unusual light gun detection techniques for NES software (e.g. Action 53's zapper games) that can't really be covered by lag compensation. Feel free to discuss these in the comments.
http://rainwarrior.ca
Chapters:
0:00 The latency issue
1:49 The frequency issue
4:08 Previous solutions
5:14 A new solution
Originally broadcast on twitch:
twitch.tv/videos/304433554
A game for the NES
(Also: PC / Mac / Linux / Steam)
http://lizardnes.com
http://lizardnes.com
Note how the stars and sparkling water are all on the sprite layer, as well as the sword and the part of the rocks that stick out above the point where the scrolling splits.
The sprite rocks are also used to hide visual glitches that were the result of how difficult it is to do precise timing on the NES.
The stationary part of the background ends up being copied several times to accomodate the vertical wrapping of the internal graphics memory. It has to move out of the way of the text! Illustration here:
http://twitter.com/bbbradsmith/status/817258998831333376
Zelda II for the NES
Nintendo, 1987
Tecmo Super Bowl for the NES
Tecmo, 1991
The capture device was having some problems in the middle (the stutter and pitch change is not the NES), but you get the idea. All the components of this boss are complete, but the sequence of events is just a test version right now, while I figure out the real sequence.
http://lizardnes.com
The Japanese version of Castlevania III, a.k.a. Akumajou Densetsu (悪魔城伝説) is well known for its richly orchestrated soundtrack that included extra sound hardware inside the cartridge known as the Konami VRC6. Unfortunately, outside of Japan, the NES did not have support for this kind of expansion audio, and the soundtrack on other versions had to be scaled back significantly.
This little demonstration takes on the problem of no expansion audio hardware, by using the CPU of the NES to synthesize two extra square wave channels to make up for what's missing. I had to make some changes to the arrangement to make it fit, but at long last you can hear something close to the Japanese Castlevania III soundtrack coming out of an unmodified North American NES!
ROM download: rainwarrior.ca/projects/nes/ad_sound_demo.nes
NSF music file: rainwarrior.ca/projects/nes/ad_sound_demo.nsf
Engine used, with source code:
rainwarrior.ca/projects/nes/dmmc_beta.zip
Recorded from a real North American model NES. Download the ROM to try it yourself. No hardware modifications are necessary.
Sadly, this technique wouldn't really work in a game setting, since the CPU is being used heavily there is really not enough time left in a frame to run a game while playing this music. This is merely a proof of concept.
http://rainwarrior.ca
I used to hang around in an RPG engine community called Verge:
http://verge-rpg.com
More info on Vergespiracy here:
http://rainwarrior.ca/dragon/newchaos.html
(Please don't download and play this piece of poo.)
B5B9-0000-007B-97A9
supermariomakerbookmark.nintendo.net/courses/B5B9-0000-007B-97A9
The exact sequence of notes isn't guaranteed, but their relative proximity is, which was an interesting compositional problem.
There is a third 1-up hidden in the level, not shown in this video. See if you can find it!
Sorry about the video quality. I don't have an HDMI capture device, so I had to use composite 480i.
http://lizardnes.com
By popular request, it's Lynyrd Skynyrd's Freebird! Arranged for NES by Brad Smith, created using Famitracker, with sound rendered by NSFplug.
All video is from Super Mario Bros 3. by Nintendo, 1990, recorded in FCEUX.
The backround music is from Lizard. http://lizardnes.com
http://lizardnes.com
http://lizardnes.com
http://lizardnes.com
Art and music by Svetlana:
http://mynameiser.in/
Music is from the Super John Stamos sountrack:
http://bandcamp.mynameiser.in/album/super-john-stamos
Adapted for the NES by rainwarrior. This was an experiment in automated NES graphics conversion.
Technical explanation, NES ROM and source code available here:
http://forums.nesdev.com/viewtopic.php?f=22&t=9801
This is just a demonstration of space. You'd normally want to play the forest region bottom-to-top, but if you want to risk it you can try to go back down the quick way.
http://lizardnes.com
If you like this version of the soundtrack, NSF and NSFe music files are available here:
NSF: http://lizardnes.com/downloads/lizard2bit.nsf
NSFe: http://lizardnes.com/downloads/lizard2bit.nsfe
http://lizardnes.com
http://weeklytreats.net/album/14-bitpuritans-hertzdevil-bradsmith
MP3 / NSF / FTM available at:
http://rainwarrior.ca/music
Equivalent Game Genie code: LOVOKKAA + LOXXXKAA
This works only in the prototype demo version of Lizard:
rainwarrior.ca/lizard/prototype.html
More information: kickstarter.com/projects/1101008925/lizard/posts/1084753
http://lizardnes.com
http://lizardnes.com
For more information on what exactly is happening, see: kickstarter.com/projects/1101008925/lizard/posts/1060626
If you want to play the game, please go to: http://lizardnes.com
There are less bugs in the real game, I swear!


