As a fun experiment, I ported the disassembly of Metroid from the MMC1 to the MMC3. Hope this comes in handy for someone, someday. The source code will recompile using Ophis: https://hkn.eecs.berkeley.edu/~mcmartin/ophis/
The source code is separated by bank, so I set up a rudimentary make system that will put the rom together after all the various banks are assembled by the Ophis Assembler.
The source code is currently ~85% documented. I'd like to see the remainder of the source code documented. Would anyone be interested in taking it on as a group project? You could take on a single undocumented routine, figure out what it does, and then name it and document it. This wouldn't be a difficult endeavor: the undocumented portions of the disassembly have been separated out by routine, and thus each remaining routine would be a nice bite-sized chunk of code to take on - not an unmanageable project for a person who has a rudimentary understanding of the 6502 and a couple of hours to burn. As an example, it took me 2 hours of work to switch the game from MMC1 to MMC3.
I've uploaded the current disassembly to GitHub. If you would like to take on a routine, you should fork the source, make your fixes, and then submit a pull request. I should be able to respond to all pull requests within 24 hours.
The source code is separated by bank, so I set up a rudimentary make system that will put the rom together after all the various banks are assembled by the Ophis Assembler.
The source code is currently ~85% documented. I'd like to see the remainder of the source code documented. Would anyone be interested in taking it on as a group project? You could take on a single undocumented routine, figure out what it does, and then name it and document it. This wouldn't be a difficult endeavor: the undocumented portions of the disassembly have been separated out by routine, and thus each remaining routine would be a nice bite-sized chunk of code to take on - not an unmanageable project for a person who has a rudimentary understanding of the 6502 and a couple of hours to burn. As an example, it took me 2 hours of work to switch the game from MMC1 to MMC3.
I've uploaded the current disassembly to GitHub. If you would like to take on a routine, you should fork the source, make your fixes, and then submit a pull request. I should be able to respond to all pull requests within 24 hours.