• Login
  • Register
  • Dolphin Forums
  • Home
  • FAQ
  • Download
  • Wiki
  • Code


Dolphin, the GameCube and Wii emulator - Forums › Game Modifications › Cheats, Hacks, & Game Patches v
« Previous 1 2 3 4 5 ... 18 Next »

AR Coding With Admentus
View New Posts | View Today's Posts

Pages (10): 1 2 3 4 5 ... 10 Next »
Jump to page 
Thread Rating:
  • 2 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Thread Modes
AR Coding With Admentus
08-08-2019, 08:06 PM (This post was last modified: 08-08-2019, 08:15 PM by Admentus.)
#1
Admentus Offline
Nothing but perfection for gaming
*******
Posts: 1,971
Threads: 25
Joined: May 2015
This will be where I will update my work in progress on AR coding for several titles.

Currently, I work on AR coding for the following titles:
- The Legend of Zelda: Ocarina of Time - Master Quest (D43E01) (USA) (GC)
- The Legend of Zelda: Collector's Edition (PZLE01) (USA) (GC)
- Super Mario 64 (NAAE01) (USA) (VC)
- Super Smash Bros. (NALE01) (USA) (VC)
- Mario Kart 64 (NABE01) (USA) (VC)

Perhaps in the future, I extend my work on AR coding towards these following titles and regions as well:
- The Legend of Zelda: Ocarina of Time - Master Quest (D43P01) (EUR) (GC)
- The Legend of Zelda: Collector's Edition (PZLP01) (EUR) (GC)
- The Legend of Zelda: Ocarina of Time (NACE01) (USA) (VC)
- The Legend of Zelda: Ocarina of Time (NACP01) (EUR) (VC)
- The Legend of Zelda: Majora's Mask (NARE01) (USA) (VC)
- The Legend of Zelda: Majora's Mask (NARP01) (EUR) (VC)
- Super Mario 64 (NAAP01) (EUR) (VC)
- Super Smash Bros. (NALP01) (EUR) (VC)
- Mario Kart 64 (NABP01) (EUR) (VC)

But that's just my love for the Nintendo 64. If I ever find the time for it, I might work with some GameCube or Wii titles as well. Mostly the Mario or Zelda series, keep in mind.

Feel free to leave me any suggestions or requests. I can't promise however I will follow through with it. If you have any feedback or want to report any issues, feel free to share that too.
Super Mario 64 - Super Smash Bros. 64 - Mario Kart 64 - Zelda 64 - Star Fox 64 - Patreon - Discord
Find
Reply
08-08-2019, 08:10 PM (This post was last modified: 08-08-2019, 08:15 PM by Admentus.)
#2
Admentus Offline
Nothing but perfection for gaming
*******
Posts: 1,971
Threads: 25
Joined: May 2015
To kick this off and continue where I left previously:

Code:
$Ocarina of Time -> 30 FPS Switch (Part 2) (AR Code) (D43E01)
D0BE2B5F 000000FF
C8CA0655 00000000
08002FC2 00000001
00C8E841 00000003
C8002FC2 00000000
00C8E841 00000002
0ABAE73E 00000100
00C8E841 00000003
0AC904C0 00000001
00C8E841 00000003
0ACA2290 0000100B
00C8E841 00000003
0ACA241E 00002708
00C8E841 00000003
4ACA231E 0000FF08
08CA2276 00000000
00C8E841 00000003
08CA28DC 00000020
00C8E841 00000002
08BC7938 00000001
00C8E841 00000002
C8C8E841 00000002
0ABB7200 0000000A
02BB7200 00000007
0ACA241E 00002900
02CA22DC 0000BF34
0ACA241E 00002950
02CA22DC 0000BF34
0ACA241E 00002968
04CA2430 3F4CCCCD
0ACA241E 00002970
04CA2430 3F4CCCCD
0ACA241E 00002988
02CA22DC 0000BF34
0ACA241E 000029D0
02CA22DC 0000BF34
0ACA241E 00002A80
04CA2430 3F4CCCCD
0ACA241E 00002A90
04CA2430 3F4CCCCD
0ACA241E 00003148
02CA22DC 0000BF34
0ACA2AC0 000000C8
02002FC4 00000000
4ACA2AC0 00000034
0A002FC4 00000001
02CA2AC0 00000031
0ACA2AC0 00000033
02002FC4 00000001
0ACA2AC0 00000032
02CA2AC0 00000099

$Ocarina of Time -> 30 FPS Switch (Part 3) (AR Code) (D43E01)
C8C8E841 00000002
C8CA0655 00000000
08BE2BD7 00000000
00003FC0 00000000
88003FC0 00000000
08BE3181 00000000
00003FC0 00000001
08BE3181 00000002
00003FC0 00000003
08BE3181 00000004
00003FC0 00000005
08BE3181 00000006
00003FC0 00000007
08BE3181 00000008
00003FC0 00000009
00000000 40000000
B8003FC0 00000001
80003FC0 00000001
08BE2BD7 00000004
80BE2BD9 00000001
08BE2BD7 00000008
80BE2BD9 00000001
08BE2BD7 0000000E
80BE2BD9 000000FF
00000000 40000000
88BE2BD7 00000004
48003FC0 00000004
08BE3181 00000001
00003FC0 00000000
48003FC0 00000006
08BE3181 00000003
00003FC0 00000000
48003FC0 00000008
08BE3181 00000005
00003FC0 00000000
48003FC0 0000000A
08BE3181 00000007
00003FC0 00000000
48003FC0 00000002
08BE3181 00000009
00003FC0 00000000
00000000 40000000
88BE2BD7 00000008
48003FC0 00000004
08BE3181 00000001
00003FC0 00000000
48003FC0 00000006
08BE3181 00000003
00003FC0 00000000
48003FC0 00000008
08BE3181 00000005
00003FC0 00000000
48003FC0 0000000A
08BE3181 00000007
00003FC0 00000000
48003FC0 00000002
08BE3181 00000009
00003FC0 00000000
00000000 40000000
88BE2BD7 0000000E
48003FC0 00000002
08BE3181 00000001
00003FC0 00000000
48003FC0 00000004
08BE3181 00000003
00003FC0 00000000
48003FC0 00000006
08BE3181 00000005
00003FC0 00000000
48003FC0 00000008
08BE3181 00000007
00003FC0 00000000
48003FC0 0000000A
08BE3181 00000009
00003FC0 00000000
00000000 40000000

Code:
$Master Quest -> 30 FPS Switch (Part 2) (AR Code) (D43E01)
D0BE2B3F 000000FF
C8CA0615 00000000
08002FC2 00000001
00C8E801 00000003
C8002FC2 00000000
00C8E801 00000002
0ABAE71E 00000100
00C8E801 00000003
0AC90480 00000001
00C8E801 00000003
0ACA2250 0000100B
00C8E801 00000003
0ACA23DE 00002708
00C8E801 00000003
4ACA22DE 0000FF08
08CA2236 00000000
00C8E801 00000003
08CA289C 00000020
00C8E801 00000002
08BC7918 00000001
00C8E801 00000002
C8C8E801 00000002
0ABB71E0 0000000A
02BB71E0 00000007
0ACA23DE 00002900
02CA229C 0000BF34
0ACA23DE 00002950
02CA229C 0000BF34
0ACA23DE 00002968
04CA23F0 3F4CCCCD
0ACA23DE 00002970
04CA23F0 3F4CCCCD
0ACA23DE 00002988
02CA229C 0000BF34
0ACA23DE 000029D0
02CA229C 0000BF34
0ACA23DE 00002A80
04CA23F0 3F4CCCCD
0ACA23DE 00002A90
04CA23F0 3F4CCCCD
0ACA23DE 00003148
02CA229C 0000BF34
0ACA2A80 000000C8
02002FC4 00000000
4ACA2A80 00000034
0A002FC4 00000001
02CA2A80 00000031
0ACA2A80 00000033
02002FC4 00000001
0ACA2A80 00000032
02CA2A80 00000099

$Master Quest -> 30 FPS Switch (Part 3) (AR Code) (D43E01)
C8C8E801 00000002
C8CA0615 00000000
08BE2BB7 00000000
00003FC0 00000000
88003FC0 00000000
08BE3161 00000000
00003FC0 00000001
08BE3161 00000002
00003FC0 00000003
08BE3161 00000004
00003FC0 00000005
08BE3161 00000006
00003FC0 00000007
08BE3161 00000008
00003FC0 00000009
00000000 40000000
B8003FC0 00000001
80003FC0 00000001
08BE2BB7 00000004
80BE2BB9 00000001
08BE2BB7 00000008
80BE2BB9 00000001
08BE2BB7 0000000E
80BE2BB9 000000FF
00000000 40000000
88BE2BB7 00000004
48003FC0 00000004
08BE3161 00000001
00003FC0 00000000
48003FC0 00000006
08BE3161 00000003
00003FC0 00000000
48003FC0 00000008
08BE3161 00000005
00003FC0 00000000
48003FC0 0000000A
08BE3161 00000007
00003FC0 00000000
48003FC0 00000002
08BE3161 00000009
00003FC0 00000000
00000000 40000000
88BE2BB7 00000008
48003FC0 00000004
08BE3161 00000001
00003FC0 00000000
48003FC0 00000006
08BE3161 00000003
00003FC0 00000000
48003FC0 00000008
08BE3161 00000005
00003FC0 00000000
48003FC0 0000000A
08BE3161 00000007
00003FC0 00000000
48003FC0 00000002
08BE3161 00000009
00003FC0 00000000
00000000 40000000
88BE2BB7 0000000E
48003FC0 00000002
08BE3161 00000001
00003FC0 00000000
48003FC0 00000004
08BE3161 00000003
00003FC0 00000000
48003FC0 00000006
08BE3161 00000005
00003FC0 00000000
48003FC0 00000008
08BE3161 00000007
00003FC0 00000000
48003FC0 0000000A
08BE3161 00000009
00003FC0 00000000
00000000 40000000

Code:
$Ocarina of Time -> 30 FPS Switch (Part 2) (AR Code) (PZLE01)
D0BE15DF 000000FF
C8C9F0D5 00000000
08002FC2 00000001
00C8D2C1 00000003
C8002FC2 00000000
00C8D2C1 00000002
0ABAD1BE 00000100
00C8D2C1 00000003
0AC8EF40 00000001
00C8D2C1 00000003
0ACA0D10 0000100B
00C8D2C1 00000003
0ACA0E9E 00002708
00C8D2C1 00000003
4ACA0D9E 0000FF08
08CA0CF6 00000000
00C8D2C1 00000003
08CA135C 00000020
00C8D2C1 00000002
08BC63B8 00000001
00C8D2C1 00000002
C8C8D2C1 00000002
0ABB5C80 0000000A
02BB5C80 00000007
0ACA0E9E 00002900
02CA0D5C 0000BF34
0ACA0E9E 00002950
02CA0D5C 0000BF34
0ACA0E9E 00002968
04CA0EB0 3F4CCCCD
0ACA0E9E 00002970
04CA0EB0 3F4CCCCD
0ACA0E9E 00002988
02CA0D5C 0000BF34
0ACA0E9E 000029D0
02CA0D5C 0000BF34
0ACA0E9E 00002A80
04CA0EB0 3F4CCCCD
0ACA0E9E 00002A90
04CA0EB0 3F4CCCCD
0ACA0E9E 00003148
02CA0D5C 0000BF34
0ACA1540 000000C8
02002FC4 00000000
4ACA1540 00000034
0A002FC4 00000001
02CA1540 00000031
0ACA1540 00000033
02002FC4 00000001
0ACA1540 00000032
02CA1540 00000099

$Ocarina of Time -> 30 FPS Switch (Part 3) (AR Code) (PZLE01)
C8C8D2C1 00000002
C8C9F0D5 00000000
08BE1657 00000000
00003FC0 00000000
88003FC0 00000000
08BE1C01 00000000
00003FC0 00000001
08BE1C01 00000002
00003FC0 00000003
08BE1C01 00000004
00003FC0 00000005
08BE1C01 00000006
00003FC0 00000007
08BE1C01 00000008
00003FC0 00000009
00000000 40000000
B8003FC0 00000001
80003FC0 00000001
08BE1657 00000004
80BE1659 00000001
08BE1657 00000008
80BE1659 00000001
08BE1657 0000000E
80BE1659 000000FF
00000000 40000000
88BE1657 00000004
48003FC0 00000004
08BE1C01 00000001
00003FC0 00000000
48003FC0 00000006
08BE1C01 00000003
00003FC0 00000000
48003FC0 00000008
08BE1C01 00000005
00003FC0 00000000
48003FC0 0000000A
08BE1C01 00000007
00003FC0 00000000
48003FC0 00000002
08BE1C01 00000009
00003FC0 00000000
00000000 40000000
88BE1657 00000008
48003FC0 00000004
08BE1C01 00000001
00003FC0 00000000
48003FC0 00000006
08BE1C01 00000003
00003FC0 00000000
48003FC0 00000008
08BE1C01 00000005
00003FC0 00000000
48003FC0 0000000A
08BE1C01 00000007
00003FC0 00000000
48003FC0 00000002
08BE1C01 00000009
00003FC0 00000000
00000000 40000000
88BE1657 0000000E
48003FC0 00000002
08BE1C01 00000001
00003FC0 00000000
48003FC0 00000004
08BE1C01 00000003
00003FC0 00000000
48003FC0 00000006
08BE1C01 00000005
00003FC0 00000000
48003FC0 00000008
08BE1C01 00000007
00003FC0 00000000
48003FC0 0000000A
08BE1C01 00000009
00003FC0 00000000
00000000 40000000

Code:
$Majora's Mask -> 30 FPS Switch (Part 2) (AR Code) (PZLE01)
D0CBFD53 000000FF
C8E669FD 00000000
08002FC2 00000001
00E4FB82 00000003
88E4FB82 00000003
00E4DDF1 00000003
08E4DD13 00000002
00E4DD13 00000003
10E4DD13 00000000
00E4DD13 00000003
00000000 40000000
C8002FC2 00000000
00E4FB82 00000002
0AE697DC 00000302
00E4FB82 00000003
4AE68E26 00003208
0AE68DC0 0000100B
00E4FB82 00000003
0AE68E26 0000FF08
00E4FB82 00000003
08E68D76 00000001
00E4FB82 00000002
08E69857 00000001
00E4FB82 00000002
08E68F28 00000001
00E4FB82 00000002
08CA4AB4 00000001
00E4FB82 00000002
C8E4FB82 00000002
00E4DDF1 00000002
02BE4DDE 00000006
02BE5432 00000000
32E68DE0 00004120
02E68DE4 0000BF34
0AE68FC4 000040E0
02E68DE4 0000BF34
0AE68FC4 00004110
02E68DE4 0000BF34
0AE68FC4 00004120
02E68DE4 0000BF34
4AE68E26 00005008
0AE68FC4 00004120
02E68DE4 0000BF00
4AE68E26 00003208
0AE68FC4 000040A0
04E68FCC 3F4CCCCD
4AE68E26 00003208
0AE68FC4 00004110
04E68FCC 3F4CCCCD
4AE68E26 00005008
0AE68FC4 000040E0
04E68FCC 3F333333
4AE68E26 00005008
0AE68FC4 00004110
04E68FCC 3F333333
4AE68E26 00005008
0AE68FC4 00004120
04E68FCC 3F333333
4AE68E26 0000C808
0AE68FC4 00004140
04E68FCC 3F800000
4AE68E26 0000C808
0AE68FC4 00004198
04E68FCC 3F800000
0CE68FCC 3FA00000
04E68FCC 3F900000
4AE68DE4 0000BFB3
0AE68FC4 00004140
02E68DE4 0000BFD0
4AE68DE4 0000BFB3
0AE68FC4 00004120
02E68DE4 0000BFD0
0AE68DE4 0000C0B0
02E68DE4 0000C050
0AE68FC4 00004150
02E68DE4 0000BF34
0AE68FC4 00004160
02E68DE4 0000BF34
0AE68FC4 00004170
02E68DE4 0000BF34
0AE69898 000000C8
02002FC4 00000000
4AE69898 00000034
0A002FC4 00000001
02E69898 00000031
0AE69898 00000033
02002FC4 00000001
0AE69898 00000032
02E69898 000000B7
50E4DD13 00000000
0CCBC0C4 00000000
00E4DD13 00000002
50E4DD13 00000000
0CCBC0C4 FFFFFFFE
00E4DD13 00000003

Basically, I continued optimizing all 30 FPS codes. Those C8 and D0 operators are incredibly handy. I should have used them much earlier.

As a result, 20 FPS mode should run more consistently to how it should run. When running at 20 FPS mode some RAM addresses kept referring to the changes intended for 30 FPS mode. The rolling animation in Majora's Mask for example was a bit messed up in 20 FPS mode...

Next up, I should increase those minigame timers for 30 FPS mode in Majora's Mask.
Super Mario 64 - Super Smash Bros. 64 - Mario Kart 64 - Zelda 64 - Star Fox 64 - Patreon - Discord
Find
Reply
08-08-2019, 10:25 PM (This post was last modified: 08-08-2019, 10:38 PM by Admentus.)
#3
Admentus Offline
Nothing but perfection for gaming
*******
Posts: 1,971
Threads: 25
Joined: May 2015
A bit more consistent behavior and clean-ups for the following codes as well:

Code:
$Ocarina of Time -> Unequip Sword & Shield With Z On Icon (AR Code) (D43E01)
C8CA0655 00000006
C8CA0669 00000003
CA132F38 00000010
88CA069F 00000001
48BE1879 00000001
00BE1879 00000000
00BE1870 000000FF
48BE1879 00000011
00BE1879 00000010
00BE1870 000000FF
48BE1879 00000021
00BE1879 00000020
00BE1870 000000FF
48BE1879 00000031
00BE1879 00000030
00BE1870 000000FF
08BE1870 000000FF
04BE2738 00000001
00000000 40000000
88CA069F 00000002
48BE1879 00000002
00BE1879 00000000
00BE1870 000000FF
48BE1879 00000012
00BE1879 00000010
00BE1870 000000FF
48BE1879 00000022
00BE1879 00000020
00BE1870 000000FF
48BE1879 00000032
00BE1879 00000030
00BE1870 000000FF
08BE1870 000000FF
04BE2738 00000001
00000000 40000000
88CA069F 00000003
48BE1879 00000003
00BE1879 00000000
00BE1870 000000FF
48BE1879 00000013
00BE1879 00000010
00BE1870 000000FF
48BE1879 00000023
00BE1879 00000020
00BE1870 000000FF
48BE1879 00000033
00BE1879 00000030
00BE1870 000000FF
08BE1870 000000FF
04BE2738 00000001
00000000 40000000
88CA069F 00000005
60BE1879 0000000F
18BE1879 00000014
80BE1879 000000F0
00000000 40000000
88CA069F 00000006
60BE1879 0000001F
18BE1879 00000024
80BE1879 000000E0
00000000 40000000
88CA069F 00000007
60BE1879 0000002F
18BE1879 00000034
80BE1879 000000D0
00000000 40000000

Code:
$Master Quest -> Unequip Sword & Shield With Z On Icon (AR Code) (D43E01)
C8CA0615 00000006
C8CA0629 00000003
CA132F38 00000010
88CA065F 00000001
48BE1859 00000001
00BE1859 00000000
00BE1850 000000FF
48BE1859 00000011
00BE1859 00000010
00BE1850 000000FF
48BE1859 00000021
00BE1859 00000020
00BE1850 000000FF
48BE1859 00000031
00BE1859 00000030
00BE1850 000000FF
08BE1850 000000FF
04BE2718 00000001
00000000 40000000
88CA065F 00000002
48BE1859 00000002
00BE1859 00000000
00BE1850 000000FF
48BE1859 00000012
00BE1859 00000010
00BE1850 000000FF
48BE1859 00000022
00BE1859 00000020
00BE1850 000000FF
48BE1859 00000032
00BE1859 00000030
00BE1850 000000FF
08BE1850 000000FF
04BE2718 00000001
00000000 40000000
88CA065F 00000003
48BE1859 00000003
00BE1859 00000000
00BE1850 000000FF
48BE1859 00000013
00BE1859 00000010
00BE1850 000000FF
48BE1859 00000023
00BE1859 00000020
00BE1850 000000FF
48BE1859 00000033
00BE1859 00000030
00BE1850 000000FF
08BE1850 000000FF
04BE2718 00000001
00000000 40000000
88CA065F 00000005
60BE1859 0000000F
18BE1859 00000014
80BE1859 000000F0
00000000 40000000
88CA065F 00000006
60BE1859 0000001F
18BE1859 00000024
80BE1859 000000E0
00000000 40000000
88CA065F 00000007
60BE1859 0000002F
18BE1859 00000034
80BE1859 000000D0
00000000 40000000

Code:
$Ocarina of Time -> Unequip Sword & Shield With Z On Icon (AR Code) (PZLE01)
C8C9F0D5 00000006
C8C9F0E9 00000003
CA134C58 00000010
88C9F11F 00000001
48BE02F9 00000001
00BE02F9 00000000
00BE02F0 000000FF
48BE02F9 00000011
00BE02F9 00000010
00BE02F0 000000FF
48BE02F9 00000021
00BE02F9 00000020
00BE02F0 000000FF
48BE02F9 00000031
00BE02F9 00000030
00BE02F0 000000FF
08BE02F0 000000FF
04BE11B8 00000001
00000000 40000000
88C9F11F 00000002
48BE02F9 00000002
00BE02F9 00000000
00BE02F0 000000FF
48BE02F9 00000012
00BE02F9 00000010
00BE02F0 000000FF
48BE02F9 00000022
00BE02F9 00000020
00BE02F0 000000FF
48BE02F9 00000032
00BE02F9 00000030
00BE02F0 000000FF
08BE02F0 000000FF
04BE11B8 00000001
00000000 40000000
88C9F11F 00000003
48BE02F9 00000003
00BE02F9 00000000
00BE02F0 000000FF
48BE02F9 00000013
00BE02F9 00000010
00BE02F0 000000FF
48BE02F9 00000023
00BE02F9 00000020
00BE02F0 000000FF
48BE02F9 00000033
00BE02F9 00000030
00BE02F0 000000FF
08BE02F0 000000FF
04BE11B8 00000001
00000000 40000000
88C9F11F 00000005
60BE02F9 0000000F
18BE02F9 00000014
80BE02F9 000000F0
00000000 40000000
88C9F11F 00000006
60BE02F9 0000001F
18BE02F9 00000024
80BE02F9 000000E0
00000000 40000000
88C9F11F 00000007
60BE02F9 0000002F
18BE02F9 00000034
80BE02F9 000000D0
00000000 40000000

Code:
$Majora's Mask -> Switch Swords & Shields With C-Left / C-Right On Icon (AR Code) (PZLE01)
50E669FD 00000006
02002FCA 00000000
02002FCC 00000000
50E66A15 00000002
02002FCA 00000000
02002FCC 00000000
10E66A4D 00000005
02002FCA 00000000
10E66A4D 00000004
02002FCC 00000000
C8E669FD 00000006
C8E66A15 00000002
88E66A4D 00000005
0AE4FAFA 00000001
02002FCA 00000001
52E4FAFA 00000001
0A002FCA 00000001
02002FCA 00000003
0AE4FAFA 00000002
02002FCA 00000002
52E4FAFA 00000002
0A002FCA 00000002
02002FCA 00000004
00000000 40000000
8A002FCA 00000003
18CBC11D 00000003
80CBC11D 00000001
58CBC11D 00000013
20CBC11D 0000000F
80CBC11D 00000001
58CBC11D 00000023
20CBC11D 0000001F
80CBC11D 00000001
00000000 40000000
8A002FCA 00000004
58CBC11D 00000004
20CBC11D 00000000
80CBC11D 000000FF
58CBC11D 00000014
20CBC11D 00000010
80CBC11D 000000FF
20CBC11D 00000020
80CBC11D 000000FF
00000000 40000000
A2002FCA 00000002
02002FCA 00000000
08CBC11D 00000000
00CBC0FC 000000FF
08CBC11D 00000010
00CBC0FC 000000FF
08CBC11D 00000020
00CBC0FC 000000FF
08CBC11D 00000001
00CBC0FC 0000004D
08CBC11D 00000011
00CBC0FC 0000004D
08CBC11D 00000021
00CBC0FC 0000004D
08CBC11D 00000002
00CBC0FC 0000004E
08CBC11D 00000012
00CBC0FC 0000004E
08CBC11D 00000022
00CBC0FC 0000004E
08CBC11D 00000003
00CBC0FC 0000004F
08CBC11D 00000013
00CBC0FC 0000004F
08CBC11D 00000023
00CBC0FC 0000004F
00000000 40000000
88E66A4D 00000004
0AE4FAFA 00000001
02002FCC 00000001
52E4FAFA 00000001
0A002FCC 00000001
02002FCC 00000003
0AE4FAFA 00000002
02002FCC 00000002
52E4FAFA 00000002
0A002FCC 00000002
02002FCC 00000004
00000000 40000000
8A002FCC 00000003
58CBC11D 0000001F
80CBC11D 00000010
80E68EB4 00000001
00000000 40000000
8A002FCC 00000004
60CBC11D 0000000F
80CBC11D 000000F0
80E68EB4 000000FF
00000000 40000000
22002FCC 00000002
02002FCC 00000000
Super Mario 64 - Super Smash Bros. 64 - Mario Kart 64 - Zelda 64 - Star Fox 64 - Patreon - Discord
Find
Reply
08-09-2019, 02:09 AM
#4
Admentus Offline
Nothing but perfection for gaming
*******
Posts: 1,971
Threads: 25
Joined: May 2015
Hopefully the final time I adjusted the 30 FPS Switch (Part 3) codes...

Code:
$Ocarina of Time -> 30 FPS Switch (Part 3) (AR Code) (D43E01)
C8CA0655 00000000
08BE2BD7 00000000
00003FC0 00000000
88003FC0 00000000
08BE3181 00000000
00003FC0 00000001
08BE3181 00000002
00003FC0 00000003
08BE3181 00000004
00003FC0 00000005
08BE3181 00000006
00003FC0 00000007
08BE3181 00000008
00003FC0 00000009
00000000 40000000
B8003FC0 00000001
80003FC0 00000001
48C8E841 00000002
08BE2BD7 00000004
80BE2BD9 00000001
48C8E841 00000002
08BE2BD7 00000008
80BE2BD9 00000001
48C8E841 00000002
08BE2BD7 0000000E
80BE2BD9 000000FF
00000000 40000000
88BE2BD7 00000004
48003FC0 00000004
08BE3181 00000001
00003FC0 00000000
48003FC0 00000006
08BE3181 00000003
00003FC0 00000000
48003FC0 00000008
08BE3181 00000005
00003FC0 00000000
48003FC0 0000000A
08BE3181 00000007
00003FC0 00000000
48003FC0 00000002
08BE3181 00000009
00003FC0 00000000
00000000 40000000
88BE2BD7 00000008
48003FC0 00000004
08BE3181 00000001
00003FC0 00000000
48003FC0 00000006
08BE3181 00000003
00003FC0 00000000
48003FC0 00000008
08BE3181 00000005
00003FC0 00000000
48003FC0 0000000A
08BE3181 00000007
00003FC0 00000000
48003FC0 00000002
08BE3181 00000009
00003FC0 00000000
00000000 40000000
88BE2BD7 0000000E
48003FC0 00000002
08BE3181 00000001
00003FC0 00000000
48003FC0 00000004
08BE3181 00000003
00003FC0 00000000
48003FC0 00000006
08BE3181 00000005
00003FC0 00000000
48003FC0 00000008
08BE3181 00000007
00003FC0 00000000
48003FC0 0000000A
08BE3181 00000009
00003FC0 00000000
00000000 40000000

Code:
$Master Quest -> 30 FPS Switch (Part 3) (AR Code) (D43E01)
C8CA0615 00000000
08BE2BB7 00000000
00003FC0 00000000
88003FC0 00000000
08BE3161 00000000
00003FC0 00000001
08BE3161 00000002
00003FC0 00000003
08BE3161 00000004
00003FC0 00000005
08BE3161 00000006
00003FC0 00000007
08BE3161 00000008
00003FC0 00000009
00000000 40000000
B8003FC0 00000001
80003FC0 00000001
48C8E801 00000002
08BE2BB7 00000004
80BE2BB9 00000001
48C8E801 00000002
08BE2BB7 00000008
80BE2BB9 00000001
48C8E801 00000002
08BE2BB7 0000000E
80BE2BB9 000000FF
00000000 40000000
88BE2BB7 00000004
48003FC0 00000004
08BE3161 00000001
00003FC0 00000000
48003FC0 00000006
08BE3161 00000003
00003FC0 00000000
48003FC0 00000008
08BE3161 00000005
00003FC0 00000000
48003FC0 0000000A
08BE3161 00000007
00003FC0 00000000
48003FC0 00000002
08BE3161 00000009
00003FC0 00000000
00000000 40000000
88BE2BB7 00000008
48003FC0 00000004
08BE3161 00000001
00003FC0 00000000
48003FC0 00000006
08BE3161 00000003
00003FC0 00000000
48003FC0 00000008
08BE3161 00000005
00003FC0 00000000
48003FC0 0000000A
08BE3161 00000007
00003FC0 00000000
48003FC0 00000002
08BE3161 00000009
00003FC0 00000000
00000000 40000000
88BE2BB7 0000000E
48003FC0 00000002
08BE3161 00000001
00003FC0 00000000
48003FC0 00000004
08BE3161 00000003
00003FC0 00000000
48003FC0 00000006
08BE3161 00000005
00003FC0 00000000
48003FC0 00000008
08BE3161 00000007
00003FC0 00000000
48003FC0 0000000A
08BE3161 00000009
00003FC0 00000000
00000000 40000000

Code:
$Ocarina of Time -> 30 FPS Switch (Part 3) (AR Code) (PZLE01)
C8C9F0D5 00000000
08BE1657 00000000
00003FC0 00000000
88003FC0 00000000
08BE1C01 00000000
00003FC0 00000001
08BE1C01 00000002
00003FC0 00000003
08BE1C01 00000004
00003FC0 00000005
08BE1C01 00000006
00003FC0 00000007
08BE1C01 00000008
00003FC0 00000009
00000000 40000000
B8003FC0 00000001
80003FC0 00000001
48C8D2C1 00000002
08BE1657 00000004
80BE1659 00000001
48C8D2C1 00000002
08BE1657 00000008
80BE1659 00000001
48C8D2C1 00000002
08BE1657 0000000E
80BE1659 000000FF
00000000 40000000
88BE1657 00000004
48003FC0 00000004
08BE1C01 00000001
00003FC0 00000000
48003FC0 00000006
08BE1C01 00000003
00003FC0 00000000
48003FC0 00000008
08BE1C01 00000005
00003FC0 00000000
48003FC0 0000000A
08BE1C01 00000007
00003FC0 00000000
48003FC0 00000002
08BE1C01 00000009
00003FC0 00000000
00000000 40000000
88BE1657 00000008
48003FC0 00000004
08BE1C01 00000001
00003FC0 00000000
48003FC0 00000006
08BE1C01 00000003
00003FC0 00000000
48003FC0 00000008
08BE1C01 00000005
00003FC0 00000000
48003FC0 0000000A
08BE1C01 00000007
00003FC0 00000000
48003FC0 00000002
08BE1C01 00000009
00003FC0 00000000
00000000 40000000
88BE1657 0000000E
48003FC0 00000002
08BE1C01 00000001
00003FC0 00000000
48003FC0 00000004
08BE1C01 00000003
00003FC0 00000000
48003FC0 00000006
08BE1C01 00000005
00003FC0 00000000
48003FC0 00000008
08BE1C01 00000007
00003FC0 00000000
48003FC0 0000000A
08BE1C01 00000009
00003FC0 00000000
00000000 40000000

This time I adjusted to codes to also keep executing in 20 FPS mode, except for the part it will be incrementing or decreasing one second to the timer every two seconds. Why? Because if you temporary revert back to 20 FPS mode during the timer and then switch back to 30 FPS mode the code kinda lost track when it should be incrementing or decreasing that one second. Now you can safely switch between 20 FPS and 30 FPS mode at any time the timer is running and while get the whole duration it is supposed to last.

Yeah... I said fixing the timers for Majora's Mask would be next. I still had to solve some remaining issues first.
Super Mario 64 - Super Smash Bros. 64 - Mario Kart 64 - Zelda 64 - Star Fox 64 - Patreon - Discord
Find
Reply
08-09-2019, 01:57 PM
#5
mbc07 Offline
Wiki Caretaker
*******
Content Creators (Moderators)
Posts: 3,567
Threads: 47
Joined: Dec 2010
Honest question since it's been a long while since I finished the original N64 games and that I touched the GC re-releases: why exactly can't you run the game in 30 FPS mode all the time? Wouldn't be wise to try fixing any game-breaking issues when in 30 FPS mode than investing effort on a dynamic FPS switcher?
Avell A70 MOB: Core i7-11800H, GeForce RTX 3060, 16 GB DDR4-3200, Windows 11 (Insider Preview)
ASRock Z97M OC Formula: Pentium G3258, GeForce GT 440, 16 GB DDR3-1600, Windows 10 (22H2)
Find
Reply
08-09-2019, 05:15 PM (This post was last modified: 08-09-2019, 08:41 PM by Admentus.)
#6
Admentus Offline
Nothing but perfection for gaming
*******
Posts: 1,971
Threads: 25
Joined: May 2015
(08-09-2019, 01:57 PM)mbc07 Wrote: Honest question since it's been a long while since I finished the original N64 games and that I touched the GC re-releases: why exactly can't you run the game in 30 FPS mode all the time? Wouldn't be wise to try fixing any game-breaking issues when in 30 FPS mode than investing effort on a dynamic FPS switcher?

I wish I could. I am trying to find and fix game-breaking issues here and there for 30 FPS mode. But there are some issues I simply can not solve. Maybe it is inexperience. Maybe it isn't simply possible to do so. Since everything in the Zelda 64 games is tied to the FPS, a lot and a lot of stuff tends to break or get out of sync. Animations, attack patterns, clock timers. bomb fuses, Bombchu traveling distances, throwing gravity, Hookshot range, jumping height, rolling, attack combos, Deku Flowers, magic consumption, day timers, deku sticks, burning torches. Almost everything. Since so much is tied to it, it almost becomes impossible to guarantee a flawless experience. At times there can simply be too much that needs adjusting. 30 FPS is an increase of 50% compared to 20 FPS, which means everything goes about 50% faster. Some issues aren't that problematic such as the animation speed of the water. But in general playing at 30 FPS at all time without any fixes means softlocking and unbeatable puzzles and minigames. Essentially it prevents you from progressing any further at times. And if you are lucky you can get through in some cases if you're skilled enough (given that time limits are about 50% shorter).

But hey, If I just only focus on the game-breaking issues, that should suffice right? I wish it was that simple. Taking bombs for example. Certain minigames or puzzles might require you to throw bombs a set distance or let a Bombchu travel far enough. The issue however is finding the bombs in the game's RAM address in order to adjust it. I was able to find the bombs... Except their RAM addresses aren't fixed. As soon you change areas it gets assigned new RAM addresses. The same also goes for monster HP which I did try to increase previously. I was able to increase the HP of bosses because their RAM addresses are static. And dynamic RAM address... Those are kinda out of my field of expertise. That would likely require something to do with a pointer and such.

So... That's where the FPS Switch comes in. It at least let's you continue playing the game in those sections which are mandatory at 20 FPS. Hopefully in time you will need to rely less and less on it as more issues are being fixed. But at least the game will be playable without the need to exit the emulator and disable the code in order to get past a section. In general, you might require a bit more skill when playing in 30 FPS or think a bit more creatively. Some puzzles can barely be doable within the faster given time.

For me, it is easier to implement a FPS toggle switch than fixing issues for 30 FPS. The FPS toggle switch is not that complicated, and basically already works. It only needs to be extended with several cases where the game should recognize it should revert back to 20 FPS in order to avoid issues such as softlocking. But that's only possible if I manage to let the game recognize those parts. Cutscenes are for example on 20 FPS since those tend to softlock the game or prevent you from leaving a room, examples such the cutscene for defeating Volvagia or defeating enemies in locked rooms in Woodfall Temple. These 30 FPS codes are so long and complex because there is a lot to fix, even more so for Majora's Mask. With multiple parts of them. And those still aren't finished.

Honestly, I have had a lot to thank darkludx for, who did an amazing job. I am just picking this further up and trying to fix what I can further. It is in fact an one-man's job for now, and there's only so much I can do on my own. I mean, six months ago I wasn't even able to at least program a simple AR code. So I have come a far way since then. Sometimes I rather focus on the other codes, because they are that much simple to realize. I like it when my invested work get's paid off when a new feature works perfectly right. Increasing my FPS wasn't my only dream. Luckily darkludx, retroben and gamemasterplc managed to make quite a few of my requests to be realized, until I partially learned it myself from their work to continue "improving" both games in different areas. Sometimes it requires being creative. As you might remember I wasn't able to give enemies more HP, but I was able to reduce the amount of damage Link's sword does.
Super Mario 64 - Super Smash Bros. 64 - Mario Kart 64 - Zelda 64 - Star Fox 64 - Patreon - Discord
Find
Reply
08-09-2019, 08:01 PM (This post was last modified: 08-09-2019, 08:35 PM by Admentus.)
#7
Admentus Offline
Nothing but perfection for gaming
*******
Posts: 1,971
Threads: 25
Joined: May 2015
As promised, but still in progress:

Code:
$Majora's Mask -> 30 FPS Switch (Part 3) (AR Code) (PZLE01)
4ACBFED6 00001D4C
12CBFE9E 00000000
00E4FB82 00000003
88E4FB82 00000003
0ACBFEEE 00001A5E
02CBFEEE 00001194
0ACBFEEE 00002328
02CBFEEE 00001770
00000000 40000000
C8E4FB82 00000002
0ACBFEEE 00001194
02CBFEEE 00001A5E
0ACBFEEE 00001770
02CBFEEE 00002328

How it works?

It adds 50% additional time to the timer for the following minigames:
- Treasure Chest Shop (all four forms)
- Honey & Darling's Shop (all three days)

More minigames and timers are still ongoing. Timers that count up won't be included. Only timers counting down.

Potential timers to fix:
- Deku Scrub Playground
- Fisherman's Island

Minigames that won't work:
- Town Shooting Gallery
- Swamp Shooting Gallery (not tested, but expected not to work).

These minigames won't work because they run on multiple timers. The Shooting Galleries have internal timers that spawn the next waves of enemies to hit. Adding additional time on the clock won't adjust those enemy waves.

I won't adjust the timer that runs when you're about to drown either. That time is affected by the amount of HP you have, which is a variable running between 1 and 320 (140 in hex), making for a total of 320 variations. Besides, drowning isn't really an issue in this game. You can't really drown unless you try you best to do so, and you have quite the amount of time to spare for that. Not to mention that you can put on the Zora Mask to avoid drowning at any time. There aren't any heated areas in Majora's Mask which function the same way as drowning.

As soon as you enter 30 FPS mode the additional time is added. When you revert back to 20 FPS mode that additional time is being removed again, through you can switch back again to 30 FPS mode for the additional time. Easy.

EDIT 1:
Playing the Town Shooting Gallery now automatically reverts back to 20 FPS. You really don't want to try this in 30 FPS anyway if you care for reaching the necessary highscores. It is already hard enough as it is in 20 FPS mode. I might apply some additional automatic 20 FPS reverts for several minigames, most notorious being the Goron Race...

As I mentioned in my previous post, one of my aims is also to automate the 20 FPS revert process when required, without interrupting the game too much. Reverting back to 20 FPS all the time won't work, because what's the point of 30 FPS then. But minigames such as the Town Shooting Gallery are quite isolated and easy to control for a short period in 20 FPS. There will be times you will need to decide for yourself when to revert back to 20 FPS, but in these isolated environments (aka, minigames) I can at least automate the process. A proper fix while maintaining 30 FPS is preferable of course, if manageable to fix.
Super Mario 64 - Super Smash Bros. 64 - Mario Kart 64 - Zelda 64 - Star Fox 64 - Patreon - Discord
Find
Reply
08-09-2019, 10:14 PM (This post was last modified: 08-10-2019, 01:50 AM by Admentus.)
#8
Admentus Offline
Nothing but perfection for gaming
*******
Posts: 1,971
Threads: 25
Joined: May 2015
And for something completely new:

Code:
BROKEN

So this is quite interesting. You probably remember those All Bosses Have 1 HP / 2x HP / 3x HP codes I made for Ocarina of Time and Majora's Mask (with the help of darkludx of course). I always wanted to increase the HP for regular monsters as well... But that didn't really work, since regular monsters have dynamic RAM address, and keep switching each time you enter a new room, a new area or reload your save file. It was a nightmare and I had to give it up. Luckily, bosses had static RAM addresses so they always remained the same. So I made the bosses harder and gave up on the rest.

So it turns out... Mini-bosses aren't exactly dynamic either, even if re-used through-out the game as regular monsters. At least that's the theory. I have been testing it on the first mini-boss of Woodfall Temple only so far, the Dinofos. And against my expectations, it kept using the same RAM addresses when I tried re-entering the room, switching area's and even rebooting the game. So if I am lucky... The rest of the mini-bosses behave all the same.

Boosting regular monsters is still a no-go, but boosted mini-bosses. Here we come!

More mini-bosses will be added. If my luck keeps on going all mini-bosses in both Ocarina of Time and Majora's Mask could be boosted.

EDIT 1:
Added the Gekko mini-boss from Woodfall Temple. That's two fully functional boosted mini-bosses. As expected, the RAM Address for Gekko is static as well.

EDIT 2:
It turns out that the Wizzrobes from Snowhead Temple have dynamic RAM addresses once again. I suspect they are being considered regular monsters despite being used as mini-bosses. There are at least re-used six times throughout the game.

Most mini-bosses in Ocarina of Time aren't actually mini-bosses, just regular monster fights being accompanied by the mini-boss theme. Regular monsters which act as mini-bosses include the Lizalfos from Dodongo's Cavern and the Stalfos from the Forest Temple. The four sister poes, the Big Octo and the Dead Hands are likely regular monsters as well. The Iron Knuckles definitely are regular monsters. I don't think there is a lot to do for Ocarina of time. Majora's Mask is a bit differently. It's mini-bosses are often unique instead of just re-using regular monsters.

Majora's Mask mini-bosses are:

- Gekko & Snapper (Woodfall Temple) -> Definitely unique
- Dinofols (1x in Woodfall Temple, 2x in Snowhead Temple, 3x in Secret Shrine and 1x in The Moon) -> Honestly, no idea why, there appear again in Snowhead Temple as regular monsters. Only the Woodfall Temple version has the mini-boss theme.
- Wizzrobe (2x in Snowhead Temple, 1x in Ancient Castle of Ikana, 1x in Stone Tower Temple & 1x in Secret Shrine) -> Not really unique mini-bosses I guess...
- Wart (Great Bay Temple & Secret Shrine)
- Gekko & Mad Jelly (Great Bay Temple) -> Definitely unique
- Captain Keeta (Ikana Graveyard) -> Definitely unique, but acts mostly as a regular monster
- Igos du Ikana & Igos' Servants (Ancient Castle of Ikana) -> Definitely unique
- Garo Master (Stone Tower Temple, Secret Shrine & The Moon) -> The Stone Tower Temple version has the mini-boss theme
- Gomess (Stone Tower Temple) -> Definitely unique
- Poe Sisters (Ikana Canyon's Spirit House) -> I really don't know...

Hopefully, the truly unique encounters have static RAM addresses.

EDIT 3:
Actually this is quite interesting and perhaps explains why the Wizzrobe has a dynamic RAM address. Both encounters in Snowhead Temple actually refer to the same RAM address... Until is resets by rebooting the game or re-entering the dungeon.

EDIT 4:
I think I am getting slightly insane... It seems that the Wizzrobe does have a static RAM address? I have been running Snowhead Temple accross three different save states, kept re-booting the game and re-entering the temple. And it seems to result in the RAM address each time. However, one of my save states keeps referring to a different RAM address... Until I re-enter the dungeon and is assigned the same RAM address like I kept getting consistently. So... I guess the Wizzrobe will work? His RAM addresses is re-used for both encounters in the Temple.

EDIT 5:
So... I figured out the mystery behind the Wizzrobes. They do have dynamic RAM addresses... Which get changed depending on the rooms you enter. Enter the room to the boss in the exact same path... And you always end up with the same RAM address... Now I fear I have to re-check the previous mini-bosses as well... Let's hope for the best...

EDIT 6:
Okay... It is worse than I thought... Even the Woodfall mini-bosses behave the same. I give up... Interestingly, not every room you enter changes the RAM addresses these mini-bosses would be assigned with, with made it more confusing to start with. Theoretically you could go through all cases... But that be result to be quite confusing. So no... Back working on those 30 FPS fixed again. But that's a task for another day.
Super Mario 64 - Super Smash Bros. 64 - Mario Kart 64 - Zelda 64 - Star Fox 64 - Patreon - Discord
Find
Reply
08-11-2019, 03:26 AM (This post was last modified: 08-12-2019, 05:57 PM by Admentus.)
#9
Admentus Offline
Nothing but perfection for gaming
*******
Posts: 1,971
Threads: 25
Joined: May 2015
Another updated code, this time with anti-cheat protection:

Code:
$Majora's Mask -> Switch Swords & Shields With C-Left / C-Right On Icon (AR Code) (PZLE01)
00C12DD7 00000001
0314953A 00000000
48CBC11D 00000002
18CBC15E 00000002
00CBC15E 00000002
48CBC11D 00000012
18CBC15E 00000002
00CBC15E 00000002
48CBC11D 00000022
18CBC15E 00000002
00CBC15E 00000002
48CBC11D 00000003
18CBC15E 00000003
00CBC15E 00000003
48CBC11D 00000013
18CBC15E 00000003
00CBC15E 00000003
48CBC11D 00000023
18CBC15E 00000003
00CBC15E 00000003
60CBC11D 0000001F
18CBC15F 00000002
00CBC15F 00000002
88E669FD 00000000
48CBC150 00000000
08CBC0FC 000000FF
00CBC150 00000002
48CBC150 00000002
08CBC0FC 0000004D
00CBC150 00000000
48CBC150 00000002
08CBC0FC 0000004E
00CBC150 00000000
48CBC150 00000002
08CBC0FC 0000004F
00CBC150 00000000
8AE68E26 00003208
48CBC15D 00000000
08E68EB4 00000000
00CBC15D 00000002
48CBC15D 00000002
08E68EB4 00000001
00CBC15D 00000000
00000000 40000000
10E669FD 00000006
02002FCA 00000000
10E66A15 00000002
02002FCA 00000000
18E66A4D 00000004
02002FCA 00000000
20E66A4D 00000005
02002FCA 00000000
C8E669FD 00000006
C8E66A15 00000002
A0E66A4D 00000003
98E66A4D 00000006
0AE4FAFA 00000001
02002FCA 00000001
52E4FAFA 00000001
0A002FCA 00000001
02002FCA 00000003
0AE4FAFA 00000002
02002FCA 00000002
52E4FAFA 00000002
0A002FCA 00000002
02002FCA 00000004
00000000 40000000
88E66A4D 00000005
8A002FCA 00000003
60CBCF84 0000004C
18CBCF84 00000050
02002FCA 00000005
08CBC150 00000002
02002FCA 00000005
00000000 40000000
88E66A4D 00000005
8A002FCA 00000003
18CBC11D 00000003
80CBC11D 00000001
58CBC11D 00000013
20CBC11D 0000000F
80CBC11D 00000001
58CBC11D 00000023
20CBC11D 0000001F
80CBC11D 00000001
48CBC11D 00000002
18CBC15E 00000002
00CBC11D 00000001
48CBC11D 00000012
18CBC15E 00000002
00CBC11D 00000011
48CBC11D 00000022
18CBC15E 00000002
00CBC11D 00000021
48CBC11D 00000003
18CBC15E 00000003
00CBC11D 00000002
48CBC11D 00000013
18CBC15E 00000003
00CBC11D 00000012
48CBC11D 00000023
18CBC15E 00000003
00CBC11D 00000022
00000000 40000000
88E66A4D 00000005
8A002FCA 00000004
58CBC11D 00000004
20CBC11D 00000000
80CBC11D 000000FF
58CBC11D 00000014
20CBC11D 00000010
80CBC11D 000000FF
20CBC11D 00000020
80CBC11D 000000FF
00000000 40000000
88E66A4D 00000005
A2002FCA 00000002
02002FCA 00000000
08CBC11D 00000000
00CBC0FC 000000FF
08CBC11D 00000010
00CBC0FC 000000FF
08CBC11D 00000020
00CBC0FC 000000FF
08CBC11D 00000001
00CBC0FC 0000004D
08CBC11D 00000011
00CBC0FC 0000004D
08CBC11D 00000021
00CBC0FC 0000004D
08CBC11D 00000002
00CBC0FC 0000004E
08CBC11D 00000012
00CBC0FC 0000004E
08CBC11D 00000022
00CBC0FC 0000004E
08CBC11D 00000003
00CBC0FC 0000004F
08CBC11D 00000013
00CBC0FC 0000004F
08CBC11D 00000023
00CBC0FC 0000004F
48CBC150 00000000
08CBC0FC 000000FF
00CBC150 00000001
48CBC150 00000001
10CBC0FC 000000FF
00CBC150 00000000
00000000 40000000
88E66A4D 00000004
8A002FCA 00000003
48CBC15D 00000002
08CBC15F 00000000
02002FCA 00000005
00000000 40000000
88E66A4D 00000004
8A002FCA 00000003
58CBC11D 0000001F
80CBC11D 00000010
80E68EB4 00000001
60CBC11D 0000001F
18CBC15F 00000002
02002FCA 00000004
00000000 40000000
88E66A4D 00000004
8A002FCA 00000003
88CBC15D 00000002
88CBC15F 00000002
48E68EB4 00000001
80CBC11D 00000010
80E68EB4 00000001
00000000 40000000
88E66A4D 00000004
8A002FCA 00000004
60CBC11D 0000000F
80CBC11D 000000F0
80E68EB4 000000FF
00000000 40000000
88E66A4D 00000004
8A002FCA 00000004
88CBC15D 00000002
48E68EB4 00000001
80CBC11D 000000F0
80E68EB4 000000FF
00000000 40000000
88E66A4D 00000004
A2002FCA 00000002
02002FCA 00000000
48CBC15D 00000000
08E68EB4 00000000
00CBC15D 00000001
48CBC15D 00000001
08E68EB4 00000001
00CBC15D 00000000
00000000 40000000

What this means is that the Razor Sword, Gilded Sword and Mirror Shield have to be collected first before you can toggle to them at any time in the Quest Status subscreen.

In order to select a different sword or shield, or un-equip either of them you have to press C-Left or C-Right (X or Y work also, respectively) in order to select the previous or next upgrade state. Now you can no longer equip the Gilded Sword until you have obtained it first.

So how does it work? In order for the game to remember that the Gilded Sword was obtained previously, it has to be stored somewhere in the game's save data. Rebooting the game will obviously reset all the RAM, so it had to be stored somewhere in the save data. It turns out Majora's Mask uses a few unused variable for save file data, such as the amount of ammo for the Lens of Truth or Hookshot. Both of these items don't use any ammo and never refer to it anyway. As you might guess the variable that trackers which swords or shields you obtained previously gets saved in there.

Normally when playing the Song of Time all ammo variables are reset to 0. Except... For those un-used ammo variables. They will retain their values. Pretty handy huh? In addition you can also no longer switch between your swords when Takkuri (found in Termina Field) steals your sword. Either you have to re-purchase it from the Curiosity Shop at night or play the Song of Time to retrieve your sword. And of course this also includes when your sword is being forged at the Smithy. Similarly as for your Hero's Shield. If that is stolen by a Like-Like you can not switch to that shield anymore unless re-purchased from a shop. However, you can still equip your Mirror Shield if you obtained it previously. Access to the Hero's Shield is also stored in an un-used ammo variable that does not reset.

You no longer need to add and enable the Permanent Razor Sword separately. It's now part of the Switch Swords & Shields With C-Left / C-Right On Icon code itself. It made little sense not to include it. After all, the concept is that you can switch swords at will and use those instead.

Ohh... I fixed the File Select Menu for both games. Creating a new file, dying and returning to the File Select Menu or using the Owl Save to return to the File Select Menu caused the FPS to drop down to 20 FPS or 30 FPS. That should now be fixed and stay at 60 FPS as intended.

Code:
$Ocarina of Time -> 30 FPS Switch (Part 2) (AR Code) (D43E01)
C8CA0655 00000000
08002FC2 00000001
00C8E841 00000003
08CA28DD 00000080
00C8E841 00000003
08CA28DD 000000F0
00C8E841 00000001
D2CA231E 00000000
C8002FC2 00000000
00C8E841 00000002
0ABAE73E 00000100
00C8E841 00000003
0AC904C0 00000001
00C8E841 00000003
0ACA2290 0000100B
00C8E841 00000003
0ACA241E 00002708
00C8E841 00000003
4ACA231E 0000FF08
08CA2276 00000000
00C8E841 00000003
48C904C1 00000000
08CA28DC 00000020
00C8E841 00000002
08BC7938 00000001
00C8E841 00000002
C8C8E841 00000002
0ABB7200 0000000A
02BB7200 00000007
0ACA241E 00002900
02CA22DC 0000BF34
0ACA241E 00002950
02CA22DC 0000BF34
0ACA241E 00002968
04CA2430 3F4CCCCD
0ACA241E 00002970
04CA2430 3F4CCCCD
0ACA241E 00002988
02CA22DC 0000BF34
0ACA241E 000029D0
02CA22DC 0000BF34
0ACA241E 00002A80
04CA2430 3F4CCCCD
0ACA241E 00002A90
04CA2430 3F4CCCCD
0ACA241E 00003148
02CA22DC 0000BF34
0ACA2AC0 000000C8
02002FC4 00000000
4ACA2AC0 00000034
0A002FC4 00000001
02CA2AC0 00000031
0ACA2AC0 00000033
02002FC4 00000001
0ACA2AC0 00000032
02CA2AC0 00000099

Code:
$Master Quest -> 30 FPS Switch (Part 2) (AR Code) (D43E01)
C8CA0615 00000000
08002FC2 00000001
00C8E801 00000003
08CA289D 00000080
00C8E801 00000003
08CA289D 000000F0
00C8E801 00000001
D2CA22DE 00000000
C8002FC2 00000000
00C8E801 00000002
0ABAE71E 00000100
00C8E801 00000003
0AC90480 00000001
00C8E801 00000003
0ACA2250 0000100B
00C8E801 00000003
0ACA23DE 00002708
00C8E801 00000003
4ACA22DE 0000FF08
08CA2236 00000000
00C8E801 00000003
48C90481 00000000
08CA289C 00000020
00C8E801 00000002
08BC7918 00000001
00C8E801 00000002
C8C8E801 00000002
0ABB71E0 0000000A
02BB71E0 00000007
0ACA23DE 00002900
02CA229C 0000BF34
0ACA23DE 00002950
02CA229C 0000BF34
0ACA23DE 00002968
04CA23F0 3F4CCCCD
0ACA23DE 00002970
04CA23F0 3F4CCCCD
0ACA23DE 00002988
02CA229C 0000BF34
0ACA23DE 000029D0
02CA229C 0000BF34
0ACA23DE 00002A80
04CA23F0 3F4CCCCD
0ACA23DE 00002A90
04CA23F0 3F4CCCCD
0ACA23DE 00003148
02CA229C 0000BF34
0ACA2A80 000000C8
02002FC4 00000000
4ACA2A80 00000034
0A002FC4 00000001
02CA2A80 00000031
0ACA2A80 00000033
02002FC4 00000001
0ACA2A80 00000032
02CA2A80 00000099

Code:
$Ocarina of Time -> 30 FPS Switch (Part 2) (AR Code) (PZLE01)
C8C9F0D5 00000000
08002FC2 00000001
00C8D2C1 00000003
08CA135D 00000080
00C8D2C1 00000003
08CA135D 000000F0
00C8D2C1 00000001
D2CA0D9E 00000000
C8002FC2 00000000
00C8D2C1 00000002
0ABAD1BE 00000100
00C8D2C1 00000003
0AC8EF40 00000001
00C8D2C1 00000003
0ACA0D10 0000100B
00C8D2C1 00000003
0ACA0E9E 00002708
00C8D2C1 00000003
4ACA0D9E 0000FF08
08CA0CF6 00000000
00C8D2C1 00000003
48C8EF41 00000000
08CA135C 00000020
00C8D2C1 00000002
08BC63B8 00000001
00C8D2C1 00000002
C8C8D2C1 00000002
0ABB5C80 0000000A
02BB5C80 00000007
0ACA0E9E 00002900
02CA0D5C 0000BF34
0ACA0E9E 00002950
02CA0D5C 0000BF34
0ACA0E9E 00002968
04CA0EB0 3F4CCCCD
0ACA0E9E 00002970
04CA0EB0 3F4CCCCD
0ACA0E9E 00002988
02CA0D5C 0000BF34
0ACA0E9E 000029D0
02CA0D5C 0000BF34
0ACA0E9E 00002A80
04CA0EB0 3F4CCCCD
0ACA0E9E 00002A90
04CA0EB0 3F4CCCCD
0ACA0E9E 00003148
02CA0D5C 0000BF34
0ACA1540 000000C8
02002FC4 00000000
4ACA1540 00000034
0A002FC4 00000001
02CA1540 00000031
0ACA1540 00000033
02002FC4 00000001
0ACA1540 00000032
02CA1540 00000099

Code:
$Majora's Mask -> 30 FPS Switch (Part 2) (AR Code) (PZLE01)
D2E68E26 00000000
C8E669FD 00000000
08002FC2 00000001
00E4FB82 00000003
88E4FB82 00000003
00E4DDF1 00000003
08E4DD13 00000002
00E4DD13 00000003
10E4DD13 00000000
00E4DD13 00000003
00000000 40000000
C8002FC2 00000000
00E4FB82 00000002
0AE697DC 00000302
00E4FB82 00000003
4AE68E26 00003208
0AE68DC0 0000100B
00E4FB82 00000003
0AE68E26 0000FF08
00E4FB82 00000003
08E68D76 00000001
00E4FB82 00000002
0AE69857 00000100
00E4FB82 00000002
08E68F28 00000001
00E4FB82 00000002
08CA4AB4 00000001
00E4FB82 00000002
C8E4FB82 00000002
00E4DDF1 00000002
02BE4DDE 00000006
02BE5432 00000000
32E68DE0 00004120
02E68DE4 0000BF34
0AE68FC4 000040E0
02E68DE4 0000BF34
0AE68FC4 00004110
02E68DE4 0000BF34
0AE68FC4 00004120
02E68DE4 0000BF34
4AE68E26 00005008
0AE68FC4 00004120
02E68DE4 0000BF00
4AE68E26 00003208
0AE68FC4 000040A0
04E68FCC 3F4CCCCD
4AE68E26 00003208
0AE68FC4 00004110
04E68FCC 3F4CCCCD
4AE68E26 00005008
0AE68FC4 000040E0
04E68FCC 3F333333
4AE68E26 00005008
0AE68FC4 00004110
04E68FCC 3F333333
4AE68E26 00005008
0AE68FC4 00004120
04E68FCC 3F333333
4AE68E26 0000C808
0AE68FC4 00004140
04E68FCC 3F800000
4AE68E26 0000C808
0AE68FC4 00004198
04E68FCC 3F800000
0CE68FCC 3FA00000
04E68FCC 3F900000
4AE68DE4 0000BFB3
0AE68FC4 00004140
02E68DE4 0000BFD0
4AE68DE4 0000BFB3
0AE68FC4 00004120
02E68DE4 0000BFD0
0AE68DE4 0000C0B0
02E68DE4 0000C050
0AE68FC4 00004150
02E68DE4 0000BF34
0AE68FC4 00004160
02E68DE4 0000BF34
0AE68FC4 00004170
02E68DE4 0000BF34
0AE69898 000000C8
02002FC4 00000000
4AE69898 00000034
0A002FC4 00000001
02E69898 00000031
0AE69898 00000033
02002FC4 00000001
0AE69898 00000032
02E69898 000000B7
50E4DD13 00000000
0CCBC0C4 00000000
00E4DD13 00000002
50E4DD13 00000000
0CCBC0C4 FFFFFFFE
00E4DD13 00000003

EDIT 01: Adjusted the 30 FPS code for Majora's Mask to be a bit more consistent during the Disc Booting, File Select Menu and save file open intro.
EDIT 02: Adjusted the 30 FPS codes of Ocarina of Time as well to keep the game intro cutscenes consistent at 20 FPS.
EDIT 03: Hmm, Ocarina of Time is still having some issues with the game intro cutscenes. I go check those out tomorrow.
EDIT 04: Ok... I updated the codes for Ocarina of Time once again. Hopefully the FPS during the intro cutscenes should stay at 20 while the FPS during the File Select should stay at 60.
EDIT 05: Updated the Switch Swords & Shields With C-Left / C-Right On Icon code to disable switching swords when it is stolen.
EDIT 06: Updated the Switch Swords & Shields With C-Left / C-Right On Icon code once more to disable switching to the Hero's Shield when it is stolen. Hopefully that makes the final update.
EDIT 07: I lied. Another update for the Switch Swords & Shields With C-Left / C-Right On Icon code. This time you can no longer switch swords when your sword is being reforged.
EDIT 08: Wow... The Switch Swords & Shields With C-Left / C-Right On Icon code is almost 200 lines of code now. Hurray!
EDIT 09: Fixed a bug with the Switch Swords & Shields With C-Left / C-Right On Icon code. The Permanent Razor Sword code is now built in.
EDIT 10: Optimized the The Switch Swords & Shields With C-Left / C-Right On Icon code from 201 lines of code to 195 lines of code. Less variables are now being messed with.
Super Mario 64 - Super Smash Bros. 64 - Mario Kart 64 - Zelda 64 - Star Fox 64 - Patreon - Discord
Find
Reply
08-12-2019, 08:50 PM (This post was last modified: 08-12-2019, 10:14 PM by Admentus.)
#10
Admentus Offline
Nothing but perfection for gaming
*******
Posts: 1,971
Threads: 25
Joined: May 2015
A new experimental code.

I wasn't able yet to find the transformation sequences for Goron, Zora and Hylian Form yet.

Code:
$Majora's Mask -> Transform With R + D-Pad (AR Code) (PZLE01)
D2E68E26 0000FF08
D2E68E26 00000000

50E68EBB 00000003 // Deku
0A1410C2 00000021
00E69104 00000020
08E69105 00000020
00E69104 00000005

50E68EBB 00000000 // Fierce Deity
0A1410C2 00000028
00E69104 00000024
08E69105 00000024
00E69104 00000005

I guess I have to experiment a bit further. If any one has an idea where RAM Address 80E69104 has the values (x00 - xFF ?) for Goron, Zora and Hylian Form, that would help.

Continuing fixing the Clock Timers:

Code:
$Majora's Mask -> 30 FPS Switch (Part 3) (AR Code) (PZLE01)
48E4FB85 00000020
08CBFE81 00000004
00E4FB82 00000003
48E4FB85 00000024
08CBFE81 00000004
00E4FB82 00000003
48E4FB85 0000006B
08CBFE84 00000004
00E4FB82 00000003
88E4FB82 00000003
0ACBFEEE 00001A5E
02CBFEEE 00001194
0ACBFEEE 00002328
02CBFEEE 00001770
0ACBFEEE 00004650
02CBFEEE 00002EE0
00000000 40000000
C8E4FB82 00000002
0ACBFEEE 00001194
02CBFEEE 00001A5E
0ACBFEEE 00001770
02CBFEEE 00002328
0ACBFEEE 00002EE0
02CBFEEE 00004650

- The Fisherman's Island Jumping Game, Treasure Chest Shop and Honey & Darling's minigames have a 50% longer timer in 30 FPS mode.
- The Goron Race, Town Shooting Gallery and Swamp Shooting Gallery minigames should now run at 20 FPS.

The following codes might also prove to be useful, if you don't like being bothered by it on each new cycle. The guards still block Deku Link of course.

Code:
$Majora's Mask -> No Blocking Guards (Hylian Form) (AR Code) (PZLE01)
00CBCFB4 00000030

$Majora's Mask -> No Goron Blocking Snowhead Temple (AR Code) (PZLE01)
00CBCFC6 000000F1

EDIT 1: Swamp Shooting Gallery now runs at 20 FPS. Adjusted the code logic.
EDIT 2: Extended the timer by 50% for the Fisherman's Island Jumping Game in 30 FPS mode.
EDIT 3: Add new code to skip talking with the Clock Town guards to pass through.
EDIT 4: Also added a skip for playing the Goron Lullaby.
Super Mario 64 - Super Smash Bros. 64 - Mario Kart 64 - Zelda 64 - Star Fox 64 - Patreon - Discord
Find
Reply
« Next Oldest | Next Newest »
Pages (10): 1 2 3 4 5 ... 10 Next »
Jump to page 


  • View a Printable Version
  • Subscribe to this thread
Forum Jump:


Users browsing this thread: 1 Guest(s)



Powered By MyBB | Theme by Fragma

Linear Mode
Threaded Mode