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

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 91
» Latest member: AnimeSD11
» Forum threads: 1,025
» Forum posts: 1,715

Full Statistics

Online Users
There are currently 5 online users.
» 1 Member(s) | 2 Guest(s)
Google, Yandex, Cameron_MKW

Latest Threads
Useful Links
Forum: TAS
Last Post: Cameron_MKW
05-22-2019, 12:51 PM
» Replies: 4
» Views: 33
Useful Codes
Forum: TAS
Last Post: zak
05-21-2019, 10:33 PM
» Replies: 0
» Views: 13
Simplified (Beginner's) C...
Forum: Hacking General
Last Post: Cameron_MKW
05-19-2019, 07:23 AM
» Replies: 22
» Views: 5,606
How to Install and Run Al...
Forum: Guides/How-To's
Last Post: Cameron_MKW
05-18-2019, 10:43 AM
» Replies: 1
» Views: 663
Annoucements/Updates
Forum: Site Advancement
Last Post: zak
05-13-2019, 04:13 PM
» Replies: 39
» Views: 8,792
Hello
Forum: Introductions
Last Post: Adam9999vr
05-06-2019, 04:50 PM
» Replies: 2
» Views: 149
Best Known Splits
Forum: Time Trials
Last Post: zak
05-06-2019, 01:46 PM
» Replies: 2
» Views: 732
Call Parent Game Loop
Forum: Cheat Codes
Last Post: Star
05-05-2019, 07:39 PM
» Replies: 0
» Views: 149
Triple Fib Launcher
Forum: Cheat Codes
Last Post: zak
05-03-2019, 10:34 PM
» Replies: 0
» Views: 102
WIT Command Cheat Sheet
Forum: Wiimm's Tools
Last Post: zak
05-03-2019, 09:11 PM
» Replies: 2
» Views: 757

 
  Useful Codes
Posted by: zak - 05-21-2019, 10:33 PM - Forum: TAS - No Replies

Here are some useful Codes for TASing. Please also view this thread HERE for codes to assist and/or add features in recording the TAS once the TAS has been completed.



TAS Code :
http://mkwii.com/showthread.php?tid=1036

Speed-O-Meter :
http://mkwii.com/showthread.php?tid=983

Graphical Speed-O-Meter Version 1:
Displays speed as its own graphical separate image on the bottom-right - http://mkwii.com/showthread.php?tid=911

Graphical Speed-O-Meter Version 2:
Displays speed as its own graphical separate image on the bottom-left, smaller font, has some flickering - http://mkwii.com/showthread.php?tid=1111

Graphical Speed/MTC/Air/Bst:
Based on Version 2; Displays Speed, MT Charge, Air Time, and Mush/Zipper Boost all via images on the bottom of the screen - http://mkwii.com/showthread.php?tid=1112

Always Have Item (set Item Value to Shroom or Triple-Shroom):
http://mkwii.com/showthread.php?tid=50

Automated License Unlock (set X Value to 1, Set Y/Z values to anything random)
http://mkwii.com/showthread.php?tid=1123



Please note that if code(s) are not working in Dolphin. You may to be edit your Graphics XFB config. Doing this will differ per version of Dolphin. However here is a tip on how to edit the XFB with a modern dev version of Dolphin:

1. Find the Icon Picture at the top that says 'Graphics'. Click on it to open Graphics settings.
3. Go to the Hacks Tab. 
4. Underneath External Frame Buffer settings, be sure the box for "Store XFB Copies to Texture Only" is unchecked.
5. Close/Save settings. Reboot Dolphin

Print this item

  Useful Links
Posted by: Cameron_MKW - 05-20-2019, 03:48 PM - Forum: TAS - Replies (4)

Website:
[
https://mkwtas.com/]

TAS Discord:
[https://discord.gg/NCZghgy]

TAS Records: (3 Lap)
[
https://docs.google.com/spreadsheets/u/1/d/1USwHHYSL1pRMSWbZI78DlJqgywY6dus2zApg8YkyrR8/edit#gid=0]

TAS Records: (Fast lap)
[
https://docs.google.com/spreadsheets/u/1/d/1USwHHYSL1pRMSWbZI78DlJqgywY6dus2zApg8YkyrR8/edit#gid=1863266924]

Gameplay Techniques:
[
https://docs.google.com/spreadsheets/d/1USwHHYSL1pRMSWbZI78DlJqgywY6dus2zApg8YkyrR8/edit#gid=1409541870]

Checkpoint Maps:
[
http://www.mariokart64.com/cgi-bin/yabb2/YaBB.pl?num=1262044871/5000#5023]

Dolphin 5.0 w/ Info Display: (Sware's Version)
[
https://drive.google.com/file/d/1bxcKL6C5NkpUrhBjHVMw3hIFtbRXfbu4/view]

MKWii Dolphin Lua
[
https://github.com/SwareJonge/Dolphin-Lua-Core/releases]

TAStudio (A small GUI used to display input data from a specially formatted file.)
[https://github.com/sowens99/Dolphin-TAStudio]

Useful Codes:
[
http://mkwii.com/showthread.php?tid=1136]

Other Important Links:
[
https://docs.google.com/document/d/1ZXRqew-HU6OFnyt39hXdCcL-B6Lhagv4tuTtgjmJkAU/edit]

Print this item

  Call Parent Game Loop
Posted by: Star - 05-05-2019, 07:39 PM - Forum: Cheat Codes - No Replies

Call Parent Game Loop

This code calls the parent game loop rather than the game specific one. It also enables the profiler provided by the parent game loop.

(NTSC-U)
04008F4C 818C0070
04238B90 4E800020
04241860 4800001C
04241874 48000008
04241978 48000014

(PAL)
04008F8C 818C0070
04238F14 4E800020
0424271C 4800001C
04242730 48000008
04242834 48000014

(NTSC-J)
04008EE8 818C0070
04238E34 4E800020
0424263C 4800001C
04242650 48000008
04242754 48000014

(NTSC-K)
040090DC 818C0070
04239288 4E800020
04242A90 4800001C
04242AA4 48000008
04242BA8 48000014

Code Creators: Star, Riidefi

Print this item

  Triple Fib Launcher
Posted by: zak - 05-03-2019, 10:34 PM - Forum: Cheat Codes - No Replies

Triple Fib Launcher

This code will cause you to launch 3 fibs whenever a fib is used. Works everywhere. When using offline, it also effects the CPUs. When using online, everyone can see the effects.

NTSC-U
C27AB704 00000004
3D808000 39600000
2C030003 40A20008
39600001 996C1500
90770020 00000000
C2788A04 00000004
3D808000 898C1500
2C0C0001 40A20008
38600003 907B0050
60000000 00000000

PAL
C27BA164 00000004
3D808000 39600000
2C030003 40A20008
39600001 996C1500
90770020 00000000
C2791A10 00000004
3D808000 898C1500
2C0C0001 40A20008
38600003 907B0050
60000000 00000000

NTSC-J
C27B97D0 00000004
3D808000 39600000
2C030003 40A20008
39600001 996C1500
90770020 00000000
C279107C 00000004
3D808000 898C1500
2C0C0001 40A20008
38600003 907B0050
60000000 00000000

NTSC-K
C27A8524 00000004
3D808000 39600000
2C030003 40A20008
39600001 996C1500
90770020 00000000
C277FDD0 00000004
3D808000 898C1500
2C0C0001 40A20008
38600003 907B0050
60000000 00000000




List of Sources-

(1st ASM):
lis r12,0x8000
li r11, 0

cmpwi r3, 3
bne+ the_label

li r11, 1

the_label:
stb r11, 0x1500(r12)

stw r3, 0x0020 (r23) #Default instruction

=====

(2nd ASM):
lis r12, 0x8000
lbz r12, 0x1500 (r12)

cmpwi r12, 1
bne+ the_label

li r3, 3

the_label:
stw r3, 0x0050 (r27) #Default instruction



Code creators: Landon, zak

Print this item

Star Hello
Posted by: Adam9999vr - 05-03-2019, 03:42 PM - Forum: Introductions - Replies (2)

HELLO EVERYONE!

Hello everyone! My name is Adam. In the MKW community I go by Adam9999vr. I can't wait to get to know all of you guys! That's all for now. PEACE!







-Adam

Print this item

  hi
Posted by: cosmiic - 05-02-2019, 01:16 PM - Forum: Introductions - Replies (1)

hey, i'm cosmic. i started playing mkw competitively not that long ago and i hack for fun on the side. i'm trying to learn more than the basic activators and such about making codes and i just thought this would be the right place to come (:

Print this item

  Better Dolphin Android
Posted by: Cameron_MKW - 04-29-2019, 05:28 PM - Forum: Resources - No Replies

This alternate version of Dolphin for Android has an implemented cheat code handler and it fixes the weird visual glitch in the top left corner of some tracks;

https://github.com/weihuoya/dolphin/releases

Print this item

  Join Any Friends' Regional/Continental Race
Posted by: Star - 04-20-2019, 04:04 PM - Forum: Cheat Codes - No Replies

Join Any Friends' Regional/Continental Race

This code will allow you to join any friends' regional/continental race, regardless of your region.

(NTSC-U)
C2655D6C 00000004
280000FF 41A20010
818D9400 818C0084
7D806378 981B25F0
60000000 00000000

(PAL)
C265A1F4 00000004
280000FF 41A20010
818D9400 818C0084
7D806378 981B25F0
60000000 00000000

(NTSC-J)
C2659860 00000004
280000FF 41A20010
818D9400 818C0084
7D806378 981B25F0
60000000 00000000

(NTSC-K)
C264850C 00000004
280000FF 41A20010
818D9420 818C0084
7D806378 981B25F0
60000000 00000000

Code Creator: Star
Code Credits: Riidefi (Matching Area SDA Offset)

Print this item

  Automated License Unlock and/or VR+BR Modifier
Posted by: zak - 04-18-2019, 08:42 PM - Forum: Cheat Codes - Replies (2)

Automated License Unlock and/or VR+BR Modifier

This code will do one or both of the following...
1. Unlock Everything for all current licenses already Made (no star rank applied)
2. Set VR+BR for all current licenses already made

Instructions for filling in X,Y,Z values:

First, set your 'user option' (this is the part of the code that has the X value highlighted in Bold). Here are the options you can set-
0 = Unlock Everything, Set VR & BR
1 = Unlock Everything, no VR & BR changes
2 = Set VR & BR, don't unlock

The YYYY value in the code is the VR rating and the ZZZZ value is the BR rating. If your user option (X value) is 1, then set the YYYY/ZZZZ values to anything random, it doesn't matter as the code will NOT apply the VR/BR changes.

Example YYYY/ZZZZ value:
270F = 9999 VR/BR

The code makes the desired changes on all licenses that are already made. If a license doesn't exist, the code will skip execution of the current license and check the next license slot.

Instructions on using the code:
All you have to do is boot MKWii. After a split second (your TV screen may have a visual glitch, this is normal), you will automatically be returned to the Wii Main Menu. And... that's it!!! You're done. Congratz.

NOTE: If using this on Dolphin, the automatic return to the Wii Menu will most likely fail (emulation freezes/glitches) but the code will still take effect.

NTSC-U
C20095F4 00000032
3AA0000X 3EC0YYYY
62D6ZZZZ 3C600002
60638000 7C791B78
38800020 80ADA358
80A50024 7CBA2B78
3D808022 618C9490
7D8803A6 4E800021
7C7B1B78 3FA08016
4800002D 2F746974
6C652F30 30303130
3030342F 35323464
34333435 2F646174
612F726B 7379732E
64617400 7C6802A6
7C7E1B78 38800001
63BCADBC 7F8803A6
4E800021 2C030000
418000F4 7C7F1B78
7F64DB78 7F25CB78
63BCB15C 7F8803A6
4E800021 7C03C800
408200D4 7FE3FB78
63BCB2E4 7F8803A6
4E800021 3B1B0038
3E208CC0 5631843E
7F11C050 39600004
7D98886E 2C150001
40820029 39E00000
39EFFFFF 3E00031F
6210FFFC 91F80000
92180004 356BFFFF
4082FFD8 48000014
92D80080 2C150002
41A2FFEC 4E800020
7F63DB78 3899FFFC
3D80801D 618C1C00
7D8803A6 4E800021
3C9B0002 90647FFC
7FC3F378 38800002
63BCADBC 7F8803A6
4E800021 2C030000
41800034 7C7F1B78
7F64DB78 7F25CB78
63BCB220 7F8803A6
4E800021 7C03C800
40820014 7FE3FB78
63BCB2E4 7F8803A6
4E800021 3D80801A
618C87B8 7D8803A6
4E800020 00000000

PAL
C2009634 00000032
3AA0000X 3EC0YYYY
62D6ZZZZ 3C600002
60638000 7C791B78
38800020 80ADA360
80A50024 7CBA2B78
3D808022 618C9814
7D8803A6 4E800021
7C7B1B78 3FA08016
4800002D 2F746974
6C652F30 30303130
3030342F 35323464
34333530 2F646174
612F726B 7379732E
64617400 7C6802A6
7C7E1B78 38800001
63BCAE5C 7F8803A6
4E800021 2C030000
418000F4 7C7F1B78
7F64DB78 7F25CB78
63BCB1FC 7F8803A6
4E800021 7C03C800
408200D4 7FE3FB78
63BCB384 7F8803A6
4E800021 3B1B0038
3E208CC0 5631843E
7F11C050 39600004
7D98886E 2C150001
40820029 39E00000
39EFFFFF 3E00031F
6210FFFC 91F80000
92180004 356BFFFF
4082FFD8 48000014
92D80080 2C150002
41A2FFEC 4E800020
7F63DB78 3899FFFC
3D80801D 618C1CA0
7D8803A6 4E800021
3C9B0002 90647FFC
7FC3F378 38800002
63BCAE5C 7F8803A6
4E800021 2C030000
41800034 7C7F1B78
7F64DB78 7F25CB78
63BCB2C0 7F8803A6
4E800021 7C03C800
40820014 7FE3FB78
63BCB384 7F8803A6
4E800021 3D80801A
618C8858 7D8803A6
4E800020 00000000

NTSC-J
C2009590 00000032
3AA0000X 3EC0YYYY
62D6ZZZZ 3C600002
60638000 7C791B78
38800020 80ADA360
80A50024 7CBA2B78
3D808022 618C9734
7D8803A6 4E800021
7C7B1B78 3FA08016
4800002D 2F746974
6C652F30 30303130
3030342F 35323464
34333461 2F646174
612F726B 7379732E
64617400 7C6802A6
7C7E1B78 38800001
63BCAD7C 7F8803A6
4E800021 2C030000
418000F4 7C7F1B78
7F64DB78 7F25CB78
63BCB11C 7F8803A6
4E800021 7C03C800
408200D4 7FE3FB78
63BCB2A4 7F8803A6
4E800021 3B1B0038
3E208CC0 5631843E
7F11C050 39600004
7D98886E 2C150001
40820029 39E00000
39EFFFFF 3E00031F
6210FFFC 91F80000
92180004 356BFFFF
4082FFD8 48000014
92D80080 2C150002
41A2FFEC 4E800020
7F63DB78 3899FFFC
3D80801D 618C1BC0
7D8803A6 4E800021
3C9B0002 90647FFC
7FC3F378 38800002
63BCAD7C 7F8803A6
4E800021 2C030000
41800034 7C7F1B78
7F64DB78 7F25CB78
63BCB1E0 7F8803A6
4E800021 7C03C800
40820014 7FE3FB78
63BCB2A4 7F8803A6
4E800021 3D80801A
618C8778 7D8803A6
4E800020 00000000

NTSC-K
C200973C 00000032
3AA0000X 3EC0YYYY
62D6ZZZZ 3C600002
60638000 7C791B78
38800020 80ADA380
80A50024 7CBA2B78
3D808022 618C9B88
7D8803A6 4E800021
7C7B1B78 3FA08016
4800002D 2F746974
6C652F30 30303130
3030342F 35323464
34333462 2F646174
612F726B 7379732E
64617400 7C6802A6
7C7E1B78 38800001
63BCAEF8 7F8803A6
4E800021 2C030000
418000F4 7C7F1B78
7F64DB78 7F25CB78
63BCB298 7F8803A6
4E800021 7C03C800
408200D4 7FE3FB78
63BCB420 7F8803A6
4E800021 3B1B0038
3E208CC0 5631843E
7F11C050 39600004
7D98886E 2C150001
40820029 39E00000
39EFFFFF 3E00031F
6210FFFC 91F80000
92180004 356BFFFF
4082FFD8 48000014
92D80080 2C150002
41A2FFEC 4E800020
7F63DB78 3899FFFC
3D80801D 618C1FFC
7D8803A6 4E800021
3C9B0002 90647FFC
7FC3F378 38800002
63BCAEF8 7F8803A6
4E800021 2C030000
41800034 7C7F1B78
7F64DB78 7F25CB78
63BCB35C 7F8803A6
4E800021 7C03C800
40820014 7FE3FB78
63BCB420 7F8803A6
4E800021 3D80801A
618C8BB4 7D8803A6
4E800020 00000000



Code creator: zak

Code credits: RiiDefi (EGG::Heap::alloc & NETCalcCRC32 functions), Megazig (All ISFS functions)



Source:

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

#

#~~~~~~~~~~~~~~~~~~~~~~#
# Macros and Variables #
#~~~~~~~~~~~~~~~~~~~~~~#

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

.macro call_isfs address
    ori r28, r29, \address@l
    mtlr r28
    blrl
.endm

.macro call_nolink address
    lis r12, \address@h
    ori r12, r12, \address@l
    mtlr r12
    blr
.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_Open, 0xADBC
    .set ISFS_Read, 0xB15C
    .set ISFS_Write, 0xB220
    .set ISFS_Close, 0xB2E4
    .set Wii_Menu, 0x801A87B8
    .set Egg_Alloc, 0x80229490
    .set NET_Calc, 0x801D1C00
.elseif (region == 'P' || region == 'p') # RMCP
    .set ISFS_Open, 0xAE5C
    .set ISFS_Read, 0xB1FC
    .set ISFS_Write, 0xB2C0
    .set ISFS_Close, 0xB384
    .set Wii_Menu, 0x801A8858
    .set Egg_Alloc, 0x80229814
    .set NET_Calc, 0x801D1CA0
.elseif (region == 'J' || region == 'j') # RMCJ
    .set ISFS_Open, 0xAD7C
    .set ISFS_Read, 0xB11C
    .set ISFS_Write, 0xB1E0
    .set ISFS_Close, 0xB2A4
    .set Wii_Menu, 0x801A8778
    .set Egg_Alloc, 0x80229734
    .set NET_Calc, 0x801D1BC0
.elseif (region == 'K' || region == 'k') # RMCK
    .set ISFS_Open, 0xAEF8
    .set ISFS_Read, 0xB298
    .set ISFS_Write, 0xB35C
    .set ISFS_Close, 0xB420
    .set Wii_Menu, 0x801A8BB4
    .set Egg_Alloc, 0x80229B88
    .set NET_Calc, 0x801D1FFC
.else # Invalid Region
    .abort
.endif

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#                              Register Notes:                              #
#                                 r31 = fd                                  #
#                          r30 = File Path Address                          #
#                    r29 & r28 = Part of call_isfs Macro                    #
#      r27 = Heap Address Pointer / Data Save Contents Address Pointer      #
#                       r26 = System Heap Calc Address                      #
#                        r25 = Read/Write's 3rd Arg                         #
#              r24 = Copied from r27 for use in updating Loop               #
#                    r22 = VR then BR, r21 = User Option                    #
# r17 = License Slot Increase Offset For Load Word Update Index Instruction #
#             r16 = Unlocker Hex Code String / Double-Word Pt 2             #
#             r15 = Unlocker Hex Code String / Double-Word Pt 1             #
#                    r12 = License existence value check                    #
#                  r11 = Countdown Amount Tracker for Loop                  #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#    Data Save (rksys.dat) Contents 'Map'    #
# 0x0038 License 1 Unlock String Doubleword  #
#        0x00B8 License 1 VR Halfword        #
#        0x00BA License 1 BR Halfword        #
# 0x8CF8 License 2 Unlock String Doubleword  #
#        0x8D78 License 2 VR Halfword        #
#        0x8D7A License 2 BR Halfword        #
# 0x119B8 License 3 Unlock String Doubleword #
#        0x11A38 License 3 VR Halfword       #
#        0x11A3A License 3 BR Halfword       #
# 0x1A678 License 4 Unlock String Doubleword #
#        0x1A6F8 License 4 VR Halfword       #
#        0x1A6FA License 4 BR Halfword       #
#        0x27FFC CRC-32 Checksum Word        #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# No need to backup anything, code ends in a function blr call; Set User's Options of Code # 
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

li r21, 0x0 #User Option, zero used just for compilation
lis r22, 0x270F #VR, random value for compilation
ori r22, r22, 0x270E #BR, random value for compilation

#~~~~~~~~~~~~~~~~~~~~~~~#
#    EGG::Heap::alloc   #
#   r3 = Size of Heap   #
#     r4 = Alignment    #
# r5 = System Heap Calc #
#~~~~~~~~~~~~~~~~~~~~~~~#

lis r3, 0x0002
ori r3, r3, 0x8000

mr r25, r3 #Backup Size of Data Save for later use of ISFS_Read & ISFS_Write

li r4, 0x20

.if     (region == 'E' || region == 'e')
        lwz r5, -0x5CA8(r13)
.elseif (region == 'P' || region == 'p')
        lwz r5, -0x5CA0(r13)
.elseif (region == 'J' || region == 'j')
        lwz r5, -0x5CA0(r13)
.elseif (region == 'K' || region == 'k')
        lwz r5, -0x5C80(r13)
.endif

lwz r5, 0x0024 (r5)
mr r26, r5 #Backup System Heap Calc Address

call_link Egg_Alloc
mr r27, r3 #Backup Heap Address Pointer

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#           ISFS_Open           #
#        r3 = File Path         #
# r4 = 0x1 for Read Permissions #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

lis r29, 0x8016 #Set 1st half address for all ISFS Functions

bl open_datasave

.if     (region == 'E' || region == 'e')
        .string "/title/00010004/524d4345/data/rksys.dat"
.elseif (region == 'P' || region == 'p')
        .string "/title/00010004/524d4350/data/rksys.dat"
.elseif (region == 'J' || region == 'j')
        .string "/title/00010004/524d434a/data/rksys.dat"
.elseif (region == 'K' || region == 'k')
        .string "/title/00010004/524d434b/data/rksys.dat"
.endif

open_datasave:
mflr r3
mr r30, r3 #Backup file path address pointer
li r4, 0x1

call_isfs ISFS_Open
cmpwi r3, 0x0 #r3 should return fd value. If negative value, then error occured.
blt- launch_menu

mr r31, r3 #Backup file descriptor

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#                 ISFS_Read                 #
#                  r3 = fd                  #
# r4 = Address Pointer to dump read Data to #
#    r5 = Amount of Bytes to read & dump    #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

mr r4, r27
mr r5, r25 #Backed up size arg from Egg Alloc moved to r5

call_isfs ISFS_Read
cmpw r3, r25 #r3 should return r5's aka r25's value. If negative value, then error occured.
bne- launch_menu

#~~~~~~~~~~~~#
# ISFS_Close #
#   r3 = fd  #
#~~~~~~~~~~~~#

mr r3, r31

call_isfs ISFS_Close

#~~~~~~~~~~~~~~~~~#
# Pre-Loop Config #
#~~~~~~~~~~~~~~~~~#

addi r24, r27, 0x0038 #This is the exact spot for unlock doubleword of License 1
lis r17, 0x8CC0 #Each License is separated by a gap of 0x8CC0 bytes, can't load this amount via Li. Load it via Lis.
srwi r17, r17, 16 #Shift r17 (8CC00000) to result as 00008CC0
subf r24, r17, r24 #Subtract 8CC0 from r24, so r24 has loop starting address

li r11, 0x4 #For 4 Licenses

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#                                              Loop                                                #
# r24 will hold eact address for unlocker string location of lic. 1, then 2, then 3, and finally 4 #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

the_loop:
lwzux r12, r24, r17 #Middle register (r24) gets updated with the amount from r17

cmpwi r21, 0x1
bnel- vrbr_writes #If user didn't set Option No 1, then they want to modifer VR+BR

#~~~~~~~~~~~~~~~~#
# License Unlock #
#~~~~~~~~~~~~~~~~#

li r15, 0
addi r15, r15, -1 #Everything unlocked has a doubleword of 0xFFFFFFFF031FFFFC. Use r15 and r16 for that doubleword
lis r16, 0x031F
ori r16, r16, 0xFFFC
stw r15, 0 (r24) #Unlock everything for current license
stw r16, 0x4 (r24) #Unlock everything for current license

skip_unlocker:
subic. r11, r11, 1
bne+ the_loop
b start_checksum

#~~~~~~~~~~~~~~~~~~#
# VR/BR Subroutine #
#~~~~~~~~~~~~~~~~~~#

vrbr_writes:
stw r22, 0x80 (r24) #Write VR and BR amount of current license
cmpwi r21, 0x2
beq- skip_unlocker #If user set Option No 2, they don't want to unlock anything
blr

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#                 NETCalcCRC32                #
#      r3 = File Contents Address Pointer     #
# r4 = Amount of Bytes to use for Calculation #
#        r3's return value = CRC32 Word       #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

start_checksum:
mr r3, r27 #Move backed up Heap Address Pointer to r3
addi r4, r25, -0x4 #Subtract 0x4 from data save size alloc to get byte size amount, 0x27FFC

call_link NET_Calc

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# Store CRC32 Word to spot in Data Save Contents #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

addis r4, r27, 0x0002 #Add 0x00020000 to r27
stw r3, 0x7FFC (r4) #Store CRC32 Word to spot (which is final word location of entire contents)

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#            ISFS_Open           #
#          r3 = File Path        #
# r4 = 0x2 for Write Permissions #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

mr r3, r30 #Move backed up file path address pointer to r3
li r4, 0x2

call_isfs ISFS_Open
cmpwi r3, 0x0
blt- launch_menu

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
#                                 ISFS_Write                                  #
#                                  r3 = fd                                    #
# r4 = Address Pointer where String Data that will used for writes is located #
#                    r5 = Amount of Bytes to Write to File                    #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

mr r31, r3 #Backup fd
mr r4, r27 #Move backed up Heap Address Pointer to r4
mr r5, r25 #Move backed up Byte Write Size to r5

call_isfs ISFS_Write
cmpw r3, r25
bne- launch_menu

#~~~~~~~~~~~~#
# ISFS_Close #
#   r3 = fd  #
#~~~~~~~~~~~~#

mr r3, r31

call_isfs ISFS_Close

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
# Data Saves Successful, Return to Wii Menu. No need to free the Heap. #
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#

launch_menu:
call_nolink Wii_Menu

#

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


Print this item

  Timer Clock Display Modifier Version 2; DBZ BT3
Posted by: zak - 04-18-2019, 01:03 PM - Forum: DBZ BT3 - No Replies

DBZ BT3 Timer Clock Display Modifier Version 2

Offline only. This code will change the Timer Value to whatever you want. It's a display modification only. Actual timer of the match still works.

NTSC-U
04121B44 3B800XXX

XXX = Amount to Display

Example: 12B = 999 on Timer

Source:
lwz r28, 0xC (r4) changed to li 28, 0x0XXX

Code creator: zak

Print this item