Shoot the Castle Logo

Shoot the Castle!


This is baochan120's page. I make games and hack roms.

Follow my progress on Twitter!

Homebrew

P.J. Pugowitz in RocketPug!

NES action game where you launch a bouncing pug as far as you can. Work in progress.

RocketPug NES ROM (.nes, 24 KiB)

Play it in your browser!

P.J. Pugowitz in Escape from Castle Puggenstein

NES dungeon crawler where you escape a haunted castle. Also you're a pug. With a gun. Work in progress.

PJ Pugowitz NES ROM (.nes, 24 KiB)

Play it in your browser!

FIRE.BAS

Neat little animation for Microsoft QBasic. Probably needs at least a 486 CPU to run decently.

FIRE.BAS (.bas, 2 KiB)

Tools and Scripts

ROM Corruptor Python Scripts

Copies a file, replacing a specified percentage of bits or bytes with random data. An alternate version specifically targets MOS 6502 ROMs (2600/NES/SNES), setting bytes to NOP instructions rather than random values. Often renders ROMs completely unplayable, but by using a low percentage and choosing the "best" corruptions as a new starting point, this can produce an unlimited number of weird effects. Between 0.0001 and 0.0005 on the byte corruptor seems to be the sweet spot for NES ROMs. It's amazing how reliably these simple games remain playable even with significant errors. Requires Python 2.

Python 2 ROM Corruptor Scripts (.zip, 2.3 KiB)

ROM Hacks

I've created numerous minor rom hacks, mostly to create cheats or provide playability changes to make the games a little easier and accessible. The ones that I think would be of interest to people I've provided below.

You'll need a tool such as Lunar IPS to apply the patches, as well as the corresponding ROM image. These are typically for the US/English version of the game with standard ROM headers.



These were all made with rasm2 from the Radare2 suite, vim, bvi, yy-chr, and scans of some old-ass assembly programming manuals. Radare2 is the bee's knees. 🐝

I've created a bunch of other patches, mostly in an effort to allow games to be played on an arcade cabinet with only 3 buttons, often by mapping several virtual joypad buttons to a single keypress on a per-game basis. It's an awfully specific use case and I don't expect them to be helpful to anybody, but I provide the full list of my rom patches here in case anyone would like to use them. It should hopefully be obvious from the .ips file name and extension what system/rom the patch applies to; generally they are for the US/English version of the game with standard headers.