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

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 66
» Latest member: bawp
» Forum threads: 1,024
» Forum posts: 1,789

Full Statistics

Online Users
There are currently 22 online users.
» 0 Member(s) | 20 Guest(s)
Bing, Google

Latest Threads
DWC_Authdata NAND File Mo...
Forum: Cheat Codes
Last Post: zak
9 hours ago
» Replies: 0
» Views: 25
Annoucements/Updates
Forum: Site Advancement
Last Post: zak
02-14-2019, 05:13 PM
» Replies: 33
» Views: 5,367
Freeze Certain Menu/Scree...
Forum: Cheat Codes
Last Post: zak
02-14-2019, 05:05 PM
» Replies: 0
» Views: 44
Freeze Certain Menu/Scree...
Forum: Incomplete/Outdated Codes
Last Post: zak
02-14-2019, 05:03 PM
» Replies: 0
» Views: 26
Lightning & Thunder Cloud...
Forum: Cheat Codes
Last Post: zak
02-13-2019, 07:44 PM
» Replies: 0
» Views: 69
Force 30 FPS
Forum: Cheat Codes
Last Post: Cameron_MKW
02-13-2019, 07:54 AM
» Replies: 4
» Views: 146
Ultimate Region ID Cycler...
Forum: Cheat Codes
Last Post: zak
02-12-2019, 07:11 PM
» Replies: 0
» Views: 66
Graphical Item Warning -O...
Forum: Cheat Codes
Last Post: zak
02-11-2019, 08:27 PM
» Replies: 0
» Views: 46
Graphical Item Warning; O...
Forum: Cheat Codes
Last Post: zak
02-11-2019, 08:26 PM
» Replies: 0
» Views: 33
Change Earth Rotation Spe...
Forum: Cheat Codes
Last Post: zak
02-10-2019, 08:10 PM
» Replies: 0
» Views: 50

 
  Boost From MT/Stand-Still Release Meter
Posted by: zak - 01-23-2019, 05:31 PM - Forum: Cheat Codes - No Replies

Boost From MT/Stand-Still Release Meter

This code will tell you how much Boost from a released Mini Turbo charge or Stand Still charge is left once initiated.

This code works in Online VS and TT's. When in TT mode, only do Solo Racing. Does NOT work in Grand Prix, Offline VS, or any type of Battle.

NTSC-U
C25310A0 00000002
3D808000 818C1650
A0AC0000 00000000
C2590F20 00000003
B36300C8 3983010C
3D608000 918B1650
60000000 00000000

PAL
C2535BE8 00000002
3D808000 818C1650
A0AC0000 00000000
C2597744 00000003
B36300C8 3983010C
3D608000 918B1650
60000000 00000000

NTSC-J
C2535568 00000002
3D808000 818C1650
A0AC0000 00000000
C25970C4 00000003
B36300C8 3983010C
3D608000 918B1650
60000000 00000000

NTSC-K
C2523C40 00000002
3D808000 818C1650
A0AC0000 00000000
C258579C 00000003
B36300C8 3983010C
3D608000 918B1650
60000000 00000000




Source:
(First ASM; Millisecond Modifier)
lis r12, 0x8000 #Set first half address of r12 to 0x8000 to load dynamic memory address location
lwz r12, 0x1650 (r12) #Load the dynamic mem address location word from 0x80001650
lhz r5, 0 (r12) #Load the halfword from the address of r12; this function meant to replace the Default ASM

(Second ASM; Function containing address holding location to Boost from MT/Stand Still release halfword value)
sth r27, 0x00C8 (r3) #Default ASM
addi r12, r3, 0x10C #Add 0x10C to address of r3. r12 now holds the word for the dynamic mem address location of the Boost from MT/Stand Still Release
lis r11, 0x8000 #Set 1st half address to store the dynamic mem location word to
stw r12, 0x1650 (r11) #Store the dynamic mem location word to 0x80001650




Code creator: zak
Code credits: mdmwii (address founder for first ASM)

Print this item

  Trick Boost Meter
Posted by: zak - 01-23-2019, 03:54 PM - Forum: Cheat Codes - No Replies

Trick Boost Meter

Works in Online VS and TT's. When in TT mode, only do Solo Racing. Does NOT work in Grand Prix, Offline VS, or any type of Battle.

This code will show you (in the milliseconds section of the timer) how much boost you have left after landing a trick.

NTSC-U
C25310A0 00000002
3D808000 818C1650
A0AC0000 00000000
C2590F20 00000003
B36300C8 39830114
3D608000 918B1650
60000000 00000000

PAL
C2535BE8 00000002
3D808000 818C1650
A0AC0000 00000000
C2597744 00000003
B36300C8 39830114
3D608000 918B1650
60000000 00000000

NTSC-J
C2535568 00000002
3D808000 818C1650
A0AC0000 00000000
C25970C4 00000003
B36300C8 39830114
3D608000 918B1650
60000000 00000000

NTSC-K
C2523C40 00000002
3D808000 818C1650
A0AC0000 00000000
C258579C 00000003
B36300C8 39830114
3D608000 918B1650
60000000 00000000




Source:
(First ASM; Millisecond Modifier)
lis r12, 0x8000 #Set first half address of r12 to 0x8000 to load dynamic memory address location
lwz r12, 0x1650 (r12) #Load the dynamic mem address location word from 0x80001650
lhz r5, 0 (r12) #Load the halfword from the address of r12; this function meant to replace the Default ASM

(Second ASM; Function containing address holding location to Trick Boost halfword value)
sth r27, 0x00C8 (r3) #Default ASM
addi r12, r3, 0x114 #Add 0x114 to address of r3. r12 now holds the word for the dynamic mem address location of the Trick Boost value
lis r11, 0x8000 #Set 1st half address to store the dynamic mem location word to
stw r12, 0x1650 (r11) #Store the dynamic mem location word to 0x80001650




Code creator: zak
Code credits: mdmwii (address founder for first ASM)

Print this item

  TAS Code
Posted by: zak - 01-22-2019, 10:28 PM - Forum: Cheat Codes - No Replies

TAS Code

I decided to analyze/debug the work of Bully's and Mdmwii's Live Replay codes and make my own optimized/better version of 'TAS' Code. Here it is...

Unlike other TAS Codes that are controller-specific, this works for ALL controllers!

TAS Code (Tool Assisted Speed Run) is simply the Live Replay code with the ability to activate or deactivate at any time. A good code to have for Dolphin TASers. For more information about Live Replay, visit the Live Replay Code Thread - HERE.

This code has configured the activator and dectivator to be part of the Assembly Code. Thus, this allows the code to also work in Dolphin.

XXXX = Controller Address
ZZZZ = Button To Press to Activate Live Replay
zzzz = Button To Press to Deactivate Live Replay

Go to this thread HERE for a list of XXXX/ZZZZ values.

Important Note: This code makes use of memory address 0x8000164E. Make sure no other codes in your GCT File or Cheat Manager are using that memory address!

NTSC-U
C21AA91C 0000000A
3D808034 618CXXXX
A18C0000 3960ZZZZ
3880zzzz 7D805838
7C005800 41820014
7D802038 7C002000
41820014 4800001C
3D808000 39600001
4800000C 3D808000
39600000 996C164E
7C0802A6 00000000
C251C8BC 00000005
981E0014 3D808000
898C164E 2C0C0001
40A20014 7FCCF378
BB8C0004 BF8CFC9C
BF8CD81C 00000000

PAL
C21AA9BC 0000000A
3D808034 618CXXXX
A18C0000 3960ZZZZ
3880zzzz 7D805838
7C005800 41820014
7D802038 7C002000
41820014 4800001C
3D808000 39600001
4800000C 3D808000
39600000 996C164E
7C0802A6 00000000
C2520D30 00000005
981E0014 3D808000
898C164E 2C0C0001
40A20014 7FCCF378
BB8C0004 BF8CFC9C
BF8CD81C 00000000

NTSC-J
C21AA8DC 0000000A
3D808034 618CXXXX
A18C0000 3960ZZZZ
3880zzzz 7D805838
7C005800 41820014
7D802038 7C002000
41820014 4800001C
3D808000 39600001
4800000C 3D808000
39600000 996C164E
7C0802A6 00000000
C25206B0 00000005
981E0014 3D808000
898C164E 2C0C0001
40A20014 7FCCF378
BB8C0004 BF8CFC9C
BF8CD81C 00000000

NTSC-K
C21AAD18 0000000A
3D808033 618CXXXX
A18C0000 3960ZZZZ
3880zzzz 7D805838
7C005800 41820014
7D802038 7C002000
41820014 4800001C
3D808000 39600001
4800000C 3D808000
39600000 996C164E
7C0802A6 00000000
C250ED54 00000005
981E0014 3D808000
898C164E 2C0C0001
40A20014 7FCCF378
BB8C0004 BF8CFC9C
BF8CD81C 00000000




List of Sources:

SOURCE FOR FULL ASM ACTIVATOR/DEACTIVATOR CODE (NTSC-K):
####################
###START ASSEMBLY###
####################

#

##########################
##Set Controller Address##
##########################

lis r12, 0x8033 #Set 1st half address for Korean Controller
ori r12, r12, 0xXXXX #Set 2nd half address (XXXX) for specific Korean Controller

##############################################
##Load Current Halfword of Button(s) Pressed##
##############################################

lhz r12, 0x0 (r12) #Load Halfword from specific Korean Controller Address

########################
##Set User Act & Deact##
########################

li r11, 0xZZZZ #Load Activator value into r11
li r4, 0xzzzz #Load De-Activator value into r4

###########################
##Check if Act is Pressed##
###########################

and r0, r12, r11 #Logically AND the contents of buttons being pressed versus your activator. If activator is at least pressed, r0 will equal 11.
cmpw r0, r11
beq- set_act #If equal (activator pressed), jump to set_act label

#############################
##Check if Deact is Pressed##
#############################

and r0, r12, r4 #Logically AND the contents of buttons being pressed versus your deactivator. If second activator is at least pressed, r0 will equal r4.
cmpw r0, r4
beq- set_deact #If equal (other activator preseed), jump to set_deact label

###########################################
##Jump to End (Act nor Deact were Pressed##
###########################################

b the_end #If ZZZZ nor zzzz wasn't pressed, jump to the_end label

#################
##Set_Act Label##
#################

set_act:
lis r12, 0x8000 #Set first half address for code activation status number
li r11, 1 #Load code activation status number in r11
b store_byte #Jump to store_byte label

###################
##Set_Deact Label##
###################

set_deact:
lis r12, 0x8000 #Set first half address for code deactivation status number
li r11, 0 #Load code deactivation status number in r11

####################
##Store_Byte Label##
####################

store_byte:
stb r11, 0x15F0 (r12) #Store code deactivation status number to mem location 0x800015F0

#################
##The_End Label##
#################

the_end:
mflr r0 #Default ASM

#############################################
##Notes about Using r0 & r4 w/o Restoration##
#############################################

##r0 gets written to later on by a mflr 0, and r4 gets written to after a BL during a rlwinm function##
##Thus, they are safe to use w/o restoring original values##

#

##################
###END ASSEMBLY###
##################




SOURCE FOR TAS CODE:

#~~~~~~~~~~~~~~~~#
# START ASSEMBLY #
#~~~~~~~~~~~~~~~~#

#

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#           Register Safety NOTES           #
#         r27 thru r31 safe for use         #
#    Two steps ahead is a BL instruction    #
# After the BL, r27 thru r31 are written to #
#         So they are safe for use          #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#                                                                INPUT FIELDS                                                            #
# 1st Input Field - Halfword - Ghost: 0x0004 (r30) You (GCN/WiiMote): -0x364/-0x27E4 (r30) #Halfword at 0x0006 (r30) is never written to #
#                    2nd Input Field - Float Single - Ghost: 0x0008 (r30) You (GCN/WiiMote): -0x360/-0x27E0 (r30)                        #
#                    3rd Input Field - Float Single - Ghost: 0x000C (r30) You (GCN/WiiMote): -0x35C/-0x27DC (r30)                        #
#                       4th Input Field - Byte - Ghost: 0x0010 (r30) You (GCN/WiiMote): -0x358/-0x27D8 (r30)                             #
#                       5th Input Field - Byte - Ghost: 0x0011 (r30) You (GCN/WiiMote): -0x357/-0x27D7 (r30)                             #
#                       6th Input Field - Byte - Ghost: 0x0012 (r30) You (GCN/WiiMote): -0x356/-0x27D6 (r30)                             #
#                       7th Input Field - Byte - Ghost: 0x0013 (r30) You (GCN/WiiMote): -0x355/-0x27D5 (r30)                             #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

#~~~~~~~~~~~~~~~~~~~~~#
# Default Instruction #
#~~~~~~~~~~~~~~~~~~~~~#

stb r0, 0x0014 (r30) #Store the byte of r0 to address of r30 plus offset of 0x0014

#~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# Load Status Byte, & Check #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~#

lis r12, 0x8000 #Load 0x8000 into upper 16 bits of r12, lower 16 bits are cleared
lbz r12, 0x164E (r12) #Load the byte from address 0x8000164E back into r12

cmpwi r12, 0x1 #Compare r12 to the value of 0x1
bne+ de_activate_tas #If r12 is NOT equal to one, we know the activator has not been pressed, jump to de_activate_tas label

#If equal to one, then code will continue proceeding as normal, Live Replay is executed#

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# Backup Register 30 due to upcoming LWM & STWM instructions #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

mr r12, r30 #Copy value of r30 to r12

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# Load All Ghost Input Fields #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

lmw r28, 0x4 (r12) #Load consecutive words starting at address of r12 offset 0x4 into r28 thru r31

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# Store All Ghost Input Fields To Your Own GCN Fields #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

stmw r28, -0x0364 (r12) #Store words of r28 thru r31 to address of r12 offset -0x364 (For GCN Input Field)

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# Store All Ghost Input Fields To Your WiiMote Fields #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

stmw r28, -0x27E4 (r12) #Store words of r28 thru r31 to address of r12 offset -27E4 (For Wii Remote Field)

#~~~~~~~~~~~~~~~~~~~~~~~#
# de_activate_tas Label #
#~~~~~~~~~~~~~~~~~~~~~~~#

de_activate_tas: #Label name set to force navigation to end of code, no label contents needed

#

#~~~~~~~~~~~~~~#
# END ASSEMBLY #
#~~~~~~~~~~~~~~#




Code creator: zak  Heart
Code credits: Megazig (OSSleepThread subroutine); Bully (original Wiimote Live Replay); Mdmwii (original GCN Live Replay)

Print this item

  Live Replay
Posted by: zak - 01-22-2019, 10:25 PM - Forum: Cheat Codes - No Replies

Live Replay

I decided to analyze/debug the work of Mdmwii's and Bully's Live Replay codes, and make my own optimized/better version of Live Replay. Here it is...

This code will auto-drive your character to exactly mimic all the inputs/movements of a selected ghost. Can be any type of ghost (rival, personal record, staff). This is for Time Trials Mode Only

Unlike other Live Replay Codes that are controller-specific, this works for ALL controllers!

Select the ghost you want to mimic and start the TT. You will mimic the ghost entirely. Lap Margins will be all zeros. By default this code will preform a 'half-win' celebration at the end...

A 'half-win' celebration will cause you to NOT set a PR, but the time will be placed in the top 5 (2nd place). If you want to have a 'full-win' celebration (have a new PR recorded), then add Diamond's Ghost Always Save Code which is HERE. If you instead want to have a 'lose' celebration, then add Mdmwii's No Ghost Saving Code which is HERE.

If you don't want to see the lap margins, do this..
1. Select the ghost you want to mimic, start the race against the ghost.
2. Allow the race to start, and let yourself mimic the ghost for at least a split second.
3. Pause the game, and go back to course selection.
4. This time, select Solo.
5. You will now auto-drive to the ghost's input but in Solo TT (no more appearance of lap margins). 

NTSC-U
C251C8BC 00000003
981E0014 7FCCF378
BB8C0004 BF8CFC9C
BF8CD81C 00000000

PAL
C2520D30 00000003
981E0014 7FCCF378
BB8C0004 BF8CFC9C
BF8CD81C 00000000

NTSC-J
C25206B0 00000003
981E0014 7FCCF378
BB8C0004 BF8CFC9C
BF8CD81C 00000000

NTSC-K
C250ED54 00000003
981E0014 7FCCF378
BB8C0004 BF8CFC9C
BF8CD81C 00000000




Source:
#~~~~~~~~~~~~~~~~#
# START ASSEMBLY #
#~~~~~~~~~~~~~~~~#

#

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#           Register Safety NOTES           #
#         r27 thru r31 safe for use         #
#    Two steps ahead is a BL instruction    #
# After the BL, r27 thru r31 are written to #
#         So they are safe for use          #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#                                                                INPUT FIELDS                                                            #
# 1st Input Field - Halfword - Ghost: 0x0004 (r30) You (GCN/WiiMote): -0x364/-0x27E4 (r30) #Halfword at 0x0006 (r30) is never written to #
#                    2nd Input Field - Float Single - Ghost: 0x0008 (r30) You (GCN/WiiMote): -0x360/-0x27E0 (r30)                        #
#                    3rd Input Field - Float Single - Ghost: 0x000C (r30) You (GCN/WiiMote): -0x35C/-0x27DC (r30)                        #
#                       4th Input Field - Byte - Ghost: 0x0010 (r30) You (GCN/WiiMote): -0x358/-0x27D8 (r30)                             #
#                       5th Input Field - Byte - Ghost: 0x0011 (r30) You (GCN/WiiMote): -0x357/-0x27D7 (r30)                             #
#                       6th Input Field - Byte - Ghost: 0x0012 (r30) You (GCN/WiiMote): -0x356/-0x27D6 (r30)                             #
#                       7th Input Field - Byte - Ghost: 0x0013 (r30) You (GCN/WiiMote): -0x355/-0x27D5 (r30)                             #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

#~~~~~~~~~~~~~~~~~~~~~#
# Default Instruction #
#~~~~~~~~~~~~~~~~~~~~~#

stb r0, 0x0014 (r30) #Store the byte of r0 to address of r30 plus offset of 0x0014

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# Backup Register 30 due to upcoming LWM & STWM instructions #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

mr r12, r30 #Copy value of r30 to r12

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# Load All Ghost Input Fields #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

lmw r28, 0x4 (r12) #Load consecutive words starting at address of r12 offset 0x4 into r28 thru r31

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# Store All Ghost Input Fields To Your Own GCN Fields #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

stmw r28, -0x0364 (r12) #Store words of r28 thru r31 to address of r12 offset -0x364 (For GCN Input Field)

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# Store All Ghost Input Fields To Your WiiMote Fields #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

stmw r28, -0x27E4 (r12) #Store words of r28 thru r31 to address of r12 offset -27E4 (For Wii Remote Field)

#

#~~~~~~~~~~~~~~#
# END ASSEMBLY #
#~~~~~~~~~~~~~~#




Code creator: zak
Code credits: Bully (original Wii Remote Live Replay); Mdmwii (original GCN Live Replay)

Print this item

  In-Race Room Size Reader
Posted by: zak - 01-20-2019, 05:30 PM - Forum: Cheat Codes - No Replies

In-Race Room Size Reader

This code will tell you (via the milliseconds section of the timer) the size of the room that only includes players actually in the live race.

This code is pretty useless as the game only calculates/updates this value at the very start of the race, then afterwards, only when you pick up a box. The game doesn't need to ever know this value if an item is not picked up hence why this in-race room size value doesn't reside anywhere in dynamic memory.

I was working on a different code, and needed this code as a supplementation. So anyway, here's the code.

NTSC-U
0453109C 3D808000
045310A0 88AC164F
C27AC3C0 00000002
3D808000 992C164F
2C09000C 00000000

PAL
04535BE4 3D808000
04535BE8 88AC164F
C27BAE20 00000002
3D808000 992C164F
2C09000C 00000000

NTSC-J
04535564 3D808000
04535568 88AC164F
C27BA48C 00000002
3D808000 992C164F
2C09000C 00000000

NTSC-K
04523C3C 3D808000
04523C40 88AC164F
C27A91E0 00000002
3D808000 992C164F
2C09000C 00000000




Source:
First 04 Line
3D808000 = lis r12, 0x8000 (Load 0x8000 into upper 16 bits of r12; lower 16 bits are cleared)

Second 04 Line
88AC164F = lbz r5, 0x164F (r12) (load the byte from address of r12 plus 0x164F into r5)

ASM Code
lis r12, 0x8000 #Load 0x8000 into upper 16 bits of r12, lower 16 bits are cleared)
stb r9, 0x164F (r12) #Store byte of r9 (in-race room size) to address 0x8000164F, offset used to complete 2nd half of address
cmpwi r9, 0xC #Default ASM, Game compares r9 to 12 to see if it needs to zero out the rest of the VS or Battle Probability Table for non 12-player size rooms




Code creator: zak
Code credits: mdmwii (address founder for the 04 lines)

Print this item

  Custom Exception Handler
Posted by: Star - 01-20-2019, 05:30 AM - Forum: Cheat Codes - No Replies

Custom Exception Handler

This code will display exception information on the television screen when an exception occurs. After the console is finished scrolling, you will be returned to the Wii System Menu.

(NTSC-U)
C20235F4 00000011
9421FF80 BC410008
48000055 2A2A2A2A
2A2A2043 7573746F
6D204578 63657074
696F6E20 48616E64
6C657220 2A2A2A2A
2A0A2A2A 2A2A2A2A
2A2A2A20 62792053
74617220 26205269
69646566 69202A2A
2A2A2A2A 2A2A2A0A
00000000 7C6802A6
4CC63182 3D808002
618C3500 7D8803A6
4E800021 B8410008
38210080 28030011
60000000 00000000
040238A8 281E0005
C20238BC 0000000D
9421FF80 BC410008
48000039 596F7520
77696C6C 206E6F77
20626520 72657475
726E6564 20746F20
74686520 57696920
53797374 656D204D
656E752E 00000000
7C6802A6 4CC63182
3D808002 618C3500
7D8803A6 4E800021
B8410008 38210080
39610020 00000000
04226160 48000090
C2226260 00000003
3D808000 618CB0E8
7D8803A6 4E800020
60000000 00000000
022A3090 00000023

(PAL)
C2023694 00000011
9421FF80 BC410008
48000055 2A2A2A2A
2A2A2043 7573746F
6D204578 63657074
696F6E20 48616E64
6C657220 2A2A2A2A
2A0A2A2A 2A2A2A2A
2A2A2A20 62792053
74617220 26205269
69646566 69202A2A
2A2A2A2A 2A2A2A0A
00000000 7C6802A6
4CC63182 3D808002
618C35A0 7D8803A6
4E800021 B8410008
38210080 28030011
60000000 00000000
04023948 281E0005
C202395C 0000000D
9421FF80 BC410008
48000039 596F7520
77696C6C 206E6F77
20626520 72657475
726E6564 20746F20
74686520 57696920
53797374 656D204D
656E752E 00000000
7C6802A6 4CC63182
3D808002 618C35A0
7D8803A6 4E800021
B8410008 38210080
39610020 00000000
042264E4 48000090
C22265E4 00000003
3D808000 618CB188
7D8803A6 4E800020
60000000 00000000
022A7410 00000023

(NTSC-J)
C20235B4 00000011
9421FF80 BC410008
48000055 2A2A2A2A
2A2A2043 7573746F
6D204578 63657074
696F6E20 48616E64
6C657220 2A2A2A2A
2A0A2A2A 2A2A2A2A
2A2A2A20 62792053
74617220 26205269
69646566 69202A2A
2A2A2A2A 2A2A2A0A
00000000 7C6802A6
4CC63182 3D808002
618C34C0 7D8803A6
4E800021 B8410008
38210080 28030011
60000000 00000000
04023868 281E0005
C202387C 0000000D
9421FF80 BC410008
48000039 596F7520
77696C6C 206E6F77
20626520 72657475
726E6564 20746F20
74686520 57696920
53797374 656D204D
656E752E 00000000
7C6802A6 4CC63182
3D808002 618C34C0
7D8803A6 4E800021
B8410008 38210080
39610020 00000000
04226404 48000090
C2226504 00000003
3D808000 618CB0AC
7D8803A6 4E800020
60000000 00000000
022A6D90 00000023

(NTSC-K)
C20236F4 00000011
9421FF80 BC410008
48000055 2A2A2A2A
2A2A2043 7573746F
6D204578 63657074
696F6E20 48616E64
6C657220 2A2A2A2A
2A0A2A2A 2A2A2A2A
2A2A2A20 62792053
74617220 26205269
69646566 69202A2A
2A2A2A2A 2A2A2A0A
00000000 7C6802A6
4CC63182 3D808002
618C3600 7D8803A6
4E800021 B8410008
38210080 28030011
60000000 00000000
040239A8 281E0005
C20239BC 0000000D
9421FF80 BC410008
48000039 596F7520
77696C6C 206E6F77
20626520 72657475
726E6564 20746F20
74686520 57696920
53797374 656D204D
656E752E 00000000
7C6802A6 4CC63182
3D808002 618C3600
7D8803A6 4E800021
B8410008 38210080
39610020 00000000
04226858 48000090
C2226958 00000003
3D808000 618CB234
7D8803A6 4E800020
60000000 00000000
02295410 00000023



Code:
#============================================================#
#                           Source                           #
#------------------------------------------------------------#
# nw4r::db::PrintContext_ Exception Type Address Ports:      #
# RMCE - 0x800235F4                                          #
# RMCP - 0x80023694                                          #
# RMCJ - 0x800235B4                                          #
# RMCK - 0x800236F4                                          #
#============================================================#

.macro push_stack size, registers
       stwu r1, \size(r1) # Make space for 30 registers
       stmw r2, 8(r1) # Push r2-r31 onto the stack
.endm

.macro absolute_bl register, address
       lis \register, \address@h
       ori \register, \register, \address@l
       mtlr \register
       blrl
.endm

.macro pop_stack registers, size
       lmw \registers, 8(r1) # Pop r2-r31 off the stack
       addi r1, r1, \size # Release the space
.endm

.set region, ''

.if     (region == 'E' || region == 'e') # RMCE
        .set nw4r_db_Exception_Printf_, 0x80023500
.elseif (region == 'P' || region == 'p') # RMCP
        .set nw4r_db_Exception_Printf_, 0x800235A0
.elseif (region == 'J' || region == 'j') # RMCJ
        .set nw4r_db_Exception_Printf_, 0x800234C0
.elseif (region == 'K' || region == 'k') # RMCK
        .set nw4r_db_Exception_Printf_, 0x80023600
.else # Invalid Region
        .abort
.endif

# Function Prologue...
push_stack -128, r2

bl branch_link_write_exception_printf_statement

.string "****** Custom Exception Handler *****\n********* by Star & Riidefi *********\n\0\0\0"

branch_link_write_exception_printf_statement:
mflr r3 # Store the pointer to the String into r3

# Call nw4r::db::Exception_Printf_
crclr 4*cr1+eq # Zero out Condition Register 1, indicating the Floating-Point Registers do not need to be preserved
absolute_bl r12, nw4r_db_Exception_Printf_

# Function Epilogue...
pop_stack r2, 128

# Original Instruction
cmplwi r3, 0x11 # if (error < OS_ERROR_MAX)

#============================================================#
#                  nw4r::db::ShowStackTrace_                 #
#============================================================#
# Display a back trace of up to 5 levels of the stack.       #
#============================================================#

(NTSC-U)
040238A8 281E0005

(PAL)
04023948 281E0005

(NTSC-J)
04023868 281E0005

(NTSC-K)
040239A8 281E0005

#============================================================#
#                           Source                           #
#------------------------------------------------------------#
# nw4r::db::PrintContext_ Function Return Address Ports:     #
# RMCE - 0x800238BC                                          #
# RMCP - 0x8002395C                                          #
# RMCJ - 0x8002387C                                          #
# RMCK - 0x800239BC                                          #
#============================================================#

.macro push_stack size, registers
       stwu r1, \size(r1) # Make space for 30 registers
       stmw r2, 8(r1) # Push r2-r31 onto the stack
.endm

.macro absolute_bl register, address
       lis \register, \address@h
       ori \register, \register, \address@l
       mtlr \register
       blrl
.endm

.macro pop_stack registers, size
       lmw \registers, 8(r1) # Pop r2-r31 off the stack
       addi r1, r1, \size # Release the space
.endm

.set region, ''

.if     (region == 'E' || region == 'e') # RMCE
        .set nw4r_db_Exception_Printf_, 0x80023500
.elseif (region == 'P' || region == 'p') # RMCP
        .set nw4r_db_Exception_Printf_, 0x800235A0
.elseif (region == 'J' || region == 'j') # RMCJ
        .set nw4r_db_Exception_Printf_, 0x800234C0
.elseif (region == 'K' || region == 'k') # RMCK
        .set nw4r_db_Exception_Printf_, 0x80023600
.else # Invalid Region
        .abort
.endif

# Function Prologue...
push_stack -128, r2

bl branch_link_write_exception_printf_statement

.string "You will now be returned to the Wii System Menu.\0\0\0"

branch_link_write_exception_printf_statement:
mflr r3 # Store the pointer to the String into r3

# Call nw4r::db::Exception_Printf_
crclr 4*cr1+eq # Zero out Condition Register 1, indicating the Floating-Point Registers do not need to be preserved
absolute_bl r12, nw4r_db_Exception_Printf_

# Function Epilogue...
pop_stack r2, 128

# Original Instruction
addi r11, r1, 32

#============================================================#
#                   EGG::ExceptionCallBack                   #
#============================================================#
# Automatically display the console and its contents.        #
#============================================================#

(NTSC-U)
04226160 48000090

(PAL)
042264E4 48000090

(NTSC-J)
04226404 48000090

(NTSC-K)
04226858 48000090

#============================================================#
#                           Source                           #
#------------------------------------------------------------#
# offset = Console_GetBufferHeadLine(console) Address Ports: #
# RMCE - 0x80226260                                          #
# RMCP - 0x802265E4                                          #
# RMCJ - 0x80226504                                          #
# RMCK - 0x80226958                                          #
#============================================================#

.macro absolute_b register, address
       lis \register, \address@h
       ori \register, \register, \address@l
       mtlr \register
       blr
.endm

.set region, ''

.if     (region == 'E' || region == 'e') # RMCE
        .set System_SystemManager_returnToMenu, 0x8000B0E8
.elseif (region == 'P' || region == 'p') # RMCP
        .set System_SystemManager_returnToMenu, 0x8000B188
.elseif (region == 'J' || region == 'j') # RMCJ
        .set System_SystemManager_returnToMenu, 0x8000B0AC
.elseif (region == 'K' || region == 'k') # RMCK
        .set System_SystemManager_returnToMenu, 0x8000B234
.else # Invalid Region
        .abort
.endif

# Call System::SystemManager::returnToMenu
absolute_b r12, System_SystemManager_returnToMenu

#============================================================#
#                            Note                            #
#------------------------------------------------------------#
# Since we never return from the function call, we do not    #
# need to preserve any registers.                            #
#============================================================#

#============================================================#
#                  nw4r::db::exception .bss                  #
#============================================================#
# enum                                                       #
# {                                                          #
#     EXCEPTION_INFO_MAIN     = 0x1,                         #
#     EXCEPTION_INFO_GPR      = 0x2,                         #
#     EXCEPTION_INFO_GPRMAP   = 0x4,                         #
#     EXCEPTION_INFO_SRR0MAP  = 0x8,                         #
#     EXCEPTION_INFO_FPR      = 0x10,                        #
#     EXCEPTION_INFO_TRACE    = 0x20,                        #
#                                                            #
#     EXCEPTION_INFO_ALL      = 0x3F,                        #
# };                                                         #
#                                                            #
# Set the information flag to display the Main Information,  #
# General Purpose Registers, and a Stack Trace.              #
#============================================================#

(NTSC-U)
022A3090 00000023

(PAL)
022A7410 00000023

(NTSC-J)
022A6D90 00000023

(NTSC-K)
02295410 00000023



Code Creators: Star, Riidefi

Print this item

  Hi
Posted by: Devyyl - 01-19-2019, 06:57 PM - Forum: Introductions - Replies (1)

Hello, I am mainly here to get a korean mii channel. I already was able to get a korean iso for mkwii and a korean wii channel for dolphin but I really want to be able to make mii's in korean. If anyone will be able to help me that would be great.

Print this item

  Boost From Mini Turbo Release Meter
Posted by: zak - 01-19-2019, 03:44 AM - Forum: Incomplete/Outdated Codes - No Replies

Boost From Mini Turbo Release Meter

NOTE: Outdated by my Boost From MT/Stand-Still Release Meter (shows both MT and Stand Still release)

This code will tell you how much Boost from a released MT charge is left once initiated. Please note that this is NOT for the charging of an MT. If you want the code for Mini Turbo Charge Meter, go this thread - https://mkwii.org/showthread.php?tid=984

This code works in Online VS and TT's. When in TT mode, only do Solo Racing. Does NOT work in Grand Prix, Offline VS, or any type of Battle.

NTSC-U
C25310A0 00000002
3D808000 818C1650
A0AC0000 00000000
C2590F20 00000003
B36300C8 39830102
3D608000 918B1650
60000000 00000000

PAL
C2535BE8 00000002
3D808000 818C1650
A0AC0000 00000000
C2597744 00000003
B36300C8 39830102
3D608000 918B1650
60000000 00000000

NTSC-J
C2535568 00000002
3D808000 818C1650
A0AC0000 00000000
C25970C4 00000003
B36300C8 39830102
3D608000 918B1650
60000000 00000000

NTSC-K
C2523C40 00000002
3D808000 818C1650
A0AC0000 00000000
C258579C 00000003
B36300C8 39830102
3D608000 918B1650
60000000 00000000




Source:
(First ASM; Millisecond Modifier)
lis r12, 0x8000 #Set first half address of r12 to 0x8000 to load dynamic memory address location
lwz r12, 0x1650 (r12) #Load the dynamic mem address location word from 0x80001650
lhz r5, 0 (r12) #Load the halfword from the address of r12; this function meant to replace the Default ASM

(Second ASM; Function containing address holding location to Boost from MT release halfword value)
sth r27, 0x00C8 (r3) #Default ASM
addi r12, r3, 0x102 #Add 0x102 to address of r3. r12 now holds the word for the dynamic mem address location of the Boost from MT Release
lis r11, 0x8000 #Set 1st half address to store the dynamic mem location word to
stw r12, 0x1650 (r11) #Store the dynamic mem location word to 0x80001650




Code creator: zak
Code credits: mdmwii (address founder for first ASM)

Print this item

  Example of Modifying ItemSlot.bin
Posted by: zak - 01-18-2019, 02:34 AM - Forum: Guides/How-To's - Replies (2)

Example Of Modifying ItemSlot.bin

NOTE: This guide is written for Linux Users (in regards to using Wiimm's WIT/SZS Tools for ISO/WBFS extraction and rebuilding). If one is experienced enough with WIT/SZS Tools, he/she can 'alter' the WIT Tools commands to work on Windows.

Requirements:
Have Wiimm's WIT Tools plus SZS Tools installed and know how to use the Tools
Have a Hex Editor installed and know how to use it (HxD via Wine emulation is used in this guide)




Chapter 1: Intro

The ItemSlot.bin file (a binary file within Common.szs) is the file that holds the Item Probability Values for all Modes including Online VS. For Online VS, this file has the Item Probabilities for every item of every position in a 12 player room. Item Probabilities for rooms less than 12 players are calculated based on the values for a 12 player room. To see all the Item Probability Values for every room size in Online VS, visit this page - http://mkwii.org/item/ (credits to XeR).

If desired, a player can modify this file to permanently manipulate/change the odds of getting certain items in an Online VS race. For this guide, we will simply modify the ItemSlot.bin file to where we can never pickup TC's or Bloopers from an item box.




Chapter 2: ISO/WBFS Extraction

For this guide we will be working with the an NTSC-U/RMCE01 wbfs file. Keep in mind that the ItemSlot.bin file is region free. Therefore, once you have made your desired modifications to an ItemSlot.bin file, you can use that file in any ISO/WBFS. Let's say our NTSC-U wbfs file is located in /home/user/games and its filename is USA.wbfs. First open up a terminal, then cd (change directory) to the location of USB.wbfs.

cd /home/user/games

Now extract USA.wbfs. We must specify a brand new directory that has not been made yet for the command on WIT Tools for extraction. For example... run the following command...

wit extract USA.wbfs /home/user/newfolder

NOTE: You must NOT make the newfolder directory beforehand or else WIT tools will display an error. Let the Tools create the directory.




Chapter 3: Common.szs Extraction

newfolder directory is now created and it contains our extract wbfs contents. Next we need to extract the Common.szs file. 

cd /home/user/newfolder/DATA/files/Race

wszst extract Common.szs

NOTE: if your wbfs is scrubbed, there will NOT be a DATA folder.




Chapter 4: ItemSlot.bin Edits

A "Common.d" directory will now be created, the ItemSlot.bin file is located in that directory. Open up your Hex Editor, then open the ItemSlot.bin file. For reference, here is a list of all the ItemSlot.bin addresses for every item's probability for Online VS.

Green Shell Probabilities
1st 0x39B - 41
2nd 0x39C - 23
3rd 0x39D - 1E
4th 0x39E - 0F
5th 0x39F - 0A
6th 0x3A0 - 00
7th 0x3A1 - 00
8th 0x3A2 - 00
9th 0x3A3 - 00
10th 0x3A4 - 00
11th 0x3A5 - 00
12th 0x3A6 - 00

Red Shell Probabilities
1st 0x3A7 - 00
2nd 0x3A8 - 32
3rd 0x3A9 - 32
4th 0x3AA - 28
5th 0x3AB - 1E
6th 0x3AC - 14
7th 0x3AD - 0A
8th 0x3AE - 05
9th 0x3AF - 00
10th 0x3B0 - 00
11th 0x3B1 - 00
12th 0x3B2 - 00

Banana Probabilities
1st 0x3B3 - 4B
2nd 0x3B4 - 28
3rd 0x3B5 - 0F
4th 0x3B6 - 05
5th 0x3B7 - 00
6th 0x3B8 - 00
7th 0x3B9 - 00
8th 0x3BA - 00
9th 0x3BB - 00
10th 0x3BC - 00
11th 0x3BD - 00
12th 0x3BE - 00

Fib Probabilities
1st 0x3BF - 28
2nd 0x3C0 - 0F
3rd 0x3C1 - 0A
4th 0x3C2 - 05
5th 0x3C3 - 00
6th 0x3C4 - 00
7th 0x3C5 - 00
8th 0x3C6 - 00
9th 0x3C7 - 00
10th 0x3C8 - 00
11th 0x3C9 - 00
12th 0x3CA - 00

Shroom Probabilities
1st 0x3CB - 00
2nd 0x3CC - 19
3rd 0x3CD - 23
4th 0x3CE - 2D
5th 0x3CF - 1E
6th 0x3D0 - 19
7th 0x3D1 - 14
8th 0x3D2 - 00
9th 0x3D3 - 00
10th 0x3D4 - 00
11th 0x3D5 - 00
12th 0x3D6 - 00

Triple Mushroom Probabilities
1st 0x3D7 - 00
2nd 0x3D8 - 00
3rd 0x3D9 - 00
4th 0x3DA - 0A
5th 0x3DD - 14
6th 0x3DC - 1E
7th 0x3DD - 32
8th 0x3DE - 41
9th 0x3DF - 4B
10th 0x3E0 - 3C
11th 0x3E1 - 19
12th 0x3E2 - 0A

Bomb Probabilities
1st 0x3E3 - 00
2nd 0x3E4 - 00
3rd 0x3E5 - 05
4th 0x3E6 - 0A
5th 0x3E7 - 0F
6th 0x3E8 - 0F
7th 0x3E9 - 0A
8th 0x3EA - 00
9th 0x3EB - 00
10th 0x3EC - 00
11th 0x3ED - 00
12th 0x3EE - 00

Blue Shell Probabilities
1st 0x3EF - 00
2nd 0x3F0 - 00
3rd 0x3F1 - 00
4th 0x3F2 - 05
5th 0x3F3 - 0A
6th 0x3F4 - 0F
7th 0x3F5 - 0F
8th 0x3F6 - 0A
9th 0x3F7 - 05
10th 0x3F8 - 00
11th 0x3F9 - 00
12th 0x3FA - 00

Shock Probabilities
1st 0x3FB - 00
2nd 0x3FC - 00
3rd 0x3FD - 00
4th 0x3FE - 00
5th 0x3FF - 00
6th 0x400 - 00
7th 0x401 - 00
8th 0x402 - 00
9th 0x403 - 00
10th 0x404 - 00
11th 0x405 - 0F
12th 0x406 - 28

Star Probabilities
1st 0x407 - 00
2nd 0x408 - 00
3rd 0x409 - 00
4th 0x40A - 00
5th 0x40B - 00
6th 0x40C - 00
7th 0x40D - 00
8th 0x40E - 19
9th 0x40F - 28
10th 0x410 - 37
11th 0x411 - 37
12th 0x412 - 23

Golden Probabilities
1st 0x413 - 00
2nd 0x414 - 00
3rd 0x415 - 00
4th 0x416 - 00
5th 0x417 - 00
6th 0x418 - 05
7th 0x419 - 14
8th 0x41A - 2D
9th 0x41B - 37
10th 0x41C - 46
11th 0x41D - 3C
12th 0x41E - 2D

Mega Probabilities
1st 0x41F - 00
2nd 0x420 - 00
3rd 0x421 - 00
4th 0x422 - 05
5th 0x423 - 0F
6th 0x424 - 14
7th 0x425 - 0F
8th 0x426 - 0A
9th 0x427 - 00
10th 0x428 - 00
11th 0x429 - 00
12th 0x42A - 00

Blooper Probabilities
1st 0x42B - 00
2nd 0x42C - 00
3rd 0x42D - 00
4th 0x42E - 00
5th 0x42F - 0A
6th 0x430 - 0F
7th 0x431 - 0F
8th 0x432 - 0A
9th 0x433 - 0A
10th 0x434 - 00
11th 0x435 - 00
12th 0x436 - 00

POW Probabilities
1st 0x437 - 00
2nd 0x438 - 00
3rd 0x439 - 00
4th 0x43A - 00
5th 0x43B - 0A
6th 0x43C - 0A
7th 0x43D - 0F
8th 0x43E - 0A
9th 0x43F - 0A
10th 0x440 - 00
11th 0x441 - 00
12th 0x442 - 00

TC Probabilities
1st 0x443 - 00
2nd 0x444 - 00
3rd 0x445 - 05
4th 0x446 - 0F
5th 0x447 - 0F
6th 0x448 - 0F
7th 0x449 - 0A
8th 0x44A - 0A
9th 0x44B - 00
10th 0x44C - 00
11th 0x44D - 00
12th 0x44E - 00

Bullet Bill Probabilities
1st 0x44F - 00
2nd 0x450 - 00
3rd 0x451 - 00
4th 0x452 - 00
5th 0x453 - 00
6th 0x454 - 00
7th 0x455 - 00
8th 0x456 - 00
9th 0x457 - 05
10th 0x458 - 0F
11th 0x459 - 2D
12th 0x45A - 46

Triple Green Probabilities
1st 0x45B - 00
2nd 0x45C - 0A
3rd 0x45D - 14
4th 0x45E - 14
5th 0x45F - 0F
6th 0x460 - 0A
7th 0x461 - 05
8th 0x462 - 00
9th 0x463 - 00
10th 0x464 - 00
11th 0x465 - 00
12th 0x466 - 00

Triple Red Probabilities
1st 0x467 - 00
2nd 0x468 - 00
3rd 0x469 - 0A
4th 0x46A - 14
5th 0x46B - 14
6th 0x46C - 14
7th 0x46D - 0F
8th 0x46E - 0A
9th 0x46F - 00
10th 0x470 - 00
11th 0x471 - 00
12th 0x472 - 00

Triple Banana Probabilities
1st 0x473 - 14
2nd 0x474 - 19
3rd 0x475 - 14
4th 0x476 - 05
5th 0x477 - 00
6th 0x478 - 00
7th 0x479 - 00
8th 0x47A - 00
9th 0x47B - 00
10th 0x47C - 00
11th 0x47D - 00
12th 0x47E - 00 

We want to completely zero out the probabilities of ever receiving the TC or Blooper. Therefore, for TC & Blooper probabilities, we must zero out all the values for all positions.

Let's start with the Blooper Probabilities. Using the reference above, we see that addresses 0x42F through 0x433 have values greater than zero. Zero out every byte for that address range. 

Next, we move onto the TC Probabilities. Using the reference above, we see that addresses 0x445 through 0x44A have values greater than zero. Zero out every byte for that address range. Double check your edits. Save the changes. If you are using HxD, a backup file (with the .bak extension) of the original will automatically be created in the Common.d folder next to your new modified ItemSlot.bin file. Delete the ItemSlot.bin.bak file or move it to a designated folder or safekeeping.




Chapter 5: Clean Up, Rebuild

That's it for the ItemSlot.bin edits. Now we need to rebuild the Common.szs.

Delete the current Common.szs file that is in the /Race directory. We will be creating a new one, therefore we no longer need the original. Let's create the new Common.szs file now...

cd /home/user/newfolder/DATA/files/Race

wszst create ./Common.d

A new Common.szs file is now created. Delete the "Common.d" directory, we no longer need it. Time to rebuild the wbfs file!

cd /home/user

wit copy ./newfolder /home/user/games/newItemSlotEditedUSA.wbfs

newItemSlotEditedUSA.wbfs is now created! WBFS file is ready to add to a USB drive to play with on a USB Loader app. Congratz! Test it out. You will notice that you will NEVER pick up a TC or Blooper from an itembox for Online VS.

Print this item

Big Grin Hello
Posted by: 北斗の拳 - 01-16-2019, 01:42 AM - Forum: Introductions - Replies (1)

こんにちは、私は日本人です。はじめまして。私はwiimmfiにはまっています。

Print this item