Editing Zelda 3 Blade Beam

Page 1 of 2 1, 2  Next

View previous topic View next topic Go down

Editing Zelda 3 Blade Beam

Post by KonaXKona on Sat 15 Jul 2017 - 16:13

[You must be registered and logged in to see this image.]

So I've been doing some mods and edits to my ALTTP and I've always wanted to edit the blade beam to be the things the Wizards shoot out. That or remove the function all together. Though replacing that swirl with what the wizards shoot would be great. Thanks for the help.

KonaXKona
Leever
Leever

Since : 2017-07-15

Back to top Go down

Re: Editing Zelda 3 Blade Beam

Post by Conn on Sun 16 Jul 2017 - 6:02

Disabling is rather easy:
pc 03/9c7b: b0 -> 80

giving it another appearance: you can try changing the tile with zcompress, but you need to know some asm to disabling mirroring and flipping.
avatar
Conn



Since : 2013-06-30

Back to top Go down

Re: Editing Zelda 3 Blade Beam

Post by KonaXKona on Sun 16 Jul 2017 - 10:15

Conn wrote:Disabling is rather easy:
pc 03/9c7b: b0 -> 80

giving it another appearance: you can try changing the tile with zcompress, but you need to know some asm to disabling mirroring and flipping.

I was afraid of this but I was going to have to cross this bridge eventually. How would I even apply this code to the rom? I have the program to add ASM patches to a rom but have never made a ASM patch myself. Can that be converted into HEX? Or be presented in the form of a patch so I can look at it and copy the precise coding?

KonaXKona
Leever
Leever

Since : 2017-07-15

Back to top Go down

Re: Editing Zelda 3 Blade Beam

Post by Conn on Sun 16 Jul 2017 - 10:30

Do you really want to go that road then? Without any asm skills you won't get much far to adjust the rom to specific needs. But people already made some nice hacks only using HM. Much luck.

You need to open the rom in a hex editor. I use ultraedit, but there are also free ones available (Google, I think hex editor MX can be recommended).

Then go to the address I told you:
[You must be registered and logged in to see this link.]

Line  00039c70, byte b, change b0 to 80 just as you see in the pic. You could make then an ips out of it.
avatar
Conn



Since : 2013-06-30

Back to top Go down

Re: Editing Zelda 3 Blade Beam

Post by KonaXKona on Sun 16 Jul 2017 - 10:37

Conn wrote:Do you really want to go that road then? Without any asm skills you won't get much far to adjust the rom to specific needs. But people already made some nice hacks only using HM. Much luck.

You need to open the rom in a hex editor. I use ultraedit, but there are also free ones available (Google, I think hex editor MX can be recommended).

Then go to the address I told you:
[You must be registered and logged in to see this link.]

Line  00039c70, byte b, change b0 to 80 just as you see in the pic. You could make then an ips out of it.


Oh I hex edit things all day, it's ASM patches I know nothing about. Well rather, I can apply a pre made ASM patch but do not know how to make one myself.

Edit: I can open pre made ASM patches with a notepad and edit that, and I've tried that, copying and pasting a code from here, but it wouldn't work.

KonaXKona
Leever
Leever

Since : 2017-07-15

Back to top Go down

Re: Editing Zelda 3 Blade Beam

Post by Puzzledude on Sun 16 Jul 2017 - 11:48

KonaXKona wrote: Oh I hex edit things all day.
Conn wrote: Disabling is rather easy:
pc 03/9c7b: b0 -> 80
KonaXKona wrote: How would I even apply this code to the rom?
Well that's the paradox then. If you hex edit all day, than you obviously should be able to hex edit this one byte. In a hex editor go to address 039C7B and change the byte B0 to 80. No ASM here, no patches, no applying ASM. Making a patch out of this is useless, since the patch would change only this one byte. And you constantly speak of ASM, yet there is no ASM involved in this one byte change.

KonaXKona wrote: Edit: I can open pre made ASM patches with a notepad and edit that, and I've tried that, copying and pasting a code from here, but it wouldn't work.
And where would you paste the code to. The ASM code can not be "pasted" into the Rom. The ASM is assembled into the Rom using an assembler, such as xkas, where the command lines are translated into the machine code: ie bytes. Thus every ASM will essentially result in a number of bytes for the SNES CPU to read.

On the other hand, you can copy paste series of bytes into the rom, as this code already is assembled, and is thus regarded as hex, rather than asm. In the upper case only the byte 80 gets copy pasted, if (for some unknown reason) you don't wish to type it out manually at the given address.
avatar
Puzzledude



Since : 2012-06-20

Back to top Go down

Re: Editing Zelda 3 Blade Beam

Post by KonaXKona on Sun 16 Jul 2017 - 21:31

Puzzledude wrote:
KonaXKona wrote: Oh I hex edit things all day.
Conn wrote: Disabling is rather easy:
pc 03/9c7b: b0 -> 80
KonaXKona wrote: How would I even apply this code to the rom?
Well that's the paradox then. If you hex edit all day, than you obviously should be able to hex edit this one byte. In a hex editor go to address 039C7B and change the byte B0 to 80. No ASM here, no patches, no applying ASM. Making a patch out of this is useless, since the patch would change only this one byte. And you constantly speak of ASM, yet there is no ASM involved in this one byte change.

KonaXKona wrote: Edit: I can open pre made ASM patches with a notepad and edit that, and I've tried that, copying and pasting a code from here, but it wouldn't work.
And where would you paste the code to. The ASM code can not be "pasted" into the Rom. The ASM is assembled into the Rom using an assembler, such as xkas, where the command lines are translated into the machine code: ie bytes. Thus every ASM will essentially result in a number of bytes for the SNES CPU to read.

On the other hand, you can copy paste series of bytes into the rom, as this code already is assembled, and is thus regarded as hex, rather than asm. In the upper case only the byte 80 gets copy pasted, if (for some unknown reason) you don't wish to type it out manually at the given address.

From the moment he put it up as a hex I had already edited it into my rom, the thing is this rom is pre patched with the IPS Zelda remaster thing I got from Romhacks.net so sometimes converting a ASM address to a hex doesn't work since there may already be coding in values in that spaces provided. Anyway, thanks alot for the code to Stop the blade beam. I wouldn't mind a code or two for the first question, how to turn it into the wizard projectile, but this is good too~

KonaXKona
Leever
Leever

Since : 2017-07-15

Back to top Go down

Re: Editing Zelda 3 Blade Beam

Post by Conn on Sun 16 Jul 2017 - 23:29

I think nobody ever tinkered on that projectile. The asm math for it must be complex and immense (circular and forthgoing).

I can only advise to search this tile in zcompress. Then you know how many tiles are there for this beam, and if it is possible to mirror/flip it to the wizrobes beam look. ~If~ it is possible (number of tiles etc.) you need to nop out much of the native circulating code, and mirror/flip it in dependence of the direction you stand.

But honestly, this is way too much work for almost zero gain. I'd rather think about another nice circling graphic/effect.
avatar
Conn



Since : 2013-06-30

Back to top Go down

Re: Editing Zelda 3 Blade Beam

Post by Puzzledude on Mon 17 Jul 2017 - 7:05

From the moment he put it up as a hex I had already edited it into my rom.
Good to know.

the thing is this rom is pre patched with the IPS Zelda remaster thing I got from Romhacks.net so sometimes converting a ASM address to a hex doesn't work since there may already be coding in values in that spaces provided
Yes, however this location should be the same in all ALTTP roms/hacks.

how to turn it into the wizard projectile
Basically to achieve that, you don't turn it directly, you edit the gfx for the projectile, to still be swords projectile. However now it will look like Agahnims magic projectile due to gfx edit.

But like said, sword's projectile is most likely using only a quarter of the beam, which then gets mirrored to form a circle. If the game uses only quarter, than not even ASM will help, as you will have gfx space shortage. Best is to draw another circular beam, like Agahnims blue circle beam.
avatar
Puzzledude



Since : 2012-06-20

Back to top Go down

Re: Editing Zelda 3 Blade Beam

Post by KonaXKona on Mon 17 Jul 2017 - 12:54

Puzzledude wrote:
From the moment he put it up as a hex I had already edited it into my rom.
Good to know.

the thing is this rom is pre patched with the IPS Zelda remaster thing I got from Romhacks.net so sometimes converting a ASM address to a hex doesn't work since there may already be coding in values in that spaces provided
Yes, however this location should be the same in all ALTTP roms/hacks.

how to turn it into the wizard projectile
Basically to achieve that, you don't turn it directly, you edit the gfx for the projectile, to still be swords projectile. However now it will look like Agahnims magic projectile due to gfx edit.

But like said, sword's projectile is most likely using only a quarter of the beam, which then gets mirrored to form a circle. If the game uses only quarter, than not even ASM will help, as you will have gfx space shortage. Best is to draw another circular beam, like Agahnims blue circle beam.

I had already suspected it was a quarter of a circle that was just flipped to make the blade beam projectile and I think I can locate it in the sprite sheet, what I'm looking to do is replace the projectile with:

[You must be registered and logged in to see this image.]

But so far removing the blade beam funtion works also, looks nice, so on.

I Have another burning question, I found this somewhere and never took it down but I remember there was a method to make gannon able to be damaged with the Lvl2 sword or the normal blue master sword? Do you guys know of how to achieve that?

KonaXKona
Leever
Leever

Since : 2017-07-15

Back to top Go down

Re: Editing Zelda 3 Blade Beam

Post by Conn on Mon 17 Jul 2017 - 13:24

Basically it is easy:
06/b8f9: 00 -> 01 (makes Ganon vulnerable to L1 attack class)
06/b901: 00 -> 02 (makes Ganon vulnerable to L2 attack class)

but it is bug affective,
- if you enable l1 sword you can also hit him with sword beam/cane byrna and so on. I'd not recommend to make him vulnerable with l1 sword (you need 95 hits to get his life energy down to stage 2 anyways)

both enables have the problem that antifairies and peg switches can be destroyed now too.
To fix this:

bug fix to avoid peg switches being destroyed:
03/6dc0: bf f1 b8 8d -> 22 xx yy zz (hook)
zz/yyxx
LDA $0DB8F1,x (BF F1 B8 0D) repeat code
CPX #$08 (E0 08) is it 08 on x
BEQ $05 (F0 05) yes: branch
CPX #$10 (E0 10)
BEQ $01 (F0 01) branch if x=10
RTL (6b) else: return
PHA (48) Accumulator on stack
LDA $0e20 (ad 20 0e) load sprite slot 1
CMP #$d6 (c9 d6) is it Ganon?
BEQ $04 (F0 04) yes: branch 4 bytes
PLA (68) clear stack
lda #$00 (a9 00) restore 00 if not Ganon
RTL (6b) return
PLA (68) restore value on stack
RTL (6b) return


You can read more here:
[You must be registered and logged in to see this link.]
avatar
Conn



Since : 2013-06-30

Back to top Go down

Re: Editing Zelda 3 Blade Beam

Post by KonaXKona on Mon 17 Jul 2017 - 15:24



bug fix to avoid peg switches being destroyed:
03/6dc0: bf f1 b8 8d -> 22 xx yy zz (hook)
zz/yyxx
LDA $0DB8F1,x (BF F1 B8 0D) repeat code
CPX #$08 (E0 08) is it 08 on x
BEQ $05 (F0 05) yes: branch
CPX #$10 (E0 10)
BEQ $01 (F0 01) branch if x=10
RTL (6b) else: return
PHA (48) Accumulator on stack
LDA $0e20 (ad 20 0e) load sprite slot 1
CMP #$d6 (c9 d6) is it Ganon?
BEQ $04 (F0 04) yes: branch 4 bytes
PLA (68) clear stack
lda #$00 (a9 00) restore 00 if not Ganon
RTL (6b) return
PLA (68) restore value on stack
RTL (6b) return


So this stuff is a ASM code right? How would I apply this, I tried copying it into a .asm and saving it then trying to patch my rom but that doesn't work.

KonaXKona
Leever
Leever

Since : 2017-07-15

Back to top Go down

Re: Editing Zelda 3 Blade Beam

Post by Conn on Mon 17 Jul 2017 - 16:16

It's pseudocode, so people know what to do.
If they have some minimal skills at least that is.
For example, know how to convert addresses, pc to snes lowrom, expanding a Rom, give offsets make a smicolon before clamps.

Here's the converted asm that you can use

Code:


lorom

ORG $0Db901 ; that is converted pc 06/b901
db $02      ; Ganon vulnerable to L2 sword

ORG $06EDC0 ; JSL to free rom space
JSL freeRomSpace

ORG $268000 ; pc 130000 is it free here? You need to adjust it! And expand the rom (LunarExpand)
freeRomSpace:
LDA $0DB8F1,x; (BF F1 B8 0D) repeat code
CPX #$08; (E0 08) is it 08 on x
BEQ $05; (F0 05) yes: branch
CPX #$10; (E0 10)
BEQ $01; (F0 01) branch if x=10
RTL; (6b) else: return
PHA; (48) Accumulator on stack
LDA $0e20; (ad 20 0e) load sprite slot 1
CMP #$d6; (c9 d6) is it Ganon?
BEQ $04; (F0 04) yes: branch 4 bytes
PLA; (68) clear stack
lda #$00; (a9 00) restore 00 if not Ganon
RTL; (6b) return
PLA; (68) restore value on stack
RTL; (6b) return
avatar
Conn



Since : 2013-06-30

Back to top Go down

Re: Editing Zelda 3 Blade Beam

Post by Puzzledude on Mon 17 Jul 2017 - 17:51

So this stuff is a ASM code right? How would I apply this, I tried copying it into a .asm and saving it then trying to patch my rom but that doesn't work.
Obviously it doesn't, since the XX,YY,ZZ need to be filled with the SNES/PC address of your choosing, while the assembled bytes are not even NOPed with the ; simbol. Thus the code is not "official" like in the bottom green frame. But it is easy convertable to its official state to be applied with Xkas.

What you need to do is first expand the rom from 1MB to 2MB, by adding 100000 bytes in hex with value 00 to the end of the rom, or use Lunar Expand. So again even applying the correct ASM will then probably not work in emus, since they usually require an even file size, ie 2MB in this case.


Then do this hex edit:
at 36DC0: change
BF F1 B8 0D
to
22 00 80 26

This is a jump to 130000 for instance, since 00 80 26 reversed is 268000= snes address= 130000 hex address (using snestuff for calculation). You can choose any free location.

if/when the rom is expanded to 200000, go to
130000, and write new code:
Conn was kind enough to actually also assemble it, so no need for xkas:

your code is this (this is what you indeed copy paste at 130000 using a hex editor):
BF F1 B8 0D E0 08 F0 05 E0 10 F0 01 6B 48 AD 20 0E C9 D6 F0 04 68 A9 00 6B 68 6B


Of course running the upper code (in the green frame) through XKAS will do the same. Note, in this case you need to first copy paste the code into the TXT/ASM file (for instance) pegswitch.asm and then run Xkas with this file using command line order. This is why I then always do the hex compare, so the upper hex info can be extracted to be able to quickly insert the code into any rom with just a hex editor (since Xkas is DOS based). But not neccessary in this case, since the ASM also has the bytes written aside the commands.
avatar
Puzzledude



Since : 2012-06-20

Back to top Go down

Re: Editing Zelda 3 Blade Beam

Post by Conn on Mon 17 Jul 2017 - 18:47

Did I already say that I want to retire? Smile
avatar
Conn



Since : 2013-06-30

Back to top Go down

Re: Editing Zelda 3 Blade Beam

Post by KonaXKona on Mon 17 Jul 2017 - 20:00

I took my time and applied everything and it all seems to work fine.

Info: I think the ISP patch expanded the rom because when using the program it told me the rom was already the right size, I applied the patch no problem and tested my attacks against Gannon and the peg switches~ So all of that works out.

Thank both of you for the break downs. I'm going to keep an eye on this thread still incase anyone cooks up a asm script or something to stop the spin of the blade beam and replace it with the projectile above, the slash things the wizards shoot. As much as I'm satisfied the idea of blade beams being more akin to A Link Between worlds would be AWESOME.

KonaXKona
Leever
Leever

Since : 2017-07-15

Back to top Go down

Re: Editing Zelda 3 Blade Beam

Post by assassin17 on Mon 17 Jul 2017 - 20:57

Conn: what about taking the approach seen in your Mothula fix, where you modify a monster's entry in the 7F/6000 structure at start-up?  that should be smaller and simpler and risk less side effects, unless Ganon mucks with this RAM data in real-time.


Last edited by assassin17 on Tue 18 Jul 2017 - 7:59; edited 1 time in total (Reason for editing : had ambiguous grammar)
avatar
assassin17
Witch
Witch

Since : 2015-03-14

http://assassin17.brinkster.net/

Back to top Go down

Re: Editing Zelda 3 Blade Beam

Post by Conn on Tue 18 Jul 2017 - 4:56

You are speaking about the native bug fix, right?
mothula_l4.ips (by Conn)
This patch fixes that the boss Mothula is immune against the Golden Sword and the spin attack from the Tempered Sword.
Guess you are right, but... as said I am retired (just waiting for the conker 1.2.3 playtest), so I do not move another finger on patches that actually work (this approach surely is better and less risky but the current patch also has been tested bugfree.
avatar
Conn



Since : 2013-06-30

Back to top Go down

Re: Editing Zelda 3 Blade Beam

Post by assassin17 on Tue 18 Jul 2017 - 7:56

i mean use the Mothula approach for Ganon.  will edit for clarity.
avatar
assassin17
Witch
Witch

Since : 2015-03-14

http://assassin17.brinkster.net/

Back to top Go down

Re: Editing Zelda 3 Blade Beam

Post by Conn on Tue 18 Jul 2017 - 10:54

ah, now I got you Very Happy
I completely forgot that I edited 7f6000 region there. But above code works also flawlessly. And answer remains: I want to retire... did enough for this game for a lifetime Woot!!
avatar
Conn



Since : 2013-06-30

Back to top Go down

Re: Editing Zelda 3 Blade Beam

Post by KonaXKona on Tue 18 Jul 2017 - 14:47

Conn wrote:ah, now I got you Very Happy
I completely forgot that I edited 7f6000 region there. But above code works also flawlessly. And answer remains: I want to retire... did enough for this game for a lifetime Woot!!

Seriously, Don't retire, I look around and all I see is your posts all of which are extremely helpful~

It looks like it would be HUGE if you stopped.

Edit: Also, the sparks that come out of level 2 swords and higher.

"dw $D65A $4565A* 26 Sparkles when swinging lvl 2 or higher sword:"

How would this be disabled?

KonaXKona
Leever
Leever

Since : 2017-07-15

Back to top Go down

Re: Editing Zelda 3 Blade Beam

Post by Puzzledude on Tue 18 Jul 2017 - 17:40

Seriously, Don't retire, I look around and all I see is your posts all of which are extremely helpful~

It looks like it would be HUGE if you stopped.
Same here, such people with ASM skills are rare, since this is somewhat specific and complex. Basically I pretty much can do anything with the ALTTP rom, from dungeon, overworld, gfx, hex, etc etc, but writing new ASM is somewhat out of my reach (I did try some codes though which actually worked).

However I can understand Conn, since I believe he worked like a decade before already on the AST and BS Zeldas and now here also on ALTTP.
avatar
Puzzledude



Since : 2012-06-20

Back to top Go down

Re: Editing Zelda 3 Blade Beam

Post by KonaXKona on Tue 18 Jul 2017 - 18:03


Same here, such people with ASM skills are rare, since this is somewhat specific and complex. Basically I pretty much can do anything with the ALTTP rom, from dungeon, overworld, gfx, hex, etc etc, but writing new ASM is somewhat out of my reach (I did try some codes though which actually worked).

However I can understand Conn, since I believe he worked like a decade before already on the AST and BS Zeldas and now here also on ALTTP.[/quote]

He does BS too, I wish I could find a extractor ( That works with windows 7 ) to edit the title screen of my 3rd quest hack to remove the " Third Quest " text from it.

KonaXKona
Leever
Leever

Since : 2017-07-15

Back to top Go down

Re: Editing Zelda 3 Blade Beam

Post by Conn on Wed 19 Jul 2017 - 6:00


"dw $D65A $4565A* 26 Sparkles when swinging lvl 2 or higher sword:"

How would this be disabled?
Well, the dw means that a word (2 bytes) are written from the asm.
If you look into my asm you find
Code:
ORG $0Db901 ; that is converted pc 06/b901
db $02      ; Ganon vulnerable to L2 sword
the db is almost identical to dw, only that one byte is written to this address pc 06/b901.

I do not know which asm you got this from, neither the address these two words shall be written to, so I can't help further.



Same here, such people with ASM skills are rare, since this is somewhat specific and complex. Basically I pretty much can do anything with the ALTTP rom, from dungeon, overworld, gfx, hex, etc etc, but writing new ASM is somewhat out of my reach (I did try some codes though which actually worked).
Thanks Very Happy But I am not irreplaceable. Euclid is a professional and he's also checking the forums daily (however he mostly checks the admin forums only I think). If something burns, a pm to him surely will help I guess.
Then, since SePH seems to have retired as well, I made qwerty and superskuj mods, because both also know asm and have their own projects. They can help, too.
Also, there are many other people here, MoN recently drppped by, assassin17, xaser, DarkShock, RedScorpion... they all are able to help Very Happy
avatar
Conn



Since : 2013-06-30

Back to top Go down

Re: Editing Zelda 3 Blade Beam

Post by KonaXKona on Wed 19 Jul 2017 - 7:16

Conn wrote:

"dw $D65A $4565A* 26 Sparkles when swinging lvl 2 or higher sword:"

How would this be disabled?
Well, the dw means that a word (2 bytes) are written from the asm.
If you look into my asm you find
Code:
ORG $0Db901 ; that is converted pc 06/b901
db $02      ; Ganon vulnerable to L2 sword
the db is almost identical to dw, only that one byte is written to this address pc 06/b901.

I do not know which asm you got this from, neither the address these two words shall be written to, so I can't help further.



Same here, such people with ASM skills are rare, since this is somewhat specific and complex. Basically I pretty much can do anything with the ALTTP rom, from dungeon, overworld, gfx, hex, etc etc, but writing new ASM is somewhat out of my reach (I did try some codes though which actually worked).
Thanks Very Happy But I am not irreplaceable. Euclid is a professional and he's also checking the forums daily (however he mostly checks the admin forums only I think). If something burns, a pm to him surely will help I guess.
Then, since SePH seems to have retired as well, I made qwerty and superskuj mods, because both also know asm and have their own projects. They can help, too.
Also, there are many other people here, MoN recently drppped by, assassin17, xaser, DarkShock, RedScorpion... they all are able to help Very Happy


I got that little line from Orochimaru's Zelda 3 hacking compendium, it's the special sprite routine for the sparks that come out for the lvl2-4 swords. I was thinking posting that would help you guys find where that is located.

I know in Parallel worlds the sparks are disabled, I could remove them from the sprite sheet if I knew where they were.

KonaXKona
Leever
Leever

Since : 2017-07-15

Back to top Go down

Re: Editing Zelda 3 Blade Beam

Post by Sponsored content


Sponsored content


Back to top Go down

Page 1 of 2 1, 2  Next

View previous topic View next topic Back to top


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