(12-21-2019, 11:30 PM)Admentus Wrote: [ -> ]Both AR and Gecko refer to the same RAM addresses. AR just uses different code types than Gecko. The code type is indicated by the first two digits of the address. Normally each RAM code addresses starts with 80 or 81. For addresses in the 81 space, just increment the code type by 1.
There isn't anything inherently wrong with AR or Gecko. Both have their own advantages and disadvantages. I mostly prefer AR, since that is what I am the most familiar with. Searching for addresses with Dolphin usually refers to AR, but as said by changing the code type and adding it in the Gecko section you can make an Gecko Code out of it, and vice versa.
Dolphin has a fairly in-depth guide on AR: https://github.com/dolphin-emu/dolphin/wiki/GameCube-Action-Replay-Code-Types.
For example, An 8-bit multi-line "while not equal, turn of all codes" conditional is indicated by C8 (or C9 for addresses in the 81 space) when using AR. I am not entirely sure Gecko supports the same conditional. However Gecko has for example the "On/Off Switch" which is assigned through the code line CC000000 00000000.
For example:
Code:
28134C58 00000008
00002FC2 00000000
CC000000 00000001
00002FC2 00000001
This toggles between the value 0 and 1 for 8-bit address 80002FC2 each time D-Pad Up is pressed.
There is an extensive code type guide on Gecko at: https://geckocodes.org/index.php?arsenal=1.
Make sure when trying to convert between AR and Gecko that your current functions and conditionals are supported in the other. Any issues that Dolphin previously had with Gecko seems to have been resolved by now. As long you keep to the latest development builds.
Simple writes are easy in both AR and Gecko. Both refer to the same code types. 00 or 01 for 8-bit writes, 02 or 03 for 16-bit writes and 04 or 05 for 32-bit writes. Nothing you need to change if all you are using are writes. Simple "if" conditional require some change. Gecko uses code type 28 or 29 for a 16-bit if while AR uses code type 0A or 0B for a 16-bit if. Actually... I am not even sure if Gecko supports an 8-bit "if". Gecko has great support for pointers through, which (confession time) I still completely suck at, which is also one of the reasons I stick to AR... For now... Most of the stuff I want to attempt works well enough with AR.
Personally I really love AR for their support with multi-line conditionals. Apply 00000000 40000000 each time you want to end the multi-line conditionals. It makes a lot of the magic possible. Well... I suppose it could be better. AR lacks a toggle function like mentioned for Gecko, which is onee of the reasons why some of the codes are partially (multi-part codes) in Gecko.
Now GameShark... That's completely horrible. I think it would be completely impossible to attempt to port the majority of the AR code I have worked on.
Dammit, it's tough.
hmm, and how the AR version of this code would look like for example?
C2AFF884 00000003 //Offplay Flag
7FC3F378 3A400001
C042FFF4 D042FFF0
60000000 00000000
If its too much work or anything, just say a word, I dont wanna bother you with this anymore

Thanks...
(12-30-2019, 02:16 AM)djneo Wrote: [ -> ]Dammit, it's tough.
hmm, and for how the AR version of this code would look like for example? 
C2AFF884 00000003 //Offplay Flag
7FC3F378 3A400001
C042FFF4 D042FFF0
60000000 00000000
If its too much work or anything, just say a word, I dont wanna bother you with this anymore 
Thanks...
Nah, it's fine. I do what I can. Or least, to how far my limits go.
Ok, so the following code is in Gecko if I am correctly.
C2AFF884 00000003 // Line 1
7FC3F378 3A400001 // Line 2
C042FFF4 D042FFF0 // Line 3
60000000 00000000 // Line 4
Line 1 is codetype C2
Line 2 is codetype 7F
Line 3 is codetype C0
Line 4 is special codetype, since it does not refer to a ram address?
What does each line's codetype mean?
Line 1 - C2: Insert ASM
Line 2 - 7F: I don't know
Line 3 - C0: Execute ASM, except it's not?
Line 4: ASM code fills all the line
Sadly, ASM is involved here. And I am not sure if Action Replay (AR) even supports that. The code you posted does not just write and check to the RAM. I never really worked with Gecko other than the On/Off Switch functionality, so I am not sure how to convert it to AR.
Any reason why you would want your code to be particular converted to AR?
well, some time ago I get this code from One More Try.
As it is its kinda buggy, so I cant really use it, unfortunately.
I already found the AR code that affects goalies, so that is good, but can't find as AR that other part that affects only "OFF PLAY ANIMATIONS".
This is how it all looks as Gecko.
$Goalies and Offplay
A8000000 00000000
C2AFF834 00000003 //Goalie Flag
7FC3F378 3A400001
C042FFF8 D042FFF0
60000000 00000000
C2AFF884 00000003 //Offplay Flag
7FC3F378 3A400001
C042FFF4 D042FFF0
60000000 00000000
C2AFF8D4 00000002 //Stop
3A400000 38030001
60000000 00000000
C2B22930 00000003 //Anim change
2C120001 40A2000C
C042FFF0 EC220072
38A00000 00000000
043421b8 3f3d70a4 //GOALIES ANIMATIONS
043421b4 3f733333 //OFFPLAY ANIMATIONS
E0000000 80008000
Hey so i found a way to get 32:9 aspect ratio to work for Master Quest on NTSC-U!
Using the widescreen hack and stretch to screen plus this AR code:
AR Code Widescreen Render Fix for 48:9 Aspect Ratio on TLOZ Ocarina of Time / Master Quest[/color]
04136840 C0B40000
It fixed any culling issues while keeping it at my aspect ratio, it may not be a perfect solution but it works!
found here:
https://forums.dolphin-emu.org/archive/index.php?thread-44089-6.html
Ok ok... My fault... I forgot to include Stone Tower and it's inverted version in the check.
Code:
$Majora's Mask -> Ocarina of Time Button Function (Elegy of Emptiness Statue) (PZLE01) (AR Code)
CC140978 4E5A5345
C8E669FD 00000000
08E69105 00000067
00E69104 00000005
18E4FB85 00000013
02002FB0 00000000
20E4FB85 00000056
02002FB0 00000000
08E4FB85 00000013
02002FB0 00000001
08E4FB85 00000016
02002FB0 00000001
08E4FB85 00000018
02002FB0 00000001
08E4FB85 0000001D
02002FB0 00000001
08E4FB85 00000053
02002FB0 00000001
08E4FB85 00000056
02002FB0 00000001
08E4FB85 00000058
02002FB0 00000001
08E4FB85 00000059
02002FB0 00000001
60E4FB85 00000013
18E4FB85 00000016
02002FB0 00000000
60E4FB85 00000016
18E4FB85 00000018
02002FB0 00000000
60E4FB85 00000018
18E4FB85 0000001D
02002FB0 00000000
60E4FB85 0000001D
18E4FB85 00000053
02002FB0 00000000
60E4FB85 00000053
18E4FB85 00000056
02002FB0 00000000
CA002FB0 00000001
D2E68E26 0000FF08
D0C8A807 00000001
F8CBC16E 00000002
4A1410C2 00000800
08CBC0FD 00000000
00E69104 00000067
4A1410C2 00000010
08CBC0FE 00000000
00E69104 00000067
4A1410C2 00000400
08CBC0FF 00000000
00E69104 00000067
* For the GameCube Controller. Assign the Ocarina of Time to a C-button and then press the corresponding X, Y or Z button (which acts as duplicates for the C-buttons). Only works in areas that allow for the Elegy of Emptiness Statue to be summoned.
EDIT 1: Fixed an issue with using the Ocarina's secondary button when in the Pause Menu.
EDIT 2: Fixed an issue with the code not working within the Inverted Stone Tower Temple.
I found some interesting additions for Ocarina of Time recently
Code:
$Master Quest -> Play Ocarina With D-Pad Right (D43E01) (AR Code)
CCACCC19 31343A30
CCACCC1D 353A3432
D0CA22DE 0000FF08
D0CA2A71 00000001
D0CA2236 00000001
C8CA0615 00000000
A0BE1863 00000006
98BE1863 00000009
8A132F38 00000002
88CA28CD 00000000
08BE1863 00000007
00CA2374 0000001C
08BE1863 00000008
00CA2374 0000001D
00CA28CD 00000004
00000000 40000000
Yup. This means you can have a permanent button for the Fairy Ocarina or Ocarina of Time. I should port this to the other versions soon, and preferably for Majora's Mask as well.
Also, I finally managed to find a solution for the Quick Boots Swap code. Here are some of the RAM addresses I have to account for in the code:
Code:
--- Turning Speed ---
80C8E73A 0x07D0 (Kokiri / Hover)
0x01F4 (Iron)
--- Walk Animation Rate ---
80C8E750 0x0190 (Kokiri - Child)
0x015E (Kokiri - Adult)
0x0000 (Iron)
0x0258 (Hover)
--- Walk Speed ---
80C8E75E 0x0226 (Kokiri - Child / Hover)
0x0258 (Kokiri - Adult)
0x012C (Iron)
--- Walk Animation Peak ---
80C8E764 0x0172 (Kokiri / Hover)
0x0064 (Iron)
--- Link's Gravity ---
80C8E78D 0x9C (Kokiri / Hover)
0x60 (Iron)
The code will be updated soon.
This is it!
Code:
$Master Quest -> Equip Boots With L + D-Pad (D43E01) (AR Code)
CCACCC19 31343A30
CCACCC1D 353A3432
8A132F38 00000048
8CBE17EC 00000000
88CA0615 00000000
90CA236F 00000000
20BE1858 00000014
80BE1858 000000F0
00CA236F 00000000
02C8E73A 000007D0
02C8E750 0000015E
02C8E75E 00000258
02C8E764 00000172
00C8E78D 0000009C
00000000 40000000
8A132F38 00000041
8CBE17EC 00000000
88CA0615 00000000
B8BE1884 00000020
90CA236F 00000001
18BE1858 00000014
80BE1858 00000010
20BE1858 00000030
80BE1858 000000F0
00CA236F 00000001
02C8E73A 000001F4
02C8E750 00000000
02C8E75E 0000012C
02C8E764 00000064
00C8E78D 00000060
BCCA289C 08000000
02C8E750 00000032
02C8E75E 00000226
00C8E78D 000000D8
00000000 40000000
8A132F38 00000042
8CBE17EC 00000000
88CA0615 00000000
B8BE1884 00000040
90CA236F 00000002
18BE1858 00000030
80BE1858 00000010
00CA236F 00000002
02C8E73A 000007D0
02C8E750 00000258
02C8E75E 00000226
02C8E764 00000172
00C8E78D 0000009C
00000000 40000000
* L + D-Pad Up for Kokiri Boots
* L + D-Pad Left for Iron Boots & must have Iron Boots in possession
* L + D-Pad Right for Hover Boots & must have Hove Boots in possession
* Must be activated In-Game as Adult Link
The code should now properly account for adjusting the speed and animation values when switching between boots. Equiping the Iron Boots while swimming is also accounted for!
EDIT:
Got one for Majora's Mask as well!
Code:
$Majora's Mask -> Play Ocarina With D-Pad Right (PZLE01) (AR Code)
CC140978 4E5A5345
D0E68E26 0000FF08
C8E669FD 00000000
C8C8C8DC 00000000
C8CBC120 00000000
8A1410C2 00000002
48E69815 00000000
00E68EBA 00000014
00E69815 00000005
00000000 40000000
One more code for Majora's Mask!
Code:
$Majora's Mask -> Use Pictograph Box With R + Y (PZLE01) (AR Code)
CC140978 4E5A5345
D0E68E26 0000FF08
C8E669FD 00000000
C8C8C8DC 00000000
C8CBC120 00000000
4A1410C2 00000820
08E69815 00000000
00E69815 00000002
And I ended up changing another code yet again...
Code:
$Majora's Mask -> Elegy of Emptiness Statue With R + X (PZLE01) (AR Code)
CC140978 4E5A5345
C8E669FD 00000000
08E69105 00000067
00E69104 00000005
18E4FB85 00000013
02002FB0 00000000
20E4FB85 00000056
02002FB0 00000000
08E4FB85 00000013
02002FB0 00000001
08E4FB85 00000016
02002FB0 00000001
08E4FB85 00000018
02002FB0 00000001
08E4FB85 0000001D
02002FB0 00000001
08E4FB85 00000053
02002FB0 00000001
08E4FB85 00000056
02002FB0 00000001
08E4FB85 00000058
02002FB0 00000001
08E4FB85 00000059
02002FB0 00000001
60E4FB85 00000013
18E4FB85 00000016
02002FB0 00000000
60E4FB85 00000016
18E4FB85 00000018
02002FB0 00000000
60E4FB85 00000018
18E4FB85 0000001D
02002FB0 00000000
60E4FB85 0000001D
18E4FB85 00000053
02002FB0 00000000
60E4FB85 00000053
18E4FB85 00000056
02002FB0 00000000
CA002FB0 00000001
C8CBC120 00000000
D2E68E26 0000FF08
D0C8A807 00000001
F8CBC16E 00000002
0A1410C2 00000420
00E69104 00000067
* For the GameCube Controller. Assign the Ocarina of Time to a C-button and then press the corresponding X, Y or Z button (which acts as duplicates for the C-buttons). Only works in areas that allow for the Elegy of Emptiness Statue to be summoned. Requires the Ocarina of Time to be in your possession.
This is extremely epic!
This code basically restores the original credits scene to be the in-game engine rather than the prerendered video. Ozidual's GC2N64 Restoration Patch also restored this, but now you can restore the credits without patching your disc. Other versions of course will also be ported.
Code:
$Master Quest -> Credits Fix (D43E01) (AR Code)
CCACCC19 31343A30
CCACCC1D 353A3432
4ACA23DE 00002450
08CA22F8 000000FF
00CA22F8 000000FE
48CA22F8 000000FE
00BE17EB 00000029
00BE17F3 000000F1
Continuing where I left of. Haven't tested the Credits Fix code yet, but the values do match
Code:
$Ocarina of Time -> Credits Fix (D43E01) (AR Code)
CCACCC19 31333A32
CCACCC1D 383A3039
4ACA241E 00002450
08CA2338 000000FF
00CA2338 000000FE
48CA2338 000000FE
00BE180B 00000029
00BE1813 000000F1
$Ocarina of Time -> Play Ocarina With D-Pad Right (D43E01) (AR Code)
CCACCC19 31333A32
CCACCC1D 383A3039
D0CA231E 0000FF08
D0CA2AB1 00000001
D0CA2276 00000001
C8CA0655 00000000
A0BE1883 00000006
98BE1883 00000009
8A132F38 00000002
88CA290D 00000000
08BE1883 00000007
00CA23B4 0000001C
08BE1883 00000008
00CA23B4 0000001D
00CA290D 00000004
00000000 40000000
$Ocarina of Time -> Equip Boots With L + D-Pad (D43E01) (AR Code)
CCACCC19 31333A32
CCACCC1D 383A3039
8A132F38 00000048
8CBE180C 00000000
88CA0655 00000000
90CA23AF 00000000
20BE1878 00000014
80BE1878 000000F0
00CA23AF 00000000
02C8E77A 000007D0
02C8E790 0000015E
02C8E79E 00000258
02C8E7A4 00000172
00C8E7CD 0000009C
00000000 40000000
8A132F38 00000041
8CBE180C 00000000
88CA0655 00000000
B8BE18A4 00000020
90CA23AF 00000001
18BE1878 00000014
80BE1878 00000010
20BE1878 00000030
80BE1878 000000F0
00CA23AF 00000001
02C8E77A 000001F4
02C8E790 00000000
02C8E79E 0000012C
02C8E7A4 00000064
00C8E7CD 00000060
BCCA28DC 08000000
02C8E790 00000032
02C8E79E 00000226
00C8E7CD 000000D8
00000000 40000000
8A132F38 00000042
8CBE180C 00000000
88CA0655 00000000
B8BE18A4 00000040
90CA23AF 00000002
18BE1878 00000030
80BE1878 00000010
00CA23AF 00000002
02C8E77A 000007D0
02C8E790 00000258
02C8E79E 00000226
02C8E7A4 00000172
00C8E7CD 0000009C
00000000 40000000
* L + D-Pad Up for Kokiri Boots
* L + D-Pad Left for Iron Boots & must have Iron Boots in possession
* L + D-Pad Right for Hover Boots & must have Hove Boots in possession
* Must be activated In-Game as Adult Link
EDIT 1: Included Play Ocarina With D-Pad Right code.
EDIT 2: Included Equip Boots With L + D-Pad code.
EDIT 3: Fixed turning speed bug for the Equip Boots With L + D-Pad code (both versions of D43E01, check 3 posts back for updated MQ code).
EDIT 4: Sorry my bad, the Play Ocarina With D-Pad Right code was from the MQ version.
EDIT 5: Unbelievable... I keep messing up the Play Ocarina With D-Pad Right code. It should be correct now hopefully for real.