Download Mega Man II Optimum ROM Hack

Mega Man II Optimum Game
Spread the love:
Parameter Info
Console: NES
Original Game: Mega Man 2
Type: Improvement
Genre: Action > Platformer
Modifications: Other
Creator: RetroRain
Date Created: 03/21/2015
Last Modified: 06/14/2017
Parameter Info
File Name: Megaman 2 Optimum v1.zip
Downloads: 5
Requirements: No Special Requirements
Version: 1.0
Rating:

Mega Man II OptimumDescription

Don’t think this is gonna be a 100% Gold Remake, it’ll have its differences. Extra battles (some’ll be optionals, tough but rewarding), Hoenn Pokemon (in every area, and hard to find) New areas, Remapped some dungeons (so your old guides wont work) , Extra recurring characters (some’ll hate you, some’ll help you)

Note that the hack is incomplete but feel free to enjoy the hack as-is.

Mega Man II OptimumRead Me

MEGAMAN 2 OPTIMUM
by RetroRain

VERSION 1.0 RELEASE DATE: March 20, 2015
TIME SPAN FROM START TO FINISH: 29 Days

WHAT IS MEGAMAN 2 OPTIMUM?

Megaman 2 Optimum is an optimization patch for Megaman 2.  All it does is convert the ROM's mapper to MMC5, and its graphics format to CHR-ROM.  That's it! :P

Unlike the Upgrade Patch I did for Megaman 1, there are no other alterations to the ROM.  This is just a simple mapper and CHR-ROM conversion.  The PRG-ROM was not expanded, but the CHR-ROM was maxed out to the new mapper's 1MB limit.  The ROM doesn't need to be expanded anyway, since in the conversion of the game to CHR-ROM, all of that PRG space that stored the game's graphics has been freed up.  Also, another reason I didn't expand the ROM was so that the editors made for the game could be used.  Although I have not tested any of the editors yet, that was my intent.  So basically, there is plenty of free space in the ROM without expansion, and plenty of CHR-ROM space to work with.  Unlike with Megaman 1, which used the MMC3 mapper and took me three months to convert to CHR-ROM, this time it only took me one month.  I started the project February 20th, and finished it March 20th.

Only the basic MMC5 mapper registers were enabled to get the game to run, however it is entirely possible to add others to make full use of the new mapper's capabilities.  If you wish to add onto the mapper's capabilities, at $F5A4, there is a JMP $FFE0.  Have that jump to some free space, but make sure at the end of your code, you put that JMP $FFE0 back in.

NOTES:

$1D0	Top-left CHR Bank (Sprites)
$1D1	Bottom-left CHR Bank (Sprites)
$1D2	Top-right CHR Bank (Background)
$1D3	Bottom-right CHR Bank (Background)
$1D4	Final Boss Defeated (0 = Not Defeated, 1 = Defeated (This was used to load the Wily-defeated page))
$1D5	Temporary Sprite Storage (Stage Sprite Tables are read and stored here, and from here, the weapons are added, and 		stored in $1D1)
$1D6	In-Stage (0 = Not in Stage, 1 = In-Stage (Ready text and Inventory doesn't count))
$1D7	Boss Rematch (Stage Address $2A is written to this at Stage 0C, to handle Robot Master Rematches)
$1D8	Stage 0C Wily Boss (This was needed to get the correct page to be displayed at the Wily boss fight, after you defeat 		all of the Robot Masters again in a rematch)

PRG Bankswitch Routine is located at $F8DE
CHR Bankswitch Routine is located at $F8E7

In order to switch a PRG bank, just select a bank, and JSR to $F8DE.
In order to switch a CHR page, all you have to do is select a page, and write it to either $1D0, $1D1, $1D2 or $1D3.

The Stage Sprites (Weapons and Enemies) Code and Tables are located in Bank 0.  The code is located at $9000 (0x1010).  The tables begin at 0x1248 and end at 0x134a.  The only stage not included in the table is Stage 0C.  That is the Robot Master Rematch Stage.  That stage was done manually.  The hex numbers for Crash Man's stage and the final Wily stage will be in lower numbers, because they use a second section of CHR pages.  I exceeded the #$FF limit, so I had to use a second section.  You can use the second section by writing 01 to $5130.  If you have any questions about $5130, visit acmlm.kafuka.org or forums.nesdev.com.

The stages are in this order:

00	HEATMAN
01	AIRMAN
02	WOODMAN
03	BUBBLEMAN
04	QUICKMAN
05	FLASHMAN
06	METALMAN
07	CRASHMAN
08	WILY 1
09	WILY 2
0A	WILY 3
0B	WILY 4
0C	WILY 5 (Robot Master Rematch Stage, not included in sprite tables)
0D	WILY 6

STAGE SPRITE TABLES OFFSETS (Remember, the sprites are only the weapons and enemies for the stages):

HEATMAN		0x1248 - 0x125f
AIRMAN		0x1260 - 0x1275
WOODMAN		0x1276 - 0x128d
BUBBLEMAN	0x128e - 0x12a3
QUICKMAN	0x12a4 - 0x12bb
FLASHMAN	0x12bc - 0x12cf
METALMAN	0x12d0 - 0x12e5
CRASHMAN	0x12e6 - 0x12f9
WILY 1		0x12fa - 0x130d
WILY 2		0x130e - 0x131f
WILY 3		0x1320 - 0x132f
WILY 4		0x1330 - 0x1340
WILY 6		0x1341 - 0x134a

ADDITIONAL MEGAMAN 2 NOTES FROM THE ORIGINAL GAME:

I used these in doing this conversion.  Some of them I used just to make my life easier when playing through the stages.

$1A	(Not sure, but this was a great point to write the proper background CHR for the stages)
$1C 	Frame Counter
$2A	Current Stage
$9A	Stages Completed
$A7	E Tanks
$A8	Lives
$A9	Current Weapon
$9B	Items
$440 	Screen ID

This ROM was tested to work on FCEUX 2.2.2.  I have not tested it on any other emulators.

This patch is meant for the English version, Megaman 2, not the Japanese version, Rockman 2.  If you happen to find any bugs, feel free to let me know.  Thanks.

You may use this patch as a base for your Megaman 2 hacks.  Credit is not necessary, but it is appreciated.

Have fun! :)

acmlm.kafuka.org