Editroid 3.7

Version 3.7 of Editroid is available. You can get it at Romhacking.net’s page for Editroid. Version 3.7 adds support for multiple ASM files to manage more complex ASM hacks.

» Read more…

Automap Without The Map

I’ve been asked if there was a version of the Automap Plus patch without the automap. In other words, just the partial heart pieces in the HUD and faster life refilling with potions and fairies. Easy enough: just chop all of the map-related stuffs from the code, and voila.

Download the IPS patch with source included (Automap NoMap.zip), or, for your convenience, the code is available below. » Read more…

Editroid 3.6

A new version of Editroid has been released with some bug fixes (namely a bug that prevented certain screen-load code from running). Grab it from the RHDN Editroid page. Everything should work the same as Editroid 3.5, except fewer bugs.

Mountain Challenge by Trax

From Trax, the author of the (not fully complete) Contra hack Revenge of the Red Falcon, comes an early Christmas present: a nifty Contra hack titled Mountain Challenge. It’s short, but sweet. It’s a one-level hack where you race to the top of the mountain as fast as possible. The difficulty is dialed back a couple of notches compared to Revenge of the Red Falcon, but you’ll have plenty of chances to die running full speed ahead, trying to top your best time.

Check out the romhacking.net threaddownload it, or watch my best run so far below. » Read more…

ROM Hasher 1.0

ROM Hasher calculates hashes and looks ROMs up in a ROM database to help identify and verify ROM images. This tool is geared toward romhacking.net for the purpose of generating ROM hashes to include with hack/translation submissions and for verifying ROMs before applying patches, and includes No-Intro databases for numerous game consoles. Additional databases can be added as long as they are in a ClrMamePro format (e.g. TOSEC).

ROM Hasher runs on .NET Framework version 2.0 or higher or an equivalent version of  Mono. If you’re running Windows, you’re probably all set. ROM Hasher has not been tested on other platforms.

ROM Hasher Screenshot

This is what it looks like.

ASM Hack: Elevator to Same Level

Here is a nice, small hack that allows you to add an elevator to Metroid that, rather than bringing the player to a different level, brings the player to a different part of the same level. This hack is very unlikely to work with any other hack that involves ASM since it uses the memory at $CA35 that everybody (myself included) likes to insert new ASM into. Getting this to work with another hack is a simple matter of moving the code below from $CA35 to somewhere else (it’s pretty small). Also note that the .PATCHes need to be applied to the last bank, which, in an expanded ROM, is bank F, not 7! » Read more…

Editroid 3.5

Update: Version 3.6 is available, which fixes bugs found in version 3.5.

Time to release a new version of my Metroid editor. This version allows you to add ASM to each screen that will run when the screen loads. It includes a built-in assembler so you can do everything right in Editroid. This makes it easy to do things like bankswap graphics for different areas of a level or change music for different areas, or to load additional objects into the screen based on a condition, or change the lava height in different screens so it doesn’t have to be right at the bottom in every screen. So yeah… all sorts of stuff. » Read more…

Metroid + Saving (Updated)

Update: Questions? See the FAQ at the bottom!

Metroid + Saving replaces the password system with a saving system with three files. The file selection menu shows the player’s equipment, and as an added bonus, the player’s health is now saved. No need to grind for health every time you resume your game.

Now included is a scrollable map when paused and the ability to combine the wave and ice beams.

Download Metroid + Saving 0.2

File Selection SCreen Pause map for Metroid + SavingGame over screen

» Read more…

Editroid: Enemy Slots

This is just a quick explanation of a quirk in enemy placement in Metroid.

Editor screen shot

Enemy Slot

The game engine is capable of showing up to six enemies at a time. Each enemy is stored in an “enemy slot” in memory. The unusual thing about the enemy slots is is that rather than having the game load enemies into whichever slot is available, each enemy placed on the map has a statically assigned slot. If the game tries to load an enemy and its slot is already in use, the enemy simply won’t be loaded.

For example, the enemy selected in the screen-shot to the left (the rio) uses enemy slot 2. Suppose that in the screen immediately to the left, there is a zoomer that also uses slot 2. If the player enters the room from the left, the zoomer will be loaded into slot 2. If the player kills the zoomer before moving on, the rio will then be loaded into slot 2. On the other hand, if the player doesn’t kill the zoomer before moving to the right, slot 2 remains occupied and the rio won’t appear.

This means that if you want to make sure that all of your enemies appear, you must make sure that enemies in adjacent screens use different slot numbers. On the other hand, you can have the enemies use the same slot numbers so that they appear “semi-randomly.” This is done in the vertical shafts in the original game. The enemies that appear as you traverse the shaft depend on which enemies you’ve killed in previous screens.


Metroid Hacking Resources

This is my attempt to collect and catalog useful resources for Metroid hacking. If anyone wants to make an addition, feel free to tell me in the comments. For the most part, I’m trying to keep this list Metroid-specific. » Read more…