depatching the infinite dash in parallel worlds 1.23

Go down

depatching the infinite dash in parallel worlds 1.23

Post by fsg on Wed 20 Jun 2018 - 10:48

i guess this goes into the request section, as it is a very specific request.

i have a very simple request. i want to remove the infinite dash from the latest version of parallel worlds (1.23). i want everything else to be exactly the same, stun punch and all the minor differences from earlier versions.

is this possible?

fsg
Leever
Leever

Since : 2017-11-09

Back to top Go down

Re: depatching the infinite dash in parallel worlds 1.23

Post by Puzzledude on Wed 20 Jun 2018 - 19:49

is this possible?
Yes, however I never looked into the ASM for this dash. Should be as easy as to change a few bytes, that jump to the code and thus revert them back to the initial values. I think Conn knows what to do here, since he made it. But it could also be traced with qwerty's ASM (ie source code as he calls it) list of changes for the new PW. Thus this is done via Hex editor.
avatar
Puzzledude



Since : 2012-06-20

Back to top Go down

Re: depatching the infinite dash in parallel worlds 1.23

Post by SePH on Wed 20 Jun 2018 - 21:52

Conn wrote:For ALTTP (native and hacks) US, no header

This code will make 2 changes on the pegasus boots:
- you need the button keep pressed to run
- you can change direction while running
- Due to changes in the running code, running up stairs
 such as those on Death Mountain or outside the Eastern Palace,
 you need to hold the D-Pad in the direction you're moving.
 This is essential to dash the lumberjack's tree.

(1) code hijack at
03/911d: a5 f0 29 0f -> 4c 40 ff ea


(2) at 03/ff40
added adjusted code from AST

(Address 03/FF40 was chosen to make it also compatible with Parallel Worlds)

Assuming that Parallel World v1.23 uses Conn's boots code and not the other one by that other guy at rhdn, you should simply find hex address 03/911d and change back the bytes into A5 F0 29 0F to restore the original boots functions.
avatar
SePH



Since : 2012-06-19

Back to top Go down

Re: depatching the infinite dash in parallel worlds 1.23

Post by Conn on Thu 21 Jun 2018 - 6:08

Great that you have the notes left, SePH, I never keep my docs Razz So this would require re-tracing for me otherwise.
avatar
Conn



Since : 2013-06-30

Back to top Go down

Re: depatching the infinite dash in parallel worlds 1.23

Post by fsg on Thu 21 Jun 2018 - 7:34

im not entirely sure that pw uses conn's dash patch. i was reading up on it and as far as i understand with conn's patch you need to hold up to keep dashing up staircases, and this is not the case in pw. maybe i am misunderstand something here. i am not sure this refers to autostairs or manual stairs

fsg
Leever
Leever

Since : 2017-11-09

Back to top Go down

Re: depatching the infinite dash in parallel worlds 1.23

Post by Puzzledude on Thu 21 Jun 2018 - 11:54

03/911d and change back the bytes into A5 F0 29 0F to restore the original boots functions.
This is the primary code, but it's not that easy. Might work partially though.

im not entirely sure that pw uses conn's dash patch. i was reading up on it and as far as i understand with conn's patch you need to hold up to keep dashing up staircases, and this is not the case in pw. maybe i am misunderstand something here. i am not sure this refers to autostairs or manual stairs
The PW 1.23 is using the same thing as the AST dashing. This does not corelate to stairs. AST dashing means that you hold the A button and when you change directions (while holding A) you will continue dashing and not stop. In ALTTP you would stop if you change direction while dashing. In ALTTP you also don't need to hold the A pressed.

I looked into this for you using the Qwerty's ASM source:

This is it
(Rom is PW 1.23 no header)

Turn AST dashing OFF (I tested this and it works)
(thus same dashing as in ALTTP)
1.)
01057D, at this address rewrite bytes to
64 56 9C E0 02

2.)
010B10, at this address rewrite bytes to
AD 72 03 F0

3.)
03911B, at this address rewrite bytes to
85 00 A5 F0 29 0F F0 15 C5 00 F0 11 A9 12 85 5D

4.)
03BCB8, at this address rewrite bytes to
A5 66 29 02

5.)
049F32, at this address rewrite bytes to
9C D6 02 64 5E


Turn AST dashing ON (I tested this and it works)
ie: these are default values of PW 1.23 and PW 1.20.
(thus hold A, thus same dashing as in Ancient stone tablets)
1.)
01057D, at this address rewrite bytes to
22 50 FF 87 EA

2.)
010B10, at this address rewrite bytes to
A5 1B EA 80

3.)
03911B, at this address rewrite bytes to
22 59 FF 87 90 02 80 15 A9 12 85 5D 3A 8D 74 03

4.)
03BCB8, at this address rewrite bytes to
22 40 FF 87

5.)
049F32, at this address rewrite bytes to
22 CA FF 87 EA




-----------------------


Addresses related in pegasus asm
00082E (no function)
039138 (no function)


CODE
03FF40 (remains)
pegasus_unk
pegasus_exit
ast_dash
dash_ice_check
pegasus_in_out


Last edited by Puzzledude on Thu 21 Jun 2018 - 12:04; edited 4 times in total
avatar
Puzzledude



Since : 2012-06-20

Back to top Go down

Re: depatching the infinite dash in parallel worlds 1.23

Post by Puzzledude on Thu 21 Jun 2018 - 11:58

With 1.) you revert the JSL to pegasus_exit code
With 2.) you rewrite code: map_transition_code
With 3.) you revert JSL ast_dash + additional ast code
With 4.) you revert JSL to pegasus_unk code
With 5.) you revert JSL to pegasus_in_out code

You see, the problem was Qwerty made a lot of Dash fixes, such as keep dashing if holding A on overworld map transition and also the code dash_ice_check to fix dashing on ice etc.

Main code ramins at 03FF40.
avatar
Puzzledude



Since : 2012-06-20

Back to top Go down

Re: depatching the infinite dash in parallel worlds 1.23

Post by wizzrobemaster on Thu 21 Jun 2018 - 13:37

what is the infinite dash?

wizzrobemaster
Ganon
Ganon

Since : 2015-01-04

Back to top Go down

Re: depatching the infinite dash in parallel worlds 1.23

Post by fsg on Thu 21 Jun 2018 - 13:55

Puzzledude wrote:With 1.) you revert the JSL to pegasus_exit code
With 2.) you rewrite code: map_transition_code
With 3.) you revert JSL ast_dash + additional ast code
With 4.) you revert JSL to pegasus_unk code
With 5.) you revert JSL to pegasus_in_out code

You see, the problem was Qwerty made a lot of Dash fixes, such as keep dashing if holding A on overworld map transition and also the code dash_ice_check to fix dashing on ice etc.

Main code ramins at 03FF40.
this worked. thanks a lot for the help puzzledude

fsg
Leever
Leever

Since : 2017-11-09

Back to top Go down

Re: depatching the infinite dash in parallel worlds 1.23

Post by Conn on Thu 21 Jun 2018 - 15:08

Also thanks from my side, I currently have no time to fullfil single extra wishes...
avatar
Conn



Since : 2013-06-30

Back to top Go down

Re: depatching the infinite dash in parallel worlds 1.23

Post by Puzzledude on Thu 21 Jun 2018 - 16:00

what is the infinite dash?
It's called AST dashing. You hold A and while dashing you can change direction and continue dashing. In original ALTTP you stop dashing if you change direction.

this worked. thanks a lot
Sure. I hope you are skilled in hex editing.


avatar
Puzzledude



Since : 2012-06-20

Back to top Go down

Re: depatching the infinite dash in parallel worlds 1.23

Post by fsg on Thu 21 Jun 2018 - 16:47

Puzzledude wrote:
Sure. I hope you are skilled in hex editing.


never hex edited anything in my life before, but these instructions were quite clear

fsg
Leever
Leever

Since : 2017-11-09

Back to top Go down

Re: depatching the infinite dash in parallel worlds 1.23

Post by wizzrobemaster on Fri 22 Jun 2018 - 1:21

conn had made that patch right?

wizzrobemaster
Ganon
Ganon

Since : 2015-01-04

Back to top Go down

Re: depatching the infinite dash in parallel worlds 1.23

Post by Conn on Fri 22 Jun 2018 - 4:16

Actually the origianl AST creator staff Wink
avatar
Conn



Since : 2013-06-30

Back to top Go down

Re: depatching the infinite dash in parallel worlds 1.23

Post by wizzrobemaster on Sat 23 Jun 2018 - 0:18

Conn wrote:Actually the origianl AST creator staff Wink

so you copied the asm and converted it to work for z3?

wizzrobemaster
Ganon
Ganon

Since : 2015-01-04

Back to top Go down

Re: depatching the infinite dash in parallel worlds 1.23

Post by Conn on Sat 23 Jun 2018 - 6:06

that was what I did essentially
avatar
Conn



Since : 2013-06-30

Back to top Go down

Re: depatching the infinite dash in parallel worlds 1.23

Post by Sponsored content


Sponsored content


Back to top Go down

Back to top


 
Permissions in this forum:
You cannot reply to topics in this forum