Is it possible to disable the start menu until you get your first item?

View previous topic View next topic Go down

Is it possible to disable the start menu until you get your first item?

Post by SePH on Mon 14 Oct 2013 - 23:49

I have been thinking about something! Since my menu is an iphone and so unconventional in a zelda game, why not disable it until you get your first item in the game? Something like:

-Start a new game = Menu Disabled
-Find a large crate in your way.
-Inside lies a brand new iphone and a baseball bat.
-You pick up both as they might come in handy later!
-Menu enabled

We could also remove the flashlight/lamp when starting my hack and if possible make the L and R menu icons appear only after you get your first usable item!

(that's because you cant use the L and R screens before you get your first items --swords, shields etc.. don't count!)
avatar
SePH



Since : 2012-06-19

Back to top Go down

Re: Is it possible to disable the start menu until you get your first item?

Post by Erockbrox on Tue 15 Oct 2013 - 5:44

Don't worry Conn, I can handle this one by myself.

Yes, this is possible.

Normally the Menu will always come down so we need to prevent this.

You will need this free space 11/6000 - 11/8000, some extra bytes will be stored there.

The code will have to be executed before Link's waking scene when he gets out of bed.

7d/f37b-01 , 7d/f37b-02 //allows menu to happen

You will need a hook to make stop the menu from happening.

This is the ASM you need.

org $078a4d ; jsl to main code
jsl $0dfbc0


org $0efba0 ; main code
STA $06E4,x ; load value of menu
TAY
LDA $008C Disabled: check if menu is on screen or not
BNE $01; branch if menu not used
RTL
LDA $03A3; load menu value
CMP #$06; compare with actual value
BEQ $01; branch if menu is being used
RTL; return

CPX #$04 ; check to see if player has 1 item or not
BEQ $01; if player has one item then branch
RTL; return
LDA $03E8 ; check to see if menu can come down
CMP #$08; menu checks value to and compares it to see if you have at least one item
BEQ $08
LDA $03E8 ; checks all items in inventory
CMP #$03; compare their values
BEQ $01, if it finds one item then it lets you drop down the menu!
RTL

YES, my first working piece of ASM! I finally got it!!!
avatar
Erockbrox



Since : 2013-02-05

Back to top Go down

Re: Is it possible to disable the start menu until you get your first item?

Post by Conn on Tue 15 Oct 2013 - 7:11

You're quick learner... can't say whether it will work but
CMP #$03; compare their values
BEQ $01, if it finds one item then it lets you drop down the menu!
RTL
this will surely break when it branches over the rtl.

Also
jsl $0dfbc0
org $0efba0
seems strange since you put the main code to another place as your jsl points to.

Further:
7d/f37b-01 is not valid. You may have meant 7e/f37b, but this is magic meter level.


Here's my solution:
Code:
org $0288E4
jsr $FFD0

org $02ffd0
ldx $20           ; $1f items: 7e/f340-7ef35f. Branches at x=00 so we need $20 instead of $1f
lda $7ef33f,x   ; check items $40-$5f to have a value
bne $0e           ; if one has a value branch 0e bytes
dex                 ; decrease x
cpx #$00        ; compare if x has reached the last item check at 7e/f340
bne $f5           ; loop to check next item, as soon x has 00 all items were checked continue
lda #$01         ; you land here if no items (all 00)
sta $0ffc        ; disable menu by storing 01 to $0ffc
ora $0ffc        ; native code
rts                ; return to game
stz $0ffc     ; the bne $0e brings us here if you have an item: enable menu down
lda $0112   ; regain native value
ora $0ffc      ; execute native code
rts
I'll check to make the R/L button work now SePH and send you the code.
Edit: already done and code sent Wink
avatar
Conn



Since : 2013-06-30

Back to top Go down

Re: Is it possible to disable the start menu until you get your first item?

Post by SePH on Tue 15 Oct 2013 - 13:39

@ Erock: Wow I seriously didn't expect this lol Good one Smile

@Conn: I may need to disable the lamp from startup as you made an asm patch a while back that made me start with it permanently.. and it doesn't have anything to do with the 274D0 hex address found by Puzzledude. That's my guess!

Otherwise awesome work to both of you guys and Erock, practice makes you better! You already know more then I do, so don't give up and you might be the next Conn in a few years Wink
avatar
SePH



Since : 2012-06-19

Back to top Go down

Re: Is it possible to disable the start menu until you get your first item?

Post by Erockbrox on Tue 15 Oct 2013 - 14:37

Oh gosh guys.......

I don't think either one of you got it.

I was just pretending to know ASM! LOL

That's actually Conn's ice-rod water freeze code only commented to make it look like its for the menu!! HAHAH

I was trying to pass off that I did some ASM! It was a joke and was supposed to be funny! Smile

But I do hope to learn ASM someday.
avatar
Erockbrox



Since : 2013-02-05

Back to top Go down

Re: Is it possible to disable the start menu until you get your first item?

Post by moegami on Tue 15 Oct 2013 - 14:52

If this is done you should be able to pause the game during that time still, even if its just like really primitive freezing the screen? I like the idea of finding the menu since its an iphone.

@Erock You had me going there too I was seriously surprised lel
avatar
moegami



Since : 2013-07-04

http://zeniea.com

Back to top Go down

Re: Is it possible to disable the start menu until you get your first item?

Post by Erockbrox on Tue 15 Oct 2013 - 15:05

And don't forget that you can still press Select and bring up a menu as well, this actually pauses the game. I believe its a save or quit menu.

So will you prevent both menus from coming up or only just one? The Start button or the Select button or both?
avatar
Erockbrox



Since : 2013-02-05

Back to top Go down

Re: Is it possible to disable the start menu until you get your first item?

Post by Conn on Tue 15 Oct 2013 - 15:46

And I just started wondering whether I get concurrence ^^

Just checked - it also disables the select. So saving isn't possible.

SePH, you need to adjust your srm modifier asm:
lda #$0001
sta $70034a
gives you the lantern, just delete it and run the asm again.

if you've lost it then disabling
06/7fc6: a9 01 00 9f 4a 03 70 -> ea ea ea ea ea ea ea
will do the job as well.

avatar
Conn



Since : 2013-06-30

Back to top Go down

View previous topic View next topic Back to top


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