The following warnings occurred: | |||||||||||||||
Warning [2] Undefined property: MyLanguage::$archive_pages - Line: 2 - File: printthread.php(287) : eval()'d code PHP 8.2.18 (Linux)
|
Instant Transmission Switch [Anarion] - Printable Version +- Mario Kart Wii Gecko Codes, Cheats, & Hacks (https://mariokartwii.com) +-- Forum: Cheat Codes (https://mariokartwii.com/forumdisplay.php?fid=51) +--- Forum: Offline Non-Item (https://mariokartwii.com/forumdisplay.php?fid=53) +--- Thread: Instant Transmission Switch [Anarion] (/showthread.php?tid=778) Pages:
1
2
|
Instant Transmission Switch [Anarion] - Vega - 07-12-2018 Instant Transmission Switch [Anarion] NOTE: Only works consistently on Dolphin Emulator. Works for both online and offline. You can change transmissions/drift-modes live in race. The race/battle starts with a default state of being in Manual. So if you choose Auto and the race/battle starts, you will start off as Manual still until you hit your button activator/deactivator. NTSC-U 2834XXXX YYYYZZZZ C258FDC0 00000003 7C8C2378 80840014 60840010 908C0014 60000000 00000000 CC000000 00000000 C258FDC0 00000003 7C8C2378 80840014 54840734 908C0014 60000000 00000000 E0000000 80008000 PAL 2834XXXX YYYYZZZZ C25965E4 00000003 7C8C2378 80840014 60840010 908C0014 60000000 00000000 CC000000 00000000 C25965E4 00000003 7C8C2378 80840014 54840734 908C0014 60000000 00000000 E0000000 80008000 NTSC-J 2834XXXX YYYYZZZZ C2595F64 00000003 7C8C2378 80840014 60840010 908C0014 60000000 00000000 CC000000 00000000 C2595F64 00000003 7C8C2378 80840014 54840734 908C0014 60000000 00000000 E0000000 80008000 NTSC-K 2833XXXX YYYYZZZZ C258463C 00000003 7C8C2378 80840014 60840010 908C0014 60000000 00000000 CC000000 00000000 C258463C 00000003 7C8C2378 80840014 54840734 908C0014 60000000 00000000 E0000000 80008000 Sources: #Set Auto mr r12, r4 lwz r4, 0x0014 (r4) ori r4, r4, 0x0010 #Turn on Bit, auto is enabled stw r4, 0x0014 (r12) #Set Manual mr r12, r4 lwz r4, 0x0014 (r4) rlwinm r4, r4, 0, 28, 26 #Turn off Bit, manual is enabled stw r4, 0x0014 (r12) Code creator: Anarion Code credits: JoshuaMK (figured out bit flips, added ability for code to also work online) RE: Instant Transmission Switch (Offline only) [Anarion] - JoshuaMK - 02-03-2020 Does this address only break offline? Or is it simply that the pointer changes in a way that makes this unusable online? RE: Instant Transmission Switch (Offline only) [Anarion] - Vega - 02-07-2020 This breaks online. This code doesn't work online but it I think that's because Anarion made it incorrectly. He sets r4 to either 0x12 or 0x02. However, when I broke this address then stepped once, my r4 value is 0x16. It's obvious there are more values, and there's some bit reading going on in the next instructions. RE: Instant Transmission Switch (Offline only) [Anarion] - FancyWheelies - 02-07-2020 hai jooshua, wen sd ghosts kod?? RE: Instant Transmission Switch (Offline only) [Anarion] - JoshuaMK - 02-07-2020 Thank you. Do you know of any code that only breaks offline? Also, bit 27 is for auto/manual flag. I'm still unsure what bits 28-31 are used for. Bit 20 if set to 1 disables everything except wheelies. Iirc bit 21 is an on/off flag for the end race camera/cpu control of the player (setting this in race sets the camera, but makes your position cease updating) So in theory, XORing the bit should work: (NTSC-U) C258FDC0 00000005 3D80XXXX A18CYYYY 718CZZZZ 41820010 81840014 698C0010 91840014 80840014 60000000 00000000 (PAL) C25965E4 00000005 3D80XXXX A18CYYYY 718CZZZZ 41820010 81840014 698C0010 91840014 80840014 60000000 00000000 (NTSC-J) C2595F64 00000005 3D80XXXX A18CYYYY 718CZZZZ 41820010 81840014 698C0010 91840014 80840014 60000000 00000000 (NTSC-K) C258463C 00000005 3D80XXXX A18CYYYY 718CZZZZ 41820010 81840014 698C0010 91840014 80840014 60000000 00000000 .set region, '' #Must set region value, or else source will not compile .if (region == 'E' || region == 'e') # RMCE .macro controller_address lis r12, 0x8034 .endm .elseif (region == 'P' || region == 'p') # RMCP .macro controller_address lis r12, 0x8034 .endm .elseif (region == 'J' || region == 'j') # RMCJ .macro controller_address lis r12, 0x8034 .endm .elseif (region == 'K' || region == 'k') # RMCK .macro controller_address lis r12, 0x8033 .endm .else # Invalid Region .abort .endif lis r12, controller_address lhz r12, 0x3E80 (r12) andi. r12, r12, 0x90 #Z button beq noPress lwz r12, 0x14 (r4) xori r12, r12, 0x10 stw r12, 0x14 (r4) noPress: lwz r4, 0x14 (r4) XXXX = Upper Controller Address YYYY = Lower Controller Address ZZZZ = Button to Press RE: Instant Transmission Switch (Offline only) [Anarion] - Vega - 02-07-2020 It works, updated thread. Added you to credits. Great job! RE: Instant Transmission Switch [Anarion] - JoshuaMK - 02-07-2020 The code in the thread doesn't need the 28 type if statement. The code is built so when you press the button, it automatically toggles it on/off/on/off What I put is all that i needed RE: Instant Transmission Switch [Anarion] - Vega - 02-07-2020 I tried your version initially and there were odd effects going on. Example, every now and then I was forced into a never ending sliding effect. RE: Instant Transmission Switch [Anarion] - JoshuaMK - 02-07-2020 Weird. I wonder if r12 is reeeally safe. I will do more testing cause I want this to work without 28 type RE: Instant Transmission Switch [Anarion] - Vega - 02-07-2020 The source for the 28 codetype uses r12 and there's no issues. I think the issue with your ASM source is that it causes the transmission to switch almost every frame til the user lets go of the button. Maybe this causes some corruption in the game. |