Parallel Worlds Menu

View previous topic View next topic Go down

Parallel Worlds Menu

Post by qwertymodo on Mon 13 Jun 2016 - 13:50

Does anybody know where the item menu routine is located in PW? I'm wanting to change it so that the time is not displayed during part 0 and 1 (during the rainy night, up until bringing Zelda to the church). The reason for this being that I've modified the day/night cycle hack so that time is stopped at midnight during that part of the game, so no matter how long you take, you don't end up having the sun come up when it's supposed to still be night time. The only downside of this is that you have the pause menu clock that ends up looking weird as a result. I did manage to find the code for setting the display time so I could hijack it and always display 0:00 instead of counting up to 0:59 and resetting, which is what's actually happening behind the scenes (since the palette only changes on the hour, it was better to only add the check there so it didn't have to execute as often). However, if at all possible, it would be nice to completely black out the clock in the menu at that point instead.
avatar
qwertymodo



Since : 2014-10-21

Back to top Go down

Re: Parallel Worlds Menu

Post by Euclid on Wed 15 Jun 2016 - 3:29

i don't have my notes with me, but you can find where it is by break pointing writes into $1100-$1600 area (1100 is the top left tile in the hud)

EDIT:
Here you go

00000000111111112222222233333333
02468ACE02468ACE02468ACE02468ACE
1100
1140 /--------\ /--------\
1180 |TI HH:mm| |2d quest|
11C0 /\========/--------\========/\

Code:


$0D/E9C7 AF 00 E0 7E LDA $7EE000[$7E:E000]  A:EC31 X:0014 Y:0006 P:envmxdiZC <--- load time (hour
$0D/E9CB 29 FF 00    AND #$00FF              A:1200 X:0014 Y:0006 P:envmxdizC
$0D/E9CE 20 F7 F0    JSR $F0F7  [$0D:F0F7]  A:0000 X:0014 Y:0006 P:envmxdiZC <--- call hex -> int routine
$0D/E9D1 C2 30      REP #$30                A:0090 X:00FF Y:00FE P:eNvMXdizc
$0D/E9D3 A5 05      LDA $05    [$00:0005]  A:0090 X:00FF Y:00FE P:eNvmxdizc
$0D/E9D5 29 FF 00    AND #$00FF              A:9090 X:00FF Y:00FE P:eNvmxdizc
$0D/E9D8 09 00 24    ORA #$2400              A:0090 X:00FF Y:00FE P:envmxdizc
$0D/E9DB 8D 8C 11    STA $118C  [$0D:118C]  A:2490 X:00FF Y:00FE P:envmxdizc <--- hour / 10
$0D/E9DE A5 06      LDA $06    [$00:0006]  A:2490 X:00FF Y:00FE P:envmxdizc
$0D/E9E0 29 FF 00    AND #$00FF              A:0090 X:00FF Y:00FE P:envmxdizc
$0D/E9E3 09 00 24    ORA #$2400              A:0090 X:00FF Y:00FE P:envmxdizc
$0D/E9E6 8D 8E 11    STA $118E  [$0D:118E]  A:2490 X:00FF Y:00FE P:envmxdizc <--- hour % 10
$0D/E9E9 AF 01 E0 7E LDA $7EE001[$7E:E001]  A:2490 X:00FF Y:00FE P:envmxdizc <--- load time (minute)
$0D/E9ED 29 FF 00    AND #$00FF              A:3112 X:00FF Y:00FE P:envmxdizc
$0D/E9F0 20 F7 F0    JSR $F0F7  [$0D:F0F7]  A:0012 X:00FF Y:00FE P:envmxdizc <--- call hex -> int routine
$0D/E9F3 C2 30      REP #$30                A:0090 X:00FF Y:00FE P:eNvMXdizC
$0D/E9F5 A5 05      LDA $05    [$00:0005]  A:0090 X:00FF Y:00FE P:eNvmxdizC
$0D/E9F7 29 FF 00    AND #$00FF              A:9891 X:00FF Y:00FE P:eNvmxdizC
$0D/E9FA 09 00 24    ORA #$2400              A:0091 X:00FF Y:00FE P:envmxdizC
$0D/E9FD 8D 92 11    STA $1192  [$0D:1192]  A:2491 X:00FF Y:00FE P:envmxdizC  <--- minute / 10
$0D/EA00 A5 06      LDA $06    [$00:0006]  A:2491 X:00FF Y:00FE P:envmxdizC
$0D/EA02 29 FF 00    AND #$00FF              A:0098 X:00FF Y:00FE P:envmxdizC
$0D/EA05 09 00 24    ORA #$2400              A:0098 X:00FF Y:00FE P:envmxdizC
$0D/EA08 8D 94 11    STA $1194  [$0D:1194]  A:2498 X:00FF Y:00FE P:envmxdizC  <--- minute % 10
$0D/EA0B A9 7C 25    LDA #$257C              A:2498 X:00FF Y:00FE P:envmxdizC
$0D/EA0E 8D 86 11    STA $1186  [$0D:1186]  A:257C X:00FF Y:00FE P:envmxdizC
$0D/EA11 A9 7D 25    LDA #$257D              A:257C X:00FF Y:00FE P:envmxdizC
$0D/EA14 8D 88 11    STA $1188  [$0D:1188]  A:257D X:00FF Y:00FE P:envmxdizC
$0D/EA17 A9 7F 25    LDA #$257F              A:257D X:00FF Y:00FE P:envmxdizC
$0D/EA1A 8D 90 11    STA $1190  [$0D:1190]  A:257F X:00FF Y:00FE P:envmxdizC
$0D/EA1D 60          RTS                    A:257F X:00FF Y:00FE P:envmxdizC

If you really want to just hook your code off EA0B or afterwards and override the HH:mm ram in the space above. That'll be 118C 118E, 1192 and 1194 with #$2490 (digit 0) and you'll get 00:00 as display.
avatar
Euclid



Since : 2012-06-21

Back to top Go down

Re: Parallel Worlds Menu

Post by qwertymodo on Mon 1 Aug 2016 - 20:16

Ok, so it looks like what I need to do is set $1186-95 to #$2CF5 to blank out that box (as opposed to 00:00).  Thanks for the code locations, I'll get that in there.

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



Since : 2014-10-21

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