Register | Login
Views: 19364387
Main | Memberlist | Active users | ACS | Commons | Calendar | Online users
Ranks | FAQ | Color Chart | Photo album | IRC Chat
11-02-05 12:59 PM
1 user currently in Rom Hacking: hukka | 2 guests
Acmlm's Board - I2 Archive - Rom Hacking - Has anyone really studied MMX? | |
Add to favorites | "RSS" Feed | Next newer thread | Next older thread
User Post
Violent J

Melon Bug
Level: 41

Posts: 652/749
EXP: 479154
For next: 991

Since: 05-05-04
From: The Lotus Pod

Since last post: 8 hours
Last activity: 8 hours
Posted on 10-02-05 05:13 AM Link | Quote
Is there any documentation on it? Is it possible to hack? More importantly, is there some encryption in the level code, so it is a real bitch to hack?
me99909

Buzz Blob
Level: 28

Posts: 296/296
EXP: 122579
For next: 8759

Since: 04-02-04

Since last post: 31 days
Last activity: 8 hours
Posted on 10-02-05 06:10 AM Link | Quote
Yes, someone made an editor, I'm not sure where it is, but it is something you should know. I think the editor was made for X 1, 2, and 3.
Insomnia DMX

Level: 7

Posts: 17/23
EXP: 1125
For next: 323

Since: 07-21-05
From: East Cleveland, OH

Since last post: 11 days
Last activity: 1 day
Posted on 10-02-05 08:08 AM Link | Quote
I am currently working on a MMX3 hack, I'm researching weapon stuff, and I took some notes, prepare for a long list... This is all Ram stuff btw...

7E0A8FE0 + 7E1FB2E0 ; Always use sword (no charge should be used simultaneously.)

7E1FD220 ; infinite health (X and Zero)

7E0CEF20 ; infinite health (ride armor)

7E1FB402 ; infinite lives (X)

7E1FB200 ; infinite lives (Zero)

7E0A8E02 ; play as Zero

7E0A8E00 ; Play as X

7E1FD1FF ; have all armor parts

7E1FD7FF ; have GOLD ARMOR and all ride armors

7E1FB2E0 ; have zero's Zsaber

7E0A2A02 ; infinite dash length

7E0A3502 ; infinite air dashes

7E0D1702 ; infinite dash length and hover (ride armor)

7E0D1204 ; infinite hover only (hawk ride armor)

7E09F620 ; high jump

7E09F610 ; ultra high jump

7E0A3000 ; Disable charge

Stuff somehow pertaining to the second shot in a volley of three weak blasts also pertaining to the sword for X... No clue why...

Shot angle = 7e1135

Shot/Slash Direction? = 7e1133

{Having to do with shot sprites? = 7e112f
{
{Also having to do with shot sprites. = 7e112e
Maybe a pointer? ----^

Having to do with shot sprites = 7e112d, 7e112c,

Shot speed/and a whole buncha other shit, be careful. = 7E1122

Y position of shot = 7E1120

Termaintion point of shot = 7E111e

Starting x position? = 7E111d

Fucks up slashes = 7E1114

Sword graphics bullshit = 7E110a

Don't mess with... = 7E1109

(Aprox. 7E0350-7E480 = Palette shit, including current suit and shots)

Shot distance for all shots = 7E10E1

Speed of some shots = 7E10F7

First shot stuff

Sprite stuff for shots (maybe not only shot one) = 7E10ef, 7E10ee, 7E10ed, 7E10EC, 7E10eb, 7E10ea, 7E10e2,

Y postion of shot 1 = 7E10e0

Shot speed? = 7E10dd

Movement of roataing balls when charging = 7E0B5B



Shit = 7E10FA, 7E113A, 7E1188, 7E193D, 7E1F44,

Blast detection stuff = 7E1148

{Having to do with X's x position = 7e1fe4}
{Also having to do with X's x position = 7e1fe8}
^ ^ ^ ^
Stuff in this relative area deals with X's position.

I give credit to Slayer7.666 on ZMD, for most of the PAR, codes.

Ask Elixirnova (a regular here?) about his MMX3 editor, that doesn't display tiles.
NetSplit

Koopa
Level: 19

Posts: 105/117
EXP: 30378
For next: 5399

Since: 04-05-04

Since last post: 1 day
Last activity: 1 hour
Posted on 10-03-05 12:07 AM Link | Quote
There was a non-graphical level editor made for Mega Man X3, but based on the pictures I saw, it wasn't worth trying (and was never completed). Really, you can basically treat it as though there are no Mega Man X series editors available. There is no documentation available as far as I know, but I do know that some people had level data addresses for all 3 of those games at one point in time. I don't think that data is available anywhere; you're pretty much on your own.
SePH

Geldman
Level: 33

Posts: 421/459
EXP: 219339
For next: 9840

Since: 06-23-04
From: Québec
Caliss de libéraux

Since last post: 6 days
Last activity: 14 hours
Posted on 10-03-05 04:34 AM Link | Quote
- elixirnova's mmx3 editor: http://www.geocities.com/elixirnova/mmfx3.zip
(you need the microsoft .NET runtimes)

- there's already a few threads that discuss on the subject:
http://board.acmlm.org/thread.php?id=5692
http://board.acmlm.org/thread.php?id=7365

- you can find megaman x and x2 data in chickenlump's offsets archive (if anyone still have it)

elixirnova's mmx3 editor works great to level edit even if you don't have any graphical features. (you can't see what you're editing ~ much like eggvine but even worst). additionally there is rom data that was posted on the old acmlm/des/tek boards. search on the internet archive for these. http://www.archive.org/.
Chickenlump

Level: 41

Posts: 707/722
EXP: 474192
For next: 5953

Since: 03-15-04
From: Columbia City Indiana

Since last post: 3 hours
Last activity: 4 min.
Posted on 10-03-05 04:54 AM Link | Quote
I still have it, I should update and upload a newer version sometime.

-------------------------------------------------------------------------------------------------------------
Megaman X
By Nestea
-------------------------------------------------------------------------------------------------------------
With some narrowing-down corruption, I've found the EXACT start of the intro stage data on MMX... It's at

$B4630

I don't have any screenshots to show, but have fun with the hacking!

EDIT: Correction... the exact start data is $B4628
-------------------------------------------------------------------------------------------------------------



-------------------------------------------------------------------------------------------------------------
Megaman X
By Jigglysaint
-------------------------------------------------------------------------------------------------------------
I cracked the location of the scroll data for Megaman X, for SNES. Like I said before, there are pointers that start at $366E2(headered rom), in which the first 14 or so lead to other pointers right below it, which in turns leads to the actual data. In the stage I have been working with, Sting Chameleon, I have found out a couple things. First of all, the pointer to the scroll that scrolls down to the heart tank is E0 E6. Second, I have found some interesting things. First of all, there are several bytes I don't yet understand, although they must be location or somthing. However, I've noticed that the 7th byte, in this case a $C0, seems to be where on the screen the scroll is in terms of where the screens "breaks" and enables the scroll. The 9th byte seems to control how the screen scrolls. In this case it's 0A, but when I changed it to 1A, suddenly the stage turned into one of those autoscroll levels like from Super Mario 3, going left to right and only stopping when you touch the boss door. This means that it is possible to add a cool scroll effect to a level, although you can get pushed though walls with no ill effect(so it isn't perfect).

I also found out how the level loads the alternate screens after a certain boss is defeated. In Sting's stage, the areas with water are seperate than the ones that arn't. What's happening is there are extra levle data tacked on the end of the level, which tells the game to point there instead of the first area. This is good as it could make some cool changes.
-------------------------------------------------------------------------------------------------------------



-------------------------------------------------------------------------------------------------------------
Megaman X2
By Rockman
-------------------------------------------------------------------------------------------------------------
I found this data yesterday. Have fun kiddies.

$B03C3
-------------------------------------------------------------------------------------------------------------

-------------------------------------------------------------------------------------------------------------
Megaman X3
By Atma
-------------------------------------------------------------------------------------------------------------
between 1e2200 and 1f2200 is enemy stuff, boss stuff, and scroll stuff

well the text in mmx3 is in ascii, it's starts very close to 1CC4B0


Originally posted by Vagla

Where, exactly, is this data that you deleted that caused you to fall through everything? My guess is that this is TSA data (Tile Squaroid Assembler), a very important find. Well, at least it would be important in the NES MM games. Because of the limited amount of structures that can be used in the NES MM games, TSA data is almost required to make a good level because it allows you to make your own structures. If you don't have a structure with the right stuff, you overwrite an old one with the new stuff you want. But in MMX3, the amount of structures is so large (As you said, 512-768) that it would be almost impossible to not find what you're looking for. Unless water and ice are allowed in more than just the levels they are already in, in which case TSA is a great find.


Atma -
it's located at A5200.
-------------------------------------------------------------------------------------------------------------

-------------------------------------------------------------------------------------------------------------
Megaman X3
By Weasel
-------------------------------------------------------------------------------------------------------------
1C0B00-1C0??? Intro Level Data! Apparently very long. Still haven't found the end of the level.
-------------------------------------------------------------------------------------------------------------

-------------------------------------------------------------------------------------------------------------
Megaman X3
By Rockman
-------------------------------------------------------------------------------------------------------------
I just found this. Have fun kiddies.

$B0208
-------------------------------------------------------------------------------------------------------------


-------------------------------------------------------------------------------------------------------------
Megaman X3
Megaman X3 Level Data Simplified
By Nestea
-------------------------------------------------------------------------------------------------------------
I'm sure Vagla and Atma know about this, since they did attempt to make a MMX3 hack. But I think people need something simpler than just taking the level offset right out of Weasel's tutorial. So I've hacked and hacked and figured out how MMX3 levels work. I tried to make a level editor, but I can't figure out any way to import graphics from the MMX3 ROM (compressed or uncompressed, I can't do it). So without further ado, the simplification of the intro level.

NOTE: Each tile is 2 bits and each screen is 8x8.

SCREEN SETUP
-------------------------
Example: Screen 1

1C03**

[00 & 01][02 & 03][04 & 05][06 & 07][08 & 09][0A & 0B][0C & 0D][0E & 0F]
[10 & 11][12 & 13][14 & 15][16 & 17][18 & 19][1A & 1B][1C & 1D][1E & 1F]
[20 & 21][22 & 23][24 & 25][26 & 27][28 & 29][2A & 2B][2C & 2D][2E & 2F]
[30 & 31][32 & 33][34 & 35][36 & 37][38 & 39][3A & 3B][3C & 3D][3E & 3F]
[40 & 41][42 & 43][44 & 45][46 & 47][48 & 49][4A & 4B][4C & 4D][4E & 4F]
[50 & 51][52 & 53][54 & 55][56 & 57][58 & 59][5A & 5B][5C & 5D][5E & 5F]
[60 & 61][62 & 63][64 & 65][66 & 67][68 & 69][6A & 6B][6C & 6D][6E & 6F]
[70 & 71][72 & 73][74 & 75][76 & 77][78 & 79][7A & 7B][7C & 7D][7E & 7F]


INTRO LEVEL
---------------------

EDIT:

- Screen 0 = [1C0200] - [1C027F] (unused)
- Screen 1 = [1C0280] - [1C02FF] (unused)
- Screen 2 = [1C0300] - [1C037F]
- Screen 3 = [1C0380] - [1C03FF]
- Screen 4 = [1C0400] - [1C047F] (unused)
- Screen 5 = [1C0480] - [1C04FF]
- Screen 6 = [1C0500] - [1C057F]
- Screen 7 = [1C0580] - [1C05FF]
- Screen 8 = [1C0600] - [1C067F]
- Screen 9 = [1C0680] - [1C06FF]
- Screen 10 = [1C0700] - [1C077F]
- Screen 11 = [1C0780] - [1C07FF]
- Screen 12 = [1C0800] - [1C087F]
- Screen 13 = [1C0880] - [1C08FF] (unused)
- Screen 14 = [1C0900] - [1C097F]
- Screen 15 = [1C0980] - [1C09FF] (unused)
- Screen 16 = [1C0A00] - [1C0A7F]
- Screen 17 = [1C0A80] - [1C0AFF] (Actual Intro 1)
- Screen 18 = [1C0B00] - [1C0B7F]
- Screen 19 = [1C0B80] - [1C0BFF]
- Screen 20 = [1C0C00] - [1C0C7F]
- Screen 21 = [1C0C80] - [1C0CFF]
- Screen 22 = [1C0D00] - [1C0D7F] (unused)
- Screen 23 = [1C0D80] - [1C0DFF]
- Screen 24 = [1C0E00] - [1C0E7F]
- Screen 25 = [1C0E80] - [1C0EFF]
- Screen 26 = [1C0F00] - [1C0F7F]
- Screen 27 = [1C0F80] - [1C0FFF] (unused)
- Screen 28 = [1C1000] - [1C107F]
- Screen 29 = [1C1080] - [1C10FF]
- Screen 30 = [1C1100] - [1C117F]
- Screen 31 = [1C1180] - [1C11FF]
- Screen 32 = [1C1200] - [1C127F]
- Screen 33 = [1C1280] - [1C12FF]
- Screen 34 = [1C1300] - [1C137F]
- Screen 35 = [1C1380] - [1C13FF]
-------------------------------------------------------------------------------------------------------------

-------------------------------------------------------------------------------------------------------------
Megaman X3
By EliXiRNoVa
-------------------------------------------------------------------------------------------------------------
woa i didnt get that last part but heres what im looking at right now which changes the intro level when i edit it
asm:
96/82E9: 0189 ORA ($89,X)
96/82EB: 00B4 BRK #$B4
96/82ED: 006F BRK #$6F
96/82EF: 0384 ORA $84,S
96/82F1: 000A BRK #$0A
96/82F3: 000E BRK #$0E
96/82F5: 000F BRK #$0F
96/82F7: 000B BRK #$0B
96/82F9: 000C BRK #$0C
96/82FB: 000E BRK #$0E
96/82FD: 000F BRK #$0F
96/82FF: 000D BRK #$0D
96/8301: 000A BRK #$0A
-------------------------------------------------------------------------------------------------------------
elixirnova

Red Paratroopa
Level: 22

Posts: 170/177
EXP: 56507
For next: 1843

Since: 04-05-04
From: Midgar

Since last post: 1 day
Last activity: 1 day
Posted on 10-03-05 08:24 AM Link | Quote
Originally posted by Insomnia DMX
Ask Elixirnova (a regular here?) about his MMX3 editor, that doesn't display tiles.


*GASP!!*Hmm didn't know I'm still a regular here even though I don't post much. Well Anyhow..*Complete feeling of honor*

Back on topic I have a plethora of X/X2/X3 data(mostly X3). Its a messy file but it consists of some ram adresses I believe and a general mapping of the entire rom some data explanations.

And I think I wrote down some jargon about the compression though I have no clue how to reverse engineer it to finish a graphical editor for it(x3). It uses the C4 graphics chip(WTF WERE THEY THINKING) which was only used in a few games, note: not X or X2.

X's data compression technique i believe is the same as X2 for graphics at least. They both use Bit Length Encoding where the length of the block of data is predetermined and read via pointers and such. I have that documented a bit too I believe though FuSoYa and his Lunar Compress completely understands the routine used in X.


As for my editor, it is horrible, I was porting it to C++ which was much better and I was working on a graphic editor for the uncompressed graphics and some other nifty features though lack of interest in others and a lack of knowlege to decompress the graphics, I never finished it. If anyone can help with the C4 compression/reverse engineering of it please say so and ill reinstall VC++ and start throwin out some toys for you all
I Still have all the source code and Ill post a copy of the data here in a little bit.


(edited by elixirnova on 10-02-05 11:26 PM)
(edited by elixirnova on 10-02-05 11:40 PM)
Add to favorites | "RSS" Feed | Next newer thread | Next older thread
Acmlm's Board - I2 Archive - Rom Hacking - Has anyone really studied MMX? | |


ABII


AcmlmBoard vl.ol (11-01-05)
© 2000-2005 Acmlm, Emuz, et al



Page rendered in 0.019 seconds.