News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Z3R0X

Pages: 1 [2] 3
21
Personal Projects / Re: Mega Man X6 Tweaks/Patcher (v06)
« on: July 26, 2018, 12:00:00 am »
Lumiere,
Normal X or Shadow can pass Amazon hidden area with parts equipped?
I've seen video of normal X clear it but never with Shadow.
Normal X is possible but not with parts. Instead, they use special weapons.
If Shadow can pass the area, can someone show me the video links?
I've never make it with Shadow. I want to learn how they do it.

I think is not possible without parts:
https://www.youtube.com/watch?v=fvNv2E9k6Ic

22
Personal Projects / Re: Mega Man X5 Improvement Project [PSX]
« on: July 25, 2018, 09:13:34 am »
Hey, hope this isn't a necropost, but with the release of the Megaman X Legacy collection, I was wondering what the possibility of seeing this romhack converted into a mod for the PC version of Legacy X5 is? I would love to be able to apply these critical changes to an official version of the game. Does anyone know if that is possible, and would anyone here be interested in even doing it? Classic Legacy collection never seem to get any kinds of mods, which is strange to me, so I don't even know if people care to mod the X games. Thanks!
Yes, I think the games does not have any changes whatsoever, they will be like Mega Man X Collection versions or their original PC versions, I will start to fix them, but I don't have the game.

23
Personal Projects / Re: Mega Man X6 Tweaks/Patcher (v06)
« on: July 25, 2018, 09:10:17 am »
Thanks. Will definitely try it if I encounter any problems with the ones I'm currently using

I like that idea!

Yes I like that too, is not hard to implement, but I think it need a small custom routine. I can do it but we need to standardize were the routines will be stores on the PS-EXE

24
Personal Projects / Re: Mega Man X6 Tweaks/Patcher (v06)
« on: July 24, 2018, 09:19:14 pm »
No specific reason. I just looked for seemingly blank RAM addresses that stayed loaded during the whole game and discarded the ones that gave any problems. After some trial and error I settled on that space.

I know it's not the cleanest solution, it's probably part of something else, but so far hasn't given me any troubles. At least the parts currenly used.

Do you happen to know a better address? More space would come very handy

I always use the leftover from SDK, there are some function names, I tested on a moded PSX with a burnt CD and not give me any problem on real hardware, is not much space but is better than nothing, I'm still digging of a way of load a chunk of data without calling read CD sector.
I use this space:
BIN from:
0x1D922790
To:
0x1D922960
I left over 4 bytes (the offset 0x1D922964) to make a nop and separate my routines because the offset 0x1D922968 is where some critical data starts.

25
Personal Projects / Re: Mega Man X6 Tweaks/Patcher (v06)
« on: July 24, 2018, 07:13:04 pm »
@acediez
I'm just curious, you use 0x1D9965XX offset for custom routines.
Is a particular reason for use that space in the PSX-EXE?
I want to create your patcher 1:1 options but in C# with auto ECC, image restore and read what is currently patched without making backup copies.

26
Personal Projects / Re: Mega Man X6 Tweaks/Patcher (v06)
« on: July 21, 2018, 07:00:11 am »
Very good. From the YT, it seems like how long Zero perform sentsuizan is depend on how long you hold the up+square button. Am I right?
I personally prefer it delay a bit to stop the sentsuizan so that it won't be abusively use.
Something like making sentsuizan to be perform at least 1 second even if you let go the button straight away?
Please share it with acediez asap. Maybe he can include it in the latest version?
I feel like a kid. Eagerly waiting to play all this upgrade.

Also, there is something I want to know. The coming release of Megaman X Legacy Collection 2, will Capcom fix any problems that have been included in X6?

Is not fully tested and yes but holding up is not required only the button, also is an andi, can be changed with 0x10 for square and 0x20 for triangle, here:
Cancelable Sentsuizan
RAM = 801ECFB0
ROM = 1D9C3868
15 00 02 92 00 00 00 00 02 00 40 10 0A 00 03 24 09 00 03 24 89 00 02 92 00 00 00 00 24 10 43 00 2D 00 40 10
<>
89 00 02 92 00 00 00 00 06 00 40 14 00 00 00 00 09 00 03 24 7C 00 02 92 00 00 00 00 10 00 42 30 2D 00 40 14

Will be tight but I'm sure a delay can be implemented, there are some NOP that can be used.

27
Personal Projects / Re: Mega Man X6 Tweaks/Patcher (v06)
« on: July 20, 2018, 11:03:48 am »
I combine both of your work and get this.
Can it be used?
Blade Dash (v01) acediez+Z3ROX (Can damage enemies and use direction for distant control)
RAM = 801EC76C
7C 00 02 96 : Z3ROX
FF FF 63 24 : same
85 00 03 A2 : same
0A 00 63 2C : acediez
8F 01 42 30 : Z3ROX
03 00 40 14 : Z3ROX
00 00 00 00 : Z3ROX
85 00 00 A2 : Z3ROX

acediez v1
Code: [Select]
801EC768 92030085 lbu     v1,$85(s0)
801EC76C 9605007C lhu     a1,$7C(s0)
801EC770 2463FFFF subiu   v1,$1
801EC774 A2030085 sb      v1,$85(s0)
801EC778 2C63000A sltiu   v1,v1,$A
801EC77C 10600002 beq     v1,0,$801EC788
801EC780 30A50180 andi    a1,$180
801EC784 14A0001D bne     a1,0,$801EC7FC
801EC788 00000000 nop
801EC78C A200007A sb      0,$7A(s0)

acediez v2
Code: [Select]
801EC768 92030085 lbu     v1,$85(s0)
801EC76C 9605007C lhu     a1,$7C(s0)
801EC770 2463FFFF subiu   v1,$1
801EC774 A2030085 sb      v1,$85(s0)
801EC778 30A50180 andi    a1,$180
801EC77C 10A0001F beq     a1,0,$801EC7FC
801EC780 00000000 nop
801EC784 00000000 nop
801EC788 00000000 nop
801EC78C A200007A sb      0,$7A(s0)

Mine
Code: [Select]
801EC768 92030085 lbu     v1,$85(s0)
801EC76C 9602007C lhu     v0,$7C(s0)
801EC770 2463FFFF subiu   v1,$1
801EC774 A2030085 sb      v1,$85(s0)
801EC778 10600005 beq     v1,0,$801EC790
801EC77C 3042018F andi    v0,$18F
801EC780 14400003 bne     v0,0,$801EC790
801EC784 00000000 nop
801EC788 A2000085 sb      0,$85(s0)
801EC78C A200007A sb      0,$7A(s0)

Yours:
Code: [Select]
801EC768 92030085 lbu     v1,$85(s0)
801EC76C 9602007C lhu     v0,$7C(s0)
801EC770 2463FFFF subiu   v1,$1
801EC774 A2030085 sb      v1,$85(s0)
801EC778 2C63000A sltiu   v1,v1,$A  <- This is doing nothig and is wasted.
801EC77C 3042018F andi    v0,$18F
801EC780 14400003 bne     v0,0,$801EC790
801EC784 00000000 nop
801EC788 A2000085 sb      0,$85(s0)
801EC78C A200007A sb      0,$7A(s0)
You only have a function that make dash infinite while you hold a button, but is not properly coded.
As I said before, you should be careful, GS codes and assembly codes are not the same thing, I put MIPS instructions so you can study the 4 routines.

@acediez
With the andi 0x018F include X and Y axis and 0x0183 X axis for the d-pad
but I still feel weird to control... I should implement only activeate dash on doable tap but not maintain the dash with the axis. My goodness this Blade is more nightmare than the nightmare mother in the game.

Edit Update:
I did this in a sitting, is about Sentsuizan:
https://www.youtube.com/watch?v=tv7VvQRmhf8
What I have done?... ;D

28
Personal Projects / Re: Mega Man X6 Tweaks/Patcher (v06)
« on: July 20, 2018, 04:37:41 am »
Oh yeah!
We have similar instructions.
I don't really like to tap again to cancel when you have original duration, is just too short, so I discard my v1.
This is my v2 version, dash while button is held:
RAM = 801EC76C
BIN = 1D9B64D4
7C 00 02 96
FF FF 63 24 <- If you replace with a NOP the dash becomes infinite
85 00 03 A2
05 00 60 10
8F 01 42 30 <- This is important*
03 00 40 14
00 00 00 00
85 00 00 A2
I put andi 0x018F to include the d-pad if not, you cannot dash with double tap.

Blade Dash Delay
RAM = 801EAF38
BIN = 1D9B4910
0x01 - Original
0x0F - Small
0x78 - No delay

29
Personal Projects / Re: Mega Man X6 Tweaks/Patcher (v06)
« on: July 19, 2018, 01:58:57 pm »
Z3ROX,
This is just my personal opinion about your X4 YT.
Why don't make moves like Raijingeki, and Shippuuga to be able to execute only once in the air?
Like you can only choose one either double jump or air dash when jumping.
After all, they can be cover up by the 'infinite air moves'.
I think they are call sky master in X4 gameshark.

That is not easy as it sound, the game again calculates weird pointers and depends of animation and they are calculated like chains, if I don't use the right pointer the stack corrupts and the game crash, don't get me wrong it can be done but is one of the things that just will take a lot of time.
The same happened to MMx6 Guard Shell, the function call are  :banghead:

Now for MMX4 I made a 2 version for Kuuenbu, the short code version (24 instructions) is only "UP" and [] the larger (164 instructions holy macro....) but this is very comfortable because square perform regular swing and /\ for Kuuenbu (if you have it).

30
Personal Projects / Re: Mega Man X6 Tweaks/Patcher (v06)
« on: July 19, 2018, 08:07:29 am »
Now I'm halfway adding the ability to cancel it anytime while keeping its normal behavior.
That is great man!  :woot!:
I'm doing the same thing and I came up with 2 modes without doing any JAL routine:

Version 1 (I don't like this version much)
You need to perform dash with a any dash button and let go, if not let go you will perform a small dash, if you let go and to cancel you need to hit dash again.

Version 2 (I think this is better)
You will dash almost instally and dash only while you are holding a dash button.
Video Demo (if you want I can post the two versions here):
https://www.youtube.com/watch?v=NXUd_wqLQUU

I'm doing some things for MMx4, the sad part is that I had to make a JAL routine :(
- First mod is for Kuuenbu or Kuuenzan now you need to hold "up" + attack
- Second mod is air walker, after performing Hienkyaku you will be able to stay on the air and attack with all ground techniques, I don't know if this is useful to someone, you can fall down just by jumping and doing Ryuenjin.
Demo here:
https://www.youtube.com/watch?v=gnRtN25q0bE

31
Personal Projects / Re: Mega Man X6 Tweaks/Patcher (v06)
« on: July 18, 2018, 12:36:14 pm »
Z3ROX,
Sorry, I don't have the knowledge to understand all of it even after your thorough explanation.
I feel bad about it.

Anyway, how did you guys know that psx ram is for certain function?
What's the best emulator use to search them?
I can only use deduction from someone else search and hopefully get some results from trial and error.
Yes, I highly recommend NO$PSX with the debugger configured with native MIPS style, so you will learn x3  8) (PSX, PS2 and N64) they have common instructions.
problemkaputt.de/psx.htm
This is my video of how I find values with cheat engine and NO$PSX and how I inject code:
https://www.youtube.com/watch?v=ETPkGLjW-VU

32
Personal Projects / Re: Mega Man X6 Tweaks/Patcher (v06)
« on: July 18, 2018, 04:04:29 am »
Quote
Hmm, from what I understand from the pictures, the one highlighted in grey, the original psx ram is
8003F39D 00
8003F39E 02
8003F39F A2
Changing the 02 to 00 will get unlimited air moves for Blade.
However, Gameshark is endian and you have to use 4 digits.

You should investigate GS code types, here are some:
16-bit Constant Write:
80XXXXXX XXXX
8-bit Constant Write:
30XXXXXX 00XX
16-bit Equal To Activator:
D0XXXXXX 00YY

Quote
acediez explained that to me before.
Therefore, in order to safely use the gameshark without affecting others values, I can either use
8003F39D 0000
or
8003F39E A200
Am I right?
Yes, in that case this code is safe because that RAM offset always have that opcode regardless of the character are you using.

On other hand when you are using Blade Armor you have the right values(the addiu instruction)
RAM Offset: 801EAF38

Original instruction:
01 00 42 24 <- addiu v0,v0,0x0001 This is a classic increment, v0 +1
After GS patch with 0x00:
00 00 42 24 <- addiu v0,v0,0x0000 means that reg v0 always will be the same

But when you are Zero, he has a NOP, this means...
Original instruction:
00 00 00 00 <- NOP
After GS patch with 0x00:
00 00 00 00 <- We are safe here, still NOP.

But you have these values (0000=Infinity, 0001=Normal, 000F=only slight delay)

After GS patch with 0x0F or with 0x01:
0F 00 00 00 <- This is an invalid opcode.

If the CPU reach this, the game will crash, this is a case when you need to use an equal conditional, like this:

D01EAF38 0001 <- Check if the value is 0x01 that is the original, if true
801EAF38 000F    write to RAM 0x000F or whatever value you want.

33
Personal Projects / Re: Mega Man X6 Tweaks/Patcher (v06)
« on: July 18, 2018, 12:02:22 am »
#Blade delay dash modifier (0000=Infinity, 0001=Normal, 000F=only slight delay)
801EAF38 000F
Note:
Seems like putting 00 doesn't affect anything. Lucky!
Maybe the original value is 00?

That may bug the game, those are not meant to be GS constat write, you should put conditional on all of them, when you are on stage select those offset have instructions that the game use for other things.

Infinite Blade Air moves (A202=Normal, A200=Infinite)
8003F39E A200 <- this is very critical, if you change the 0x00 and 0xA2 by anything else you will be wringing garbage to RAM.

I put RAM offset not to crate GS code; is for you to see the opcode of that particular RAM offset, the complete instruction looks like this:
86 00 02 A2
Converted to Opcode:
sb v0,$86(s0)
The modified instruction:
86 00 00 A2
Converted to Opcode:
sb zero,$86(s0)
This is why is dangerous to use always GS 800 code type:
#Blade delay dash modifier (0000=Infinity, 0001=Normal, 000F=only slight delay)
801EAF38 000F
Zero Stage:

Blade Stage:

34
ROM Hacking Discussion / Re: [PSX] PS-X EXE aka SLUS
« on: July 17, 2018, 08:48:36 pm »
Thanks for the replays, I will try both ways, some games does not have system font in the main exe or can not be found with tile molester, I guess I have change the method depending of the game.

35
Personal Projects / Re: Mega Man X6 Tweaks/Patcher (v06)
« on: July 17, 2018, 08:41:57 pm »
That is why GameShak codes are not very manageable, they rely on a hook and a patch engine, the codes I post are not for use with GS, my codes are 800XXXXX, they look like a GS code, but they are not, you should be careful with that because the GS constantly write that particular RAM offset and that may crash and bug the game because the game not always has the same instructions on that offset, there is a reason why conditional codes exist (D00XXXXX) because they are assembly instructions that not always stay loaded.

I'm not good with GS but the code should look like this:
Infinite Blade Air Dashes:
D003F39F 02A2 - check if the value of the offset is equal to this.
8003F39F 00A2 - if true, write the code.
Will be an utter nightmare for the custom routines, for that reason I include the BIN offset, you can patch it yourself manually with any hex editor.

36
ROM Hacking Discussion / [PSX] PS-X EXE aka SLUS
« on: July 17, 2018, 08:27:41 am »
Hello everyone, I need advice on how to inject code into the SLUS without breaking it or my injected code be overwritten by the game.
- First possible solution is to find a blank spot in the SLUS but the problem here is that my code may be overwritten.
- Second solution that I use, but is no elegant: most of the SLUS (even PS2 ones) have these strings CdlReadS, CdlSeekP, CdlSeekL, CdlGetTD, CdlGetTN... many more, these are all the time is the same spot on the RAM, I write my code in this space and works on a real console with burned CD-R.

Any person with more knowledge about an elegant solution of doing this, thanks.

37
Personal Projects / Re: Mega Man X6 Tweaks/Patcher (v06)
« on: July 17, 2018, 01:32:40 am »
Hello, I upload my tool demo and patcher to YT, I made a custom routine to control length of Blade's armor, the dash itself is infinite but can be cancel with jump and dash button, if you combine with infinite air moves you can cancel and dash again in any direction you want, also I left the delay and change to infinite so you can stay in the spot until you let go the button you press.
Here we go:

Infinite Blade Air Dashes
RAM = 8003F39E
BIN = 1D956BE6
02
<>
00

Blade Dash Control
RAM = 801EC768
BIN = 1D9B64D0
85 00 03 92 00 00 00 00 FF FF 63 24 85 00 03 A2 00 1E 03 00 03 1E 03 00 08 00 63 28 02 00 60 10 00 00 00 00
<>
7C 00 03 96 00 00 00 00 80 01 63 30 06 00 60 10 00 00 00 00 02 00 00 10 00 00 00 00 00 00 00 00 85 00 00 A2

Blade Automatic Dash Time
RAM = 801EAF38
BIN = 1D9B4910
01
<>
00

38
Personal Projects / Re: Mega Man X6 Tweaks/Patcher (v06)
« on: July 16, 2018, 01:36:41 am »
@Ghaleonh41
Sorry, YT is not showing alerts to responses, I hate that... I responded there.

@Topic
Nice additions acediez, this tool is looking great!

39
Personal Projects / Re: Mega Man X6 Tweaks/Patcher (v05)
« on: July 12, 2018, 02:44:55 pm »
If you change it to
01 41 01 33
Shadow will swing sabre at the fastest speed and also be able to use the dash sabre dash sabre swing like the rest of the X and armors. That is if I didn't provide the wrong value.

Coz in Gameshark, it goes like this.
#Sabre modifier (Shadow) (4101=DashSlash+ChargeCresentSaber+Fastest, 0113=Normal, 4001=DashSlash+Fastest, 0001=Fastest)
801F494C 4109
:woot!:
Nice that you are playing with those values, I'm glad to help with this awesome project. I'm investigating more those values, I came up that some are used as frames or counter, others for some pointer calculation, I guess we just need to test them and play with.
I come up with this offset:
800970A5
This offset change whatever X animation is doing, also this bit is used to calculate a pointer, I think this is why we can't find a flag delay for sabres swings, because is calculated by animation tables or something strange.

40
Personal Projects / Re: Mega Man X6 Tweaks/Patcher (v05)
« on: July 11, 2018, 01:28:58 pm »
I will see if I can figure out where the flag is stored.
I'm playing with these bits, at first glance this looks like animation tables.
I got this:
Sabre Speed X, Falcon, Blade Ultimate
RAM = 801F492C
BIN = 1D9BFAC4
16 40 01 33
<>
01 40 01 33
- The first bit is like animation speed.
- The others bits maybe animation ID?

Sabre Speed Shadow
RAM = 801F494C
BIN = 1D9BFAE4
13 01 01 33
<>
01 01 01 33

Pages: 1 [2] 3