SNES Utilities

These utilities were written for my own fun of exploration, but I thought it would be nice to share. If you don't like them, no problem with me. If you do, then I'm glad someone could get some use out of them :) They're all quite simple and require little memory and processing power. Being written in assembly - for the sake of my own slow computer - anything better than my mere 386 with 8MBs, is more than enough for them.

BgMapper .176 Readme Pics About
TileView .183 Readme Pics About
SpriteView .165 Readme Pics About
Spc2Midi .111 Readme Pics About
UpFront Readme About
Previous Versions...

Disclaimer: All of these utilities are provided as freeware, as I am grateful for all the useful utils others have made which are also free. Although no known harmful bugs are present in them, the author (that would be me) does not guarantee the absence of unknown ones. So you use these by your own choice. I am not responsible for any harm they could cause to your computer; however, I do want to hear if any serious problems occur with them. After all, I use these on my computer too and do not want to do any damage to it!

The screenshots below come from copyrighted games/files (like you didn't know that). Nintendo in no way supports this (like you didn't know that either), but I also own and love every one pictured (you might not have known that one). So it's basically little different than taking a picture of what would be on my television screen.

BgMapper
Readme Maps

'Zelda' map without mode 7 distortion Eventually this utility is supposed to help in making maps of the levels in all those classic games; which should lead to a new concept, entire level collections of games. It will be the digital equivalent of a player's guide with all the secrets revealed. For now though, it displays the frozen scene of a ZSNES savestate, exports the scene without HDMA effects or mode 7 distortion, exports VRAM graphics, and tells technical info about the registers.

There are a few cases where the scene is not displayed correctly, not because of a flaw in the rendering, but because certain games split the screen into different sections. Since BgMapper is not an emulator and only shows the frozen state, it displays just the section of the frame for when the state was saved.


TileView
Readme Tilemap locations for a few games

'Cybernator' first level (C)Konami TileView displays the byte/word arrays in a file as colored blocks to aid in finding tilemap patterns, including levels, map screens, and other anamolies in savestates and ROM images. Although it can actually view any file, it specially recognizes ZSNES savestates and sets the file position to the base of WRAM (SNES work memory). So far, I've found the tilemaps in the savestates of several games with the tiny program, including Zelda, Mario World, Yoshi's Island, Mario All-Stars, Secret of Mana, Metroid 3, and Donkey Kong Country.

If you are interested in editing your finds, you might use TileView to find them and a hex-editor to change them, like Hex Workshop by Breakpoint Software. There are also different viewing modes to find other types of entities, and by coincidence, TileView can also view mode 7 tiles and fx chip graphics.

Viewing modes:
Colored blocks
Hex characters
ASCII text
VRAM tiles
Tile table
SPC wave sample

SpriteView
Readme More graphics utilities

Some familiar 'Zelda 64' items SpriteView is a small, speedy graphics viewer (not editor) that supports several formats of console systems (including all of those used by the SNES). For those interested, the readme documents the formats for the various modes it supports. Although mainly meant to display the console graphics contained in either savestates or ROM images, it can also display graphics from other sources like DOOM's WAD file, Windows 95's ShellIconCache file, DLLs, and executables.

Graphics modes:
SNES 1,2,3,4,8bpl tiles
SNES mode 7 linear/interleaved tiles
SNES fx chip low/high nybble linear
NES 2bpl tiles
GameBoy 2bpl tiles (same as SNES 2bpl)
Sega 4bit tiles
VB 2bit tiles
N64 15bit high color linear
N64 24bit true color linear
Generic 2,4,8bit linear


Spc2Midi
Readme More SPC utilities MIDIs

'Mario World' note patterns A recent project for exporting MIDIs from SPC captures. I've been working on it for months, on and off during my seemingly limited free time. The excellent SpcTool has since come out which does almost everything I intended for mine to, so I suggest you use it until then.

The emulation core is practically done, as it works with every game savestate and SPC that I have tried. Although the core itself is not necessarily faster than SpcPlay or SpcTool, without the workload of sound sample processing, it easily plays twice as fast. If you are interested in the emulation core source, I decided to include it.

Currently the FM generated sounds grate on the ears because they are all out of key, but hopefully I'll be able to design (or find!) some algorithm will search each of the samples and determine their dominant pitch. Then all the samples could be automatically transposed. If anyone is already very familiar with fast fourier transforms or the details of how human ear perceives pitch, please help. :)


UpFront
Home page

UpFront (Rocky & Pocky background) UpFront is a front end written by CyBeRGoth to simplify starting my utilities under Windows. It sort of makes up for the lack of an internal file opener in them. You simply select the file you want to view and then choose the appropiate button to start the utility you want. If you are not one for the scary command prompt, give it a try.



If you do not like any of these utilities or docs, please go find some you do like. These were really written for myself, but I thought it would be nice to share :)

2001 PeekinSoft