Revolution WPAD work (#3078)

* WPAD mostly matching, likely equivalent

* Implement WPADEncrypt (mostly taken from SMG1 decomp)

* Implement WPADHidParser

* Add wpad_debug_msg stub

* Fix WUD file paths in splits

* Fix WPAD regressions in Shield/ShieldD
This commit is contained in:
Max Roncace
2026-02-01 20:33:08 -05:00
committed by GitHub
parent dbee7c8f1f
commit 274b30fefb
42 changed files with 5328 additions and 680 deletions
+3
View File
@@ -13,6 +13,9 @@ force_active: [
_MetroTRK_Has_Framing,
]
block_relocations:
- source: .data:0x80402814
modules:
- object: files/RELS.arc:rels/mmem/f_pc_profile_lst.rel
hash: 41ba85f7b9ce10916ef321b987c42d715d7ffab0
+5 -3
View File
@@ -3377,7 +3377,7 @@ revolution/wpad/WPADHIDParser.c:
.text start:0x80349C6C end:0x8034E508
.data start:0x804022E0 end:0x80402740
.bss start:0x804BD608 end:0x804BD620
.sbss start:0x804FB9D0 end:0x804FB9E0
.sbss start:0x804FB9D0 end:0x804FB9D8
.sdata2 start:0x80500538 end:0x80500560
revolution/wpad/WPADMem.c:
@@ -3385,10 +3385,12 @@ revolution/wpad/WPADMem.c:
revolution/wpad/WPADEncrypt.c:
.text start:0x8034E508 end:0x8034EDA0
.data start:0x80402740 end:0x804030C0
.data start:0x80402740 end:0x80403070
.sbss start:0x804FB9D8 end:0x804FB9E0
revolution/kpad/KPAD.c:
.text start:0x8034EDF0 end:0x80351B24
.data start:0x80403070 end:0x804030C0
.bss start:0x804BD670 end:0x804BE680
.sdata start:0x804FA768 end:0x804FA7D8
.sbss start:0x804FB9E0 end:0x804FBA18
@@ -3404,7 +3406,7 @@ revolution/usb/usb.c:
.sdata start:0x804FA7D8 end:0x804FA7E8
.sbss start:0x804FBA28 end:0x804FBA38
revolution/wpad/WUD.c:
revolution/wud/WUD.c:
.text start:0x80352F34 end:0x80356AEC
.data start:0x80403678 end:0x80404440
.bss start:0x804BE680 end:0x804C03E0
+16 -16
View File
@@ -27847,30 +27847,30 @@ RecalibrateBits = .sbss:0x804FB994; // type:object size:0x4 scope:global align:4
ResettingBits = .sbss:0x804FB998; // type:object size:0x4 scope:global align:4 data:4byte
EnabledBits = .sbss:0x804FB99C; // type:object size:0x4 scope:global align:4 data:4byte
Initialized = .sbss:0x804FB9A0; // type:object size:0x4 scope:global align:4 data:4byte
lbl_804FB9A8 = .sbss:0x804FB9A8; // type:object size:0x1 data:byte
_regShutdown = .sbss:0x804FB9A8; // type:object size:0x1 data:byte
_senseCnt = .sbss:0x804FB9AA; // type:object size:0x2 scope:global align:2 data:2byte
lbl_804FB9AC = .sbss:0x804FB9AC; // type:object size:0x1 data:byte
lbl_804FB9AD = .sbss:0x804FB9AD; // type:object size:0x1 data:byte
_checkCnt = .sbss:0x804FB9AC; // type:object size:0x1 data:byte
_extCnt = .sbss:0x804FB9AD; // type:object size:0x1 data:byte
_afhCnt = .sbss:0x804FB9AE; // type:object size:0x2 scope:global align:2 data:2byte
_rumbleCnt = .sbss:0x804FB9B0; // type:object size:0x4 scope:global align:4 data:byte
lbl_804FB9B4 = .sbss:0x804FB9B4; // type:object size:0x1 data:byte
lbl_804FB9B5 = .sbss:0x804FB9B5; // type:object size:0x1 data:byte
lbl_804FB9B6 = .sbss:0x804FB9B6; // type:object size:0x1 data:byte
_afhChannel = .sbss:0x804FB9B4; // type:object size:0x1 data:byte
_shutdown = .sbss:0x804FB9B5; // type:object size:0x1 data:byte
_scSetting = .sbss:0x804FB9B6; // type:object size:0x1 data:byte
_chan_active_state = .sbss:0x804FB9B8; // type:object size:0x4 scope:global align:4 data:byte
_gamecode = .sbss:0x804FB9BC; // type:object size:0x4 scope:global align:4 data:4byte
lbl_804FB9C0 = .sbss:0x804FB9C0; // type:object size:0x1 data:byte
lbl_804FB9C1 = .sbss:0x804FB9C1; // type:object size:0x1 data:byte
lbl_804FB9C2 = .sbss:0x804FB9C2; // type:object size:0x1 data:byte
_gametype = .sbss:0x804FB9C0; // type:object size:0x1 data:byte
_scFlush = .sbss:0x804FB9C1; // type:object size:0x1 data:byte
_speakerVolume = .sbss:0x804FB9C2; // type:object size:0x1 data:byte
_rumble = .sbss:0x804FB9C4; // type:object size:0x4 scope:global align:4 data:4byte
lbl_804FB9C8 = .sbss:0x804FB9C8; // type:object size:0x1 data:byte
lbl_804FB9C9 = .sbss:0x804FB9C9; // type:object size:0x1 data:byte
lbl_804FB9CA = .sbss:0x804FB9CA; // type:object size:0x1 data:byte
_sensorBarPos = .sbss:0x804FB9C8; // type:object size:0x1 data:byte
_dpdSensitivity = .sbss:0x804FB9C9; // type:object size:0x1 data:byte
_sleepTime = .sbss:0x804FB9CA; // type:object size:0x1 data:byte
_recv_3e = .sbss:0x804FB9D0; // type:object size:0x4 scope:global align:4
_recv_3f = .sbss:0x804FB9D4; // type:object size:0x4 scope:global align:4
lbl_804FB9D8 = .sbss:0x804FB9D8; // type:object size:0x1 data:byte
lbl_804FB9D9 = .sbss:0x804FB9D9; // type:object size:0x1 data:byte
lbl_804FB9DA = .sbss:0x804FB9DA; // type:object size:0x1 data:byte
lbl_804FB9DB = .sbss:0x804FB9DB; // type:object size:0x1 data:byte
NUM_C = .sbss:0x804FB9D8; // type:object size:0x1 data:byte
NUM_B = .sbss:0x804FB9D9; // type:object size:0x1 data:byte
NUM_A = .sbss:0x804FB9DA; // type:object size:0x1 data:byte
SEED = .sbss:0x804FB9DB; // type:object size:0x1 data:byte
icenter_org = .sbss:0x804FB9E0; // type:object size:0x8 scope:global align:4 data:4byte
Vec2_0 = .sbss:0x804FB9E8; // type:object size:0x8 scope:global align:4 data:4byte
kp_dist_vv1 = .sbss:0x804FB9F0; // type:object size:0x4 scope:global align:4 data:float
+1
View File
@@ -16,6 +16,7 @@ force_active: [
block_relocations:
- source: .text:0x80344978
- source: .text:0x803449f0
- source: .data:0x80440ebc
modules:
- object: files/RELS.arc:rels/mmem/f_pc_profile_lst.rel
+4 -2
View File
@@ -3626,7 +3626,7 @@ revolution/wpad/WPADHIDParser.c:
.text start:0x80381AE4 end:0x80386380
.data start:0x80440988 end:0x80440DE8
.bss start:0x804FD368 end:0x804FD380
.sbss start:0x8053B8A8 end:0x8053B8B8
.sbss start:0x8053B8A8 end:0x8053B8B0
.sdata2 start:0x805405C8 end:0x805405F0
revolution/wpad/WPADMem.c:
@@ -3634,13 +3634,15 @@ revolution/wpad/WPADMem.c:
revolution/wpad/WPADEncrypt.c:
.text start:0x80386380 end:0x80386C18
.data start:0x80440DE8 end:0x80441768
.data start:0x80440DE8 end:0x80441718
.sbss start:0x8053B8B0 end:0x8053B8B8
revolution/wpad/wpad_debug_msg.c:
.text start:0x80386C18 end:0x80386C68
revolution/kpad/KPAD.c:
.text start:0x80386C68 end:0x8038999C
.data start:0x80441718 end:0x80441768
.bss start:0x804FD3D0 end:0x804FE3E0
.sdata start:0x8053A5B0 end:0x8053A620
.sbss start:0x8053B8B8 end:0x8053B8F0
+16 -16
View File
@@ -29030,30 +29030,30 @@ RecalibrateBits = .sbss:0x8053B86C; // type:object size:0x4 scope:global align:4
ResettingBits = .sbss:0x8053B870; // type:object size:0x4 scope:global align:4 data:4byte
EnabledBits = .sbss:0x8053B874; // type:object size:0x4 scope:global align:4 data:4byte
Initialized = .sbss:0x8053B878; // type:object size:0x4 scope:global align:4 data:4byte
lbl_8053b880 = .sbss:0x8053B880; // type:object size:0x1 scope:global align:1 data:byte
_regShutdown = .sbss:0x8053B880; // type:object size:0x1 scope:global align:1 data:byte
_senseCnt = .sbss:0x8053B882; // type:object size:0x2 scope:global align:2 data:2byte
lbl_8053B884 = .sbss:0x8053B884; // type:object size:0x1 data:byte
lbl_8053B885 = .sbss:0x8053B885; // type:object size:0x1 data:byte
_checkCnt = .sbss:0x8053B884; // type:object size:0x1 data:byte
_extCnt = .sbss:0x8053B885; // type:object size:0x1 data:byte
_afhCnt = .sbss:0x8053B886; // type:object size:0x2 scope:global align:2 data:2byte
_rumbleCnt = .sbss:0x8053B888; // type:object size:0x4 scope:global align:4 data:byte
lbl_8053B88C = .sbss:0x8053B88C; // type:object size:0x1 data:byte
lbl_8053B88D = .sbss:0x8053B88D; // type:object size:0x1 data:byte
lbl_8053B88E = .sbss:0x8053B88E; // type:object size:0x1 data:byte
_afhChannel = .sbss:0x8053B88C; // type:object size:0x1 data:byte
_shutdown = .sbss:0x8053B88D; // type:object size:0x1 data:byte
_scSetting = .sbss:0x8053B88E; // type:object size:0x1 data:byte
_chan_active_state = .sbss:0x8053B890; // type:object size:0x4 scope:global align:4 data:byte
_gamecode = .sbss:0x8053B894; // type:object size:0x4 scope:global align:4 data:4byte
lbl_8053B898 = .sbss:0x8053B898; // type:object size:0x1 data:byte
lbl_8053B899 = .sbss:0x8053B899; // type:object size:0x1 data:byte
lbl_8053B89A = .sbss:0x8053B89A; // type:object size:0x1 data:byte
_gametype = .sbss:0x8053B898; // type:object size:0x1 data:byte
_scFlush = .sbss:0x8053B899; // type:object size:0x1 data:byte
_speakerVolume = .sbss:0x8053B89A; // type:object size:0x1 data:byte
_rumble = .sbss:0x8053B89C; // type:object size:0x4 scope:global align:4 data:4byte
lbl_8053B8A0 = .sbss:0x8053B8A0; // type:object size:0x1 data:byte
lbl_8053B8A1 = .sbss:0x8053B8A1; // type:object size:0x1 data:byte
lbl_8053B8A2 = .sbss:0x8053B8A2; // type:object size:0x1 data:byte
_sensorBarPos = .sbss:0x8053B8A0; // type:object size:0x1 data:byte
_dpdSensitivity = .sbss:0x8053B8A1; // type:object size:0x1 data:byte
_sleepTime = .sbss:0x8053B8A2; // type:object size:0x1 data:byte
_recv_3e = .sbss:0x8053B8A8; // type:object size:0x4 scope:global align:4
_recv_3f = .sbss:0x8053B8AC; // type:object size:0x4 scope:global align:4
lbl_8053B8B0 = .sbss:0x8053B8B0; // type:object size:0x1 data:byte
lbl_8053B8B1 = .sbss:0x8053B8B1; // type:object size:0x1 data:byte
lbl_8053B8B2 = .sbss:0x8053B8B2; // type:object size:0x1 data:byte
lbl_8053B8B3 = .sbss:0x8053B8B3; // type:object size:0x1 data:byte
NUM_C = .sbss:0x8053B8B0; // type:object size:0x1 data:byte
NUM_B = .sbss:0x8053B8B1; // type:object size:0x1 data:byte
NUM_A = .sbss:0x8053B8B2; // type:object size:0x1 data:byte
SEED = .sbss:0x8053B8B3; // type:object size:0x1 data:byte
icenter_org = .sbss:0x8053B8B8; // type:object size:0x8 scope:global align:4 data:4byte
Vec2_0 = .sbss:0x8053B8C0; // type:object size:0x8 scope:global align:4 data:4byte
kp_dist_vv1 = .sbss:0x8053B8C8; // type:object size:0x4 scope:global align:4 data:float
+1
View File
@@ -16,6 +16,7 @@ force_active: [
block_relocations:
- source: .text:0x8032f348
- source: .text:0x8032f3c0
- source: .data:0x8042839c
modules:
- object: files/RELS.arc:rels/mmem/f_pc_profile_lst.rel
+4 -2
View File
@@ -3588,7 +3588,7 @@ revolution/wpad/WPADHIDParser.c:
.text start:0x8036C51C end:0x80370DB8
.data start:0x80427E68 end:0x804282C8
.bss start:0x804E33E8 end:0x804E3400
.sbss start:0x805218A0 end:0x805218B0
.sbss start:0x805218A0 end:0x805218A8
.sdata2 start:0x80526648 end:0x80526670
revolution/wpad/WPADMem.c:
@@ -3596,10 +3596,12 @@ revolution/wpad/WPADMem.c:
revolution/wpad/WPADEncrypt.c:
.text start:0x80370DB8 end:0x80371650
.data start:0x804282C8 end:0x80428C48
.data start:0x804282C8 end:0x80428BF8
.sbss start:0x805218A8 end:0x805218B0
revolution/kpad/KPAD.c:
.text start:0x80371650 end:0x803743D4
.data start:0x80428BF8 end:0x80428C48
.bss start:0x804E3450 end:0x804E4460
.sdata start:0x805205C0 end:0x80520630
.sbss start:0x805218B0 end:0x805218E8
+16 -16
View File
@@ -28550,30 +28550,30 @@ RecalibrateBits = .sbss:0x80521864; // type:object size:0x4 scope:global align:4
ResettingBits = .sbss:0x80521868; // type:object size:0x4 scope:global align:4 data:4byte
EnabledBits = .sbss:0x8052186C; // type:object size:0x4 scope:global align:4 data:4byte
Initialized = .sbss:0x80521870; // type:object size:0x4 scope:global align:4 data:4byte
lbl_80521878 = .sbss:0x80521878; // type:object size:0x1 data:byte
_regShutdown = .sbss:0x80521878; // type:object size:0x1 data:byte
_senseCnt = .sbss:0x8052187A; // type:object size:0x2 scope:global align:2 data:2byte
lbl_8052187C = .sbss:0x8052187C; // type:object size:0x1 data:byte
lbl_8052187D = .sbss:0x8052187D; // type:object size:0x1 data:byte
_checkCnt = .sbss:0x8052187C; // type:object size:0x1 data:byte
_extCnt = .sbss:0x8052187D; // type:object size:0x1 data:byte
_afhCnt = .sbss:0x8052187E; // type:object size:0x2 scope:global align:2 data:2byte
_rumbleCnt = .sbss:0x80521880; // type:object size:0x4 scope:global align:4 data:byte
lbl_80521884 = .sbss:0x80521884; // type:object size:0x1 data:byte
lbl_80521885 = .sbss:0x80521885; // type:object size:0x1 data:byte
lbl_80521886 = .sbss:0x80521886; // type:object size:0x1 data:byte
_afhChannel = .sbss:0x80521884; // type:object size:0x1 data:byte
_shutdown = .sbss:0x80521885; // type:object size:0x1 data:byte
_scSetting = .sbss:0x80521886; // type:object size:0x1 data:byte
_chan_active_state = .sbss:0x80521888; // type:object size:0x4 scope:global align:4 data:byte
_gamecode = .sbss:0x8052188C; // type:object size:0x4 scope:global align:4 data:4byte
lbl_80521890 = .sbss:0x80521890; // type:object size:0x1 data:byte
lbl_80521891 = .sbss:0x80521891; // type:object size:0x1 data:byte
lbl_80521892 = .sbss:0x80521892; // type:object size:0x1 data:byte
_gametype = .sbss:0x80521890; // type:object size:0x1 data:byte
_scFlush = .sbss:0x80521891; // type:object size:0x1 data:byte
_speakerVolume = .sbss:0x80521892; // type:object size:0x1 data:byte
_rumble = .sbss:0x80521894; // type:object size:0x4 scope:global align:4 data:4byte
lbl_80521898 = .sbss:0x80521898; // type:object size:0x1 data:byte
lbl_80521899 = .sbss:0x80521899; // type:object size:0x1 data:byte
lbl_8052189A = .sbss:0x8052189A; // type:object size:0x1 data:byte
_sensorBarPos = .sbss:0x80521898; // type:object size:0x1 data:byte
_dpdSensitivity = .sbss:0x80521899; // type:object size:0x1 data:byte
_sleepTime = .sbss:0x8052189A; // type:object size:0x1 data:byte
_recv_3e = .sbss:0x805218A0; // type:object size:0x4 scope:global align:4
_recv_3f = .sbss:0x805218A4; // type:object size:0x4 scope:global align:4
lbl_805218A8 = .sbss:0x805218A8; // type:object size:0x1 data:byte
lbl_805218A9 = .sbss:0x805218A9; // type:object size:0x1 data:byte
lbl_805218AA = .sbss:0x805218AA; // type:object size:0x1 data:byte
lbl_805218AB = .sbss:0x805218AB; // type:object size:0x1 data:byte
NUM_C = .sbss:0x805218A8; // type:object size:0x1 data:byte
NUM_B = .sbss:0x805218A9; // type:object size:0x1 data:byte
NUM_A = .sbss:0x805218AA; // type:object size:0x1 data:byte
SEED = .sbss:0x805218AB; // type:object size:0x1 data:byte
icenter_org = .sbss:0x805218B0; // type:object size:0x8 scope:global align:4 data:4byte
Vec2_0 = .sbss:0x805218B8; // type:object size:0x8 scope:global align:4 data:4byte
kp_dist_vv1 = .sbss:0x805218C0; // type:object size:0x4 scope:global align:4 data:float
+1
View File
@@ -16,6 +16,7 @@ force_active: [
block_relocations:
- source: .text:0x80330e68
- source: .text:0x80330ee0
- source: .data:0x8042621c
modules:
- object: files/RELS.arc:rels/mmem/f_pc_profile_lst.rel
+4 -2
View File
@@ -3584,7 +3584,7 @@ revolution/wpad/WPADHIDParser.c:
.text start:0x8036DFD4 end:0x80372870
.data start:0x80425CE8 end:0x80426148
.bss start:0x804E1268 end:0x804E1280
.sbss start:0x8051F710 end:0x8051F720
.sbss start:0x8051F710 end:0x8051F718
.sdata2 start:0x805244A0 end:0x805244C8
revolution/wpad/WPADMem.c:
@@ -3592,10 +3592,12 @@ revolution/wpad/WPADMem.c:
revolution/wpad/WPADEncrypt.c:
.text start:0x80372870 end:0x80373108
.data start:0x80426148 end:0x80426AC8
.data start:0x80426148 end:0x80426A78
.sbss start:0x8051F718 end:0x8051F720
revolution/kpad/KPAD.c:
.text start:0x80373158 end:0x80375E8C
.data start:0x80426A78 end:0x80426AC8
.bss start:0x804E12D0 end:0x804E22E0
.sdata start:0x8051E430 end:0x8051E4A0
.sbss start:0x8051F720 end:0x8051F758
+16 -16
View File
@@ -28554,30 +28554,30 @@ RecalibrateBits = .sbss:0x8051F6D4; // type:object size:0x4 scope:global align:4
ResettingBits = .sbss:0x8051F6D8; // type:object size:0x4 scope:global align:4 data:4byte
EnabledBits = .sbss:0x8051F6DC; // type:object size:0x4 scope:global align:4 data:4byte
Initialized = .sbss:0x8051F6E0; // type:object size:0x4 scope:global align:4 data:4byte
lbl_8051F6E8 = .sbss:0x8051F6E8; // type:object size:0x1 data:byte
_regShutdown = .sbss:0x8051F6E8; // type:object size:0x1 data:byte
_senseCnt = .sbss:0x8051F6EA; // type:object size:0x2 scope:global align:2 data:2byte
lbl_8051F6EC = .sbss:0x8051F6EC; // type:object size:0x1 data:byte
lbl_8051F6ED = .sbss:0x8051F6ED; // type:object size:0x1 data:byte
_checkCnt = .sbss:0x8051F6EC; // type:object size:0x1 data:byte
_extCnt = .sbss:0x8051F6ED; // type:object size:0x1 data:byte
_afhCnt = .sbss:0x8051F6EE; // type:object size:0x2 scope:global align:2 data:2byte
_rumbleCnt = .sbss:0x8051F6F0; // type:object size:0x4 scope:global align:4 data:byte
lbl_8051F6F4 = .sbss:0x8051F6F4; // type:object size:0x1 data:byte
lbl_8051F6F5 = .sbss:0x8051F6F5; // type:object size:0x1 data:byte
lbl_8051F6F6 = .sbss:0x8051F6F6; // type:object size:0x1 data:byte
_afhChannel = .sbss:0x8051F6F4; // type:object size:0x1 data:byte
_shutdown = .sbss:0x8051F6F5; // type:object size:0x1 data:byte
_scSetting = .sbss:0x8051F6F6; // type:object size:0x1 data:byte
_chan_active_state = .sbss:0x8051F6F8; // type:object size:0x4 scope:global align:4 data:byte
_gamecode = .sbss:0x8051F6FC; // type:object size:0x4 scope:global align:4 data:4byte
lbl_8051F700 = .sbss:0x8051F700; // type:object size:0x1 data:byte
lbl_8051F701 = .sbss:0x8051F701; // type:object size:0x1 data:byte
lbl_8051F702 = .sbss:0x8051F702; // type:object size:0x1 data:byte
_gametype = .sbss:0x8051F700; // type:object size:0x1 data:byte
_scFlush = .sbss:0x8051F701; // type:object size:0x1 data:byte
_speakerVolume = .sbss:0x8051F702; // type:object size:0x1 data:byte
_rumble = .sbss:0x8051F704; // type:object size:0x4 scope:global align:4 data:4byte
lbl_8051F708 = .sbss:0x8051F708; // type:object size:0x1 data:byte
lbl_8051F709 = .sbss:0x8051F709; // type:object size:0x1 data:byte
lbl_8051F70A = .sbss:0x8051F70A; // type:object size:0x1 data:byte
_sensorBarPos = .sbss:0x8051F708; // type:object size:0x1 data:byte
_dpdSensitivity = .sbss:0x8051F709; // type:object size:0x1 data:byte
_sleepTime = .sbss:0x8051F70A; // type:object size:0x1 data:byte
_recv_3e = .sbss:0x8051F710; // type:object size:0x4 scope:global align:4
_recv_3f = .sbss:0x8051F714; // type:object size:0x4 scope:global align:4
lbl_8051F718 = .sbss:0x8051F718; // type:object size:0x1 data:byte
lbl_8051F719 = .sbss:0x8051F719; // type:object size:0x1 data:byte
lbl_8051F71A = .sbss:0x8051F71A; // type:object size:0x1 data:byte
lbl_8051F71B = .sbss:0x8051F71B; // type:object size:0x1 data:byte
NUM_C = .sbss:0x8051F718; // type:object size:0x1 data:byte
NUM_B = .sbss:0x8051F719; // type:object size:0x1 data:byte
NUM_A = .sbss:0x8051F71A; // type:object size:0x1 data:byte
SEED = .sbss:0x8051F71B; // type:object size:0x1 data:byte
icenter_org = .sbss:0x8051F720; // type:object size:0x8 scope:global align:4 data:4byte
Vec2_0 = .sbss:0x8051F728; // type:object size:0x8 scope:global align:4 data:4byte
kp_dist_vv1 = .sbss:0x8051F730; // type:object size:0x4 scope:global align:4 data:float
+1
View File
@@ -16,6 +16,7 @@ force_active: [
block_relocations:
- source: .text:0x8032f778
- source: .text:0x8032f7f0
- source: .data:0x80428c9c
modules:
- object: files/RELS.arc:mmem/f_pc_profile_lst.rel
+5 -3
View File
@@ -3584,7 +3584,7 @@ revolution/wpad/WPADHIDParser.c:
.text start:0x8036C9A0 end:0x8037123C
.data start:0x80428768 end:0x80428BC8
.bss start:0x804E3CE8 end:0x804E3D00
.sbss start:0x80522060 end:0x80522070
.sbss start:0x80522060 end:0x80522068
.sdata2 start:0x80526E18 end:0x80526E40
revolution/wpad/WPADMem.c:
@@ -3592,10 +3592,12 @@ revolution/wpad/WPADMem.c:
revolution/wpad/WPADEncrypt.c:
.text start:0x8037123C end:0x80371AD4
.data start:0x80428BC8 end:0x80429548
.data start:0x80428BC8 end:0x804294F8
.sbss start:0x80522068 end:0x80522070
revolution/kpad/KPAD.c:
.text start:0x80371B24 end:0x80374858
.data start:0x804294F8 end:0x80429548
.bss start:0x804E3D50 end:0x804E4D60
.sdata start:0x80520D68 end:0x80520DD8
.sbss start:0x80522070 end:0x805220A8
@@ -3611,7 +3613,7 @@ revolution/usb/usb.c:
.sdata start:0x80520DD8 end:0x80520DE8
.sbss start:0x805220B8 end:0x805220C8
revolution/wpad/WUD.c:
revolution/wud/WUD.c:
.text start:0x80375C68 end:0x80379994
.data start:0x80429B00 end:0x8042A8C8
.bss start:0x804E4D60 end:0x804E6AC0
+16 -16
View File
@@ -28441,30 +28441,30 @@ RecalibrateBits = .sbss:0x80522024; // type:object size:0x4 scope:global align:4
ResettingBits = .sbss:0x80522028; // type:object size:0x4 scope:global align:4 data:4byte
EnabledBits = .sbss:0x8052202C; // type:object size:0x4 scope:global align:4 data:4byte
Initialized = .sbss:0x80522030; // type:object size:0x4 scope:global align:4 data:4byte
lbl_80522038 = .sbss:0x80522038; // type:object size:0x1 data:byte
_regShutdown = .sbss:0x80522038; // type:object size:0x1 data:byte
_senseCnt = .sbss:0x8052203A; // type:object size:0x2 scope:global align:2 data:2byte
lbl_8052203C = .sbss:0x8052203C; // type:object size:0x1 data:byte
lbl_8052203D = .sbss:0x8052203D; // type:object size:0x1 data:byte
_checkCnt = .sbss:0x8052203C; // type:object size:0x1 data:byte
_extCnt = .sbss:0x8052203D; // type:object size:0x1 data:byte
_afhCnt = .sbss:0x8052203E; // type:object size:0x2 scope:global align:2 data:2byte
_rumbleCnt = .sbss:0x80522040; // type:object size:0x4 scope:global align:4 data:byte
lbl_80522044 = .sbss:0x80522044; // type:object size:0x1 data:byte
lbl_80522045 = .sbss:0x80522045; // type:object size:0x1 data:byte
lbl_80522046 = .sbss:0x80522046; // type:object size:0x1 data:byte
_afhChannel = .sbss:0x80522044; // type:object size:0x1 data:byte
_shutdown = .sbss:0x80522045; // type:object size:0x1 data:byte
_scSetting = .sbss:0x80522046; // type:object size:0x1 data:byte
_chan_active_state = .sbss:0x80522048; // type:object size:0x4 scope:global align:4 data:byte
_gamecode = .sbss:0x8052204C; // type:object size:0x4 scope:global align:4 data:4byte
lbl_80522050 = .sbss:0x80522050; // type:object size:0x1 data:byte
lbl_80522051 = .sbss:0x80522051; // type:object size:0x1 data:byte
lbl_80522052 = .sbss:0x80522052; // type:object size:0x1 data:byte
_gametype = .sbss:0x80522050; // type:object size:0x1 data:byte
_scFlush = .sbss:0x80522051; // type:object size:0x1 data:byte
_speakerVolume = .sbss:0x80522052; // type:object size:0x1 data:byte
_rumble = .sbss:0x80522054; // type:object size:0x4 scope:global align:4 data:4byte
lbl_80522058 = .sbss:0x80522058; // type:object size:0x1 data:byte
lbl_80522059 = .sbss:0x80522059; // type:object size:0x1 data:byte
lbl_8052205A = .sbss:0x8052205A; // type:object size:0x1 data:byte
_sensorBarPos = .sbss:0x80522058; // type:object size:0x1 data:byte
_dpdSensitivity = .sbss:0x80522059; // type:object size:0x1 data:byte
_sleepTime = .sbss:0x8052205A; // type:object size:0x1 data:byte
_recv_3e = .sbss:0x80522060; // type:object size:0x4 scope:global align:4
_recv_3f = .sbss:0x80522064; // type:object size:0x4 scope:global align:4
lbl_80522068 = .sbss:0x80522068; // type:object size:0x1 data:byte
lbl_80522069 = .sbss:0x80522069; // type:object size:0x1 data:byte
lbl_8052206A = .sbss:0x8052206A; // type:object size:0x1 data:byte
lbl_8052206B = .sbss:0x8052206B; // type:object size:0x1 data:byte
NUM_C = .sbss:0x80522068; // type:object size:0x1 data:byte
NUM_B = .sbss:0x80522069; // type:object size:0x1 data:byte
NUM_A = .sbss:0x8052206A; // type:object size:0x1 data:byte
SEED = .sbss:0x8052206B; // type:object size:0x1 data:byte
icenter_org = .sbss:0x80522070; // type:object size:0x8 scope:global align:4 data:4byte
Vec2_0 = .sbss:0x80522078; // type:object size:0x8 scope:global align:4 data:4byte
kp_dist_vv1 = .sbss:0x80522080; // type:object size:0x4 scope:global align:4 data:float
+1 -1
View File
@@ -3723,7 +3723,7 @@ revolution/wpad/WPADMem.c:
revolution/wpad/lint.c:
.text start:0x8043CE50 end:0x8043D6C0
revolution/wpad/WUD.c:
revolution/wud/WUD.c:
.text start:0x8043D6C0 end:0x80442DE0
.data start:0x804FD9C8 end:0x804FDD10
.sdata start:0x80508790 end:0x805087A0
+1 -1
View File
@@ -4485,7 +4485,7 @@ revolution/wpad/WPAD.c:
.sdata2 start:0x80752E78 end:0x80752E80
.bss start:0x8080DC20 end:0x8080DC40
revolution/wpad/WUD.c:
revolution/wud/WUD.c:
.text start:0x80619BD0 end:0x80619DD0
.bss start:0x8080DC40 end:0x8080E3D0
+1 -1
View File
@@ -65269,7 +65269,7 @@ RecalibrateBits = .sbss:0x8074D664; // type:object size:0x4 scope:global data:4b
ResettingBits = .sbss:0x8074D668; // type:object size:0x4 scope:global data:4byte hash:0x8B753108
EnabledBits = .sbss:0x8074D66C; // type:object size:0x4 scope:global data:4byte hash:0x239E8E6C
Initialized = .sbss:0x8074D670; // type:object size:0x4 scope:global data:4byte hash:0x99FD6509
lbl_8074D678 = .sbss:0x8074D678; // type:object size:0x1 data:byte hash:0x92D2D836
_speakerVolume = .sbss:0x8074D678; // type:object size:0x1 data:byte hash:0x92D2D836
__EUARTInitialized = .sbss:0x8074D680; // type:object size:0x4 scope:global data:4byte hash:0x1E294A9E
__EUARTLastErrorCode = .sbss:0x8074D684; // type:object size:0x4 scope:global data:4byte hash:0xA09C238D
__EUARTSendStop = .sbss:0x8074D688; // type:object size:0x4 scope:global data:4byte hash:0xA9B34056