Original Post

Here is InsmEdit, the first editor for Insmouse No Yakata.

It’s a simple editor that can currently edit patches with level layouts, level passwords, and player starting positions.

It comes with a readme file that explains everything and an example patch that demonstrates its usage.

Special thanks to DogP for his forum post which encouraged me to do research on Insmouse and KR155E for his excellent FAQ which helped in finding out where the player starting positions are stored.

49 Replies

HorvatM wrote:
So, Ben, if you want to add monsters to your levels, you can send me a list of monsters for each level, and I can make an IPS patch for you, until I figure out a simple way to add monster editing to InsmEdit.

Well, one of the main things that I wanted to do with Mario Madness Edition was to see if I could make a whole game using simply version 1 of your editor, and I think I managed to accomplish that. However, if you figure out how to make an editor where the monster starting positions can be freely changed, I think I would like to make a completely new version again. This time, I’d like to be very creative with my levels and probably won’t simply limit myself to making layouts that look like known objects or beings, etc.

thunderstruck:

Thanks. I plan to release all the information I’ve collected about this game some day. Besides what InsmEdit can edit, I also know where most of the charsets and BGMaps are, and I maintain a ROM map, a WRAM map, and a commented disassembly to record everything I discover, though almost everything except what I’ve written here is still a mystery to me.

I don’t think I’m experienced enough to guide others to ROM hacking. Insmouse is actually the first game I’ve hacked, though I’ve been exploring things with a hex editor before. Romhacking.net seems to be the place to go for pretty much everything related to ROM hacking, though I myself don’t use that site because VB games are pretty much like nothing else, and even the games themselves don’t have much in common.

As you can see in the first post of this topic, I couldn’t have begun without indirect help of DogP and KR155E, so I don’t know where you should begin.

There are some common procedures though. For example, if you want to hack data, it makes sense to think how you would have done it if you were programming the game. For example, positions of things are usually stored as a pair of X/Y coordinates, and indeed this is how they are stored in Insmouse – though the player positions are bytes and the monster positions are halfwords. If you want to hack code, it helps to make a WRAM map by comparing WRAM dumps, then make a disassembly and search where the code references the variables in WRAM. Then, you put a breakpoint on that location, play the game, and if you’re lucky, the game will stop at the breakpoint. For graphics (only charmaps, though I plan on writing a program to extract BGMaps from ROMs), I recommend the program “VeeBee Utilities” which can be found on this site. Even if you’re not interested in graphics (I’m not really), they take up a lot of space in the ROM, so you should at least know where they are so you don’t mistake them for other data (though they’re usually easy to recognize).

You should also have at hand the official V810 manual (for when you’re not sure you’re interpreting the disassembly correctly) and the PVB developer wiki (for the memory map and data structures).

If you need help, just contact me and I’ll help you as best as I can.

Ben:
OK, though I don’t know when the next version will be released.

Maybe now is the time we make one big patch as a community like KR155E suggested on page 1? Just think about it, some would do the levels, others would do the graphics, and if others are interested in reverse engineering, maybe we could even change some of the code. I’d like to realize that idea of mine about different levels having different textures. The monsters could be changed too, of course, but there are much more of them and not much can be changed.

Months after discovering how to edit monsters, I have finally finished and released version 1.2, which can edit monsters. Changes since version 1.1:

* There is finally a level monster editor.

* Music track descriptions have been updated.

* If you remove resources from a file and then save it (not “Save As”), the file will now become smaller.

* In the previous version, the patch description window and About box disabled the currently open editor and did not reenable it when closed. This has been corrected.

* In the previous version, if InsmEdit asked you whether you wanted to save changes to a patch and you chose “Cancel”, the main program window closed and any other open windows remained open. This has been fixed and now works as expected.

* If you remove a resource, InsmEdit will now ask you whether you want to save the patch on exit.

* Improved keyboard support.

Attachments:

After playing the game for a year, I finally managed to get ending A yesterday. I played it in Mednafen, but without cheats or save states, so it was totally fair.

Anyway, I did some more reverse engineering and found three sound effects which I didn’t see referenced in the code anywhere and I don’t remember hearing them in the game, so it’s safe to assume they are unused. There is also one unused music track (06FE), which has been accessible in InsmEdit since version 1.1. Back when I first heard it, I thought it was reserved for ending A, but it turns out that ending A uses track 0AFE.

I’ve attached recordings of these sounds made in Mednafen. (Guy Perfect is going to jump in any minute now saying that Mednafen’s noise channel emulation is not perfect. I don’t care, so shut up.)

HorvatM wrote:
I’ve attached recordings of these sounds made in Mednafen. (Guy Perfect is going to jump in any minute now saying that Mednafen’s noise channel emulation is not perfect. I don’t care, so shut up.)

It is not like there is a better alternative.

Also: nice find. Do you think you can reactivate them in the game?

thunderstruck wrote:

It is not like there is a better alternative.

Well, I could hack the ROM to make it play those sounds somewhere, flash it, and record from hardware, but why would I?

Also: nice find. Do you think you can reactivate them in the game?

Sure, but they were probably left unused for a reason. 😛 Where would you use them?

Maybe when I figure out how the format works you can add support for it to your MIDI converter? This way, we could use them for anything we’d want.

This year, as part of the celebration of VirtualFest, I hope to release on Halloween Day a new version of “Mansion of Insmouse” using HorvatM’s latest version of InsmEdit. This new edition is going to be titled “Mansion of Insmouse: All Hallow’s Eve,” so it is going to have a Halloween theme, meaning that each of the new stages will look like something one would expect to see on Halloween. I will try to make this version not as challenging as the original, since I know a lot of people get frustrated with the commercially released version’s high difficulty, so hopefully I will be able to find a good balance.

Cool! Let me know if you need any extra editor features or ROM hacks. A difficulty setting should be quite easy to add.

 

Write a reply

You must be logged in to reply to this topic.