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

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 545
» Latest member: Wapeach
» Forum threads: 1,666
» Forum posts: 12,014

Full Statistics

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

Latest Threads
Make it to 10,000
Forum: General Discussion
Last Post: Wapeach
1 hour ago
» Replies: 5,747
» Views: 4,223,825
Connect to AltWFC again
Forum: Incomplete & Outdated Codes
Last Post: marito_yo
05-03-2024, 06:27 AM
» Replies: 0
» Views: 52
Request: Mission Mode - P...
Forum: Code Support / Help / Requests
Last Post: Wingcapman
05-02-2024, 08:54 PM
» Replies: 0
» Views: 60
Custom Kart Working on Do...
Forum: Code Support / Help / Requests
Last Post: CorvoPSY
04-27-2024, 01:14 PM
» Replies: 1
» Views: 152
Boot into TT cup selectio...
Forum: Misc/Other
Last Post: Vega
04-26-2024, 08:27 PM
» Replies: 3
» Views: 2,944
Request: Custom brsars pe...
Forum: Code Support / Help / Requests
Last Post: lschlick
04-25-2024, 05:45 PM
» Replies: 0
» Views: 62
E-mails not working on th...
Forum: General Discussion
Last Post: Fifty
04-19-2024, 04:56 AM
» Replies: 3
» Views: 411
More missing info from Br...
Forum: Coding & Hacking General Discussion
Last Post: Vega
04-15-2024, 10:04 PM
» Replies: 0
» Views: 259
Request: Custom music vol...
Forum: Code Support / Help / Requests
Last Post: lschlick
04-15-2024, 06:13 PM
» Replies: 0
» Views: 228
Request: Additional sound...
Forum: Code Support / Help / Requests
Last Post: _Ro
04-15-2024, 01:50 AM
» Replies: 6
» Views: 282

 
  Remove Mushroom Bug [Vega]
Posted by: Vega - 09-28-2018, 05:46 PM - Forum: Online; Item - Replies (2)

Remove Mushroom Bug [Vega]

The mushroom bug is a 'feature' implemented in the game to give you a mushroom for your 16th item, 18th, and 20th plus beyond regardless of your position when picking up an item box. This code removes that 'feature'.

NTSC-U
007AB617 00000000

PAL
007BA077 00000000

NTSC-J
007B96E3 00000000

NTSC-K
007A8437 00000000

Code creator: Vega

Print this item

  About Me
Posted by: 420 Matt - 09-24-2018, 08:51 PM - Forum: Introductions - Replies (2)

Greetings fellow comrades! I am 420 Matt. I have hacked MKWii for a very long time. Probably the first ever MKWii hack I used was back in 2011 where I used a bullet bill speed modifier by mdmwii to unlock everything before I knew of the ULU code. Another name I went by back when MKWii hacking was golden (2012-2014) was Matt224. I was very much involved in the MKWii community with various clans such as 4DR and WWT. (WWT was a clan I believe that was branched off of BF when some members were rebelling against one of their leaders in which I hated back then with a flaming passion) Due to unfortunate circumstances of cyberbullying, trolling, etc. I have quit the community several times, but then joined back since I had struggled to find something else to do to make me happy. I could go on and on, but that isn't necessary for this thread. Now I mainly play online on Wiimmfi, Altwfc, and now this site's server. I also am very much into the Smash Bros. and Fire Emblem game series. With all that being said, I am happy to be here as a member of mkwii.org!  Big Grin

Print this item

  Equal Item Probability [Vega]
Posted by: Vega - 09-24-2018, 06:10 PM - Forum: Incomplete & Outdated Codes - No Replies

Equal Item Probability [Vega]

NOTE: Outdated by my single 04 line version in main Codes forum.

This code will make all Item Probabilities exactly equal. Thus creating a Random Item code. It works for all items, any position, in any size room. This code is modifying your item probability table after it is calculated from itemslot.bin and the in-race room size.

NTSC-U
C27ACBCC 00000004
7EE41A14 3960000A
39800013 7D8903A6
3997FFFE B56C0002
4200FFFC 00000000

PAL
C27BB62C 00000004
7EE41A14 3960000A
39800013 7D8903A6
3997FFFE B56C0002
4200FFFC 00000000

NTSC-J
C27BAC98 00000004
7EE41A14 3960000A
39800013 7D8903A6
3997FFFE B56C0002
4200FFFC 00000000

NTSC-K
C27A99EC 00000004
7EE41A14 3960000A
39800013 7D8903A6
3997FFFE B56C0002
4200FFFC 00000000

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

#

##########################################################
##Default ASM, Navigate to Positional Row of Game's Item##
##########################################################

add r23, r4, r3 #Default ASM

###############################################################
##Load 0x000A as the Item Probability Value that will be used##
###############################################################

li r11, 0xA

#############################
##Set Count Register Amount##
#############################

li r12, 0x13 #Load 0x13 (19) for how many item halfwords are on the positional row
mtctr r12 #MOve 0x13 value to the Count Register

###############################
##Set Loop First Load Address##
###############################

addi r12, r23, -0x2 #Since we are dealing with halfwords and a 0x2 offset for sthu function in the loop, set the first address -0x2 before the green shell halfword for whatever positional row you are in

########
##LOOP##
########

##The loop will write the halfword 0x000A to every item halfword for your current positional row of the game's item table, all items now have equal probability##

the_loop:
sthu r11, 0x2 (r12)
bdnz+ the_loop

#

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

Code creator: Vega
Code credits: XeR (subroutine founder)

Print this item

  Customizable GOD Code (10 Player Room) [XeR]
Posted by: Vega - 09-22-2018, 03:33 AM - Forum: Online; Item - Replies (1)

Customizable GOD Code (10 Player Room) [XeR]

This is a customizable version of the infamous GOD Code (also known as Perfect Item Probability). The technical title for this code is Item Probability Modifier for 10 Player Rooms. Please read the instructions below to understand how to set your own Item Probability Values.

The code is currently setup with the game's default probabilities for 10 player rooms for Online VS.

NTSC-U
2834XXXX YYYYZZZZ
C27ACBC4 00000032
7EE802A6 48000181
00410000 004B0028
00000000 00000000
00000000 00000000
00000000 00000000
00000000 00140023
00320028 000F0019
00000000 00000000
00000000 00000000
00000000 0000000A
00000019 001E0032
000F000A 00230000
00050000 00000000
00000000 00000000
00050000 0014000A
0014000A 001E0000
0000001E 0014000F
000A0000 00000000
000F000A 000A000F
0000000F 00140000
00000014 00000000
0019001E 000F000F
00000000 00050014
000F000A 000F0000
000A0014 00000000
000A0000 00000014
0032000A 000F0000
00000014 000F000F
000F000A 00000005
000F0000 00000005
00000000 00000041
0000000A 00000019
002D000A 000A000A
000A0000 0000000A
00000000 00000000
00000000 003C0000
00000000 00370046
00000000 00000000
000F0000 00000000
00000000 00000000
00000019 00000000
000F0037 003C0000
00000000 0000002D
00000000 00000000
00000000 00000000
000A0000 00000028
0023002D 00000000
00000000 00460000
00000000 7C8802A6
7EE803A6 00000000
E0000000 00000000
2834XXXX YYYYZZZZ
047ACBC4 80850004
E0000000 80008000

PAL
2834XXXX YYYYZZZZ
C27BB624 00000032
7EE802A6 48000181
00410000 004B0028
00000000 00000000
00000000 00000000
00000000 00000000
00000000 00140023
00320028 000F0019
00000000 00000000
00000000 00000000
00000000 0000000A
00000019 001E0032
000F000A 00230000
00050000 00000000
00000000 00000000
00050000 0014000A
0014000A 001E0000
0000001E 0014000F
000A0000 00000000
000F000A 000A000F
0000000F 00140000
00000014 00000000
0019001E 000F000F
00000000 00050014
000F000A 000F0000
000A0014 00000000
000A0000 00000014
0032000A 000F0000
00000014 000F000F
000F000A 00000005
000F0000 00000005
00000000 00000041
0000000A 00000019
002D000A 000A000A
000A0000 0000000A
00000000 00000000
00000000 003C0000
00000000 00370046
00000000 00000000
000F0000 00000000
00000000 00000000
00000019 00000000
000F0037 003C0000
00000000 0000002D
00000000 00000000
00000000 00000000
000A0000 00000028
0023002D 00000000
00000000 00460000
00000000 7C8802A6
7EE803A6 00000000
E0000000 00000000
2834XXXX YYYYZZZZ
047BB624 80850004
E0000000 80008000

NTSC-J
2834XXXX YYYYZZZZ
C27BAC90 00000032
7EE802A6 48000181
00410000 004B0028
00000000 00000000
00000000 00000000
00000000 00000000
00000000 00140023
00320028 000F0019
00000000 00000000
00000000 00000000
00000000 0000000A
00000019 001E0032
000F000A 00230000
00050000 00000000
00000000 00000000
00050000 0014000A
0014000A 001E0000
0000001E 0014000F
000A0000 00000000
000F000A 000A000F
0000000F 00140000
00000014 00000000
0019001E 000F000F
00000000 00050014
000F000A 000F0000
000A0014 00000000
000A0000 00000014
0032000A 000F0000
00000014 000F000F
000F000A 00000005
000F0000 00000005
00000000 00000041
0000000A 00000019
002D000A 000A000A
000A0000 0000000A
00000000 00000000
00000000 003C0000
00000000 00370046
00000000 00000000
000F0000 00000000
00000000 00000000
00000019 00000000
000F0037 003C0000
00000000 0000002D
00000000 00000000
00000000 00000000
000A0000 00000028
0023002D 00000000
00000000 00460000
00000000 7C8802A6
7EE803A6 00000000
E0000000 00000000
2834XXXX YYYYZZZZ
047BAC90 80850004
E0000000 80008000

NTSC-K
2833XXXX YYYYZZZZ
C27A99E4 00000032
7EE802A6 48000181
00410000 004B0028
00000000 00000000
00000000 00000000
00000000 00000000
00000000 00140023
00320028 000F0019
00000000 00000000
00000000 00000000
00000000 0000000A
00000019 001E0032
000F000A 00230000
00050000 00000000
00000000 00000000
00050000 0014000A
0014000A 001E0000
0000001E 0014000F
000A0000 00000000
000F000A 000A000F
0000000F 00140000
00000014 00000000
0019001E 000F000F
00000000 00050014
000F000A 000F0000
000A0014 00000000
000A0000 00000014
0032000A 000F0000
00000014 000F000F
000F000A 00000005
000F0000 00000005
00000000 00000041
0000000A 00000019
002D000A 000A000A
000A0000 0000000A
00000000 00000000
00000000 003C0000
00000000 00370046
00000000 00000000
000F0000 00000000
00000000 00000000
00000019 00000000
000F0037 003C0000
00000000 0000002D
00000000 00000000
00000000 00000000
000A0000 00000028
0023002D 00000000
00000000 00460000
00000000 7C8802A6
7EE803A6 00000000
E0000000 00000000
2833XXXX YYYYZZZZ
047A99E4 80850004
E0000000 80008000

Each Item Probability Amount is done by Half-words. 

Each Color Group is for each Position. The red color group (1st group) is for items in 1st place, and last color group (black) is for items in 10th place.

For example: In the red group. The first half word (0041) is the probability for Green Shell - 1st place. The next halfword (0000) is for Red Shell - 1st place. Then Banana - 1st place.

Moving to the next color group (the orange group). The first half word is the probability for Green Shell - 2nd place. Next halfword: Red shell - 2nd place.

Etc etc.

If you want to set the Item Probability to act like a Shared Item, set the halfword value to 7FFF. If the item you want is not available, you get a different legit item instead. 100% undetectable (as long as you don't change a 0000 value to anything greater than 0000 ofc). If you don't want to ever get a certain Item, set its probability to 0000. That would be useful to get rid of Bloopers, and TC's.

For Default Game Item Probabilities (in Decimal Percentage format), view this page - HERE (credits to XeR)

How to change Hex Value to Decimal Percent Value
Take Hex Value, and convert it to Decimal. Divide it by 200, then times it by 100.

How to change Decimal Percent Value to Hex Value
Take Percent Value, and divide it by 100. Times it by 200, then convert it to Hex.

Code creator: XeR

Print this item

  ISFS Delete
Posted by: Vega - 09-18-2018, 07:16 PM - Forum: Misc/Other - No Replies

ISFS Delete

This code will allow you to delete any nand file (such as a channel, title, datasave, etc) or directory you want. Obviously, this can be used to delete a file critical to the Wii's NAND to cause a brick if desired. Press your activator whenever you want to delete the file/directory. You may notice a small lag spike when the activator has been pressed, this is normal.

R Values = The path to the file or directory you want want to delete; any unused values are 0.

Example (fake file used): /newfolder/sub/aaa.txt = 2F6E6577 666F6C64 65722F73 75622F61 61612E74 7874 (then fill in the rest of the R values with 0's)

NTSC-U
040095F4 88030051
2834XXXX YYYYZZZZ
C20095F4 0000000B
9421FF80 BC610008
48000029 RRRRRRRR
RRRRRRRR RRRRRRRR
RRRRRRRR RRRRRRRR
RRRRRRRR RRRRRRRR
RRRRRRRR RRRRRR00
7C6802A6 3D808016
618CA6EC 7D8803A6
4E800021 B8610008
38210080 88030051
60000000 00000000
E0000000 80008000

PAL
04009634 88030051
2834XXXX YYYYZZZZ
C2009634 0000000B
9421FF80 BC610008
48000029 RRRRRRRR
RRRRRRRR RRRRRRRR
RRRRRRRR RRRRRRRR
RRRRRRRR RRRRRRRR
RRRRRRRR RRRRRR00
7C6802A6 3D808016
618CA78C 7D8803A6
4E800021 B8610008
38210080 88030051
60000000 00000000
E0000000 80008000

NTSC-J
04009590 88030051
2834XXXX YYYYZZZZ
C2009590 0000000B
9421FF80 BC610008
48000029 RRRRRRRR
RRRRRRRR RRRRRRRR
RRRRRRRR RRRRRRRR
RRRRRRRR RRRRRRRR
RRRRRRRR RRRRRR00
7C6802A6 3D808016
618CA6AC 7D8803A6
4E800021 B8610008
38210080 88030051
60000000 00000000
E0000000 80008000

NTSC-K
0400973C 88030051
2833XXXX YYYYZZZZ
C200973C 0000000B
9421FF80 BC610008
48000029 RRRRRRRR
RRRRRRRR RRRRRRRR
RRRRRRRR RRRRRRRR
RRRRRRRR RRRRRRRR
RRRRRRRR RRRRRR00
7C6802A6 3D808016
618CA828 7D8803A6
4E800021 B8610008
38210080 88030051
60000000 00000000
E0000000 80008000



Source:

.macro push_stack #No need to backup r0 or LR
stwu r1, -0x80 (r1)
stmw r3, 0x8 (r1)
.endm

.macro pop_stack
lmw r3, 0x8 (r1)
addi r1, r1, 0x80
.endm

.macro default_instruction
lbz r0, 0x0051 (r3)
.endm

.macro call_link, address
lis r12, \address@h
ori r12, r12, \address@l
mtlr r12
blrl
.endm

.set region, '' #Fill in E, P, J, or K within the quotes for your region when Compiling! Lowercase letters can also be used.

.if (region == 'E' || region == 'e') # RMCE
.set ISFS_Delete, 0x8016A6EC
.elseif (region == 'P' || region == 'p') # RMCP
.set ISFS_Delete, 0x8016A78C
.elseif (region == 'J' || region == 'j') # RMCJ
.set ISFS_Delete, 0x8016A6AC
.elseif (region == 'K' || region == 'k') # RMCK
.set ISFS_Delete, 0x8016A828
.else # Invalid Region
.abort
.endif

push_stack

bl file_path #/newfolder/sub/aaa.txt used as compilation example path

.llong 0x2F6E6577666F6C64
.llong 0x65722F7375622F61
.llong 0x61612E7478740000
.space 12

file_path:
mflr r3

call_link ISFS_Delete

pop_stack

default_instruction


Print this item

  Millisecond Position View Modifier [Phyz]
Posted by: Vega - 09-18-2018, 05:40 PM - Forum: Visual & Sound Effects - No Replies

Millisecond Position View Modifier [Phyz]

This code will modify the millisecond section of the timer to display your current position. Works everywhere except for battle.

NTSC-U
C27EA41C 00000003
881E0198 3D808053
3D6038A0 7D6B0214
916C10A0 00000000

PAL
C27F4A44 00000003
881E0198 3D808053
3D6038A0 7D6B0214
916C5BE8 00000000

NTSC-J
C27F40B0 00000003
881E0198 3D808053
3D6038A0 7D6B0214
916C5568 00000000

NTSC-K
C27E2E04 00000003
881E0198 3D808052
3D6038A0 7D6B0214
916C3C40 00000000



Source:
#Values per Region

.set region, '' #Must set region value, or else source will not compile

.if (region == 'E' || region == 'e') # RMCE
    .set _1sthalf, 0x8053
    .set _2ndhalf, 0x10A0
.elseif (region == 'P' || region == 'p') # RMCP
    .set _1sthalf, 0x8053
    .set _2ndhalf, 0x5BE8
.elseif (region == 'J' || region == 'j') # RMCJ
    .set _1sthalf, 0x8053
    .set _2ndhalf, 0x5568
.elseif (region == 'K' || region == 'k') # RMCK
    .set _1sthalf, 0x8052
    .set _2ndhalf, 0x3C40
.else # Invalid Region
    .abort
.endif

lbz r0, 0x0198 (r30) #Default Instruction; r0 now holds position value

lis r12, _1sthalf
lis r11, 0x38A0
add r11, r11, r0 #Can't do addis w/o lis due to r0 being source register
stw r11, _2ndhalf (r12)



Code Creator: Phyz
Code Contributors: Vega (Helped shortened the length of the original Source); Bully (Millisecond Display Modifier Code creator), mdmwii (subroutine founder for Millisecond Display

Print this item

  Change Reg ID, Flag, Globe Pos Live in Room or in Between Races [Vega]
Posted by: Vega - 09-17-2018, 08:34 PM - Forum: Online Non-Item - Replies (5)

Change Reg ID, Flag, Globe Pos Live in Room or in Between Races [Vega]

 This code that allows you to change your Region ID (line color), Country Code (Flag Image), and Globe Location in between races. If desired, you can be in an open room and use your activators to swap between two sets of country codes/globe positions LIVE.

I designed the code where effects take place on both your screen and opponents' screens.

NOTICE: When using this code to make changes take effect race after race (like changing region ID's in between races), press your activators during the course vote (not during the actual race itself). If you press your activators during a race, then not press them when you are on the course vote, the code will not update your changes when the next race begins.

For using this code to change region, flag image, and globe position in an idle open room, simply press your activators whenever you want. Changes take effect instantly.

NTSC-U
C26609D8 00000010
3D808034 618CXXXX
A16C0000 38E0ZZZZ
38C0zzzz 7D603838
7C003800 41820014
7D603038 7C003000
4182001C 48000048
3CC0YY01 3CE0WWWW
60E7wwww 3980000R
48000014 3CC0yy01
3CE0PPPP 60E7pppp
3980000r 90C300B8
90E300BC 998300C5
3D608042 616B67E7
90CB0071 90EB1075
998B0000 88030000
60000000 00000000

PAL
C2662ABC 00000010
3D808034 618CXXXX
A16C0000 38E0ZZZZ
38C0zzzz 7D603838
7C003800 41820014
7D603038 7C003000
4182001C 48000048
3CC0YY01 3CE0WWWW
60E7wwww 3980000R
48000014 3CC0yy01
3CE0PPPP 60E7pppp
3980000r 90C300B8
90E300BC 998300C5
3D608042 616BAB67
90CB0071 90EB1075
998B0000 88030000
60000000 00000000

NTSC-J
C2662128 00000010
3D808034 618CXXXX
A16C0000 38E0ZZZZ
38C0zzzz 7D603838
7C003800 41820014
7D603038 7C003000
4182001C 48000048
3CC0YY01 3CE0WWWW
60E7wwww 3980000R
48000014 3CC0yy01
3CE0PPPP 60E7pppp
3980000r 90C300B8
90E300BC 998300C5
3D608042 616BA4E7
90CB0071 90EB1075
998B0000 88030000
60000000 00000000

NTSC-K
C2650DD4 00000010
3D808033 618CXXXX
A16C0000 38E0ZZZZ
38C0zzzz 7D603838
7C003800 41820014
7D603038 7C003000
4182001C 48000048
3CC0YY01 3CE0WWWW
60E7wwww 3980000R
48000014 3CC0yy01
3CE0PPPP 60E7pppp
3980000r 90C300B8
90E300BC 998300C5
3D608041 616B8B87
90CB0071 90EB1075
998B0000 88030000
60000000 00000000

XXXX = Controller Address
ZZZZ = Button to activate R region value, YY country code value, and WWWWwwww globe position value
zzzz = Button to activate r region value, yy country code value, and PPPPpppp globe position value
R, r = Region ID values to switch back and forth with



Source (NTSC-K Code)
#~~~~~~~~~~~~~~~~#
# START ASSEMBLY #
#~~~~~~~~~~~~~~~~#

#

#~~~~~~~~~~#
# (NTSC-K) #
#~~~~~~~~~~#

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#                              Register Safety Notes                                     #
#       r0 is safe to use because it is used by the default ASM at end of code           #
# r6 & r7 are safe to use because regardless of which subroutine route is later taken... #
#               r6 later gets overwritten by a rlwinm. function &...                     #
#                    r7 later gets overwritten by a lwz function                         #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

#~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# Controller Address Config #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~#

lis r12, 0x8033 #Set the first half of the Korean controller address
ori r12, r12, 0xXXXX #Set specific second half of Korean controller address

#~~~~~~~~~~~~~~~~~~~~~~~#
# Load Controller Input #
#~~~~~~~~~~~~~~~~~~~~~~~#

lhz r11, 0 (r12) #Load the halfword from address of r12 into r11

#~~~~~~~~~~~~~~~~~ #
# Set User's Acts #
#~~~~~~~~~~~~~~~~~~~~#

li r7, 0xZZZZ #Load 0xZZZZ value in r7; Set first activator
li r6, 0xzzzz #Load 0xzzzz value in r6; Set other activator

#~~~~~~~~~~~~~~~#
# Logical AND 1 #
#~~~~~~~~~~~~~~~#

and r0, r11, r7 #Logically AND the contents of r11 & r7, store result into r0
cmpw r0, r7 #Compare value of r0 to r7.
beq- set_regionoption1 #If equal (activator is pressed), jump to set_regionoption1 label

#~~~~~~~~~~~~~~~#
# Logical AND 2 #
#~~~~~~~~~~~~~~~#

and r0, r11, r6 #Logically AND the contents of r11 & r6, store result into r0
cmpw r0, r6 #Compare value of r0 to r6
beq- set_regionoption2 #If equal (other activator is pressed), jump to set_regionoption2 label

b dont_doshit #If ZZZZ or zzzz wasn't pressed, jump to dont_doshit label

#~~~~~~~~~~~~~~~~~~~~~~~~~#
# set_regionoption1 label #
#~~~~~~~~~~~~~~~~~~~~~~~~~#

set_regionoption1:
lis r6, 0xYY01 #Activate YY Country flag/code value
lis r7, 0xWWWW #Activate WWWW first half globe position
ori r7, r7, 0xwwww #Activate wwww second half globe position
li r12, 0xR #Activate R region ID
b finalize_value #Jump to finalize_value, because we don't want the r Region ID to set

#~~~~~~~~~~~~~~~~~~~~~~~~~#
# set_regionoption2 label #
#~~~~~~~~~~~~~~~~~~~~~~~~~#

set_regionoption2:
lis r6, 0xyy01 #Activate YY Country flag/code value; lis instead of li is used due to 0x7FFF limit
lis r7, 0xPPPP #Activate PPPP first half globe position
ori r7, r7, 0xpppp #Activate pppp second half globe position
li r12, 0xr #Activate r Region ID

#~~~~~~~~~~~~~~~~~~~~~~#
# finalize_value label #
#~~~~~~~~~~~~~~~~~~~~~~#

finalize_value:
stw r6, 0x00B8 (r3) #Store the new Country code value to its proper location on USER record
stw r7, 0x00BC (r3) #Store the new Globe Position value to its proper location on USER record
stb r12, 0x00C5 (r3) #Store the new Region ID value to its proper location on USER record
lis r11, 0x8041 #Set 1st half of Anarion's Region ID Address as a base to store self-sided values
ori r11, r11, 0x8B87 #Set 2nd half of Anarion's Region ID Changer Address
stw r6, 0x0071 (r11) #Store Country Code value to Anarion's Country Flag Changer code address
stw r7, 0x1075 (r11) #Store Globe position value to Anarion's Globe Position Changer address
stb r12, 0 (r11) #Store Region value to Anarion's Region ID Changer address

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# dont_doshit label; Default ASM #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

dont_doshit:
lbz r0, 0 (r3)

#

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



Code creator: Vega
Code credits: Anarion (Used his addresses to make effects appear on your screen)

Print this item

  Change Region ID In Between Races #2 [Vega]
Posted by: Vega - 09-17-2018, 05:01 PM - Forum: Incomplete & Outdated Codes - No Replies

Change Region ID In Between Races #2 [Vega]

NOTE: Outdated by Star's version

This code will let you change your region ID in between races online. Everyone will see the effects. However, nothing will change on your screen.

Code only takes effect from changes in between races (not during the actual race itself). Press your activators during the course vote! If you press your activators during a race, and not press them on the next course vote, your changes will not take effect when the next race begins.

NTSC-U
C26609D8 00000009
3D808034 618CXXXX
A16C0000 38E0ZZZZ
38C0zzzz 7D603838
7C003800 41820014
7D603038 7C003000
41820010 48000014
3980000R 48000008
3980000r 998300C5
88030000 00000000

PAL
C2662ABC 00000009
3D808034 618CXXXX
A16C0000 38E0ZZZZ
38C0zzzz 7D603838
7C003800 41820014
7D603038 7C003000
41820010 48000014
3980000R 48000008
3980000r 998300C5
88030000 00000000

NTSC-J
C2662128 00000009
3D808034 618CXXXX
A16C0000 38E0ZZZZ
38C0zzzz 7D603838
7C003800 41820014
7D603038 7C003000
41820010 48000014
3980000R 48000008
3980000r 998300C5
88030000 00000000

NTSC-K
C2650DD4 00000009
3D808033 618CXXXX
A16C0000 38E0ZZZZ
38C0zzzz 7D603838
7C003800 41820014
7D603038 7C003000
41820010 48000014
3980000R 48000008
3980000r 998300C5
88030000 00000000

XXXX = Controller Address
ZZZZ = Button to activate R region value
zzzz = Button to activate r region value
R, r = Region ID values to switch back and forth with

R/r values:
0 - Japan; red line
1 - Americas; blue line
2 - Europe; green line
3 - Aus/NZ; yellow line
4 - Taiwan; white line
5 - South Korea purple line
6 - China; white line



Source (NTSC-K Code)
#~~~~~~~~~~~~~~~~#
# START ASSEMBLY #
#~~~~~~~~~~~~~~~~#

#

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#                              Register Safety Notes                                     #
#       r0 is safe to use because it is used by the default ASM at end of code           #
# r6 & r7 are safe to use because regardless of which subroutine route is later taken... #
#               r6 later gets overwritten by a rlwinm. function &...                     #
#                    r7 later gets overwritten by a lwz function                         #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

#~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# Controller Address Config #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~#

lis r12, 0x8033 #Set the first half of the Korean controller address
ori r12, r12, 0xXXXX #Set specific second half of Korean controller address

#~~~~~~~~~~~~~~~~~~~~~~~#
# Load Controller Input #
#~~~~~~~~~~~~~~~~~~~~~~~#

lhz r11, 0 (r12) #Load the halfword from address of r12 into r11

#~~~~~~~~~~~~~~~~~ #
# Set User's Acts #
#~~~~~~~~~~~~~~~~~~~~#

li r7, 0xZZZZ #Load 0xZZZZ value in r7; Set first activator
li r6, 0xzzzz #Load 0xzzzz value in r6; Set other activator

#~~~~~~~~~~~~~~~#
# Logical AND 1 #
#~~~~~~~~~~~~~~~#

and r0, r11, r7 #Logically AND the contents of r11 & r7, store result into r0
cmpw r0, r7 #Compare value of r0 to r7.
beq- set_regionoption1 #If equal (activator is pressed), jump to set_regionoption1 label

#~~~~~~~~~~~~~~~#
# Logical AND 2 #
#~~~~~~~~~~~~~~~#

and r0, r11, r6 #Logically AND the contents of r11 & r6, store result into r0
cmpw r0, r6 #Compare value of r0 to r6
beq- set_regionoption2 #If equal (other activator is pressed), jump to set_regionoption2 label

b dont_doshit #If ZZZZ or zzzz wasn't pressed, jump to dont_doshit label

#~~~~~~~~~~~~~~~~~~~~~~~~~#
# set_regionoption1 label #
#~~~~~~~~~~~~~~~~~~~~~~~~~#

set_regionoption1:
li r12, 0xR #Activate R region ID
b finalize_value #Jump to finalize_value, because we don't want the r Region ID to set

#~~~~~~~~~~~~~~~~~~~~~~~~~#
# set_regionoption2 label #
#~~~~~~~~~~~~~~~~~~~~~~~~~#

set_regionoption2:
li r12, 0xr #Activate r Region ID

#~~~~~~~~~~~~~~~~~~~~~~#
# finalize_value label #
#~~~~~~~~~~~~~~~~~~~~~~#

finalize_value:
stb r12, 0x00C5 (r3) #Store the new Region ID value to its proper location on USER record

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# dont_doshit label; Default ASM #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

dont_doshit:
lbz r0, 0 (r3)

#

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


Code creator: Vega

Print this item

  Get Notified When Certain Player is in your Room/WW [Vega]
Posted by: Vega - 09-16-2018, 06:26 PM - Forum: Online Non-Item - No Replies

Get Notified When Certain Player is in your Room/WW [Vega]

This code will notify you when a certain player joins your room/WW, or if you join a room/WW and that certain player is in it.

How the code works: You will get notified if a player is in the same Room/WW as you once the race begins (which will be after he joins). As the race starts, your HUD will fade notifying you that the targeted player is in your Room/WW. If the targeted player leaves the WW while you stay in the WW, when next race starts, the HUD will go back to normal. If you leave the WW before the targeted player leaves, the HUD will not fix itself. The start of each race updates the HUD accordingly.

XXXXYYYYWWWWZZZZ = The targeted player's FC in Hex.

How to take an FC and make it HEX:
Let's say the Target FC is 2705-8294-0189. Use any online converter to change it from Decimal to Hex.

The Hex value for that FC is 0000003F0000021D.

NTSC-U
C261E0CC 0000000A
3C808060 6084C748
3D60XXXX 616BYYYY
81830170 7C0C5800
40A20024 3D60WWWW
616BZZZZ 81830174
7C0C5800 40A20010
3D803800 618C007F
4800000C 3D803800
618C00FF 91840000
88830185 00000000

PAL
C26513E0 0000000A
3C808063 6084DB68
3D60XXXX 616BYYYY
81830170 7C0C5800
40A20024 3D60WWWW
616BZZZZ 81830174
7C0C5800 40A20010
3D803800 618C007F
4800000C 3D803800
618C00FF 91840000
88830185 00000000

NTSC-J
C2650A4C 0000000A
3C808063 6084D1D4
3D60XXXX 616BYYYY
81830170 7C0C5800
40A20024 3D60WWWW
616BZZZZ 81830174
7C0C5800 40A20010
3D803800 618C007F
4800000C 3D803800
618C00FF 91840000
88830185 00000000

NTSC-K
C263F6F8 0000000A
3C808062 6084BE80
3D60XXXX 616BYYYY
81830170 7C0C5800
40A20024 3D60WWWW
616BZZZZ 81830174
7C0C5800 40A20010
3D803800 618C007F
4800000C 3D803800
618C00FF 91840000
88830185 00000000



Source (for NTSC-K):
#~~~~~~~~~~~~~~~~#
# START ASSEMBLY #
#~~~~~~~~~~~~~~~~#

#~~~~~~~~#
# NTSC-K #
#~~~~~~~~#

#~~~~~~~~~~~~~~~~~~~~~~~#
# Register Safety Notes #
#~~~~~~~~~~~~~~~~~~~~~~~#

##r4 safe to use because it gets overwritten by Default ASM at end of code##

#

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# Set HUD Transparency Code Address #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

lis r4, 0x8062 #Set 1st half of NTSC-K HUD Code Address
ori r4, r4, 0xBE80 #Set 2nd half of NTSC-K HUD Code Address

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# User Entered First Half of FC Here #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

lis r11, 0xXXXX #Load user's desired first fourth of FC value into upper 16 bits of r14
ori r11, r11, 0xYYYY #Load user's desired second fourth of FC value into lower 16 bits of r14

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# Load First Half of Current Player's FC #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

lwz r12, 0x0170 (r3) #Load FC Upper 32 bits from current read player's USER Record

#~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# First FC Comparison Check #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~#

cmpw r12, r11
bne+ no_go

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# User Entered Second Half of FC Here #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

lis r11, 0xWWWW #Load user's desired third fourth of FC value into upper 16 bits of r14
ori r11, r11, 0xZZZZ #Load user's desired final fourth of FC value into lower 16 bits of r14

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# Load Second Half of Current Player's FC #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

lwz r12, 0x0174 (r3) #Load FC Lower 32 bits from current read player's USER Record

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# Second FC Comparison Check #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

cmpw r12, r11
bne+ no_go

#~~~~~~~~~~~~~~~~~~~~~~#
# Execute Notification #
#~~~~~~~~~~~~~~~~~~~~~~#

lis r12, 0x3800 #Set 1st half value of word to write to the HUD Address
ori r12, r12, 0x007F #Set 2nd half value of word
b the_end

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# no_go label; set HUD to normal #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

no_go:
lis r12, 0x3800 #Set 1st half value of word to write to the HUD Address
ori r12, r12, 0x00FF #Set 2nd half value of word

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# the_end label & Default ASM #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

the_end:
stw r12, 0 (r4) #Store finalized word to HUD Transparency Modifier Address
lbz r4, 0x0185 (r3) #Default ASM

#

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



Code creator: Vega
Code credits: Star (address founder); EvilRobot (HUD Transparency Modifier)

Print this item

  In-Race Room Size & Position Based Shared Item Code [Vega]
Posted by: Vega - 09-13-2018, 06:40 PM - Forum: Incomplete & Outdated Codes - Replies (1)

In-Race Room Size & Position Based Shared Item Code [Vega]

NOTE: Outdated by Unnamed's version.

This is a version of Shared Item code that will only execute on a desired in-race room size AND desired position within that room. If both in-race room size and position is not equal to what you set in the code, your Shared Item will NOT execute. Feel free to add activators/deactivators.

NTSC-U
C27AC3C0 00000002
3D808000 992C164F
2C09000C 00000000
C27AB704 00000005
3D808000 896C164F
2C0B000X 40A20010
2C19000Y 40A20008
386000WW 90770020
60000000 00000000

PAL
C27BAE20 00000002
3D808000 992C164F
2C09000C 00000000
C27BA164 00000005
3D808000 896C164F
2C0B000X 40A20010
2C19000Y 40A20008
386000WW 90770020
60000000 00000000

NTSC-J
C27BA48C 00000002
3D808000 992C164F
2C09000C 00000000
C27B97D0 00000005
3D808000 896C164F
2C0B000X 40A20010
2C19000Y 40A20008
386000WW 90770020
60000000 00000000

NTSC-K
C27A91E0 00000002
3D808000 992C164F
2C09000C 00000000
C27A8524 00000005
3D808000 896C164F
2C0B000X 40A20010
2C19000Y 40A20008
386000WW 90770020
60000000 00000000

X = In-Race Room Size
Y = Position
WW = Item

X/Y Values:
Anything from 1 thru C (hex)

WW Item Values:
00 = Green Shell
01 = Red Shell
02 = Banana
03 = Fake Item Box
04 = Mushroom
05 = Triple Mushroom
06 = Bob-omb
07 = Blue Shell
08 = Lightning
09 = Star
0A = Golden Mushroom
0B = Mega Mushroom
0C = Blooper
0D = POW Block
0E = Cloud
0F = Bullet Bill
10 = Triple Green Shell
11 = Triple Red Shell
12 = Triple Banana
14 = Nothing



##Source (In-Race Room Size Storage 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 instruction

##Source (Shared Item Code)##
lis r12, 0x8000 #Set 1st half address to load room size value that was stored from previous code
lbz r11, 0x164F (r12) #Load in-race room size value from 0x8000164F address, offset used to complete rest of address location
cmpwi r11, 0xX #Compare In-Race Room size value to what value the User has set it to
bne+ dont_execute #If not equal to User's desired value, jump to dont_execute label. This is most likely to happen, hence the plus symbol

cmpwi r25, 0xY #If in-race room size value checks out, now compare position value to what value the User has set it to
bne+ dont_execute #If not equal to User's desired value, jump to dont_execute label. This is most likely to happen, hence the plus symbol

li r3, 0xWW #If both in-race room size and position values check out, preform the typical shared item code using User's set Item value

dont_execute:
stw r3,32(r23) #Default instruction



Code creator: Vega
Code credits: Star, Guru

Print this item