Wizzrobemaster's Burning Questions

Page 1 of 3 1, 2, 3  Next

Go down

Wizzrobemaster's Burning Questions

Post by wizzrobemaster on Tue 27 Feb 2018 - 6:05

where is asm data that prevents bosses from dropping hearts?

wizzrobemaster
Ganon
Ganon

Since : 2015-01-04

Back to top Go down

Re: Wizzrobemaster's Burning Questions

Post by Puzzledude on Tue 27 Feb 2018 - 10:38

where is asm data that prevents bosses from dropping hearts?
I have to say, still haven't figuered it out, but I'm close, however missing the final step.

Euclid said this:
2EF4C:
D0 04 --> EA EA.
Now no boss drops any heartcontainers. But no pendant/crystal fall.

Euclid also made this ASM to prevent bosses to drop hearts:
-------------------------------------------
04EE53:
22 5F F6 1D --> 00 80 24 (ie 120000)

04EE4F: (drop 5 rupees in case of failure)
A9 EA --> A9 DA

at 120000,
AD 03 04 09 80 8D 03 04 22 5F F6 1D 6B
-------------------------------------------
But bosses still drop hearts after this ASM.

Parallel Worlds has both: ASM code and the EA EA, but PW drops pendants/crystals.


Then Reshaper's method:
02A079= sprite from Armos: = EA= heart container,
but if for instance changed to DA= blue rupee, no pendant/crystal drops.

But GameMakr wanted a heartpice, so 02A079= EB,
then Reshaper found this:
02F006= 40 20 --> C0 A0
and then if heart piece from boss, the pendant/crystal still drops (but only for heart piece from boss, nothing else).

02A538= Lanmolas sprite reward
04EE50= reward for all other bosses

So for no hearts from bosses we can change:
02A079, 02A538, 04EE50, from EA to 1D (useless sprite), thus no heart containers from bosses, but also no pendant/crystal drop.


Or at 2EF4C to EA EA, but again no treasure drop.

No idea how Euclid made it to drop pendants/crystals in PW while no heart container from boss?


Last edited by Puzzledude on Tue 27 Feb 2018 - 11:46; edited 1 time in total
avatar
Puzzledude



Since : 2012-06-20

Back to top Go down

Wizzrobemaster's Burning Questions

Post by Puzzledude on Tue 27 Feb 2018 - 11:18

Irronically, it works the other way around.

If you are using Parallel Worlds rom and do it reversed:
2EF4C: EA EA --> D0 04
04EE53: 22 96 FA 07 --> 22 5F F6 1D
04EE4F: A9 DA --> A9 EA

...bosses will drop heart containers in Parallel Worlds.

Code at 03FA96 can remain, since the pointer no longer points to it.
avatar
Puzzledude



Since : 2012-06-20

Back to top Go down

Re: Wizzrobemaster's Burning Questions

Post by wizzrobemaster on Wed 28 Feb 2018 - 6:18

i applied GM's heart piece, which works but i want no hearts. now if an asm could be made where the boss drops the heart while it has no connection to the pendant/crystal, which is obtained in another room, then that would really help, but that is probably going to be really complicated because i would not be surprised if it is a one sprite spawn per room. in zelda 1 and OoX, the key item is found in another room.  the boss heart is similar to how the triforce of power triggers the shutter door in zelda 1.

anyway karkat does have an active asm available. unfortunately, it will only work for the JP rom. the compendium has euclid's data, but it is incomplete. i tried tracing the data from GM's asm but i could not figure out how he was able to trigger a heart piece instead of a container.

wizzrobemaster
Ganon
Ganon

Since : 2015-01-04

Back to top Go down

Re: Wizzrobemaster's Burning Questions

Post by Puzzledude on Wed 28 Feb 2018 - 8:20

but i want no hearts
Like said, this is easy doable, however the pendant/crystal will not drop. It will only drop if a heartcontainer is obtained.

now if an asm could be made where the boss drops the heart while it has no connection to the pendant/crystal
That's not happening, since the code is specifically made to drop it after container.

in zelda 1 and OoX, the key item is found in another room
I know, however forget about this in ALTTP.

The only way to achieve this is to give a "miniboss" before the actual boss room with the tag Kill boss again with that one Euclid's byte fix for this tag to work in all dungeons. Along with the tag Defeat to open door.

However you will not hear the boss music. One you enter the boss room with no boss (since this is the only way), container will not drop, and thus no pendant. Next possibilty is pendant in a chest, but then no dungeon-ending sequence is triggered and thus you can not auto-return outside.

Recomended is to leave it the way ALTTP has it: container+pendant drop+swing sword+return to entrance automatically.
No container from boss means (as you can see in PW) that you need too much heart pieces or containers in the overworld, which will result in gaining health too slow or too quick. One container from each boss makes you gain health in correct amount during correct moments in the gameplay.
avatar
Puzzledude



Since : 2012-06-20

Back to top Go down

Re: Wizzrobemaster's Burning Questions

Post by wizzrobemaster on Wed 28 Feb 2018 - 16:08

well i could have chests where you find containers just like in zelda 2 or the boss music only plays against agahnim. in zelda 1 there was no boss music and dodongo in the second quest was in fact optional in level 3.  i think i would go with the mini-boss approach.



Last edited by wizzrobemaster on Wed 28 Feb 2018 - 16:14; edited 2 times in total

wizzrobemaster
Ganon
Ganon

Since : 2015-01-04

Back to top Go down

Re: Wizzrobemaster's Burning Questions

Post by wizzrobemaster on Wed 28 Feb 2018 - 16:12

so when i speaking to karkat, he informed me the reason ether drops in agahnim's room is because of the pendant flag. can that asm also prevent a drop or is that needed to enter the dark world?

wizzrobemaster
Ganon
Ganon

Since : 2015-01-04

Back to top Go down

gba port limitations

Post by wizzrobemaster on Thu 1 Mar 2018 - 18:07

are the gba port's limitations the same as the snes version just with additional asm added or can its programming allow for more room that is not possible for the snes version?

wizzrobemaster
Ganon
Ganon

Since : 2015-01-04

Back to top Go down

Re: Wizzrobemaster's Burning Questions

Post by wizzrobemaster on Fri 9 Mar 2018 - 7:10

Puzzledude wrote:
where is asm data that prevents bosses from dropping hearts?
I have to say, still haven't figuered it out, but I'm close, however missing the final step.

Euclid said this:
2EF4C:
D0 04 --> EA EA.
Now no boss drops any heartcontainers. But no pendant/crystal fall.

Euclid also made this ASM to prevent bosses to drop hearts:
-------------------------------------------
04EE53:
22 5F F6 1D --> 00 80 24 (ie 120000)

04EE4F: (drop 5 rupees in case of failure)
A9 EA --> A9 DA

at 120000,
AD 03 04 09 80 8D 03 04 22 5F F6 1D 6B
-------------------------------------------
But bosses still drop hearts after this ASM.

Parallel Worlds has both: ASM code and the EA EA, but PW drops pendants/crystals.


Then Reshaper's method:
02A079= sprite from Armos: = EA= heart container,
but if for instance changed to DA= blue rupee, no pendant/crystal drops.

But GameMakr wanted a heartpice, so 02A079= EB,
then Reshaper found this:
02F006= 40 20 --> C0 A0
and then if heart piece from boss, the pendant/crystal still drops (but only for heart piece from boss, nothing else).

02A538= Lanmolas sprite reward
04EE50= reward for all other bosses

So for no hearts from bosses we can change:
02A079, 02A538, 04EE50, from EA to 1D (useless sprite), thus no heart containers from bosses, but also no pendant/crystal drop.


Or at 2EF4C to EA EA, but again no treasure drop.

No idea how Euclid made it to drop pendants/crystals in PW while no heart container from boss?

@Euclid

wizzrobemaster
Ganon
Ganon

Since : 2015-01-04

Back to top Go down

Re: Wizzrobemaster's Burning Questions

Post by wizzrobemaster on Sat 17 Mar 2018 - 2:20

I think there is a misconception going on. my comments may sound stupid, but I am not trolling. I was being legit with my questions because I want to work on my hack.

wizzrobemaster
Ganon
Ganon

Since : 2015-01-04

Back to top Go down

Re: Wizzrobemaster's Burning Questions

Post by Conn on Sat 17 Mar 2018 - 8:44

There are a number of points you may want to change:
- there's no need to comment every post with content not affecting you with not needed infos (like somebody has a sd2snes problem and you say, I am using zsnes)

- politness is a key:
-- your posts sound like demands, it is OUR time to trace your stuff
-- mostly (never?) there is not a simple "Thank you" after we helped you out.
avatar
Conn



Since : 2013-06-30

Back to top Go down

Re: Wizzrobemaster's Burning Questions

Post by Conn on Sat 17 Mar 2018 - 9:01

Regarding your
where is asm data that prevents bosses from dropping hearts?
This is a demand. Better form: Does anybody know whether there is a asm to prevent bosses from dropping hearts? I'd like to have that in my hack, because... ....

@Euclid

Polite form: Euclid, could you please help me here, I am lost...

I found this asm in Conker asm SePH provided
source: [You must be registered and logged in to see this link.]

Code:

lorom

; Apply this patch to a HEADERLESS Zelda 3 ROM!

;********************************************************
; Bosshearts v1.1 - By Reshaper256
;
;(specifically made for use in GameMakr24's Quest for Calatia)
;
; Original Release: 05/22/2005 - v1.0
;      
; Version History: 05/27/2005 - v1.1
;
; Purpose:     To make it so every boss which holds a pendant or crystal
;              drops a heart piece instead of a heart container. When the
;              heart piece is collected, the pendant/crystal then falls into
;       the room.
;
; Directions:  To apply this patch you will need an SNES assembler. I      
;              recommend Xkas, which can be found at
;              <http://byuu.cinnamonpirate.com> under utilities.
;
; Contact:     Email me at <jajomart@gmail.com> if you have any questions or
;              bugs to report.
;
;
;********************************************************
; Bosshearts Part 1 - Heart Containers --> Heart Pieces
;      
;********************************************************

org $05A079

 db $EB ; Changes the item dropped by the Armos Knights boss from a
 ; heart container to a heart piece.

org $05A538

   db $EB ; Changes the item dropped by the Lanmolas boss from a heart
 ; container to a heart piece.

org $09EE50

 db $EB ; Changes the item dropped by the Moldorm, King Helmasaur,
 ; Arrghus, Mothula, Blind the Thief, Kholdstare, Vitreous,
 ; and Trinexx bosses from a heart container to a heart piece.
 ; So yeah, this covers all the rest of the bosses that drop
 ; heart containers - I checked.
 

;********************************************************
; Bosshearts Part 2 - Still Drop the Treasure
;      
;********************************************************

org $05F006

 db $C0, $A0 ; This change is important, because the game will
 ; not drop the pendants/crystals if don't tell the
 ; game to set the high bit of $0403 in RAM.
 ;
 ; You'd be stuck... but not anymore, cuz now they
 ; include the high bit so the treasure still drops.

org $08CA99

 NOP #$7 ; This code originally conflicted with some heart
 ; pieces setting bit 6 in $0403 when you picked
 ; them up, because for some reason the game would
 ; check that bit and decide it shouldn't drop the
 ; treasure.  I couldn't find the reason why the game
 ; originally made this check, so I just NOPed out
 ; the problem.  If anyone can find a bug this
 ; creates, please report it.


;********************************************************
; Bosshearts Part 3 - Minibosses Don't Drop Heart Pieces
;      
;********************************************************

org $06C0A3

 JSL $07FD00 ; JSL to my hook to check if we're in a miniboss
 ; room, and kill the heart piece if we are.

org $07FD00

 PHP ; Push the processor status onto the stack.

 REP #$20

 PHX ; Push X onto the stack.
 
 LDX #$04 ; Want to add more minibosses to the game?  Subtract
 ; 1 from the total number of miniboss rooms in the
 ; game, multiply by 2, and stick that value here in
 ; the place of the #$04.  Then, go down to the
 ; MINIBOSSTABLE and add their room numbers to it.

BRANCH_MINIBOSSCHECK:

 LDA $A0 ; Load the current room number.
 
 CMP MINIBOSSTABLE, X ; Check against current value in the
 ; MINIBOSSTABLE

 BEQ BRANCH_ROOMMATCH ; Was it the same value?

 DEX : DEX ; No, so get ready to check the next value
 ; on the list...

 BPL BRANCH_MINIBOSSCHECK ; But was that the last room number
 ; we need to check against? If no,
 ; back to the beginning of the loop!
 ; If yes, we're done checking -
 ; we're not in a miniboss room!
 
 PLX ; Pull X back off the stack.

 PLP ; Pull the processor status back off the stack.

 JSL $05F018 ; JSL to the normal heart piece routine...

 RTL ; And return from everything, we're done!

BRANCH_ROOMMATCH: ; We're in a miniboss room...

 PLX ; Pull X back off the stack

 PLP ; Pull the processor status back off the stack

 STZ $0DD0, X ; ...So we kill off the heart piece being dropped
 ; from the boss before the heart piece even
 ; appears...

 RTL ; ...And return from everything, we're done!

MINIBOSSTABLE:

 dw $001C, $006C, $004D ; These are just the room numbers of the
 ; minibosses. You can edit them, or even add
 ; more - just be sure to change the LDX #$04
 ; above also, as the instructions beside it
 ; explain.


; End of 'Bosshearts' patch


; Known Issues:
;
; - The heart piece seems to fly higher in the air than the heart
;  container did before falling back to the ground. O_o
;
; - There seems to be a slight delay in how long it takes the pendant
;  or crystal to fall down after exiting the 'you just stepped on a
;  heart piece' message - hey, at least it falls.
;      
; - If you receive your 'fourth' heart piece, Link holds a full heart
;         over his head.  The pendant/crystal will appear, but not fall, and
;         it will have heart container GFX until Link puts the full heart
;         container he was holding away. Then the treasure falls down.  
;  Apparently they share the same GFX location.  You won't even see
;  how that the treasure looks like a heart unless this happens at
;  the end of the Moldorm boss fight, because otherwise it will be
;  out of sight at the top of the screen when its GFX is the same as
;  the heart container in Link's hand.
;
; - The pendants and crystals don't seem to be as easy to pick up
;         after applying this patch.  The collision isn't as forgiving, but
;  you can still pick them up if you walk directly into them like
;  you would any other item.
;
; - The heart pieces don't have the 'standing in shallow water' GFX
;  when they're in shallow water.
;
;
; Edit Log:
;
; v1.1 - I realized that it was possible to have the values in part 2
;       of the patch set both the original bits of $0403 and the high
;              bit as well.  This caused a problem with the pendant/crystal
;       drop sequence, which I NOPed out.  I also added a routine that
;       fixes the problem with minibosses dropping heart pieces.



So your question to Euclid, as far I understand...
Puzz wrote:
No idea how Euclid made it to drop pendants/crystals in PW while no heart container from boss?

This asm tells:

org $05F006

db $C0, $A0 ; This change is important, because the game will
; not drop the pendants/crystals if don't tell the
; game to set the high bit of $0403 in RAM.
;
; You'd be stuck... but not anymore, cuz now they
; include the high bit so the treasure still drops.


This is done in Puzz hex code here:
at 120000,
AD 03 04 09 80 8D 03 04 22 5F F6 1D 6B
LDA $0403, ORA #$80 (set high bit), STA $0403
avatar
Conn



Since : 2013-06-30

Back to top Go down

Re: Wizzrobemaster's Burning Questions

Post by wizzrobemaster on Sat 17 Mar 2018 - 10:00

Puzzle informed me that there is still a missing piece to the code, but he is close to it.


Last edited by wizzrobemaster on Sat 17 Mar 2018 - 10:08; edited 1 time in total

wizzrobemaster
Ganon
Ganon

Since : 2015-01-04

Back to top Go down

Re: Wizzrobemaster's Burning Questions

Post by wizzrobemaster on Sat 17 Mar 2018 - 10:02

anyway when someone was having an issue, because i never used the other emulator, I was trying to help by saying I run zsnes, which I thought would be an indicator to change emulators. i was not there to brag. anyway i never realized i did not say thank you afterwards.

wizzrobemaster
Ganon
Ganon

Since : 2015-01-04

Back to top Go down

Re: Wizzrobemaster's Burning Questions

Post by Puzzledude on Sat 17 Mar 2018 - 10:22

This is done in Puzz hex code here:
at 120000,
AD 03 04 09 80 8D 03 04 22 5F F6 1D 6B
LDA $0403, ORA #$80 (set high bit), STA $0403
If we implement this to ALTTP, bosses still drop heart containers. As soon as the EA EA comes in, they drop nothing, but no crystal drop even if above code is in.

org $05F006

db $C0, $A0 ; This change is important, because the game will
; not drop the pendants/crystals if don't tell the
; game to set the high bit of $0403 in RAM.
;
; You'd be stuck... but not anymore, cuz now they
; include the high bit so the treasure still drops.
If you write C0 A0 here, the crystal will drop, but only if the boss will drop a heartpiece. If boss drops nothing or for instance 5 rupees, still no crystal drop.
So it seems we are still missing something.

Personally I don't need this, since dropping heart containers by the boss is a welcomed way of increasing your health gradually, as opposed to uneven increase of PW by multiple heart pieces.

The only thing I would need is reversed, to drop heart containers in PW, and I can already do that, since the reverse process works.


Last edited by Puzzledude on Sat 17 Mar 2018 - 10:36; edited 1 time in total
avatar
Puzzledude



Since : 2012-06-20

Back to top Go down

Re: Wizzrobemaster's Burning Questions

Post by Puzzledude on Sat 17 Mar 2018 - 10:30

I think there is a misconception going on. my comments may sound stupid, but I am not trolling. I was being legit with my questions because I want to work on my hack.
Your main problem is something called articulation. You are simply bad a "asking question the smart way". Your ideas of "opened world" hack is also not what players would want, as this has even less edits than a master quest and basically ruins the logical gameplay of the game. Any Zelda game will have a sequence of gaining elements and will block certain parts of overworld, so that the player can progress normally.

"Open world" hacks and "randomizers" and "master quests" are thus a bad idea and are meant for beginners, who just want to try some things out with the rom.

The main focus of any hacker and the goal of real romhacking are so called complete hacks, with dungeon, overworld, gfx, hex, txt etc edits, which is essentially a new game based on the same engine as the original game.
avatar
Puzzledude



Since : 2012-06-20

Back to top Go down

Re: Wizzrobemaster's Burning Questions

Post by wizzrobemaster on Sat 17 Mar 2018 - 11:46

yes, but some gates are unnecessary which is why i am removing them.  i figured that because zelda 1 had the open world level design i would do the same. besides i do have plans of making a second quest.

the first quest will be more open while the second quest will be closer to what zelda 1 was like where dungeons have more obstacles in between. you can still explore freely but most of the gates will be concealed by secret entrances and tough enemies.

from the start, you still need to find items, but they are not found in dungeons. i also made a mini-dungeon so it is not like i have no significant changes made. i also want to edit the desert temple and tower of hera because they are very underwhelming.


Last edited by wizzrobemaster on Sat 17 Mar 2018 - 11:56; edited 1 time in total

wizzrobemaster
Ganon
Ganon

Since : 2015-01-04

Back to top Go down

Re: Wizzrobemaster's Burning Questions

Post by wizzrobemaster on Sat 17 Mar 2018 - 11:49

so is there an additional asm in PW that allows this to work?  you said the coding is opposite right?  

also the heart drop being mandatory was only in this game and link's awakening. it takes away the ability to perform a 3 heart challenge.  if anything, it makes the game too safe.

anyway one idea i have is to have boss rooms where they have the mini-boss status and defeating them leads to another room with a chest that contains a heart container.

wizzrobemaster
Ganon
Ganon

Since : 2015-01-04

Back to top Go down

Re: Wizzrobemaster's Burning Questions

Post by wizzrobemaster on Sat 17 Mar 2018 - 12:10

would sending the asm from JP rom be of any help or would that be too difficult to translate?

wizzrobemaster
Ganon
Ganon

Since : 2015-01-04

Back to top Go down

Re: Wizzrobemaster's Burning Questions

Post by Conn on Sat 17 Mar 2018 - 12:20

@ Puzz, is this what you want?

Code:

;asm to skip boss Heart Container drop, directly drops pendant/crystal

lorom

org $05A078
LDA #$80
STA $0403
NOP

org $05A537
LDA #$80
STA $0403
NOP

org $09EE4f
LDA #$80
STA $0403
NOP
 

avatar
Conn



Since : 2013-06-30

Back to top Go down

Re: Wizzrobemaster's Burning Questions

Post by wizzrobemaster on Sat 17 Mar 2018 - 12:23

Conn will that work by combining the data with what puzz posted? also where should i post the asm? should i use lunar address to translate?

wizzrobemaster
Ganon
Ganon

Since : 2015-01-04

Back to top Go down

Re: Wizzrobemaster's Burning Questions

Post by Conn on Sat 17 Mar 2018 - 12:28

No, it is a completely different solution, apply on fresh rom. Also I didn't test much, only the first Dungeon with the first boss. He will not drop a HC anymore but directly the pendant. If you experince problems come back at me.

If you do not know how to use xkas, I recommend making familiar with it, I posted the ips patch below.

Edit:
I used those 3 addresses Reshaper256 found for the boss HC drop.
I stored directly #$80 to $0403 (while Euclid used ORA #$80, which saves the lower bits from overwriting). Looking into MoN's ram log:

$0403[0x01] -   Contains room information, such as whether the boss in this room
               has been defeated. Loaded on every room load according to map
               information that is stored as you play the game.
               
               Bit 0: Chest 1
               Bit 1: Chest 2
               Bit 2: Chest 3
               Bit 3: Chest 4
               Bit 4: Chest 5
               Bit 5: Chest 6 / A second Key. Having 2 keys and 6 chests will cause conflicts here.
               Bit 6: A key has been obtained in this room.
               Bit 7: Heart Piece has been obtained in this room.
this overwrite by me (lda #$80) will only cause conflicts if you store chests into a boss room. I could make the ORA #$80 solution by hijacking the code (hook), but it appears not necessary, since there are never chests on boss rooms, right?
avatar
Conn



Since : 2013-06-30

Back to top Go down

Re: Wizzrobemaster's Burning Questions

Post by wizzrobemaster on Sat 17 Mar 2018 - 12:36

Conn thank you so much for this patch. I can finally continue further with the hack. Hopefully my idea of having mini boss replicas appear will work which will be the alternative for heart containers. they could be shrines like in breath of the wild.

wizzrobemaster
Ganon
Ganon

Since : 2015-01-04

Back to top Go down

Re: Wizzrobemaster's Burning Questions

Post by wizzrobemaster on Sat 17 Mar 2018 - 12:37

anyway conn, there are never chests in a boss room, but puzz said it would not work out that easily (although Karkat informed it is possible but difficult). if it is not possible for chests, then I will go with the shrine route instead.

wizzrobemaster
Ganon
Ganon

Since : 2015-01-04

Back to top Go down

Re: Wizzrobemaster's Burning Questions

Post by Conn on Sat 17 Mar 2018 - 12:39

Conn thank you so much for this patch.
Oh wow, the first "thanks" by you Very Happy - you're welcome!

My code does not cover the minibosses
;********************************************************
; Bosshearts Part 3 - Minibosses Don't Drop Heart Pieces
;      
;********************************************************
I do not even remeber right now where minibosses that drop hc containers are in ALTTP?
So if this part of Reshaper's code is also something you need, come back at me Wink

If you don't need chests in boss rooms, don't go for it!
avatar
Conn



Since : 2013-06-30

Back to top Go down

Re: Wizzrobemaster's Burning Questions

Post by Sponsored content


Sponsored content


Back to top Go down

Page 1 of 3 1, 2, 3  Next

Back to top


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