Welcome, Guest |
You have to register before you can post on our site.
|
Forum Statistics |
» Members: 648
» Latest member: TASsy_js
» Forum threads: 1,817
» Forum posts: 14,013
Full Statistics
|
Online Users |
There are currently 105 online users. » 1 Member(s) | 100 Guest(s) Bing, Facebook, Google, Twitter, _Ro
|
Latest Threads |
Make it to 10,000
Forum: General Discussion
Last Post: Vega
2 hours ago
» Replies: 7,347
» Views: 5,678,744
|
Request for memory addres...
Forum: Code Support / Help / Requests
Last Post: TASsy_js
Today, 03:24 AM
» Replies: 0
» Views: 6
|
Textures/texture packs in...
Forum: Coding & Hacking General Discussion
Last Post: Vega
Yesterday, 09:37 PM
» Replies: 1
» Views: 36
|
MKW Coder/Developer of th...
Forum: Coding & Hacking General Discussion
Last Post: Fifty
Yesterday, 05:06 AM
» Replies: 11
» Views: 13,927
|
Allow Pausing Before Race...
Forum: Offline Non-Item
Last Post: Vega
01-11-2025, 07:47 PM
» Replies: 0
» Views: 45
|
Top 10 Most Influential C...
Forum: Coding & Hacking General Discussion
Last Post: Vega
01-11-2025, 03:27 PM
» Replies: 2
» Views: 7,368
|
Show Ice Cube on Online P...
Forum: Online Non-Item
Last Post: _Ro
01-11-2025, 08:23 AM
» Replies: 0
» Views: 53
|
CPU Control Cycler [Ro]
Forum: Offline Non-Item
Last Post: _Ro
01-11-2025, 07:56 AM
» Replies: 7
» Views: 1,041
|
Thunder Cloud Effect Modi...
Forum: Offline; Item
Last Post: JerryHatrick
01-10-2025, 11:13 PM
» Replies: 11
» Views: 1,152
|
Miniturbos and Inside Dri...
Forum: Coding & Hacking General Discussion
Last Post: JerryHatrick
01-10-2025, 09:54 AM
» Replies: 1
» Views: 866
|
|
|
Controller Based Activator |
Posted by: Brawlbox - 08-20-2020, 12:27 AM - Forum: Misc/Other
- Replies (6)
|
|
Controller Activator
This code will allow you to execute any code based on what controller is being used.
X Values:
* Wiimote Only = 1
* Nunchuck = 2
* Classic Controller = 3
* Gamecube = 4
[NTSC-U]
Code: (Player 1)
C0000000 0000000F
3C608035 8963C204
2C0B0000 40820050
8963C205 2C0B0000
40820044 3D408034
894A14BC 2C0A0000
4182001C 2C0A0001
4182001C 2C0A0002
4182001C 39400005
48000020 39400001
48000018 39400002
48000010 39400003
48000008 39400004
39600000 3D208000
914902A0 4E800020
200002A0 0000000X
[INSERT CODE HERE]
E0000000 80008000
(Player 2)
C0000000 0000000F
3C608035 8963C20C
2C0B0000 40820050
8963C20D 2C0B0000
40820044 3D408034
894A14BC 2C0A0000
4182001C 2C0A0001
4182001C 2C0A0002
4182001C 39400005
48000020 39400001
48000018 39400002
48000010 39400003
48000008 39400004
39600000 3D208000
914902A4 4E800020
200002A4 0000000X
[INSERT CODE HERE]
E0000000 80008000
(Player 3)
C0000000 0000000F
3C608035 8963C214
2C0B0000 40820050
8963C215 2C0B0000
40820044 3D408034
894A14BC 2C0A0000
4182001C 2C0A0001
4182001C 2C0A0002
4182001C 39400005
48000020 39400001
48000018 39400002
48000010 39400003
48000008 39400004
39600000 3D208000
914902A8 4E800020
200002A8 0000000X
[INSERT CODE HERE]
E0000000 80008000
(Player 4)
C0000000 0000000F
3C608035 8963C21C
2C0B0000 40820050
8963C21D 2C0B0000
40820044 3D408034
894A14BC 2C0A0000
4182001C 2C0A0001
4182001C 2C0A0002
4182001C 39400005
48000020 39400001
48000018 39400002
48000010 39400003
48000008 39400004
39600000 3D208000
914902AC 4E800020
200002AC 0000000X
[INSERT CODE HERE]
E0000000 80008000
[PAL]
Code: (Player 1)
C0000000 0000000F
3C608035 89630584
2C0B0000 40820050
89630585 2C0B0000
40820044 3D408034
894A583C 2C0A0000
4182001C 2C0A0001
4182001C 2C0A0002
4182001C 39400005
48000020 39400001
48000018 39400002
48000010 39400003
48000008 39400004
39600000 3D208000
914902A0 4E800020
200002A0 0000000X
[INSERT CODE HERE]
E0000000 80008000
(Player 2)
C0000000 0000000F
3C608035 8963058C
2C0B0000 40820050
8963058D 2C0B0000
40820044 3D408034
894A583C 2C0A0000
4182001C 2C0A0001
4182001C 2C0A0002
4182001C 39400005
48000020 39400001
48000018 39400002
48000010 39400003
48000008 39400004
39600000 3D208000
914902A4 4E800020
200002A4 0000000X
[INSERT CODE HERE]
E0000000 80008000
(Player 3)
C0000000 0000000F
3C608035 89630594
2C0B0000 40820050
89630595 2C0B0000
40820044 3D408034
894A583C 2C0A0000
4182001C 2C0A0001
4182001C 2C0A0002
4182001C 39400005
48000020 39400001
48000018 39400002
48000010 39400003
48000008 39400004
39600000 3D208000
914902A8 4E800020
200002A8 0000000X
[INSERT CODE HERE]
E0000000 80008000
(Player 4)
C0000000 0000000F
3C608035 8963059C
2C0B0000 40820050
8963059D 2C0B0000
40820044 3D408034
894A583C 2C0A0000
4182001C 2C0A0001
4182001C 2C0A0002
4182001C 39400005
48000020 39400001
48000018 39400002
48000010 39400003
48000008 39400004
39600000 3D208000
914902AC 4E800020
200002AC 0000000X
[INSERT CODE HERE]
E0000000 80008000
[NTSC-J]
Code: (Player 1)
C0000000 0000000F
3C608035 8963FF04
2C0B0000 40820050
8963FF05 2C0B0000
40820044 3D408034
894A51BC 2C0A0000
4182001C 2C0A0001
4182001C 2C0A0002
4182001C 39400005
48000020 39400001
48000018 39400002
48000010 39400003
48000008 39400004
39600000 3D208000
914902A0 4E800020
200002A0 0000000X
[INSERT CODE HERE]
E0000000 80008000
(Player 2)
C0000000 0000000F
3C608035 8963FF0C
2C0B0000 40820050
8963FF0D 2C0B0000
40820044 3D408034
894A51BC 2C0A0000
4182001C 2C0A0001
4182001C 2C0A0002
4182001C 39400005
48000020 39400001
48000018 39400002
48000010 39400003
48000008 39400004
39600000 3D208000
914902A4 4E800020
200002A4 0000000X
[INSERT CODE HERE]
E0000000 80008000
(Player 3)
C0000000 0000000F
3C608035 8963FF14
2C0B0000 40820050
8963FF15 2C0B0000
40820044 3D408034
894A51BC 2C0A0000
4182001C 2C0A0001
4182001C 2C0A0002
4182001C 39400005
48000020 39400001
48000018 39400002
48000010 39400003
48000008 39400004
39600000 3D208000
914902A8 4E800020
200002A8 0000000X
[INSERT CODE HERE]
E0000000 80008000
(Player 4)
C0000000 0000000F
3C608035 8963FF1C
2C0B0000 40820050
8963FF1D 2C0B0000
40820044 3D408034
894A51BC 2C0A0000
4182001C 2C0A0001
4182001C 2C0A0002
4182001C 39400005
48000020 39400001
48000018 39400002
48000010 39400003
48000008 39400004
39600000 3D208000
914902AC 4E800020
200002AC 0000000X
[INSERT CODE HERE]
E0000000 80008000
[NTSC-K]
Code: (Player 1)
C0000000 0000000F
3C608034 8963E584
2C0B0000 40820050
8963E585 2C0B0000
40820044 3D408033
894A383C 2C0A0000
4182001C 2C0A0001
4182001C 2C0A0002
4182001C 39400005
48000020 39400001
48000018 39400002
48000010 39400003
48000008 39400004
39600000 3D208000
914902A0 4E800020
200002A0 0000000X
[INSERT CODE HERE]
E0000000 80008000
(Player 2)
C0000000 0000000F
3C608034 8963E58C
2C0B0000 40820050
8963E58D 2C0B0000
40820044 3D408033
894A383C 2C0A0000
4182001C 2C0A0001
4182001C 2C0A0002
4182001C 39400005
48000020 39400001
48000018 39400002
48000010 39400003
48000008 39400004
39600000 3D208000
914902A4 4E800020
200002A4 0000000X
[INSERT CODE HERE]
E0000000 80008000
(Player 3)
C0000000 0000000F
3C608034 8963E594
2C0B0000 40820050
8963E595 2C0B0000
40820044 3D408033
894A383C 2C0A0000
4182001C 2C0A0001
4182001C 2C0A0002
4182001C 39400005
48000020 39400001
48000018 39400002
48000010 39400003
48000008 39400004
39600000 3D208000
914902A8 4E800020
200002A8 0000000X
[INSERT CODE HERE]
E0000000 80008000
(Player 4)
C0000000 0000000F
3C608034 8963E59C
2C0B0000 40820050
8963E59D 2C0B0000
40820044 3D408033
894A383C 2C0A0000
4182001C 2C0A0001
4182001C 2C0A0002
4182001C 39400005
48000020 39400001
48000018 39400002
48000010 39400003
48000008 39400004
39600000 3D208000
914902AC 4E800020
200002AC 0000000X
[INSERT CODE HERE]
E0000000 80008000
Code Creator: Brawlbox
|
|
|
Crazy Rotation Physics [1superchip] |
Posted by: 1superchip - 08-19-2020, 10:13 PM - Forum: Offline Non-Item
- No Replies
|
|
Crazy Rotation Physics [1superchip]
NTSC-U
0423A240 4E800020
PAL
0423A5C4 4E800020
NTSC-J
0423A4E4 4E800020
NTSC-K
0423A938 4E800020
This code causes many weird effects with rotations, bikes are affected the most with this code. Bullets don’t fix vehicle rotation.
Code Creator: 1superchip
|
|
|
BRRES Anti-flicker [riidefi] |
Posted by: JoshuaMK - 08-19-2020, 09:28 PM - Forum: Visual & Sound Effects
- No Replies
|
|
BRRES Anti-flicker [riidefi]
(NTSC-U)
C20520F0 0000001D
80830000 88A40010
70A50040 40820060
80A40028 38C00020
7CA42A14 48000010
38C60001 2C060080
40800044 7CA72B78
7D0730EE 28080000
4182FFE8 28080061
4082002C 80E70001
7CE838F8 54E7463E
5508023F 2C870027
4E823342 40940018
38C60005 2C060080
4180FFC4 80630000
4E800020 88A40017
28050000 4082000C
38A00001 98A40017
80A4003C 7C842A14
8CA400AA 88C40005
2C050000 88A4000A
41820014 2C060000
4182000C 2C050000
4082FFBC 3CA00800
90A4000B 3CA09800
60A56108 90A40008
3CA03361 60A507D9
90A40004 3CA06106
60A58003 90A40000
80630000 00000000
(PAL)
C2052190 0000001D
80830000 88A40010
70A50040 40820060
80A40028 38C00020
7CA42A14 48000010
38C60001 2C060080
40800044 7CA72B78
7D0730EE 28080000
4182FFE8 28080061
4082002C 80E70001
7CE838F8 54E7463E
5508023F 2C870027
4E823342 40940018
38C60005 2C060080
4180FFC4 80630000
4E800020 88A40017
28050000 4082000C
38A00001 98A40017
80A4003C 7C842A14
8CA400AA 88C40005
2C050000 88A4000A
41820014 2C060000
4182000C 2C050000
4082FFBC 3CA00800
90A4000B 3CA09800
60A56108 90A40008
3CA03361 60A507D9
90A40004 3CA06106
60A58003 90A40000
80630000 00000000
(NTSC-J)
C20520B0 0000001D
80830000 88A40010
70A50040 40820060
80A40028 38C00020
7CA42A14 48000010
38C60001 2C060080
40800044 7CA72B78
7D0730EE 28080000
4182FFE8 28080061
4082002C 80E70001
7CE838F8 54E7463E
5508023F 2C870027
4E823342 40940018
38C60005 2C060080
4180FFC4 80630000
4E800020 88A40017
28050000 4082000C
38A00001 98A40017
80A4003C 7C842A14
8CA400AA 88C40005
2C050000 88A4000A
41820014 2C060000
4182000C 2C050000
4082FFBC 3CA00800
90A4000B 3CA09800
60A56108 90A40008
3CA03361 60A507D9
90A40004 3CA06106
60A58003 90A40000
80630000 00000000
(NTSC-K)
C20521F0 0000001D
80830000 88A40010
70A50040 40820060
80A40028 38C00020
7CA42A14 48000010
38C60001 2C060080
40800044 7CA72B78
7D0730EE 28080000
4182FFE8 28080061
4082002C 80E70001
7CE838F8 54E7463E
5508023F 2C870027
4E823342 40940018
38C60005 2C060080
4180FFC4 80630000
4E800020 88A40017
28050000 4082000C
38A00001 98A40017
80A4003C 7C842A14
8CA400AA 88C40005
2C050000 88A4000A
41820014 2C060000
4182000C 2C050000
4082FFBC 3CA00800
90A4000B 3CA09800
60A56108 90A40008
3CA03361 60A507D9
90A40004 3CA06106
60A58003 90A40000
80630000 00000000
Code: /** Copyright 2019, riidefi
*
* MaterialSanitizer (hereafter "MSAN"), and the original research and development are exclusive IP of riidefi.
* MSAN is protected by copyright law, Federal and abroad. The source code to MSAN, in whole or in part, may not be disclosed,
* copied or duplicated in any form without the prior written consent of riidefi.
*
*/
#include <libpokey/debug.h>
#include <libpokey/hooks.h>
#include <stdbool.h> /* bool */
#include <stdint.h> /* uint8_t */
#include <string.h> /* memcpy */
#ifdef MDLSAN_DEBUG
#define MSA_DEBUG_LOG printf
#define MSA_VERBOSE_LOG printf
#else
#define MSA_VERBOSE_LOG(...)
#define MSA_DEBUG_LOG(...)
#endif
/* Limited subset of commands we expext to encounter. */
enum CommandTags {
/* Tag for a BP (raster state) command. Expect four bytes to follow.
* [8 bits] [8 bits] [24 bits]
* Tag Register Value
*/
CMD_TAG_BP = 0x61,
CMD_SIZE_BP = 0x05,
/* Does nothing. Command size only includes the tag. */
CMD_TAG_NOOP = 0x00,
CMD_SIZE_NOOP = 0x01
};
enum BPAddressSpace {
BPMEM_IND_MTX = 0x06, /* 3x3 parts, column-major */
BPMEM_RAS1_SS = 0x25, /* x2 */
BPMEM_IREF = 0x27
};
/* Determine whether or not indirect matrix patching is necessary. */
static bool isIndPatchNecessary(
uint8_t* pData /* Valid pointer to the indirect settings display list (64 bytes)*/) {
/* Rationle for removal:
* All materials should be standard layout. Additionally, if the user is
* confident the material does not flicker, a material flag can be specified.
*/
#if 0
/* First check of the indirect scales are as expected. If they're not, we
* shouldn't patch the rest of the block. If for whatever reason a tool wants
* to disable this check, it should at minimum swap these two commands.
*/
if (pData[0] != CMD_TAG_BP || pData[1] != BPMEM_RAS1_SS + 0 ||
pData[5] != CMD_TAG_BP || pData[6] != BPMEM_RAS1_SS + 1)
return false;
#endif
/* If the indirect matrix is omitted, in whole or in part, correct it. */
return (pData[10] == CMD_TAG_NOOP) | (pData[15] == CMD_TAG_NOOP) |
(pData[20] == CMD_TAG_NOOP);
}
/* Default indirect matrix (skew). An identity matrix is almost always too
* intense, so we supply a simple scale matrix where (U, V) is mapped to (U/10,
* V/10):
*
* | .1 .0 .0 |
* | .0 .1 .0 |
*
*/
static const uint8_t __DefaultIndirectMatrix[CMD_SIZE_BP * 3] = {
/* A = 0x333, B=0x000, S0=0x002 */
CMD_TAG_BP, BPMEM_IND_MTX + 0, 0x80, 0x03, 0x33,
/* C = 0x000, D=0x333, S1=0x003 */
CMD_TAG_BP, BPMEM_IND_MTX + 1, 0xD9, 0x98, 0x00,
/* E = 0x000, F=0x000, S2=0x000 */
CMD_TAG_BP, BPMEM_IND_MTX + 2, 0x00, 0x00, 0x00
/**/
};
/* Copies the valid indirect matrix */
static uint8_t* applyIndPatch(uint8_t* pData/* Valid pointer to the indirect settings display list (64 bytes)*/) {
memcpy(&pData[10], (void*)&__DefaultIndirectMatrix,
sizeof(__DefaultIndirectMatrix));
return pData;
}
/* We check if the first scale is set. This method isn't perfect, as it is
* possible the indirect stage really does access the eighth texture. I have yet
* to see a model that does this. We can perform this check relatively safely.
* */
static bool isShaderIndirect(uint8_t* pTev) {
uint8_t const* pDl = pTev + 32; /* Skip header to data */
/* Scan for RAS1_IREF command in display list.
* Search only first 96 bytes--settings shared for all stages.
*/
for (uint8_t* it = pDl; it < pDl + 96;) {
switch (*it) {
case CMD_TAG_BP: {
it++;
const uint32_t regVal = *(uint32_t*)(it);
it += 4;
if (((regVal & 0xff000000) >> 24) == BPMEM_IREF &&
(regVal & 0x00ffffff) != 0x00ffffff) {
MSA_VERBOSE_LOG("RAS1_IREF references texcoords or texmaps\n");
return true;
}
break;
}
case CMD_TAG_NOOP:
it++;
break;
default:
MSA_DEBUG_LOG(
"Failed to parse TEV configuration at %p: illegal operation: 0x%x\n",
pTev, (uint32_t)*it);
/* If something unexpected shows up, let's just quit gracefully. */
return false;
}
}
return false;
}
/* Getters and setters for the material indirect count, as we do not use a
* structure.
*/
static uint8_t getMaterialIndirectCount(uint8_t* pMat) {
return *(pMat + 0x17);
}
static void setMaterialIndirectCount(uint8_t* pMat, uint8_t num) {
*(pMat + 0x17) = num;
}
/* Gets the TEV shader of a material. */
static uint8_t* getShaderFromMaterial(uint8_t* pMat) {
return pMat + *(int32_t*)(pMat + 0x28);
}
/* Gets the indirect display list from a material. */
static uint8_t* getMaterialIndirectDl(uint8_t* pMat) {
return pMat + *(int32_t*)(pMat + 0x3c) + 0xa0;
}
static uint32_t getMaterialFlag(uint8_t* pMat) {
return *(uint32_t*)(pMat + 0x10);
}
static const char* getMaterialName(uint8_t* pMat) {
return (const char*)(pMat + *(int32_t*)(pMat + 8));
}
/* Patch for two essential material settings brawlbox corrupts:
* - Indirect stage count. Necessary for all subsystems to
* actually send anything.
*
* - Indirect matrices (control skew) are omitted, leaving
* them undefined.
*/
static void sanitizeMaterial(uint8_t* pMat) {
/* If the user is confident the material does not flicker, respect that. */
if (getMaterialFlag(pMat) & 0x40000000) {
MSA_DEBUG_LOG("Material %s is marked confident.\n", getMaterialName(pMat));
return;
}
if (!isShaderIndirect(getShaderFromMaterial(pMat)))
return;
if (getMaterialIndirectCount(pMat) == 0) {
MSA_DEBUG_LOG("Correcting GEN_INFO for %s.\n", getMaterialName(pMat));
setMaterialIndirectCount(pMat, 1); /* Assume 1 (most likely) */
}
if (isIndPatchNecessary(getMaterialIndirectDl(pMat))) {
MSA_DEBUG_LOG("Correcting IND_MTX for %s.\n", getMaterialName(pMat));
Code Creator: riidefi
|
|
|
Wifi FC Display Modifier [Vega] |
Posted by: Vega - 08-19-2020, 04:12 PM - Forum: Visual & Sound Effects
- No Replies
|
|
Wifi FC Display Modifier [Vega]
This code will edit your FC (just the display value) on WiFi. Your real FC is not effected so WiFi races will still function normally.
Y = Upper 32 bits of FC
Z = Lower 32 bits of FC
Values are in hex. Use a decimal to hex converter if needed.
NTSC-U
C25CE9EC 00000003
3FA0YYYY 63BDYYYY
3FC0ZZZZ 63DEZZZZ
60000000 00000000
PAL
C25E47C8 00000003
3FA0YYYY 63BDYYYY
3FC0ZZZZ 63DEZZZZ
60000000 00000000
NTSC-J
C25E40A4 00000003
3FA0YYYY 63BDYYYY
3FC0ZZZZ 63DEZZZZ
60000000 00000000
NTSC-K
C25D2964 00000003
3FA0YYYY 63BDYYYY
3FC0ZZZZ 63DEZZZZ
60000000 00000000
Source:
#Address Ports
#805CE9EC = NTSC-U
#805E47C8 = PAL
#805E40A4 = NTSC-J
#805D2964 = NTSC-K
lis r29, 0x1111 #Junk values used so source can compile
ori r29, r29, 0x1111
lis r30, 0x1111
ori r30, r30, 0x1111
#Default instruction of mr r30, r4 is not needed
Code creator: Vega
|
|
|
License FC Display Modifier [Vega] |
Posted by: Vega - 08-19-2020, 04:11 PM - Forum: Visual & Sound Effects
- No Replies
|
|
License FC Display Modifier [Vega]
This code will edit your FC (just the display value) on all licenses that have FCs. Your real FCs are not effected.
Y = Upper 32 bits of FC
Z = Lower 32 bits of FC
Values are in Hex. Use a decimal to Hex converted if needed.
If you try setting all Y and Z values to 0, the FC(s) will simply be blank.
NTSC-U
C263296C 00000003
3E20YYYY 6231YYYY
3E40ZZZZ 6252ZZZZ
60000000 00000000
PAL
C25EB694 00000003
3E20YYYY 6231YYYY
3E40ZZZZ 6252ZZZZ
60000000 00000000
NTSC-J
C25EAF70 00000003
3E20YYYY 6231YYYY
3E40ZZZZ 6252ZZZZ
60000000 00000000
NTSC-K
C25D9830 00000003
3E20YYYY 6231YYYY
3E40ZZZZ 6252ZZZZ
60000000 00000000
Source:
#Address Ports
#8063296C = NTSC-U
#805EB694 = PAL
#805EAF70 = NTSC-J
#805D9830 = NTSC-K
lis r17, 0x1111 #Junk values used so source can compile
ori r17, r17, 0x1111
lis r18, 0x1111
ori r18,r18, 0x1111
#Default instruction of mr r17, r3 is not needed.
Code creator: Vega
|
|
|
T-pose animation flicker [Mewmaster99, Ragemodepigeon] |
Posted by: Mewmaster99 - 08-18-2020, 09:03 PM - Forum: Incomplete & Outdated Codes
- Replies (2)
|
|
This code forces anything with an animation to t-pose and go back to normal every frame. Its very fast causing it to look like two images of the object are there even though its just one.
NTSC U:
0455F2C4 60000000
PAL:
04563644 60000000
NTSC J:
04562FC4 60000000
NTSC K:
0455169C 60000000
so far Pal and Ntsc u have both been tested which is why it is going in outdated/incomplete
|
|
|
Always Receive Winning Animation in Ghost Race [Diamond] |
Posted by: Diamond - 08-16-2020, 06:24 AM - Forum: Time Trials & Battle
- No Replies
|
|
Allows you to always receive the winning effects in a ghost race even if you lose or tie to the ghost. Doesn't save the ghost so could be useful if you don't want to mess up your savefile times when live replaying.
NTSC-U
04835698 60000000
PAL
04857128 60000000
NTSC-J
04856794 60000000
NTSC-K
048454E8 60000000
Code creator: Diamond
Code credits: Bully (Final time registered address)
|
|
|
Change Game Port [IPG] |
Posted by: InvoxiPlayGames - 08-15-2020, 05:26 PM - Forum: Online Non-Item
- Replies (7)
|
|
This is a code that changes the port used by the game to connect to other players.
NTSC-U:
C210DFD4 00000002
2C031964 41820008
3860XXXX 00000000
PAL:
C210E074 00000002
2C031964 41820008
3860XXXX 00000000
NTSC-J:
C210DF94 00000002
2C031964 41820008
3860XXXX 00000000
NTSC-K:
C210E0EC 00000002
2C031964 41820008
3860XXXX 00000000
XXXX should be the hex value of a 16-bit integer of the port you want to use. (except 6500)
Setting XXXX to 0000 will give you a random, unused port decided by the operating system.
(Please note that if using Dolphin on *nix based systems, you can not use any ports below 1024)
Source:
Code: .set DESIRED_PORT, 6969
cmpwi r3, 6500 # This port is not used for gameplay
beq exit
li r3, DESIRED_PORT
exit:
|
|
|
Bypass Data Save's CRC32 Checksum [Vega] |
Posted by: Vega - 08-15-2020, 01:03 AM - Forum: Misc/Other
- Replies (1)
|
|
Bypass Data Save's CRC32 Checksum [Vega]
I did some more decompilation of rksys.dat recently and I needed to make a quick code to bypass the checksum verification. Might as well release it just in case anybody else needs it to assist in rksys.dat decompilation.
NTSC-U
0453F398 7C601B78
PAL
045448D4 7C601B78
NTSC-J
04544254 7C601B78
NTSC-K
0453292C 7C601B78
Source:
'lwz r0, 0x7FFC (r4)' replaced with 'mr r0, r3'. Next instruction in memory is 'cmplw r0, r3'. So this tells the game the checksums (one on file vs one generated) is always a match.
Code creator: Vega
|
|
|
|