Tuesday, May 26, 2009

Semester in Review

Now that the semester has ended, here is an overview of how this project has evolved over the past...twelve(?) weeks and what we've been up to.

We dove in learning everything we could about the system itself, and the basic "theory" behind how it works. The various components that make up a Super Nintendo and how they all communicate and work in conjunction. This lead to the obvious jump to learn assembly, specifically 65c816 asm. The first four weeks or so were spent learning this, Yoshi's Super Nintendo Document and the Wikibook on SNES Programming being particularly helpful. There was also a really great starters guide called the SNES-Starterkit that was extremely useful to me and helped get me started off. After accomplishing the first sort of intro to the language (making the SNES boot with a green screen), went on to poke around a few other things such as a "hello world" and editing the assembly in simple roms from the starter kit. Around this time I also started to experiment with vSNES and Super Street Fighter II, just poking around basic hex adjustments and seeing what I could do. I was specifically interested in messing with the PPU, where the tile maps and sprite data are stored. After poking around in SFII some I worked my way on to Killer Instinct and Mortal Kombat II, all fighting games. The earliest videos we have were the results of this.


While this was going fairly well, I was still having a difficult time working with WLA-DX and getting the roms to assemble properly all of the time. As a result, I started looking more into third party apps that jumped the need for the assembly. I found a particular interest in pallete swaps, which natrually led to sprite and tile set editing, and eventually text editing. I got really into Tile Layer Pro, which is designed so any old fool can use it, and the previously mentioned Pallete Finder app was a life saver. At this time I was also interested in finding out how to transfer ROM data from PC to a cartridge via EPROM and was really eager to pursue it, but unfortunately was something that we were never able to get around to. I continued to experiment with SFII, as well as a little with F-Zero and Mario RPG. I abandoned a lot of hope for Mortal Kombat II after about two weeks of trying to figure out how the graphics were compressed in the tileset.

As the last portion of the semeseter began to approach, we began to narrow down the direction we wanted to take the project, and I found a particular interest in SFII, specifically working with sprite editing and text editing. Eventually one night when doing a bunch of sprite tests I worked out the simple "block fighters" test, which seemed to jump out from all of the other tests I was doing at the time. Chris and Jeff both seemed to like it, and over the next few weeks we eventually worked it into the final concept of the deconstructed fighting game, "Street Friends II." The idea behind it was to take the linear fighting videogame, a stereotypical product imbeded throughout our childhoods, and play off of it by creating a simplified game that denies what it was made to be. Instead of travelling the world fighting tournaments, you travel the world visiting friends. No health bar, no conflict, only high fives and good times. We were also looking to deconstrcut the image of the fighting game, with its predicatble characters, dialogue, and settings, and utilize that imagery to our advantage. The final few weeks were spent using what I had learned from experimentation over the past ten weeks into creating the final version of the ROM, which included custom built controllers by Chris featuring a joystick (literally a stick) and one button, simplifying the gaming experience.

Around week nine Chris and I also started to take apart our Super Nintendos and see what we could do simply with analog hacks, and after losing a few nintendos, Chris designed this great modular-bending system for SNES Carts. The end results were great, and we should have some videos of that up soon. I'll also be uploading the final ROM edit soon, so you all can give it a go. Additionally, I have a bunch of palette files for Tile Layer Pro as well as offset locations for the palette data which I'll post here, just in case anyone is interested in editing the tile set in SFII themselves, because it'll save you a lot of time in the long run. More videos to come as well, and all questions/critiscism are welcome


Tuesday, May 5, 2009

Week Update

look at that! i really like where this is heading. So serene, so simple, so atari. Ive spent the past week digging through SFII's tileset and converting the whole game into this, and im getting close to being done. Then after that, new, simple interfaces to play it with!


Tuesday, April 28, 2009

Palette Swaping

So I finally got it together and figured out how to swap out palettes. There were a number of stupid things going on, but now its pretty simple to find where a tile references its tile and to change it (at least, for Street Fighter 2). I think the biggest problem I was having before is that I wasn't having trouble finding the palette for the title screen, but when I tried to find one for a character i never got anything. I thought the problem was in the transparency color and that value was messing things up, but that wasn't it. The whole time I was searching for palette data on the Player 1 character--the character that faces screen right. This meant all of my palettes corresponded with this. However, in the tileset, all of the characters are facing to screenleft. No wonder my palette searches weren't coming up with anything, i was looking for a mirrored version of what was there (silly japanese people and their backwards everything). After that, there were (and still are) a few small speedbumps in the process, but its nothing too painful now. Mostly just manually insterting the palette RGB values, because Tile Layer Pro still seems to have trouble importing palette files generated from Digisalt's apps. Still, im glad to have figured this out, as this now opens up a world of infinite (well, almost) color combinations. Tinkering can be seen below (abstracting further as you go down). The last one I liked so much theres even a video of it. Man, check out ryu's blood when he gets hit at 00:23. Radical

On a tangent to this issue and my problems with TileLayerPro, i stumbled on this wonderful java-based graphics editor today called Tile Molester (great name, right). Though really it's showing the same exact tile set in pretty much the same manner, for some reason after scrolling through SFII in it I discovered so many new things I never noticed before. Maybe it was looking at the tileset through a different program's eyes, im not sure. Either way, theres some fun stuff I found that ill have to look more into later. I cant say that Tile Molester is as useful as TileLayerPro as far as actual editing is concerned, but it is a great overall program for viewing and moving things around (it can also view graphics from other-gen systems i believe, like n64 and whatnot, which is pretty awesome. also, just the fact that it runs of java is sweet enough in itself).

The Tile Molester in all its glory

Also, here's a few videos from last week I forgot to put up here. The first is my attempt to decode the horrendous graphics problem of Mortal Kombat while the second was basically some glitch tests i happened to come across while i was jumbling around graphics in MK. Basically, changing the visual representation of hex data in TileLayerPro and seeing what happened. Also concerning Mortal Kombat, I really wanted to work more with MK than SFII because of its..."features" i suppose (lots of blood, fatalaties, etc), but after spending the past two weeks trying to crack its graphics and still being stuck Im not sure how hopeful its looking. I beleive the graphics are actually compressed, which if they are, means ive pretty much hit a brick wall because i definitely dont have the time to figure out how to decompress them at this point. Maybe some time in the future though. Ill give an update on the actual physical bending of the SNES sometime soon as well.

(a bunch of tests stitched together)



Took me nearly three weeks. More on this later. But first, lunch.

Monday, April 27, 2009

Website Update

Updated the apps/resources page on the website. I'm going to try to keep a running list of things I use there, just because there's so much to go through (you have no idea how many zip files I have on my desktop of miscellaneous, half-working snes apps) and it's really getting to be too much for me to keep track of. This is helping though, and seeing just the ones I use laid out like that makes it look simpler than I thought it was.


Tuesday, April 21, 2009

More Videos

Masking Test

Abstraction Test 01

Abstraction Test 02

Tuesday, April 14, 2009


Finally arrived, although not quite with enough time to tinker for this week. I have to say, Salvation Army Seattle did the best packing job I have ever seen.