I've always enjoyed Solomon's Key, and I've felt it is an underrated puzzle game for the NES. A few years ago, I started fiddling with the ROM and making my own manual hack of the first level. Last November using the info I had gleaned, Data Crystal, and snarfblam's Romulus framework, I put together a small editing tool for the ROM that I work on as time permits. There have been other Solomon's Key editors in the past (SK Edit and one written in PHP), but they are either gone or incomplete. I don't mind making another one since this has been a very educational experience for me.
Here's a few screenshots.
The unmodified first level:
Here's my editor in action:
This editor is far from being complete, but there are some functional features to it.
What it can do:
View and edit the start, key, exit, and block positions.
View items and move their positions within the level.
(Added 5/25/12) Create IPS patches based on the difference between your changes compared to an unmodified ROM.
What it cannot do (yet):
View or edit enemy data, though the location of the data in the ROM is known.
Add, remove, or edit the item data. This would require recalculating pointers within the ROM.
View or edit Solomon Seals. These are key bonus items found in specific levels throughout the game. Collect them to get the best ending. I know where they will be positioned within the levels they are found in, but I have not found data telling me which levels they are in.
Change the level colors. The background color changes every four levels. I have not found within the ROM where that data is stored.
Apply IPS patches.
The project is open source and available at http://code.google.com/p/solomons-key-locksmith/
. If you would like to contribute, please let me know. After I have a more functional application (minimum I'd like to add is to view, edit, add, and remove items and enemies), I will submit it to the site. As it is now, you could probably make an OK hack, but lacking the ability to edit enemies and items puts a handicap on it.
Let me know what you think!