Points of Required Attention™
Please chime in on a proposed restructuring of the ROM hacking sections.
Views: 88,432,899
Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search 04-18-24 06:24 PM
Guest: Register | Login

0 users currently in ROM Hacking | 2 guests

Main - ROM Hacking - General Megaman Hacking Thread New thread | New reply

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86

reset
Posted on 10-11-22 08:59 AM Link | Quote | ID: 168299

Newcomer
Level: 2

Posts: 1/1
EXP: 23
Next: 23

Since: 10-11-22

Last post: 555 days
Last view: 554 days
Posted by SOPHIA



Mega man X 2 hack in progress


Hi Sophia. Would there be anyway that the Mega Man X2 rom of yours could be made available? I had noticed you used to have a link to your gameplay of it but it isn't up anymore. If there is a playthrough or any accessibility I think that would be awesome!

Zynk
Posted on 01-15-23 09:43 AM Link | Quote | ID: 168455


Purple Leever
Level: 32

Posts: 205/209
EXP: 195796
Next: 10646

Since: 10-19-12

Last post: 72 days
Last view: 4 days
Anyone know how to change the blye parts around Protoman's portrait? I used Mega FLE X to change the palette IDs of the background.



____________________

Quick Curly
Posted on 01-19-23 01:41 PM Link | Quote | ID: 168463


Giant Red Paratroopa
Level: 77

Posts: 1439/1443
EXP: 4169584
Next: 21545

Since: 06-15-08
From: Earth

Last post: 14 days
Last view: 14 days
Hi, Zynk. I tried to look at Mega Man V to see what I could find. Is your ROM the (J) version or the (U) version? I used the (U) version, so the specific RAM and ROM addresses might not be accurate or helpful.

$006E in CPU memory is used to keep track of the levels cleared. By manually setting it to a value of FF before I started a new game, all of the levels were cleared, and then Mega Man in the middle became Proto Man due to code at $8AF1 in CPU memory (0x2EB01 in the ROM file) that checks the value at $006E and compares it to a value of FF.

The palette for the background and sprites is at 0x2EBB0-0x2EBCF (0x20 bytes in hex) in the ROM file. I modified 0x2EBB3 from 11 to 04 before starting a new game for visual testing purposes. The background area around Proto Man was purple like the rest of the background, and remained purple even after switching the current selection back and forth between the other stage select options.



Therefore, I couldn't exactly replicate your issue, so I'm unsure of what the issue on your side of things could be, whether it was a result of using the editor to modify the palette, or from another modification. Sometimes game-specific editors are known to modify additional bytes against your knowledge and will. I recall mentions in the past about a Zelda editor for one of the games doing something like that. I'm unfamiliar with Mega Man editors and any potential quirks they might have, if any.

My assumption is that the attributes of the background on the left and right sides of Proto Man could have been modified differently than the rest of the background, and for some reason, it didn't occur on my end. If I was using the incorrect version of the game, differences between versions could also be a potential reason why I produced different results.

Perhaps additional information and/or direct assistance is necessary for critical discoveries and success. Maybe someone with more direct Mega Man experience has some additional ideas and insight. Hopefully we can all eventually figure this out.

Best of luck. You can do it.

Zynk
Posted on 01-21-23 09:38 AM (rev. 2 of 01-21-23 09:39 AM) Link | Quote | ID: 168464


Purple Leever
Level: 32

Posts: 206/209
EXP: 195796
Next: 10646

Since: 10-19-12

Last post: 72 days
Last view: 4 days
Thanks for the reply QC. I edited the stage select screen with Mega FLE X, like I mentioned in my previous post.


The palette for the background and sprites is at 0x2EBB0-0x2EBCF (0x20 bytes in hex) in the ROM file. I modified 0x2EBB3 from 11 to 04 before starting a new game for visual testing purposes.
-I did not change the stage select screen palettes at 0x2ebb0.

The offsets of the color attributes (00,1,02,03) of the stage select screen at

0x1f170-1f1a8 for the bakground tiles, and the mugshots of Megaman and the 8 robot masters at

0x1f1a9-1f1ce, Protoman's mugshot attribute and the tiles by his sides are not in that offsets.



____________________

Quick Curly
Posted on 01-21-23 02:31 PM Link | Quote | ID: 168465


Giant Red Paratroopa
Level: 77

Posts: 1440/1443
EXP: 4169584
Next: 21545

Since: 06-15-08
From: Earth

Last post: 14 days
Last view: 14 days
Okay, thank you for the clarification. When you said in your first post that you used Mega FLE X to change the palette IDs of the background, I interpreted that as you simply saying you changed the actual palette, and not the attributes, which is why I couldn't replicate your issue by only focusing on the palette. I also didn't try looking for the attributes yet since I didn't have all the specific details of anything else you might have potentially modified.

Again, these findings are from using the (U) version of the game.

By focusing on a PPU write to $218E for a value of 10 (the tile ID of the top-left of Proto Man), the Debugger froze at $C2B0 (0x3C2C0 in the ROM file). The previous line of code, $C2AD, showed that a value of 10 was retrieved from $0783 in CPU memory. So, I set a new write breakpoint for $0783 for when a value of 10 is stored there.

After returning to the beginning point, the Debugger snapped at $8B15 (0x2EB25 in the ROM file). The previous line of code, $8B12, showed that a value of 10 was retrieved from $8E92 (0x2EEA2 in the ROM file).



The range of 0x2EE9F-0x2EEC0 (0x22 bytes in hex) is the data for Proto Man's tiles, as well as the attribute value for $23DB (to use the fourth quarter of the palette for Proto Man's graphics).

After I modified 0x2EEBE from CC to FF, the background on the left side of the display box for Proto Man started to use the fourth quarter of the palette (03) instead of the first quarter (00).



CC in hexadecimal is 11001100 in binary.
FF in hexadecimal is 11111111 in binary.

Each attribute value covers a 64x64 area, made up of 2 16x16 blocks, or 4 8x8 tiles, in the following order with respect to its binary value:

33221100

+----+----+
| | |
| 0 | 1 |
+----+----+
| | |
| 2 | 3 |
+----+----+

So, a value of CC means the 0 and 2 8x8 sections use the first quarter of the background palette (00 in hex, 00 in binary), and the 1 and 3 8x8 sections use the fourth quarter of the background palette (03 in hex, 11 in binary).

By modifying 0x2EEBF from 33 to FF, the right side of the display box started to use the fourth quarter of the palette as well. This is the attribute value for $23DC in PPU memory. 33 in hexadecimal is 00110011 in binary. The 0 and 2 8x8 sections use the fourth quarter of the background palette for the right side of Proto Man, and the 1 and 3 8x8 sections use the first quarter of the background palette for the background display on the right side of the display box.

The ROM offsets could be different depending on your version, but check this area of the ROM file first, and check to see what these attribute values are on your end. If they're FF, try changing them back to the original values as shown in the first image, and then test those changes to see what happens.

Zynk
Posted on 01-21-23 03:02 PM Link | Quote | ID: 168466


Purple Leever
Level: 32

Posts: 207/209
EXP: 195796
Next: 10646

Since: 10-19-12

Last post: 72 days
Last view: 4 days
That did it! Thank you very much!



Changed $CC33 to $FFFF



Posted by Quick Curly
Okay, thank you for the clarification. When you said in your first post that you used Mega FLE X to change the palette IDs of the background, I interpreted that as you simply saying you changed the actual palette, and not the attributes, which is why I couldn't replicate your issue by only focusing on the palette. I also didn't try looking for the attributes yet since I didn't have all the specific details of anything else you might have potentially modified.

Again, these findings are from using the (U) version of the game.

By focusing on a PPU write to $218E for a value of 10 (the tile ID of the top-left of Proto Man), the Debugger froze at $C2B0 (0x3C2C0 in the ROM file). The previous line of code, $C2AD, showed that a value of 10 was retrieved from $0783 in CPU memory. So, I set a new write breakpoint for $0783 for when a value of 10 is stored there.

After returning to the beginning point, the Debugger snapped at $8B15 (0x2EB25 in the ROM file). The previous line of code, $8B12, showed that a value of 10 was retrieved from $8E92 (0x2EEA2 in the ROM file).



The range of 0x2EE9F-0x2EEC0 (0x22 bytes in hex) is the data for Proto Man's tiles, as well as the attribute value for $23DB (to use the fourth quarter of the palette for Proto Man's graphics).

After I modified 0x2EEBE from CC to FF, the background on the left side of the display box for Proto Man started to use the fourth quarter of the palette (03) instead of the first quarter (00).



CC in hexadecimal is 11001100 in binary.
FF in hexadecimal is 11111111 in binary.

Each attribute value covers a 64x64 area, made up of 2 16x16 blocks, or 4 8x8 tiles, in the following order with respect to its binary value:

33221100

+----+----+
| | |
| 0 | 1 |
+----+----+
| | |
| 2 | 3 |
+----+----+

So, a value of CC means the 0 and 2 8x8 sections use the first quarter of the background palette (00 in hex, 00 in binary), and the 1 and 3 8x8 sections use the fourth quarter of the background palette (03 in hex, 11 in binary).

By modifying 0x2EEBF from 33 to FF, the right side of the display box started to use the fourth quarter of the palette as well. This is the attribute value for $23DC in PPU memory. 33 in hexadecimal is 00110011 in binary. The 0 and 2 8x8 sections use the fourth quarter of the background palette for the right side of Proto Man, and the 1 and 3 8x8 sections use the first quarter of the background palette for the background display on the right side of the display box.

The ROM offsets could be different depending on your version, but check this area of the ROM file first, and check to see what these attribute values are on your end. If they're FF, try changing them back to the original values as shown in the first image, and then test those changes to see what happens.


____________________
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86


Main - ROM Hacking - General Megaman Hacking Thread New thread | New reply

Acmlmboard 2.1+4δ (2023-01-15)
© 2005-2023 Acmlm, blackhole89, Xkeeper et al.

Page rendered in 0.045 seconds. (345KB of memory used)
MySQL - queries: 65, rows: 90/94, time: 0.039 seconds.