Welcome, Guest
You have to register before you can post on our site.

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 254
» Latest member: lina
» Forum threads: 1,165
» Forum posts: 4,564

Full Statistics

Online Users
There are currently 51 online users.
» 0 Member(s) | 48 Guest(s)
Bing, Google, Yandex

Latest Threads
MKW Coder/Developer of th...
Forum: Hacking General Discussion
Last Post: Ro_
3 hours ago
» Replies: 2
» Views: 2,584
How to bypass ANY ban on ...
Forum: Other
Last Post: Jeffy/Wrath
4 hours ago
» Replies: 6
» Views: 859
Make it to 10,000
Forum: General Discussion
Last Post: Fzerowii
6 hours ago
» Replies: 550
» Views: 136,875
Checkpoint Region Display...
Forum: Time Trials & Battle
Last Post: Vega
Yesterday, 01:51 PM
» Replies: 11
» Views: 2,422
Bullet Bill Speed Modifie...
Forum: Offline; Item
Last Post: CLF78
Yesterday, 01:07 PM
» Replies: 1
» Views: 1,932
Ghost Manager
Forum: Hacking General Discussion
Last Post: WhatisLoaf
Yesterday, 10:22 AM
» Replies: 4
» Views: 290
What got you into Hacking...
Forum: Hacking General Discussion
Last Post: Ragemodepigeon
09-17-2020, 05:46 PM
» Replies: 16
» Views: 7,901
Stalking [mdmwii]
Forum: Online Non-Item
Last Post: Vega
09-16-2020, 12:03 AM
» Replies: 8
» Views: 2,437
Positional Shared Item [S...
Forum: Online; Item
Last Post: xX tRoLLeR Xx
09-15-2020, 10:24 PM
» Replies: 14
» Views: 5,431
Mega Cloud [_tZ]
Forum: Offline; Item
Last Post: Jeffy/Wrath
09-15-2020, 04:21 PM
» Replies: 6
» Views: 433

 
  Star Effect on Button Press
Posted by: Unnamed - 09-14-2020, 10:25 AM - Forum: Code Support / Help / Requests - No Replies

Hello,

The Mega and Star Cloud code are very fine, but is there a way to change the hook address so that the code works on an activator. I tried Joshua's Mega Cloud Code and changed the hook address to the milliseconds timer address, but I did not get it right (it froze me). Apparently I used an unsafe register.

Maybe someone could help me with this.

Print this item

  Disable Ghost Race Lap Split Difference Text [Diamond]
Posted by: Diamond - 09-12-2020, 05:02 AM - Forum: Time Trials & Battle - No Replies

Disable Ghost Race Lap Split Difference Text [Diamond]

Disables the lap split difference text during a ghost race.

NTSC-U
04842338 60000000

PAL
047EE79C 60000000

NTSC-J
047EDE08 60000000

NTSC-K
047DCB5C 60000000

Print this item

  Universal IOS [Vega]
Posted by: Vega - 09-12-2020, 01:04 AM - Forum: Misc/Other - No Replies

Universal IOS [Vega]

Region-Free; Works for all Wii games. Works for both Wii Console and Dolphin (Wii U is untested).

Tired of C0 codetype botching built-in-game IOS function calls?
Tired of having to find the IOS symbols for your Wii game?
Tired of Wiimmfi blocking IOS_open? (though this can easily be patched by a security update)

Well the snippet of source below is a universal IOS function. It does not depend on any functions that already exist in your Wii game. It is completely self contained and relies on nothing. To achieve this, the IPC registers and IRQ handler are utilized. Just add this snippet of source (as a function call; function label name is universal_ios_function) to your current source. Call the function with the proper args and check return values according to your needs.

The way this source utilizes IPC+IRQ is 'hacky'. It's not 100% correct to how Wii games or HBC apps exactly do it. But it's 'good enough' to get the job done and keep this source as short as possible. Therefore, this source should NOT be assumed to be as dependable as plain jane in-game IOS function calls.

Args for Universal IOS function:
r3 = IOS command (see values below)
r4 = Pointer to IOS structure (this is a 0x40-byte allocated space in memory of your liking, it MUST be 32 byte aligned)
r5 = IOS's arg 1
r6 = IOS's arg 2 (if applicable)
r7 = arg 3 (if applicable)
... ...
r10 = arg 6 (if applicable)

Return values for Universal IOS
All standard IOS return values apply, however I did add one extra custom return value just in case...
-5 = Starlet hasn't received the IOS structure pointer (reply pointer was null; there was a previous IPC call already in the making???)

I could have added like 20 more custom return values (due to basic checks for IOS command, basic check for IOS structure alignment, and various checks for specific IOS stuff before calling IPC), but I figured whoever uses this source should be well rehearsed in ASM to know what they are doing.

Btw, you can use this for ISFS work (such as Create File, Delete File, etc) as long as you know all the Ioctl args and buffer stuctures.

Another fyi: If you are using this for opening NAND files (like ISFS does), make sure /dev/fs (permissions arg of 0) is open beforehand. Most Wii games do this on the very first few frames after boot. If you are using this in a C0 code, the C0 code executes before /dev/fs is opened by the game, so you will need to open /dev/fs beforehand unless you do some delayed execution like with a button activator.

r3 IOS command values:
1 = Open
2 = Close
3 = Read
4 = Write
5 = Seek
6 = Ioctl
7 = Ioctlv

Licensed under GPLv2 (notice of license in source)

Code creator: Vega
Code credits: Segher, Tmbinc, & Bushing (authors of the original ipc.c on WiiBrew)

~Source~

Code:
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, version 2.0.

// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License 2.0 for more details.

#Start Assembly

#Prologue
universal_ios_function:
stwu sp, -0x0010 (sp)
mflr r0
stw r0, 0x0014 (sp)
stmw r30, 0x8 (sp)

#Disable External Interrupts
mfmsr r0
rlwinm r11, r0, 0, 17, 15 #Flip off 'Allow interrupts' bit
mtmsr r11 #Update MSR
rlwinm r12, r0, 17, 31, 31 #Backup modified MSR state

#Backup 1st two Args
mr r31, r3
mr r30, r4

#r5 thru r8 remain untouched before final subroutine involving IPC, no need to back up them
#r9 and r10 remain untouched the entire time, no need to back them up

#Determine what IOS command is being utilized
cmpwi r31, 1
beq- universal_open
cmpwi r31, 2
beq- universal_close
cmpwi r31, 5
beq- universal_seek
cmpwi r31, 6
beq- universal_ioctl
cmpwi r31, 7
beq- universal_ioctlv

#Read/Write is being used
universal_readwrite:
#r5 = fd
#r6 = Input/Output Buffer
#r7 = Size

#Check if read (invalidate) or write (flush), adjust cache accordingly for IOS's 2nd arg
mr r3, r6
mr r4, r7
cmpwi r31, 3
beq- its_read

#IOS_Write is being used, flush the input buffer
bl data_cache_flush
b done_with_cache

#IOS_Read is being used, invalidate the output buffer
its_read:
bl data_cache_invalidate

#Store fd, and other args to IOS structure; any mem pointer that is sent will be sent physically
done_with_cache:
stw r5, 0x8 (r30)
clrlwi r0, r6, 1
stw r0, 0xC (r30)
stw r7, 0x10 (r30)

#Prep IOS structure, run IPC
b flush_ios_structure_then_run_ipc

#IOS_Open
universal_open:
#r5 = Pointer
#r6 = Permissions

#Figure out file path byte length
addi r3, r5, -1
li r4, 0 #Use r3 for counter for upcoming subroutine call (has 1 arg)
file_path_counter:
addi r4, r4, 1
lbzu r0, 0x1 (r3)
cmpwi r0, 0
bne+ file_path_counter

#Flush file path; r4 already set
mr r3, r5
bl data_cache_flush

#Store args to IOS structure; any mem pointer that is sent will be sent physically
clrlwi r0, r5, 1
stw r0, 0xC (r30) #No fd to store at 0x8
stw r6, 0x10 (r30)

#Prep IOS structure, run IPC
b flush_ios_structure_then_run_ipc

#IOS_Close
universal_close:
#r5 = fd
#Store fd to IOS structure
stw r5, 0x8 (r30)

#Prep IOS structure, run IPC
b flush_ios_structure_then_run_ipc

#IOS_Seek
universal_seek:
#r5 = fd
#r6 = Offset from Location Mode
#r7 = Location Mode

#Store fd and other args to IOS structure
stw r5, 0x8 (r30)
stw r6, 0xC (r30)
stw r7, 0x10 (r30)
b flush_ios_structure_then_run_ipc

#IOS_Ioctl
universal_ioctl:
#r5 = fd
#r6 = ioctl_no
#r7 = inbuf
#r8 = size of inbuf
#r9 = outbuf
#r10 = size of outbuf

#Flush Input Buffer
mr r3, r7
mr r4, r8
bl data_cache_flush

#Invalidate Output Buffer
mr r3, r9
mr r4, r10
bl data_cache_invalidate

#Store fd and other args to IOS structure; any mem pointer that is sent will be sent physically
stw r5, 0x8 (r30)
stw r6, 0xC (r30)
clrlwi r0, r7, 1
stw r0, 0x10 (r30)
stw r8, 0x14 (r30)
clrlwi r0, r9, 1
stw r0, 0x18 (r30)
stw r10, 0x1C (r30)
b flush_ios_structure_then_run_ipc

#IOS_Ioctlv
universal_ioctlv:
#r5 = fd
#r6 = ioctl_no
#r7 = number of input buffers
#r8 = number of output buffers
#r9 = pointer to Vector table

#Flush entire Vector Table
mr r3, r9
add r4, r7, r8 #Input + Output Buffers
bl data_cache_flush

#Store fd and other args to IOS structure; any mem pointer that is sent will be sent physically
stw r5, 0x8 (r30)
stw r6, 0xC (r30)
stw r7, 0x10 (r30)
stw r8, 0x14 (r30)
clrlwi r0, r9, 1
stw r0, 0x18 (r30)
b flush_ios_structure_then_run_ipc

#Subroutine for data cache flush
data_cache_flush:
rlwinm r11, r3, 0, 27, 31
add r4, r4, r11
addi r4, r4, 31
rlwinm r0, r4, 27, 5, 31
mtctr r0
flush_loop:
dcbf 0, r3
addi r3, r3, 32 #Move on to next cache block (each block is 0x20 in size)
bdnz+ flush_loop
sc #Update HID0
blr

#Subroutine for data cache invalidate
data_cache_invalidate:
rlwinm r11, r3, 0, 27, 31
add r4, r4, r11
addi r4, r4, 31
rlwinm r0, r4, 27, 5, 31
mtctr r0
inval_loop:
dcbi 0, r3
addi r3, r3, 32 #Move on to next cache block (each block is 0x20 in size)
bdnz+ inval_loop
blr

#Flush first 0x20 bytes of IOS structure
flush_ios_structure_then_run_ipc:
stw r31, 0 (r30) #Store IOS command
mr r3, r30
li r4, 0x20
bl data_cache_flush

#Run the IPC Engine

#Set Hollywood IPC/IRQ upper 16 bits
lis r6, 0xCD00 #You think this would be 0xCD80, but this is how Wii games do it.

#Send IOS structure pointer (physical) to IPC_PPCMSG
clrlwi r0, r30, 1
stw r0, 0 (r6)

#Tell IPC_PPCCTRL to execute command
lwz r0, 0x4 (r6)
clrrwi r0, r0, 4
ori r0, r0, 0x0001
stw r0, 0x4 (r6)

#Wait for Starlet to acknowledge our command
check_for_acknowledge:
lwz r0, 0x4 (r6)
andi. r0, r0, 0x22 #Check if IY2 and Y2 bits were flipped high by Starlet
cmpwi r0, 0x22
bne- check_for_acknowledge

#Starlet has acknowledged, rewrite Acknowledge bit flipped high to clear it
#Then disable IRQ-30, and now wait for Starlet to execute the command & have pointer (physical IOS structure) avialable in IPC_ARMMSG
lwz r0, 0x4 (r6)
clrrwi r0, r0, 4
ori r0, r0, 0x0002
stw r0, 0x4 (r6)

lis r5, 0x4000 #Keep value in r5 for later secondary use
stw r5, 0x30 (r6)

check_if_executed:
lwz r0, 0x4 (r6)
andi. r0, r0, 0x14
cmpwi r0, 0x14
bne- check_if_executed

#Check if pointer is available in IPC_ARMMSG
lwz r4, 0x8 (r6) #Using r4 due to upcoming addis instruction
cmpwi r4, 0
li r3, -5
beq- restore_interrupts #No pointer, somehow a different IPC call was being done during our work?

#Turn IOS structure pointer back to virtual, then invalidate the first 0x20 bytes
addis r3, r4, 0x8000 #Could also just use mr r4, r30 here, w/e works
li r4, 0x20
bl data_cache_invalidate

#Starlet has executed our command, rewrite Execute bit flipped high to clear it
#Then disable IRQ-30 one more time, is is needed or else next IOS call keep IPC_PPCMSG at 0x31 forever...
lwz r0, 0x4 (r6)
clrrwi r0, r0, 4
ori r0, r0, 0x0004
stw r0, 0x4 (r6)
stw r5, 0x30 (r6)

#Set IPC_PPCMSG X bits to relaunch
lwz r0, 0x4 (r6)
clrrwi r0, r0, 4
ori r0, r0, 0x0008
stw r0, 0x4 (r6)

#Put return value into r3
lwz r3, 0x4 (r30)

#Restore External Interrupts
restore_interrupts:
cmpwi r12, 0
mfmsr r4
beq- clear_bit
ori r0, r4, 0x8000 #Flip on 'Allow Interrupts' bit
b skip_clear_bit
clear_bit:
rlwinm r0, r4, 0, 17, 15
skip_clear_bit:
mtmsr r0

#Epilogue; r3 contains return value
epilogue:
lmw r30, 0x8 (sp)
lwz r0, 0x0014 (sp)
mtlr r0
addi sp, sp, 0x0010
blr

Print this item

  LE-CODE Loader [Leseratte]
Posted by: CLF78 - 09-09-2020, 10:20 PM - Forum: Misc/Other - No Replies

This code loads the LE-CODE binaries to patch the game. More info here: http://wiki.tockdom.com/wiki/LE-CODE
NOTE: This requires you to place the le-code .bin files in the rel folder, just like normal LE-CODE.

NTSC-U
C21A6C90 0000003E
9421FED8 7C0802A6
9001012C BEE10104
48000019 2F72656C
2F6C6563 6F64652D
5553412E 62696E00
3861003C 3C80FFFF
6084FFE0 7C7B2038
3B9B0060 7C6802A6
7F64DB78 3CA08016
38A5E21C 7CA903A6
4E800421 2C030000
4182008C 7F63DB78
7F84E378 38A00020
38C00000 38E00002
3D008016 3908E794
7D0903A6 4E800421
835C0010 7F63DB78
809C000C 80BC0014
38C00000 38E00002
3D008016 3908E794
7D0903A6 4E800421
7F63DB78 3D008016
3908E4C8 7D0903A6
4E800421 7F43D378
2C030000 4182000C
7C6903A6 4E800421
BAE10104 8001012C
7C0803A6 38210128
4E800020 480000E1
4661696C 65642074
6F206C6F 6164204C
452D434F 44452065
7874656E 73696F6E
20666F72 204D6172
696F204B 6172742E
0A0A5468 61742075
7375616C 6C79206D
65616E73 20746865
20696D61 67652069
7320636F 72727570
74656420 616E642F
6F722069 730A6D69
7373696E 67207265
71756972 65642066
696C6573 2E205472
79207265 6275696C
64696E67 20746865
20646973 74726962
7574696F 6E2E0A49
66207468 61742064
6F65736E 27742068
656C702C 20706C65
61736520 636F6E74
61637420 5769696D
6D206F72 204C6573
65726174 74652E0A
00000000 7CA802A6
4800000D E0E0E0FF
000030FF 7C6802A6
38830004 3D00801A
39084E24 7D0803A6
4E800020 60000000

PAL
C21A6D30 0000003E
9421FED8 7C0802A6
9001012C BEE10104
48000019 2F72656C
2F6C6563 6F64652D
50414C2E 62696E00
3861003C 3C80FFFF
6084FFE0 7C7B2038
3B9B0060 7C6802A6
7F64DB78 3CA08016
38A5E2BC 7CA903A6
4E800421 2C030000
4182008C 7F63DB78
7F84E378 38A00020
38C00000 38E00002
3D008016 3908E834
7D0903A6 4E800421
835C0010 7F63DB78
809C000C 80BC0014
38C00000 38E00002
3D008016 3908E834
7D0903A6 4E800421
7F63DB78 3D008016
3908E568 7D0903A6
4E800421 7F43D378
2C030000 4182000C
7C6903A6 4E800421
BAE10104 8001012C
7C0803A6 38210128
4E800020 480000E1
4661696C 65642074
6F206C6F 6164204C
452D434F 44452065
7874656E 73696F6E
20666F72 204D6172
696F204B 6172742E
0A0A5468 61742075
7375616C 6C79206D
65616E73 20746865
20696D61 67652069
7320636F 72727570
74656420 616E642F
6F722069 730A6D69
7373696E 67207265
71756972 65642066
696C6573 2E205472
79207265 6275696C
64696E67 20746865
20646973 74726962
7574696F 6E2E0A49
66207468 61742064
6F65736E 27742068
656C702C 20706C65
61736520 636F6E74
61637420 5769696D
6D206F72 204C6573
65726174 74652E0A
00000000 7CA802A6
4800000D E0E0E0FF
000030FF 7C6802A6
38830004 3D00801A
39084EC4 7D0803A6
4E800020 60000000

NTSC-J
C21A6C50 0000003E
9421FED8 7C0802A6
9001012C BEE10104
48000019 2F72656C
2F6C6563 6F64652D
4A41502E 62696E00
3861003C 3C80FFFF
6084FFE0 7C7B2038
3B9B0060 7C6802A6
7F64DB78 3CA08016
38A5E1DC 7CA903A6
4E800421 2C030000
4182008C 7F63DB78
7F84E378 38A00020
38C00000 38E00002
3D008016 3908E754
7D0903A6 4E800421
835C0010 7F63DB78
809C000C 80BC0014
38C00000 38E00002
3D008016 3908E754
7D0903A6 4E800421
7F63DB78 3D008016
3908E488 7D0903A6
4E800421 7F43D378
2C030000 4182000C
7C6903A6 4E800421
BAE10104 8001012C
7C0803A6 38210128
4E800020 480000E1
4661696C 65642074
6F206C6F 6164204C
452D434F 44452065
7874656E 73696F6E
20666F72 204D6172
696F204B 6172742E
0A0A5468 61742075
7375616C 6C79206D
65616E73 20746865
20696D61 67652069
7320636F 72727570
74656420 616E642F
6F722069 730A6D69
7373696E 67207265
71756972 65642066
696C6573 2E205472
79207265 6275696C
64696E67 20746865
20646973 74726962
7574696F 6E2E0A49
66207468 61742064
6F65736E 27742068
656C702C 20706C65
61736520 636F6E74
61637420 5769696D
6D206F72 204C6573
65726174 74652E0A
00000000 7CA802A6
4800000D E0E0E0FF
000030FF 7C6802A6
38830004 3D00801A
39084DE4 7D0803A6
4E800020 60000000

NTSC-K
C21A708C 0000003E
9421FED8 7C0802A6
9001012C BEE10104
48000019 2F72656C
2F6C6563 6F64652D
4B4F522E 62696E00
3861003C 3C80FFFF
6084FFE0 7C7B2038
3B9B0060 7C6802A6
7F64DB78 3CA08016
38A5E334 7CA903A6
4E800421 2C030000
4182008C 7F63DB78
7F84E378 38A00020
38C00000 38E00002
3D008016 3908E8AC
7D0903A6 4E800421
835C0010 7F63DB78
809C000C 80BC0014
38C00000 38E00002
3D008016 3908E8AC
7D0903A6 4E800421
7F63DB78 3D008016
3908E5E0 7D0903A6
4E800421 7F43D378
2C030000 4182000C
7C6903A6 4E800421
BAE10104 8001012C
7C0803A6 38210128
4E800020 480000E1
4661696C 65642074
6F206C6F 6164204C
452D434F 44452065
7874656E 73696F6E
20666F72 204D6172
696F204B 6172742E
0A0A5468 61742075
7375616C 6C79206D
65616E73 20746865
20696D61 67652069
7320636F 72727570
74656420 616E642F
6F722069 730A6D69
7373696E 67207265
71756972 65642066
696C6573 2E205472
79207265 6275696C
64696E67 20746865
20646973 74726962
7574696F 6E2E0A49
66207468 61742064
6F65736E 27742068
656C702C 20706C65
61736520 636F6E74
61637420 5769696D
6D206F72 204C6573
65726174 74652E0A
00000000 7CA802A6
4800000D E0E0E0FF
000030FF 7C6802A6
38830004 3D00801A
39085220 7D0803A6
4E800020 60000000

Code created by: Leseratte

Print this item

  Ghost Manager
Posted by: WhatisLoaf - 09-09-2020, 01:25 PM - Forum: Hacking General Discussion - Replies (4)

Ghost Manager

This is a tool I made that allows you to import and export ghosts into/from the mkwii save file (rksys.dat.)
This is probably only useful for dolphin users since, as far as I know, there is no easy way to replace the rksys.dat file on console.
Turns out this can be used for both dolphin and console.

Finding the rksys.dat file:

  • Dolphin: You can easily find the rksys.dat file by rightclicking on your game in dolphin and then going to Open Wii Save Folder.
  • Console: Using Riivolution and enabling the option save to sd card your rksys.dat will be located on your sd card in riivolution\save\[GAME_ID].
General usage:
  • Importing: You can import up to 4 ghosts per track (1 per license.) In theory you could thus import 128 ghosts at once (32 per license.) Once you've imported your ghosts, download the file and replace your old rksys.dat with the one you just downloaded.
  • Exporting: All the ghosts you selected will be converted to staff ghosts and be zipped.

The benefits of using this for importing ghosts over wiiscrubber or other methods is that it's much easier/faster and also allows for more than 1 ghost per track which is pretty useful for ghost comparisons.

I've also quickly made a shitty site that contains links to a few useful things I made for tt recording, including this ghost manager:
ttrectools

Print this item

  Delay Timer Modifier [Unnamed]
Posted by: Unnamed - 09-08-2020, 12:39 PM - Forum: Online; Item - Replies (1)

Delay Timer Modifier [Unnamed]

These Codes can modify the In-Game used Delay Timers for the Shock, Blue Shell, Blooper and POW. Works only for you. Includes both Start Time Delay and Reset Time Delay. You can ofc set the Timer to 0000 for no Delay.


NTSC-U
047ACFB4 3880SSSS
C27ACFC4 00000002
3880TTTT 909F0038
60000000 00000000
047ACFB8 3860UUUU
047ACFBC 3800VVVV
047ACF5C 3800WWWW
047ACF68 3800XXXX
047ACF74 3800YYYY
047ACF80 3800ZZZZ

PAL
047BBA14 3880SSSS
C27BBA24 00000002
3880TTTT 909F0038
60000000 00000000
047BBA18 3860UUUU
047BBA1C 3800VVVV
047BB9BC 3800WWWW
047BB9C8 3800XXXX
047BB9D4 3800YYYY
047BB9E0 3800ZZZZ

NTSC-J
047BB080 3880SSSS
C27BB090 00000002
3880TTTT 909F0038
60000000 00000000
047BB084 3860UUUU
047BB088 3800VVVV
047BB028 3800WWWW
047BB034 3800XXXX
047BB040 3800YYYY
047BB04C 3800ZZZZ

NTSC-K
047A9DD4 3880SSSS
C27A9DE4 00000002
3880TTTT 909F0038
60000000 00000000
047A9DD8 3860UUUU
047A9DDC 3800VVVV
047A9D7C 3800WWWW
047A9D88 3800XXXX
047A9D94 3800YYYY
047A9DA0 3800ZZZZ

SSSS to ZZZZ Values are Time in Frames (60 Frames are 1 Second):

SSSS = Shock Start Delay
TTTT = Blue Shell Start Delay
UUUU = Blooper Start Delay
VVVV = POW Start Delay
WWWW = Shock Reset Delay
XXXX = Blue Shell Reset Delay (see NOTE)
YYYY = Blooper Reset Delay
ZZZZ = POW Reset Delay

Default Values:

SSSS = 0x708
TTTT = 0x708
UUUU = 0x384
VVVV = 0x4B0
WWWW = 0x708
XXXX = 0x708 (see NOTE)
YYYY = 0x384
ZZZZ = 0x4B0

NOTE: For Completeness I leave in the "Blue Shell Reset Delay", but it goes unused in MKWii. Maybe someone find a code that activate it, then it can be used. So if not you can remove this line.


Code Creator: Unnamed
Code Credits: Seeky (helpful documentation of the Reset Timers)

Print this item

  Prevent Ghost from Loading in a Ghost Race [Diamond]
Posted by: Diamond - 09-07-2020, 09:53 PM - Forum: Time Trials & Battle - No Replies

Prevent Ghost from Loading in a Ghost Race [Diamond]

Prevents the ghost from showing up in race when you click "Race this Ghost/Challenge this Ghost Data"

NTSC-U
0452B79C 39200001
0452B964 38C00001
0452B96C 60000000

PAL
045302E4 39200001
045304AC 38C00001
045304B4 60000000

NTSC-J
0452FC64 39200001
0452FE2C 38C00001
0452FE34 60000000

NTSC-K
0451E33C 39200001
0451E504 38C00001
0451E50C 60000000


Credits: Seeky (Race Data Documentation)

Print this item

  No ESRB Screen (NTSC-U Only) [Diamond]
Posted by: Diamond - 09-07-2020, 05:08 PM - Forum: Incomplete & Outdated Codes - No Replies

No ESRB Screen (NTSC-U Only) [Diamond]

Bypasses the ESRB warning screen for the NTSC-U game.

04604094 4800001C

Print this item

  Wii Startup Disc install on real Wii
Posted by: Vega - 09-03-2020, 02:13 AM - Forum: General Discussion - No Replies

Video - https://www.youtube.com/watch?v=48gbRI44-aA

DeadlyFoez was the first to get it done. It's also been achieved on Dolphin Emulator!

Details:

Boot2 Wii used
Startup Menu WAD file installed via WiiMod Lite
Startup Menu running on cIOS60 (slot patched to IOS4 using ShowMiiWads).
The cIOS'4' has patches to allow running burnt DVDs on the Wiis drive
Startup Disc is the 'RAAE01-v0.prod.gcm' file.
Extracted and rebuilt to a normal Wii ISO using Wimm's WIT Tools (thank you IPG for the idea)
Burned to a blank Verbatim DVD-R disc using growisofs on Debian 10 (standard arguments for the command provided by the Debian Wiki)

Print this item

  Fps display [Mew]
Posted by: Mewmaster99 - 09-01-2020, 09:46 PM - Forum: Misc/Other - Replies (3)

Fps display by Mew

This code will display your current fps (frames per second) to the milliseconds of the timer
Uses vector of 80001660. Make sure no other codes use that vector.

NTSC U:
C27ED9F8 00000005
3D408042 614A50F0
C12A0000 3D808000
39601660 FDA0481C
7DAC5FAE 838C1660
60000000 00000000

PAL:
C27F84F8 00000005
3D408042 614A9470
C12A0000 3D808000
39601660 FDA0481C
7DAC5FAE 838C1660
60000000 00000000

NTSC J:
C27F7B64 00000005
3D408042 614A8DF0
C12A0000 3D808000
39601660 FDA0481C
7DAC5FAE 838C1660
60000000 00000000

NTSC K:
C27E68B8 00000005
3D408041 614A7490
C12A0000 3D808000
39601660 FDA0481C
7DAC5FAE 838C1660
60000000 00000000


Code credits:
Seeky for helping me through making this 
JoshuaMK for the timer address
and the public symbol map for having the framerate address

Source Ntsc U:
insert address: 807ED9F8

.set framerate, 0x804250f0
lis r10, framerate@ha
lfs f9, framerate@l (r10)
lis r12, 0x8000
li r11, 0x1660
fctiw f13, f9
stfiwx f13, r12, r11
lwz r28, 0x1660 (r12)

Print this item