Nop world [Gaberboo] - Printable Version +- Mario Kart Wii Gecko Codes, Cheats, & Hacks (https://mariokartwii.com) +-- Forum: Cheat Codes (https://mariokartwii.com/forumdisplay.php?fid=51) +--- Forum: Misc/Other (https://mariokartwii.com/forumdisplay.php?fid=55) +--- Thread: Nop world [Gaberboo] (/showthread.php?tid=2006) |
Nop world [Gaberboo] - Gaberboo - 12-16-2022 Over the many years of Wii and GameCube modding, there have a countless number of nop codes. These codes are often simple and basic, which saddens an advanced nop coder like me. For me, I find nops to be an impressive invention of coders, they advance the PC, and in beautiful elegance do nothing else. In my journey of nop coding, I encountered an issue, when I tried maximizing the amount of nops in memory, I found myself limited by the measly 88 MiB of total main memory. My attempts to use IBATs to duplicate the memory were in vain, as their limited quantity and flexibility did not allow for making the entire address space nop. I had to resign to infinite nops being continually assisted by non-nop instructions. This all changed when I discovered the page table, with this amazing new way of controlling memory, I could duplicate a 4 KiB region of memory almost an unlimited amount of times. Only filling one page with nops, I could fill all of virtual memory. With this sudden discovery I went hard at work to make a new code (that unfortunately could not be made of nops) to realize my dream of unlimited nops. It would be a shame if I didn't share my code and resigned others to an imperfect nopping solution, so here it is. NOTE: This code makes use of memory addresses 0x00000000 thru 0xFFFFFFFF. Make sure no other codes in your GCT/Cheat-Manager are using those addresses! Region-free and any game C0000000 00000027 7FE000A6 57E7045E 7CE00124 54ED0732 7DBB03A6 429F0005 7C4802A6 544200BE 38420014 7C5A03A6 4C000064 3C400080 604D003F 7C0004AC 7DB903A6 4C00012C 7C4D1378 3BE00000 3C20000F 6021FFFF 7C2903A6 93ED0000 97ED0004 4200FFFC 38200400 7C2903A6 3DA00100 3C206000 902D0000 942D0004 7C0068AC 7C006FAC 4200FFF4 3DA00100 3DC01000 57EAD2B2 7E225214 48000008 3A310008 81F10000 2C0F0000 4180FFF4 57FE56BE 67DE8000 91B10004 7C0006AC 93D10000 7C0004AC 3BFF1000 7C1F7040 4180FFC4 38000000 7C0001A4 7C0101A4 7C0201A4 7C0301A4 7C0401A4 7C0501A4 7C0601A4 7C0701A4 7C0801A4 7C0901A4 7C0A01A4 7C0B01A4 7C0C01A4 7C0D01A4 7C0E01A4 7C0F01A4 7C1083A6 7C1283A6 7C1483A6 7C1683A6 7C108BA6 7C128BA6 7C148BA6 7C168BA6 7CFB03A6 4C000064 Code: mfmsr r31 RE: Nop world [Gaberboo] - Vega - 12-17-2022 This is pretty crafty! I love these "proof of concept" type codes. Will this only work on real Hardware (and what about Hollywood registers too)? On my Dolphin (fyi archaic version I'm using), not all of memory was nopped. Mem80 was not effected by the nops (PTEs are there though) Also I noticed you are using eieio and sync. As far as store gathering is concerned, SGE being low (disable store gathering) in HID0 should override a low G bit (enable store gathering) in your PTE WIMG. Some food for thought, you could use the FPRs (double precision) for doing quick stores in a loop. plus store gathering cannot be done for floating point stores no matter what. RE: Nop world [Gaberboo] - Gaberboo - 12-17-2022 Mem 0x80000000 is translates to a nopped page for instructions, not data, which means it will only appear nopped in the code tab and not the memory tab on Dolphin RE: Nop world [Gaberboo] - Vega - 12-17-2022 It was on my code tab. Therefore, the version of Dolphin that I use (10886) does not work with the code. I really need to upgrade (lol). |