mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-10-07 17:31:49 -04:00
src(phase-36): T4 batch tus9 — delever: batch tus9 — 300 files (TUs; 383 drawable) · 1901 bodies: 454 lever-free, 1430 residue, 8 refused · sites removed 2244 / needed 2937 / refused 42 / deferred 9 · replays 522 (0 disagreed) · compiles 5262 in 294 s wall · final 300/300 identical · written 297 files | R22 check-all: 218 passed, 0 failed of 218 | census: THE PHASE'S NUMBER (pins + asm statements, GTE excluded): 34,459 sites in 12,656 bodies (1,909 distinct) · marked !FAKE 32,473 · UNMARKED 1,986 (delever_cycle)
This commit is contained in:
@@ -0,0 +1,476 @@
|
||||
clean: removed build/, expected/, and the regenerated splat tree (asm/, assets/, undefined_*_auto.txt).
|
||||
disc-extract: up to date — extracted/retail/ matches the committed manifest (sha1 e5c6019249dec3c71bb2cf40658a78439dddb037)
|
||||
splat 0.41.0 (powered by spimdisasm 1.41.0)
|
||||
|
||||
0%| | 0/1096 [00:00<?, ?it/s]
|
||||
Loading symbols (symbols.us): 0%| | 0/1096 [00:00<?, ?it/s]
|
||||
Loading symbols (symbols.us): 100%|██████████| 1096/1096 [00:00<00:00, 177949.03it/s]
|
||||
|
||||
0%| | 0/47 [00:00<?, ?it/s]
|
||||
Loading symbols (symbols.us.ram): 0%| | 0/47 [00:00<?, ?it/s]
|
||||
Loading symbols (symbols.us.ram): 100%|██████████| 47/47 [00:00<00:00, 568104.58it/s]
|
||||
|
||||
0%| | 0/2 [00:00<?, ?it/s]
|
||||
Scanning header: 0%| | 0/2 [00:00<?, ?it/s]
|
||||
Scanning main: 0%| | 0/2 [00:00<?, ?it/s]
|
||||
Rodata segment '800' may belong to the text segment '800'
|
||||
Based on the usage from the function LzssDecodeSector to the symbol jtbl_80072A38
|
||||
|
||||
The rodata segment '800' has jumptables that are not aligned properly file-wise, indicating one or more likely file split.
|
||||
File split suggestions for this segment will follow in config yaml format:
|
||||
- [0x6324C, .rodata]
|
||||
- [0x63388, .rodata]
|
||||
- [0x633FC, .rodata]
|
||||
|
||||
|
||||
Rodata segment '800_b' may belong to the text segment '800_b'
|
||||
Based on the usage from the function func_8002B0B4 to the symbol jtbl_80072E44
|
||||
|
||||
Rodata segment '800_b_2' may belong to the text segment '800_b_2'
|
||||
Based on the usage from the function func_8002DC68 to the symbol jtbl_80072F3C
|
||||
|
||||
The rodata segment '800_b_2' has jumptables that are not aligned properly file-wise, indicating one or more likely file split.
|
||||
File split suggestions for this segment will follow in config yaml format:
|
||||
- [0x63920, .rodata]
|
||||
|
||||
|
||||
Rodata segment '800_c' may belong to the text segment '800_c'
|
||||
Based on the usage from the function func_80035270 to the symbol jtbl_800732A0
|
||||
|
||||
Scanning main: 100%|██████████| 2/2 [00:01<00:00, 1.11it/s]
|
||||
Scanning main: 100%|██████████| 2/2 [00:01<00:00, 1.11it/s]
|
||||
|
||||
0%| | 0/2 [00:00<?, ?it/s]
|
||||
Splitting header: 0%| | 0/2 [00:00<?, ?it/s]
|
||||
Splitting main: 0%| | 0/2 [00:00<?, ?it/s]
|
||||
Splitting main: 100%|██████████| 2/2 [00:01<00:00, 1.38it/s]
|
||||
Splitting main: 100%|██████████| 2/2 [00:01<00:00, 1.38it/s]
|
||||
|
||||
0%| | 0/2 [00:00<?, ?it/s]
|
||||
Linker script header: 0%| | 0/2 [00:00<?, ?it/s]
|
||||
Linker script main: 0%| | 0/2 [00:00<?, ?it/s]
|
||||
Linker script main: 100%|██████████| 2/2 [00:00<00:00, 84.13it/s]
|
||||
Split 340 KB (82.28%) in defined segments
|
||||
header: 2 KB (0.50%) 1 split, 0 cached
|
||||
c: 338 KB (81.78%) 85 split, 0 cached
|
||||
unknown: 0 B (0.00%) from unknown bin files
|
||||
ld_interleave --order: .main island = 8 pieces [53198.data.o, 800.o, 63470.data.o, 800_b.o, 800_b_2.o, 63940.data.o, 800_c.o, 63C4C.data.o]; pre=0 text=85 empties=166 bss=85
|
||||
[ OK ] resident
|
||||
[ OK ] ov_SC05_000
|
||||
[ OK ] ov_SC01_000
|
||||
[ OK ] ov_SC04_000
|
||||
[ OK ] ov_SC06_000
|
||||
[ OK ] ov_SC01_006
|
||||
[ OK ] ov_SC03_002
|
||||
[ OK ] ov_SC01_005
|
||||
[ OK ] ov_SC01_077
|
||||
[ OK ] ov_SC04_019
|
||||
[ OK ] ov_SC02_003
|
||||
[ OK ] ov_SC04_018
|
||||
[ OK ] ov_SC03_001
|
||||
[ OK ] ov_SC01_004
|
||||
[ OK ] ov_SC03_006
|
||||
[ OK ] ov_SC02_000
|
||||
[ OK ] ov_SC01_001
|
||||
[ OK ] ov_SC01_074
|
||||
[ OK ] ov_SC01_008
|
||||
[ OK ] ov_SC07_000
|
||||
[ OK ] ov_SC02_004
|
||||
[ OK ] ov_SC02_015
|
||||
[ OK ] ov_SC01_080
|
||||
[ OK ] ov_SC02_021
|
||||
[ OK ] ov_SC01_009
|
||||
[ OK ] ov_SC02_016
|
||||
[ OK ] ov_SC01_084
|
||||
[ OK ] ov_SC02_005
|
||||
[ OK ] ov_SC02_011
|
||||
[ OK ] ov_SC02_026
|
||||
[ OK ] ov_SC02_031
|
||||
[ OK ] ov_SC02_035
|
||||
[ OK ] ov_SC02_039
|
||||
[ OK ] ov_SC03_003
|
||||
[ OK ] ov_SC02_028
|
||||
[ OK ] ov_SC02_027
|
||||
[ OK ] ov_SC02_017
|
||||
[ OK ] ov_SC02_041
|
||||
[ OK ] ov_SC03_010
|
||||
[ OK ] ov_SC03_011
|
||||
[ OK ] ov_SC03_012
|
||||
[ OK ] ov_SC03_013
|
||||
[ OK ] ov_SC03_023
|
||||
[ OK ] ov_SC03_007
|
||||
[ OK ] ov_SC03_024
|
||||
[ OK ] ov_SC03_031
|
||||
[ OK ] ov_SC03_015
|
||||
[ OK ] ov_SC03_089
|
||||
[ OK ] ov_SC03_029
|
||||
[ OK ] ov_SC03_014
|
||||
[ OK ] ov_SC03_090
|
||||
[ OK ] ov_SC03_030
|
||||
[ OK ] ov_SC03_092
|
||||
[ OK ] ov_SC03_091
|
||||
[ OK ] ov_SC03_096
|
||||
[ OK ] ov_SC03_028
|
||||
[ OK ] ov_SC03_093
|
||||
[ OK ] ov_SC03_095
|
||||
[ OK ] ov_SC03_097
|
||||
[ OK ] ov_SC03_094
|
||||
[ OK ] ov_SC03_098
|
||||
[ OK ] ov_SC03_101
|
||||
[ OK ] ov_SC03_109
|
||||
[ OK ] ov_SC03_108
|
||||
[ OK ] ov_SC03_102
|
||||
[ OK ] ov_SC03_110
|
||||
[ OK ] ov_SC03_099
|
||||
[ OK ] ov_SC03_100
|
||||
[ OK ] ov_SC03_112
|
||||
[ OK ] ov_SC03_113
|
||||
[ OK ] ov_SC03_105
|
||||
[ OK ] ov_SC03_111
|
||||
[ OK ] ov_SC03_104
|
||||
[ OK ] ov_SC03_103
|
||||
[ OK ] ov_SC03_115
|
||||
[ OK ] ov_SC03_116
|
||||
[ OK ] ov_SC03_114
|
||||
[ OK ] ov_SC03_126
|
||||
[ OK ] ov_SC03_121
|
||||
[ OK ] ov_SC04_003
|
||||
[ OK ] ov_SC04_006
|
||||
[ OK ] ov_SC03_118
|
||||
[ OK ] ov_SC03_119
|
||||
[ OK ] ov_SC03_117
|
||||
[ OK ] ov_SC04_004
|
||||
[ OK ] ov_SC04_002
|
||||
[ OK ] ov_SC04_005
|
||||
[ OK ] ov_SC04_008
|
||||
[ OK ] ov_SC04_010
|
||||
[ OK ] ov_SC03_125
|
||||
[ OK ] ov_SC04_007
|
||||
[ OK ] ov_SC04_009
|
||||
[ OK ] ov_SC03_124
|
||||
[ OK ] ov_SC04_012
|
||||
[ OK ] ov_SC04_021
|
||||
[ OK ] ov_SC05_006
|
||||
[ OK ] ov_SC04_016
|
||||
[ OK ] ov_SC05_009
|
||||
[ OK ] ov_SC05_002
|
||||
[ OK ] ov_SC05_007
|
||||
[ OK ] ov_SC04_015
|
||||
[ OK ] ov_SC05_004
|
||||
[ OK ] ov_SC05_003
|
||||
[ OK ] ov_SC05_008
|
||||
[ OK ] ov_SC05_005
|
||||
[ OK ] ov_SC05_001
|
||||
[ OK ] ov_SC04_011
|
||||
[ OK ] ov_SC04_020
|
||||
[ OK ] ov_SC05_010
|
||||
[ OK ] ov_SC05_011
|
||||
[ OK ] ov_SC05_019
|
||||
[ OK ] ov_SC06_015
|
||||
[ OK ] ov_SC06_013
|
||||
[ OK ] ov_SC06_014
|
||||
[ OK ] ov_SC06_011
|
||||
[ OK ] ov_SC06_016
|
||||
[ OK ] ov_SC06_008
|
||||
[ OK ] ov_SC06_010
|
||||
[ OK ] ov_SC05_017
|
||||
[ OK ] ov_SC05_018
|
||||
[ OK ] ov_SC06_020
|
||||
[ OK ] ov_SC06_025
|
||||
[ OK ] ov_SC06_018
|
||||
[ OK ] ov_SC06_006
|
||||
[ OK ] ov_SC06_027
|
||||
[ OK ] ov_SC06_022
|
||||
[ OK ] ov_SC06_024
|
||||
[ OK ] md_MAIN_013
|
||||
[ OK ] md_MAIN_014
|
||||
[ OK ] ov_SC07_008
|
||||
[ OK ] ov_SC07_002
|
||||
[ OK ] md_MAIN_015
|
||||
[ OK ] md_MAIN_016
|
||||
[ OK ] ov_SC07_001
|
||||
[ OK ] md_MAIN_017
|
||||
[ OK ] md_MAIN_018
|
||||
[ OK ] md_MAIN_019
|
||||
[ OK ] md_MAIN_020
|
||||
[ OK ] md_MAIN_021
|
||||
[ OK ] md_MAIN_022
|
||||
[ OK ] md_MAIN_023
|
||||
[ OK ] ov_SC06_030
|
||||
[ OK ] ov_SC07_009
|
||||
[ OK ] md_MAIN_024
|
||||
[ OK ] md_MAIN_025
|
||||
[ OK ] md_MAIN_026
|
||||
[ OK ] md_MAIN_028
|
||||
[ OK ] md_MAIN_027
|
||||
[ OK ] md_MAIN_029
|
||||
[ OK ] md_MAIN_030
|
||||
[ OK ] ov_SC06_033
|
||||
[ OK ] md_MAIN_032
|
||||
[ OK ] md_MAIN_031
|
||||
[ OK ] ov_SC06_032
|
||||
[ OK ] ov_SC07_011
|
||||
[ OK ] md_MAIN_033
|
||||
[ OK ] md_MAIN_035
|
||||
[ OK ] md_MAIN_034
|
||||
[ OK ] ov_MAIN_012
|
||||
[ OK ] md_MAIN_036
|
||||
[ OK ] md_MAIN_037
|
||||
[ OK ] md_MAIN_039
|
||||
[ OK ] md_MAIN_040
|
||||
[ OK ] md_MAIN_042
|
||||
[ OK ] md_MAIN_038
|
||||
[ OK ] ov_SC06_029
|
||||
[ OK ] md_MAIN_041
|
||||
[ OK ] md_MAIN_043
|
||||
[ OK ] md_MAIN_044
|
||||
[ OK ] md_MAIN_045
|
||||
[ OK ] md_MAIN_047
|
||||
[ OK ] md_MAIN_046
|
||||
[ OK ] md_MAIN_008
|
||||
[ OK ] ov_SC07_010
|
||||
[ OK ] md_MAIN_001
|
||||
[ OK ] md_MAIN_011
|
||||
[ OK ] md_SC03_074
|
||||
[ OK ] md_SC03_075
|
||||
[ OK ] md_SC03_073
|
||||
[ OK ] md_SC03_078
|
||||
[ OK ] md_SC03_077
|
||||
[ OK ] md_SC03_076
|
||||
[ OK ] md_SC03_132
|
||||
[ OK ] md_SC03_133
|
||||
[ OK ] md_SC03_079
|
||||
[ OK ] md_SC03_137
|
||||
[ OK ] md_SC03_134
|
||||
[ OK ] ov_SC03_107
|
||||
[ OK ] md_SC03_135
|
||||
[ OK ] md_SC03_136
|
||||
[ OK ] md_MAIN_003
|
||||
[ OK ] md_SC04_024
|
||||
[ OK ] md_SC04_025
|
||||
[ OK ] md_SC03_138
|
||||
[ OK ] md_SC04_026
|
||||
[ OK ] md_SC04_029
|
||||
[ OK ] md_SC04_028
|
||||
[ OK ] md_SC04_027
|
||||
[ OK ] md_SC05_024
|
||||
[ OK ] md_SC05_025
|
||||
[ OK ] md_SC05_023
|
||||
[ OK ] md_SC04_030
|
||||
[ OK ] md_SC05_028
|
||||
[ OK ] md_MAIN_007
|
||||
[ OK ] md_SC05_027
|
||||
[ OK ] md_SC05_026
|
||||
[ OK ] md_MAIN_009
|
||||
[ OK ] ov_SC07_007
|
||||
[ OK ] ov_SC02_037
|
||||
[ OK ] md_SC03_053
|
||||
[ OK ] md_SC05_029
|
||||
[ OK ] md_SC03_056
|
||||
[ OK ] md_SC03_054
|
||||
[ OK ] ov_SC07_006
|
||||
[ OK ] md_SC02_009
|
||||
[ OK ] md_SC07_004
|
||||
[ OK ] md_SC07_003
|
||||
extract-all: 217 extracted, 0 failed of 217 (+ main, serial)
|
||||
[ OK ] resident
|
||||
[ OK ] ov_SC05_000
|
||||
[ OK ] ov_SC04_000
|
||||
[ OK ] ov_SC01_000
|
||||
[ OK ] ov_SC03_006
|
||||
[ OK ] ov_SC01_006
|
||||
[ OK ] ov_SC01_005
|
||||
[ OK ] ov_SC03_002
|
||||
[ OK ] ov_SC01_001
|
||||
[ OK ] ov_SC01_077
|
||||
[ OK ] ov_SC04_018
|
||||
[ OK ] ov_SC06_000
|
||||
[ OK ] ov_SC04_019
|
||||
[ OK ] ov_SC03_001
|
||||
[ OK ] ov_SC02_000
|
||||
[ OK ] ov_SC02_003
|
||||
[ OK ] ov_SC07_000
|
||||
[ OK ] ov_SC01_004
|
||||
[ OK ] ov_SC01_008
|
||||
[ OK ] ov_SC01_074
|
||||
[ OK ] ov_SC02_004
|
||||
[ OK ] ov_SC02_016
|
||||
[ OK ] ov_SC02_015
|
||||
[ OK ] ov_SC01_080
|
||||
[ OK ] ov_SC01_009
|
||||
[ OK ] ov_SC01_084
|
||||
[ OK ] ov_SC02_021
|
||||
[ OK ] ov_SC02_005
|
||||
[ OK ] ov_SC02_011
|
||||
[ OK ] ov_SC02_017
|
||||
[ OK ] ov_SC02_026
|
||||
[ OK ] ov_SC02_031
|
||||
[ OK ] ov_SC02_039
|
||||
[ OK ] ov_SC02_027
|
||||
[ OK ] ov_SC03_003
|
||||
[ OK ] ov_SC02_028
|
||||
[ OK ] ov_SC03_012
|
||||
[ OK ] ov_SC03_011
|
||||
[ OK ] ov_SC02_035
|
||||
[ OK ] ov_SC03_010
|
||||
[ OK ] ov_SC03_007
|
||||
[ OK ] ov_SC02_041
|
||||
[ OK ] ov_SC03_013
|
||||
[ OK ] ov_SC03_023
|
||||
[ OK ] ov_SC03_014
|
||||
[ OK ] ov_SC03_015
|
||||
[ OK ] ov_SC03_030
|
||||
[ OK ] ov_SC03_024
|
||||
[ OK ] ov_SC03_029
|
||||
[ OK ] ov_SC03_031
|
||||
[ OK ] ov_SC03_028
|
||||
[ OK ] ov_SC03_089
|
||||
[ OK ] ov_SC03_093
|
||||
[ OK ] ov_SC03_091
|
||||
[ OK ] ov_SC03_096
|
||||
[ OK ] ov_SC03_092
|
||||
[ OK ] ov_SC03_094
|
||||
[ OK ] ov_SC03_095
|
||||
[ OK ] ov_SC03_090
|
||||
[ OK ] ov_SC03_097
|
||||
[ OK ] main
|
||||
[ OK ] ov_SC03_098
|
||||
[ OK ] ov_SC03_099
|
||||
[ OK ] ov_SC03_100
|
||||
[ OK ] ov_SC03_101
|
||||
[ OK ] ov_SC03_102
|
||||
[ OK ] ov_SC03_109
|
||||
[ OK ] ov_SC03_111
|
||||
[ OK ] ov_SC03_104
|
||||
[ OK ] ov_SC03_103
|
||||
[ OK ] ov_SC03_108
|
||||
[ OK ] ov_SC03_113
|
||||
[ OK ] ov_SC03_110
|
||||
[ OK ] ov_SC03_114
|
||||
[ OK ] ov_SC03_115
|
||||
[ OK ] ov_SC03_105
|
||||
[ OK ] ov_SC03_112
|
||||
[ OK ] ov_SC03_116
|
||||
[ OK ] ov_SC03_117
|
||||
[ OK ] ov_SC03_118
|
||||
[ OK ] ov_SC03_126
|
||||
[ OK ] ov_SC03_121
|
||||
[ OK ] ov_SC04_003
|
||||
[ OK ] ov_SC03_119
|
||||
[ OK ] ov_SC04_002
|
||||
[ OK ] ov_SC04_008
|
||||
[ OK ] ov_SC04_006
|
||||
[ OK ] ov_SC03_124
|
||||
[ OK ] ov_SC03_125
|
||||
[ OK ] ov_SC04_004
|
||||
[ OK ] ov_SC04_009
|
||||
[ OK ] ov_SC04_005
|
||||
[ OK ] ov_SC04_007
|
||||
[ OK ] ov_SC04_010
|
||||
[ OK ] ov_SC04_011
|
||||
[ OK ] ov_SC04_012
|
||||
[ OK ] ov_SC04_021
|
||||
[ OK ] ov_SC04_016
|
||||
[ OK ] ov_SC04_020
|
||||
[ OK ] ov_SC04_015
|
||||
[ OK ] ov_SC05_004
|
||||
[ OK ] ov_SC05_001
|
||||
[ OK ] ov_SC05_002
|
||||
[ OK ] ov_SC05_006
|
||||
[ OK ] ov_SC05_003
|
||||
[ OK ] ov_SC05_009
|
||||
[ OK ] ov_SC05_008
|
||||
[ OK ] ov_SC05_005
|
||||
[ OK ] ov_SC05_007
|
||||
[ OK ] ov_SC05_010
|
||||
[ OK ] ov_SC05_011
|
||||
[ OK ] ov_SC05_019
|
||||
[ OK ] ov_SC06_010
|
||||
[ OK ] ov_SC06_015
|
||||
[ OK ] ov_SC06_011
|
||||
[ OK ] ov_SC06_013
|
||||
[ OK ] ov_SC06_006
|
||||
[ OK ] ov_SC05_017
|
||||
[ OK ] ov_SC05_018
|
||||
[ OK ] ov_SC06_008
|
||||
[ OK ] ov_SC06_014
|
||||
[ OK ] ov_SC06_020
|
||||
[ OK ] ov_SC06_016
|
||||
[ OK ] ov_SC06_018
|
||||
[ OK ] ov_SC06_022
|
||||
[ OK ] ov_SC06_024
|
||||
[ OK ] ov_SC06_025
|
||||
[ OK ] ov_SC06_027
|
||||
[ OK ] md_MAIN_013
|
||||
[ OK ] md_MAIN_014
|
||||
[ OK ] md_MAIN_015
|
||||
[ OK ] md_MAIN_016
|
||||
[ OK ] md_MAIN_017
|
||||
[ OK ] md_MAIN_018
|
||||
[ OK ] ov_SC07_009
|
||||
[ OK ] ov_SC06_030
|
||||
[ OK ] md_MAIN_019
|
||||
[ OK ] ov_SC07_002
|
||||
[ OK ] md_MAIN_020
|
||||
[ OK ] ov_SC07_008
|
||||
[ OK ] md_MAIN_021
|
||||
[ OK ] md_MAIN_023
|
||||
[ OK ] md_MAIN_022
|
||||
[ OK ] md_MAIN_024
|
||||
[ OK ] ov_SC07_001
|
||||
[ OK ] md_MAIN_029
|
||||
[ OK ] md_MAIN_027
|
||||
[ OK ] md_MAIN_025
|
||||
[ OK ] md_MAIN_028
|
||||
[ OK ] md_MAIN_026
|
||||
[ OK ] md_MAIN_030
|
||||
[ OK ] ov_SC06_029
|
||||
[ OK ] md_MAIN_033
|
||||
[ OK ] ov_SC07_006
|
||||
[ OK ] md_MAIN_032
|
||||
[ OK ] md_MAIN_035
|
||||
[ OK ] md_MAIN_031
|
||||
[ OK ] ov_MAIN_012
|
||||
[ OK ] md_MAIN_034
|
||||
[ OK ] md_MAIN_036
|
||||
[ OK ] ov_SC07_010
|
||||
[ OK ] md_MAIN_043
|
||||
[ OK ] md_MAIN_042
|
||||
[ OK ] md_MAIN_038
|
||||
[ OK ] md_MAIN_037
|
||||
[ OK ] md_MAIN_044
|
||||
[ OK ] md_MAIN_040
|
||||
[ OK ] ov_SC07_007
|
||||
[ OK ] md_MAIN_039
|
||||
[ OK ] md_MAIN_041
|
||||
[ OK ] ov_SC06_033
|
||||
[ OK ] md_MAIN_046
|
||||
[ OK ] md_MAIN_001
|
||||
[ OK ] md_MAIN_008
|
||||
[ OK ] md_MAIN_047
|
||||
[ OK ] md_MAIN_045
|
||||
[ OK ] md_MAIN_011
|
||||
[ OK ] md_SC03_073
|
||||
[ OK ] md_SC03_074
|
||||
[ OK ] md_SC03_075
|
||||
[ OK ] md_SC03_132
|
||||
[ OK ] md_SC03_078
|
||||
[ OK ] ov_SC06_032
|
||||
[ OK ] md_SC03_079
|
||||
[ OK ] md_SC03_133
|
||||
[ OK ] md_SC03_134
|
||||
[ OK ] md_SC07_003
|
||||
[ OK ] md_SC03_076
|
||||
[ OK ] ov_SC07_011
|
||||
[ OK ] md_SC03_077
|
||||
[ OK ] md_SC03_136
|
||||
[ OK ] md_SC03_137
|
||||
[ OK ] md_SC04_024
|
||||
[ OK ] md_SC03_138
|
||||
[ OK ] md_SC04_026
|
||||
[ OK ] md_MAIN_003
|
||||
[ OK ] md_SC04_025
|
||||
[ OK ] md_SC03_135
|
||||
[ OK ] md_SC04_029
|
||||
[ OK ] md_SC05_023
|
||||
[ OK ] md_SC04_030
|
||||
+109
-117
@@ -24,7 +24,6 @@
|
||||
"gte_stsv": 145,
|
||||
"gte_stsxy": 361,
|
||||
"gte_stsxy3": 191,
|
||||
"gte_stsxy3_f3": 61,
|
||||
"gte_stsxy3c": 94,
|
||||
"gte_stsz3": 123,
|
||||
"gte_stsz4": 126,
|
||||
@@ -32,22 +31,22 @@
|
||||
"lhu": 70,
|
||||
"lw": 80,
|
||||
"lwc2": 435,
|
||||
"mfc2": 61,
|
||||
"swc2": 449
|
||||
},
|
||||
"instruction_mnemonics": {
|
||||
".section": 7,
|
||||
"RTP_SND": 22,
|
||||
"addiu": 24,
|
||||
"addiu": 22,
|
||||
"addu": 968,
|
||||
"and": 2,
|
||||
"andi": 1,
|
||||
"la": 144,
|
||||
"lh": 134,
|
||||
"li": 1,
|
||||
"lui": 5,
|
||||
"lui": 4,
|
||||
"lw": 1,
|
||||
"mfhi": 1,
|
||||
"move": 407,
|
||||
"move": 406,
|
||||
"mult": 1,
|
||||
"nop": 1,
|
||||
"sll": 1,
|
||||
@@ -55,14 +54,14 @@
|
||||
},
|
||||
"kinds": {
|
||||
"asm-body/direct": 13,
|
||||
"barrier/direct": 4757,
|
||||
"barrier/direct": 4622,
|
||||
"barrier/via-macro": 2,
|
||||
"gte/direct": 1140,
|
||||
"gte/via-macro": 5751,
|
||||
"instruction/direct": 1699,
|
||||
"instruction/direct": 1694,
|
||||
"instruction/via-macro": 22,
|
||||
"keepalive/direct": 2046,
|
||||
"launder/direct": 4396,
|
||||
"keepalive/direct": 2022,
|
||||
"launder/direct": 4301,
|
||||
"launder/via-macro": 440,
|
||||
"verbatim-body/direct": 2682
|
||||
}
|
||||
@@ -70,65 +69,65 @@
|
||||
"binaries": 218,
|
||||
"classes": {
|
||||
"A": {
|
||||
"bodies": 10893,
|
||||
"distinct_bodies": 1779,
|
||||
"bodies": 10488,
|
||||
"distinct_bodies": 1515,
|
||||
"file_scope": 0,
|
||||
"in_bodies": 23044,
|
||||
"in_bodies": 21343,
|
||||
"kinds": {
|
||||
"pin": 23044
|
||||
"pin": 21343
|
||||
},
|
||||
"marked": 18137,
|
||||
"sites": 23044,
|
||||
"tus": 2675,
|
||||
"unmarked": 4907
|
||||
"marked": 19964,
|
||||
"sites": 21343,
|
||||
"tus": 2663,
|
||||
"unmarked": 1379
|
||||
},
|
||||
"B": {
|
||||
"bodies": 9931,
|
||||
"distinct_bodies": 1192,
|
||||
"bodies": 9802,
|
||||
"distinct_bodies": 1116,
|
||||
"file_scope": 13,
|
||||
"in_bodies": 22935,
|
||||
"in_bodies": 22676,
|
||||
"kinds": {
|
||||
"asm-body": 13,
|
||||
"barrier": 4759,
|
||||
"barrier": 4624,
|
||||
"gte": 6891,
|
||||
"instruction": 1721,
|
||||
"keepalive": 2046,
|
||||
"launder": 4836,
|
||||
"instruction": 1716,
|
||||
"keepalive": 2022,
|
||||
"launder": 4741,
|
||||
"verbatim-body": 2682
|
||||
},
|
||||
"marked": 11676,
|
||||
"sites": 22948,
|
||||
"tus": 2324,
|
||||
"unmarked": 11272
|
||||
"marked": 12682,
|
||||
"sites": 22689,
|
||||
"tus": 2317,
|
||||
"unmarked": 10007
|
||||
},
|
||||
"C": {
|
||||
"bodies": 671,
|
||||
"distinct_bodies": 139,
|
||||
"file_scope": 343,
|
||||
"in_bodies": 1707,
|
||||
"bodies": 652,
|
||||
"distinct_bodies": 120,
|
||||
"file_scope": 158,
|
||||
"in_bodies": 1634,
|
||||
"kinds": {
|
||||
"cast": 1612,
|
||||
"decl-body": 93,
|
||||
"decl-file": 343,
|
||||
"cast": 1552,
|
||||
"decl-body": 80,
|
||||
"decl-file": 158,
|
||||
"param": 2
|
||||
},
|
||||
"marked": 2,
|
||||
"sites": 2050,
|
||||
"tus": 701,
|
||||
"unmarked": 2048
|
||||
"marked": 9,
|
||||
"sites": 1792,
|
||||
"tus": 635,
|
||||
"unmarked": 1783
|
||||
},
|
||||
"D": {
|
||||
"bodies": 67,
|
||||
"distinct_bodies": 67,
|
||||
"bodies": 53,
|
||||
"distinct_bodies": 53,
|
||||
"file_scope": 0,
|
||||
"in_bodies": 83,
|
||||
"in_bodies": 58,
|
||||
"kinds": {
|
||||
"register": 83
|
||||
"register": 58
|
||||
},
|
||||
"marked": 0,
|
||||
"sites": 83,
|
||||
"tus": 17,
|
||||
"unmarked": 83
|
||||
"sites": 58,
|
||||
"tus": 9,
|
||||
"unmarked": 58
|
||||
},
|
||||
"E": {
|
||||
"bodies": 737,
|
||||
@@ -173,10 +172,10 @@
|
||||
"controls": [
|
||||
{
|
||||
"expected": 45,
|
||||
"got": 45,
|
||||
"got": 14,
|
||||
"name": "src/800.c func_800226C0 pins",
|
||||
"ok": true,
|
||||
"status": "OK"
|
||||
"status": "N-A"
|
||||
},
|
||||
{
|
||||
"expected": 26,
|
||||
@@ -203,9 +202,9 @@
|
||||
"coverage": {
|
||||
"asm": {
|
||||
"comment_dead": 6792,
|
||||
"live": 49600,
|
||||
"live": 47640,
|
||||
"macro_block": 7189,
|
||||
"raw": 63581
|
||||
"raw": 61621
|
||||
},
|
||||
"attribute": {
|
||||
"comment_dead": 0,
|
||||
@@ -221,30 +220,30 @@
|
||||
},
|
||||
"register": {
|
||||
"comment_dead": 8584,
|
||||
"live": 23127,
|
||||
"live": 21401,
|
||||
"macro_block": 18,
|
||||
"raw": 31729
|
||||
"raw": 30003
|
||||
},
|
||||
"volatile": {
|
||||
"comment_dead": 2607,
|
||||
"live": 3787,
|
||||
"live": 3509,
|
||||
"macro_block": 6510,
|
||||
"raw": 12904
|
||||
"raw": 12626
|
||||
}
|
||||
},
|
||||
"coverage_ok": true,
|
||||
"elapsed_s": 35.7,
|
||||
"elapsed_s": 35.5,
|
||||
"generated": "2026-09-09",
|
||||
"head": "fa008b862",
|
||||
"head": "d9e01a398",
|
||||
"headers": 3181,
|
||||
"levers_AB": {
|
||||
"asm": 13375,
|
||||
"bodies": 13044,
|
||||
"distinct_bodies": 2173,
|
||||
"marked": 29642,
|
||||
"pins": 23044,
|
||||
"sites": 36419,
|
||||
"unmarked": 6777,
|
||||
"asm": 13116,
|
||||
"bodies": 12656,
|
||||
"distinct_bodies": 1909,
|
||||
"marked": 32473,
|
||||
"pins": 21343,
|
||||
"sites": 34459,
|
||||
"unmarked": 1986,
|
||||
"what": "register pins + asm statements excluding GTE ops: the classes the phase drives to 0"
|
||||
},
|
||||
"macro_definitions": {
|
||||
@@ -390,74 +389,67 @@
|
||||
"sample": []
|
||||
},
|
||||
"pins": {
|
||||
"bare_name": 52,
|
||||
"init": 3115,
|
||||
"bare_name": 32,
|
||||
"init": 2869,
|
||||
"registers": {
|
||||
"$0": 1335,
|
||||
"$1": 2,
|
||||
"$10": 166,
|
||||
"$11": 29,
|
||||
"$12": 420,
|
||||
"$13": 24,
|
||||
"$14": 152,
|
||||
"$15": 8,
|
||||
"$16": 2071,
|
||||
"$17": 1766,
|
||||
"$18": 646,
|
||||
"$19": 669,
|
||||
"$2": 4202,
|
||||
"$20": 374,
|
||||
"$21": 445,
|
||||
"$22": 30,
|
||||
"$23": 162,
|
||||
"$24": 4,
|
||||
"$25": 6,
|
||||
"$0": 1324,
|
||||
"$10": 150,
|
||||
"$11": 12,
|
||||
"$12": 409,
|
||||
"$13": 11,
|
||||
"$14": 142,
|
||||
"$15": 1,
|
||||
"$16": 1860,
|
||||
"$17": 1587,
|
||||
"$18": 512,
|
||||
"$19": 617,
|
||||
"$2": 3937,
|
||||
"$20": 304,
|
||||
"$21": 421,
|
||||
"$22": 13,
|
||||
"$23": 149,
|
||||
"$25": 3,
|
||||
"$29": 13,
|
||||
"$3": 2677,
|
||||
"$4": 3026,
|
||||
"$5": 2577,
|
||||
"$6": 602,
|
||||
"$7": 780,
|
||||
"$8": 482,
|
||||
"$9": 324,
|
||||
"3": 1,
|
||||
"4": 1,
|
||||
"5": 2,
|
||||
"6": 3,
|
||||
"$3": 2509,
|
||||
"$4": 2786,
|
||||
"$5": 2510,
|
||||
"$6": 555,
|
||||
"$7": 734,
|
||||
"$8": 448,
|
||||
"$9": 304,
|
||||
"5": 1,
|
||||
"6": 1,
|
||||
"7": 5,
|
||||
"9": 4,
|
||||
"a0": 10,
|
||||
"a0": 7,
|
||||
"a1": 3,
|
||||
"s0": 2,
|
||||
"s1": 1,
|
||||
"s2": 1,
|
||||
"v0": 9,
|
||||
"v1": 10
|
||||
"v0": 4,
|
||||
"v1": 7
|
||||
},
|
||||
"sites": 23044,
|
||||
"sites": 21343,
|
||||
"sp": 13,
|
||||
"spelling": {
|
||||
"__asm__": 22896,
|
||||
"asm": 148
|
||||
"__asm__": 21234,
|
||||
"asm": 109
|
||||
},
|
||||
"volatile_qualified": 135,
|
||||
"zero": 1335
|
||||
"volatile_qualified": 134,
|
||||
"zero": 1324
|
||||
},
|
||||
"src_stamp": "dd601798dec1ca26",
|
||||
"src_stamp": "70faab79783639aa",
|
||||
"tus": 4121,
|
||||
"unclassified": 0,
|
||||
"union_AD": {
|
||||
"bodies": 16505,
|
||||
"bodies": 16118,
|
||||
"by_kind": {
|
||||
"main": 204,
|
||||
"md": 213,
|
||||
"ov": 15679,
|
||||
"main": 180,
|
||||
"md": 196,
|
||||
"ov": 15333,
|
||||
"resident": 16,
|
||||
"shared": 393
|
||||
},
|
||||
"copies_in_multi": 14507,
|
||||
"distinct_bodies": 2480,
|
||||
"multi_copy_classes": 482
|
||||
"copies_in_multi": 14336,
|
||||
"distinct_bodies": 2211,
|
||||
"multi_copy_classes": 429
|
||||
},
|
||||
"verbatim_excluded": {
|
||||
"functions": 13,
|
||||
@@ -493,9 +485,9 @@
|
||||
},
|
||||
"volatile": {
|
||||
"kinds": {
|
||||
"cast": 1612,
|
||||
"decl-body": 93,
|
||||
"decl-file": 343,
|
||||
"cast": 1552,
|
||||
"decl-body": 80,
|
||||
"decl-file": 158,
|
||||
"param": 2
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,29 +1,29 @@
|
||||
lever_census: 218 binaries · 4,121 TUs + 3,181 headers · coverage OK · unclassified 0 · verbatim excluded 13 fn / 14 sites (manifest 13)
|
||||
coverage asm raw 63581 = live 49600 + macro-block 7189 + comment/dead 6792
|
||||
coverage register raw 31729 = live 23127 + macro-block 18 + comment/dead 8584
|
||||
coverage volatile raw 12904 = live 3787 + macro-block 6510 + comment/dead 2607
|
||||
coverage asm raw 61621 = live 47640 + macro-block 7189 + comment/dead 6792
|
||||
coverage register raw 30003 = live 21401 + macro-block 18 + comment/dead 8584
|
||||
coverage volatile raw 12626 = live 3509 + macro-block 6510 + comment/dead 2607
|
||||
coverage builtin raw 599 = live 445 + macro-block 0 + comment/dead 154
|
||||
coverage attribute raw 76 = live 76 + macro-block 0 + comment/dead 0
|
||||
class sites in-bodies file-scope bodies distinct TUs marked unmarked kinds
|
||||
A pins 23044 23044 0 10893 1779 2675 18137 4907 {'pin': 23044}
|
||||
B asm 22948 22935 13 9931 1192 2324 11676 11272 {'barrier': 4759, 'launder': 4836, 'keepalive': 2046, 'gte': 6891, 'instruction': 1721, 'asm-body': 13, 'verbatim-body': 2682}
|
||||
C volatile 2050 1707 343 671 139 701 2 2048 {'cast': 1612, 'decl-body': 93, 'decl-file': 343, 'param': 2}
|
||||
D register 83 83 0 67 67 17 0 83 {'register': 83}
|
||||
A pins 21343 21343 0 10488 1515 2663 19964 1379 {'pin': 21343}
|
||||
B asm 22689 22676 13 9802 1116 2317 12682 10007 {'gte': 6891, 'barrier': 4624, 'launder': 4741, 'instruction': 1716, 'keepalive': 2022, 'asm-body': 13, 'verbatim-body': 2682}
|
||||
C volatile 1792 1634 158 652 120 635 9 1783 {'decl-body': 80, 'decl-file': 158, 'cast': 1552, 'param': 2}
|
||||
D register 58 58 0 53 53 9 0 58 {'register': 58}
|
||||
E asm-label 7428 1005 6423 737 117 2080 0 7428 {'asm-label': 7428}
|
||||
F builtin 445 445 0 428 29 302 0 445 {'builtin': 445}
|
||||
G attribute 76 1 75 1 1 40 0 76 {'attribute': 76}
|
||||
UNION A–D: 16,505 bodies · 2,480 distinct (addresses normalized) · 482 multi-copy classes holding 14,507 bodies · by kind {'ov': 15679, 'main': 204, 'shared': 393, 'md': 213, 'resident': 16}
|
||||
THE PHASE'S NUMBER (pins + asm statements, GTE excluded): 36,419 sites in 13,044 bodies (2,173 distinct) · marked !FAKE 29,642 · UNMARKED 6,777
|
||||
UNION A–D: 16,118 bodies · 2,211 distinct (addresses normalized) · 429 multi-copy classes holding 14,336 bodies · by kind {'ov': 15333, 'shared': 393, 'md': 196, 'resident': 16, 'main': 180}
|
||||
THE PHASE'S NUMBER (pins + asm statements, GTE excluded): 34,459 sites in 12,656 bodies (1,909 distinct) · marked !FAKE 32,473 · UNMARKED 1,986
|
||||
orphan !FAKE markers (no pin/asm site on the line nor below): 0
|
||||
pins: 23,044 · $0 1,335 · $sp 13 · with initializer 3,115 · volatile-qualified 135 · bare-name 52 · spellings {'__asm__': 22896, 'asm': 148}
|
||||
pins: 21,343 · $0 1,324 · $sp 13 · with initializer 2,869 · volatile-qualified 134 · bare-name 32 · spellings {'__asm__': 21234, 'asm': 109}
|
||||
whole-body asm routines in C shells, manifest PERMANENT (hand asm, NOT levers): 22 routines · 2,682 sites (2,660 private copies + 22 shared headers); asm-bodies NOT permanent (levers): 13 site(s) ['func_8001E378:DECOMPILE-NOW', 'func_80020F34:DECOMPILE-NOW', 'func_800249F0:DECOMPILE-NOW', 'func_80025CBC:DECOMPILE-NOW', 'func_80026514:UNCERTAIN', 'func_800268D0:UNCERTAIN', 'func_80027058:DECOMPILE-NOW', 'func_80027200:DECOMPILE-NOW', 'func_800CBA44:DECOMPILE-NOW', 'func_8017D810:DECOMPILE-NOW', 'func_8017E26C:UNCERTAIN', 'func_80184440:DECOMPILE-NOW', 'func_801A3BCC:DECOMPILE-NOW']
|
||||
asm kinds: {'asm-body/direct': 13, 'barrier/direct': 4757, 'barrier/via-macro': 2, 'gte/direct': 1140, 'gte/via-macro': 5751, 'instruction/direct': 1699, 'instruction/via-macro': 22, 'keepalive/direct': 2046, 'launder/direct': 4396, 'launder/via-macro': 440, 'verbatim-body/direct': 2682}
|
||||
instruction mnemonics: {'addu': 968, 'move': 407, 'la': 144, 'lh': 134, 'addiu': 24, 'RTP_SND': 22, '.section': 7, 'lui': 5, 'and': 2, 'andi': 1, 'mult': 1, 'mfhi': 1, 'sll': 1, 'li': 1, 'lw': 1, 'nop': 1, 'srl': 1}
|
||||
gte mnemonics: {'gte_ldv0': 653, 'swc2': 449, 'lwc2': 435, 'gte_stsxy': 361, 'gte_rtps': 356, 'gte_stflg': 319, 'gte_rtpt': 289, 'gte_stsxy3': 191, 'gte_ldrgb': 162, 'gte_ldv3c': 159, 'gte_rt': 155, 'gte_SetRotMatrix': 150, 'gte_SetTransMatrix': 145, 'gte_stsv': 145, 'gte_stlvnl': 143, 'gte_ldv3': 140, 'gte_ldIR0z': 133, 'gte_ldIRGB': 133, 'gte_dpcl': 133, 'gte_stORGB': 133, 'gte_mvmva0': 131, 'gte_stsz4': 126, 'gte_stsz3': 123, 'gte_stszotz': 113, 'gte_nclip': 96, 'gte_stopz': 96, 'gte_stsxy3c': 94, 'lw': 80, 'lhu': 70, 'gte_stsxy3_f3': 61}
|
||||
asm-bearing macro definitions: 9,540 (338 names, 32 with >1 text) kinds {'gte': 9102, 'launder': 428, 'instruction': 9, 'barrier': 1}
|
||||
asm kinds: {'asm-body/direct': 13, 'barrier/direct': 4622, 'barrier/via-macro': 2, 'gte/direct': 1140, 'gte/via-macro': 5751, 'instruction/direct': 1694, 'instruction/via-macro': 22, 'keepalive/direct': 2022, 'launder/direct': 4301, 'launder/via-macro': 440, 'verbatim-body/direct': 2682}
|
||||
instruction mnemonics: {'addu': 968, 'move': 406, 'la': 144, 'lh': 134, 'addiu': 22, 'RTP_SND': 22, '.section': 7, 'lui': 4, 'and': 2, 'mult': 1, 'mfhi': 1, 'sll': 1, 'lw': 1, 'nop': 1, 'srl': 1, 'li': 1}
|
||||
gte mnemonics: {'gte_ldv0': 653, 'swc2': 449, 'lwc2': 435, 'gte_stsxy': 361, 'gte_rtps': 356, 'gte_stflg': 319, 'gte_rtpt': 289, 'gte_stsxy3': 191, 'gte_ldrgb': 162, 'gte_ldv3c': 159, 'gte_rt': 155, 'gte_SetRotMatrix': 150, 'gte_SetTransMatrix': 145, 'gte_stsv': 145, 'gte_stlvnl': 143, 'gte_ldv3': 140, 'gte_ldIR0z': 133, 'gte_ldIRGB': 133, 'gte_dpcl': 133, 'gte_stORGB': 133, 'gte_mvmva0': 131, 'gte_stsz4': 126, 'gte_stsz3': 123, 'gte_stszotz': 113, 'gte_nclip': 96, 'gte_stopz': 96, 'gte_stsxy3c': 94, 'lw': 80, 'lhu': 70, 'mfc2': 61}
|
||||
asm-bearing macro definitions: 9,540 (338 names, 32 with >1 text) kinds {'gte': 9102, 'instruction': 9, 'launder': 428, 'barrier': 1}
|
||||
controls (R39):
|
||||
src/800.c func_800226C0 pins got 45 expected 45 OK
|
||||
src/800.c func_800226C0 pins got 14 expected 45 N-A
|
||||
src/shared/ov/func_80178004.h pins got 26 expected 26 OK
|
||||
ov_SC03_006 func_80184034 bare-name pins got 0 expected 3 N-A
|
||||
engine_prelude.h asm sites (a macro definition only) got 0 expected 0 OK
|
||||
elapsed 35.7 s
|
||||
elapsed 35.5 s
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,5 @@
|
||||
delever_oracle --calibrate main ov_SC03_014 ov_SC03_015 ov_SC04_011: 177/177 objects byte-identical untouched; twin checks 32 (0 mismatch); positive control DIFFERS on build/src/800.o; 3.5 s — OK
|
||||
main 85/85 identical, mean 0.119 s per object
|
||||
ov_SC03_014 32/32 identical, mean 0.206 s per object
|
||||
ov_SC03_015 32/32 identical, mean 0.209 s per object
|
||||
ov_SC04_011 28/28 identical, mean 0.205 s per object
|
||||
+185
-185
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"head": "fa008b862",
|
||||
"head": "d9e01a398",
|
||||
"stamp": "b44c5a8a3423",
|
||||
"generated": "2026-09-09 04:04",
|
||||
"generated": "2026-09-09 04:07",
|
||||
"aliases": [
|
||||
"main",
|
||||
"ov_SC03_014",
|
||||
@@ -21,207 +21,207 @@
|
||||
"main": {
|
||||
"objects": 85,
|
||||
"identical": 85,
|
||||
"seconds": 9.496000000000002,
|
||||
"mean_s": 0.112
|
||||
"seconds": 10.125000000000002,
|
||||
"mean_s": 0.119
|
||||
},
|
||||
"ov_SC03_014": {
|
||||
"objects": 32,
|
||||
"identical": 32,
|
||||
"seconds": 6.153,
|
||||
"mean_s": 0.192
|
||||
"seconds": 6.588,
|
||||
"mean_s": 0.206
|
||||
},
|
||||
"ov_SC03_015": {
|
||||
"objects": 32,
|
||||
"identical": 32,
|
||||
"seconds": 6.118000000000001,
|
||||
"mean_s": 0.191
|
||||
"seconds": 6.682000000000001,
|
||||
"mean_s": 0.209
|
||||
},
|
||||
"ov_SC04_011": {
|
||||
"objects": 28,
|
||||
"identical": 28,
|
||||
"seconds": 5.250000000000001,
|
||||
"mean_s": 0.188
|
||||
"seconds": 5.734999999999999,
|
||||
"mean_s": 0.205
|
||||
}
|
||||
},
|
||||
"per_object_seconds": {
|
||||
"build/src/800.o": 0.863,
|
||||
"build/src/800_b.o": 0.144,
|
||||
"build/src/800_b_2.o": 0.365,
|
||||
"build/src/800_b_o0a.o": 0.095,
|
||||
"build/src/800_c.o": 0.288,
|
||||
"build/src/800b2.o": 0.103,
|
||||
"build/src/apicard1.o": 0.096,
|
||||
"build/src/apicard2.o": 0.142,
|
||||
"build/src/apicard3.o": 0.083,
|
||||
"build/src/apicard4.o": 0.077,
|
||||
"build/src/800.o": 0.826,
|
||||
"build/src/800_b.o": 0.127,
|
||||
"build/src/800_b_2.o": 0.329,
|
||||
"build/src/800_b_o0a.o": 0.131,
|
||||
"build/src/800_c.o": 0.407,
|
||||
"build/src/800b2.o": 0.163,
|
||||
"build/src/apicard1.o": 0.091,
|
||||
"build/src/apicard2.o": 0.107,
|
||||
"build/src/apicard3.o": 0.12,
|
||||
"build/src/apicard4.o": 0.142,
|
||||
"build/src/apicard5.o": 0.116,
|
||||
"build/src/apicard6.o": 0.134,
|
||||
"build/src/apicard7.o": 0.137,
|
||||
"build/src/boot.o": 0.167,
|
||||
"build/src/gap.o": 0.075,
|
||||
"build/src/libapi1.o": 0.09,
|
||||
"build/src/libapi2.o": 0.077,
|
||||
"build/src/libc2_1.o": 0.156,
|
||||
"build/src/libc2_2.o": 0.099,
|
||||
"build/src/libcd1.o": 0.118,
|
||||
"build/src/libcd2.o": 0.07,
|
||||
"build/src/libetc.o": 0.073,
|
||||
"build/src/libgpu.o": 0.089,
|
||||
"build/src/libgpu2.o": 0.079,
|
||||
"build/src/libgs1.o": 0.081,
|
||||
"build/src/libgs2.o": 0.086,
|
||||
"build/src/libgs3.o": 0.072,
|
||||
"build/src/libgs4.o": 0.139,
|
||||
"build/src/libgs5.o": 0.07,
|
||||
"build/src/libgs6.o": 0.113,
|
||||
"build/src/libgs7.o": 0.114,
|
||||
"build/src/libgs8.o": 0.081,
|
||||
"build/src/libgte1.o": 0.074,
|
||||
"build/src/libgte10.o": 0.068,
|
||||
"build/src/libgte11.o": 0.138,
|
||||
"build/src/libgte12.o": 0.104,
|
||||
"build/src/libgte13.o": 0.08,
|
||||
"build/src/libgte14.o": 0.073,
|
||||
"build/src/libgte15.o": 0.131,
|
||||
"build/src/libgte16.o": 0.153,
|
||||
"build/src/libgte17.o": 0.07,
|
||||
"build/src/libgte18.o": 0.073,
|
||||
"build/src/libgte19.o": 0.085,
|
||||
"build/src/libgte2.o": 0.121,
|
||||
"build/src/libgte20.o": 0.103,
|
||||
"build/src/libgte21.o": 0.077,
|
||||
"build/src/libgte22.o": 0.105,
|
||||
"build/src/libgte23.o": 0.107,
|
||||
"build/src/libgte24.o": 0.111,
|
||||
"build/src/libgte25.o": 0.066,
|
||||
"build/src/libgte26.o": 0.083,
|
||||
"build/src/libgte27.o": 0.071,
|
||||
"build/src/libgte28.o": 0.109,
|
||||
"build/src/libgte29.o": 0.074,
|
||||
"build/src/libgte3.o": 0.091,
|
||||
"build/src/libgte30.o": 0.074,
|
||||
"build/src/libgte4.o": 0.161,
|
||||
"build/src/libgte5.o": 0.07,
|
||||
"build/src/libgte6.o": 0.082,
|
||||
"build/src/apicard6.o": 0.138,
|
||||
"build/src/apicard7.o": 0.1,
|
||||
"build/src/boot.o": 0.12,
|
||||
"build/src/gap.o": 0.113,
|
||||
"build/src/libapi1.o": 0.091,
|
||||
"build/src/libapi2.o": 0.178,
|
||||
"build/src/libc2_1.o": 0.073,
|
||||
"build/src/libc2_2.o": 0.076,
|
||||
"build/src/libcd1.o": 0.268,
|
||||
"build/src/libcd2.o": 0.072,
|
||||
"build/src/libetc.o": 0.069,
|
||||
"build/src/libgpu.o": 0.099,
|
||||
"build/src/libgpu2.o": 0.106,
|
||||
"build/src/libgs1.o": 0.21,
|
||||
"build/src/libgs2.o": 0.074,
|
||||
"build/src/libgs3.o": 0.085,
|
||||
"build/src/libgs4.o": 0.07,
|
||||
"build/src/libgs5.o": 0.129,
|
||||
"build/src/libgs6.o": 0.088,
|
||||
"build/src/libgs7.o": 0.075,
|
||||
"build/src/libgs8.o": 0.073,
|
||||
"build/src/libgte1.o": 0.07,
|
||||
"build/src/libgte10.o": 0.073,
|
||||
"build/src/libgte11.o": 0.068,
|
||||
"build/src/libgte12.o": 0.109,
|
||||
"build/src/libgte13.o": 0.1,
|
||||
"build/src/libgte14.o": 0.159,
|
||||
"build/src/libgte15.o": 0.079,
|
||||
"build/src/libgte16.o": 0.078,
|
||||
"build/src/libgte17.o": 0.12,
|
||||
"build/src/libgte18.o": 0.159,
|
||||
"build/src/libgte19.o": 0.096,
|
||||
"build/src/libgte2.o": 0.107,
|
||||
"build/src/libgte20.o": 0.145,
|
||||
"build/src/libgte21.o": 0.124,
|
||||
"build/src/libgte22.o": 0.126,
|
||||
"build/src/libgte23.o": 0.171,
|
||||
"build/src/libgte24.o": 0.126,
|
||||
"build/src/libgte25.o": 0.078,
|
||||
"build/src/libgte26.o": 0.091,
|
||||
"build/src/libgte27.o": 0.126,
|
||||
"build/src/libgte28.o": 0.069,
|
||||
"build/src/libgte29.o": 0.154,
|
||||
"build/src/libgte3.o": 0.077,
|
||||
"build/src/libgte30.o": 0.067,
|
||||
"build/src/libgte4.o": 0.079,
|
||||
"build/src/libgte5.o": 0.098,
|
||||
"build/src/libgte6.o": 0.069,
|
||||
"build/src/libgte7.o": 0.099,
|
||||
"build/src/libgte8.o": 0.102,
|
||||
"build/src/libgte9.o": 0.094,
|
||||
"build/src/libmcrd1.o": 0.117,
|
||||
"build/src/libmcrd2.o": 0.065,
|
||||
"build/src/libpad1.o": 0.082,
|
||||
"build/src/libpad2.o": 0.091,
|
||||
"build/src/sgap.o": 0.069,
|
||||
"build/src/sgap_2.o": 0.183,
|
||||
"build/src/sgap_3.o": 0.096,
|
||||
"build/src/sgap_4.o": 0.085,
|
||||
"build/src/sgap_5.o": 0.07,
|
||||
"build/src/sgap_6.o": 0.079,
|
||||
"build/src/sgap_8.o": 0.074,
|
||||
"build/src/snd1.o": 0.087,
|
||||
"build/src/snd10.o": 0.07,
|
||||
"build/src/snd11.o": 0.165,
|
||||
"build/src/snd12.o": 0.092,
|
||||
"build/src/snd2.o": 0.074,
|
||||
"build/src/snd3.o": 0.07,
|
||||
"build/src/snd4.o": 0.07,
|
||||
"build/src/snd5.o": 0.083,
|
||||
"build/src/snd6.o": 0.08,
|
||||
"build/src/snd7.o": 0.141,
|
||||
"build/src/snd8.o": 0.122,
|
||||
"build/src/snd9.o": 0.09,
|
||||
"build/src/ov_SC03_014/ov_SC03_014.o": 0.232,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_after.o": 0.659,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.o": 0.476,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80135888.o": 0.065,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80135A4C.o": 0.069,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80135D20.o": 0.143,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_801380E0.o": 0.184,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8013C98C.o": 0.18,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8013F350.o": 0.161,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8013FFD8.o": 0.116,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80140608.o": 0.201,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8015444C.o": 0.106,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80154C24.o": 0.246,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_801588CC.o": 0.107,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80159C84.o": 0.09,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8015A3C8.o": 0.139,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8015AE2C.o": 0.125,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8015C32C.o": 0.646,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8016AB6C.o": 0.447,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80171B4C.o": 0.116,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_801734BC.o": 0.228,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_801789AC.o": 0.072,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80178D40.o": 0.151,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8017A4AC.o": 0.083,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.o": 0.18,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.o": 0.22,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80184440.o": 0.102,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_801848E4.o": 0.321,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_o0b.o": 0.067,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_o0c.o": 0.063,
|
||||
"build/src/libgte8.o": 0.09,
|
||||
"build/src/libgte9.o": 0.127,
|
||||
"build/src/libmcrd1.o": 0.1,
|
||||
"build/src/libmcrd2.o": 0.12,
|
||||
"build/src/libpad1.o": 0.077,
|
||||
"build/src/libpad2.o": 0.068,
|
||||
"build/src/sgap.o": 0.074,
|
||||
"build/src/sgap_2.o": 0.064,
|
||||
"build/src/sgap_3.o": 0.069,
|
||||
"build/src/sgap_4.o": 0.134,
|
||||
"build/src/sgap_5.o": 0.067,
|
||||
"build/src/sgap_6.o": 0.088,
|
||||
"build/src/sgap_8.o": 0.083,
|
||||
"build/src/snd1.o": 0.076,
|
||||
"build/src/snd10.o": 0.189,
|
||||
"build/src/snd11.o": 0.093,
|
||||
"build/src/snd12.o": 0.068,
|
||||
"build/src/snd2.o": 0.179,
|
||||
"build/src/snd3.o": 0.134,
|
||||
"build/src/snd4.o": 0.066,
|
||||
"build/src/snd5.o": 0.072,
|
||||
"build/src/snd6.o": 0.071,
|
||||
"build/src/snd7.o": 0.087,
|
||||
"build/src/snd8.o": 0.08,
|
||||
"build/src/snd9.o": 0.066,
|
||||
"build/src/ov_SC03_014/ov_SC03_014.o": 0.137,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_after.o": 0.588,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.o": 0.445,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80135888.o": 0.104,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80135A4C.o": 0.06,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80135D20.o": 0.164,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_801380E0.o": 0.199,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8013C98C.o": 0.202,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8013F350.o": 0.088,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8013FFD8.o": 0.09,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80140608.o": 0.243,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8015444C.o": 0.117,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80154C24.o": 0.199,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_801588CC.o": 0.12,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80159C84.o": 0.17,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8015A3C8.o": 0.087,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8015AE2C.o": 0.145,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8015C32C.o": 0.877,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8016AB6C.o": 0.341,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80171B4C.o": 0.118,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_801734BC.o": 0.215,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_801789AC.o": 0.068,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80178D40.o": 0.113,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8017A4AC.o": 0.147,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.o": 0.244,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.o": 0.327,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_80184440.o": 0.14,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_jr_801848E4.o": 0.428,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_o0b.o": 0.118,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_o0c.o": 0.079,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_o0d.o": 0.072,
|
||||
"build/src/ov_SC03_014/ov_SC03_014_o0e.o": 0.086,
|
||||
"build/src/ov_SC03_015/ov_SC03_015.o": 0.156,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_after.o": 0.646,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.43,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.056,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.106,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.147,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.178,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.128,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.09,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.106,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.232,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.15,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.271,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.208,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.105,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.092,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.123,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.541,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.343,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.146,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.296,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.079,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.113,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.075,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.258,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.214,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.066,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.314,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.12,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.113,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.076,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.14,
|
||||
"build/src/ov_SC04_011/ov_SC04_011.o": 0.163,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_after.o": 0.59,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.444,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.059,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.063,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.126,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.178,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.156,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.111,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.111,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.201,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.14,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.231,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.104,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.074,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.089,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.101,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.463,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.269,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.113,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.195,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.121,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.136,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.11,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.12,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.596,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.109,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.077
|
||||
"build/src/ov_SC03_014/ov_SC03_014_o0e.o": 0.143,
|
||||
"build/src/ov_SC03_015/ov_SC03_015.o": 0.159,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_after.o": 0.635,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.522,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.093,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.121,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.186,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.221,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.165,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.189,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.136,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.284,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.125,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.254,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.138,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.241,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.081,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.1,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.543,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.356,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.158,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.266,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.091,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.23,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.098,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.206,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.243,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.076,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.325,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.131,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.078,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.135,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.096,
|
||||
"build/src/ov_SC04_011/ov_SC04_011.o": 0.21,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_after.o": 0.529,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.603,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.068,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.175,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.155,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.17,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.189,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.18,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.094,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.259,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.084,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.182,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.167,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.077,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.084,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.137,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.435,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.314,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.145,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.224,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.063,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.176,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.1,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.131,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.648,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.067,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.069
|
||||
},
|
||||
"ok": true,
|
||||
"seconds": 3.1
|
||||
"seconds": 3.5
|
||||
}
|
||||
|
||||
@@ -1 +1,3 @@
|
||||
log: tus8 THE PHASE'S NUMBER (pins + asm statements, GTE excluded): 36,419 sites in 13,044 bodies (2,173 distinct) · marked !FAKE 29,642 · UNMARKED 6,777
|
||||
cycle: batch tus8 committed d9e01a398 — delever: batch tus8 — 300 files (TUs; 683 drawable) · 602 bodies: 208 lever-free, 394 residue, 0 refused · sites removed 432 / needed 601 / refused 1 / deferred 0 · replays 206 (0 disagreed) · compiles 1458 in 48 s wall · final 300/300 identical · written 300 files | check-all: 218 passed, 0 failed of 218
|
||||
log: tus9 THE PHASE'S NUMBER (pins + asm statements, GTE excluded): 34,459 sites in 12,656 bodies (1,909 distinct) · marked !FAKE 32,473 · UNMARKED 1,986
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
@@ -375,7 +375,9 @@ accumulate here as the phase produces them.**
|
||||
|
||||
- **2026-09-09 — T4 batch `tus8`** (`.run/P36/delever/run_tus8.log`, `batch_tus8.json`): `delever: batch tus8 — 300 files (TUs; 683 drawable) · 602 bodies: 208 lever-free, 394 residue, 0 refused · sites removed 432 / needed 601 / refused 1 / deferred 0 · replays 206 (0 disagreed) · compiles 1458 in 48 s wall · final 300/300 identical · written 300 files` → R22 (`.run/P36/baseline/r22_tus8.log`) **`check-all: 218 passed, 0 failed of 218`** (`wall=112.84 s`) → census `THE PHASE'S NUMBER (pins + asm statements, GTE excluded): 36,419 sites in 13,044 bodies (2,173 distinct) · marked !FAKE 29,642 · UNMARKED 6,777`.
|
||||
|
||||
## 🛑 SESSION CHECKPOINT — S98 (2026-09-09): T0 ☑ T1 ☑ T1b ☑ T2 ☑ T3 ☑ — all committed (T3 = `39e3e1851` tools, `cd24727dd` + `7ee458dd7` the ov_SC04_011 batches, this close); NEXT = T4 the mechanical campaign: `tools/delever_cycle.sh` over the whole population (TUs then headers), unattended, one commit per batch, R22 every batch | the number: 53,033 sites in 15,638 bodies (2,246 distinct), 310 marked, 0 orphans | last batch `tus8` on fa008b862: THE PHASE'S NUMBER (pins + asm statements, GTE excluded): 36,419 sites in 13,044 bodies (2,173 distinct) · marked !FAKE 29,642 · UNMARKED 6,777
|
||||
- **2026-09-09 — T4 batch `tus9`** (`.run/P36/delever/run_tus9.log`, `batch_tus9.json`): `delever: batch tus9 — 300 files (TUs; 383 drawable) · 1901 bodies: 454 lever-free, 1430 residue, 8 refused · sites removed 2244 / needed 2937 / refused 42 / deferred 9 · replays 522 (0 disagreed) · compiles 5262 in 294 s wall · final 300/300 identical · written 297 files` → R22 (`.run/P36/baseline/r22_tus9.log`) **`check-all: 218 passed, 0 failed of 218`** (`wall=113.94 s`) → census `THE PHASE'S NUMBER (pins + asm statements, GTE excluded): 34,459 sites in 12,656 bodies (1,909 distinct) · marked !FAKE 32,473 · UNMARKED 1,986`.
|
||||
|
||||
## 🛑 SESSION CHECKPOINT — S98 (2026-09-09): T0 ☑ T1 ☑ T1b ☑ T2 ☑ T3 ☑ — all committed (T3 = `39e3e1851` tools, `cd24727dd` + `7ee458dd7` the ov_SC04_011 batches, this close); NEXT = T4 the mechanical campaign: `tools/delever_cycle.sh` over the whole population (TUs then headers), unattended, one commit per batch, R22 every batch | the number: 53,033 sites in 15,638 bodies (2,246 distinct), 310 marked, 0 orphans | last batch `tus9` on d9e01a398: THE PHASE'S NUMBER (pins + asm statements, GTE excluded): 34,459 sites in 12,656 bodies (1,909 distinct) · marked !FAKE 32,473 · UNMARKED 1,986
|
||||
|
||||
### 0. How to use this block
|
||||
A fresh session reads CLAUDE.md's load order, replays this block verbatim, confirms the effort (T4/T5/T6/T8/T9 are xHigh per the plan, Max is
|
||||
|
||||
+9
-9
@@ -289,7 +289,7 @@ s32 func_8002B0B4(s32 sel, s32 idx, u8 *out) {
|
||||
u8 *m;
|
||||
u8 *p;
|
||||
m = (u8 *)&D_80075A40;
|
||||
__asm__ __volatile__("" : "=r"(m) : "0"(m));
|
||||
__asm__ __volatile__("" : "=r"(m) : "0"(m)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
func_80016714(m, 0x80);
|
||||
p = (u8 *)&D_80075A40 + ((idx + 1) << 7);
|
||||
D_80075A40 = D_80076040;
|
||||
@@ -304,14 +304,14 @@ s32 func_8002B0B4(s32 sel, s32 idx, u8 *out) {
|
||||
u8 *p;
|
||||
s32 cp;
|
||||
m = D_80075FC0;
|
||||
__asm__ __volatile__("" : "=r"(m) : "0"(m));
|
||||
__asm__ __volatile__("" : "=r"(m) : "0"(m)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
func_80016714(m, 0x80);
|
||||
D_80075FC0[0] = 0xFF;
|
||||
p = &D_80075FC0[0x10];
|
||||
*(Blk152 *)p = *(Blk152 *)&D_80075CC0[0x24];
|
||||
D_800760BC = func_8002B064(p);
|
||||
cp = (s32)D_80075CC0;
|
||||
__asm__ __volatile__("" : "=r"(cp) : "0"(cp));
|
||||
__asm__ __volatile__("" : "=r"(cp) : "0"(cp)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
D_800760C0 = func_8002B08C(cp);
|
||||
*(u16 *)&D_80075FC0[4] = D_800760C0;
|
||||
*(u16 *)&D_80075FC0[2] = D_800760BC;
|
||||
@@ -350,12 +350,12 @@ s32 func_8002B0B4(s32 sel, s32 idx, u8 *out) {
|
||||
}
|
||||
case 21:
|
||||
func_80060614(&D_80075A40, 0x200, 0x80);
|
||||
__asm__ __volatile__(""); /* §5a zero-byte cross-jump barrier */
|
||||
__asm__ __volatile__(""); /* §5a zero-byte cross-jump barrier */ // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
D_800760AC++;
|
||||
break;
|
||||
case 23:
|
||||
func_80060614(D_80075FC0, (idx + 5) << 7, 0x80);
|
||||
__asm__ __volatile__("" ::: "memory"); /* §5a barrier, distinct from case 21's */
|
||||
__asm__ __volatile__("" ::: "memory"); /* §5a barrier, distinct from case 21's */ // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9)
|
||||
D_800760AC++;
|
||||
break;
|
||||
case 25:
|
||||
@@ -676,11 +676,11 @@ s32 func_8002B0B4(s32 sel, s32 idx, u8 *out) {
|
||||
extern u8 D_80075AC0[];
|
||||
|
||||
u32 func_8002C320(void) {
|
||||
register u32 result __asm__("$8") = 0;
|
||||
u32 result = 0;
|
||||
int count = 0;
|
||||
register u32 bit1 __asm__("$14") = 1;
|
||||
register u32 bit2 __asm__("$13") = 2;
|
||||
register u32 shift __asm__("$7") = 0;
|
||||
u32 bit1 = 1;
|
||||
u32 bit2 = 2;
|
||||
u32 shift = 0;
|
||||
u8 *base = D_80075AC0;
|
||||
u8 *ptr_data = base + 0x10;
|
||||
u8 *ptr_check = base + 0x2;
|
||||
|
||||
+90
-95
@@ -95,8 +95,8 @@ extern s16 D_800C5328[];
|
||||
extern s16 D_800C532A[];
|
||||
|
||||
void func_8002C8BC(void) {
|
||||
register s32 a0 __asm__("$4");
|
||||
register s32 v1 __asm__("$3");
|
||||
s32 a0;
|
||||
s32 v1;
|
||||
|
||||
a0 = -1;
|
||||
v1 = 0;
|
||||
@@ -327,9 +327,9 @@ void func_8002CC4C(void) {
|
||||
B12 **pp;
|
||||
s32 *cnt;
|
||||
s32 off;
|
||||
register B12 *p __asm__("$3");
|
||||
register s32 i __asm__("$4");
|
||||
register s32 *cp __asm__("$5");
|
||||
B12 *p;
|
||||
s32 i;
|
||||
register s32 *cp __asm__("$5"); // !FAKE: pin $5 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 pad;
|
||||
|
||||
(void)&pad;
|
||||
@@ -557,7 +557,7 @@ void func_8002D034(void) {
|
||||
}
|
||||
|
||||
{
|
||||
register u8 *flagPtr __asm__("$8");
|
||||
u8 *flagPtr;
|
||||
flagPtr = &D_800A4E7A;
|
||||
if (*flagPtr != 0) {
|
||||
if (D_800A4E76 > (s16)D_800A4E74) {
|
||||
@@ -664,9 +664,9 @@ void func_8002D320(void)
|
||||
extern void func_8003BE74(s32, s32);
|
||||
extern void func_8003B250(s32, void *);
|
||||
|
||||
register u8 *p __asm__("$16");
|
||||
register u32 mask __asm__("$17");
|
||||
register s32 i __asm__("$18");
|
||||
register u8 *p __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
u32 mask;
|
||||
register s32 i __asm__("$18"); // !FAKE: pin $18 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
i = 0;
|
||||
mask = 0x60000;
|
||||
@@ -1681,7 +1681,7 @@ void func_8002E818(s32 a0)
|
||||
extern u16 D_800A4EE4;
|
||||
extern u16 D_8006A9D4[];
|
||||
extern void func_8002EA10(void);
|
||||
register u8 *a1 __asm__("$5");
|
||||
u8 *a1;
|
||||
u8 fl;
|
||||
u8 nw;
|
||||
u16 v;
|
||||
@@ -1714,7 +1714,7 @@ void func_8002E8DC(s32 a0)
|
||||
extern u16 D_800A4EE2;
|
||||
extern u16 D_800A4EE4;
|
||||
extern u16 D_8006A9E0[];
|
||||
register u8 *p __asm__("$6");
|
||||
u8 *p;
|
||||
u8 fl;
|
||||
u8 nw;
|
||||
u16 v;
|
||||
@@ -1745,7 +1745,7 @@ void func_8002E94C(s32 a0)
|
||||
extern u16 D_800A4EE2;
|
||||
extern u16 D_8006A9EC[];
|
||||
extern void func_8002EAB0(void);
|
||||
register u8 *a1 __asm__("$5");
|
||||
u8 *a1;
|
||||
u8 fl;
|
||||
u8 clr;
|
||||
u16 v;
|
||||
@@ -1780,7 +1780,7 @@ extern void func_8002EC10(void);
|
||||
extern void func_800383A4(s16 a0);
|
||||
|
||||
void func_8002EA10(void) {
|
||||
register u16 *s0 __asm__("$16");
|
||||
u16 *s0;
|
||||
u16 v0;
|
||||
s32 ret;
|
||||
|
||||
@@ -1805,7 +1805,7 @@ extern s16 D_800A4E86;
|
||||
extern void func_80038308(s16 a0);
|
||||
|
||||
void func_8002EAB0(void) {
|
||||
register u16 *s0 __asm__("$16");
|
||||
u16 *s0;
|
||||
u16 v0;
|
||||
|
||||
s0 = &D_800A4E8E;
|
||||
@@ -2060,9 +2060,9 @@ extern s32 D_800C7D20;
|
||||
|
||||
void func_8002EFF8(s32 a0, s32 a1)
|
||||
{
|
||||
register s32 v0 __asm__("$2");
|
||||
register s32 v1 __asm__("$3");
|
||||
register s32 a0_tmp __asm__("$4");
|
||||
s32 v0;
|
||||
register s32 v1 __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 a0_tmp __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
v0 = 1;
|
||||
|
||||
@@ -2090,9 +2090,9 @@ extern s32 D_800A2BA0;
|
||||
extern s32 D_800C7D2C;
|
||||
|
||||
void func_8002F064(s32 a0, s32 a1) {
|
||||
register s32 v0 __asm__("$2");
|
||||
register s32 v1 __asm__("$3");
|
||||
register s32 out_a0 __asm__("$4");
|
||||
s32 v0;
|
||||
register s32 v1 __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 out_a0 __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
if (a0 == 1) {
|
||||
v0 = ~a1;
|
||||
@@ -2744,9 +2744,9 @@ extern s32 D_800A46C8;
|
||||
int func_8002FC64(int nbytes, u32 *src); /* stage/copy a payload run */
|
||||
int func_8002FC64(int nbytes, u32 *src)
|
||||
{
|
||||
register s32 s2 __asm__("$18") = nbytes;
|
||||
register u32 *s1 __asm__("$17") = src;
|
||||
register s32 *s0;
|
||||
s32 s2 = nbytes;
|
||||
u32 *s1 = src;
|
||||
s32 *s0;
|
||||
s32 result;
|
||||
|
||||
if (D_8006AEF4 & 1) {
|
||||
@@ -2864,14 +2864,12 @@ s32 func_8002FDE8(s32 idx, s32 data) {
|
||||
}
|
||||
D_800A46A0 = idx | 0x4000;
|
||||
one = 1;
|
||||
__asm__ __volatile__("");
|
||||
D_800A46B0 = one;
|
||||
i4 = idx * 4;
|
||||
D_800A469C = *(s32 *)((u8 *)D_800652F0 + i4);
|
||||
r = func_80041A80(data, -1, D_800A469C);
|
||||
D_800A46D2 = r;
|
||||
D_800A46A2 = r;
|
||||
__asm__ __volatile__("");
|
||||
if (r == -1) {
|
||||
D_800A46B0 = one;
|
||||
return 1;
|
||||
@@ -2959,7 +2957,7 @@ s32 func_8002FF0C(s32 a0, s32 a1) {
|
||||
if (v1 != 0 && v1 != D_80064D4A[a0 * 12]) {
|
||||
t = *(s16 *)((u8 *)D_800A4648 + i);
|
||||
*(s16 *)((u8 *)D_800C532A + t * 4) = -1;
|
||||
__asm__ __volatile__("");
|
||||
__asm__ __volatile__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
*(s16 *)((u8 *)D_800A4644 + i) = 0;
|
||||
*(s16 *)((u8 *)D_800A4648 + i) = 0;
|
||||
}
|
||||
@@ -2976,7 +2974,7 @@ s32 func_8002FF0C(s32 a0, s32 a1) {
|
||||
D_800A46D0 = a0;
|
||||
D_800A46BC = a1;
|
||||
*(s32 *)((u8 *)D_800A464C + idx24) = a1;
|
||||
__asm__ __volatile__("");
|
||||
__asm__ __volatile__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
if (D_80064D4E[j12] != 0) {
|
||||
D_800A4EF6 = D_80064D4E[j12];
|
||||
}
|
||||
@@ -2985,7 +2983,7 @@ s32 func_8002FF0C(s32 a0, s32 a1) {
|
||||
base = (u8 *)q - 0x96;
|
||||
w = idx24 + base;
|
||||
*(s16 *)(w + 0xA) = r;
|
||||
__asm__ __volatile__("" ::: "memory");
|
||||
__asm__ __volatile__("" ::: "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9)
|
||||
if (r == -1 || func_800419B0(D_800A46D2) == -1) {
|
||||
D_800A4650[idx24] = 1;
|
||||
return 1;
|
||||
@@ -3076,7 +3074,7 @@ int func_800301C8(int entry, s32 a1, s32 a2) {
|
||||
s32 b;
|
||||
s32 h;
|
||||
s32 k;
|
||||
register s32 k2 __asm__("$17");
|
||||
s32 k2;
|
||||
s32 vab;
|
||||
u8 fl;
|
||||
s32 ret;
|
||||
@@ -3095,13 +3093,13 @@ int func_800301C8(int entry, s32 a1, s32 a2) {
|
||||
if (h != D_80064D4A[entry * 12]) {
|
||||
s32 n = *(s16 *)((u8 *)D_800A4648 + k);
|
||||
D_800C532A[n * 2] = -1;
|
||||
__asm__("");
|
||||
__asm__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
*(s16 *)((u8 *)D_800A4644 + k) = 0;
|
||||
*(s16 *)((u8 *)D_800A4648 + k) = 0;
|
||||
}
|
||||
}
|
||||
{
|
||||
register s32 m3 __asm__("$2");
|
||||
s32 m3;
|
||||
m3 = (b << 1) + b;
|
||||
k2 = m3 << 3;
|
||||
}
|
||||
@@ -3111,16 +3109,16 @@ int func_800301C8(int entry, s32 a1, s32 a2) {
|
||||
func_80031A98();
|
||||
func_800415A8(*(s16 *)((u8 *)D_800A4642 + k2));
|
||||
}
|
||||
__asm__("" : "=r"(p) : "0"(&D_800A46D0));
|
||||
p = &D_800A46D0;
|
||||
e = entry;
|
||||
__asm__("" : "=r"(e) : "0"(e));
|
||||
__asm__("" : "=r"(e) : "0"(e)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
*p = e;
|
||||
*(s16 *)((u8 *)D_800A4640 + k2) = e;
|
||||
D_800A4650[k2] = 1;
|
||||
vab = SsVabOpenHeadSticky(a1, -1, *(s32 *)((u8 *)D_800A463C + k2));
|
||||
bs = (s32)p - 0x98;
|
||||
{
|
||||
register s32 adr __asm__("$16");
|
||||
s32 adr;
|
||||
adr = k2 + bs;
|
||||
D_800A46D2 = vab;
|
||||
*(s16 *)(adr + 0xA) = vab;
|
||||
@@ -3482,8 +3480,8 @@ s32 func_80030CA4(u16 arg0)
|
||||
{
|
||||
u8 *base;
|
||||
u8 *p;
|
||||
register s32 i __asm__("$6");
|
||||
register s32 one __asm__("$7");
|
||||
s32 i;
|
||||
s32 one;
|
||||
s32 besti;
|
||||
u8 *bestp;
|
||||
u16 best;
|
||||
@@ -3752,7 +3750,7 @@ void func_80030F80(void)
|
||||
} else {
|
||||
idx = *(u16 *)(p + 0xA);
|
||||
dsp = sv[idx];
|
||||
__asm__("" : : : "memory");
|
||||
__asm__("" : : : "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9)
|
||||
switch (dsp) {
|
||||
case 3:
|
||||
mask = tbl[*(u16 *)(p + 0xA)];
|
||||
@@ -3932,11 +3930,11 @@ void func_800314DC(Obj *p) {
|
||||
addu (the dying `t & 0xFF00` temp, which lives in $v1), so base lands
|
||||
in $v1; the target keeps it in $v0. A hard-reg dest cannot be tied, so
|
||||
the pin materialises base in $v0 exactly where the target has it. */
|
||||
register s32 base __asm__("$2");
|
||||
register s32 base __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
u32 d;
|
||||
u32 res;
|
||||
/* $2 pin #2 (disjoint lifetime from `base`) -- see the lerp comment. */
|
||||
register u32 q __asm__("$2");
|
||||
register u32 q __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
if (!(p->unk37 & 1)) {
|
||||
return;
|
||||
@@ -4241,10 +4239,10 @@ void func_80031A98(void)
|
||||
extern u8 D_800A49D2[];
|
||||
|
||||
void func_80031B7C() {
|
||||
register s32 a0 asm("$4") = 0;
|
||||
register u8 a2 asm("$6") = 1;
|
||||
register u16 a1 asm("$5") = 0x7FFF;
|
||||
register u8 *v1 asm("$3");
|
||||
s32 a0 = 0;
|
||||
u8 a2 = 1;
|
||||
u16 a1 = 0x7FFF;
|
||||
register u8 *v1 asm("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
v1 = D_800A49D2;
|
||||
|
||||
@@ -4774,7 +4772,7 @@ s32 func_800324A4(u32 arg0, u8 *p, u32 flags, s32 arg3) {
|
||||
* feeds the y spill reads $a0 and not $fp. Without it cse collapses
|
||||
* x into the parameter pseudo, the shift reads the callee-saved home and
|
||||
* the $s7/$fp pair flips (v <-> arg0) -- 9 diffs. Emits no instruction. */
|
||||
register u32 t __asm__("$4");
|
||||
register u32 t __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
u16 y;
|
||||
s32 v;
|
||||
u8 old;
|
||||
@@ -5396,7 +5394,7 @@ void func_80032A74(Slot54 *arg0, s32 arg1, Rec14 *arg2, s32 flags) {
|
||||
u32 qq;
|
||||
s32 tb;
|
||||
u32 d;
|
||||
register s32 base __asm__("$2");
|
||||
register s32 base __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
u16 t16;
|
||||
s32 t8;
|
||||
s32 t32;
|
||||
@@ -5495,7 +5493,7 @@ void func_80032A74(Slot54 *arg0, s32 arg1, Rec14 *arg2, s32 flags) {
|
||||
ch->unk4F = 0;
|
||||
ch->unk4E = 0x85;
|
||||
ch->unk14 = t32;
|
||||
__asm__ __volatile__("");
|
||||
__asm__ __volatile__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
vol = REC->unk06;
|
||||
if (D_800A4F1E != 0) {
|
||||
vol *= 0x70;
|
||||
@@ -5578,7 +5576,7 @@ void func_80032A74(Slot54 *arg0, s32 arg1, Rec14 *arg2, s32 flags) {
|
||||
vo->unk0C = 0;
|
||||
vo->unk0E = 0;
|
||||
vo->unk04 = 0x6009F;
|
||||
__asm__ __volatile__("");
|
||||
__asm__ __volatile__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
if (D_800A4EF6 > REC->unk0A) {
|
||||
func_8002F064(1, vo->unk00);
|
||||
} else {
|
||||
@@ -5658,7 +5656,7 @@ extern u16 D_800A46E8[];
|
||||
|
||||
s32 func_800331D4(s32 arg0) {
|
||||
u16 *p;
|
||||
register s32 i __asm__("$3");
|
||||
register s32 i __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
p = D_800A46E8;
|
||||
i = 0;
|
||||
@@ -5741,12 +5739,12 @@ void func_8003324C(s32 arg0) {
|
||||
|
||||
switch (code) {
|
||||
case 1: {
|
||||
register Ent30D80 *p __asm__("$16");
|
||||
register Ent30D80 *p __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 i;
|
||||
|
||||
i = 0;
|
||||
p = (Ent30D80 *)(base + 0x2A0);
|
||||
__asm__ ("" :: "r"(base));
|
||||
__asm__ ("" :: "r"(base)); // !FAKE: keepalive — NEEDED DIFFERS (P36 rung B tus9)
|
||||
for (; i < 8; i++, p++) {
|
||||
u8 *q = e + i;
|
||||
|
||||
@@ -5810,16 +5808,16 @@ void func_80033398(u32 arg0)
|
||||
* deleting the real parm copy). A plain `s7v = arg0;` makes
|
||||
* cse.c make_regs_eqv head-promote s7v to canonical and canon_reg
|
||||
* rewrites the srl to `srl $s6,$s7,16` (the 1-ins residual). */
|
||||
register s32 zr __asm__("$0");
|
||||
register s32 zr __asm__("$0"); // !FAKE: pin $0 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
u32 s7v;
|
||||
u8 *s5v;
|
||||
s32 s4v;
|
||||
u32 s6v;
|
||||
u8 *fpv;
|
||||
register u8 *s3v __asm__("$19");
|
||||
register u8 *s3v __asm__("$19"); // !FAKE: pin $19 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
u8 *s2v;
|
||||
register s32 s1v __asm__("$17");
|
||||
register u8 *s0v __asm__("$16");
|
||||
s32 s1v;
|
||||
register u8 *s0v __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 t0;
|
||||
|
||||
s7v = arg0 + zr;
|
||||
@@ -5868,8 +5866,8 @@ extern u16 D_800A46E8[];
|
||||
extern void func_80030D80(Ent30D80 *arg0, s16 arg1);
|
||||
|
||||
void func_8003350C(s32 arg0, s32 arg1) {
|
||||
register Ent30D80 *p __asm__("$16");
|
||||
register s32 t __asm__("$19");
|
||||
register Ent30D80 *p __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 t __asm__("$19"); // !FAKE: pin $19 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
u8 *base;
|
||||
u8 *e;
|
||||
s32 off;
|
||||
@@ -5880,9 +5878,8 @@ void func_8003350C(s32 arg0, s32 arg1) {
|
||||
e = base + off;
|
||||
i = 0;
|
||||
t = arg1 << 16;
|
||||
__asm__ ("" :: "r"(t));
|
||||
p = (Ent30D80 *)(base + 0x2A0);
|
||||
__asm__ ("" :: "r"(base));
|
||||
__asm__ ("" :: "r"(base)); // !FAKE: keepalive — NEEDED DIFFERS (P36 rung B tus9)
|
||||
for (; i < 8; i++, p++) {
|
||||
u8 *q = e + i;
|
||||
if (q[0xE] != 0) {
|
||||
@@ -5914,7 +5911,7 @@ void func_800335B8(s32 a0, s32 a1) {
|
||||
/* copy-fence: keeps the `addu $t0,$a1,$zero` param copy alive (cse would
|
||||
otherwise propagate $a1 into branch 2's `andi $a1,$t0,0x7F`). */
|
||||
t0 = a1;
|
||||
__asm__ ("" : "=r"(t0) : "0"(t0));
|
||||
__asm__ ("" : "=r"(t0) : "0"(t0)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
if (a1 & 0x1000) {
|
||||
v1 = 0;
|
||||
@@ -5933,7 +5930,7 @@ void func_800335B8(s32 a0, s32 a1) {
|
||||
beqz delay slot). Walking pointer, NOT p + v1*0x54,
|
||||
so loop strength reduction still owns $a0. */
|
||||
rec = p;
|
||||
__asm__ ("" : "=r"(rec) : "0"(rec));
|
||||
__asm__ ("" : "=r"(rec) : "0"(rec)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
a2--;
|
||||
*(u16 *)(rec + 0x48) = a1;
|
||||
*(u8 *)(rec + 0x4F) = t0;
|
||||
@@ -6083,7 +6080,7 @@ void func_800336A8(Req336A8 *arg)
|
||||
if (D_800A4F19 != 0) {
|
||||
/* zero-byte dbr fence: ASM_INPUT stops reorg's fallthrough trial scan
|
||||
* (stop_search_p), so the beqz above keeps its `nop` delay slot. */
|
||||
__asm__ __volatile__("");
|
||||
__asm__ __volatile__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
v = (m * D_8007319E[n]) >> 14;
|
||||
vo->unk0A = v;
|
||||
q = D_8007319E + 1;
|
||||
@@ -6302,36 +6299,36 @@ void func_8003388C(Ent388C *arg, s32 arg1)
|
||||
B12 *b;
|
||||
u32 *p;
|
||||
s32 op;
|
||||
register s32 c0 __asm__("$2");
|
||||
register s32 c1 __asm__("$3");
|
||||
register s32 c2 __asm__("$2");
|
||||
register s32 c3 __asm__("$4");
|
||||
register s32 c0 __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 c1;
|
||||
register s32 c2 __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 c3 __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 mask;
|
||||
s32 vi;
|
||||
s32 bank;
|
||||
s32 lvl;
|
||||
register s32 res __asm__("$3");
|
||||
register s32 base __asm__("$2");
|
||||
register s32 sum __asm__("$3");
|
||||
s32 res;
|
||||
register s32 base __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 sum __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 t24;
|
||||
s32 tmp9;
|
||||
u32 t, t18, d, amt, res2;
|
||||
register u32 v __asm__("$2");
|
||||
register u32 m __asm__("$3");
|
||||
register u32 q __asm__("$2");
|
||||
register u32 v __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register u32 m __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register u32 q __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
u16 h;
|
||||
u32 b04;
|
||||
u16 h2;
|
||||
s32 n84;
|
||||
u32 n86;
|
||||
register u32 x86 __asm__("$2");
|
||||
register u32 x86 __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
u8 flag;
|
||||
s32 called;
|
||||
s32 lv;
|
||||
register u32 tv __asm__("$2");
|
||||
register u32 pr1 __asm__("$5");
|
||||
register u32 pr2 __asm__("$3");
|
||||
register u32 pr3 __asm__("$3");
|
||||
register u32 tv __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register u32 pr1 __asm__("$5"); // !FAKE: pin $5 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register u32 pr2 __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register u32 pr3 __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
u32 i;
|
||||
|
||||
e = arg;
|
||||
@@ -6587,7 +6584,7 @@ void func_8003388C(Ent388C *arg, s32 arg1)
|
||||
ch->unk10 = bank;
|
||||
ch->unk14 = cmd->unk10;
|
||||
tmp9 = cmd->unk09;
|
||||
__asm__ __volatile__("" : "=r"(tmp9) : "0"(tmp9));
|
||||
__asm__ __volatile__("" : "=r"(tmp9) : "0"(tmp9)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
lvl = tmp9;
|
||||
ch->unk35 = lvl;
|
||||
ch->unk52 = lvl;
|
||||
@@ -6677,7 +6674,7 @@ void func_8003388C(Ent388C *arg, s32 arg1)
|
||||
vo->unk0C = 0;
|
||||
vo->unk0E = 0;
|
||||
vo->unk04 = 0x6009F;
|
||||
__asm__ __volatile__("");
|
||||
__asm__ __volatile__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
if (D_800A4EF6 > cmd->unk0C) {
|
||||
func_8002F064(1, vo->unk00);
|
||||
} else {
|
||||
@@ -6815,7 +6812,7 @@ s32 func_80034314(u32 arg0, u8 *p, u32 arg2) {
|
||||
Rec12 *rec;
|
||||
u8 *q;
|
||||
s16 *pa;
|
||||
register s32 idx __asm__("$3");
|
||||
register s32 idx __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 ret;
|
||||
s32 i;
|
||||
s32 j;
|
||||
@@ -6873,7 +6870,6 @@ s32 func_80034314(u32 arg0, u8 *p, u32 arg2) {
|
||||
/* dbr fence (zero-byte, non-volatile asm -> reorg stop_search_p): keeps the
|
||||
* `j .L800344B4` delay slot a nop; without it reorg eagerly steals + duplicates
|
||||
* the merge block's first store. */
|
||||
__asm__ ("" : "=r"(e) : "0"(e));
|
||||
e->unk37 = rec->unk08;
|
||||
e->unk34 = b1;
|
||||
e->unk0C = rec->unk00;
|
||||
@@ -6905,7 +6901,6 @@ s32 func_80034314(u32 arg0, u8 *p, u32 arg2) {
|
||||
e->unk36 = 0;
|
||||
/* sched fence: without it the two stores (memory-unit users) sink below the
|
||||
* whole loop preheader (potential_hazard beats the LUID tie-break). */
|
||||
__asm__ ("" : "=r"(e) : "0"(e));
|
||||
|
||||
pa = &e->unk1C[0].unk00;
|
||||
for (i = 0; i < 3; i++, pa = (s16 *)((u8 *)pa + 8)) {
|
||||
@@ -7041,12 +7036,12 @@ extern u16 D_800A46E8[];
|
||||
|
||||
void func_80034844(void)
|
||||
{
|
||||
register u8 *a0 __asm__("$4") = (u8 *)D_800A46E8;
|
||||
register int a1 __asm__("$5") = 0;
|
||||
register int t0 __asm__("$8") = 0x5;
|
||||
register int a3 __asm__("$7") = 0x1;
|
||||
register int a2 __asm__("$6") = 0x220;
|
||||
register u8 *v1 __asm__("$3") = (u8 *)D_800A46E8 + 0x1A;
|
||||
u8 *a0 = (u8 *)D_800A46E8;
|
||||
int a1 = 0;
|
||||
int t0 = 0x5;
|
||||
int a3 = 0x1;
|
||||
int a2 = 0x220;
|
||||
register u8 *v1 __asm__("$3") = (u8 *)D_800A46E8 + 0x1A; // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
while (a1 < 8) {
|
||||
if (*(u16 *)a0 == t0) {
|
||||
@@ -7079,7 +7074,7 @@ s32 func_800348A8(u32 arg0) {
|
||||
hi = arg0 >> 16;
|
||||
q = p + 3;
|
||||
do {
|
||||
__asm__ ("" :: "r"(i), "r"(i));
|
||||
__asm__ ("" :: "r"(i), "r"(i)); // !FAKE: keepalive — NEEDED DIFFERS (P36 rung B tus9)
|
||||
if (p[0] == five && q[-1] == lo) {
|
||||
if (hi == 0 || q[0] == hi) {
|
||||
return i + 1;
|
||||
@@ -7099,7 +7094,7 @@ extern s32 func_8002F4E4(u8 *);
|
||||
|
||||
void func_8003491C(s32 arg0)
|
||||
{
|
||||
register s32 zr __asm__("$0");
|
||||
register s32 zr __asm__("$0"); // !FAKE: pin $0 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 id;
|
||||
s32 raw;
|
||||
s32 t;
|
||||
@@ -7164,7 +7159,7 @@ void func_80034A54(s32 a0) {
|
||||
extern s8 D_800A4F17;
|
||||
|
||||
void func_80034A9C(void *a0) {
|
||||
register void *a1 __asm__("$5") = a0;
|
||||
void *a1 = a0;
|
||||
u8 *v1;
|
||||
u8 old;
|
||||
|
||||
@@ -7449,8 +7444,8 @@ void func_8003500C(void) {
|
||||
u8 *self = D_80076118 + idx * 0x30;
|
||||
|
||||
if (self[0] != 0) {
|
||||
register s32 (*fn8)(void *) __asm__("$3") = *(s32 (**)(void *))(self + 8);
|
||||
register s32 type __asm__("$2") = self[4];
|
||||
s32 (*fn8)(void *) = *(s32 (**)(void *))(self + 8);
|
||||
register s32 type __asm__("$2") = self[4]; // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
D_80076114 = type;
|
||||
if (fn8(self) == 0) {
|
||||
@@ -7458,8 +7453,8 @@ void func_8003500C(void) {
|
||||
}
|
||||
|
||||
{
|
||||
register s32 (*fn1C)(s32) __asm__("$6") = *(s32 (**)(s32))(self + 0x1C);
|
||||
register s32 type2 __asm__("$5") = self[4];
|
||||
s32 (*fn1C)(s32) = *(s32 (**)(s32))(self + 0x1C);
|
||||
register s32 type2 __asm__("$5") = self[4]; // !FAKE: pin $5 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
D_80076114 = type2;
|
||||
if (fn1C != NULL) {
|
||||
@@ -7522,7 +7517,7 @@ extern void SpuWrite(s32, s32);
|
||||
|
||||
void func_80035210(s32 a0, s32 a1)
|
||||
{
|
||||
register s32 v1 __asm__("$3");
|
||||
register s32 v1 __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
v1 = D_80076218;
|
||||
func_8003C498(v1);
|
||||
|
||||
+103
-103
@@ -64,17 +64,17 @@ extern s32 func_8003EDE8(s32, s32, s32);
|
||||
extern void func_8003D650(int a0, int a1, int a2);
|
||||
|
||||
s32 func_80035270(s32 arg0) {
|
||||
register s32 zr __asm__("$0");
|
||||
register s32 zr __asm__("$0"); // !FAKE: pin $0 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
u8 result[8];
|
||||
u8 param[8];
|
||||
CdlLOC loc;
|
||||
s32 flags;
|
||||
register s32 n __asm__("$4");
|
||||
register s32 n __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 idx;
|
||||
s32 lo;
|
||||
s16 h;
|
||||
s32 drv;
|
||||
register s32 hi __asm__("$20");
|
||||
register s32 hi __asm__("$20"); // !FAKE: pin $20 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
u8 *rec;
|
||||
u8 *rec2;
|
||||
u8 b;
|
||||
@@ -88,7 +88,7 @@ s32 func_80035270(s32 arg0) {
|
||||
s32 cmp;
|
||||
u8 *q;
|
||||
CdlLOC *lp;
|
||||
register s32 sync __asm__("$4");
|
||||
register s32 sync __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 sync5;
|
||||
s32 tmp;
|
||||
s32 inc;
|
||||
@@ -479,7 +479,7 @@ void func_800359B0(s32 arg0) {
|
||||
D_80076104 = D_80076104 + 1;
|
||||
if ((s16)D_80076104 >= 0x12D) {
|
||||
func_800434BC();
|
||||
__asm__ __volatile__(""); /* §336 cross-jump fence, zero bytes */
|
||||
__asm__ __volatile__(""); /* §336 cross-jump fence, zero bytes */ // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
goto do_flag;
|
||||
}
|
||||
break;
|
||||
@@ -1393,7 +1393,7 @@ typedef struct {
|
||||
} CdReq;
|
||||
|
||||
void func_80036AF8(CdlLOC *loc, s32 flags) {
|
||||
register s32 zr __asm__("$0");
|
||||
register s32 zr __asm__("$0"); // !FAKE: pin $0 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
CdReq req;
|
||||
s32 mode;
|
||||
s32 n;
|
||||
@@ -1615,7 +1615,7 @@ void func_80036FB0(s32 arg0, s32 arg1) {
|
||||
s32 i;
|
||||
s32 *p;
|
||||
|
||||
__asm__ volatile("" ::
|
||||
__asm__ volatile("" :: // !FAKE: keepalive — NEEDED DIFFERS (P36 rung B tus9)
|
||||
"m"(hole));
|
||||
if (D_8006AEE8 > 0) {
|
||||
i = 0;
|
||||
@@ -1792,7 +1792,7 @@ void func_80037144(s32 idx) {
|
||||
* find_symbolic_term and the two symbols differ), so without this gcc hoists the
|
||||
* D_80065438 load above all the slot stores and permutes the head block.
|
||||
* Emits zero instructions. */
|
||||
__asm__ __volatile__("" ::: "memory");
|
||||
__asm__ __volatile__("" ::: "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9)
|
||||
D_80076244[i].unk0C = 0;
|
||||
D_80076244[i].unk0D = one;
|
||||
D_80076244[i].unk04 = idx | 0x2000;
|
||||
@@ -1887,10 +1887,10 @@ extern void func_8002D7FC(s32 arg0);
|
||||
extern void func_8002FDE8(s32 arg0, void *arg1);
|
||||
|
||||
void func_800373D0(void) {
|
||||
register StructA4E88 *sp2 __asm__("$18");
|
||||
register u8 *sp3 __asm__("$19");
|
||||
register Rsc16 *p __asm__("$16");
|
||||
register s32 i __asm__("$17");
|
||||
StructA4E88 *sp2;
|
||||
u8 *sp3;
|
||||
Rsc16 *p;
|
||||
s32 i;
|
||||
|
||||
sp2 = &D_800A4E88;
|
||||
sp3 = D_800BA320;
|
||||
@@ -2126,8 +2126,8 @@ void func_800377D8(u8 arg0) {
|
||||
goto err;
|
||||
}
|
||||
{
|
||||
register s32 rnxt __asm__("$2");
|
||||
register s32 rcnt __asm__("$3");
|
||||
register s32 rnxt __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 rcnt;
|
||||
pCnt = &hD_80076240;
|
||||
rnxt = gD_80076228 + 0x800;
|
||||
rcnt = *pCnt + 1;
|
||||
@@ -2144,13 +2144,13 @@ void func_800377D8(u8 arg0) {
|
||||
if (idx < 5 && (&D_80076251)[idx * 16] != 0) {
|
||||
if (D_80076248[idx].unk00 & 0x2000) {
|
||||
gD_80076243 = 1;
|
||||
__asm__ __volatile__("");
|
||||
__asm__ __volatile__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
} else {
|
||||
gD_80076243 = 2;
|
||||
}
|
||||
D_80076298 = 0;
|
||||
hD_80076240 = 0;
|
||||
__asm__ __volatile__("");
|
||||
__asm__ __volatile__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
gD_80076228 = D_80076244[gD_80076294].unk00;
|
||||
gD_80076238 = D_80076244[gD_80076294].unk08;
|
||||
return;
|
||||
@@ -2203,7 +2203,7 @@ void func_800377D8(u8 arg0) {
|
||||
}
|
||||
D_80076298 = 0;
|
||||
hD_80076240 = 0;
|
||||
__asm__ __volatile__("");
|
||||
__asm__ __volatile__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
gD_80076228 = D_80076244[gD_80076294].unk00;
|
||||
gD_80076238 = D_80076244[gD_80076294].unk08;
|
||||
return;
|
||||
@@ -2335,9 +2335,9 @@ extern u8 D_800C6E2E[];
|
||||
void func_80037EA0(void)
|
||||
{
|
||||
extern void func_8003D3B4(s32, s32);
|
||||
register u8 *p __asm__("$16");
|
||||
register s32 i __asm__("$17");
|
||||
register u32 mask __asm__("$18");
|
||||
register u8 *p __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 i;
|
||||
u32 mask;
|
||||
|
||||
i = 0;
|
||||
mask = 0xFFF9FFFF;
|
||||
@@ -2359,8 +2359,8 @@ void func_80037F3C(void)
|
||||
extern u8 D_800C6DD0[];
|
||||
extern void func_8003B250(s32, void *);
|
||||
|
||||
register u8 *p __asm__("$16");
|
||||
register s32 i __asm__("$17");
|
||||
register u8 *p __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 i;
|
||||
u8 *base;
|
||||
|
||||
base = D_800C6DD0;
|
||||
@@ -2398,9 +2398,9 @@ void func_80037FC4(void)
|
||||
extern void func_8003C23C(s32, s32);
|
||||
extern void func_8003B250(s32, void *);
|
||||
|
||||
register u8 *p __asm__("$16");
|
||||
register s32 i __asm__("$17");
|
||||
register u32 mask __asm__("$18");
|
||||
register u8 *p __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 i;
|
||||
u32 mask;
|
||||
u8 *base;
|
||||
|
||||
if (D_800A4F1D == 0) {
|
||||
@@ -2539,7 +2539,7 @@ typedef s32 a32;
|
||||
|
||||
void func_80038308(s16 a0)
|
||||
{
|
||||
register a32 arg0 asm("$4");
|
||||
register a32 arg0 asm("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 offset;
|
||||
|
||||
offset = arg0 * 127;
|
||||
@@ -2590,9 +2590,9 @@ void func_800383A4(a0)
|
||||
s32 i;
|
||||
s32 j;
|
||||
s32 one;
|
||||
register s32 aa __asm__("$2");
|
||||
register s32 aa __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
__asm__("sll %0, %1, 7\n\tsubu %0, %0, %1\n\tsll %0, %0, 2" : "=r"(aa) : "r"(a0));
|
||||
__asm__("sll %0, %1, 7\n\tsubu %0, %0, %1\n\tsll %0, %0, 2" : "=r"(aa) : "r"(a0)); // !FAKE: instruction sll — REFUSED instruction `sll` has no C spelling in the table (P36 rung B tus9)
|
||||
base = &D_800B9CD8[aa];
|
||||
p = base + 0x1A;
|
||||
i = 0;
|
||||
@@ -2630,7 +2630,7 @@ extern void func_8002EFF8(s32 a0, s32 a1);
|
||||
extern void func_8003916C(s16 arg);
|
||||
|
||||
void func_800384A8(s16 arg0) {
|
||||
register s32 raw __asm__("$4");
|
||||
register s32 raw __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
u8 *entry;
|
||||
u8 *p;
|
||||
u8 *q;
|
||||
@@ -2674,8 +2674,8 @@ void func_800385C0(s16 a0)
|
||||
extern u8 D_800C6E2A[];
|
||||
extern u8 D_800B9ED2[];
|
||||
extern u8 D_800B9ED3[];
|
||||
register s32 a0v __asm__("$4");
|
||||
register u8 *v1 __asm__("$3");
|
||||
register s32 a0v __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register u8 *v1 __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 a1;
|
||||
|
||||
for (a1 = 0, v1 = D_800C6E2A; a1 < 0x10; a1++, v1 += 0x60) {
|
||||
@@ -2713,7 +2713,7 @@ void func_80038668(s32 a0, s32 a1) {
|
||||
|
||||
s32 func_80038698(void *arg0) {
|
||||
u8 *p;
|
||||
register u32 len asm("$6");
|
||||
register u32 len asm("$6"); // !FAKE: pin $6 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
u32 hi;
|
||||
s32 div;
|
||||
|
||||
@@ -2793,15 +2793,15 @@ s32 func_800387C0(void *arg0) {
|
||||
|
||||
void func_80038838(void *arg0)
|
||||
{
|
||||
register unsigned char *a3 asm("$7");
|
||||
register unsigned char *a1 asm("$5");
|
||||
register unsigned char *v1;
|
||||
register unsigned char *v0 asm("$2");
|
||||
register int a2 asm("$6");
|
||||
register int v0_c;
|
||||
register int const1 asm("$8");
|
||||
register int const2 asm("$9");
|
||||
register int const3 asm("$3");
|
||||
unsigned char *a3;
|
||||
register unsigned char *a1 asm("$5"); // !FAKE: pin $5 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
unsigned char *v1;
|
||||
register unsigned char *v0 asm("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
int a2;
|
||||
int v0_c;
|
||||
int const1;
|
||||
int const2;
|
||||
int const3;
|
||||
|
||||
a3 = (unsigned char *)arg0 + 0x1A;
|
||||
a2 = 0;
|
||||
@@ -2883,13 +2883,13 @@ extern u8 D_800762B4[];
|
||||
extern u8 D_800C6E2A[];
|
||||
|
||||
void func_80038958(void) {
|
||||
register u8 *a3 __asm__("$7");
|
||||
register u8 *a2 __asm__("$6");
|
||||
register s32 a1 __asm__("$5");
|
||||
register u8 *a0 __asm__("$4");
|
||||
register s32 t0 __asm__("$8");
|
||||
register s32 v0 __asm__("$2");
|
||||
register s32 v1 __asm__("$3");
|
||||
u8 *a3;
|
||||
u8 *a2;
|
||||
s32 a1;
|
||||
register u8 *a0 __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 t0;
|
||||
s32 v0;
|
||||
register s32 v1 __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
a3 = D_800762B0;
|
||||
a2 = D_800762B4;
|
||||
@@ -2985,15 +2985,15 @@ extern s32 func_80038FFC(s32 *); /* §376: the definition returns s32 and take
|
||||
|
||||
void func_80038A58(void)
|
||||
{
|
||||
register u8 *base __asm__("$19");
|
||||
register u8 *p __asm__("$17");
|
||||
register s32 i __asm__("$18");
|
||||
register s32 one __asm__("$20");
|
||||
u8 *base;
|
||||
register u8 *p __asm__("$17"); // !FAKE: pin $17 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 i;
|
||||
s32 one;
|
||||
|
||||
base = D_800B9CD8;
|
||||
|
||||
{
|
||||
register u8 *q __asm__("$2");
|
||||
u8 *q;
|
||||
q = D_800762B4;
|
||||
i = 0xF;
|
||||
do {
|
||||
@@ -3004,13 +3004,13 @@ void func_80038A58(void)
|
||||
}
|
||||
|
||||
{
|
||||
register u8 *a3 __asm__("$7");
|
||||
register u8 *a2 __asm__("$6");
|
||||
register s32 a1 __asm__("$5");
|
||||
register u8 *a0 __asm__("$4");
|
||||
register s32 t0 __asm__("$8");
|
||||
register s32 v0 __asm__("$2");
|
||||
register s32 v1 __asm__("$3");
|
||||
u8 *a3;
|
||||
u8 *a2;
|
||||
s32 a1;
|
||||
register u8 *a0 __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 t0;
|
||||
s32 v0;
|
||||
register s32 v1 __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
a3 = D_800762B0;
|
||||
a2 = D_800762B4;
|
||||
@@ -3058,11 +3058,11 @@ void func_80038A58(void)
|
||||
|
||||
*(s32 *)(p + 0x1BC) = sum;
|
||||
if (sum >= lim) {
|
||||
register s32 cur __asm__("$3");
|
||||
register s32 quot __asm__("$5");
|
||||
register s32 c __asm__("$4");
|
||||
register s32 r __asm__("$16");
|
||||
register s32 v __asm__("$3");
|
||||
s32 cur;
|
||||
s32 quot;
|
||||
s32 c;
|
||||
s32 r;
|
||||
s32 v;
|
||||
|
||||
quot = sum / lim;
|
||||
cur = *(s32 *)(p - 8);
|
||||
@@ -3094,12 +3094,12 @@ void func_80038A58(void)
|
||||
c = v;
|
||||
} while (r >= v);
|
||||
{
|
||||
register s32 d __asm__("$2");
|
||||
s32 d;
|
||||
d = v - r;
|
||||
*(s32 *)(p - 8) = d;
|
||||
}
|
||||
} else {
|
||||
register s32 d2 __asm__("$2");
|
||||
s32 d2;
|
||||
d2 = cur - quot;
|
||||
*(s32 *)(p - 8) = d2;
|
||||
}
|
||||
@@ -3111,8 +3111,8 @@ void func_80038A58(void)
|
||||
|
||||
flag = 0;
|
||||
if (p[0x1E4] != 0) {
|
||||
register u16 *hp __asm__("$8");
|
||||
register u8 *sq __asm__("$5");
|
||||
u16 *hp;
|
||||
register u8 *sq __asm__("$5"); // !FAKE: pin $5 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
hp = (u16 *)(base + 0x12);
|
||||
k = 0;
|
||||
@@ -3126,7 +3126,7 @@ void func_80038A58(void)
|
||||
if (*hp < *(u16 *)(sq - 2)) {
|
||||
goto cont1;
|
||||
}
|
||||
__asm__ __volatile__("");
|
||||
__asm__ __volatile__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
*hp = *(u16 *)(sq - 2);
|
||||
} else if (*(u16 *)(sq - 4) < cur16) {
|
||||
*hp = cur16 - *(u16 *)(sq - 4);
|
||||
@@ -3146,13 +3146,13 @@ void func_80038A58(void)
|
||||
} while (k <= 0);
|
||||
|
||||
{
|
||||
register u16 *hp2 __asm__("$5");
|
||||
register s32 c2 __asm__("$3");
|
||||
u16 *hp2;
|
||||
s32 c2;
|
||||
s32 acc2;
|
||||
acc2 = D_800A4EF8 << 7;
|
||||
acc2 *= D_800A4EE0;
|
||||
c2 = 0;
|
||||
__asm__("addiu %0,%1,18" : "=r"(hp2) : "r"(base), "r"(c2));
|
||||
__asm__("addiu %0,%1,18" : "=r"(hp2) : "r"(base), "r"(c2)); // !FAKE: instruction addiu — NEEDED DIFFERS (P36 rung B tus9)
|
||||
acc2 >>= 14;
|
||||
do {
|
||||
acc2 *= *hp2;
|
||||
@@ -3164,8 +3164,8 @@ void func_80038A58(void)
|
||||
}
|
||||
|
||||
if (flag != 0 || D_800A4F16 != 0) {
|
||||
register u8 *b __asm__("$5");
|
||||
register u8 *e __asm__("$4");
|
||||
u8 *b;
|
||||
register u8 *e __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
b = D_800C6DD0;
|
||||
k = 0;
|
||||
e = b + 0x5A;
|
||||
@@ -3185,9 +3185,9 @@ void func_80038A58(void)
|
||||
b += 0x60;
|
||||
} while (k < 0x10);
|
||||
} else {
|
||||
register u8 *c __asm__("$3");
|
||||
register s32 two __asm__("$5");
|
||||
register s32 uno __asm__("$4");
|
||||
u8 *c;
|
||||
s32 two;
|
||||
s32 uno;
|
||||
|
||||
p[0x1E4] = 0;
|
||||
k = 0;
|
||||
@@ -3203,11 +3203,11 @@ void func_80038A58(void)
|
||||
} while (k < 0x10);
|
||||
}
|
||||
} else if (D_800A4F16 != 0) {
|
||||
register u16 *hp3 __asm__("$3");
|
||||
register s32 c3 __asm__("$5");
|
||||
register u8 *b2 __asm__("$5");
|
||||
register u8 *e2 __asm__("$4");
|
||||
register s32 k2 __asm__("$6");
|
||||
u16 *hp3;
|
||||
register s32 c3 __asm__("$5"); // !FAKE: pin $5 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
u8 *b2;
|
||||
register u8 *e2 __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 k2;
|
||||
|
||||
s32 acc3;
|
||||
acc3 = D_800A4EF8 << 7;
|
||||
@@ -3389,7 +3389,7 @@ void func_800391D4(s32 arg0, s16 arg1, s16 arg2) {
|
||||
|
||||
u8 *base;
|
||||
u8 *entry;
|
||||
register s32 i __asm__("$7");
|
||||
register s32 i __asm__("$7"); // !FAKE: pin $7 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 off;
|
||||
s32 mask;
|
||||
s32 a1v;
|
||||
@@ -3399,15 +3399,15 @@ void func_800391D4(s32 arg0, s16 arg1, s16 arg2) {
|
||||
a1v = arg1;
|
||||
off = 0;
|
||||
do {
|
||||
__asm__("");
|
||||
__asm__("");
|
||||
__asm__("");
|
||||
__asm__("");
|
||||
__asm__("");
|
||||
__asm__("");
|
||||
__asm__("");
|
||||
__asm__("");
|
||||
__asm__("");
|
||||
__asm__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
__asm__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
__asm__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
__asm__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
__asm__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
__asm__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
__asm__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
__asm__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
__asm__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
if (*(base + i + 0x23) != 0 && *(s16 *)&D_800C6DD4[off] == a1v) {
|
||||
entry = &D_800C6DD0[(s16)i * 0x60];
|
||||
if (entry[0x5A] != 0) {
|
||||
@@ -3761,8 +3761,8 @@ extern u8 D_800C6DD0[];
|
||||
extern u8 D_800C6DD4[];
|
||||
|
||||
void func_80039B20(s32 *arg0, s16 arg1) {
|
||||
register s32 i __asm__("$6");
|
||||
register s32 off __asm__("$7");
|
||||
register s32 i __asm__("$6"); // !FAKE: pin $6 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 off __asm__("$7"); // !FAKE: pin $7 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
u8 c;
|
||||
s32 t1;
|
||||
|
||||
@@ -3782,7 +3782,7 @@ void func_80039B20(s32 *arg0, s16 arg1) {
|
||||
}
|
||||
{
|
||||
s32 base1 = (s32)D_80073140;
|
||||
__asm__ __volatile__("" : "=r"(base1) : "0"(base1));
|
||||
__asm__ __volatile__("" : "=r"(base1) : "0"(base1)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
D_800C7D20 &= ~((s32 *)base1)[i];
|
||||
D_800A2B98 |= ((s32 *)base1)[i];
|
||||
}
|
||||
@@ -3926,11 +3926,11 @@ extern void func_80039DEC(); /* no-proto (§376/§495): the definition is K&R w
|
||||
|
||||
void func_80039F50(u8 **a0, s16 a1)
|
||||
{
|
||||
register u8 **pvVar4 __asm__("$7"); /* $a3 */
|
||||
u8 **pvVar4; /* $a3 */
|
||||
u8 *pbVar3;
|
||||
register s32 bVar1 __asm__("$4"); /* $a0 */
|
||||
register s32 bVar1 __asm__("$4"); /* $a0 */ // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
u8 bVar2;
|
||||
register u8 *pbVar5 __asm__("$2"); /* $v0 */
|
||||
register u8 *pbVar5 __asm__("$2"); /* $v0 */ // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
u8 bVar6;
|
||||
|
||||
pvVar4 = a0;
|
||||
@@ -4076,7 +4076,7 @@ void func_8003A234(func_8003A234_Ctx *a0) {
|
||||
|
||||
case 'Q':
|
||||
{
|
||||
register s32 num __asm__("$4");
|
||||
s32 num;
|
||||
s32 den;
|
||||
s32 b3;
|
||||
s32 b4;
|
||||
@@ -4116,11 +4116,11 @@ void func_8003A234(func_8003A234_Ctx *a0) {
|
||||
case 0x59:
|
||||
case 0x7F:
|
||||
{
|
||||
register u8 *p __asm__("$3") = a0->ptr;
|
||||
u8 *p = a0->ptr;
|
||||
u8 *np = p + 1;
|
||||
a0->ptr = np;
|
||||
{
|
||||
register s32 byte __asm__("$5") = p[0];
|
||||
register s32 byte __asm__("$5") = p[0]; // !FAKE: pin $5 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
a0->ptr = np + byte;
|
||||
}
|
||||
}
|
||||
@@ -4129,7 +4129,7 @@ void func_8003A234(func_8003A234_Ctx *a0) {
|
||||
case 0:
|
||||
a0->ptr = a2 + 2;
|
||||
{
|
||||
register s32 b1 __asm__("$5") = a2[1];
|
||||
register s32 b1 __asm__("$5") = a2[1]; // !FAKE: pin $5 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
if (b1 != 2) {
|
||||
a0->unk1F9 = 1;
|
||||
break;
|
||||
|
||||
+6
-6
@@ -326,7 +326,7 @@ void main(void) {
|
||||
func_80059BFC(*(s32 *)((u8 *)&D_800AE7BC + ((*(u16 *)(p + 0xA3D2) * 5) << 2)), 4);
|
||||
GameModeDispatch();
|
||||
|
||||
__asm__ __volatile__(
|
||||
__asm__ __volatile__( // !FAKE: instruction lui — REFUSED instruction `lui` has no C spelling in the table (P36 rung B tus9)
|
||||
"lui $a2, 0x1f80\n"
|
||||
"ori $a2, $a2, 0x03fc\n"
|
||||
"addu $t0, $a2, $zero\n"
|
||||
@@ -334,11 +334,11 @@ void main(void) {
|
||||
"addiu $t0, $t0, -4\n"
|
||||
"addu $sp, $t0, $zero\n" : : : "memory");
|
||||
func_80015498();
|
||||
__asm__ __volatile__(
|
||||
__asm__ __volatile__( // !FAKE: instruction addiu — REFUSED instruction `addiu` has no C spelling in the table (P36 rung B tus9)
|
||||
"addiu $sp, $sp, 4\n"
|
||||
"lw $sp, 0($sp)\n" : : : "memory");
|
||||
|
||||
__asm__ __volatile__(
|
||||
__asm__ __volatile__( // !FAKE: instruction lui — REFUSED instruction `lui` has no C spelling in the table (P36 rung B tus9)
|
||||
"lui $a2, 0x1f80\n"
|
||||
"ori $a2, $a2, 0x03fc\n"
|
||||
"addu $t0, $a2, $zero\n"
|
||||
@@ -346,7 +346,7 @@ void main(void) {
|
||||
"addiu $t0, $t0, -4\n"
|
||||
"addu $sp, $t0, $zero\n" : : : "memory");
|
||||
func_8001C00C();
|
||||
__asm__ __volatile__(
|
||||
__asm__ __volatile__( // !FAKE: instruction addiu — REFUSED instruction `addiu` has no C spelling in the table (P36 rung B tus9)
|
||||
"addiu $sp, $sp, 4\n"
|
||||
"lw $sp, 0($sp)\n" : : : "memory");
|
||||
} else {
|
||||
@@ -356,7 +356,7 @@ void main(void) {
|
||||
*(u16 *)(p + 0xA3D2) * 16 + (s32)D_800BA0E4;
|
||||
func_80059BFC(*(s32 *)((u8 *)&D_800AE7BC + ((*(u16 *)(p + 0xA3D2) * 5) << 2)), 4);
|
||||
|
||||
__asm__ __volatile__(
|
||||
__asm__ __volatile__( // !FAKE: instruction lui — REFUSED instruction `lui` has no C spelling in the table (P36 rung B tus9)
|
||||
"lui $a2, 0x1f80\n"
|
||||
"ori $a2, $a2, 0x03fc\n"
|
||||
"addu $t0, $a2, $zero\n"
|
||||
@@ -364,7 +364,7 @@ void main(void) {
|
||||
"addiu $t0, $t0, -4\n"
|
||||
"addu $sp, $t0, $zero\n" : : : "memory");
|
||||
func_800D25FC();
|
||||
__asm__ __volatile__(
|
||||
__asm__ __volatile__( // !FAKE: instruction addiu — REFUSED instruction `addiu` has no C spelling in the table (P36 rung B tus9)
|
||||
"addiu $sp, $sp, 4\n"
|
||||
"lw $sp, 0($sp)\n" : : : "memory");
|
||||
}
|
||||
|
||||
@@ -180,16 +180,16 @@ void func_800CF180(void)
|
||||
extern u8 D_800CF420[];
|
||||
extern u8 D_800AA60C[];
|
||||
|
||||
register u32 m24 __asm__("$8");
|
||||
register u32 mFF __asm__("$7");
|
||||
register u32 *tb __asm__("$9");
|
||||
register u32 *ab __asm__("$6");
|
||||
register u32 m24 __asm__("$8"); // !FAKE: pin $8 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register u32 mFF __asm__("$7"); // !FAKE: pin $7 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
u32 *tb;
|
||||
register u32 *ab __asm__("$6"); // !FAKE: pin $6 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
u32 *pp;
|
||||
|
||||
m24 = 0x00FFFFFF;
|
||||
tb = (u32 *)D_800CF3F0;
|
||||
{
|
||||
register s32 i __asm__("$2") = D_800B9A02;
|
||||
register s32 i __asm__("$2") = D_800B9A02; // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
mFF = 0xFF000000;
|
||||
*(u32 *)((s32)tb + i * 24) =
|
||||
(*(u32 *)((s32)tb + i * 24) & mFF) |
|
||||
@@ -197,7 +197,7 @@ void func_800CF180(void)
|
||||
}
|
||||
|
||||
{
|
||||
register s32 i __asm__("$4") = D_800B9A02;
|
||||
s32 i = D_800B9A02;
|
||||
ab = (u32 *)D_800AA60C;
|
||||
pp = (u32 *)(i << 14);
|
||||
pp = (u32 *)((s32)pp + (s32)ab);
|
||||
@@ -205,7 +205,7 @@ void func_800CF180(void)
|
||||
}
|
||||
|
||||
{
|
||||
register s32 i __asm__("$2") = D_800B9A02;
|
||||
s32 i = D_800B9A02;
|
||||
tb = (u32 *)D_800CF420;
|
||||
*(u32 *)((s32)tb + i * 24) =
|
||||
(*(u32 *)((s32)tb + i * 24) & mFF) |
|
||||
@@ -213,7 +213,7 @@ void func_800CF180(void)
|
||||
}
|
||||
|
||||
{
|
||||
register s32 i __asm__("$4") = D_800B9A02;
|
||||
s32 i = D_800B9A02;
|
||||
s32 frame_pad[1];
|
||||
(void)&frame_pad;
|
||||
pp = (u32 *)(i << 14);
|
||||
@@ -232,16 +232,16 @@ void func_800CF290(void) {
|
||||
extern u8 D_800D3C10_b __asm__("D_800D3C10");
|
||||
extern u8 D_800AA60C[];
|
||||
|
||||
register s32 n __asm__("$7") = D_800B9A02;
|
||||
register u8 *p0 __asm__("$4");
|
||||
register u8 *p1 __asm__("$3");
|
||||
register u32 c5 __asm__("$6");
|
||||
register u32 c64 __asm__("$13");
|
||||
register u32 c7840 __asm__("$14");
|
||||
register u32 cm28 __asm__("$12");
|
||||
register u32 c38 __asm__("$11");
|
||||
register u32 c256 __asm__("$10");
|
||||
register u32 c60 __asm__("$9");
|
||||
s32 n = D_800B9A02;
|
||||
u8 *p0;
|
||||
register u8 *p1 __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
u32 c5;
|
||||
u32 c64;
|
||||
register u32 c7840 __asm__("$14"); // !FAKE: pin $14 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
u32 cm28;
|
||||
u32 c38;
|
||||
u32 c256;
|
||||
u32 c60;
|
||||
u32 *q0;
|
||||
u32 *q1;
|
||||
u32 *ot;
|
||||
@@ -282,7 +282,7 @@ void func_800CF290(void) {
|
||||
p1 = D_800D3B1C + w;
|
||||
q1 = (u32 *)(D_800D3B1C + w + 4);
|
||||
{
|
||||
register u32 e1b __asm__("$8") = 0xE100008C;
|
||||
register u32 e1b __asm__("$8") = 0xE100008C; // !FAKE: pin $8 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
p1[3] = c5;
|
||||
*q1 = e1b;
|
||||
}
|
||||
@@ -302,8 +302,8 @@ void func_800CF290(void) {
|
||||
|
||||
ot = (u32 *)(D_800AA60C + n);
|
||||
{
|
||||
register u32 m24 __asm__("$8");
|
||||
register u32 mFF __asm__("$5");
|
||||
register u32 m24 __asm__("$8"); // !FAKE: pin $8 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
u32 mFF;
|
||||
|
||||
m24 = 0xFFFFFF;
|
||||
mFF = 0xFF000000;
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
extern void (*D_800D3598[])(void);
|
||||
|
||||
void func_800CEED0(void) {
|
||||
register s32 idx __asm__("$2");
|
||||
__asm__ __volatile__("" : : "r"(idx));
|
||||
s32 idx;
|
||||
__asm__ __volatile__("" : : "r"(idx)); // !FAKE: keepalive — NEEDED DIFFERS (P36 rung B tus9)
|
||||
D_800D3598[idx]();
|
||||
}
|
||||
|
||||
@@ -298,19 +298,19 @@ void func_800CF3E8(void) {
|
||||
u32 tv0;
|
||||
u32 tag6;
|
||||
u32 tv1;
|
||||
register u32 tv2 __asm__("$15");
|
||||
register u32 tv2 __asm__("$15"); // !FAKE: pin $15 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
u32 tv3;
|
||||
u32 tv4;
|
||||
u32 b1a;
|
||||
u32 b1c;
|
||||
register s32 c5 __asm__("$6");
|
||||
register s32 q5 __asm__("$13");
|
||||
register u32 mq2 __asm__("$8");
|
||||
register Sprt24 *pC __asm__("$3");
|
||||
register Sprt24 *p3 __asm__("$9");
|
||||
register Sprt24 *p5 __asm__("$4");
|
||||
register Sprt24 *p6 __asm__("$3");
|
||||
register u32 *ot __asm__("$5");
|
||||
s32 c5;
|
||||
register s32 q5 __asm__("$13"); // !FAKE: pin $13 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register u32 mq2 __asm__("$8"); // !FAKE: pin $8 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register Sprt24 *pC __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register Sprt24 *p3 __asm__("$9"); // !FAKE: pin $9 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
Sprt24 *p5;
|
||||
Sprt24 *p6;
|
||||
u32 *ot;
|
||||
s32 idx = D_800B9A02;
|
||||
S16_800CF3E8 fr;
|
||||
|
||||
@@ -340,7 +340,7 @@ blk1:
|
||||
D_800EC7DA[idx * 12] = 0x7880;
|
||||
ADDPRIM2(OTG, pA, mq2, 0xFF000000);
|
||||
|
||||
__asm__("");
|
||||
__asm__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
{ Sprt24 *b_ = D_800EC7F8; pC = &b_[idx]; }
|
||||
pC->len = q5;
|
||||
((u32 *)&D_800EC7F8[idx])[1] = b1c;
|
||||
@@ -351,7 +351,7 @@ blk1:
|
||||
pC->y0 = 0x54;
|
||||
pC->u0 = 0;
|
||||
pC->v0 = 0;
|
||||
__asm__("");
|
||||
__asm__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
pC->clut = 0x7800;
|
||||
pC->w = w60;
|
||||
pC->h = 0x20;
|
||||
@@ -458,7 +458,7 @@ final:
|
||||
p5->y0 = 0;
|
||||
p5->u0 = 0;
|
||||
p5->v0 = 0;
|
||||
__asm__("");
|
||||
__asm__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
{ Sprt24 *b_ = D_800EC798; p6 = &b_[idx]; }
|
||||
p5->clut = 0x78C0;
|
||||
p5->w = 0x100;
|
||||
@@ -492,16 +492,15 @@ extern void func_800599B8();
|
||||
|
||||
void func_800CFB3C(u16 *arg0)
|
||||
{
|
||||
register u16 *s1 __asm__("$17");
|
||||
register u16 *s0 __asm__("$16");
|
||||
register s32 fill __asm__("$18");
|
||||
register s32 i __asm__("$5");
|
||||
u16 *s1;
|
||||
register u16 *s0 __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 fill;
|
||||
s32 i;
|
||||
u16 sVar1;
|
||||
u16 buf[4];
|
||||
s32 pad[2];
|
||||
|
||||
__asm__("" : "=r"(s1) : "0"(arg0));
|
||||
__asm__ volatile("" : : "r"(s1));
|
||||
__asm__("" : "=r"(s1) : "0"(arg0)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
sVar1 = *s1;
|
||||
D_800EC69C = 0;
|
||||
if (sVar1 != 0xFF) {
|
||||
@@ -554,25 +553,25 @@ s32 func_800CFC1C(u16 *param_1)
|
||||
extern s32 D_800EC69C;
|
||||
|
||||
u8 buf[0x10];
|
||||
register u16 *cursor __asm__("$18");
|
||||
register s32 uVar13 __asm__("$16");
|
||||
register u16 *psVar14 __asm__("$17");
|
||||
register s32 uVar16 __asm__("$19");
|
||||
register u32 mask __asm__("$20");
|
||||
register u16 *puVar9 __asm__("$11");
|
||||
register u16 *puVar10 __asm__("$12");
|
||||
register s32 iVar11 __asm__("$13");
|
||||
register u16 *cursor __asm__("$18"); // !FAKE: pin $18 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 uVar13;
|
||||
register u16 *psVar14 __asm__("$17"); // !FAKE: pin $17 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 uVar16;
|
||||
u32 mask;
|
||||
register u16 *puVar9 __asm__("$11"); // !FAKE: pin $11 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
u16 *puVar10;
|
||||
s32 iVar11;
|
||||
u16 tag;
|
||||
u32 result;
|
||||
u16 stored;
|
||||
s32 gate;
|
||||
register u32 acc __asm__("$2");
|
||||
register u32 uVar5 __asm__("$7");
|
||||
register u32 uVar7 __asm__("$6");
|
||||
register u32 uVar1 __asm__("$4");
|
||||
register u32 uVar6 __asm__("$3");
|
||||
register u32 uVar8 __asm__("$8");
|
||||
register u32 uVar3 __asm__("$10");
|
||||
register u32 acc __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register u32 uVar5 __asm__("$7"); // !FAKE: pin $7 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register u32 uVar7 __asm__("$6"); // !FAKE: pin $6 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
u32 uVar1;
|
||||
u32 uVar6;
|
||||
register u32 uVar8 __asm__("$8"); // !FAKE: pin $8 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register u32 uVar3 __asm__("$10"); // !FAKE: pin $10 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
cursor = param_1;
|
||||
uVar16 = 0;
|
||||
@@ -581,7 +580,7 @@ s32 func_800CFC1C(u16 *param_1)
|
||||
if (gate) {
|
||||
return (u16 *)gate;
|
||||
}
|
||||
__asm__ __volatile__("" : "=r"(cursor) : "0"(cursor));
|
||||
__asm__ __volatile__("" : "=r"(cursor) : "0"(cursor)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
tag = *(u16 *)cursor;
|
||||
D_800EC69C = 0;
|
||||
if (tag != 0xff) {
|
||||
@@ -593,16 +592,16 @@ s32 func_800CFC1C(u16 *param_1)
|
||||
uVar13 = 0;
|
||||
puVar10 = *(u16 **)(psVar14 + 1);
|
||||
{
|
||||
register s32 boff __asm__("$2") = (s32)((s16 *)psVar14)[-1] * 2;
|
||||
register u16 *pi __asm__("$5");
|
||||
register s32 boff __asm__("$2") = (s32)((s16 *)psVar14)[-1] * 2; // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register u16 *pi __asm__("$5"); // !FAKE: pin $5 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
pi = (u16 *)((s32)puVar10 + boff);
|
||||
__asm__ __volatile__("" : "=r"(pi) : "0"(pi));
|
||||
__asm__ __volatile__("" : "=r"(pi) : "0"(pi)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
puVar9 = pi;
|
||||
}
|
||||
if (0 < (s32)((s16 *)psVar14)[-1]) {
|
||||
do {
|
||||
register u32 pix __asm__("$2");
|
||||
register u32 out __asm__("$9");
|
||||
u32 pix;
|
||||
register u32 out __asm__("$9"); // !FAKE: pin $9 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
pix = (u32)*puVar9;
|
||||
out = (u32)*puVar10;
|
||||
uVar5 = pix & 0x1f;
|
||||
@@ -612,21 +611,21 @@ s32 func_800CFC1C(u16 *param_1)
|
||||
uVar8 = out & 0x3e0;
|
||||
uVar3 = out & 0x7c00;
|
||||
if (uVar5 != uVar6) {
|
||||
register s32 c __asm__("$2");
|
||||
s32 c;
|
||||
uVar13 = 1;
|
||||
if ((s32)uVar5 < (s32)uVar6) uVar5 = uVar5 + 1;
|
||||
c = (s32)uVar6 < (s32)uVar5;
|
||||
if (c) uVar5 = uVar5 - 1;
|
||||
}
|
||||
if (uVar7 != uVar8) {
|
||||
register s32 c __asm__("$2");
|
||||
register s32 c __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
uVar13 = 1;
|
||||
if ((s32)uVar7 < (s32)uVar8) uVar7 = uVar7 + 0x20;
|
||||
c = (s32)uVar8 < (s32)uVar7;
|
||||
if (c) uVar7 = uVar7 - 0x20;
|
||||
}
|
||||
if (uVar1 != uVar3) {
|
||||
register s32 c __asm__("$2");
|
||||
register s32 c __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
uVar13 = 1;
|
||||
if ((s32)uVar1 < (s32)uVar3) uVar1 = uVar1 + 0x400;
|
||||
c = (s32)uVar3 < (s32)uVar1;
|
||||
@@ -645,14 +644,13 @@ s32 func_800CFC1C(u16 *param_1)
|
||||
} while (iVar11 < (s32)((s16 *)psVar14)[-1]);
|
||||
}
|
||||
if (uVar13 != 0) {
|
||||
register u8 *argp __asm__("$4");
|
||||
register u8 *argp __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
argp = buf;
|
||||
*(u16 *)(buf + 0) = psVar14[-3];
|
||||
__asm__ __volatile__("" ::: "memory");
|
||||
__asm__ __volatile__("" ::: "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9)
|
||||
*(u16 *)(buf + 2) = psVar14[-2];
|
||||
__asm__ __volatile__("" ::: "memory");
|
||||
__asm__ __volatile__("" ::: "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9)
|
||||
*(u16 *)(buf + 4) = psVar14[-1];
|
||||
__asm__ __volatile__("" ::: "memory");
|
||||
*(u16 *)(buf + 6) = psVar14[0];
|
||||
func_800599B8(argp);
|
||||
}
|
||||
@@ -706,16 +704,16 @@ extern void func_800599B8(u16 *, u16 *);
|
||||
|
||||
s32 func_800CFEB4(u16 *arg0)
|
||||
{
|
||||
register u16 *s2 __asm__("$18");
|
||||
register u16 *s0 __asm__("$16");
|
||||
u16 *s2;
|
||||
register u16 *s0 __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
u16 sVar1;
|
||||
s32 ret;
|
||||
s32 flag;
|
||||
register s32 i __asm__("$9");
|
||||
s32 i;
|
||||
u16 buf[4];
|
||||
s32 pad[2];
|
||||
|
||||
__asm__("" : "=r"(s2) : "0"(arg0));
|
||||
__asm__("" : "=r"(s2) : "0"(arg0)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
sVar1 = *s2;
|
||||
ret = 0;
|
||||
if (sVar1 != 0xFF) {
|
||||
@@ -723,16 +721,16 @@ s32 func_800CFEB4(u16 *arg0)
|
||||
do {
|
||||
i = 0;
|
||||
if (sVar1 == 9) {
|
||||
register u16 *p __asm__("$8");
|
||||
u16 *p;
|
||||
s32 n;
|
||||
s32 base;
|
||||
s32 arg2;
|
||||
register s32 b __asm__("$7");
|
||||
register s32 g __asm__("$4");
|
||||
register s32 r __asm__("$6");
|
||||
register s32 x __asm__("$2");
|
||||
register s32 v __asm__("$2");
|
||||
register s32 y __asm__("$4");
|
||||
s32 b;
|
||||
s32 g;
|
||||
register s32 r __asm__("$6"); // !FAKE: pin $6 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 x;
|
||||
register s32 v __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 y;
|
||||
|
||||
flag = 0;
|
||||
n = *(s16 *)(s0 - 1);
|
||||
|
||||
@@ -156,7 +156,7 @@ void func_800D1E9C(void *arg0) {
|
||||
s16 sp98[8];
|
||||
s32 *p;
|
||||
s32 i;
|
||||
register s32 v0r __asm__("$2");
|
||||
register s32 v0r __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
p = (s32 *) arg0;
|
||||
D_800EC9F0 = 1;
|
||||
@@ -171,7 +171,7 @@ void func_800D1E9C(void *arg0) {
|
||||
func_800468FC();
|
||||
func_8002D8D4();
|
||||
func_800D2AA0(0);
|
||||
__asm__ __volatile__("");
|
||||
__asm__ __volatile__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
goto ret;
|
||||
}
|
||||
if (func_800D2704(D_800EC9A4, p) != 0) {
|
||||
@@ -261,7 +261,7 @@ after:
|
||||
ret:
|
||||
func_80010A98();
|
||||
v0r = 1;
|
||||
__asm__ __volatile__("" : : "r"(v0r));
|
||||
__asm__ __volatile__("" : : "r"(v0r)); // !FAKE: keepalive — NEEDED DIFFERS (P36 rung B tus9)
|
||||
}
|
||||
|
||||
|
||||
@@ -386,7 +386,7 @@ void func_800D24D0(void) {
|
||||
{
|
||||
s32 *pb = &D_800EC9B8;
|
||||
s0 = *pb;
|
||||
__asm__ __volatile__("" ::: "memory");
|
||||
__asm__ __volatile__("" ::: "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9)
|
||||
*pb = (*pb == 0);
|
||||
}
|
||||
if (D_800EC9F0 != 0) {
|
||||
@@ -405,7 +405,6 @@ join:
|
||||
p = (s16 *)((u8 *)D_800EC9A4 + 0x2C);
|
||||
idx = D_800EC9CC;
|
||||
if (*p < D_800EC9BC[idx * 4] + D_800EC9C0[idx * 4]) {
|
||||
__asm__ __volatile__("");
|
||||
((void (*)()) func_800D2C88)((&D_800EC9A4[3])[D_800EC9B8],
|
||||
((D_800EC9D4 << 4) * ((D_800EC9D6 - 1) / 16 + 1)) >> 1);
|
||||
} else {
|
||||
@@ -568,7 +567,7 @@ extern s32 CdRead2(s32 count);
|
||||
void func_800D2A24(s32 a0) {
|
||||
u8 *p;
|
||||
s32 r;
|
||||
register s32 v0 __asm__("$2");
|
||||
register s32 v0 __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
retry:
|
||||
p = D_800EC9E8;
|
||||
@@ -585,12 +584,12 @@ retry:
|
||||
goto retry;
|
||||
}
|
||||
v0 = 0;
|
||||
__asm__ __volatile__("" : : "r"(v0));
|
||||
__asm__ __volatile__("" : : "r"(v0)); // !FAKE: keepalive — NEEDED DIFFERS (P36 rung B tus9)
|
||||
return;
|
||||
|
||||
ret1:
|
||||
v0 = 1;
|
||||
__asm__ __volatile__("" : : "r"(v0));
|
||||
__asm__ __volatile__("" : : "r"(v0)); // !FAKE: keepalive — NEEDED DIFFERS (P36 rung B tus9)
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -639,7 +638,7 @@ extern s32 D_800DB5B0;
|
||||
extern void func_800D2E64();
|
||||
|
||||
void *func_800D2B64(void *arg0) {
|
||||
register void *base asm("$16");
|
||||
void *base;
|
||||
s32 *dst;
|
||||
s32 i;
|
||||
|
||||
@@ -749,7 +748,7 @@ __asm__(
|
||||
extern void func_800D2E64();
|
||||
extern void func_8005C604();
|
||||
extern volatile s32 *aD800DB670 __asm__("D_800DB670");
|
||||
extern volatile s32 *aD800DB644 __asm__("D_800DB644");
|
||||
extern s32 *aD800DB644 __asm__("D_800DB644");
|
||||
extern volatile s32 *aD800DB650 __asm__("D_800DB650");
|
||||
extern s32 D_800DB52C;
|
||||
extern s32 D_800DB5B0;
|
||||
@@ -903,7 +902,7 @@ __asm__(
|
||||
s32 aF800D30D0(char *arg0) __asm__("func_800D30D0");
|
||||
|
||||
s32 aF800D30D0(char *arg0) {
|
||||
register s32 ret __asm__("$2");
|
||||
s32 ret;
|
||||
s32 s0;
|
||||
|
||||
func_8005C604(D_800CEEB8, arg0);
|
||||
@@ -924,7 +923,7 @@ s32 aF800D30D0(char *arg0) {
|
||||
*D_800DB670 = 0x80000000;
|
||||
*D_800DB644 = 0;
|
||||
*D_800DB650 = 0;
|
||||
__asm__ volatile("" : "=r"(ret) : "0"(0));
|
||||
__asm__ volatile("" : "=r"(ret) : "0"(0)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
(void)*(volatile s32 *)D_800DB650;
|
||||
*D_800DB670 = 0x60000000;
|
||||
return ret;
|
||||
|
||||
@@ -530,7 +530,7 @@ void func_800D09A0(void) {
|
||||
*/
|
||||
void func_800D0A7C(void) {
|
||||
extern u8 D_800AF630[];
|
||||
extern volatile s32 D_800EC890;
|
||||
extern s32 D_800EC890;
|
||||
extern void func_800146B0(s32 a0);
|
||||
extern void func_800118AC();
|
||||
extern void func_800D12D0(void);
|
||||
|
||||
@@ -96,41 +96,40 @@ void func_800CEF50(void) {
|
||||
extern s16 D_800B9A02;
|
||||
extern u8 D_800AA60C[];
|
||||
|
||||
register s32 v __asm__("$2");
|
||||
register s32 c __asm__("$3");
|
||||
register u32 w __asm__("$4");
|
||||
register s32 x78 __asm__("$6");
|
||||
register s32 m __asm__("$7");
|
||||
register s32 f __asm__("$8");
|
||||
register s32 ten __asm__("$9");
|
||||
register s32 neg __asm__("$10");
|
||||
register s32 hundred __asm__("$11");
|
||||
register s32 five __asm__("$12");
|
||||
register s32 v2 __asm__("$13");
|
||||
register u32 *p __asm__("$5");
|
||||
register s32 pm __asm__("$5");
|
||||
register s32 v __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 c __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
u32 w;
|
||||
s32 x78;
|
||||
register s32 m __asm__("$7"); // !FAKE: pin $7 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 f;
|
||||
register s32 ten __asm__("$9"); // !FAKE: pin $9 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 neg __asm__("$10"); // !FAKE: pin $10 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 hundred __asm__("$11"); // !FAKE: pin $11 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 five __asm__("$12"); // !FAKE: pin $12 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 v2 __asm__("$13"); // !FAKE: pin $13 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register u32 *p __asm__("$5"); // !FAKE: pin $5 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 pm __asm__("$5"); // !FAKE: pin $5 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
v = 0xE100008A;
|
||||
v2 = 0xE100008C;
|
||||
m = 0xFF0000;
|
||||
__asm__("" : "=r"(m) : "0"(m));
|
||||
__asm__("" : "=r"(m) : "0"(m)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
five = 5;
|
||||
__asm__("" : "=r"(five) : "0"(five));
|
||||
__asm__("" : "=r"(five) : "0"(five)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
p = (u32 *)&D_800CF10C;
|
||||
m |= 0xFFFF;
|
||||
D_800CF10F = five;
|
||||
w = *p;
|
||||
__asm__ volatile("" ::: "memory");
|
||||
__asm__ volatile("" ::: "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9)
|
||||
hundred = 100;
|
||||
__asm__("" : "=r"(hundred) : "0"(hundred));
|
||||
__asm__ volatile("" ::: "memory");
|
||||
__asm__("" : "=r"(hundred) : "0"(hundred)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
D_800CF110 = v;
|
||||
v = -0xA0;
|
||||
neg = -0x6E;
|
||||
__asm__("" : "=r"(neg) : "0"(neg));
|
||||
__asm__("" : "=r"(neg) : "0"(neg)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
c = 0x80;
|
||||
ten = 10;
|
||||
__asm__("" : "=r"(ten) : "0"(ten));
|
||||
__asm__("" : "=r"(ten) : "0"(ten)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
D_800CF118 = v;
|
||||
v = 0x100;
|
||||
f = 0xF0;
|
||||
@@ -169,9 +168,8 @@ void func_800CEF50(void) {
|
||||
v = *(u32 *)c;
|
||||
*p = (w & x78) | (v & m);
|
||||
v = *(u32 *)c;
|
||||
__asm__("and %0,%1,%2" : "=r"(pm) : "r"(p), "r"(m));
|
||||
__asm__("and %0,%1,%2" : "=r"(pm) : "r"(p), "r"(m)); // !FAKE: instruction and — NEEDED DIFFERS (P36 rung B tus9)
|
||||
v = (v & x78) | pm;
|
||||
__asm__ volatile("" ::: "memory");
|
||||
p = (u32 *)&D_800CF124;
|
||||
*(u32 *)c = v;
|
||||
|
||||
@@ -182,7 +180,7 @@ void func_800CEF50(void) {
|
||||
v = *(u32 *)c;
|
||||
*p = (w & x78) | (v & m);
|
||||
v = *(u32 *)c;
|
||||
__asm__("and %0,%1,%2" : "=r"(pm) : "r"(p), "r"(m));
|
||||
__asm__("and %0,%1,%2" : "=r"(pm) : "r"(p), "r"(m)); // !FAKE: instruction and — NEEDED DIFFERS (P36 rung B tus9)
|
||||
v = (v & x78) | pm;
|
||||
*(u32 *)c = v;
|
||||
}
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
extern void (*D_800CDD08[])(void);
|
||||
|
||||
void func_800CD384(void) {
|
||||
register s32 idx __asm__("$2");
|
||||
__asm__ __volatile__("" : : "r"(idx));
|
||||
s32 idx;
|
||||
__asm__ __volatile__("" : : "r"(idx)); // !FAKE: keepalive — NEEDED DIFFERS (P36 rung B tus9)
|
||||
D_800CDD08[idx]();
|
||||
}
|
||||
|
||||
@@ -227,15 +227,15 @@ extern u16 D_800BAE22;
|
||||
|
||||
void func_800CD674(s32 x, s32 y, s32 c) {
|
||||
u8 *p;
|
||||
register u32 tp0 __asm__("$3") = 0xE1000086;
|
||||
register u32 *ot __asm__("$7");
|
||||
register u32 m24 __asm__("$9") = 0x00FFFFFF;
|
||||
register u32 mff __asm__("$11") = 0xFF000000;
|
||||
register u32 tpr __asm__("$17");
|
||||
register u32 pm __asm__("$8");
|
||||
u32 tp0 = 0xE1000086;
|
||||
register u32 *ot __asm__("$7"); // !FAKE: pin $7 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register u32 m24 __asm__("$9") = 0x00FFFFFF; // !FAKE: pin $9 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
u32 mff = 0xFF000000;
|
||||
register u32 tpr __asm__("$17"); // !FAKE: pin $17 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register u32 pm __asm__("$8"); // !FAKE: pin $8 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
u32 pm2;
|
||||
u32 pm3;
|
||||
register u32 otv __asm__("$3");
|
||||
register u32 otv __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
p = (u8 *)D_800A71D0;
|
||||
tpr = 0xE1000087;
|
||||
@@ -319,7 +319,7 @@ void func_800CD674(s32 x, s32 y, s32 c) {
|
||||
p += 0x18;
|
||||
D_800A71D0 = p;
|
||||
*ot = (otv & mff) | pm2;
|
||||
__asm__ volatile("" : "=r"(pm3));
|
||||
__asm__ volatile("" : "=r"(pm3)); // !FAKE: launder out-only — NEEDED DIFFERS (P36 rung B tus9)
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -163,7 +163,7 @@ void func_800CB138(s32 arg0) {
|
||||
u8 *p;
|
||||
s32 m;
|
||||
s32 ang;
|
||||
register s32 ang2 __asm__("$4");
|
||||
register s32 ang2 __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
ent = *(s32 *)(arg0 + 0x34);
|
||||
if ((*(s32 *)(arg0 + 0x2C) & 0x8000) == 0) {
|
||||
@@ -179,9 +179,9 @@ void func_800CB138(s32 arg0) {
|
||||
if (p != 0) {
|
||||
*(s16 *)(arg0 + 0x10) = rand() & 0xFFF;
|
||||
m = *(s32 *)(arg0 + 0x34);
|
||||
__asm__ __volatile__("" : : : "memory");
|
||||
{ register Blk20 *s __asm__("$5") = &D_800AE620; s32 t0, t1, t2;
|
||||
__asm__ __volatile__("" : "=r"(s) : "0"(s));
|
||||
__asm__ __volatile__("" : : : "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9)
|
||||
{ register Blk20 *s __asm__("$5") = &D_800AE620; s32 t0, t1, t2; // !FAKE: pin $5 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
__asm__ __volatile__("" : "=r"(s) : "0"(s)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
t0 = s->w[0]; t1 = s->w[1]; t2 = s->w[2];
|
||||
blk.w[0] = t0; blk.w[1] = t1; blk.w[2] = t2;
|
||||
t0 = s->w[3]; t1 = s->w[4]; t2 = s->w[5];
|
||||
@@ -189,30 +189,30 @@ void func_800CB138(s32 arg0) {
|
||||
t0 = s->w[6]; t1 = s->w[7];
|
||||
blk.w[6] = t0; blk.w[7] = t1; }
|
||||
ang = *(s16 *)(arg0 + 0x10);
|
||||
{ void *q = &blk; RotMatrixZ(ang, q); __asm__ __volatile__("" : "=r"(q)); }
|
||||
{ void *q = &blk; RotMatrixZ(ang, q); __asm__ __volatile__("" : "=r"(q)); } // !FAKE: launder out-only — NEEDED DIFFERS (P36 rung B tus9)
|
||||
vec[0] = *(s32 *)(arg0 + 0x30) << 2;
|
||||
vec[1] = 0;
|
||||
vec[2] = 0x30;
|
||||
{ void *q = &blk; ApplyMatrixSV(q, vec, vec); __asm__ __volatile__("" : "=r"(q)); }
|
||||
{ void *q = &blk; ApplyMatrixSV(q, vec, vec); __asm__ __volatile__("" : "=r"(q)); } // !FAKE: launder out-only — NEEDED DIFFERS (P36 rung B tus9)
|
||||
m += 0x38;
|
||||
func_8012F14C(m, (s32)vec, (s32)vec);
|
||||
*(s16 *)(arg0 + 6) = vec[0];
|
||||
*(s16 *)(arg0 + 0xA) = vec[1];
|
||||
ang2 = ang + 0x200;
|
||||
__asm__ __volatile__("" : : : "memory");
|
||||
__asm__ __volatile__("" : : : "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9)
|
||||
*(s16 *)(arg0 + 0xE) = vec[2];
|
||||
__asm__ __volatile__("" : : : "memory");
|
||||
{ register Blk20 *s __asm__("$7") = &D_800AE620;
|
||||
s32 t0, t1; register s32 t2 __asm__("$6");
|
||||
__asm__ __volatile__("" : "=r"(s) : "0"(s));
|
||||
__asm__ __volatile__("" : : : "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9)
|
||||
{ register Blk20 *s __asm__("$7") = &D_800AE620; // !FAKE: pin $7 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 t0, t1; register s32 t2 __asm__("$6"); // !FAKE: pin $6 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
__asm__ __volatile__("" : "=r"(s) : "0"(s)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
t0 = s->w[0]; t1 = s->w[1]; t2 = s->w[2];
|
||||
blk.w[0] = t0; blk.w[1] = t1; blk.w[2] = t2;
|
||||
t0 = s->w[3]; t1 = s->w[4]; t2 = s->w[5];
|
||||
blk.w[3] = t0; blk.w[4] = t1; blk.w[5] = t2;
|
||||
t0 = s->w[6]; t1 = s->w[7];
|
||||
blk.w[6] = t0; blk.w[7] = t1; }
|
||||
{ void *q; __asm__ __volatile__("" : : : "memory"); q = &blk;
|
||||
RotMatrixZ(ang2, q); __asm__ __volatile__("" : "=r"(q)); }
|
||||
{ void *q; __asm__ __volatile__("" : : : "memory"); q = &blk; // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9)
|
||||
RotMatrixZ(ang2, q); __asm__ __volatile__("" : "=r"(q)); } // !FAKE: launder out-only — NEEDED DIFFERS (P36 rung B tus9)
|
||||
MulMatrix0(m, &blk, arg0 + 0x38);
|
||||
*(s32 *)(arg0 + 0x20) = (s32)p;
|
||||
*(s32 *)(p + 0x34) = arg0 + 0x38;
|
||||
@@ -320,14 +320,14 @@ void func_800CB56C(s32 arg0) {
|
||||
s32 ent;
|
||||
s32 obj;
|
||||
s32 ang;
|
||||
register s32 ang2 __asm__("$4");
|
||||
register s32 ang2 __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
obj = *(s32 *)(arg0 + 0x20);
|
||||
__asm__ __volatile__("" : : : "memory");
|
||||
__asm__ __volatile__("" : : : "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9)
|
||||
ent = *(s32 *)(arg0 + 0x34);
|
||||
__asm__ __volatile__("" : : : "memory");
|
||||
{ register Blk20 *s __asm__("$5") = &D_800AE620; s32 t0, t1, t2;
|
||||
__asm__ __volatile__("" : "=r"(s) : "0"(s));
|
||||
__asm__ __volatile__("" : : : "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9)
|
||||
{ register Blk20 *s __asm__("$5") = &D_800AE620; s32 t0, t1, t2; // !FAKE: pin $5 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
__asm__ __volatile__("" : "=r"(s) : "0"(s)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
t0 = s->w[0]; t1 = s->w[1]; t2 = s->w[2];
|
||||
blk.w[0] = t0; blk.w[1] = t1; blk.w[2] = t2;
|
||||
t0 = s->w[3]; t1 = s->w[4]; t2 = s->w[5];
|
||||
@@ -335,30 +335,30 @@ void func_800CB56C(s32 arg0) {
|
||||
t0 = s->w[6]; t1 = s->w[7];
|
||||
blk.w[6] = t0; blk.w[7] = t1; }
|
||||
ang = *(s16 *)(arg0 + 0x10);
|
||||
{ void *q = &blk; RotMatrixZ(ang, q); __asm__ __volatile__("" : "=r"(q)); }
|
||||
{ void *q = &blk; RotMatrixZ(ang, q); __asm__ __volatile__("" : "=r"(q)); } // !FAKE: launder out-only — NEEDED DIFFERS (P36 rung B tus9)
|
||||
vec[0] = *(s32 *)(arg0 + 0x30) << 2;
|
||||
vec[1] = 0;
|
||||
vec[2] = 0x30;
|
||||
{ void *q = &blk; ApplyMatrixSV(q, vec, vec); __asm__ __volatile__("" : "=r"(q)); }
|
||||
{ void *q = &blk; ApplyMatrixSV(q, vec, vec); __asm__ __volatile__("" : "=r"(q)); } // !FAKE: launder out-only — NEEDED DIFFERS (P36 rung B tus9)
|
||||
ent += 0x38;
|
||||
func_8012F14C(ent, (s32)vec, (s32)vec);
|
||||
*(s16 *)(arg0 + 6) = vec[0];
|
||||
*(s16 *)(arg0 + 0xA) = vec[1];
|
||||
ang2 = ang + 0x200;
|
||||
__asm__ __volatile__("" : : : "memory");
|
||||
__asm__ __volatile__("" : : : "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9)
|
||||
*(s16 *)(arg0 + 0xE) = vec[2];
|
||||
__asm__ __volatile__("" : : : "memory");
|
||||
{ register Blk20 *s __asm__("$7") = &D_800AE620;
|
||||
s32 t0, t1; register s32 t2 __asm__("$6");
|
||||
__asm__ __volatile__("" : "=r"(s) : "0"(s));
|
||||
__asm__ __volatile__("" : : : "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9)
|
||||
{ register Blk20 *s __asm__("$7") = &D_800AE620; // !FAKE: pin $7 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 t0, t1; register s32 t2 __asm__("$6"); // !FAKE: pin $6 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
__asm__ __volatile__("" : "=r"(s) : "0"(s)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
t0 = s->w[0]; t1 = s->w[1]; t2 = s->w[2];
|
||||
blk.w[0] = t0; blk.w[1] = t1; blk.w[2] = t2;
|
||||
t0 = s->w[3]; t1 = s->w[4]; t2 = s->w[5];
|
||||
blk.w[3] = t0; blk.w[4] = t1; blk.w[5] = t2;
|
||||
t0 = s->w[6]; t1 = s->w[7];
|
||||
blk.w[6] = t0; blk.w[7] = t1; }
|
||||
{ void *q; __asm__ __volatile__("" : : : "memory"); q = &blk;
|
||||
RotMatrixZ(ang2, q); __asm__ __volatile__("" : "=r"(q)); }
|
||||
{ void *q; __asm__ __volatile__("" : : : "memory"); q = &blk; // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9)
|
||||
RotMatrixZ(ang2, q); __asm__ __volatile__("" : "=r"(q)); } // !FAKE: launder out-only — NEEDED DIFFERS (P36 rung B tus9)
|
||||
MulMatrix0(ent, &blk, arg0 + 0x38);
|
||||
if (func_80128ED8(obj, (s32 *)(arg0 + 0x24)) != 0) {
|
||||
((void (*)(s32))func_80146C3C)(arg0);
|
||||
|
||||
@@ -219,7 +219,7 @@ void func_800CB358(void *param_1) {
|
||||
extern u8 D_80078EC1;
|
||||
extern void func_80146C3C();
|
||||
extern void func_800CAF90(void *a0);
|
||||
register s32 iVar2 __asm__("$2");
|
||||
s32 iVar2;
|
||||
s32 cnt;
|
||||
|
||||
if (*(u8 *)&D_80078EC1 != 5) goto LAB_800CB454;
|
||||
|
||||
@@ -204,8 +204,8 @@ void func_800CB2E0(void *arg0) {
|
||||
extern s32 D_80114EB0;
|
||||
extern s32 D_80114EC8;
|
||||
|
||||
register void *a0v __asm__("$17");
|
||||
register void *fp __asm__("$18");
|
||||
void *a0v;
|
||||
register void *fp __asm__("$18"); // !FAKE: pin $18 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
u8 buf[0x40];
|
||||
s32 sp60;
|
||||
s32 cmd;
|
||||
@@ -216,7 +216,7 @@ void func_800CB2E0(void *arg0) {
|
||||
if (func_80146E98((s32)a0v)) {
|
||||
func_80146A6C(3, a0v, *(s16 *)((u8 *)a0v + 6), *(s16 *)((u8 *)a0v + 0xA), *(s16 *)((u8 *)a0v + 0xE), 0, 0x80001C00);
|
||||
} else {
|
||||
register u8 *bp __asm__("$16");
|
||||
u8 *bp;
|
||||
bp = buf + 0x20;
|
||||
func_80013F3C(bp);
|
||||
func_800126C4((s32)bp, *(s16 *)((u8 *)fp + 0x10));
|
||||
|
||||
@@ -173,8 +173,8 @@ typedef struct {
|
||||
} Blk16;
|
||||
|
||||
void func_800CB228(s32 arg0) {
|
||||
register s32 ent __asm__("$7");
|
||||
register s32 oth __asm__("$5");
|
||||
s32 ent;
|
||||
s32 oth;
|
||||
s32 cnt;
|
||||
s32 p;
|
||||
u16 t0;
|
||||
@@ -261,7 +261,7 @@ void func_800CB458(s32 arg0) {
|
||||
extern void func_800CAF84(void);
|
||||
extern s32 func_80146A6C(s32 a0, s32 a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
typedef struct { s32 w[4]; } Struct16;
|
||||
register s32 keep_a0 __asm__("$4");
|
||||
register s32 keep_a0 __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 s0 = arg0;
|
||||
s32 s1;
|
||||
s32 v0;
|
||||
@@ -273,7 +273,7 @@ void func_800CB458(s32 arg0) {
|
||||
|
||||
*(Struct16 *)(s0 + 0x38) = *(Struct16 *)(v0 + 0x34);
|
||||
*(Struct16 *)(s0 + 0x48) = *(Struct16 *)(v0 + 0x44);
|
||||
__asm__ __volatile__("" :: "r"(keep_a0));
|
||||
__asm__ __volatile__("" :: "r"(keep_a0)); // !FAKE: keepalive — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
func_800CAF84();
|
||||
|
||||
|
||||
@@ -242,7 +242,7 @@ void func_800CB328(void *a0) {
|
||||
extern Mtx32b D_800AE620;
|
||||
|
||||
void *obj = a0;
|
||||
register void *pf20 __asm__("$20");
|
||||
register void *pf20 __asm__("$20"); // !FAKE: pin $20 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
void *pf34;
|
||||
Svec3 rot;
|
||||
Mtx32b m;
|
||||
|
||||
@@ -434,7 +434,7 @@ void func_800CB9F8(u16 *a0, u16 *a1, s32 *a2, s32 *a3, s32 stg) {
|
||||
void *pa;
|
||||
s32 t;
|
||||
|
||||
t = *(volatile s32 *)&stg;
|
||||
t = *(s32 *)&stg;
|
||||
p[0].v[0] = a0[0] - 8;
|
||||
p[0].v[1] = a0[1];
|
||||
p[0].v[2] = a0[2];
|
||||
@@ -447,10 +447,10 @@ void func_800CB9F8(u16 *a0, u16 *a1, s32 *a2, s32 *a3, s32 stg) {
|
||||
p[3].v[0] = a1[0] + 8;
|
||||
p[3].v[1] = a1[1];
|
||||
p[3].v[2] = a1[2];
|
||||
w[0] = *(volatile s32 *)a3;
|
||||
w[1] = *(volatile s32 *)a3;
|
||||
w[2] = *(volatile s32 *)(a3 + 1);
|
||||
w[3] = *(volatile s32 *)(a3 + 1);
|
||||
w[0] = *(s32 *)a3;
|
||||
w[1] = *(s32 *)a3;
|
||||
w[2] = *(s32 *)(a3 + 1);
|
||||
w[3] = *(s32 *)(a3 + 1);
|
||||
hdr[0] = 0x50000000;
|
||||
func_80017DC4((void *)t, (void *)mat);
|
||||
pa = p;
|
||||
|
||||
@@ -712,7 +712,7 @@ s32 func_801F03C0(s32 ot, u8 *s, s16 c) {
|
||||
s32 flag;
|
||||
s32 dim;
|
||||
s32 dim2;
|
||||
register s32 dim3 __asm__("$16");
|
||||
register s32 dim3 __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 t;
|
||||
s16 i;
|
||||
s16 k;
|
||||
@@ -1273,7 +1273,7 @@ unsigned short *dst;
|
||||
short flag;
|
||||
{
|
||||
extern unsigned short *D_801F31E8[];
|
||||
register unsigned int d __asm__("$3");
|
||||
register unsigned int d __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
short i;
|
||||
int idx;
|
||||
|
||||
@@ -1338,7 +1338,7 @@ s32 *func_801F1520(s32 *out) {
|
||||
*((u8 *)out + 0xC) = 0x70;
|
||||
*((u8 *)out + 0xD) = 0x10;
|
||||
out[1] = 0x64808080;
|
||||
pb = (volatile u16 *)&D_800B9A02;
|
||||
pb = (u16 *)&D_800B9A02;
|
||||
*(u16 *)((u8 *)out + 0xE) = 0x4056;
|
||||
|
||||
d = n - 0x60; /* [L2] */
|
||||
@@ -1358,7 +1358,7 @@ s32 *func_801F1520(s32 *out) {
|
||||
((PTag_801F1520 *)(D_800AE7BC[*pb].ot + 2))->addr;
|
||||
{
|
||||
u32 *op;
|
||||
register u32 v __asm__("$2"); /* [L3] */
|
||||
register u32 v __asm__("$2"); /* [L3] */ // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
op = D_800AE7BC[*pb].ot;
|
||||
v = op[2];
|
||||
v = (v & 0xFF000000) | (((u32)out) & 0xFFFFFF);
|
||||
|
||||
@@ -191,17 +191,15 @@ s32 func_801F2348(void) {
|
||||
t = 0;
|
||||
goto join;
|
||||
}
|
||||
__asm__("");
|
||||
if (x < 300) {
|
||||
t = 1;
|
||||
goto join;
|
||||
}
|
||||
__asm__("");
|
||||
if (func_80029178(250) & 0xFF) {
|
||||
t = 0;
|
||||
goto join;
|
||||
}
|
||||
__asm__("");
|
||||
__asm__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
t = 1;
|
||||
join:
|
||||
if (t != 0) {
|
||||
@@ -232,17 +230,15 @@ s32 func_801F23D0(void) {
|
||||
t = 0;
|
||||
goto join;
|
||||
}
|
||||
__asm__("");
|
||||
if (x < 300) {
|
||||
t = 1;
|
||||
goto join;
|
||||
}
|
||||
__asm__("");
|
||||
if (func_80029178(250) & 0xFF) {
|
||||
t = 0;
|
||||
goto join;
|
||||
}
|
||||
__asm__("");
|
||||
__asm__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
t = 1;
|
||||
join:
|
||||
if (t != 0) {
|
||||
@@ -270,17 +266,15 @@ s32 func_801F2458(void) {
|
||||
t = 0;
|
||||
goto join;
|
||||
}
|
||||
__asm__("");
|
||||
if (x < 300) {
|
||||
t = 1;
|
||||
goto join;
|
||||
}
|
||||
__asm__("");
|
||||
if (func_80029178(250) & 0xFF) {
|
||||
t = 0;
|
||||
goto join;
|
||||
}
|
||||
__asm__("");
|
||||
__asm__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
t = 1;
|
||||
join:
|
||||
if (t != 0 && (func_80029178(276) & 0xFF) == 0) {
|
||||
|
||||
@@ -683,7 +683,7 @@ s32 func_801E3540(s32 ot, u8 *s, s16 c) {
|
||||
s32 flag;
|
||||
s32 dim;
|
||||
s32 dim2;
|
||||
register s32 dim3 __asm__("$16");
|
||||
register s32 dim3 __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 t;
|
||||
s16 i;
|
||||
s16 k;
|
||||
@@ -1293,7 +1293,7 @@ short flag;
|
||||
extern unsigned short *D_801E6350[];
|
||||
short i;
|
||||
int idx;
|
||||
register unsigned int d __asm__("$3");
|
||||
register unsigned int d __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
for (i = 0; i < n; i++) {
|
||||
d = val >> 28;
|
||||
@@ -1355,7 +1355,7 @@ s32 *func_801E46A0(s32 *out) {
|
||||
*((u8 *)out + 0xC) = 0x70;
|
||||
*((u8 *)out + 0xD) = 0x10;
|
||||
out[1] = 0x64808080;
|
||||
pb = (volatile u16 *)&D_800B9A02;
|
||||
pb = (u16 *)&D_800B9A02;
|
||||
*(u16 *)((u8 *)out + 0xE) = 0x4056;
|
||||
|
||||
d = n - 0x60; /* [L2] */
|
||||
@@ -1375,7 +1375,7 @@ s32 *func_801E46A0(s32 *out) {
|
||||
((PTag_801E46A0 *)(D_800AE7BC[*pb].ot + 2))->addr;
|
||||
{
|
||||
u32 *op;
|
||||
register u32 v __asm__("$2"); /* [L3] */
|
||||
register u32 v __asm__("$2"); /* [L3] */ // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
op = D_800AE7BC[*pb].ot;
|
||||
v = op[2];
|
||||
v = (v & 0xFF000000) | (((u32)out) & 0xFFFFFF);
|
||||
|
||||
@@ -201,17 +201,15 @@ s32 func_801E5514(void) {
|
||||
t = 0;
|
||||
goto join;
|
||||
}
|
||||
__asm__("");
|
||||
if (x < 300) {
|
||||
t = 1;
|
||||
goto join;
|
||||
}
|
||||
__asm__("");
|
||||
if (func_80029178(250) & 0xFF) {
|
||||
t = 0;
|
||||
goto join;
|
||||
}
|
||||
__asm__("");
|
||||
__asm__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
t = 1;
|
||||
join:
|
||||
if (t != 0) {
|
||||
@@ -238,7 +236,7 @@ void func_801E559C(void) {
|
||||
s32 flag;
|
||||
|
||||
t = func_80029504();
|
||||
flag = ((u32)(t - 200) < 100u) ? 0 : ((t < 300) ? 1 : (((func_80029178(250) & 0xFF) ? 0 : ({ __asm__(""); 1; }))));
|
||||
flag = ((u32)(t - 200) < 100u) ? 0 : ((t < 300) ? 1 : (((func_80029178(250) & 0xFF) ? 0 : ({ __asm__(""); 1; })))); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
if (flag) {
|
||||
*(s32 *)(*(s32 *)&D_801E256C + 4) = (s32)D_801E68BC;
|
||||
} else {
|
||||
@@ -373,7 +371,7 @@ void func_801E56A8(s32 a0) {
|
||||
extern s32 D_801E6DF4;
|
||||
extern s32 D_801E6E40;
|
||||
|
||||
register s32 flag __asm__("$2");
|
||||
s32 flag;
|
||||
|
||||
s32 v1 = func_80029504();
|
||||
|
||||
|
||||
@@ -693,7 +693,7 @@ s32 func_801E8A80(s32 ot, u8 *s, s16 c) {
|
||||
s32 flag;
|
||||
s32 dim;
|
||||
s32 dim2;
|
||||
register s32 dim3 __asm__("$16");
|
||||
register s32 dim3 __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 t;
|
||||
s16 i;
|
||||
s16 k;
|
||||
@@ -860,7 +860,7 @@ void func_801E8DF4(void) {
|
||||
if (D_8011512C == 4) {
|
||||
return;
|
||||
}
|
||||
__asm__ __volatile__("");
|
||||
__asm__ __volatile__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
if (D_8011512C == 0xA) {
|
||||
return;
|
||||
}
|
||||
@@ -1269,7 +1269,7 @@ u32 func_801E9B00(s32 a0, s32 a1) {
|
||||
|
||||
void func_801E9B68(unsigned int val, short n, unsigned short *dst, short flag) {
|
||||
extern unsigned short *D_801EB8B8[];
|
||||
register unsigned int d __asm__("$3");
|
||||
register unsigned int d __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
short i;
|
||||
int idx;
|
||||
|
||||
@@ -1336,7 +1336,7 @@ s32 *func_801E9BE0(s32 *out) {
|
||||
*((u8 *)out + 0xC) = 0x70;
|
||||
*((u8 *)out + 0xD) = 0x10;
|
||||
out[1] = 0x64808080;
|
||||
pb = (volatile u16 *)&D_800B9A02;
|
||||
pb = (u16 *)&D_800B9A02;
|
||||
*(u16 *)((u8 *)out + 0xE) = 0x4056;
|
||||
|
||||
d = n - 0x60; /* [L2] */
|
||||
@@ -1356,7 +1356,7 @@ s32 *func_801E9BE0(s32 *out) {
|
||||
((PTag_801E9BE0 *)(D_800AE7BC[*pb].ot + 2))->addr;
|
||||
{
|
||||
u32 *op;
|
||||
register u32 v __asm__("$2"); /* [L3] */
|
||||
register u32 v __asm__("$2"); /* [L3] */ // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
op = D_800AE7BC[*pb].ot;
|
||||
v = op[2];
|
||||
v = (v & 0xFF000000) | (((u32)out) & 0xFFFFFF);
|
||||
|
||||
@@ -223,17 +223,15 @@ s32 func_801EAA7C(void) {
|
||||
t = 0;
|
||||
goto join;
|
||||
}
|
||||
__asm__("");
|
||||
if (x < 300) {
|
||||
t = 1;
|
||||
goto join;
|
||||
}
|
||||
__asm__("");
|
||||
if (func_80029178(250) & 0xFF) {
|
||||
t = 0;
|
||||
goto join;
|
||||
}
|
||||
__asm__("");
|
||||
__asm__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
t = 1;
|
||||
join:
|
||||
if (t != 0) {
|
||||
@@ -258,7 +256,7 @@ void func_801EAB04(void) {
|
||||
r = func_80029504();
|
||||
v = ((u32)(r - 0xC8) < 0x64) ? 0 :
|
||||
((r < 0x12C) ? 1 :
|
||||
(((func_80029178(0xFA) & 0xFF) == 0) ? ({ __asm__ __volatile__("" ::: "memory"); 1; }) : 0));
|
||||
(((func_80029178(0xFA) & 0xFF) == 0) ? ({ __asm__ __volatile__("" ::: "memory"); 1; }) : 0)); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9)
|
||||
if (v) {
|
||||
*(s32 *)(D_801E7AAC + 4) = (s32)&D_801EBE24;
|
||||
} else {
|
||||
|
||||
@@ -698,7 +698,7 @@ s32 func_801EE8E0(s32 ot, u8 *s, s16 c) {
|
||||
s32 flag;
|
||||
s32 dim;
|
||||
s32 dim2;
|
||||
register s32 dim3 __asm__("$16");
|
||||
register s32 dim3 __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 t;
|
||||
s16 i;
|
||||
s16 k;
|
||||
@@ -1228,7 +1228,7 @@ unsigned short *dst;
|
||||
short flag;
|
||||
{
|
||||
extern unsigned short *D_801F1740[];
|
||||
register unsigned int d __asm__("$3");
|
||||
register unsigned int d __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
short i;
|
||||
int idx;
|
||||
|
||||
@@ -1292,7 +1292,7 @@ s32 *func_801EFA40(s32 *out) {
|
||||
*((u8 *)out + 0xC) = 0x70;
|
||||
*((u8 *)out + 0xD) = 0x10;
|
||||
out[1] = 0x64808080;
|
||||
pb = (volatile u16 *)&D_800B9A02;
|
||||
pb = (u16 *)&D_800B9A02;
|
||||
*(u16 *)((u8 *)out + 0xE) = 0x4056;
|
||||
|
||||
d = n - 0x60; /* [L2] */
|
||||
@@ -1312,7 +1312,7 @@ s32 *func_801EFA40(s32 *out) {
|
||||
((PTag_801EFA40 *)(D_800AE7BC[*pb].ot + 2))->addr;
|
||||
{
|
||||
u32 *op;
|
||||
register u32 v __asm__("$2"); /* [L3] */
|
||||
register u32 v __asm__("$2"); /* [L3] */ // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
op = D_800AE7BC[*pb].ot;
|
||||
v = op[2];
|
||||
v = (v & 0xFF000000) | (((u32)out) & 0xFFFFFF);
|
||||
|
||||
+148
-162
@@ -25,7 +25,7 @@ extern s16 D_801F8714;
|
||||
void func_801A0230(s32 a0) {
|
||||
s32 v0;
|
||||
s32 v1;
|
||||
register s32 i __asm__("$4");
|
||||
register s32 i __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 *p;
|
||||
|
||||
if (func_8012C354(a0, (s32) &D_801AFBE4) != 0) {
|
||||
@@ -134,7 +134,7 @@ extern s32 D_801F8704;
|
||||
extern u16 D_801F885C;
|
||||
|
||||
void func_801A0400(s32 arg0) {
|
||||
register s32 *p __asm__("$17");
|
||||
register s32 *p __asm__("$17"); // !FAKE: pin $17 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 v0;
|
||||
s32 v1;
|
||||
s32 r6;
|
||||
@@ -1113,8 +1113,8 @@ extern s32 D_801C6644;
|
||||
extern u16 D_8019FF8A;
|
||||
|
||||
void func_801A1C7C(s32 s0) {
|
||||
register s32 *p __asm__("$4");
|
||||
register u16 t5c __asm__("$2");
|
||||
s32 *p;
|
||||
u16 t5c;
|
||||
s32 v0;
|
||||
s32 *q;
|
||||
u16 f9;
|
||||
@@ -1147,7 +1147,6 @@ void func_801A1C7C(s32 s0) {
|
||||
*(s32 *)(s0 + 0x1C) = 0x10;
|
||||
func_801A4328(0);
|
||||
p = &D_801C65E4;
|
||||
__asm__ __volatile__("" : : "r"(p));
|
||||
*(s16 *)(s0 + 0xAE) = -1;
|
||||
*(s32 *)(s0 + 0x58) = (s32)&D_801AFBC4 | 0x40000000 | 0x20000000;
|
||||
t5c = *(u16 *)(s0 + 0x5C) | 0x2000;
|
||||
@@ -1184,7 +1183,7 @@ extern s32 D_801AFCF8;
|
||||
the target's `addu $s0,$a0,$zero`. */
|
||||
void func_801A1E94(void)
|
||||
{
|
||||
register s32 param_1 __asm__("$4");
|
||||
register s32 param_1 __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 p;
|
||||
s32 *s0;
|
||||
s32 *s1;
|
||||
@@ -1416,7 +1415,7 @@ extern s32 D_801F8720;
|
||||
|
||||
void func_801A2364(s32 a0)
|
||||
{
|
||||
register s32 flag __asm__("$4");
|
||||
register s32 flag __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
func_80178B18(a0, (s32)&D_801AFD8C);
|
||||
flag = *(s32 *)(a0 + 0xD4);
|
||||
@@ -1526,7 +1525,7 @@ void func_801A2400(s32 arg0) {
|
||||
Mtx32_801A2400 m; /* sp+0x28 */
|
||||
Vec32_801A2400 sp48;
|
||||
M4_801A0168 sp58; /* sp+0x58 (house style: cf. func_801A19C0) */
|
||||
register s32 s1 __asm__("$17");
|
||||
s32 s1;
|
||||
s32 s0;
|
||||
s32 v0;
|
||||
s32 v1;
|
||||
@@ -1828,17 +1827,17 @@ extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
|
||||
void func_801A2DC4(s32 arg0) {
|
||||
s32 var;
|
||||
register s16 cae __asm__("$2");
|
||||
register u16 c76 __asm__("$2");
|
||||
register u16 t5c __asm__("$2");
|
||||
register u16 dv __asm__("$3");
|
||||
register s16 cae __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register u16 c76 __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register u16 t5c __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
u16 dv;
|
||||
|
||||
var = arg0;
|
||||
cae = -1;
|
||||
*(s16 *)(var + 0xAE) = cae;
|
||||
c76 = 0x800;
|
||||
*(u16 *)(var + 0x76) = c76;
|
||||
t5c = *(volatile u16 *)(var + 0x5C);
|
||||
t5c = *(u16 *)(var + 0x5C);
|
||||
*(u8 *)(var + 0xC1) = 0;
|
||||
dv = D_8019FF8A;
|
||||
*(u16 *)(var + 0x5E) = 0;
|
||||
@@ -2165,13 +2164,13 @@ void func_801A34FC(s32 arg0, u16 *arg1) {
|
||||
|
||||
s32 func_801A3594(void *a0) {
|
||||
s16 buf[12];
|
||||
register u16 b __asm__("$3");
|
||||
register u16 b __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
u16 a;
|
||||
s16 diff;
|
||||
s16 v1;
|
||||
register s32 tw __asm__("$2");
|
||||
register s16 t16 __asm__("$4");
|
||||
register s16 xr __asm__("$2");
|
||||
register s32 tw __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s16 t16;
|
||||
s16 xr;
|
||||
|
||||
v1 = *(s16 *)((s32)a0 + 0x106);
|
||||
switch (v1) {
|
||||
@@ -2223,7 +2222,7 @@ void func_801A3624(s32 target, u16 *cur, s32 step)
|
||||
if ((s16)diff < 0) {
|
||||
mag = -diff;
|
||||
}
|
||||
__asm__ __volatile__("" : "=r"(diff) : "0"(diff) : "memory");
|
||||
__asm__ __volatile__("" : "=r"(diff) : "0"(diff) : "memory"); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
if ((s16)mag > (u16)step) {
|
||||
if ((s16)diff < 0) {
|
||||
*cur = *cur - step;
|
||||
@@ -2262,8 +2261,8 @@ void func_801A36F0(void *a0) {
|
||||
extern u16 D_801AFE34[8];
|
||||
|
||||
void func_801A370C(s32 a0) {
|
||||
register s32 v0 __asm__("$2");
|
||||
register s32 v1 __asm__("$3");
|
||||
s32 v0;
|
||||
register s32 v1 __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
v0 = *(u16 *)(a0 + 0x10A);
|
||||
v1 = *(s32 *)(a0 + 0x20);
|
||||
@@ -2334,11 +2333,11 @@ s32 func_801A3798(s32 s0, s32 arg1) {
|
||||
s32 t;
|
||||
s32 p;
|
||||
u16 f9;
|
||||
register s32 zr __asm__("$0");
|
||||
register s32 zr __asm__("$0"); // !FAKE: pin $0 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
v0 = ((s32 (*)(s32, s32))func_801A395C)(s0, (s16)(*(u16 *)(s0 + 0x100) - 0x240));
|
||||
y = arg1 + zr;
|
||||
__asm__ ("" : "=r" (y) : "0" (y));
|
||||
__asm__ ("" : "=r" (y) : "0" (y)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
v1 = *(s16 *)(s0 + 0xE6);
|
||||
if (v1 >= 0) {
|
||||
func_8013240C((s32)&D_801F8724);
|
||||
@@ -2389,7 +2388,7 @@ s32 func_801A3798(s32 s0, s32 arg1) {
|
||||
#include "common.h"
|
||||
|
||||
void func_801A395C(s32 a0, s32 a1) {
|
||||
register s32 ret __asm__("$2");
|
||||
s32 ret;
|
||||
s16 cur;
|
||||
s16 t;
|
||||
s32 overshot;
|
||||
@@ -2397,7 +2396,7 @@ void func_801A395C(s32 a0, s32 a1) {
|
||||
t = (s16)a1;
|
||||
cur = *(s16 *)(a0 + 0xA);
|
||||
if (cur == t) {
|
||||
__asm__ __volatile__("");
|
||||
__asm__ __volatile__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
ret = 1;
|
||||
} else {
|
||||
if (t < cur) {
|
||||
@@ -2416,7 +2415,7 @@ void func_801A395C(s32 a0, s32 a1) {
|
||||
ret = 1;
|
||||
}
|
||||
}
|
||||
__asm__ __volatile__("" :: "r"(ret));
|
||||
__asm__ __volatile__("" :: "r"(ret)); // !FAKE: keepalive — NEEDED DIFFERS (P36 rung B tus9)
|
||||
}
|
||||
|
||||
|
||||
@@ -2509,7 +2508,7 @@ void func_801A3B18(s32 param_1)
|
||||
s32 e;
|
||||
s32 ang;
|
||||
s32 mag;
|
||||
register s32 zr __asm__("$0");
|
||||
register s32 zr __asm__("$0"); // !FAKE: pin $0 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 *p;
|
||||
/* D_800AE620 is the shared 32-byte matrix global; this TU already declares it
|
||||
* later as `extern Mtx32_801A90D8 D_800AE620;` (md_SC07_004.c:1569). Declared
|
||||
@@ -2674,8 +2673,8 @@ void func_801A3F10(void) {
|
||||
extern void func_801439C0(u8 *a0);
|
||||
|
||||
void func_801A3FB0(void *arg0) {
|
||||
register void *s0 __asm__("$16");
|
||||
register u8 *a0 __asm__("$4");
|
||||
void *s0;
|
||||
u8 *a0;
|
||||
s32 *v0p;
|
||||
|
||||
s0 = arg0;
|
||||
@@ -2795,15 +2794,15 @@ extern s16 D_801F8884;
|
||||
|
||||
void func_801A4258(void) {
|
||||
s32 pad[6];
|
||||
register s16 *p __asm__("$5");
|
||||
register s32 t __asm__("$3");
|
||||
register s32 u __asm__("$4");
|
||||
register s32 sum __asm__("$2");
|
||||
register s32 zr __asm__("$0");
|
||||
s16 *p;
|
||||
register s32 t __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 u __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 sum __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 zr __asm__("$0"); // !FAKE: pin $0 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 q;
|
||||
|
||||
(void)&pad;
|
||||
__asm__ __volatile__("" ::: "memory");
|
||||
__asm__ __volatile__("" ::: "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9)
|
||||
p = &D_801F8870;
|
||||
|
||||
t = *p;
|
||||
@@ -3214,8 +3213,8 @@ extern u16 D_8019FF8A;
|
||||
|
||||
void func_801A4ACC(void *a0)
|
||||
{
|
||||
register s32 *s0 __asm__("$16");
|
||||
register s32 s1 __asm__("$17");
|
||||
register s32 *s0 __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 s1 __asm__("$17"); // !FAKE: pin $17 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 *s2;
|
||||
s32 v0;
|
||||
s32 v1;
|
||||
@@ -3516,7 +3515,7 @@ void func_801A5094(void)
|
||||
vec1.vz = -(((r & 7) + 0x20) << 16);
|
||||
ApplyRotMatrixLV(&vec1, (void *)(p + 0x10));
|
||||
D_801F8747[0] = 1;
|
||||
__asm__ __volatile__("");
|
||||
__asm__ __volatile__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
*(s32 *)(p + 0x34) = *(s32 *)D_801F8744;
|
||||
*(s16 *)(p + 0x30) = 6;
|
||||
}
|
||||
@@ -3898,7 +3897,7 @@ void func_801A5B5C(void *arg0)
|
||||
extern s32 func_8004787C(s32 a0);
|
||||
|
||||
void func_801A5C44(void) {
|
||||
register s32 a0 __asm__("$4");
|
||||
register s32 a0 __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 s0 = a0;
|
||||
s32 s2;
|
||||
s32 s1;
|
||||
@@ -4046,8 +4045,8 @@ void func_801A5E60(s32 a0, u8 *v)
|
||||
|
||||
pv = v;
|
||||
{
|
||||
register u32 tv __asm__("$2") = *(u16 *)&D_800B9A02;
|
||||
register u32 bv __asm__("$3") = (u32)&D_800A6610;
|
||||
u32 tv = *(u16 *)&D_800B9A02;
|
||||
u32 bv = (u32)&D_800A6610;
|
||||
pot = (u32 *)((tv << 14) + bv);
|
||||
}
|
||||
pkt = func_80010A08(0x24);
|
||||
@@ -4068,7 +4067,7 @@ void func_801A5E60(s32 a0, u8 *v)
|
||||
|
||||
if ((flag & ~0x1000) == 0) {
|
||||
{
|
||||
register s32 ozt __asm__("$2") = otz;
|
||||
s32 ozt = otz;
|
||||
pz = ozt - 8;
|
||||
}
|
||||
if ((u32)pz < 0x1000) {
|
||||
@@ -4093,8 +4092,8 @@ void func_801A5E60(s32 a0, u8 *v)
|
||||
pkt[0x1C] = D_801F8744[0]; pkt[0x1D] = D_801F8745[0]; pkt[0x1E] = D_801F8746[0];
|
||||
}
|
||||
{
|
||||
register u32 m24 = 0x00FFFFFF;
|
||||
register u32 mFF = 0xFF000000;
|
||||
u32 m24 = 0x00FFFFFF;
|
||||
u32 mFF = 0xFF000000;
|
||||
|
||||
otp = (u32 *)(pz * 4 + (u32)pot);
|
||||
pkt[7] |= 2;
|
||||
@@ -4455,8 +4454,8 @@ extern u16 D_8019FF8A;
|
||||
extern s32 D_801C6644;
|
||||
|
||||
void func_801A6908(s32 s0) {
|
||||
register s32 *p __asm__("$4");
|
||||
register u16 t5c __asm__("$2");
|
||||
s32 *p;
|
||||
u16 t5c;
|
||||
u16 f9;
|
||||
if (func_801A3798(s0, 1) != 0) {
|
||||
func_8012A828(s0, &D_801EEAC8);
|
||||
@@ -4466,7 +4465,6 @@ void func_801A6908(s32 s0) {
|
||||
*(s32 *)(s0 + 0x1C) = 1;
|
||||
func_801A4328(0);
|
||||
p = &D_801C65E4;
|
||||
__asm__ __volatile__("" : : "r"(p));
|
||||
t5c = *(u16 *)(s0 + 0x5C) | 0x2000;
|
||||
*(s32 *)(s0 + 0x58) = (s32)&D_801AFBC4 | 0x40000000 | 0x20000000;
|
||||
f9 = D_8019FF8A & 0xF9FF;
|
||||
@@ -4915,8 +4913,8 @@ extern Blk4_801A7358 D_801F893C;
|
||||
void func_801A7358(u8 *s2)
|
||||
{
|
||||
Blk4_801A7358 *s3;
|
||||
register s32 s1 __asm__("$17");
|
||||
register void *s0 __asm__("$16");
|
||||
s32 s1;
|
||||
register void *s0 __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 v0;
|
||||
s32 t;
|
||||
u16 idx;
|
||||
@@ -5114,7 +5112,7 @@ void func_801A788C(s32 a0) {
|
||||
extern Blk4_801A7358 D_801F897C;
|
||||
extern Blk4_801A7358 D_801F89B8;
|
||||
extern Blk4_801A7358 D_801F89F8;
|
||||
register void *s0 __asm__("$16");
|
||||
void *s0;
|
||||
s32 v1;
|
||||
|
||||
switch (*(s16 *)(a0 + 0x2E)) {
|
||||
@@ -5197,7 +5195,7 @@ extern void func_801A8440(s32 a0);
|
||||
extern u8 D_801F88BA;
|
||||
|
||||
void func_801A7B08(s32 arg0) {
|
||||
register s32 s0 __asm__("$16");
|
||||
s32 s0;
|
||||
u8 *p;
|
||||
s0 = arg0;
|
||||
func_801A8440(s0);
|
||||
@@ -5296,7 +5294,7 @@ s32 func_801A7CDC(void *a0)
|
||||
v1 = *(void **)((char *)a0 + 0x20);
|
||||
*(u16 *)((char *)v1 + 0x2C) = 0xC040;
|
||||
*(s32 *)((char *)a0 + 0x1C) = 1;
|
||||
__asm__("" : "=r"(r) : "0"(5));
|
||||
r = 5;
|
||||
*(s16 *)((char *)a0 + 2) = (s16)r;
|
||||
return r;
|
||||
}
|
||||
@@ -5428,7 +5426,7 @@ extern Blk4_801A7358 D_801A01E8;
|
||||
extern Blk4_801A7358 D_801F88F8;
|
||||
|
||||
void func_801A7F84(s32 a0) {
|
||||
register s32 v1 __asm__("$3");
|
||||
s32 v1;
|
||||
s32 t;
|
||||
s32 buf;
|
||||
|
||||
@@ -5567,7 +5565,7 @@ extern void func_801292C8(u8 *a0);
|
||||
extern u8 D_801F89F8[4];
|
||||
|
||||
void func_801A8294(void *a0) {
|
||||
register u8 *base __asm__("$17");
|
||||
register u8 *base __asm__("$17"); // !FAKE: pin $17 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 sub;
|
||||
s16 val;
|
||||
|
||||
@@ -5980,7 +5978,7 @@ void func_801A8B64(s32 arg0, s32 arg1)
|
||||
SVec16_801A8B64 v;
|
||||
SXY_801A8B64 xy0;
|
||||
SXY_801A8B64 xy1;
|
||||
register s32 g __asm__("$6");
|
||||
register s32 g __asm__("$6"); // !FAKE: pin $6 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 ang;
|
||||
s32 dy, dx;
|
||||
s32 *p;
|
||||
@@ -6421,7 +6419,7 @@ void func_801A94A0(s32 *s1)
|
||||
}
|
||||
}
|
||||
{
|
||||
register s32 doMatrix __asm__("$2");
|
||||
register s32 doMatrix __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
doMatrix = flag;
|
||||
if (doMatrix != 0) {
|
||||
mtx = D_800AE620;
|
||||
@@ -6696,7 +6694,7 @@ void func_801A9C00(void *a0) {
|
||||
if (v0 != 0) {
|
||||
func_8012C890((s32)&sp[0], v0, (s32)a0);
|
||||
} else {
|
||||
__asm__ __volatile__("addu\t$v0,$zero,$zero");
|
||||
__asm__ __volatile__("addu\t$v0,$zero,$zero"); // !FAKE: instruction addu — REFUSED instruction `addu` has no C spelling in the table (P36 rung B tus9)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6954,13 +6952,13 @@ extern u8 D_801F88B9[];
|
||||
extern u8 D_801F88BA;
|
||||
|
||||
void func_801AA2F8(void) {
|
||||
register u8 *pbase __asm__("$2");
|
||||
register s32 idx __asm__("$16");
|
||||
register s32 c1 __asm__("$17");
|
||||
register s32 p __asm__("$18");
|
||||
register s32 c0 __asm__("$19");
|
||||
register u8 *q __asm__("$20");
|
||||
register s32 i __asm__("$21");
|
||||
u8 *pbase;
|
||||
s32 idx;
|
||||
s32 c1;
|
||||
s32 p;
|
||||
s32 c0;
|
||||
u8 *q;
|
||||
s32 i;
|
||||
|
||||
i = 0;
|
||||
pbase = ((u8 *)&D_801F88B8);
|
||||
@@ -7083,8 +7081,8 @@ extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
void func_801AA60C(s32 param_1, s32 param_2)
|
||||
{
|
||||
struct { s16 in[3]; s16 pad; s16 xy[2]; s32 p; s32 flag; } f;
|
||||
register s32 p1 __asm__("$17");
|
||||
register s32 s2 __asm__("$18");
|
||||
s32 p1;
|
||||
register s32 s2 __asm__("$18"); // !FAKE: pin $18 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s16 q;
|
||||
|
||||
p1 = param_1;
|
||||
@@ -7198,10 +7196,10 @@ extern s32 rand(void);
|
||||
|
||||
void func_801AA91C(s32 param_1, s32 param_2, s32 param_3)
|
||||
{
|
||||
register s32 s1 __asm__("$17") = param_1;
|
||||
register s32 s2 __asm__("$18") = param_2;
|
||||
register s32 s3 __asm__("$19") = param_3;
|
||||
register s32 s0 __asm__("$16");
|
||||
s32 s1 = param_1;
|
||||
s32 s2 = param_2;
|
||||
s32 s3 = param_3;
|
||||
s32 s0;
|
||||
|
||||
s0 = func_80132EF4(param_1, 0x71);
|
||||
|
||||
@@ -7516,13 +7514,13 @@ void func_801AADA8(s32 arg0, s32 arg1, s32 arg2)
|
||||
void *temp_v0;
|
||||
s32 ot;
|
||||
s32 depth4;
|
||||
register u16 *bidx __asm__("$8");
|
||||
register u32 mask1 __asm__("$7");
|
||||
register s32 rgb __asm__("$16");
|
||||
register u32 tag0 __asm__("$4");
|
||||
u16 *bidx;
|
||||
u32 mask1;
|
||||
register s32 rgb __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register u32 tag0 __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
rgb = arg2;
|
||||
__asm__("" : "=r"(rgb) : "0"(rgb)); /* zero-byte 2nd SET: kills the sched1 birthing boost */
|
||||
__asm__("" : "=r"(rgb) : "0"(rgb)); /* zero-byte 2nd SET: kills the sched1 birthing boost */ // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
temp_v0 = func_80010A08(0x10);
|
||||
*(u8 *)((u8 *)temp_v0 + 3) = 3;
|
||||
*(s32 *)((u8 *)temp_v0 + 4) = rgb;
|
||||
@@ -7715,21 +7713,21 @@ void func_801AB21C(s32 a0, s32 a1, s32 a2, s32 a3)
|
||||
p->y2 = p->y3 = 120;
|
||||
idx = a0 & 0xFFFF;
|
||||
if (idx != 0) {
|
||||
register u32 m24 = 0x00FFFFFF;
|
||||
register u32 mFF = 0xFF000000;
|
||||
register s32 i4 __asm__("$6") = idx * 4;
|
||||
register u32 pv __asm__("$4");
|
||||
u32 m24 = 0x00FFFFFF;
|
||||
u32 mFF = 0xFF000000;
|
||||
register s32 i4 __asm__("$6") = idx * 4; // !FAKE: pin $6 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register u32 pv __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
pv = *(u32 *)p;
|
||||
*(u32 *)p = (pv & mFF) | (*(u32 *)(i4 + D_800A651C[D_800B9A02].a) & m24);
|
||||
i4 += D_800A651C[D_800B9A02].a;
|
||||
*(u32 *)i4 = (*(u32 *)i4 & mFF) | ((u32)p & m24);
|
||||
func_80016638(&D_800A6518[D_800B9A02 * 20], idx, 1);
|
||||
} else {
|
||||
register u32 m24 = 0x00FFFFFF;
|
||||
register u32 pv __asm__("$3");
|
||||
u32 m24 = 0x00FFFFFF;
|
||||
register u32 pv __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
pv = *(u32 *)p;
|
||||
*(u32 *)p = (pv & 0xFF000000) | (*(u32 *)D_800AE7BC[D_800B9A02].a & m24);
|
||||
__asm__ __volatile__("" : "=r"(pv)); /* zero-byte 2nd SET: kills the sched1 birthing boost */
|
||||
__asm__ __volatile__("" : "=r"(pv)); /* zero-byte 2nd SET: kills the sched1 birthing boost */ // !FAKE: launder out-only — NEEDED DIFFERS (P36 rung B tus9)
|
||||
ot = (u32 *)D_800AE7BC[D_800B9A02].a;
|
||||
*ot = (*ot & 0xFF000000) | ((u32)p & m24);
|
||||
func_80016638(&D_800AE7B8[D_800B9A02 * 20], 0, 1);
|
||||
@@ -7795,11 +7793,11 @@ void func_801AB41C(void *arg0)
|
||||
|
||||
|
||||
void func_801AB54C(void *a0) {
|
||||
register s32 v __asm__("$2");
|
||||
register s32 c __asm__("$3");
|
||||
s32 v;
|
||||
s32 c;
|
||||
s32 p;
|
||||
s32 frame_pad[4];
|
||||
register s32 z __asm__("$0");
|
||||
register s32 z __asm__("$0"); // !FAKE: pin $0 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
func_801A8494(a0);
|
||||
|
||||
@@ -7835,14 +7833,14 @@ extern void func_80016450(s32 a0, s32 a1);
|
||||
extern void func_801A7CC8(void *a0);
|
||||
|
||||
void func_801AB5D4(void *arg0) {
|
||||
register void *s0 __asm__("$16");
|
||||
register u8 *a1 __asm__("$5");
|
||||
register s32 a2 __asm__("$6");
|
||||
void *s0;
|
||||
register u8 *a1 __asm__("$5"); // !FAKE: pin $5 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 a2;
|
||||
|
||||
s0 = arg0;
|
||||
if (*(s32 *)((u8 *)s0 + 0x1C) < 5) {
|
||||
{
|
||||
register s32 a0 __asm__("$4");
|
||||
s32 a0;
|
||||
a2 = 0;
|
||||
a1 = D_801F88C8;
|
||||
do {
|
||||
@@ -7855,7 +7853,7 @@ void func_801AB5D4(void *arg0) {
|
||||
}
|
||||
|
||||
{
|
||||
register s32 v0 __asm__("$2");
|
||||
s32 v0;
|
||||
v0 = *(u16 *)((u8 *)s0 + 0x2C);
|
||||
v0 += 0x10;
|
||||
*(u16 *)((u8 *)s0 + 0x2C) = v0;
|
||||
@@ -7864,7 +7862,7 @@ void func_801AB5D4(void *arg0) {
|
||||
}
|
||||
|
||||
{
|
||||
register s32 v0 __asm__("$2");
|
||||
s32 v0;
|
||||
v0 = *(s32 *)((u8 *)s0 + 0x1C);
|
||||
v0 -= 1;
|
||||
*(s32 *)((u8 *)s0 + 0x1C) = v0;
|
||||
@@ -7881,13 +7879,13 @@ extern u8 D_801F8A3A[];
|
||||
extern void func_80016450(s32 a0, s32 a1);
|
||||
|
||||
void func_801AB694(void *arg0) {
|
||||
register void *s0 __asm__("$16");
|
||||
register u8 *a1 __asm__("$5");
|
||||
register s32 a2 __asm__("$6");
|
||||
void *s0;
|
||||
register u8 *a1 __asm__("$5"); // !FAKE: pin $5 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 a2;
|
||||
|
||||
s0 = arg0;
|
||||
{
|
||||
register s32 a0 __asm__("$4");
|
||||
s32 a0;
|
||||
a2 = 0;
|
||||
a1 = D_801F88C8;
|
||||
do {
|
||||
@@ -7900,7 +7898,7 @@ void func_801AB694(void *arg0) {
|
||||
}
|
||||
|
||||
{
|
||||
register s32 a0 __asm__("$4");
|
||||
s32 a0;
|
||||
a0 = *(u16 *)((u8 *)s0 + 0x2C);
|
||||
a0 -= 0x10;
|
||||
*(u16 *)((u8 *)s0 + 0x2C) = a0;
|
||||
@@ -7908,7 +7906,7 @@ void func_801AB694(void *arg0) {
|
||||
}
|
||||
|
||||
{
|
||||
register s32 v0 __asm__("$2");
|
||||
s32 v0;
|
||||
v0 = *(s32 *)((u8 *)s0 + 0x1C);
|
||||
v0 -= 1;
|
||||
*(s32 *)((u8 *)s0 + 0x1C) = v0;
|
||||
@@ -7943,8 +7941,8 @@ extern void func_801292C8(u8 *a0);
|
||||
extern u8 D_801F88BA;
|
||||
|
||||
void func_801AB78C(void *a0) {
|
||||
register volatile u8 *p __asm__("$5") = &D_801F88BA;
|
||||
register s32 b __asm__("$3");
|
||||
volatile u8 *p = &D_801F88BA;
|
||||
register s32 b __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 t;
|
||||
if (*p == 0) {
|
||||
func_801292C8((u8 *)a0);
|
||||
@@ -7999,7 +7997,7 @@ void func_801AB818(void *a0) {
|
||||
* flow.c's last_mem_set dead-store rule so the FIRST store to the
|
||||
* temp survives, without pinning either store's schedule. Without
|
||||
* it the target's `sw $v0,0x10($sp)` at idx 24 is deleted. */
|
||||
__asm__("" ::: "memory");
|
||||
__asm__("" ::: "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9)
|
||||
*(s32 *)&tmp = cur + addend;
|
||||
*(U16x2N *)(s1 + 0) = tmp;
|
||||
} else {
|
||||
@@ -8289,9 +8287,9 @@ extern void func_801A93F4(void *a0);
|
||||
extern void func_801AA60C();
|
||||
|
||||
void func_801ABEE0(void *a0) {
|
||||
register s32 r0 __asm__("$16") = (s32)a0;
|
||||
register s32 ptr1 __asm__("$17");
|
||||
register s32 s2 __asm__("$18");
|
||||
s32 r0 = (s32)a0;
|
||||
register s32 ptr1 __asm__("$17"); // !FAKE: pin $17 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 s2;
|
||||
s16 v1;
|
||||
s32 val;
|
||||
s16 orig;
|
||||
@@ -8309,7 +8307,7 @@ void func_801ABEE0(void *a0) {
|
||||
func_801A9270((void *)r0);
|
||||
} else {
|
||||
if (s2 != 0) {
|
||||
register s32 inner __asm__("$17") = *(s32 *)(s2 + 0xCC);
|
||||
register s32 inner __asm__("$17") = *(s32 *)(s2 + 0xCC); // !FAKE: pin $17 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
if (inner != 0) {
|
||||
val = (v1 + 0x500) << 4;
|
||||
*(s16 *)(inner + 0x1A) = val;
|
||||
@@ -8488,8 +8486,8 @@ void func_801AC29C(void *a0) {
|
||||
}
|
||||
|
||||
{
|
||||
register void *ra0 __asm__("$4") = s1;
|
||||
__asm__ __volatile__("" : "=r"(ra0) : "0"(ra0));
|
||||
void *ra0 = s1;
|
||||
__asm__ __volatile__("" : "=r"(ra0) : "0"(ra0)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
*(u16 *)((s32)s1 + 0x70) = *(u8 *)((s32)s1 + 0x70);
|
||||
v0 = ((s32 (*)(s32, s32))func_80143994)((s32)ra0, v1);
|
||||
}
|
||||
@@ -8768,7 +8766,7 @@ void func_801AC9CC(void *arg0) {
|
||||
sp10[1] = *(u16 *)((u8 *)arg0 + 0xA);
|
||||
sp10[2] = *(u16 *)((u8 *)arg0 + 0xE);
|
||||
v0 = *(s16 *)((u8 *)arg0 + 0x30);
|
||||
__asm__ __volatile__("" ::: "memory");
|
||||
__asm__ __volatile__("" ::: "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9)
|
||||
a3 = *(u16 *)((u8 *)arg0 + 0x30);
|
||||
if (v0 == 0) {
|
||||
a3 = 6;
|
||||
@@ -9103,7 +9101,7 @@ void func_801AD068(void *arg0) {
|
||||
func_8012C218(arg0);
|
||||
} else {
|
||||
/* target keeps this guard value in $v1; unpinned it lands in $a0 (5 mismatches) */
|
||||
register s32 v1 __asm__("$3") = *(s32 *)((u8 *)arg0 + 0x1C);
|
||||
register s32 v1 __asm__("$3") = *(s32 *)((u8 *)arg0 + 0x1C); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 t; /* address-taken => lives in 0x10($sp); every assignment is a real store */
|
||||
s32 *p;
|
||||
|
||||
@@ -9431,11 +9429,11 @@ void func_801AD7EC(s32 a0) {
|
||||
/* register pins reproduce the target's density-priority regalloc order
|
||||
(cookbook §32#1 / regalloc-order): val->$s0, obj->$s1, i->$s2,
|
||||
c700->$s3, c100->$s4 -- matching the sw/addiu prologue order. */
|
||||
register s32 obj __asm__("$17") = a0;
|
||||
register s32 i __asm__("$18");
|
||||
register s32 c700 __asm__("$19");
|
||||
register s32 c100 __asm__("$20");
|
||||
register s32 val __asm__("$16");
|
||||
s32 obj = a0;
|
||||
s32 i;
|
||||
s32 c700;
|
||||
s32 c100;
|
||||
s32 val;
|
||||
Struct801AD7EC_Local local;
|
||||
|
||||
local.z = 0;
|
||||
@@ -9547,7 +9545,7 @@ extern void func_801ADBB0(s32 a0, s32 a1, s32 a2);
|
||||
|
||||
void func_801ADA9C(s32 arg0) {
|
||||
s16 sp10[3];
|
||||
register s16 *p __asm__("$3") = (s16 *)arg0;
|
||||
s16 *p = (s16 *)arg0;
|
||||
s32 i;
|
||||
s32 j;
|
||||
|
||||
@@ -9582,9 +9580,9 @@ void func_801ADBB0(s32 x, s32 y, s32 z)
|
||||
{
|
||||
extern u8 *func_8012913C(s32 a0);
|
||||
|
||||
register s32 tx __asm__("$18") = x;
|
||||
register s32 ty __asm__("$19") = y;
|
||||
register s16 dup __asm__("$16") = z;
|
||||
register s32 tx __asm__("$18") = x; // !FAKE: pin $18 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 ty __asm__("$19") = y; // !FAKE: pin $19 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s16 dup = z;
|
||||
u8 *work;
|
||||
|
||||
work = func_8012913C(0x74);
|
||||
@@ -9686,18 +9684,17 @@ extern void func_800599B8(void *rect, void *data);
|
||||
void func_801ADE1C(void *a0, u16 *a1, s8 *a2, u8 *a3) {
|
||||
Rec8_801A57E8 rect;
|
||||
s32 i;
|
||||
register void *pos __asm__("$10") = a0;
|
||||
register u16 *data __asm__("$11") = a1;
|
||||
register u16 *out __asm__("$8");
|
||||
void *pos = a0;
|
||||
u16 *data = a1;
|
||||
u16 *out;
|
||||
|
||||
__asm__ __volatile__("" : "=r"(pos) : "0"(pos) : "memory");
|
||||
__asm__ __volatile__("" : "=r"(data) : "0"(data) : "memory");
|
||||
__asm__ __volatile__("" : "=r"(pos) : "0"(pos) : "memory"); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
i = 0;
|
||||
out = data;
|
||||
for (; i < 16; i++) {
|
||||
register u32 c0 __asm__("$5");
|
||||
register u32 c2 __asm__("$4");
|
||||
register u32 c1 __asm__("$3");
|
||||
u32 c0;
|
||||
u32 c2;
|
||||
u32 c1;
|
||||
s32 k = i * 3;
|
||||
|
||||
if (a2[k + 0] > 0) {
|
||||
@@ -9774,7 +9771,7 @@ void func_801ADF5C(void *a0)
|
||||
void *s0;
|
||||
struct { s16 x, y, w, h; } rect;
|
||||
|
||||
register void *p __asm__("$3");
|
||||
void *p;
|
||||
|
||||
s0 = a0;
|
||||
|
||||
@@ -9789,57 +9786,47 @@ void func_801ADF5C(void *a0)
|
||||
* with the same zero-byte re-tie idiom func_8012956C uses for its
|
||||
* `base` pointer. */
|
||||
p = &D_800B9AC4;
|
||||
__asm__("" : "=r"(p) : "0"(p));
|
||||
*(void **)p = &D_801F76B0;
|
||||
D_800B9AC8 = &D_801F74A8;
|
||||
__asm__ __volatile__("");
|
||||
func_801298F4((void *)((u8 *)p - 0x4C));
|
||||
|
||||
{
|
||||
register s32 mask __asm__("$7");
|
||||
register s16 one __asm__("$6");
|
||||
register s32 rv0 __asm__("$2");
|
||||
register s32 rv1 __asm__("$3");
|
||||
register s32 ra1 __asm__("$5");
|
||||
s32 mask;
|
||||
s16 one;
|
||||
register s32 rv0 __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 rv1 __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 ra1 __asm__("$5"); // !FAKE: pin $5 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
mask = 0xF7FFFFFF;
|
||||
__asm__ __volatile__("");
|
||||
one = 1;
|
||||
__asm__ __volatile__("");
|
||||
__asm__ __volatile__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
rv0 = 0x2000;
|
||||
__asm__ __volatile__("");
|
||||
rv1 = 0x118;
|
||||
__asm__ __volatile__("");
|
||||
|
||||
D_800B9AA4 = (s16)rv0;
|
||||
D_800B9AA6 = (s16)rv0;
|
||||
|
||||
rv0 = 0x8C;
|
||||
__asm__ __volatile__("");
|
||||
|
||||
D_800B9A90 = (s16)rv1;
|
||||
D_800B9A92 = (s16)rv1;
|
||||
D_800B9AB4 = (s16)rv1;
|
||||
D_800B9AB6 = (s16)rv1;
|
||||
|
||||
__asm__ __volatile__("");
|
||||
|
||||
rv1 = D_800B9A88;
|
||||
__asm__ __volatile__("");
|
||||
__asm__ __volatile__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
ra1 = 0x100;
|
||||
__asm__ __volatile__("");
|
||||
|
||||
D_800B9AA0 = (s16)rv0;
|
||||
D_800B9AA2 = (s16)rv0;
|
||||
|
||||
rv0 = 0x1E0;
|
||||
__asm__ __volatile__("");
|
||||
|
||||
rect.x = (s16)ra1;
|
||||
rect.w = (s16)ra1;
|
||||
|
||||
ra1 = (s32)&D_801F8B18;
|
||||
__asm__ __volatile__("");
|
||||
|
||||
D_800B9AAE = one;
|
||||
D_800B9ABA = 0;
|
||||
@@ -9901,9 +9888,9 @@ extern u8 D_801F2538[];
|
||||
|
||||
void func_801AE138(void *param_1)
|
||||
{
|
||||
register s32 d __asm__("$17") = (s32)param_1;
|
||||
register s32 obj __asm__("$16");
|
||||
register s32 w __asm__("$18");
|
||||
register s32 d __asm__("$17") = (s32)param_1; // !FAKE: pin $17 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 obj;
|
||||
s32 w;
|
||||
|
||||
obj = ((s32 (*)(void))func_8012C1B8)();
|
||||
*(s32 *)(d + 0x20) = obj;
|
||||
@@ -10138,8 +10125,8 @@ extern void func_8012AD50(void *a0);
|
||||
extern u8 D_801F07E0[];
|
||||
|
||||
void func_801AE624(void *a0) {
|
||||
register void *s0 __asm__("$16");
|
||||
register s32 v0 __asm__("$2");
|
||||
register void *s0 __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 v0;
|
||||
s32 p;
|
||||
s32 q;
|
||||
s32 r;
|
||||
@@ -10195,7 +10182,7 @@ extern u8 D_801B0868[];
|
||||
|
||||
void func_801AE734(s32 arg0) {
|
||||
s32 s0;
|
||||
register s32 t1 __asm__("$9");
|
||||
s32 t1;
|
||||
s32 m;
|
||||
|
||||
s0 = arg0;
|
||||
@@ -10219,7 +10206,7 @@ void func_801AE734(s32 arg0) {
|
||||
extern void func_801ADA10();
|
||||
|
||||
void func_801AE82C(s32 a0) {
|
||||
register u32 zr __asm__("$0");
|
||||
register u32 zr __asm__("$0"); // !FAKE: pin $0 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 cnt;
|
||||
s32 v1;
|
||||
s32 t;
|
||||
@@ -10267,7 +10254,7 @@ extern void func_801AEAE4();
|
||||
extern void func_801292C8(u8 *a0);
|
||||
|
||||
void func_801AE908(void *a0) {
|
||||
register s32 p __asm__("$4");
|
||||
register s32 p __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
u16 t;
|
||||
|
||||
p = *(s32 *)((s32)a0 + 0x34);
|
||||
@@ -10399,9 +10386,9 @@ extern void func_801AEC38(s32 a0, s32 a1, s32 a2);
|
||||
|
||||
void func_801AEB94(void)
|
||||
{
|
||||
register s32 q __asm__("$16"); /* $s0 */
|
||||
register s32 i __asm__("$17"); /* $s1 */
|
||||
register s32 p __asm__("$18"); /* $s2 */
|
||||
s32 q; /* $s0 */
|
||||
s32 i; /* $s1 */
|
||||
s32 p; /* $s2 */
|
||||
s32 loc[8];
|
||||
s32 a0v, a1v;
|
||||
|
||||
@@ -10409,9 +10396,9 @@ void func_801AEB94(void)
|
||||
func_80049CAC(p + 0x10, (s32)loc);
|
||||
|
||||
a0v = (s32)loc;
|
||||
__asm__ __volatile__("" : "=r"(a0v) : "0"(a0v));
|
||||
__asm__ __volatile__("" : "=r"(a0v) : "0"(a0v)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
a1v = p + 8;
|
||||
__asm__ __volatile__("" : "=r"(a1v) : "0"(a1v));
|
||||
__asm__ __volatile__("" : "=r"(a1v) : "0"(a1v)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
q = p + 0x18;
|
||||
loc[5] = *(s16 *)p;
|
||||
@@ -10423,7 +10410,6 @@ void func_801AEB94(void)
|
||||
do {
|
||||
if (*(u16 *)q != 0) {
|
||||
s32 b0 = p;
|
||||
__asm__ __volatile__("" : "=r"(b0) : "0"(b0));
|
||||
func_801AEC38(b0, q, (s32)loc);
|
||||
}
|
||||
i++;
|
||||
@@ -10545,8 +10531,8 @@ void func_801AEC38(s32 a0, s32 a1, s32 a2)
|
||||
s32 w2;
|
||||
|
||||
{
|
||||
register u32 tv __asm__("$2") = *(u16 *)&D_800B9A02;
|
||||
register u32 bv __asm__("$3") = (u32)&D_800A6610;
|
||||
u32 tv = *(u16 *)&D_800B9A02;
|
||||
u32 bv = (u32)&D_800A6610;
|
||||
pot = (u32 *)((tv << 14) + bv);
|
||||
}
|
||||
s3 = *(s32 *)(((u8 *)a1) + 0x20);
|
||||
@@ -10611,7 +10597,7 @@ void func_801AEC38(s32 a0, s32 a1, s32 a2)
|
||||
|
||||
if ((flag & ~0x1000) == 0) {
|
||||
u8 pad1[8]; /* sp+0x90 */
|
||||
register s32 raw __asm__("$4");
|
||||
register s32 raw __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 d;
|
||||
|
||||
pz = otz + 1;
|
||||
@@ -10710,7 +10696,7 @@ void func_801AF2EC(void *a0) {
|
||||
|
||||
s1 = (s32 *)a0;
|
||||
v0_const = 0x0B;
|
||||
__asm__("");
|
||||
__asm__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s0 = *(s32 **)((u8 *)s1 + 0x20);
|
||||
|
||||
|
||||
@@ -10822,8 +10808,8 @@ void func_801AF368(void *a0)
|
||||
u8 *pkb;
|
||||
s32 d;
|
||||
u32 *otp;
|
||||
register u32 tv __asm__("$3"); /* twin §137 pin */
|
||||
register u32 tv2 __asm__("$4"); /* twin §137 pin */
|
||||
register u32 tv __asm__("$3"); /* twin §137 pin */ // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register u32 tv2 __asm__("$4"); /* twin §137 pin */ // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
u8 *rotm;
|
||||
|
||||
|
||||
@@ -243,7 +243,7 @@ void func_801287B8(void) {
|
||||
{
|
||||
/* D_80185C10 read: the target materializes &sym into $a0 then lw 0($a0) (not the folded
|
||||
* lui;lw %lo). volatile forces the rematerialize; the $4 pin forces the a0 allocation. */
|
||||
register volatile s32 *p __asm__("$4") = &D_80185C10;
|
||||
register volatile s32 *p __asm__("$4") = &D_80185C10; // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
if (*p == 0) {
|
||||
func_8013BC7C();
|
||||
}
|
||||
@@ -548,17 +548,17 @@ void func_8012956C(void) {
|
||||
extern u8 D_80185BF0;
|
||||
extern u8 D_800AF630[];
|
||||
extern u8 D_800A6518[];
|
||||
register s32 *sp10 __asm__("$21");
|
||||
register u8 *afbase __asm__("$22");
|
||||
register s32 *sp0 __asm__("$23");
|
||||
s32 *sp10;
|
||||
u8 *afbase;
|
||||
s32 *sp0;
|
||||
Ent_956C *base;
|
||||
s32 i;
|
||||
s16 a1;
|
||||
register u32 temp_a3 __asm__("$7");
|
||||
register u32 arg0 __asm__("$4");
|
||||
register u32 s __asm__("$2");
|
||||
register u32 s2 __asm__("$3");
|
||||
register u32 t6 __asm__("$8");
|
||||
register u32 temp_a3 __asm__("$7"); // !FAKE: pin $7 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register u32 arg0 __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
u32 s;
|
||||
register u32 s2 __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
u32 t6;
|
||||
s32 code;
|
||||
|
||||
sp10 = (s32 *)0x1F800010;
|
||||
@@ -568,7 +568,6 @@ void func_8012956C(void) {
|
||||
return;
|
||||
}
|
||||
base = (Ent_956C *)&D_800B9A78;
|
||||
__asm__("" : "=r"(base) : "0"(base));
|
||||
i = 0;
|
||||
do {
|
||||
s32 idx = i * 8 + 4;
|
||||
@@ -609,7 +608,7 @@ void func_8012956C(void) {
|
||||
D_801840B8[idx], D_801840B9[idx], D_801840BA[idx]);
|
||||
goto next;
|
||||
do_default:
|
||||
__asm__("");
|
||||
__asm__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
arg0 = D_80185BF0;
|
||||
s = base->f40;
|
||||
temp_a3 = base->f38;
|
||||
@@ -1129,9 +1128,9 @@ s32 func_8012C890(s32 a0, s32 a1, s32 a2) {
|
||||
*(s32 *)(dst + 0xDC) = v10;
|
||||
|
||||
{
|
||||
register u16 *pc __asm__("$3");
|
||||
u16 *pc;
|
||||
pc = &(*(u16 *)&D_801270C4);
|
||||
*(u16 *)(dst + 0x36) = *(volatile u16 *)pc;
|
||||
*(u16 *)(dst + 0x36) = *(u16 *)pc;
|
||||
count = *(volatile u16 *)pc + 1;
|
||||
*pc = count;
|
||||
if (count == 0) {
|
||||
@@ -1481,13 +1480,13 @@ void func_8012E364(s32 arg0_)
|
||||
extern s16 D_80126CE0;
|
||||
extern s32 D_801840C8;
|
||||
extern s32 D_801840CC;
|
||||
register s32 arg0 __asm__("$6");
|
||||
register s32 prev __asm__("$5");
|
||||
register u16 flags __asm__("$2");
|
||||
s32 arg0;
|
||||
register s32 prev __asm__("$5"); // !FAKE: pin $5 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register u16 flags __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 a;
|
||||
s32 diff;
|
||||
s32 v;
|
||||
register s32 d __asm__("$2");
|
||||
register s32 d __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 spd;
|
||||
s32 e1;
|
||||
s32 e2;
|
||||
@@ -2060,9 +2059,9 @@ void func_80130D48(s32 arg0)
|
||||
{
|
||||
extern s32 func_80131CF4(s32);
|
||||
|
||||
register s16 *tbl __asm__("$16");
|
||||
register s32 pa __asm__("$18") = arg0;
|
||||
register u8 *p __asm__("$19") = D_80078E78;
|
||||
s16 *tbl;
|
||||
s32 pa = arg0;
|
||||
register u8 *p __asm__("$19") = D_80078E78; // !FAKE: pin $19 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 s1v;
|
||||
s32 call_a0;
|
||||
s32 call_a1;
|
||||
@@ -2102,7 +2101,7 @@ void func_80130D48(s32 arg0)
|
||||
} else if ((a >> 1) >= b) {
|
||||
s1v += 6;
|
||||
}
|
||||
{ register s32 v1 __asm__("$3"); register s8 *bp __asm__("$2"); v1 = s1v * 2; bp = (s8 *)D_8017E790; tbl = (s16 *)(bp + v1); }
|
||||
{ register s32 v1 __asm__("$3"); s8 *bp; v1 = s1v * 2; bp = (s8 *)D_8017E790; tbl = (s16 *)(bp + v1); } // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
r = rand() % 100;
|
||||
cnt = 0;
|
||||
@@ -2133,7 +2132,7 @@ void func_80130D48(s32 arg0)
|
||||
}
|
||||
}
|
||||
}
|
||||
{ register s32 v1 __asm__("$3"); register s8 *bp __asm__("$2"); v1 = s1v * 2; bp = (s8 *)D_8017E7F8; tbl = (s16 *)(bp + v1); }
|
||||
{ register s32 v1 __asm__("$3"); s8 *bp; v1 = s1v * 2; bp = (s8 *)D_8017E7F8; tbl = (s16 *)(bp + v1); } // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s1v = 0x32;
|
||||
break;
|
||||
}
|
||||
@@ -2149,7 +2148,7 @@ void func_80130D48(s32 arg0)
|
||||
}
|
||||
}
|
||||
}
|
||||
{ register s32 v1 __asm__("$3"); register s8 *bp __asm__("$2"); v1 = s1v * 2; bp = (s8 *)D_8017E818; tbl = (s16 *)(bp + v1); }
|
||||
{ register s32 v1 __asm__("$3"); s8 *bp; v1 = s1v * 2; bp = (s8 *)D_8017E818; tbl = (s16 *)(bp + v1); } // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s1v = 0x33;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -853,8 +853,8 @@ void func_801397B0(s32 arg0)
|
||||
extern u8 D_800A6518[];
|
||||
extern u8 D_8017E9C8;
|
||||
extern u8 D_8017EA0C;
|
||||
register u8 *e __asm__("$7");
|
||||
register s32 off __asm__("$4");
|
||||
u8 *e;
|
||||
register s32 off __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 buf[12];
|
||||
u8 *b164;
|
||||
u8 *b1A8;
|
||||
@@ -950,7 +950,7 @@ extern unsigned char D_8017E94C[];
|
||||
int t = *(unsigned char *)(param_1 + 0x22) & 0x60;
|
||||
int h = *(unsigned short *)(param_1 + 0x18);
|
||||
unsigned int idx;
|
||||
__asm__("" : "=r"(t) : "0"(t));
|
||||
__asm__("" : "=r"(t) : "0"(t)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
idx = (unsigned char)t;
|
||||
if (h < 7) {
|
||||
if (h >= 2) {
|
||||
@@ -1199,12 +1199,12 @@ void func_8013B274(s32 a0, s32 a1, void *a2)
|
||||
"swc2 $27, 8(%0)\n"
|
||||
: : "r"((u8 *)L + 0x18) : "memory");
|
||||
|
||||
*(s16 *)(p + 8) = *(volatile s32 *)((u8 *)L + 8);
|
||||
*(s16 *)(p + 0xA) = *(volatile s32 *)((u8 *)L + 0xC);
|
||||
*(s16 *)(p + 0x10) = *(volatile s32 *)((u8 *)L + 8) + *(volatile s32 *)((u8 *)L + 0x18);
|
||||
*(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8);
|
||||
*(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC);
|
||||
*(s16 *)(p + 0x10) = *(volatile s32 *)((u8 *)L + 8) + *(s32 *)((u8 *)L + 0x18);
|
||||
*(s16 *)(p + 0x12) = *(volatile s32 *)((u8 *)L + 0xC);
|
||||
*(s16 *)(p + 0x18) = *(volatile s32 *)((u8 *)L + 8);
|
||||
*(s16 *)(p + 0x1A) = *(volatile s32 *)((u8 *)L + 0xC) + *(volatile s32 *)((u8 *)L + 0x1C);
|
||||
*(s16 *)(p + 0x1A) = *(volatile s32 *)((u8 *)L + 0xC) + *(s32 *)((u8 *)L + 0x1C);
|
||||
*(s16 *)(p + 0x20) = *(volatile s32 *)((u8 *)L + 8) + *(volatile s32 *)((u8 *)L + 0x18);
|
||||
*(s16 *)(p + 0x22) = *(volatile s32 *)((u8 *)L + 0xC) + *(volatile s32 *)((u8 *)L + 0x1C);
|
||||
|
||||
|
||||
@@ -1299,9 +1299,9 @@ extern void func_80147D38(s32 a0, s32 a1, s32 a2, s32 a3, void * a4);
|
||||
extern void func_80147E44(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
extern void func_80147F78(s32 arg0, s32 arg1, s32 arg2, s32 arg3);
|
||||
extern void func_80147F50(s32 arg0);
|
||||
extern volatile s32 D_80127090;
|
||||
extern volatile s32 D_80127094;
|
||||
extern volatile s32 D_80127098;
|
||||
extern s32 D_80127090;
|
||||
extern s32 D_80127094;
|
||||
extern s32 D_80127098;
|
||||
extern void func_80147F78(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
extern void func_80148038(s32 a0, s32 a1);
|
||||
extern s32 csqrt(s32 a0);
|
||||
|
||||
@@ -1305,9 +1305,9 @@ extern void func_80147D38(s32 a0, s32 a1, s32 a2, s32 a3, void * a4);
|
||||
extern void func_80147E44(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
extern void func_80147F78(s32 arg0, s32 arg1, s32 arg2, s32 arg3);
|
||||
extern void func_80147F50(s32 arg0);
|
||||
extern volatile s32 D_80127090;
|
||||
extern volatile s32 D_80127094;
|
||||
extern volatile s32 D_80127098;
|
||||
extern s32 D_80127090;
|
||||
extern s32 D_80127094;
|
||||
extern s32 D_80127098;
|
||||
extern void func_80147F78(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
extern void func_80148038(s32 a0, s32 a1);
|
||||
extern s32 csqrt(s32 a0);
|
||||
|
||||
@@ -1299,9 +1299,9 @@ extern void func_80147D38(s32 a0, s32 a1, s32 a2, s32 a3, void * a4);
|
||||
extern void func_80147E44(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
extern void func_80147F78(s32 arg0, s32 arg1, s32 arg2, s32 arg3);
|
||||
extern void func_80147F50(s32 arg0);
|
||||
extern volatile s32 D_80127090;
|
||||
extern volatile s32 D_80127094;
|
||||
extern volatile s32 D_80127098;
|
||||
extern s32 D_80127090;
|
||||
extern s32 D_80127094;
|
||||
extern s32 D_80127098;
|
||||
extern void func_80147F78(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
extern void func_80148038(s32 a0, s32 a1);
|
||||
extern s32 csqrt(s32 a0);
|
||||
@@ -2205,7 +2205,6 @@ s32 func_801596F0(s32 param_1) {
|
||||
(*(s16 *)&D_800B9AAC) = 0x7fff;
|
||||
D_800B9B00 = 0x7fff;
|
||||
|
||||
__asm__ __volatile__("" ::: "memory");
|
||||
|
||||
for (p = (u32 *)(base + 0x65A8); p < (u32 *)(base + 0x9DA8); p += 0xe) {
|
||||
p[1] |= 0x80000000;
|
||||
|
||||
@@ -1296,9 +1296,9 @@ extern void func_80147D38(s32 a0, s32 a1, s32 a2, s32 a3, void * a4);
|
||||
extern void func_80147E44(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
extern void func_80147F78(s32 arg0, s32 arg1, s32 arg2, s32 arg3);
|
||||
extern void func_80147F50(s32 arg0);
|
||||
extern volatile s32 D_80127090;
|
||||
extern volatile s32 D_80127094;
|
||||
extern volatile s32 D_80127098;
|
||||
extern s32 D_80127090;
|
||||
extern s32 D_80127094;
|
||||
extern s32 D_80127098;
|
||||
extern void func_80147F78(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
extern void func_80148038(s32 a0, s32 a1);
|
||||
extern s32 csqrt(s32 a0);
|
||||
|
||||
@@ -1296,9 +1296,9 @@ extern void func_80147D38(s32 a0, s32 a1, s32 a2, s32 a3, void * a4);
|
||||
extern void func_80147E44(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
extern void func_80147F78(s32 arg0, s32 arg1, s32 arg2, s32 arg3);
|
||||
extern void func_80147F50(s32 arg0);
|
||||
extern volatile s32 D_80127090;
|
||||
extern volatile s32 D_80127094;
|
||||
extern volatile s32 D_80127098;
|
||||
extern s32 D_80127090;
|
||||
extern s32 D_80127094;
|
||||
extern s32 D_80127098;
|
||||
extern void func_80147F78(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
extern void func_80148038(s32 a0, s32 a1);
|
||||
extern s32 csqrt(s32 a0);
|
||||
|
||||
@@ -1376,9 +1376,9 @@ extern void func_80147D38(s32 a0, s32 a1, s32 a2, s32 a3, void * a4);
|
||||
extern void func_80147E44(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
extern void func_80147F78(s32 arg0, s32 arg1, s32 arg2, s32 arg3);
|
||||
extern void func_80147F50(s32 arg0);
|
||||
extern volatile s32 D_80127090;
|
||||
extern volatile s32 D_80127094;
|
||||
extern volatile s32 D_80127098;
|
||||
extern s32 D_80127090;
|
||||
extern s32 D_80127094;
|
||||
extern s32 D_80127098;
|
||||
extern void func_80147F78(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
extern void func_80148038(s32 a0, s32 a1);
|
||||
extern s32 csqrt(s32 a0);
|
||||
@@ -4775,7 +4775,7 @@ int func_8017A3D8(void)
|
||||
return 0;
|
||||
case 100:
|
||||
{
|
||||
register int a __asm__("$4");
|
||||
register int a __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
a = D_80185380;
|
||||
if (a != -1) {
|
||||
return func_8001AAA0() != 0;
|
||||
@@ -4995,8 +4995,8 @@ void func_8017AE2C(s32 param_1) {
|
||||
extern s16 D_80185BD8;
|
||||
extern s16 D_80185BDA;
|
||||
extern s16 D_80185BE4;
|
||||
register s32 pv __asm__("$16") = param_1;
|
||||
register s16 *g __asm__("$17") = &D_80185BD8;
|
||||
s32 pv = param_1;
|
||||
s16 *g = &D_80185BD8;
|
||||
|
||||
switch (g[0]) {
|
||||
case 0:
|
||||
@@ -5150,8 +5150,8 @@ s32 func_8017B238(s32 param_1, s32 param_2)
|
||||
u8 buf[16];
|
||||
|
||||
if (((u32)param_2) >= 0xB) {
|
||||
register u8 *src __asm__("$16");
|
||||
__asm__ __volatile__("" : "=r"(src) : "0"((u8 *)((u32)param_2)));
|
||||
register u8 *src __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
__asm__ __volatile__("" : "=r"(src) : "0"((u8 *)((u32)param_2))); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
*(Blk8_8017B238 *)&buf[0] = *(Blk8_8017B238 *)src;
|
||||
*(Blk8_8017B238 *)&buf[8] = *(Blk8_8017B238 *)(src + 8);
|
||||
} else {
|
||||
@@ -5305,8 +5305,8 @@ s32 func_8017B614(s32 param_1, s32 param_2)
|
||||
u8 buf[16];
|
||||
|
||||
if (((u32)param_2) >= 0xB) {
|
||||
register u8 *src __asm__("$16");
|
||||
__asm__ __volatile__("" : "=r"(src) : "0"((u8 *)((u32)param_2)));
|
||||
register u8 *src __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
__asm__ __volatile__("" : "=r"(src) : "0"((u8 *)((u32)param_2))); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
*(Blk8_8017B614 *)&buf[0] = *(Blk8_8017B614 *)src;
|
||||
*(Blk8_8017B614 *)&buf[8] = *(Blk8_8017B614 *)(src + 8);
|
||||
} else {
|
||||
@@ -5330,7 +5330,7 @@ s32 func_8017B614(s32 param_1, s32 param_2)
|
||||
v78C = *p78C;
|
||||
v78E = D_801853BE;
|
||||
v790 = D_801853C0;
|
||||
__asm__ __volatile__("");
|
||||
__asm__ __volatile__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
D_80185C08 = 1;
|
||||
D_8018534C = 0x1E;
|
||||
D_80126990 = v794;
|
||||
@@ -5600,8 +5600,8 @@ void func_8017BC38(int param_1)
|
||||
{
|
||||
|
||||
extern void (*D_80185394[10])(int);
|
||||
register int i __asm__("$17");
|
||||
register void (**p)(int) __asm__("$16");
|
||||
int i;
|
||||
void (**p)(int);
|
||||
|
||||
i = 0;
|
||||
p = D_80185394;
|
||||
|
||||
@@ -1382,9 +1382,9 @@ extern void func_80147D38(s32 a0, s32 a1, s32 a2, s32 a3, void * a4);
|
||||
extern void func_80147E44(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
extern void func_80147F78(s32 arg0, s32 arg1, s32 arg2, s32 arg3);
|
||||
extern void func_80147F50(s32 arg0);
|
||||
extern volatile s32 D_80127090;
|
||||
extern volatile s32 D_80127094;
|
||||
extern volatile s32 D_80127098;
|
||||
extern s32 D_80127090;
|
||||
extern s32 D_80127094;
|
||||
extern s32 D_80127098;
|
||||
extern void func_80147F78(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
extern void func_80148038(s32 a0, s32 a1);
|
||||
extern s32 csqrt(s32 a0);
|
||||
|
||||
@@ -1382,9 +1382,9 @@ extern void func_80147D38(s32 a0, s32 a1, s32 a2, s32 a3, void * a4);
|
||||
extern void func_80147E44(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
extern void func_80147F78(s32 arg0, s32 arg1, s32 arg2, s32 arg3);
|
||||
extern void func_80147F50(s32 arg0);
|
||||
extern volatile s32 D_80127090;
|
||||
extern volatile s32 D_80127094;
|
||||
extern volatile s32 D_80127098;
|
||||
extern s32 D_80127090;
|
||||
extern s32 D_80127094;
|
||||
extern s32 D_80127098;
|
||||
extern void func_80147F78(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
extern void func_80148038(s32 a0, s32 a1);
|
||||
extern s32 csqrt(s32 a0);
|
||||
@@ -3851,7 +3851,7 @@ s32 func_8017CBC8(s32 ot, u8 *s, s16 c) {
|
||||
s32 flag;
|
||||
s32 dim;
|
||||
s32 dim2;
|
||||
register s32 dim3 __asm__("$16");
|
||||
register s32 dim3 __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 t;
|
||||
s16 i;
|
||||
s16 k;
|
||||
|
||||
@@ -1382,9 +1382,9 @@ extern void func_80147D38(s32 a0, s32 a1, s32 a2, s32 a3, void * a4);
|
||||
extern void func_80147E44(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
extern void func_80147F78(s32 arg0, s32 arg1, s32 arg2, s32 arg3);
|
||||
extern void func_80147F50(s32 arg0);
|
||||
extern volatile s32 D_80127090;
|
||||
extern volatile s32 D_80127094;
|
||||
extern volatile s32 D_80127098;
|
||||
extern s32 D_80127090;
|
||||
extern s32 D_80127094;
|
||||
extern s32 D_80127098;
|
||||
extern void func_80147F78(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
extern void func_80148038(s32 a0, s32 a1);
|
||||
extern s32 csqrt(s32 a0);
|
||||
@@ -4226,7 +4226,7 @@ u32 func_8017DC48(s32 a0, s32 a1) {
|
||||
extern unsigned short *D_80182540[];
|
||||
|
||||
void func_8017DCB0(s32 val, s32 n, void *dst, s32 flag) {
|
||||
register u32 d __asm__("$3");
|
||||
register u32 d __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 idx;
|
||||
s16 i;
|
||||
|
||||
@@ -4347,7 +4347,7 @@ s32 *func_8017DD28(s32 *out) {
|
||||
*((u8 *)out + 0xC) = 0x70;
|
||||
*((u8 *)out + 0xD) = 0x10;
|
||||
out[1] = 0x64808080;
|
||||
pb = (volatile u16 *)&D_800B9A02;
|
||||
pb = (u16 *)&D_800B9A02;
|
||||
*(u16 *)((u8 *)out + 0xE) = 0x4056;
|
||||
|
||||
d = n - 0x60; /* [L2] */
|
||||
@@ -4367,7 +4367,7 @@ s32 *func_8017DD28(s32 *out) {
|
||||
((PTag_8017DD28 *)(D_800AE7BC[*pb].ot + 2))->addr;
|
||||
{
|
||||
u32 *op;
|
||||
register u32 v __asm__("$2"); /* [L3] */
|
||||
register u32 v __asm__("$2"); /* [L3] */ // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
op = D_800AE7BC[*pb].ot;
|
||||
v = op[2];
|
||||
v = (v & 0xFF000000) | (((u32)out) & 0xFFFFFF);
|
||||
|
||||
@@ -4247,8 +4247,8 @@ extern s32 D_801EDA10;
|
||||
|
||||
void func_8017F28C(s32 a0)
|
||||
{
|
||||
register s32 s0 __asm__("$16");
|
||||
register s32 s1 __asm__("$17");
|
||||
register s32 s0 __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 s1 __asm__("$17"); // !FAKE: pin $17 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 v0;
|
||||
|
||||
s0 = a0;
|
||||
@@ -4479,8 +4479,8 @@ extern void func_80143994(s32 a0, s32 a1);
|
||||
|
||||
void func_8017F8B4(s32 a0)
|
||||
{
|
||||
register s32 s0 __asm__("$16");
|
||||
register s32 s1 __asm__("$17");
|
||||
register s32 s0 __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 s1 __asm__("$17"); // !FAKE: pin $17 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 v0;
|
||||
|
||||
s0 = a0;
|
||||
@@ -4674,7 +4674,7 @@ extern s32 func_80182B00();
|
||||
|
||||
void func_8017FDAC(s32 a0)
|
||||
{
|
||||
register s32 s0 __asm__("$16");
|
||||
s32 s0;
|
||||
s32 v0;
|
||||
|
||||
s0 = a0;
|
||||
@@ -4706,8 +4706,8 @@ extern void func_80143994(s32 a0, s32 a1);
|
||||
|
||||
void func_8017FE44(s32 a0)
|
||||
{
|
||||
register s32 s0 __asm__("$16");
|
||||
register s32 s1 __asm__("$17");
|
||||
register s32 s0 __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 s1 __asm__("$17"); // !FAKE: pin $17 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 v0;
|
||||
|
||||
s0 = a0;
|
||||
@@ -4950,8 +4950,8 @@ extern void func_80143994(s32 a0, s32 a1);
|
||||
|
||||
void func_80180478(s32 a0)
|
||||
{
|
||||
register s32 s0 __asm__("$16");
|
||||
register s32 s1 __asm__("$17");
|
||||
register s32 s0 __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 s1 __asm__("$17"); // !FAKE: pin $17 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 v0;
|
||||
|
||||
s0 = a0;
|
||||
@@ -5149,8 +5149,8 @@ extern void func_80143994(s32 a0, s32 a1);
|
||||
|
||||
void func_80180914(s32 a0)
|
||||
{
|
||||
register s32 s0 __asm__("$16");
|
||||
register s32 s1 __asm__("$17");
|
||||
register s32 s0 __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 s1 __asm__("$17"); // !FAKE: pin $17 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 v0;
|
||||
|
||||
s0 = a0;
|
||||
@@ -5346,7 +5346,7 @@ extern s32 func_80182B00();
|
||||
|
||||
void func_80180E90(s32 a0)
|
||||
{
|
||||
register s32 s0 __asm__("$16");
|
||||
s32 s0;
|
||||
s32 v0;
|
||||
|
||||
s0 = a0;
|
||||
@@ -5382,8 +5382,8 @@ extern s32 D_801EDA38;
|
||||
|
||||
void func_80180F64(s32 a0)
|
||||
{
|
||||
register s32 s0 __asm__("$16");
|
||||
register s32 s1 __asm__("$17");
|
||||
register s32 s0 __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 s1 __asm__("$17"); // !FAKE: pin $17 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 v0;
|
||||
|
||||
s0 = a0;
|
||||
@@ -5418,9 +5418,9 @@ extern void (*D_801872C0)(void *);
|
||||
|
||||
void func_80181000(s32 a0)
|
||||
{
|
||||
register s32 s0 __asm__("$16");
|
||||
register s32 p __asm__("$5");
|
||||
register s32 g __asm__("$3");
|
||||
s32 s0;
|
||||
s32 p;
|
||||
s32 g;
|
||||
u16 tmp;
|
||||
s32 flag;
|
||||
|
||||
@@ -5681,7 +5681,7 @@ extern s32 D_801EDA00;
|
||||
|
||||
void func_801816A4(s32 a0)
|
||||
{
|
||||
register s32 s0 __asm__("$16");
|
||||
register s32 s0 __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
s0 = a0;
|
||||
if (--D_801ED9F8 == 0) {
|
||||
@@ -5834,29 +5834,29 @@ extern s32 D_801EDA90[];
|
||||
|
||||
void func_80181A4C(void)
|
||||
{
|
||||
register s32 v0 __asm__("$2");
|
||||
register s32 v1 __asm__("$3");
|
||||
register s32 a0 __asm__("$4");
|
||||
register s32 a1 __asm__("$5");
|
||||
register s32 a2 __asm__("$6");
|
||||
register s32 a3 __asm__("$7");
|
||||
register s32 t0 __asm__("$8");
|
||||
register s32 t1 __asm__("$9");
|
||||
register s32 t2 __asm__("$10");
|
||||
register s32 *t3 __asm__("$11");
|
||||
register s32 *t4 __asm__("$12");
|
||||
register s32 *t5 __asm__("$13");
|
||||
register s32 *t6 __asm__("$14");
|
||||
register s32 *t7 __asm__("$15");
|
||||
register s32 i __asm__("$16");
|
||||
register s32 back __asm__("$17");
|
||||
register s32 *src __asm__("$18");
|
||||
register s32 color __asm__("$19");
|
||||
register s32 *tbl __asm__("$20");
|
||||
register s32 *srcm12 __asm__("$21");
|
||||
register s32 *tbl4 __asm__("$22");
|
||||
register s32 *t8 __asm__("$24");
|
||||
register s32 *t9 __asm__("$25");
|
||||
register s32 v0 __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 v1 __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 a0 __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 a1;
|
||||
s32 a2;
|
||||
register s32 a3 __asm__("$7"); // !FAKE: pin $7 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 t0;
|
||||
s32 t1;
|
||||
register s32 t2 __asm__("$10"); // !FAKE: pin $10 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 *t3;
|
||||
register s32 *t4 __asm__("$12"); // !FAKE: pin $12 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 *t5;
|
||||
s32 *t6;
|
||||
s32 *t7;
|
||||
s32 i;
|
||||
s32 back;
|
||||
register s32 *src __asm__("$18"); // !FAKE: pin $18 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 color;
|
||||
s32 *tbl;
|
||||
register s32 *srcm12 __asm__("$21"); // !FAKE: pin $21 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 *tbl4;
|
||||
s32 *t8;
|
||||
s32 *t9;
|
||||
|
||||
if (((D_801F3050 = D_801F3050 + 1) & 7) != 0) {
|
||||
return;
|
||||
@@ -5888,8 +5888,8 @@ void func_80181A4C(void)
|
||||
if (*(s32 *)((char *)&D_801EDA44 + a3) == 0) {
|
||||
v0 = 1;
|
||||
*(s32 *)((char *)&D_801EDA44 + a3) = v0;
|
||||
__asm__ __volatile__("addu %0,%1,%2" : "=r"(v0) : "r"(v1), "r"(tbl));
|
||||
__asm__ __volatile__("move %0,%1" : "=r"(t3) : "r"(t1));
|
||||
__asm__ __volatile__("addu %0,%1,%2" : "=r"(v0) : "r"(v1), "r"(tbl)); // !FAKE: instruction addu — NEEDED DIFFERS (P36 rung B tus9)
|
||||
t3 = t1;
|
||||
*(s32 *)((char *)&D_801EDA58 + a3) = 0;
|
||||
*(s32 *)((char *)&D_801EDA5C + a3) = color;
|
||||
*(s32 *)((char *)&D_801EDA60 + a3) = 0;
|
||||
@@ -5906,7 +5906,7 @@ void func_80181A4C(void)
|
||||
v0 <<= 16;
|
||||
v0 += color;
|
||||
*(s32 *)((char *)&D_801EDA50 + a3) = v0;
|
||||
__asm__ __volatile__("lw %0,0(%3)\n\tlw %1,4(%3)\n\tlw %2,8(%3)\n\tsw %0,0(%4)\n\tsw %1,4(%4)\n\tsw %2,8(%4)"
|
||||
__asm__ __volatile__("lw %0,0(%3)\n\tlw %1,4(%3)\n\tlw %2,8(%3)\n\tsw %0,0(%4)\n\tsw %1,4(%4)\n\tsw %2,8(%4)" // !FAKE: instruction lw — REFUSED instruction `lw` has no C spelling in the table (P36 rung B tus9)
|
||||
: "=r"(v0), "=r"(v1), "=r"(a1)
|
||||
: "r"(a0), "r"(t0));
|
||||
v1 = (s32)(src - 6);
|
||||
@@ -6333,7 +6333,7 @@ s32 func_80182284(void) {
|
||||
{
|
||||
/* $3 pin: without it local-alloc hands $v1 to the 0x50000040 constant and
|
||||
$a0 to this pointer — the exact inverse of the target (closeness 6). */
|
||||
register Obj_80182284 *o __asm__("$3");
|
||||
register Obj_80182284 *o __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
o = (Obj_80182284 *)*en;
|
||||
o->unk4 |= 0x50000040;
|
||||
}
|
||||
@@ -6456,11 +6456,11 @@ extern void func_80182A14(s32);
|
||||
s32 func_8018275C(void) {
|
||||
s32 ret = 0;
|
||||
s32 i = 0;
|
||||
register u8 *base __asm__("$2") = D_801F2A50;
|
||||
register u8 *base __asm__("$2") = D_801F2A50; // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 *st = (s32 *)(base - 0xC);
|
||||
s32 *en = (s32 *)(base - 8);
|
||||
s32 *ct = (s32 *)(base - 4);
|
||||
register u8 *bytes __asm__("$17") = base;
|
||||
register u8 *bytes __asm__("$17") = base; // !FAKE: pin $17 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 pos = 0;
|
||||
|
||||
for (; i < 0x14; i++) {
|
||||
@@ -6796,8 +6796,8 @@ extern s32 D_80183B84;
|
||||
|
||||
void func_80182F94(s32 a0)
|
||||
{
|
||||
register s32 s0 __asm__("$16");
|
||||
register s32 s1 __asm__("$17");
|
||||
register s32 s0 __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 s1 __asm__("$17"); // !FAKE: pin $17 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 v0;
|
||||
|
||||
s0 = a0;
|
||||
@@ -6825,7 +6825,7 @@ extern s32 D_801EDA30;
|
||||
void func_80183034(void *param_1)
|
||||
{
|
||||
if (func_80183128(param_1, 1, 0x10) != 0) {
|
||||
register u32 v __asm__("$2");
|
||||
u32 v;
|
||||
int d;
|
||||
v = 0xFFF40000;
|
||||
d = D_801EDA30;
|
||||
@@ -7119,7 +7119,7 @@ void func_80183748(u8 *param_1)
|
||||
m = 0;
|
||||
do {
|
||||
k = j * 16;
|
||||
__asm__("" : :);
|
||||
__asm__("" : :); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
(&D_800A5E94)[k] = param_1[m];
|
||||
(&D_800A5E95)[k] = param_1[m + 1];
|
||||
(&D_800A5E96)[k] = param_1[m + 2];
|
||||
|
||||
@@ -2827,9 +2827,9 @@ s32 func_8017E5B8(s32 param_1, s32 param_2) {
|
||||
idx = D_8018C19C[(s16)param_2];
|
||||
off = idx * 4; /* [2] */
|
||||
lim = D_8018C1C4[idx][0]; /* [3] */
|
||||
__asm__ __volatile__(""); /* [4] */
|
||||
__asm__ __volatile__(""); /* [4] */ // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
e = (s16 *)D_8018C1C4;
|
||||
__asm__("" : "=r"(e) : "0"(e)); /* [5] */
|
||||
__asm__("" : "=r"(e) : "0"(e)); /* [5] */ // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
if (t < lim) {
|
||||
if (*(s16 *)((u8 *)e + off + 2) == 0 ||
|
||||
(((s32(*)(s32))func_80029178)(*(s16 *)((u8 *)e + off + 2)) & 0xFF) == 0) {
|
||||
@@ -3005,14 +3005,13 @@ s32 *func_8017E804(s32 *ot, void *a1p, s32 idx, void *a3p, s32 tag) {
|
||||
/* 0x14 stride */
|
||||
extern Env_8017EFA8_8017E804 D_800AE7BC[];
|
||||
|
||||
register s32 zr __asm__("$0");
|
||||
u16 *pb;
|
||||
u16 *p;
|
||||
s32 c;
|
||||
register s32 tv __asm__("$3");
|
||||
register s32 tv __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 idx2;
|
||||
s16 t;
|
||||
register u32 c0 __asm__("$3");
|
||||
register u32 c0 __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
c = D_80115138[(s16)idx];
|
||||
*(u32 *)ot = 0x4000000;
|
||||
@@ -3021,7 +3020,7 @@ s32 *func_8017E804(s32 *ot, void *a1p, s32 idx, void *a3p, s32 tag) {
|
||||
*((u8 *)ot + 0xD) = 0x48;
|
||||
ot[1] = tv | 0x64000000;
|
||||
*(s16 *)((u8 *)ot + 0xE) = 0x4056;
|
||||
idx2 = idx + zr;
|
||||
idx2 = idx + 0;
|
||||
|
||||
if (c < 6) {
|
||||
t = ((s32 (*)(s32))func_8014168C)((s16)idx) * 2;
|
||||
@@ -3058,7 +3057,7 @@ s32 *func_8017E804(s32 *ot, void *a1p, s32 idx, void *a3p, s32 tag) {
|
||||
j = 0;
|
||||
k = m;
|
||||
eight = 8;
|
||||
__asm__ volatile("" :: "r"(pb), "r"(pb), "r"(pb), "r"(pb), "r"(pb));
|
||||
__asm__ volatile("" :: "r"(pb), "r"(pb), "r"(pb), "r"(pb), "r"(pb)); // !FAKE: keepalive — NEEDED DIFFERS (P36 rung B tus9)
|
||||
pb2 = (u16 *)&D_800B9A02;
|
||||
m24 = 0xFFFFFF;
|
||||
mhi = 0xFF000000;
|
||||
@@ -3079,7 +3078,7 @@ s32 *func_8017E804(s32 *ot, void *a1p, s32 idx, void *a3p, s32 tag) {
|
||||
y = D_8018BEAE + 1;
|
||||
}
|
||||
*(s16 *)(q - 10) = y;
|
||||
__asm__("" ::: "memory");
|
||||
__asm__("" ::: "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9)
|
||||
*((u32 *)ot) = 0x4000000;
|
||||
q[-8] = 0x78;
|
||||
*((u32 *)(q - 0x10)) = 0x64808080;
|
||||
@@ -3089,7 +3088,7 @@ s32 *func_8017E804(s32 *ot, void *a1p, s32 idx, void *a3p, s32 tag) {
|
||||
*(s16 *)(q - 2) = eight;
|
||||
*((u32 *)ot) = ((*(u32 *)ot) & mhi) | (D_800AE7BC[*pb2].ot[2] & m24);
|
||||
{
|
||||
register u32 *op __asm__("$4");
|
||||
register u32 *op __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
op = D_800AE7BC[*pb2].ot;
|
||||
op[2] = (op[2] & mhi) | (((u32)ot) & m24);
|
||||
}
|
||||
@@ -3198,7 +3197,7 @@ s32 func_8017EB30(s32 a0, s32 a1) {
|
||||
goto sel_054;
|
||||
}
|
||||
if (t == 5) {
|
||||
__asm__ ("" : "=r"(t) : "0"(t));
|
||||
__asm__ ("" : "=r"(t) : "0"(t)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
if (t != 3) {
|
||||
goto sel_094;
|
||||
}
|
||||
|
||||
@@ -2819,9 +2819,9 @@ s32 func_8017E6F0(s32 param_1, s32 param_2) {
|
||||
idx = D_8019EEFC[(s16)param_2];
|
||||
off = idx * 4; /* [2] */
|
||||
lim = D_8019EF24[idx][0]; /* [3] */
|
||||
__asm__ __volatile__(""); /* [4] */
|
||||
__asm__ __volatile__(""); /* [4] */ // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
e = (s16 *)D_8019EF24;
|
||||
__asm__("" : "=r"(e) : "0"(e)); /* [5] */
|
||||
__asm__("" : "=r"(e) : "0"(e)); /* [5] */ // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
if (t < lim) {
|
||||
if (*(s16 *)((u8 *)e + off + 2) == 0 ||
|
||||
(((s32(*)(s32))func_80029178)(*(s16 *)((u8 *)e + off + 2)) & 0xFF) == 0) {
|
||||
@@ -2997,14 +2997,13 @@ s32 *func_8017E93C(s32 *ot, void *a1p, s32 idx, void *a3p, s32 tag) {
|
||||
/* 0x14 stride */
|
||||
extern Env_8017EFA8_8017E93C D_800AE7BC[];
|
||||
|
||||
register s32 zr __asm__("$0");
|
||||
u16 *pb;
|
||||
u16 *p;
|
||||
s32 c;
|
||||
register s32 tv __asm__("$3");
|
||||
register s32 tv __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 idx2;
|
||||
s16 t;
|
||||
register u32 c0 __asm__("$3");
|
||||
register u32 c0 __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
c = D_80115138[(s16)idx];
|
||||
*(u32 *)ot = 0x4000000;
|
||||
@@ -3013,7 +3012,7 @@ s32 *func_8017E93C(s32 *ot, void *a1p, s32 idx, void *a3p, s32 tag) {
|
||||
*((u8 *)ot + 0xD) = 0x48;
|
||||
ot[1] = tv | 0x64000000;
|
||||
*(s16 *)((u8 *)ot + 0xE) = 0x4056;
|
||||
idx2 = idx + zr;
|
||||
idx2 = idx + 0;
|
||||
|
||||
if (c < 6) {
|
||||
t = ((s32 (*)(s32))func_8014168C)((s16)idx) * 2;
|
||||
@@ -3050,7 +3049,7 @@ s32 *func_8017E93C(s32 *ot, void *a1p, s32 idx, void *a3p, s32 tag) {
|
||||
j = 0;
|
||||
k = m;
|
||||
eight = 8;
|
||||
__asm__ volatile("" :: "r"(pb), "r"(pb), "r"(pb), "r"(pb), "r"(pb));
|
||||
__asm__ volatile("" :: "r"(pb), "r"(pb), "r"(pb), "r"(pb), "r"(pb)); // !FAKE: keepalive — NEEDED DIFFERS (P36 rung B tus9)
|
||||
pb2 = (u16 *)&D_800B9A02;
|
||||
m24 = 0xFFFFFF;
|
||||
mhi = 0xFF000000;
|
||||
@@ -3071,7 +3070,7 @@ s32 *func_8017E93C(s32 *ot, void *a1p, s32 idx, void *a3p, s32 tag) {
|
||||
y = D_8019EC0E + 1;
|
||||
}
|
||||
*(s16 *)(q - 10) = y;
|
||||
__asm__("" ::: "memory");
|
||||
__asm__("" ::: "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9)
|
||||
*((u32 *)ot) = 0x4000000;
|
||||
q[-8] = 0x78;
|
||||
*((u32 *)(q - 0x10)) = 0x64808080;
|
||||
@@ -3081,7 +3080,7 @@ s32 *func_8017E93C(s32 *ot, void *a1p, s32 idx, void *a3p, s32 tag) {
|
||||
*(s16 *)(q - 2) = eight;
|
||||
*((u32 *)ot) = ((*(u32 *)ot) & mhi) | (D_800AE7BC[*pb2].ot[2] & m24);
|
||||
{
|
||||
register u32 *op __asm__("$4");
|
||||
register u32 *op __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
op = D_800AE7BC[*pb2].ot;
|
||||
op[2] = (op[2] & mhi) | (((u32)ot) & m24);
|
||||
}
|
||||
@@ -3193,7 +3192,7 @@ s32 func_8017EC68(s32 a0, s32 a1) {
|
||||
goto sel_054;
|
||||
}
|
||||
if (t == 5) {
|
||||
__asm__ ("" : "=r"(t) : "0"(t));
|
||||
__asm__ ("" : "=r"(t) : "0"(t)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
if (t != 3) {
|
||||
goto sel_094;
|
||||
}
|
||||
@@ -3419,7 +3418,6 @@ s32 func_8017F2DC(s32 param_1) {
|
||||
*(s16 *)(param_1 + 0x10A) = x;
|
||||
if (x != 0) {
|
||||
type = x >> 8;
|
||||
__asm__("" : "=r"(type) : "0"(type));
|
||||
v = (type - 1) * 5 - 1;
|
||||
idx = v + (x & 7);
|
||||
func_80139A44(D_8019F144[idx], 0);
|
||||
@@ -3491,7 +3489,7 @@ void func_8017F470(s32 a0)
|
||||
* make_regs_eqv promotes the longer-lived copy `mode` to canonical and
|
||||
* canon_reg rewrites the compare, giving `slti $v0,$a1,0xD` where the
|
||||
* target reads the source register: `slti $v0,$v0,0xD`. */
|
||||
register s32 zr __asm__("$0");
|
||||
register s32 zr __asm__("$0"); // !FAKE: pin $0 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s16 sVar1;
|
||||
s32 result;
|
||||
s32 cnt;
|
||||
@@ -3632,7 +3630,6 @@ s32 func_8017F6C8(s32 param_1) {
|
||||
*(s16 *)(param_1 + 0x10A) = x;
|
||||
if (x != 0) {
|
||||
type = x >> 8;
|
||||
__asm__("" : "=r"(type) : "0"(type));
|
||||
v = (type - 1) * 5 - 1;
|
||||
idx = v + (x & 7);
|
||||
func_80139A44(D_8019F144[idx], 0);
|
||||
|
||||
@@ -3506,7 +3506,7 @@ int func_8017A3D8(void)
|
||||
return 0;
|
||||
case 100:
|
||||
{
|
||||
register int a __asm__("$4");
|
||||
register int a __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
a = D_801F3110;
|
||||
if (a != -1) {
|
||||
return func_8001AAA0() != 0;
|
||||
|
||||
@@ -2809,9 +2809,9 @@ s32 func_8017E590(s32 param_1, s32 param_2) {
|
||||
idx = D_801E8F50[(s16)param_2];
|
||||
off = idx * 4; /* [2] */
|
||||
lim = D_801E8F78[idx][0]; /* [3] */
|
||||
__asm__ __volatile__(""); /* [4] */
|
||||
__asm__ __volatile__(""); /* [4] */ // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
e = (s16 *)D_801E8F78;
|
||||
__asm__("" : "=r"(e) : "0"(e)); /* [5] */
|
||||
__asm__("" : "=r"(e) : "0"(e)); /* [5] */ // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
if (t < lim) {
|
||||
if (*(s16 *)((u8 *)e + off + 2) == 0 ||
|
||||
(((s32(*)(s32))func_80029178)(*(s16 *)((u8 *)e + off + 2)) & 0xFF) == 0) {
|
||||
@@ -2987,14 +2987,13 @@ s32 *func_8017E7DC(s32 *ot, void *a1p, s32 idx, void *a3p, s32 tag) {
|
||||
/* 0x14 stride */
|
||||
extern Env_8017EFA8_8017E7DC D_800AE7BC[];
|
||||
|
||||
register s32 zr __asm__("$0");
|
||||
u16 *pb;
|
||||
u16 *p;
|
||||
s32 c;
|
||||
register s32 tv __asm__("$3");
|
||||
register s32 tv __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 idx2;
|
||||
s16 t;
|
||||
register u32 c0 __asm__("$3");
|
||||
register u32 c0 __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
c = D_80115138[(s16)idx];
|
||||
*(u32 *)ot = 0x4000000;
|
||||
@@ -3003,7 +3002,7 @@ s32 *func_8017E7DC(s32 *ot, void *a1p, s32 idx, void *a3p, s32 tag) {
|
||||
*((u8 *)ot + 0xD) = 0x48;
|
||||
ot[1] = tv | 0x64000000;
|
||||
*(s16 *)((u8 *)ot + 0xE) = 0x4056;
|
||||
idx2 = idx + zr;
|
||||
idx2 = idx + 0;
|
||||
|
||||
if (c < 6) {
|
||||
t = ((s32 (*)(s32))func_8014168C)((s16)idx) * 2;
|
||||
@@ -3040,7 +3039,7 @@ s32 *func_8017E7DC(s32 *ot, void *a1p, s32 idx, void *a3p, s32 tag) {
|
||||
j = 0;
|
||||
k = m;
|
||||
eight = 8;
|
||||
__asm__ volatile("" :: "r"(pb), "r"(pb), "r"(pb), "r"(pb), "r"(pb));
|
||||
__asm__ volatile("" :: "r"(pb), "r"(pb), "r"(pb), "r"(pb), "r"(pb)); // !FAKE: keepalive — NEEDED DIFFERS (P36 rung B tus9)
|
||||
pb2 = (u16 *)&D_800B9A02;
|
||||
m24 = 0xFFFFFF;
|
||||
mhi = 0xFF000000;
|
||||
@@ -3061,7 +3060,7 @@ s32 *func_8017E7DC(s32 *ot, void *a1p, s32 idx, void *a3p, s32 tag) {
|
||||
y = D_801E8C62 + 1;
|
||||
}
|
||||
*(s16 *)(q - 10) = y;
|
||||
__asm__("" ::: "memory");
|
||||
__asm__("" ::: "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9)
|
||||
*((u32 *)ot) = 0x4000000;
|
||||
q[-8] = 0x78;
|
||||
*((u32 *)(q - 0x10)) = 0x64808080;
|
||||
@@ -3071,7 +3070,7 @@ s32 *func_8017E7DC(s32 *ot, void *a1p, s32 idx, void *a3p, s32 tag) {
|
||||
*(s16 *)(q - 2) = eight;
|
||||
*((u32 *)ot) = ((*(u32 *)ot) & mhi) | (D_800AE7BC[*pb2].ot[2] & m24);
|
||||
{
|
||||
register u32 *op __asm__("$4");
|
||||
register u32 *op __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
op = D_800AE7BC[*pb2].ot;
|
||||
op[2] = (op[2] & mhi) | (((u32)ot) & m24);
|
||||
}
|
||||
@@ -3184,7 +3183,7 @@ s32 func_8017EB08(s32 a0, s32 a1) {
|
||||
goto sel_054;
|
||||
}
|
||||
if (t == 5) {
|
||||
__asm__ ("" : "=r"(t) : "0"(t));
|
||||
__asm__ ("" : "=r"(t) : "0"(t)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
if (t != 3) {
|
||||
goto sel_094;
|
||||
}
|
||||
@@ -3332,7 +3331,7 @@ s32 func_8017EFC4(s32 a0) {
|
||||
s32 c;
|
||||
s32 d;
|
||||
s32 e;
|
||||
register s32 zr __asm__("$0");
|
||||
register s32 zr __asm__("$0"); // !FAKE: pin $0 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s16 r;
|
||||
|
||||
t = func_80029504();
|
||||
@@ -3345,13 +3344,11 @@ s32 func_8017EFC4(s32 a0) {
|
||||
D_801E91D4 = D_801E92E0;
|
||||
return 1;
|
||||
}
|
||||
__asm__ volatile("");
|
||||
if (d == 4) {
|
||||
D_801E91D4 = D_801E93C8;
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
__asm__ volatile("");
|
||||
if ((u16)(t - 0x280) < 0x14) {
|
||||
e = c + zr;
|
||||
if (e < 6) {
|
||||
@@ -3363,7 +3360,6 @@ s32 func_8017EFC4(s32 a0) {
|
||||
D_801E91D4 = D_801E94D0;
|
||||
return 1;
|
||||
}
|
||||
__asm__ volatile("");
|
||||
if (e == 7) {
|
||||
r = func_800D0F8C(0x64);
|
||||
if (r != 0) {
|
||||
@@ -3378,7 +3374,6 @@ s32 func_8017EFC4(s32 a0) {
|
||||
D_801E91D4 = D_801E9510;
|
||||
return 1;
|
||||
}
|
||||
__asm__ volatile("");
|
||||
}
|
||||
}
|
||||
if ((u16)(t - 0x2DA) < 0x14 && c < 9) {
|
||||
@@ -4036,7 +4031,7 @@ s32 func_8017FED8(s32 a0) {
|
||||
e = D_801202A0;
|
||||
for (;;) {
|
||||
p = e + 0x102;
|
||||
__asm__ __volatile__("" :: "r"(p));
|
||||
__asm__ __volatile__("" :: "r"(p)); // !FAKE: keepalive — NEEDED DIFFERS (P36 rung B tus9)
|
||||
if (*(u16 *)(e + 0) != 0x1AB) goto next;
|
||||
if (*(s16 *)(p - 0x92) != 0x2B) goto next;
|
||||
cur = D_801F32D8;
|
||||
@@ -4117,7 +4112,7 @@ s32 func_8017FFD0(s32 param_1)
|
||||
extern s32 D_801EDA4C;
|
||||
extern s32 D_801EDA6C;
|
||||
|
||||
register s32 ret __asm__("$2");
|
||||
register s32 ret __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 ptr;
|
||||
s32 i70a;
|
||||
s32 i70b;
|
||||
@@ -4159,11 +4154,10 @@ s32 func_8017FFD0(s32 param_1)
|
||||
*(s32 *)(*(s32 *)(param_1 + 0x64) + 0x20));
|
||||
func_8012A828(param_1, D_80182CA4);
|
||||
*(s32 *)(*(s32 *)(param_1 + 0x20) + 4) = 0x80000000;
|
||||
__asm__ volatile("");
|
||||
__asm__ volatile(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
ret = 0x16;
|
||||
goto STORE;
|
||||
}
|
||||
__asm__ volatile("");
|
||||
if (*(s16 *)(param_1 + 0x70) == 0x2B) {
|
||||
func_8012A828(param_1, D_801ED25C);
|
||||
*(s32 *)(param_1 + 0xCC) = D_801EED54[*(s16 *)(param_1 + 0xFC)];
|
||||
@@ -4171,7 +4165,6 @@ s32 func_8017FFD0(s32 param_1)
|
||||
ret = 0x19;
|
||||
goto STORE;
|
||||
}
|
||||
__asm__ volatile("");
|
||||
if (*(s16 *)(param_1 + 0x70) == 0x2C) {
|
||||
func_8012A828(param_1, &D_80182CA4[0]);
|
||||
*(s32 *)(param_1 + 0x1C) = 0x5A;
|
||||
@@ -4179,7 +4172,6 @@ s32 func_8017FFD0(s32 param_1)
|
||||
ret = 0x1C;
|
||||
goto STORE;
|
||||
}
|
||||
__asm__ volatile("");
|
||||
if (*(s16 *)(param_1 + 0x70) == 0x2D) {
|
||||
func_8012A828(param_1, D_801ED34C);
|
||||
*(s32 *)(param_1 + 0x1C) = 0x58;
|
||||
@@ -4189,7 +4181,7 @@ s32 func_8017FFD0(s32 param_1)
|
||||
}
|
||||
|
||||
i70a = *(s16 *)(param_1 + 0x70);
|
||||
__asm__ volatile("" ::: "memory");
|
||||
__asm__ volatile("" ::: "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9)
|
||||
i70b = *(s16 *)(param_1 + 0x70);
|
||||
D_801F32D0 = 0;
|
||||
{
|
||||
@@ -4206,7 +4198,7 @@ s32 func_8017FFD0(s32 param_1)
|
||||
* It must be MERGED into the barrier, not a second asm: a separate
|
||||
* __asm__ volatile("" : : "r"(idx)) adds an insn to the sched1 stream and stays at 11.
|
||||
*/
|
||||
__asm__ volatile("" : : "r"(idx) : "memory");
|
||||
__asm__ volatile("" : : "r"(idx) : "memory"); // !FAKE: keepalive — NEEDED DIFFERS (P36 rung B tus9)
|
||||
tmp1 = D_801ED5F0[idx * 2];
|
||||
tmp2 = D_801ED5EC[*(s16 *)(param_1 + 0x10A) * 2];
|
||||
}
|
||||
@@ -4279,7 +4271,7 @@ void func_801803E4(s32 param_1) {
|
||||
val = *(u16 *)(param_1 + 0xF8) - 1;
|
||||
}
|
||||
*(u16 *)(param_1 + 0xF8) = (u16)val;
|
||||
__asm__ ("" ::: "memory");
|
||||
__asm__ ("" ::: "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
v0 = *(s32 *)(param_1 + 0x64);
|
||||
h = *(s16 *)(v0 + 0xFA);
|
||||
|
||||
@@ -1016,8 +1016,8 @@ extern void GsSortSprite(void *a0, u8 *a1, s32 a2);
|
||||
|
||||
void func_801397B0(s32 arg0)
|
||||
{
|
||||
register u8 *e __asm__("$7");
|
||||
register s32 off __asm__("$4");
|
||||
u8 *e;
|
||||
register s32 off __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 buf[12];
|
||||
u8 *b164;
|
||||
u8 *b1A8;
|
||||
@@ -1122,7 +1122,7 @@ s32 func_80139BE0(int param_1)
|
||||
int h = *(unsigned short *)(param_1 + 0x18);
|
||||
unsigned int idx;
|
||||
|
||||
__asm__("" : "=r"(t) : "0"(t));
|
||||
__asm__("" : "=r"(t) : "0"(t)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
idx = (unsigned char)t;
|
||||
if (h < 7) {
|
||||
if (h >= 2) {
|
||||
@@ -1453,12 +1453,12 @@ void func_8013B274(s32 a0, s32 a1, void *a2)
|
||||
"swc2 $27, 8(%0)\n"
|
||||
: : "r"((u8 *)L + 0x18) : "memory");
|
||||
|
||||
*(s16 *)(p + 8) = *(volatile s32 *)((u8 *)L + 8);
|
||||
*(s16 *)(p + 0xA) = *(volatile s32 *)((u8 *)L + 0xC);
|
||||
*(s16 *)(p + 0x10) = *(volatile s32 *)((u8 *)L + 8) + *(volatile s32 *)((u8 *)L + 0x18);
|
||||
*(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8);
|
||||
*(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC);
|
||||
*(s16 *)(p + 0x10) = *(volatile s32 *)((u8 *)L + 8) + *(s32 *)((u8 *)L + 0x18);
|
||||
*(s16 *)(p + 0x12) = *(volatile s32 *)((u8 *)L + 0xC);
|
||||
*(s16 *)(p + 0x18) = *(volatile s32 *)((u8 *)L + 8);
|
||||
*(s16 *)(p + 0x1A) = *(volatile s32 *)((u8 *)L + 0xC) + *(volatile s32 *)((u8 *)L + 0x1C);
|
||||
*(s16 *)(p + 0x1A) = *(volatile s32 *)((u8 *)L + 0xC) + *(s32 *)((u8 *)L + 0x1C);
|
||||
*(s16 *)(p + 0x20) = *(volatile s32 *)((u8 *)L + 8) + *(volatile s32 *)((u8 *)L + 0x18);
|
||||
*(s16 *)(p + 0x22) = *(volatile s32 *)((u8 *)L + 0xC) + *(volatile s32 *)((u8 *)L + 0x1C);
|
||||
|
||||
|
||||
@@ -3000,7 +3000,7 @@ extern s32 func_8012CE2C(s32 a0);
|
||||
extern void func_8012CBCC(s32 a0);
|
||||
extern void func_8018031C(int param_1);
|
||||
extern int func_8012D714(int, int);
|
||||
extern volatile unsigned short D_80126B96;
|
||||
extern unsigned short D_80126B96;
|
||||
extern void func_8018047C(int param_1);
|
||||
extern void func_80180588(void);
|
||||
extern void func_8001D0E8(s32 a0, s32 a1, s32 a2);
|
||||
|
||||
@@ -2997,7 +2997,7 @@ extern s32 func_8012CE2C(s32 a0);
|
||||
extern void func_8012CBCC(s32 a0);
|
||||
extern void func_8018031C(int param_1);
|
||||
extern int func_8012D714(int, int);
|
||||
extern volatile unsigned short D_80126B96;
|
||||
extern unsigned short D_80126B96;
|
||||
extern void func_8018047C(int param_1);
|
||||
extern void func_80180588(void);
|
||||
extern void func_8001D0E8(s32 a0, s32 a1, s32 a2);
|
||||
@@ -3105,7 +3105,7 @@ void func_8018103C(s32 a0)
|
||||
}
|
||||
|
||||
if (*(s16 *)(a0 + 0xE0) < 9) {
|
||||
register s32 ptr20 __asm__("$2") = *(s32 *)(a0 + 0x20);
|
||||
s32 ptr20 = *(s32 *)(a0 + 0x20);
|
||||
s32 arg1 = *(s16 *)(a0 + 0xE2);
|
||||
s32 r;
|
||||
r = func_8012B608(*(s16 *)(ptr20 + 0x12), arg1, 6);
|
||||
@@ -3289,7 +3289,7 @@ void func_8018103C(s32 a0)
|
||||
if ((s32)((u32)*(u16 *)(a0 + 0x70) << 0x10) >> 0x18 == 4 &&
|
||||
*(s16 *)&D_80126B5E >= 0x220) {
|
||||
s32 ang;
|
||||
register s32 v1 __asm__("$3");
|
||||
s32 v1;
|
||||
s32 arg1;
|
||||
ang = ratan2((s32)*(s16 *)(a0 + 0xE) - (s32)D_8018AAE8,
|
||||
(s32)D_8018AAE4 - (s32)*(s16 *)(a0 + 6));
|
||||
@@ -3398,7 +3398,7 @@ void func_8018103C(s32 a0)
|
||||
s32 v1;
|
||||
|
||||
{
|
||||
register s32 ptr20 __asm__("$2") = *(s32 *)(a0 + 0x20);
|
||||
s32 ptr20 = *(s32 *)(a0 + 0x20);
|
||||
s32 arg1 = *(s16 *)(a0 + 0xE2);
|
||||
v0 = func_8012B608(*(s16 *)(ptr20 + 0x12), arg1, 4);
|
||||
}
|
||||
|
||||
@@ -2996,7 +2996,7 @@ extern s32 func_8012CE2C(s32 a0);
|
||||
extern void func_8012CBCC(s32 a0);
|
||||
extern void func_8018031C(int param_1);
|
||||
extern int func_8012D714(int, int);
|
||||
extern volatile unsigned short D_80126B96;
|
||||
extern unsigned short D_80126B96;
|
||||
extern void func_8018047C(int param_1);
|
||||
extern void func_80180588(void);
|
||||
extern void func_8001D0E8(s32 a0, s32 a1, s32 a2);
|
||||
|
||||
@@ -2997,7 +2997,7 @@ extern s32 func_8012CE2C(s32 a0);
|
||||
extern void func_8012CBCC(s32 a0);
|
||||
extern void func_8018031C(int param_1);
|
||||
extern int func_8012D714(int, int);
|
||||
extern volatile unsigned short D_80126B96;
|
||||
extern unsigned short D_80126B96;
|
||||
extern void func_8018047C(int param_1);
|
||||
extern void func_80180588(void);
|
||||
extern void func_8001D0E8(s32 a0, s32 a1, s32 a2);
|
||||
|
||||
@@ -2997,7 +2997,7 @@ extern s32 func_8012CE2C(s32 a0);
|
||||
extern void func_8012CBCC(s32 a0);
|
||||
extern void func_8018031C(int param_1);
|
||||
extern int func_8012D714(int, int);
|
||||
extern volatile unsigned short D_80126B96;
|
||||
extern unsigned short D_80126B96;
|
||||
extern void func_8018047C(int param_1);
|
||||
extern void func_80180588(void);
|
||||
extern void func_8001D0E8(s32 a0, s32 a1, s32 a2);
|
||||
|
||||
@@ -3089,8 +3089,8 @@ extern void func_8012C218(void *a0);
|
||||
extern s32 D_801270CC;
|
||||
|
||||
void func_80183AF0(s32 param_1) {
|
||||
register s32 *p __asm__("$2");
|
||||
register s32 mask __asm__("$5");
|
||||
register s32 *p __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 mask __asm__("$5"); // !FAKE: pin $5 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
mask = 0x80000000;
|
||||
p = *(s32 **)(param_1 + 0x20);
|
||||
|
||||
@@ -3135,8 +3135,8 @@ void func_80183DE0(int param)
|
||||
extern unsigned char D_8018AE34;
|
||||
extern s32 func_8012C51C(void *a0, s32 a1);
|
||||
extern void func_80183F4C();
|
||||
register int i __asm__("$17");
|
||||
register unsigned char *puVar8 __asm__("$16");
|
||||
int i;
|
||||
unsigned char *puVar8;
|
||||
int iVar7;
|
||||
int src;
|
||||
short sVar1;
|
||||
@@ -3273,8 +3273,8 @@ void func_8018414C(short *param_1) {
|
||||
unsigned short uVar1;
|
||||
short *psVar2;
|
||||
int iVar3;
|
||||
register int k1f __asm__("$17");
|
||||
register int flag __asm__("$18");
|
||||
int k1f;
|
||||
int flag;
|
||||
psVar2 = (short *)func_8012DE2C((s32)param_1);
|
||||
if (psVar2 != (short *)0) {
|
||||
k1f = 0x1f;
|
||||
@@ -3534,7 +3534,7 @@ extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
|
||||
extern u8 D_8018AF78;
|
||||
extern u8 D_8018AF88;
|
||||
extern volatile unsigned short D_80126B96;
|
||||
extern unsigned short D_80126B96;
|
||||
extern void D_80196F3C;
|
||||
|
||||
void func_8018470C(s32 param_1)
|
||||
@@ -3660,9 +3660,9 @@ extern void func_8012C098(void);
|
||||
|
||||
void func_80184A68(s32 param_1)
|
||||
{
|
||||
register s32 iVar __asm__("$2");
|
||||
s32 iVar;
|
||||
s32 threshold;
|
||||
register s32 cond __asm__("$3");
|
||||
register s32 cond __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
if (*(s16 *)(param_1 + 0x70) & 0x8000) {
|
||||
iVar = func_8012BCCC(param_1);
|
||||
@@ -3709,7 +3709,6 @@ void func_80184B24(s32 param_1)
|
||||
else { a1 = 0x9000; a2 = 0x20000; }
|
||||
/* scheduling barrier: anchors the `move a0,s0` arg setup into the
|
||||
beqz delay slot, matching the target's reorg delay-slot fill. */
|
||||
__asm__ ("" : "=r"(d) : "0"(d));
|
||||
if (func_801845EC(d, a1, a2 | 0x4000) == r) {
|
||||
return;
|
||||
}
|
||||
@@ -3923,7 +3922,7 @@ s32 func_80184F08(s32 param_1) {
|
||||
/* pool-alloc: gcc routes the loaded pointer through a caller-saved reg ($v0)
|
||||
before the callee-saved home ($s1) — pin it to reproduce the extra move. */
|
||||
{
|
||||
register char *tmp __asm__("$2");
|
||||
register char *tmp __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
tmp = D_801991C0;
|
||||
puVar2 = tmp;
|
||||
}
|
||||
@@ -3943,7 +3942,7 @@ s32 func_80184F08(s32 param_1) {
|
||||
(s32)(s16)uVar3 - (s32)*(s16 *)((char *)&s50 + 2) < 0x80) {
|
||||
*(s16 *)((char *)&s50 + 2) = *(s16 *)((char *)&s50 + 2) - 4;
|
||||
{
|
||||
register char *tmp __asm__("$3");
|
||||
register char *tmp __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
tmp = D_801991C0;
|
||||
puVar2 = tmp;
|
||||
}
|
||||
@@ -3972,7 +3971,7 @@ s32 func_80184F08(s32 param_1) {
|
||||
extern signed char D_80199178[];
|
||||
|
||||
s32 func_8018514C(s32 param_1) {
|
||||
register int self __asm__("$17") = ((int)param_1);
|
||||
int self = ((int)param_1);
|
||||
int iVar6;
|
||||
int iVar1;
|
||||
unsigned char buf[0x34];
|
||||
@@ -4059,7 +4058,7 @@ s32 func_8018514C(s32 param_1) {
|
||||
*(short *)(self + 0x70) = *(short *)(self + 0x70) >> 1;
|
||||
*(unsigned short *)(iVar6 + 0x2c) |= 1;
|
||||
} else {
|
||||
__asm__ __volatile__("" : "=r"(self) : "0"(self));
|
||||
__asm__ __volatile__("" : "=r"(self) : "0"(self)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
func_8012C218((void *)self);
|
||||
}
|
||||
}
|
||||
@@ -4311,7 +4310,7 @@ void func_801858AC(s32 param_1, s32 param_2)
|
||||
*(short *)(param_1 + 0xfc) = *(short *)(param_1 + 0xfc) + 1;
|
||||
v0 = (rand() & 3) * 0x400 + 0x1800;
|
||||
s2 = v0;
|
||||
__asm__ __volatile__("" : "=r"(v0) : "0"(v0));
|
||||
__asm__ __volatile__("" : "=r"(v0) : "0"(v0)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s1 = (v0 - 0x1000) * 0x20;
|
||||
iVar3 = ((int (*)(int))func_8012913C)(4);
|
||||
if (iVar3 != 0) {
|
||||
@@ -4718,8 +4717,8 @@ extern u8 D_801D5568;
|
||||
extern u8 D_801D5558;
|
||||
|
||||
void func_80186434(s32 arg0) {
|
||||
register s32 param_1 __asm__("$16") = arg0;
|
||||
register s32 iVar1 __asm__("$17");
|
||||
s32 param_1 = arg0;
|
||||
register s32 iVar1 __asm__("$17"); // !FAKE: pin $17 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 ret;
|
||||
s32 iVar2;
|
||||
|
||||
|
||||
@@ -389,7 +389,7 @@ void func_80183068(void *a0)
|
||||
if (func_8012BEE8((s32)a0) != 0) {
|
||||
*(s32 *)((s32)a0 + 0x1C) = 0x1E;
|
||||
*(u16 *)((s32)a0 + 0x34) = *(u16 *)((s32)a0 + 0x34) + 1;
|
||||
__asm__("" ::: "memory");
|
||||
__asm__("" ::: "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9)
|
||||
if (*(u16 *)((s32)a0 + 0x34) == 4) {
|
||||
func_8012A828((s32)a0, D_801A2940);
|
||||
}
|
||||
@@ -561,11 +561,11 @@ extern s32 func_8012B608(s32 a0, s32 a1, s32 a2);
|
||||
extern void func_801838F0(void *arg0);
|
||||
|
||||
void func_8018353C(s32 param_1) {
|
||||
register s32 a2val __asm__("$6");
|
||||
register s32 v1val __asm__("$3");
|
||||
register s32 a3val __asm__("$7");
|
||||
register s32 a2val __asm__("$6"); // !FAKE: pin $6 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 v1val;
|
||||
s32 a3val;
|
||||
s32 v0;
|
||||
register s32 s0 __asm__("$16");
|
||||
register s32 s0 __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 posPtr;
|
||||
s32 out;
|
||||
s16 buf1[3];
|
||||
@@ -629,10 +629,10 @@ extern s32 func_80047948(s32 a0);
|
||||
extern s32 func_8004787C(s32 a0);
|
||||
|
||||
void func_80183630(s32 a0) {
|
||||
register s32 sum1 __asm__("$17");
|
||||
register s32 sum2 __asm__("$18");
|
||||
register s32 frac __asm__("$19");
|
||||
register s32 threshold __asm__("$16");
|
||||
s32 sum1;
|
||||
s32 sum2;
|
||||
s32 frac;
|
||||
s32 threshold;
|
||||
s32 ret;
|
||||
s32 val0;
|
||||
u16 tmp[3];
|
||||
@@ -694,10 +694,10 @@ extern s32 func_80047948(s32 a0);
|
||||
extern s32 func_8004787C(s32 a0);
|
||||
|
||||
void func_80183790(s32 a0) {
|
||||
register s32 sum1 __asm__("$18");
|
||||
register s32 sum2 __asm__("$17");
|
||||
register s32 frac __asm__("$19");
|
||||
register s32 threshold __asm__("$16");
|
||||
s32 sum1;
|
||||
register s32 sum2 __asm__("$17"); // !FAKE: pin $17 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 frac;
|
||||
s32 threshold;
|
||||
s32 ret;
|
||||
s32 val0;
|
||||
u16 tmp[3];
|
||||
@@ -1466,8 +1466,8 @@ void func_80184460(void *a0) {
|
||||
s32 sxy; /* sp+0x18 */
|
||||
s32 pp; /* sp+0x1c */
|
||||
s32 flag; /* sp+0x20 */
|
||||
register s32 v0 __asm__("$2");
|
||||
register s32 v1 __asm__("$3");
|
||||
register s32 v0 __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 v1;
|
||||
|
||||
s0 = a0;
|
||||
|
||||
@@ -2097,8 +2097,8 @@ extern s32 D_801270D4;
|
||||
extern s32 D_801270E4;
|
||||
|
||||
void func_801851EC(s32 param_1) {
|
||||
register s32 *p __asm__("$2");
|
||||
register s32 mask __asm__("$5");
|
||||
register s32 *p __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 mask __asm__("$5"); // !FAKE: pin $5 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
mask = 0x80000000;
|
||||
p = *(s32 **)(param_1 + 0x20);
|
||||
@@ -2123,7 +2123,7 @@ extern void func_80183790(s32 a0);
|
||||
|
||||
void func_8018528C(void *a0) {
|
||||
void *s0;
|
||||
register unsigned short state __asm__("$4");
|
||||
register unsigned short state __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
s0 = a0;
|
||||
state = *(u16 *)((u8 *)s0 + 0x34);
|
||||
@@ -2260,8 +2260,8 @@ extern void (*D_8018ABE4[])(void *);
|
||||
|
||||
void func_801855EC(s32 param_1)
|
||||
{
|
||||
register s32 s0v __asm__("$16") = param_1;
|
||||
register s32 s1v __asm__("$17");
|
||||
register s32 s0v __asm__("$16") = param_1; // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 s1v;
|
||||
u16 uVar2;
|
||||
|
||||
s1v = ((s32 (*)(void))func_8012C1B8)();
|
||||
@@ -2317,8 +2317,8 @@ void func_801856D8(int param_1)
|
||||
}
|
||||
}
|
||||
if (D_801270C8 != 0) {
|
||||
register void *a0pin __asm__("$4") = sp18;
|
||||
__asm__ __volatile__("" : : "r"(a0pin));
|
||||
void *a0pin = sp18;
|
||||
__asm__ __volatile__("" : : "r"(a0pin)); // !FAKE: keepalive — NEEDED DIFFERS (P36 rung B tus9)
|
||||
if (D_801270CC == 0) {
|
||||
D_801270CC = 1;
|
||||
sp18[0] = *(u16 *)(param_1 + 6);
|
||||
@@ -2480,7 +2480,7 @@ void func_8018599C(s32 param_1)
|
||||
u8 *p;
|
||||
s32 r0, r1, r2;
|
||||
s32 mag; /* -> $s1, live across the sign rand() */
|
||||
register s16 delta __asm__("$16"); /* -> $s0, 16-bit on purpose (§194-B) */
|
||||
register s16 delta __asm__("$16"); /* -> $s0, 16-bit on purpose (§194-B) */ // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 t;
|
||||
|
||||
if (func_8012BEE8(param_1) == 0) {
|
||||
@@ -2556,7 +2556,7 @@ extern void func_8012931C(void *a0, s32 a1);
|
||||
extern void func_801292C8(void);
|
||||
|
||||
void func_80185B78(void *a0) {
|
||||
register s8 *s0 __asm__("$16");
|
||||
register s8 *s0 __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 pad[2];
|
||||
s32 cnt;
|
||||
s32 t;
|
||||
@@ -2566,7 +2566,7 @@ void func_80185B78(void *a0) {
|
||||
|
||||
if (cnt == 0) {
|
||||
func_80185C0C((s32)s0);
|
||||
*(volatile s32 *)(s0 + 0x10) = *(s32 *)(s0 + 0x10);
|
||||
*(s32 *)(s0 + 0x10) = *(s32 *)(s0 + 0x10);
|
||||
t = *(s32 *)(s0 + 0x18);
|
||||
*(s32 *)(s0 + 0x18) = t;
|
||||
*(s32 *)(s0 + 0x14) = *(s32 *)(s0 + 0x14) + 0xC000;
|
||||
@@ -2803,7 +2803,7 @@ extern s32 func_800CF854(s32);
|
||||
|
||||
s32 func_80185E38(void)
|
||||
{
|
||||
register s32 r __asm__("$2");
|
||||
register s32 r __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 v;
|
||||
|
||||
v = ((s32 (*)(void))func_800CF854)();
|
||||
@@ -2881,7 +2881,7 @@ s32 func_80185E98(s32 param_1) {
|
||||
/* pool-alloc: gcc routes the loaded pointer through a caller-saved reg ($v0)
|
||||
before the callee-saved home ($s1) — pin it to reproduce the extra move. */
|
||||
{
|
||||
register char *tmp __asm__("$2");
|
||||
register char *tmp __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
tmp = D_8018ACB8;
|
||||
puVar2 = tmp;
|
||||
}
|
||||
@@ -2901,7 +2901,7 @@ s32 func_80185E98(s32 param_1) {
|
||||
(s32)(s16)uVar3 - (s32)*(s16 *)((char *)&s50 + 2) < 0x80) {
|
||||
*(s16 *)((char *)&s50 + 2) = *(s16 *)((char *)&s50 + 2) - 4;
|
||||
{
|
||||
register char *tmp __asm__("$3");
|
||||
register char *tmp __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
tmp = D_8018ACB8;
|
||||
puVar2 = tmp;
|
||||
}
|
||||
@@ -2935,7 +2935,7 @@ extern void func_8012C218(void *a0);
|
||||
s32 func_801860DC(s32 param_1) {
|
||||
|
||||
extern signed char D_8018AC70[];
|
||||
register int self __asm__("$17") = ((int)param_1);
|
||||
int self = ((int)param_1);
|
||||
int iVar6;
|
||||
int iVar1;
|
||||
unsigned char buf[0x34];
|
||||
@@ -3022,7 +3022,7 @@ s32 func_801860DC(s32 param_1) {
|
||||
*(short *)(self + 0x70) = *(short *)(self + 0x70) >> 1;
|
||||
*(unsigned short *)(iVar6 + 0x2c) |= 1;
|
||||
} else {
|
||||
__asm__ __volatile__("" : "=r"(self) : "0"(self));
|
||||
__asm__ __volatile__("" : "=r"(self) : "0"(self)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
func_8012C218((void *)self);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2795,7 +2795,7 @@ void func_8017EA84(s32 a0)
|
||||
}
|
||||
|
||||
if (*(s16 *)(a0 + 0xE0) < 9) {
|
||||
register s32 ptr20 __asm__("$2") = *(s32 *)(a0 + 0x20);
|
||||
s32 ptr20 = *(s32 *)(a0 + 0x20);
|
||||
s32 arg1 = *(s16 *)(a0 + 0xE2);
|
||||
s32 r;
|
||||
r = func_8012B608(*(s16 *)(ptr20 + 0x12), arg1, 6);
|
||||
@@ -2979,7 +2979,7 @@ void func_8017EA84(s32 a0)
|
||||
if ((s32)((u32)*(u16 *)(a0 + 0x70) << 0x10) >> 0x18 == 4 &&
|
||||
*(s16 *)&D_80126B5E >= 0x220) {
|
||||
s32 ang;
|
||||
register s32 v1 __asm__("$3");
|
||||
s32 v1;
|
||||
s32 arg1;
|
||||
ang = ratan2((s32)*(s16 *)(a0 + 0xE) - (s32)D_8018E6E8,
|
||||
(s32)D_8018E6E4 - (s32)*(s16 *)(a0 + 6));
|
||||
@@ -3088,7 +3088,7 @@ void func_8017EA84(s32 a0)
|
||||
s32 v1;
|
||||
|
||||
{
|
||||
register s32 ptr20 __asm__("$2") = *(s32 *)(a0 + 0x20);
|
||||
s32 ptr20 = *(s32 *)(a0 + 0x20);
|
||||
s32 arg1 = *(s16 *)(a0 + 0xE2);
|
||||
v0 = func_8012B608(*(s16 *)(ptr20 + 0x12), arg1, 4);
|
||||
}
|
||||
|
||||
@@ -3356,7 +3356,7 @@ s32 func_80188680(void *a0, s32 a1, s32 a2)
|
||||
{
|
||||
s16 f6 = *(s16 *)((s32)a0 + 6);
|
||||
u16 fE = *(u16 *)((s32)a0 + 0xE);
|
||||
register s32 ret asm("$2");
|
||||
register s32 ret asm("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
ret = 0;
|
||||
if ((s16)a1 - 0x30 < f6) {
|
||||
@@ -3492,7 +3492,7 @@ extern void func_800484EC(s32 a0, s32 a1, s32 a2);
|
||||
|
||||
void func_801888F4(void *arg0)
|
||||
{
|
||||
register void *a0 __asm__("$16") = arg0; /* RC-3: unpinned gcc swaps $s0/$s1 */
|
||||
register void *a0 __asm__("$16") = arg0; /* RC-3: unpinned gcc swaps $s0/$s1 */ // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 vec[4]; /* sp+0x10 */
|
||||
Blk20 m; /* sp+0x20 */
|
||||
s32 ang;
|
||||
@@ -3511,12 +3511,12 @@ void func_801888F4(void *arg0)
|
||||
|
||||
/* m = D_800AE620; — see header note: hand-expanded so no block move. */
|
||||
{
|
||||
register Blk20 *s __asm__("$6") = &D_800AE620;
|
||||
register s32 t0 __asm__("$3");
|
||||
register s32 t1 __asm__("$4");
|
||||
register s32 t2 __asm__("$5");
|
||||
Blk20 *s = &D_800AE620;
|
||||
register s32 t0 __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 t1 __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 t2 __asm__("$5"); // !FAKE: pin $5 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
__asm__("" : "=r"(s) : "0"(s)); /* keep the base in a register */
|
||||
__asm__("" : "=r"(s) : "0"(s)); /* keep the base in a register */ // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
t0 = s->w[0]; t1 = s->w[1]; t2 = s->w[2];
|
||||
m.w[0] = t0; m.w[1] = t1; m.w[2] = t2;
|
||||
@@ -3524,13 +3524,13 @@ void func_801888F4(void *arg0)
|
||||
m.w[3] = t0; m.w[4] = t1; m.w[5] = t2;
|
||||
t0 = s->w[6]; t1 = s->w[7];
|
||||
m.w[6] = t0; m.w[7] = t1;
|
||||
__asm__ __volatile__("" : : "r"(t0), "r"(t1)); /* sched barrier */
|
||||
__asm__ __volatile__("" : : "r"(t0), "r"(t1)); /* sched barrier */ // !FAKE: keepalive — NEEDED DIFFERS (P36 rung B tus9)
|
||||
}
|
||||
|
||||
{
|
||||
void *q = &m;
|
||||
RotMatrixY(ang & 0xFFF, q);
|
||||
__asm__ __volatile__("" : "=r"(q)); /* cse_expr.md §2 remat kill */
|
||||
__asm__ __volatile__("" : "=r"(q)); /* cse_expr.md §2 remat kill */ // !FAKE: launder out-only — NEEDED DIFFERS (P36 rung B tus9)
|
||||
}
|
||||
|
||||
vec[0] = 0x4000;
|
||||
@@ -3552,16 +3552,16 @@ s32 func_80188A18(s32 param_1)
|
||||
extern void func_8012931C(struct vec *a0);
|
||||
extern void func_801292C8(u8 *a0);
|
||||
|
||||
register unsigned short c __asm__("$5");
|
||||
register int d __asm__("$4");
|
||||
register int g __asm__("$6");
|
||||
register unsigned short c __asm__("$5"); // !FAKE: pin $5 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
int d;
|
||||
register int g __asm__("$6"); // !FAKE: pin $6 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
int a;
|
||||
int e;
|
||||
((void (*)(int))func_8012931C)(((int)param_1));
|
||||
a = *(int *)(((int)param_1) + 0x10);
|
||||
c = *(unsigned short *)(((int)param_1) + 0x34);
|
||||
e = *(int *)(((int)param_1) + 0x2c);
|
||||
__asm__ __volatile__("" : : "r"(a));
|
||||
__asm__ __volatile__("" : : "r"(a)); // !FAKE: keepalive — NEEDED DIFFERS (P36 rung B tus9)
|
||||
d = *(int *)(((int)param_1) + 0x30);
|
||||
{
|
||||
unsigned short cp1 = c + 1;
|
||||
@@ -4100,9 +4100,9 @@ void func_80189750(s32 param_1)
|
||||
extern void func_80188F30(void *a0);
|
||||
extern u8 D_801A629C;
|
||||
extern s16 D_801965CC;
|
||||
register s32 p0 __asm__("$16");
|
||||
register s32 iVar1 __asm__("$17");
|
||||
register s32 t __asm__("$2");
|
||||
s32 p0;
|
||||
s32 iVar1;
|
||||
register s32 t __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
p0 = param_1;
|
||||
t = ((s32 (*)(void))func_8012C1B8)();
|
||||
@@ -4896,7 +4896,7 @@ s32 func_8018A690(s32 param_1) {
|
||||
/* pool-alloc: gcc routes the loaded pointer through a caller-saved reg ($v0)
|
||||
before the callee-saved home ($s1) — pin it to reproduce the extra move. */
|
||||
{
|
||||
register char *tmp __asm__("$2");
|
||||
register char *tmp __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
tmp = D_801A7B24;
|
||||
puVar2 = tmp;
|
||||
}
|
||||
@@ -4916,7 +4916,7 @@ s32 func_8018A690(s32 param_1) {
|
||||
(s32)(s16)uVar3 - (s32)*(s16 *)((char *)&s50 + 2) < 0x80) {
|
||||
*(s16 *)((char *)&s50 + 2) = *(s16 *)((char *)&s50 + 2) - 4;
|
||||
{
|
||||
register char *tmp __asm__("$3");
|
||||
register char *tmp __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
tmp = D_801A7B24;
|
||||
puVar2 = tmp;
|
||||
}
|
||||
@@ -4950,7 +4950,7 @@ extern void func_8012C218(void *a0);
|
||||
s32 func_8018A8D4(s32 param_1) {
|
||||
|
||||
extern signed char D_801A7ADC[];
|
||||
register int self __asm__("$17") = ((int)param_1);
|
||||
int self = ((int)param_1);
|
||||
int iVar6;
|
||||
int iVar1;
|
||||
unsigned char buf[0x34];
|
||||
@@ -5037,7 +5037,7 @@ s32 func_8018A8D4(s32 param_1) {
|
||||
*(short *)(self + 0x70) = *(short *)(self + 0x70) >> 1;
|
||||
*(unsigned short *)(iVar6 + 0x2c) |= 1;
|
||||
} else {
|
||||
__asm__ __volatile__("" : "=r"(self) : "0"(self));
|
||||
__asm__ __volatile__("" : "=r"(self) : "0"(self)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
func_8012C218((void *)self);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4133,8 +4133,8 @@ extern void func_80139914(s32 a0);
|
||||
void func_8017F2C4(s32 a0)
|
||||
{
|
||||
u8 *s0 = (u8 *)a0;
|
||||
register s32 v0 asm("v0");
|
||||
register s32 v1 asm("v1");
|
||||
s32 v0;
|
||||
register s32 v1 asm("v1"); // !FAKE: pin v1 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
v0 = func_801399F0(*(s32 *)(s0 + 0x198));
|
||||
if (v0 != 0) {
|
||||
func_80139914(*(s32 *)(s0 + 0x198));
|
||||
@@ -4359,7 +4359,7 @@ void func_8017F7CC(s32 param_1)
|
||||
S16 loc;
|
||||
s32 iVar2;
|
||||
|
||||
__asm__ __volatile__("" ::: "memory");
|
||||
__asm__ __volatile__("" ::: "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9)
|
||||
*(s16 *)&loc.b[0] = 0;
|
||||
*(s16 *)&loc.b[2] = -0x40;
|
||||
*(M8 *)&loc.b[8] = D_801E2DD8;
|
||||
@@ -4395,7 +4395,7 @@ void func_8017F898(s32 arg0) {
|
||||
* promotes the prologue `sw $ra` over the ALU candidates, sinking it to
|
||||
* just above the branch. The clobber gives `sw $ra` a successor, so it is
|
||||
* only ready after the load is picked and lands back in the prologue. */
|
||||
__asm__("" : : : "memory");
|
||||
__asm__("" : : : "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
sp10[1] = -0x40;
|
||||
sp10[0] = 0;
|
||||
@@ -4521,9 +4521,9 @@ extern void func_8014706C(void *a0);
|
||||
|
||||
void func_8017FB80(void *a0)
|
||||
{
|
||||
register s32 s1 asm("s1");
|
||||
register void *s0 asm("s0");
|
||||
register s32 *s2 asm("s2");
|
||||
s32 s1;
|
||||
void *s0;
|
||||
s32 *s2;
|
||||
u16 t;
|
||||
|
||||
s2 = &D_801270C8;
|
||||
@@ -4731,7 +4731,7 @@ void func_801800CC(s32 s0)
|
||||
v0 = *(s32 *)(s0 + 0x204);
|
||||
if (v0 != 0) {
|
||||
if (func_8001A9D8() == 0) {
|
||||
register s32 c14 __asm__("$3");
|
||||
register s32 c14 __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
c14 = 0xE;
|
||||
v0 = *(s32 *)(s0 + 0x204);
|
||||
v0 -= 1;
|
||||
@@ -5005,7 +5005,7 @@ void func_80180610(void *a0) {
|
||||
*(s32 *)((s32)a0 + 0x1F8) |= 0x1000000;
|
||||
func_8017E664();
|
||||
v1 = D_801944F4[*(s16 *)((s32)a0 + 0x20C)].f6;
|
||||
__asm__("");
|
||||
__asm__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
D_80126976 = -0x60;
|
||||
*(s16 *)&D_80126970 = -0x60;
|
||||
D_8012697A = -0x80;
|
||||
@@ -5246,8 +5246,8 @@ extern s16 D_801E4C50;
|
||||
extern Blk8 D_80194554;
|
||||
|
||||
void func_80180CA0(s32 a0) {
|
||||
register Blk8 *s __asm__("$5");
|
||||
register Blk8 *d __asm__("$4");
|
||||
Blk8 *s;
|
||||
Blk8 *d;
|
||||
|
||||
s = &D_80194554;
|
||||
d = &D_801E4C50;
|
||||
@@ -5451,7 +5451,7 @@ void func_8018118C(s32 a0) {
|
||||
}
|
||||
D_80126958 = r;
|
||||
D_8012695C = r;
|
||||
__asm__("");
|
||||
__asm__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
if (0x6A3 < *(s32 *)(p + 0x10)) {
|
||||
*(u8 *)(a0 + 0x214) += 1;
|
||||
}
|
||||
@@ -5697,10 +5697,10 @@ extern void func_80185E54(s32);
|
||||
extern void func_80182D80(s32);
|
||||
|
||||
void func_801816FC(MainStruct *s0) {
|
||||
register s32 v0 __asm__("$2");
|
||||
register s32 v1 __asm__("$3");
|
||||
register s32 a0r __asm__("$4");
|
||||
register s32 a1r __asm__("$5");
|
||||
register s32 v0 __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 v1;
|
||||
register s32 a0r __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 a1r;
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < 0x17; i++) {
|
||||
|
||||
@@ -2955,7 +2955,7 @@ extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
s32 func_801820E4(void *arg0)
|
||||
{
|
||||
s16 idx;
|
||||
register u16 cnt asm("v0");
|
||||
register u16 cnt asm("v0"); // !FAKE: pin v0 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
idx = *(s16 *)((u8 *)arg0 + 0xE0);
|
||||
if (idx >= 0) {
|
||||
@@ -3226,7 +3226,7 @@ extern void func_80186304();
|
||||
void func_80182740(void *arg0) {
|
||||
s32 s0;
|
||||
|
||||
__asm__ __volatile__("" : "=r"(s0) : "0"((s32)arg0));
|
||||
s0 = (s32)arg0;
|
||||
*(u32 *)(s0 + 0x18) = 0;
|
||||
if (*(u32 *)(s0 + 0xE8) & 0x2000) {
|
||||
*(u32 *)(s0 + 0x10) = 0x38000;
|
||||
@@ -3357,7 +3357,7 @@ extern void func_8018AAAC(void);
|
||||
* `void func_80182998(void *arg0)` spelling: MATCH (61 ins), so the TU needs
|
||||
* no edit and func_80181D30 needs no re-verification. */
|
||||
void func_80182998(void) {
|
||||
register void *a0r __asm__("$4");
|
||||
register void *a0r __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
void *arg0 = a0r;
|
||||
s32 flags;
|
||||
|
||||
@@ -3594,7 +3594,7 @@ extern s32 D_801E43C4;
|
||||
extern void func_80185764();
|
||||
|
||||
void func_80182EB0(void) {
|
||||
register void *a0r __asm__("$4");
|
||||
void *a0r;
|
||||
s32 s0 = (s32)a0r;
|
||||
u32 temp;
|
||||
s32 v0_val;
|
||||
@@ -4461,9 +4461,9 @@ extern s32 D_801963D0;
|
||||
extern s32 *D_801D6D94;
|
||||
extern void func_801858C4();
|
||||
void func_80184358(u8 *arg0) {
|
||||
register u8 *a0 __asm__("$4") = arg0;
|
||||
register s32 v0 __asm__("$2");
|
||||
register s32 v1 __asm__("$3");
|
||||
register u8 *a0 __asm__("$4") = arg0; // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 v0;
|
||||
register s32 v1 __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
v0 = *(u16 *)(a0 + 0x5C);
|
||||
v1 = *(s32 *)(a0 + 0x64);
|
||||
*(u16 *)(a0 + 0x5C) = v0 & 0xFFFE;
|
||||
@@ -4492,8 +4492,8 @@ extern void func_8013240C(s32 a0, s32 a1, u32 a2);
|
||||
extern s32 D_801E44E0;
|
||||
|
||||
void func_80184404(s32 a0) {
|
||||
register s32 s0 __asm__("$16") = a0;
|
||||
register s32 temp_a0 __asm__("$4") = a0;
|
||||
register s32 s0 __asm__("$16") = a0; // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 temp_a0 __asm__("$4") = a0; // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 a1;
|
||||
s32 v0;
|
||||
u32 a2 = 0x15;
|
||||
@@ -4812,7 +4812,7 @@ void func_80184828(void *a0)
|
||||
s16 newval = D_80195AF6[*(s16 *)((u8 *)a0 + 0x100)].f0;
|
||||
|
||||
if (newval >= *(s16 *)((u8 *)a0 + 0xE)) {
|
||||
__asm__("" : "=r"(p) : "0"(p));
|
||||
__asm__("" : "=r"(p) : "0"(p)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s1 = 1;
|
||||
((struct S0E_80184828 *)((u8 *)a0 + 0xE))->v = newval;
|
||||
off = *(s16 *)((u8 *)a0 + 0x100) * 8;
|
||||
@@ -4893,7 +4893,6 @@ void func_80184A8C(void *a0) {
|
||||
|
||||
timer -= 1;
|
||||
((struct S34_80184A8C *)(s0 + 0x34))->v = timer;
|
||||
__asm__ __volatile__("" ::: "memory");
|
||||
|
||||
tmp[0] = (*(s16 *)(s0 + 0xDC) - *(s32 *)(*(s32 *)(s0 + 0x20) + 0x48)) >> 2;
|
||||
|
||||
|
||||
@@ -117,9 +117,9 @@ extern void func_8012AD44(s32 *a0, s16 a1);
|
||||
extern void func_801853CC(s32 a0);
|
||||
|
||||
void func_80185214(s32 arg0) {
|
||||
register s32 self __asm__("$16");
|
||||
register s32 state __asm__("$4");
|
||||
register s32 idx __asm__("$2");
|
||||
register s32 self __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 state __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 idx __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 acc;
|
||||
s32 lo;
|
||||
s32 hi;
|
||||
@@ -164,7 +164,7 @@ void func_80185214(s32 arg0) {
|
||||
p = self;
|
||||
acc = lo - hi;
|
||||
acc = (acc << 12) + ((*(u16 *)(p + 0x70) & 7) << 16) + 0x40000;
|
||||
__asm__ __volatile__("");
|
||||
__asm__ __volatile__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
*(s32 *)(p + 0x10) = acc;
|
||||
|
||||
tgt = *(void **)(p + 0xCC);
|
||||
@@ -195,10 +195,10 @@ extern void func_80186B08(s32 param_1);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
|
||||
void func_801853EC(s32 arg0) {
|
||||
register s32 s0 __asm__("$16");
|
||||
register s32 r76 __asm__("$2");
|
||||
register s32 r60 __asm__("$6");
|
||||
register s32 flags __asm__("$3");
|
||||
s32 s0;
|
||||
s32 r76;
|
||||
s32 r60;
|
||||
s32 flags;
|
||||
s32 cnt;
|
||||
|
||||
s0 = arg0;
|
||||
@@ -413,9 +413,9 @@ extern void func_8018AB84(void);
|
||||
|
||||
void func_8018592C(u8 *arg0) {
|
||||
s16 val;
|
||||
register u8 *a2 __asm__("$6");
|
||||
register u32 idx __asm__("$4");
|
||||
register s32 flags __asm__("$3");
|
||||
register u8 *a2 __asm__("$6"); // !FAKE: pin $6 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
u32 idx;
|
||||
register s32 flags __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
a2 = arg0;
|
||||
flags = *(s32 *)(a2 + 0xE8);
|
||||
@@ -467,7 +467,7 @@ extern u16 D_801E4BBC;
|
||||
extern s16 D_80195B24[];
|
||||
|
||||
s32 func_80185A88(s32 param_1, s32 param_2) {
|
||||
register s32 zr __asm__("$0");
|
||||
register s32 zr __asm__("$0"); // !FAKE: pin $0 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
int t;
|
||||
int x;
|
||||
int m;
|
||||
@@ -598,7 +598,7 @@ void func_80185DD0(s32 target, u16 *cur, s32 step)
|
||||
if ((s16)diff < 0) {
|
||||
mag = -diff;
|
||||
}
|
||||
__asm__ __volatile__("" : "=r"(diff) : "0"(diff) : "memory");
|
||||
__asm__ __volatile__("" : "=r"(diff) : "0"(diff) : "memory"); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
if ((s16)mag > (u16)step) {
|
||||
if ((s16)diff < 0) {
|
||||
*cur = *cur - step;
|
||||
|
||||
@@ -3000,10 +3000,10 @@ extern s32 D_801E43DC;
|
||||
extern s32 D_801E43E0;
|
||||
extern s32 D_801E43E4;
|
||||
extern s32 D_801E43E8;
|
||||
extern volatile s32 D_801E43EC;
|
||||
extern volatile s32 D_801E43F0;
|
||||
extern volatile s32 D_801E43F4;
|
||||
extern volatile s32 D_801E43F8;
|
||||
extern s32 D_801E43EC;
|
||||
extern s32 D_801E43F0;
|
||||
extern s32 D_801E43F4;
|
||||
extern s32 D_801E43F8;
|
||||
extern u16 D_80195E44[];
|
||||
extern u16 D_80195E78[];
|
||||
extern u16 D_80195EAC[];
|
||||
@@ -3809,7 +3809,7 @@ extern u8 D_801D91CC[];
|
||||
|
||||
void func_8018EFEC(s32 param_1)
|
||||
{
|
||||
register s32 s0 __asm__("$16");
|
||||
s32 s0;
|
||||
s32 *pb;
|
||||
s32 p;
|
||||
s32 t;
|
||||
@@ -3905,7 +3905,7 @@ void func_8018F230(void *param_1)
|
||||
func_8018F2C4((s32)param_1);
|
||||
*(u16 *)((s32)param_1 + 0xDE) = *(u16 *)(*(s32 *)&D_801270CC + 6);
|
||||
*(s16 *)((s32)param_1 + 0xA) = -0x880;
|
||||
__asm__ __volatile__("" ::: "memory");
|
||||
__asm__ __volatile__("" ::: "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9)
|
||||
*(u16 *)((s32)param_1 + 0xDC) = *(u16 *)(*(s32 *)&D_801270CC + 0xE);
|
||||
*(u16 *)((s32)param_1 + 2) += 1;
|
||||
}
|
||||
@@ -4143,10 +4143,10 @@ extern u8 D_800A5EB6;
|
||||
void func_8018F72C(void *a0)
|
||||
{
|
||||
s32 v0;
|
||||
register s32 *s0 __asm__("$16");
|
||||
register s32 s1v __asm__("$17");
|
||||
register s32 s2v __asm__("$18");
|
||||
register s32 a0v __asm__("$4");
|
||||
s32 *s0;
|
||||
s32 s1v;
|
||||
s32 s2v;
|
||||
register s32 a0v __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 e9c, eac;
|
||||
|
||||
v0 = ((s32 (*)(void))func_8012C1B8)();
|
||||
@@ -4160,7 +4160,7 @@ void func_8018F72C(void *a0)
|
||||
*(s16 *)((u8 *)a0 + 0x2) = 1;
|
||||
*(u32 *)(*(s32 *)((u8 *)a0 + 0x20) + 0x4) |= 0x80000000;
|
||||
|
||||
__asm__("la %0, D_800A5E88" : "=r"(s0));
|
||||
__asm__("la %0, D_800A5E88" : "=r"(s0)); // !FAKE: instruction la — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s0[0] = 0;
|
||||
D_800A5E8C = 0xA;
|
||||
D_800A5E90 = -0xA;
|
||||
@@ -4171,9 +4171,8 @@ void func_8018F72C(void *a0)
|
||||
|
||||
a0v = 1;
|
||||
e9c = -0xE;
|
||||
__asm__ __volatile__("" ::: "memory");
|
||||
s0[4] = 0;
|
||||
__asm__ __volatile__("" ::: "memory");
|
||||
__asm__ __volatile__("" ::: "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9)
|
||||
D_800A5E9C = e9c;
|
||||
D_800A5EA0 = -0x8;
|
||||
s2v = 0x33;
|
||||
@@ -4185,9 +4184,8 @@ void func_8018F72C(void *a0)
|
||||
|
||||
a0v = 2;
|
||||
eac = 0x14;
|
||||
__asm__ __volatile__("" ::: "memory");
|
||||
s0[8] = 0;
|
||||
__asm__ __volatile__("" ::: "memory");
|
||||
__asm__ __volatile__("" ::: "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9)
|
||||
D_800A5EAC = eac;
|
||||
D_800A5EB0 = 0xF;
|
||||
D_800A5EB4 = s1v;
|
||||
@@ -4261,8 +4259,8 @@ void func_8018F944(void *a0)
|
||||
{
|
||||
s32 v0;
|
||||
s32 eac;
|
||||
register s32 *s0 __asm__("$16");
|
||||
register s32 a0v __asm__("$4");
|
||||
s32 *s0;
|
||||
register s32 a0v __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
v0 = *(s32 *)((u8 *)a0 + 0x1C) - 1;
|
||||
*(s32 *)((u8 *)a0 + 0x1C) = v0;
|
||||
@@ -4271,7 +4269,7 @@ void func_8018F944(void *a0)
|
||||
}
|
||||
|
||||
*(s16 *)((u8 *)a0 + 0x2) = 4;
|
||||
__asm__("la %0, D_800A5E88" : "=r"(s0));
|
||||
__asm__("la %0, D_800A5E88" : "=r"(s0)); // !FAKE: instruction la — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s0[0] = 0;
|
||||
D_800A5E8C = -4;
|
||||
D_800A5E90 = -4;
|
||||
@@ -4286,9 +4284,8 @@ void func_8018F944(void *a0)
|
||||
|
||||
a0v = 2;
|
||||
eac = 0xA;
|
||||
__asm__ __volatile__("" ::: "memory");
|
||||
s0[8] = 0;
|
||||
__asm__ __volatile__("" ::: "memory");
|
||||
__asm__ __volatile__("" ::: "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9)
|
||||
D_800A5EAC = eac;
|
||||
D_800A5EB0 = eac;
|
||||
D_800A5EB4 = 0xCC;
|
||||
@@ -4320,19 +4317,19 @@ void func_8018FA34(s32 *a0)
|
||||
* rand()-result andi/addiu chain (S2-adjacent "class3 tie" residual,
|
||||
* cookbook §25 / gcc-2.7.2-map/sched.md S1/S6); the target schedules
|
||||
* each independent op BEFORE the dependent chain that follows it. */
|
||||
register s32 a0v __asm__("$4");
|
||||
register s32 a0v __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
s1 = a0;
|
||||
v0 = rand();
|
||||
s0 = (s32 *)&D_800A5E88;
|
||||
__asm__ __volatile__("" ::: "memory");
|
||||
__asm__ __volatile__("" ::: "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9)
|
||||
v0 &= 0x1F;
|
||||
v0 -= 0x10;
|
||||
s0[0] = v0;
|
||||
|
||||
v0 = rand();
|
||||
a0v = 0;
|
||||
__asm__ __volatile__("" ::: "memory");
|
||||
__asm__ __volatile__("" ::: "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9)
|
||||
v0 &= 0x1F;
|
||||
v0 -= 0x14;
|
||||
D_800A5E90 = v0;
|
||||
@@ -4362,8 +4359,8 @@ extern s32 D_800A5EA0;
|
||||
extern s32 D_800A5EB0;
|
||||
|
||||
void func_8018FAE0(s32 a0) {
|
||||
register s32 *s0 __asm__("$16");
|
||||
register s32 *s1 __asm__("$17");
|
||||
s32 *s0;
|
||||
s32 *s1;
|
||||
s32 v0;
|
||||
|
||||
s1 = (s32 *)a0;
|
||||
@@ -4398,17 +4395,17 @@ extern s32 D_800A5EA0;
|
||||
extern s32 D_800A5EB0;
|
||||
|
||||
void func_8018FB8C(void *a0) {
|
||||
register s32 *s0 __asm__("s0");
|
||||
register s32 a0v __asm__("a0");
|
||||
s32 *s0;
|
||||
register s32 a0v __asm__("a0"); // !FAKE: pin a0 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 *s1 = (s32 *)a0;
|
||||
s32 tmp;
|
||||
|
||||
tmp = rand();
|
||||
s0 = (volatile s32 *)&D_800A5E88;
|
||||
s0 = (s32 *)&D_800A5E88;
|
||||
tmp = (tmp & 0x1F) - 0x10;
|
||||
s0[0] = tmp;
|
||||
tmp = rand();
|
||||
__asm__("addu %0,$zero,$zero" : "=r"(a0v));
|
||||
__asm__("addu %0,$zero,$zero" : "=r"(a0v)); // !FAKE: instruction addu — REFUSED instruction `addu` has no C spelling in the table (P36 rung B tus9)
|
||||
tmp = (tmp & 0x1F) - 0x14;
|
||||
D_800A5E90 = tmp;
|
||||
|
||||
@@ -4418,7 +4415,7 @@ void func_8018FB8C(void *a0) {
|
||||
*(s16 *)((s8 *)s1 + 2) = 0x7;
|
||||
D_800A5EA0 = 0xE;
|
||||
func_80028620(1, (void *)((s32)s0 + 0x10));
|
||||
__asm__("" : "=r"(s0) : "0"(s0));
|
||||
__asm__("" : "=r"(s0) : "0"(s0)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
D_800A5EB0 = -0xA;
|
||||
func_80028620(2, (void *)((s32)s0 + 0x20));
|
||||
}
|
||||
@@ -4461,10 +4458,10 @@ void func_8018FC38(s32 a0) {
|
||||
a0 = 0;
|
||||
v0 = (v0 & 0x1F) - 0xC;
|
||||
D_800A5E90 = v0;
|
||||
__asm__("" : "=r"(a0) : "0"(a0));
|
||||
__asm__("" : "=r"(a0) : "0"(a0)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
func_80028620(a0, s0);
|
||||
__asm__("" : "=r"(s0) : "0"(s0));
|
||||
__asm__("" : "=r"(s0) : "0"(s0)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
if (D_80126D6C == 0xD) {
|
||||
*(s16*)(s1 + 0x2) = 0x8;
|
||||
@@ -4502,18 +4499,17 @@ void func_8018FCE4(void *a0)
|
||||
s32 *s0;
|
||||
s32 v0;
|
||||
s32 eac;
|
||||
register s32 a0v __asm__("$4");
|
||||
register s32 a0v __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
s1 = a0;
|
||||
v0 = rand();
|
||||
s0 = (s32 *)&D_800A5E88;
|
||||
__asm__ __volatile__("" ::: "memory");
|
||||
v0 = (v0 & 0x1F) - 0x10;
|
||||
s0[0] = v0;
|
||||
|
||||
v0 = rand();
|
||||
a0v = 0;
|
||||
__asm__ __volatile__("" ::: "memory");
|
||||
__asm__ __volatile__("" ::: "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9)
|
||||
v0 = (v0 & 0x1F) - 0x14;
|
||||
D_800A5E90 = v0;
|
||||
|
||||
@@ -4535,10 +4531,9 @@ void func_8018FCE4(void *a0)
|
||||
|
||||
a0v = 2;
|
||||
eac = 0x14;
|
||||
__asm__ __volatile__("" ::: "memory");
|
||||
__asm__("" : "=r"(s0) : "0"(s0));
|
||||
__asm__("" : "=r"(s0) : "0"(s0)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s0[8] = 0;
|
||||
__asm__ __volatile__("" ::: "memory");
|
||||
__asm__ __volatile__("" ::: "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9)
|
||||
D_800A5EAC = eac;
|
||||
D_800A5EB0 = 0xF;
|
||||
D_800A5EB4 = 0x4C;
|
||||
@@ -4601,16 +4596,16 @@ extern void func_80028620(s32, void *);
|
||||
|
||||
void func_8018FEA0(void *a0)
|
||||
{
|
||||
register s32 *s0 __asm__("$16");
|
||||
register s32 s1v __asm__("$17");
|
||||
register s32 s2v __asm__("$18");
|
||||
register s32 s3v __asm__("$19");
|
||||
register s32 a0v __asm__("$4");
|
||||
s32 *s0;
|
||||
s32 s1v;
|
||||
s32 s2v;
|
||||
s32 s3v;
|
||||
register s32 a0v __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 eb0;
|
||||
|
||||
if (D_801270C8 >= 0x14) {
|
||||
a0v = 0;
|
||||
__asm__("la %0, D_800A5E88" : "=r"(s0));
|
||||
__asm__("la %0, D_800A5E88" : "=r"(s0)); // !FAKE: instruction la — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
*(s16 *)((u8 *)a0 + 0x2) = 0xB;
|
||||
|
||||
@@ -4636,9 +4631,8 @@ void func_8018FEA0(void *a0)
|
||||
|
||||
a0v = 2;
|
||||
eb0 = 0xF;
|
||||
__asm__ __volatile__("" ::: "memory");
|
||||
s0[8] = 0;
|
||||
__asm__ __volatile__("" ::: "memory");
|
||||
__asm__ __volatile__("" ::: "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9)
|
||||
D_800A5EB0 = eb0;
|
||||
D_800A5EAC = s3v;
|
||||
D_800A5EB4 = s2v;
|
||||
@@ -4699,7 +4693,7 @@ void func_80190074(void *a0) {
|
||||
extern s32 func_800CF854(void);
|
||||
|
||||
s32 func_801900B0(void) {
|
||||
register s32 r __asm__("$2");
|
||||
register s32 r __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 v;
|
||||
|
||||
v = ((s32 (*)(void))func_800CF854)();
|
||||
@@ -4756,8 +4750,8 @@ extern EffectSlot4 D_80196E90;
|
||||
extern EffectSlot4 D_80196E94;
|
||||
|
||||
void func_80190144(void *a0) {
|
||||
register void *s0 __asm__("$16");
|
||||
register void *s1 __asm__("$17");
|
||||
register void *s0 __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
void *s1;
|
||||
|
||||
s0 = a0;
|
||||
s1 = ((void *(*)(void))func_801465C0)();
|
||||
|
||||
@@ -3506,7 +3506,7 @@ int func_8017A3D8(void)
|
||||
return 0;
|
||||
case 100:
|
||||
{
|
||||
register int a __asm__("$4");
|
||||
register int a __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
a = D_801EB140;
|
||||
if (a != -1) {
|
||||
return func_8001AAA0() != 0;
|
||||
|
||||
@@ -937,7 +937,7 @@ void func_8018487C(s32 param_1)
|
||||
{
|
||||
s32 tmp;
|
||||
s32 iVar1;
|
||||
register s32 quot __asm__("$2");
|
||||
s32 quot;
|
||||
s32 scaled;
|
||||
s32 *p;
|
||||
|
||||
@@ -956,7 +956,6 @@ void func_8018487C(s32 param_1)
|
||||
}
|
||||
}
|
||||
p = &D_80195640;
|
||||
__asm__("");
|
||||
*p = scaled + -0x20000;
|
||||
func_8012B14C(param_1, (s32)p - 4);
|
||||
}
|
||||
@@ -1029,9 +1028,9 @@ extern void func_8012C098(void);
|
||||
|
||||
void func_80184A54(void)
|
||||
{
|
||||
register int i __asm__("$17");
|
||||
register u8 *p __asm__("$16");
|
||||
register int s2 __asm__("$18");
|
||||
int i;
|
||||
u8 *p;
|
||||
int s2;
|
||||
|
||||
i = 0;
|
||||
p = D_801202A0;
|
||||
@@ -1460,7 +1459,7 @@ void func_801852B0(s32 a0)
|
||||
* `bnez` delay slot above and redirects the branch one insn further on.
|
||||
* `stop_search_p` halts that search on an asm insn, so the target's
|
||||
* unfilled `nop` (idx 18) survives. Emits nothing. */
|
||||
__asm__("");
|
||||
__asm__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
v ^= 1;
|
||||
*(s32 *)(s0 + 0xDC) = v;
|
||||
func_8012B200(p);
|
||||
@@ -1474,16 +1473,16 @@ void func_801852B0(s32 a0)
|
||||
* §245 addendum, "the re-tie barrier pins call-arg setup to source order")
|
||||
* stops the constant from being rematerialised down at the call. */
|
||||
if (*(s32 *)(s0 + 0xDC) == 0) {
|
||||
register s32 q __asm__("$4") = s0;
|
||||
register s32 r __asm__("$5") = 0xFFF80000;
|
||||
__asm__ __volatile__("" : "=r"(r) : "0"(r));
|
||||
register s32 q __asm__("$4") = s0; // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 r = 0xFFF80000;
|
||||
__asm__ __volatile__("" : "=r"(r) : "0"(r)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
*(s16 *)(s0 + 2) = 7;
|
||||
func_8012B178(q, r);
|
||||
v = 0x20;
|
||||
} else {
|
||||
register s32 q2 __asm__("$4") = s0;
|
||||
register s32 r2 __asm__("$5") = 0x100000;
|
||||
__asm__ __volatile__("" : "=r"(r2) : "0"(r2));
|
||||
register s32 q2 __asm__("$4") = s0; // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 r2 = 0x100000;
|
||||
__asm__ __volatile__("" : "=r"(r2) : "0"(r2)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
*(s16 *)(s0 + 2) = 6;
|
||||
func_8012B178(q2, r2);
|
||||
v = 0x10;
|
||||
@@ -1676,7 +1675,7 @@ s32 func_8018567C(s32 a0, s32 a1) {
|
||||
dist -= 0x4000;
|
||||
s0 = 0x60;
|
||||
if (dist > 0xC7FFF) {
|
||||
register s32 tmp __asm__("$3") = dist - 0xC8000;
|
||||
register s32 tmp __asm__("$3") = dist - 0xC8000; // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
v0 = tmp / 8533;
|
||||
} else {
|
||||
v0 = dist / 26425 - 31;
|
||||
@@ -1745,11 +1744,11 @@ void func_8018576C(u8 *vb)
|
||||
extern u8 D_800A6610[];
|
||||
extern short D_800B9A02;
|
||||
|
||||
register u8 *p __asm__("$4");
|
||||
register s32 t1 __asm__("$9");
|
||||
register s32 i __asm__("$11");
|
||||
register s32 t0 __asm__("$8");
|
||||
register s32 k __asm__("$2");
|
||||
u8 *p;
|
||||
s32 t1;
|
||||
register s32 i __asm__("$11"); // !FAKE: pin $11 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 t0;
|
||||
s32 k;
|
||||
u8 *pkt;
|
||||
u32 *ot;
|
||||
u32 *otp;
|
||||
@@ -1995,8 +1994,8 @@ extern u8 D_80195998;
|
||||
extern u8 D_80195A94;
|
||||
|
||||
void func_80185C7C(s32 a0) {
|
||||
register s32 self __asm__("$17") = a0;
|
||||
register s32 obj __asm__("$16");
|
||||
s32 self = a0;
|
||||
s32 obj;
|
||||
s32 h;
|
||||
s32 v0;
|
||||
u16 v1;
|
||||
@@ -2165,8 +2164,8 @@ extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
void func_80186070(s32 a0) {
|
||||
|
||||
extern u8 D_801959C8[];
|
||||
register s32 obj __asm__("$16"); /* $s0 */
|
||||
register s32 self __asm__("$17") = a0; /* $s1 */
|
||||
s32 obj; /* $s0 */
|
||||
register s32 self __asm__("$17") = a0; /* $s1 */ // !FAKE: pin $17 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 t0;
|
||||
s32 t1;
|
||||
s32 t2;
|
||||
@@ -2235,7 +2234,7 @@ extern void func_8012AD44(s32 *a0, s16 a1);
|
||||
extern void func_801867BC(void *a0);
|
||||
|
||||
void func_801861FC(void *arg0) {
|
||||
register s32 s0 __asm__("$16") = (s32)arg0;
|
||||
s32 s0 = (s32)arg0;
|
||||
s32 val;
|
||||
|
||||
*(s32 *)(s0 + 0x1C) = 4;
|
||||
@@ -2278,7 +2277,7 @@ extern u16 D_80126B66;
|
||||
|
||||
void func_801862A4(int a0)
|
||||
{
|
||||
register s32 s0 __asm__("$16") = a0;
|
||||
s32 s0 = a0;
|
||||
u8 *ptr;
|
||||
s32 val1;
|
||||
s32 val2;
|
||||
@@ -2359,7 +2358,7 @@ extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_8001AAA0(s32 arg);
|
||||
|
||||
void func_80186430(s32 a0) {
|
||||
register s32 self __asm__("$16") = a0;
|
||||
s32 self = a0;
|
||||
u32 idx;
|
||||
s32 t0;
|
||||
s32 t1;
|
||||
@@ -2437,7 +2436,7 @@ void func_801865B0(s32 arg0) {
|
||||
int func_801865E4(int a0, void* a1)
|
||||
{
|
||||
s16 stack_buf[8];
|
||||
register s16 *s0 __asm__("$16") = (s16 *)a1;
|
||||
register s16 *s0 __asm__("$16") = (s16 *)a1; // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s16 v0;
|
||||
s32 result;
|
||||
s32 ret;
|
||||
@@ -2587,13 +2586,13 @@ s32 func_80186B1C(void *a0, void *a1);
|
||||
|
||||
void func_80186868(s32 a0)
|
||||
{
|
||||
register s32 self __asm__("$17") = a0;
|
||||
s32 self = a0;
|
||||
s32 flags;
|
||||
s32 v1;
|
||||
register s32 v0 __asm__("$2");
|
||||
register s32 dx __asm__("$19");
|
||||
register s32 dy __asm__("$4");
|
||||
register s32 dz __asm__("$18");
|
||||
register s32 v0 __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 dx __asm__("$19"); // !FAKE: pin $19 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 dy __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 dz __asm__("$18"); // !FAKE: pin $18 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 t;
|
||||
s32 p, q;
|
||||
s32 sum;
|
||||
@@ -2673,7 +2672,7 @@ void func_80186AE0(void *a0) {
|
||||
|
||||
s32 func_80186B1C(void *a0, void *a1) {
|
||||
s16 stack_buf[8];
|
||||
register s16 *s0 __asm__("$16") = (s16 *)a1;
|
||||
register s16 *s0 __asm__("$16") = (s16 *)a1; // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s16 v0;
|
||||
s32 result;
|
||||
s32 ret;
|
||||
@@ -2713,7 +2712,7 @@ extern void func_8012B14C(s32 a0, s32 a1);
|
||||
extern s32 func_8012AD50(void *a0);
|
||||
|
||||
void func_80186BB0(void *a0) {
|
||||
register s32 v0 __asm__("$2");
|
||||
s32 v0;
|
||||
s32 sp10[3];
|
||||
|
||||
v0 = ((s32 (*)(void))func_8012C1B8)();
|
||||
@@ -2738,7 +2737,7 @@ void func_80186BB0(void *a0) {
|
||||
|
||||
|
||||
void func_80186C30(s32 a0) {
|
||||
register s32 self __asm__("$16") = a0;
|
||||
register s32 self __asm__("$16") = a0; // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 v0;
|
||||
extern s32 func_80029178(s32);
|
||||
extern void func_8012C1B8(void);
|
||||
@@ -3007,8 +3006,8 @@ extern Block4 D_801EB524;
|
||||
extern Block4 D_801EB528;
|
||||
|
||||
void func_80187110(s32 a0) {
|
||||
register u8 *s0 __asm__("$16");
|
||||
register s32 *s1 __asm__("$17");
|
||||
u8 *s0;
|
||||
s32 *s1;
|
||||
s32 *v1;
|
||||
s32 *a0_ptr;
|
||||
s8 pad[32]; /* Force larger stack frame */
|
||||
@@ -3094,7 +3093,6 @@ void func_801872B4(s32 arg0) {
|
||||
s32 a0;
|
||||
u32 v1;
|
||||
|
||||
__asm__("":: : "memory");
|
||||
a0 = *(s32 *)(arg0 + 0x20);
|
||||
if (*(s16 *)(a0 + 0x18) > 0x800) {
|
||||
*(s16 *)(a0 + 0x18) = *(s16 *)(a0 + 0x18) - 0x200;
|
||||
@@ -3474,14 +3472,14 @@ extern void func_801292C8(u8 *a0);
|
||||
|
||||
void func_80187CE8(s32 arg0)
|
||||
{
|
||||
register s32 s1 __asm__("$17") = arg0;
|
||||
register s32 s0 __asm__("$16");
|
||||
register s32 v0 __asm__("$2");
|
||||
register s32 v1 __asm__("$3");
|
||||
register s32 a0 __asm__("$4");
|
||||
register s32 a1 __asm__("$5");
|
||||
register s32 a2 __asm__("$6");
|
||||
register s32 zr __asm__("$0");
|
||||
register s32 s1 __asm__("$17") = arg0; // !FAKE: pin $17 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 s0;
|
||||
s32 v0;
|
||||
s32 v1;
|
||||
s32 a0;
|
||||
register s32 a1 __asm__("$5"); // !FAKE: pin $5 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 a2 __asm__("$6"); // !FAKE: pin $6 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 zr __asm__("$0"); // !FAKE: pin $0 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
/* Load velocity components */
|
||||
v0 = *(s32 *)(s1 + 0x10);
|
||||
@@ -3600,9 +3598,9 @@ void func_80187E08(s32 param_1)
|
||||
extern u16 D_800AF7BE;
|
||||
extern s32 *D_80195FC0[];
|
||||
|
||||
register s32 mtx __asm__("$2");
|
||||
register s32 xt __asm__("$3");
|
||||
register s32 ok2 __asm__("$2");
|
||||
s32 mtx;
|
||||
register s32 xt __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 ok2 __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 *rec;
|
||||
s16 sxy[2]; /* sp+0x10 */
|
||||
long flag; /* sp+0x18 */
|
||||
@@ -3611,7 +3609,7 @@ void func_80187E08(s32 param_1)
|
||||
s16 first;
|
||||
|
||||
rec = D_80195FC0[*(s16 *)((s8 *)param_1 + 0xFC)];
|
||||
__asm__ volatile("");
|
||||
__asm__ volatile(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
mtx = (s32)&D_800AF648;
|
||||
gte_SetRotMatrix_87E08(mtx);
|
||||
@@ -3698,7 +3696,7 @@ void func_80188034(s32 a0) {
|
||||
s32 base;
|
||||
s16 buf[2];
|
||||
s16 sVar1;
|
||||
register s32 iVar3 __asm__("$2");
|
||||
register s32 iVar3 __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 a1v;
|
||||
|
||||
idx = *(s16 *)(a0 + 0xFC);
|
||||
@@ -3886,7 +3884,7 @@ s32 func_80188250_body(s32 a0) {
|
||||
*(u16 *)(a0 + 6) = v18[0];
|
||||
*(u16 *)(a0 + 0xA) = v18[1];
|
||||
*(u16 *)(a0 + 0xE) = v18[2];
|
||||
__asm__ __volatile__("" ::: "memory"); /* zero-byte cross-jump barrier (§5a) */
|
||||
__asm__ __volatile__("" ::: "memory"); /* zero-byte cross-jump barrier (§5a) */ // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9)
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
@@ -3999,7 +3997,7 @@ void func_80188554(s32 param_1) {
|
||||
*(s16 *)(param_1 + 0xFC) =
|
||||
func_8012B744((void *)(param_1 + 0x4), target);
|
||||
} else {
|
||||
register s32 t __asm__("$2") = rand() & 0x3FF;
|
||||
s32 t = rand() & 0x3FF;
|
||||
s32 v1 = t - 0x200;
|
||||
|
||||
if (v1 < 0) {
|
||||
@@ -4122,7 +4120,7 @@ void func_801887F8(s32 a0) {
|
||||
s32 r;
|
||||
s32 dx;
|
||||
s32 dz;
|
||||
register void *s1_ptr __asm__("$17");
|
||||
register void *s1_ptr __asm__("$17"); // !FAKE: pin $17 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
if ((*(u16 *)(a0 + 0x34) == 0) && ((*(u16 *)(a0 + 0x72) & 0x4000) != 0)) {
|
||||
d.vx = *(s16 *)(a0 + 0x6) - *(s16 *)(a0 + 0x88);
|
||||
|
||||
@@ -108,10 +108,10 @@ extern void func_8012B178(s32 a0, s32 a1);
|
||||
extern s32 D_801960B4[];
|
||||
|
||||
void func_80189050(s32 param_1) {
|
||||
register s32 s0 __asm__("$16") = param_1;
|
||||
s32 s0 = param_1;
|
||||
s32 *s1;
|
||||
|
||||
__asm__ __volatile__("" : "=r"(s0) : "0"(s0));
|
||||
__asm__ __volatile__("" : "=r"(s0) : "0"(s0)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
if ((*(u16 *)(s0 + 0x70) & 0x2000) == 0) {
|
||||
s1 = &D_801960B4[3];
|
||||
@@ -265,7 +265,7 @@ void func_80189324(s32 a0) {
|
||||
s32 dx, dz;
|
||||
s32 x;
|
||||
s32 v1;
|
||||
register void *s1_ptr __asm__("$17");
|
||||
register void *s1_ptr __asm__("$17"); // !FAKE: pin $17 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
idx = (*(u16 *)(a0 + 0x70) & 0xF00) >> 8;
|
||||
|
||||
@@ -348,7 +348,7 @@ extern short D_801D3B74;
|
||||
extern short D_801D4494;
|
||||
|
||||
void func_8018951C(s32 param_1) {
|
||||
register s32 s0 __asm__("$16");
|
||||
register s32 s0 __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 v0;
|
||||
|
||||
s0 = param_1;
|
||||
@@ -749,7 +749,7 @@ void func_80189C90(s32 s0)
|
||||
|
||||
void func_80189E00(s32 a0) {
|
||||
extern u8 D_801961BC[];
|
||||
register s32 s0 __asm__("$16") = a0;
|
||||
register s32 s0 __asm__("$16") = a0; // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 v0, v1;
|
||||
|
||||
v0 = *(s32 *)(s0 + 0xDC);
|
||||
@@ -827,7 +827,7 @@ extern s32 rand(void);
|
||||
|
||||
void func_80189F30(void *param_1) {
|
||||
s16 v[8];
|
||||
register s32 i __asm__("$17");
|
||||
s32 i;
|
||||
s32 r;
|
||||
s32 t;
|
||||
s32 flag;
|
||||
@@ -860,7 +860,7 @@ extern void func_8017C294(s32 a0, s16 *a1, s16 a2);
|
||||
|
||||
void func_8018A084(s32 a0) {
|
||||
s16 v[3];
|
||||
register s32 i __asm__("$17");
|
||||
s32 i;
|
||||
s32 r;
|
||||
|
||||
v[1] = D_801961CE;
|
||||
@@ -912,7 +912,7 @@ typedef struct { u16 a, b, c, d; } __attribute__((aligned(2))) DataBlock;
|
||||
void func_8018A1A4(void *a0) {
|
||||
u8 *s1;
|
||||
u8 *s0;
|
||||
register u8 *a1 __asm__("$5");
|
||||
u8 *a1;
|
||||
|
||||
s1 = (u8 *)a0;
|
||||
s0 = *(u8 **)(s1 + 0xDC);
|
||||
@@ -1524,10 +1524,10 @@ void func_8018AB20(s32 arg0)
|
||||
s32 ot;
|
||||
u16 bx;
|
||||
u16 by;
|
||||
register s32 ang __asm__("$4"); /* §17 pin — see residual (a) */
|
||||
register s32 ang __asm__("$4"); /* §17 pin — see residual (a) */ // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
volatile u16 *bidx;
|
||||
s32 t;
|
||||
register u32 pv __asm__("$3"); /* §17 pin — see residual (b) */
|
||||
register u32 pv __asm__("$3"); /* §17 pin — see residual (b) */ // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
m = D_800AE620;
|
||||
mp = &m;
|
||||
@@ -1578,7 +1578,7 @@ void func_8018AB20(s32 arg0)
|
||||
*(s16 *)(p + 0x1A) = by;
|
||||
|
||||
/* addPrim(otp, p) == setaddr(p, getaddr(otp)), setaddr(otp, p) */
|
||||
bidx = (volatile u16 *)&D_800B9A02;
|
||||
bidx = (u16 *)&D_800B9A02;
|
||||
pv = *(u32 *)p;
|
||||
*(u32 *)p = (pv & 0xFF000000) |
|
||||
(*(u32 *)(*(s32 *)((u8 *)&D_800A651C +
|
||||
@@ -1586,7 +1586,7 @@ void func_8018AB20(s32 arg0)
|
||||
ot = *(s32 *)((u8 *)&D_800A651C + (*bidx * 20));
|
||||
*(u32 *)(ot + 0x40) = (*(u32 *)(ot + 0x40) & 0xFF000000) | ((u32)p & 0xFFFFFF);
|
||||
func_80016638(&D_800A6518[*bidx * 20], 0x10, 1);
|
||||
__asm__ __volatile__("" : "=r"(pv)); /* zero-byte 2nd SET: kills the sched1 birthing boost */
|
||||
__asm__ __volatile__("" : "=r"(pv)); /* zero-byte 2nd SET: kills the sched1 birthing boost */ // !FAKE: launder out-only — NEEDED DIFFERS (P36 rung B tus9)
|
||||
}
|
||||
|
||||
|
||||
@@ -2003,8 +2003,8 @@ void func_8018B2C4(s32 a0) {
|
||||
void *svp = sv;
|
||||
void *outp = out;
|
||||
ApplyMatrixSV(m, svp, outp);
|
||||
__asm__ __volatile__("" : "=r"(svp));
|
||||
__asm__ __volatile__("" : "=r"(outp));
|
||||
__asm__ __volatile__("" : "=r"(svp)); // !FAKE: launder out-only — NEEDED DIFFERS (P36 rung B tus9)
|
||||
__asm__ __volatile__("" : "=r"(outp)); // !FAKE: launder out-only — NEEDED DIFFERS (P36 rung B tus9)
|
||||
}
|
||||
|
||||
*(s16 *)(q + 0x8) = x + ((s16)out[0] >> 1) * 3;
|
||||
@@ -2025,7 +2025,7 @@ void func_8018B2C4(s32 a0) {
|
||||
*(s16 *)(sv + 0) = 2;
|
||||
{
|
||||
/* lever C: sp+0x10 IS &m, but spelled so cse cannot fold it to $s4 */
|
||||
register u8 *spr __asm__("$29");
|
||||
register u8 *spr __asm__("$29"); // !FAKE: pin $29 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
ApplyMatrixSV(spr + 0x10, sv, out);
|
||||
}
|
||||
|
||||
@@ -2436,7 +2436,7 @@ extern s32 func_8012BEE8(s32 a0);
|
||||
extern void func_80131E00();
|
||||
|
||||
void func_8018BCC4(s32 param_1) {
|
||||
register s32 a __asm__("$4");
|
||||
register s32 a __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 p;
|
||||
s32 q;
|
||||
s32 x;
|
||||
@@ -2733,8 +2733,8 @@ void func_8018C1E0(s32 arg0) {
|
||||
extern s32 func_8012BCCC(s32 a0);
|
||||
|
||||
void func_8018C31C(s32 a0) {
|
||||
register s32 result __asm__("$2");
|
||||
register s32 threshold __asm__("$3");
|
||||
s32 result;
|
||||
s32 threshold;
|
||||
|
||||
if (*(s16 *)(a0 + 0x70) & 0x8000) {
|
||||
result = func_8012BCCC(a0);
|
||||
@@ -2809,7 +2809,7 @@ extern u8 D_801D6F1C;
|
||||
extern u8 D_801DEF38;
|
||||
|
||||
void func_8018C47C(s32 s0) {
|
||||
register s32 v1 __asm__("$3");
|
||||
s32 v1;
|
||||
s32 v0;
|
||||
s32 a1v;
|
||||
|
||||
@@ -3019,7 +3019,7 @@ void func_8018C874(s32 a0)
|
||||
{
|
||||
s32 t;
|
||||
s32 u;
|
||||
register s32 p __asm__("$3");
|
||||
register s32 p __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
if (*(s16 *)(a0 + 0x102) == 0) {
|
||||
if (func_8012E778(a0, 0x64008C) == 0) {
|
||||
@@ -3182,13 +3182,13 @@ extern u8 D_800D3918[];
|
||||
|
||||
void func_8018CBBC(s32 a0)
|
||||
{
|
||||
register s32 s0 __asm__("$16");
|
||||
register s32 v1 __asm__("$3");
|
||||
s32 s0;
|
||||
register s32 v1 __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 v0;
|
||||
u16 *p;
|
||||
|
||||
s0 = a0;
|
||||
__asm__ __volatile__("");
|
||||
__asm__ __volatile__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
v0 = func_8012B8E4(s0, 8);
|
||||
p = *(u16 **)(s0 + 0x20);
|
||||
p[9] = p[9] + (u16)v0;
|
||||
@@ -3361,7 +3361,7 @@ extern s32 func_8012BCCC(s32 a0);
|
||||
extern u8 D_800D3918[];
|
||||
|
||||
void func_8018CF04(s32 s0) {
|
||||
register s32 v0 __asm__("$2");
|
||||
s32 v0;
|
||||
s32 v1;
|
||||
|
||||
v0 = func_8012B8E4(s0, 8);
|
||||
@@ -3496,7 +3496,6 @@ void func_8018D19C(void *a0)
|
||||
|
||||
a1 = *(s32 *)((s32)a0 + 0x20);
|
||||
v1 = *(u16 *)(a1 + 0x2C);
|
||||
__asm__ __volatile__("" : : "r"(v1));
|
||||
if (v1 & 0x10) {
|
||||
*(u16 *)(a1 + 0x2C) = v1 & 0xFFEF;
|
||||
b = *(s32 *)((s32)a0 + 0x20);
|
||||
@@ -3750,11 +3749,11 @@ extern s32 func_8012C658(s32 arg0, s32 arg1, s32 arg2);
|
||||
extern s32 rand(void);
|
||||
|
||||
void func_8018D574(s32 a0) {
|
||||
register s32 obj __asm__("$19");
|
||||
s32 obj;
|
||||
s32 i;
|
||||
register s32 t4 __asm__("$20");
|
||||
register s32 tmp __asm__("$16");
|
||||
register s32 q1 __asm__("$7");
|
||||
s32 t4;
|
||||
register s32 tmp __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 q1;
|
||||
unsigned int *pbuf;
|
||||
s32 r1, r2, r4;
|
||||
s32 ang1, dist;
|
||||
@@ -3800,7 +3799,7 @@ void func_8018D574(s32 a0) {
|
||||
pos[1] = t1;
|
||||
|
||||
{
|
||||
register s32 hi4 __asm__("$3");
|
||||
s32 hi4;
|
||||
hi4 = t4 >> 16;
|
||||
pos[2] = *(u16 *)(obj + 0xE) + hi4;
|
||||
}
|
||||
@@ -3884,11 +3883,11 @@ extern void func_8001CD50(s32 a0, s32 a1);
|
||||
extern u32 D_801DF5CC[];
|
||||
|
||||
u8 * func_8018D820(s32 a0, s32 a1, s32 a2) {
|
||||
register s32 s0 __asm__("$16") = a2;
|
||||
register s32 s2 __asm__("$18") = a0;
|
||||
s32 s0 = a2;
|
||||
register s32 s2 __asm__("$18") = a0; // !FAKE: pin $18 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
u8 *s1;
|
||||
u8 *ret;
|
||||
register s32 v1 __asm__("$3");
|
||||
register s32 v1 __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
s1 = func_801290DC(0x17, (u8 *)a1);
|
||||
|
||||
@@ -3903,7 +3902,7 @@ u8 * func_8018D820(s32 a0, s32 a1, s32 a2) {
|
||||
(matches target: v0=s1 is scheduled right after the call, before
|
||||
the field-init stores). A plain `u8 *ret = s1;` gets copy-propagated
|
||||
away by cse and the move sinks to the `return` site instead. */
|
||||
__asm__ volatile("move %0, %1" : "=r"(ret) : "r"(s1));
|
||||
__asm__ volatile("move %0, %1" : "=r"(ret) : "r"(s1)); // !FAKE: instruction move — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
v1 = 0xC00;
|
||||
*(u16 *)((char *)s0 + 0x1E) = v1;
|
||||
@@ -4058,11 +4057,11 @@ s32 func_8018DAA8(s32 a0, s32 a1) {
|
||||
func_8012B0B4((unsigned int *)buf, ang, 0x41);
|
||||
|
||||
{
|
||||
register s32 t1 __asm__("$2") = *(s32 *)(p + 4);
|
||||
register s32 v1 __asm__("$3") = buf[0];
|
||||
register s32 t2 __asm__("$2");
|
||||
register s32 t3 __asm__("$4");
|
||||
register s32 t4 __asm__("$2");
|
||||
s32 t1 = *(s32 *)(p + 4);
|
||||
s32 v1 = buf[0];
|
||||
register s32 t2 __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 t3;
|
||||
register s32 t4 __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
*(s32 *)(a0 + 4) = t1;
|
||||
|
||||
@@ -4300,7 +4299,7 @@ struct vec;
|
||||
extern void func_8012931C(struct vec *a0);
|
||||
|
||||
void func_8018E014(void *a0) {
|
||||
register s32 s0 __asm__("$16") = (s32)a0;
|
||||
register s32 s0 __asm__("$16") = (s32)a0; // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s16 v1;
|
||||
u16 v0;
|
||||
s16 decremented;
|
||||
@@ -4618,10 +4617,9 @@ void func_8018E4F8(void *a0)
|
||||
{
|
||||
s32 buf[8];
|
||||
u16 out[4];
|
||||
register s32 zr __asm__("$0");
|
||||
register s32 v0 __asm__("$4");
|
||||
s32 v0;
|
||||
|
||||
v0 = ((s32 (*)(void))func_8012C1B8)() + zr;
|
||||
v0 = ((s32 (*)(void))func_8012C1B8)() + 0;
|
||||
*(s32 *)((s32)a0 + 0x20) = v0;
|
||||
if (v0 == 0) {
|
||||
func_8012CAE4(a0);
|
||||
@@ -4878,7 +4876,7 @@ void func_8018E8A0(void *a0)
|
||||
s32 *zb;
|
||||
SVec8_8018E8A0 *src;
|
||||
SVec8_8018E8A0 *dst;
|
||||
register s32 d __asm__("$4");
|
||||
register s32 d __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 i, j, k, base, ang, t;
|
||||
u32 col;
|
||||
|
||||
@@ -4897,7 +4895,7 @@ void func_8018E8A0(void *a0)
|
||||
p = (s32 *)((s32)a0 + 0xCC);
|
||||
for (i = 0, k = 0; i < ((Cnt_8018E8A0 *)a0)->f[0x84]; i++, k++, p += 3) {
|
||||
zb = (s32 *)((s32)a0 + 0xD4);
|
||||
{ register s32 c1 __asm__("$2"); register s32 c2 __asm__("$3");
|
||||
{ register s32 c1 __asm__("$2"); register s32 c2 __asm__("$3"); // !FAKE: pin $2 — NEEDED DIFFERS; pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
c1 = *(s32 *)((s32)a0 + 0x1C); c2 = i * 4; d = c1 - c2; }
|
||||
if (d > 0x40) {
|
||||
if (i == 4) {
|
||||
@@ -5503,7 +5501,7 @@ s32 func_8018F4B8(s32 param_1) {
|
||||
/* pool-alloc: gcc routes the loaded pointer through a caller-saved reg ($v0)
|
||||
before the callee-saved home ($s1) — pin it to reproduce the extra move. */
|
||||
{
|
||||
register char *tmp __asm__("$2");
|
||||
register char *tmp __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
tmp = D_801E3B18;
|
||||
puVar2 = tmp;
|
||||
}
|
||||
@@ -5523,7 +5521,7 @@ s32 func_8018F4B8(s32 param_1) {
|
||||
(s32)(s16)uVar3 - (s32)*(s16 *)((char *)&s50 + 2) < 0x80) {
|
||||
*(s16 *)((char *)&s50 + 2) = *(s16 *)((char *)&s50 + 2) - 4;
|
||||
{
|
||||
register char *tmp __asm__("$3");
|
||||
register char *tmp __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
tmp = D_801E3B18;
|
||||
puVar2 = tmp;
|
||||
}
|
||||
@@ -5557,7 +5555,7 @@ extern void func_8012C218(void *a0);
|
||||
s32 func_8018F6FC(s32 param_1) {
|
||||
|
||||
extern signed char D_801E3AD0[];
|
||||
register int self __asm__("$17") = ((int)param_1);
|
||||
int self = ((int)param_1);
|
||||
int iVar6;
|
||||
int iVar1;
|
||||
unsigned char buf[0x34];
|
||||
@@ -5644,7 +5642,7 @@ s32 func_8018F6FC(s32 param_1) {
|
||||
*(short *)(self + 0x70) = *(short *)(self + 0x70) >> 1;
|
||||
*(unsigned short *)(iVar6 + 0x2c) |= 1;
|
||||
} else {
|
||||
__asm__ __volatile__("" : "=r"(self) : "0"(self));
|
||||
__asm__ __volatile__("" : "=r"(self) : "0"(self)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
func_8012C218((void *)self);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3076,9 +3076,9 @@ extern s16 D_801AFC44;
|
||||
extern s16 D_801B04DC;
|
||||
|
||||
void func_80181714(s32 a0) {
|
||||
register s32 v0;
|
||||
register s32 v1;
|
||||
register s32 obj;
|
||||
s32 v0;
|
||||
s32 v1;
|
||||
s32 obj;
|
||||
|
||||
switch (*(u16 *)(a0 + 0x34)) {
|
||||
case 0:
|
||||
@@ -3102,7 +3102,7 @@ void func_80181714(s32 a0) {
|
||||
case 2:
|
||||
v0 = func_8004787C((*(s32 *)(a0 + 0x1C) << 7) & 0x780);
|
||||
v1 = ((v0 << 9) >> 12) + 0x1000;
|
||||
__asm__ __volatile__("");
|
||||
__asm__ __volatile__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
obj = *(s32 *)(a0 + 0x20);
|
||||
*(s16 *)(obj + 0x1C) = v1;
|
||||
*(s16 *)(obj + 0x18) = v1;
|
||||
@@ -3160,7 +3160,7 @@ void func_801818F8(s32 a0) {
|
||||
s32 x;
|
||||
s32 v1;
|
||||
s32 y;
|
||||
register void *s1_ptr __asm__("$17");
|
||||
register void *s1_ptr __asm__("$17"); // !FAKE: pin $17 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
idx = (*(u16 *)(a0 + 0x70) & 0xF00) >> 8;
|
||||
|
||||
@@ -3813,8 +3813,8 @@ void func_8018252C(int param_1)
|
||||
{
|
||||
|
||||
extern unsigned char D_801B42EC[];
|
||||
register int iVar3 __asm__("$16");
|
||||
register int iVar3b __asm__("$19");
|
||||
register int iVar3 __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register int iVar3b __asm__("$19"); // !FAKE: pin $19 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
int iVar5;
|
||||
short sVar2;
|
||||
|
||||
@@ -3896,8 +3896,8 @@ extern s8 D_801B42D8;
|
||||
void func_801826F0(s32 *param_1)
|
||||
{
|
||||
int new_var;
|
||||
register s32 p __asm__("$4");
|
||||
register s32 r __asm__("$3");
|
||||
register s32 p __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 r;
|
||||
p = (s32) (&D_801B42D8);
|
||||
r = param_1[0x2c / 4];
|
||||
new_var = r;
|
||||
@@ -5073,7 +5073,7 @@ s32 func_80183F10(s32 param_1) {
|
||||
/* pool-alloc: gcc routes the loaded pointer through a caller-saved reg ($v0)
|
||||
before the callee-saved home ($s1) — pin it to reproduce the extra move. */
|
||||
{
|
||||
register char *tmp __asm__("$2");
|
||||
register char *tmp __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
tmp = D_801B0A64;
|
||||
puVar2 = tmp;
|
||||
}
|
||||
@@ -5093,7 +5093,7 @@ s32 func_80183F10(s32 param_1) {
|
||||
(s32)(s16)uVar3 - (s32)*(s16 *)((char *)&s50 + 2) < 0x80) {
|
||||
*(s16 *)((char *)&s50 + 2) = *(s16 *)((char *)&s50 + 2) - 4;
|
||||
{
|
||||
register char *tmp __asm__("$3");
|
||||
register char *tmp __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
tmp = D_801B0A64;
|
||||
puVar2 = tmp;
|
||||
}
|
||||
@@ -5127,7 +5127,7 @@ extern void func_8012C218(void *a0);
|
||||
s32 func_80184154(s32 param_1) {
|
||||
|
||||
extern signed char D_801B0A1C[];
|
||||
register int self __asm__("$17") = ((int)param_1);
|
||||
int self = ((int)param_1);
|
||||
int iVar6;
|
||||
int iVar1;
|
||||
unsigned char buf[0x34];
|
||||
@@ -5214,7 +5214,7 @@ s32 func_80184154(s32 param_1) {
|
||||
*(short *)(self + 0x70) = *(short *)(self + 0x70) >> 1;
|
||||
*(unsigned short *)(iVar6 + 0x2c) |= 1;
|
||||
} else {
|
||||
__asm__ __volatile__("" : "=r"(self) : "0"(self));
|
||||
__asm__ __volatile__("" : "=r"(self) : "0"(self)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
func_8012C218((void *)self);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3506,7 +3506,7 @@ int func_8017A3D8(void)
|
||||
return 0;
|
||||
case 100:
|
||||
{
|
||||
register int a __asm__("$4");
|
||||
register int a __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
a = D_801EF700;
|
||||
if (a != -1) {
|
||||
return func_8001AAA0() != 0;
|
||||
|
||||
@@ -3518,7 +3518,7 @@ void func_80187298(s32 a0) {
|
||||
case 2:
|
||||
t = func_8004787C((*(u32 *)(a0 + 0x1C) << 7) & 0x780);
|
||||
sc = ((t << 9) >> 12) + 0x1000;
|
||||
__asm__ __volatile__("");
|
||||
__asm__ __volatile__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
p = *(s32 *)(a0 + 0x20);
|
||||
*(s16 *)(p + 0x1C) = sc;
|
||||
*(s16 *)(p + 0x18) = sc;
|
||||
@@ -3603,7 +3603,7 @@ void func_801874E8(s32 a0) {
|
||||
s32 x;
|
||||
s32 v1;
|
||||
s32 *ptr20;
|
||||
register void *s1_ptr __asm__("$17");
|
||||
register void *s1_ptr __asm__("$17"); // !FAKE: pin $17 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
idx = (*(u16 *)(a0 + 0x70) & 0xF00) >> 8;
|
||||
|
||||
@@ -4199,7 +4199,7 @@ extern s32 func_8012BEE8(s32 a0);
|
||||
extern void func_80131E00();
|
||||
|
||||
void func_80188104(s32 param_1) {
|
||||
register s32 a __asm__("$4");
|
||||
register s32 a __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 p;
|
||||
s32 q;
|
||||
s32 x;
|
||||
@@ -4502,8 +4502,8 @@ void func_80188620(s32 arg0) {
|
||||
|
||||
|
||||
void func_8018875C(s32 a0) {
|
||||
register s32 result __asm__("$2");
|
||||
register s32 threshold __asm__("$3");
|
||||
s32 result;
|
||||
s32 threshold;
|
||||
|
||||
if (*(s16 *)(a0 + 0x70) & 0x8000) {
|
||||
result = func_8012BCCC(a0);
|
||||
@@ -4537,7 +4537,6 @@ void func_80188800(s32 param_1)
|
||||
|
||||
r = ((s32 (*)(void))func_8012BEE8)();
|
||||
if (r == 1) {
|
||||
__asm__ ("" ::: "memory");
|
||||
d = param_1;
|
||||
if (*(s16 *)(param_1 + 0x70) & 0x8000) {
|
||||
func_80188280(d, 0x40000, 0xC4000);
|
||||
@@ -4579,7 +4578,7 @@ extern void func_8012A828(s32 a0, void *a1);
|
||||
extern void func_8012CAE4(void *a0);
|
||||
|
||||
void func_801888BC(s32 s0) {
|
||||
register s32 v1 __asm__("$3");
|
||||
s32 v1;
|
||||
s32 v0;
|
||||
s32 a1v;
|
||||
|
||||
@@ -5204,7 +5203,7 @@ s32 func_80189384(s32 param_1) {
|
||||
/* pool-alloc: gcc routes the loaded pointer through a caller-saved reg ($v0)
|
||||
before the callee-saved home ($s1) — pin it to reproduce the extra move. */
|
||||
{
|
||||
register char *tmp __asm__("$2");
|
||||
register char *tmp __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
tmp = D_801EB5BC;
|
||||
puVar2 = tmp;
|
||||
}
|
||||
@@ -5224,7 +5223,7 @@ s32 func_80189384(s32 param_1) {
|
||||
(s32)(s16)uVar3 - (s32)*(s16 *)((char *)&s50 + 2) < 0x80) {
|
||||
*(s16 *)((char *)&s50 + 2) = *(s16 *)((char *)&s50 + 2) - 4;
|
||||
{
|
||||
register char *tmp __asm__("$3");
|
||||
register char *tmp __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
tmp = D_801EB5BC;
|
||||
puVar2 = tmp;
|
||||
}
|
||||
@@ -5258,7 +5257,7 @@ extern void func_8012C218(void *a0);
|
||||
s32 func_801895C8(s32 param_1) {
|
||||
|
||||
extern signed char D_801EB574[];
|
||||
register int self __asm__("$17") = ((int)param_1);
|
||||
int self = ((int)param_1);
|
||||
int iVar6;
|
||||
int iVar1;
|
||||
unsigned char buf[0x34];
|
||||
@@ -5345,7 +5344,7 @@ s32 func_801895C8(s32 param_1) {
|
||||
*(short *)(self + 0x70) = *(short *)(self + 0x70) >> 1;
|
||||
*(unsigned short *)(iVar6 + 0x2c) |= 1;
|
||||
} else {
|
||||
__asm__ __volatile__("" : "=r"(self) : "0"(self));
|
||||
__asm__ __volatile__("" : "=r"(self) : "0"(self)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
func_8012C218((void *)self);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2945,7 +2945,7 @@ extern s32 func_80178BF8();
|
||||
extern void func_80172710(void);
|
||||
|
||||
s32 func_8017F1B4(s32 param_1) {
|
||||
register s32 obj __asm__("$16") = param_1;
|
||||
register s32 obj __asm__("$16") = param_1; // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 ptr;
|
||||
s32 ptr2;
|
||||
s32 result;
|
||||
@@ -3082,7 +3082,7 @@ extern s32 rand(void);
|
||||
|
||||
void func_8017F468(s32 param_1) {
|
||||
u16 delta[4];
|
||||
register s32 t __asm__("$3");
|
||||
register s32 t __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 t2;
|
||||
s16 d;
|
||||
s32 obj;
|
||||
@@ -3151,7 +3151,7 @@ extern u8 *func_801290DC(s32 a0, u8 *a1);
|
||||
extern s32 D_8018394C;
|
||||
|
||||
void func_8017F5E4(void *a0) {
|
||||
register s8 *s0 __asm__("$16");
|
||||
register s8 *s0 __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 t;
|
||||
u8 *p;
|
||||
s32 x;
|
||||
@@ -3418,7 +3418,7 @@ void func_8017F9C8(void *a0) {
|
||||
* swaps $v0/$v1 across the sll/lui pair (REGALLOC-PERM). The re-tie keeps the
|
||||
* in-place `v1 <<= 6` form (so the shift stays in $v1) AND anchors it after the
|
||||
* two loads. Emits no code. */
|
||||
__asm__ __volatile__("" : "=r"(v1) : "0"(v1));
|
||||
__asm__ __volatile__("" : "=r"(v1) : "0"(v1)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
v1 = v1 << 6;
|
||||
a2 = (s32)D_80193530 + v1;
|
||||
v1ptr = *(u8 **)((s32)a0 + 0x20);
|
||||
|
||||
@@ -3076,7 +3076,7 @@ void func_8017D508(s32 a0) {
|
||||
*(s16 *)(a0 + 0x22) = 0x600;
|
||||
*(s16 *)(a0 + 0x24) = 0;
|
||||
*(s16 *)(a0 + 0x2E) = 0;
|
||||
__asm__ __volatile__(""); /* §5a/§336 cross-jump barrier - LOAD-BEARING, see above */
|
||||
__asm__ __volatile__(""); /* §5a/§336 cross-jump barrier - LOAD-BEARING, see above */ // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
*(s16 *)(a0 + 0x30) = k;
|
||||
} else {
|
||||
*(s16 *)(a0 + 0x20) = 0x2AA;
|
||||
@@ -3175,9 +3175,8 @@ int func_8017D918(int param_1)
|
||||
{
|
||||
|
||||
extern unsigned char D_80189BF4[];
|
||||
register int iVar1 __asm__("$4");
|
||||
int iVar1;
|
||||
iVar1 = *(int *)(D_80189BF4 + param_1 * 4);
|
||||
__asm__ __volatile__("" ::: "memory");
|
||||
func_8013B7F4((void *)iVar1, 0);
|
||||
}
|
||||
|
||||
@@ -3307,7 +3306,7 @@ void func_8017DAB8(s32 a0)
|
||||
}
|
||||
|
||||
if ((func_80029178((s32)D_801A429C[*(s16 *)(a0 + 0x70)]) & 0xFF) != 0) {
|
||||
register s32 s0 __asm__("$16") = *(s32 *)(a0 + 0xDC);
|
||||
s32 s0 = *(s32 *)(a0 + 0xDC);
|
||||
if (s0 != 0) {
|
||||
s32 a1 = *(s32 *)(s0 + 0x4);
|
||||
if (a1 != 0) {
|
||||
@@ -3324,8 +3323,8 @@ void func_8017DAB8(s32 a0)
|
||||
}
|
||||
|
||||
{
|
||||
register s32 s0 __asm__("$16") = *(s32 *)(a0 + 0xDC);
|
||||
register s32 flag __asm__("$2") = 1;
|
||||
register s32 s0 __asm__("$16") = *(s32 *)(a0 + 0xDC); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 flag __asm__("$2") = 1; // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
if (s0 != 0) {
|
||||
s32 a1 = *(s32 *)s0;
|
||||
if (a1 != 0) {
|
||||
@@ -3638,7 +3637,7 @@ void func_8017E1FC(void *a0) {
|
||||
v = 0x1000;
|
||||
}
|
||||
*(s16 *)((s32)a0 + 0x100) = v;
|
||||
__asm__ __volatile__("" ::: "memory");
|
||||
__asm__ __volatile__("" ::: "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
func_8012C588(0x153, (s32)a0);
|
||||
func_8017F6B0(a0, 1);
|
||||
@@ -3695,10 +3694,10 @@ typedef struct { u8 b[8]; } Blk8_func_8017E3AC;
|
||||
void func_8017E3AC(s32 a0) {
|
||||
Blk8_func_8017E3AC sp10;
|
||||
Blk8_func_8017E3AC sp18;
|
||||
register s32 act __asm__("$18");
|
||||
register s32 i __asm__("$16");
|
||||
register s32 angm __asm__("$19");
|
||||
register s32 angp __asm__("$20");
|
||||
s32 act;
|
||||
register s32 i __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 angm;
|
||||
s32 angp;
|
||||
s32 k;
|
||||
s32 j;
|
||||
s32 pos;
|
||||
@@ -3720,7 +3719,7 @@ void func_8017E3AC(s32 a0) {
|
||||
func_8012F214(act, (s32)&D_801A50F4[8], (s32)&sp18);
|
||||
i = 0;
|
||||
{
|
||||
register s32 fv __asm__("$2") = *(u16 *)(*(s32 *)(act + 0x20) + 0x12);
|
||||
s32 fv = *(u16 *)(*(s32 *)(act + 0x20) + 0x12);
|
||||
angp = fv + 0x400;
|
||||
angm = fv - 0x400;
|
||||
}
|
||||
@@ -3752,7 +3751,7 @@ extern void func_8012B2CC(s32 a0);
|
||||
void func_8017E590(s32 a0)
|
||||
{
|
||||
s32 v0;
|
||||
register s32 v1 __asm__("$3");
|
||||
register s32 v1 __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
if (func_8012BEE8(a0)) {
|
||||
if (func_8012BD14(a0) > 0x18FFF) {
|
||||
@@ -3884,7 +3883,6 @@ void func_8017E72C(void *a0) {
|
||||
}
|
||||
|
||||
*(u16 *)((u8 *)a0 + 0x76) = *(u16 *)((u8 *)a0 + 0x76) - speed;
|
||||
__asm__ __volatile__("" ::: "memory");
|
||||
|
||||
{
|
||||
*(u16 *)((u8 *)a0 + 0x5C) = *(u16 *)((u8 *)a0 + 0x5C) & 0xFFFE;
|
||||
@@ -3994,13 +3992,13 @@ extern s32 D_801D014C;
|
||||
|
||||
void func_8017EA88(s32 arg0_)
|
||||
{
|
||||
register s32 arg0 __asm__("$7");
|
||||
register s32 prev __asm__("$5");
|
||||
register u16 flags __asm__("$2");
|
||||
s32 arg0;
|
||||
register s32 prev __asm__("$5"); // !FAKE: pin $5 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register u16 flags __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 a;
|
||||
s32 diff;
|
||||
s32 v;
|
||||
register s32 d __asm__("$2");
|
||||
register s32 d __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 spd;
|
||||
s32 e1;
|
||||
s32 e2;
|
||||
@@ -4101,7 +4099,7 @@ void func_8017EC78(void *arg0) {
|
||||
|
||||
|
||||
void func_8017ED0C(s32 a0) {
|
||||
register s32 a3 __asm__("$7");
|
||||
register s32 a3 __asm__("$7"); // !FAKE: pin $7 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 e;
|
||||
s32 e2;
|
||||
u16 L2;
|
||||
@@ -4113,12 +4111,11 @@ void func_8017ED0C(s32 a0) {
|
||||
|
||||
a3 = a0;
|
||||
*(s16 *)(a3 + 0x2) = 1;
|
||||
__asm__ __volatile__("" ::: "memory");
|
||||
e = *(s32 *)(a3 + 0x78);
|
||||
__asm__ __volatile__("" : "=r"(L2));
|
||||
__asm__ __volatile__("" : "=r"(L3));
|
||||
__asm__ __volatile__("" : "=r"(L1));
|
||||
__asm__ __volatile__("" : "=r"(a2b));
|
||||
__asm__ __volatile__("" : "=r"(L2)); // !FAKE: launder out-only — NEEDED DIFFERS (P36 rung B tus9)
|
||||
__asm__ __volatile__("" : "=r"(L3)); // !FAKE: launder out-only — NEEDED DIFFERS (P36 rung B tus9)
|
||||
__asm__ __volatile__("" : "=r"(L1)); // !FAKE: launder out-only — NEEDED DIFFERS (P36 rung B tus9)
|
||||
__asm__ __volatile__("" : "=r"(a2b)); // !FAKE: launder out-only — NEEDED DIFFERS (P36 rung B tus9)
|
||||
L1 = *(u16 *)(a3 + 0x88);
|
||||
L2 = *(u16 *)(a3 + 0x8A);
|
||||
L3 = *(u16 *)(a3 + 0x8C);
|
||||
@@ -4131,7 +4128,6 @@ void func_8017ED0C(s32 a0) {
|
||||
if ((f & 1) != 0) {
|
||||
e2 = *(s32 *)(a3 + 0x20);
|
||||
*(u16 *)(e2 + 0x2C) = *(u16 *)(e2 + 0x2C) | 0x10;
|
||||
__asm__ __volatile__("" ::: "memory");
|
||||
e2 = *(s32 *)(a3 + 0x20);
|
||||
t = 0x1666;
|
||||
*(s16 *)(e2 + 0x1C) = t;
|
||||
@@ -4517,7 +4513,7 @@ void func_8017F5DC(s32 a0) {
|
||||
t = t * t;
|
||||
var_s0 = 0x7F - ret / ((0x40000 - t) / 0x50);
|
||||
}
|
||||
__asm__("" :: "r"(var_s0), "r"(var_s0));
|
||||
__asm__("" :: "r"(var_s0), "r"(var_s0)); // !FAKE: keepalive — NEEDED DIFFERS (P36 rung B tus9)
|
||||
func_8002D59C(0x64E, var_s0 | 0x5000, *(u16 *)(a0 + 0x104));
|
||||
}
|
||||
|
||||
@@ -4546,11 +4542,11 @@ void func_8017F6B0(void *a0, s32 a1) {
|
||||
sp10[3] = t3;
|
||||
t4 = *(s32 *)((char *)&D_801A5470 + off);
|
||||
sp10[4] = t4;
|
||||
__asm__ __volatile__("" :: "r"(off));
|
||||
__asm__ __volatile__("" :: "r"(off)); // !FAKE: keepalive — NEEDED DIFFERS (P36 rung B tus9)
|
||||
h = (u16 *)sp10;
|
||||
h[0] = h[0] + *(u16 *)((s32)a0 + 6);
|
||||
h[1] = h[1] + *(u16 *)((s32)a0 + 0xA);
|
||||
__asm__ __volatile__("" :: "r"(t3));
|
||||
__asm__ __volatile__("" :: "r"(t3)); // !FAKE: keepalive — NEEDED DIFFERS (P36 rung B tus9)
|
||||
h[2] = h[2] + *(u16 *)((s32)a0 + 0xE);
|
||||
func_8012C51C(sp10, (s32)a0);
|
||||
}
|
||||
@@ -5915,7 +5911,7 @@ void func_80181688(s32 a0) {
|
||||
t = ang << 4;
|
||||
}
|
||||
{
|
||||
register s32 av __asm__("$5");
|
||||
register s32 av __asm__("$5"); // !FAKE: pin $5 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
av = t - 0x4000;
|
||||
func_8012B178(a0, av);
|
||||
}
|
||||
@@ -5960,7 +5956,7 @@ void func_80181688(s32 a0) {
|
||||
t = ang << 4;
|
||||
}
|
||||
{
|
||||
register s32 av __asm__("$5");
|
||||
register s32 av __asm__("$5"); // !FAKE: pin $5 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
av = t - 0x4000;
|
||||
func_8012B178(a0, av);
|
||||
}
|
||||
@@ -6052,15 +6048,15 @@ extern s32 func_8004787C(s32 a0);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
|
||||
void func_80181B18(s32 a0) {
|
||||
register s32 state __asm__("$16"); /* $s0 */
|
||||
register s32 ent __asm__("$17"); /* $s1 */
|
||||
s32 state; /* $s0 */
|
||||
register s32 ent __asm__("$17"); /* $s1 */ // !FAKE: pin $17 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 sub;
|
||||
s32 t;
|
||||
s32 v;
|
||||
s32 cnt;
|
||||
|
||||
ent = a0;
|
||||
__asm__ volatile("" ::: "$4");
|
||||
__asm__ volatile("" ::: "$4"); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
state = *(u16 *)(ent + 0x34);
|
||||
|
||||
switch (state) {
|
||||
@@ -6102,7 +6098,7 @@ void func_80181B18(s32 a0) {
|
||||
sub = *(s32 *)(ent + 0x20);
|
||||
t = func_8004787C(*(s32 *)(ent + 0x1C) << 7);
|
||||
{
|
||||
register s32 lo __asm__("$3");
|
||||
register s32 lo __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
lo = (t << 12) >> 12;
|
||||
v = 0x2000 - lo;
|
||||
}
|
||||
@@ -6247,13 +6243,13 @@ extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
|
||||
void func_8018200C(s32 a0) {
|
||||
u16 buf[3];
|
||||
register s32 angle1 __asm__("$23");
|
||||
register s32 angle2 __asm__("$22");
|
||||
s32 angle1;
|
||||
s32 angle2;
|
||||
s32 maskraw;
|
||||
s32 flags;
|
||||
register s32 head1 __asm__("$18");
|
||||
register s32 head2 __asm__("$17");
|
||||
register s32 i __asm__("$19");
|
||||
s32 head1;
|
||||
s32 head2;
|
||||
s32 i;
|
||||
s32 ret1;
|
||||
s32 ret2;
|
||||
|
||||
@@ -6263,7 +6259,7 @@ void func_8018200C(s32 a0) {
|
||||
head1 = 0;
|
||||
head2 = 0;
|
||||
{
|
||||
register s32 fieldval __asm__("$3") = *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12);
|
||||
s32 fieldval = *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12);
|
||||
angle1 = fieldval + 0x400;
|
||||
flags = *(u16 *)(a0 + 0x70);
|
||||
maskraw = flags & 0xF;
|
||||
@@ -6271,15 +6267,13 @@ void func_8018200C(s32 a0) {
|
||||
}
|
||||
|
||||
if ((flags & 1) == 0) {
|
||||
register s32 mask __asm__("$16");
|
||||
register s32 negoffset __asm__("$17");
|
||||
s32 mask;
|
||||
s32 negoffset;
|
||||
i = 0;
|
||||
negoffset = -0x60000;
|
||||
mask = maskraw;
|
||||
while (i < 4) {
|
||||
__asm__ __volatile__("" : "=r"(angle1) : "0"(angle1));
|
||||
func_801825A4(buf, angle1 * 0x10000 >> 0x10, rand() % 4 * -0x10000 + negoffset, mask);
|
||||
__asm__ __volatile__("" : "=r"(angle2) : "0"(angle2));
|
||||
func_801825A4(buf, angle2 * 0x10000 >> 0x10, rand() % 4 * -0x10000 + negoffset, mask);
|
||||
i++;
|
||||
}
|
||||
@@ -6288,8 +6282,6 @@ void func_8018200C(s32 a0) {
|
||||
i = 0;
|
||||
mask = maskraw;
|
||||
for (; i < 4; i++) {
|
||||
__asm__ __volatile__("" : "=r"(angle1) : "0"(angle1));
|
||||
__asm__ __volatile__("" : "=r"(angle2) : "0"(angle2));
|
||||
ret1 = func_801825A4(buf, angle1 * 0x10000 >> 0x10, rand() % 4 * -0x10000 + -0x60000, mask);
|
||||
ret2 = func_801825A4(buf, angle2 * 0x10000 >> 0x10, rand() % 4 * -0x10000 + -0x60000, mask);
|
||||
if (ret1 != 0) {
|
||||
@@ -6326,12 +6318,12 @@ extern void func_8012C098(void *param_1);
|
||||
void func_8018226C(arg0)
|
||||
s32 arg0;
|
||||
{
|
||||
register s32 a3 __asm__("$7");
|
||||
register s32 v1 __asm__("$3");
|
||||
register s32 v0 __asm__("$2");
|
||||
register s32 a0r __asm__("$4");
|
||||
register s32 a1r __asm__("$5");
|
||||
register s32 a2r __asm__("$6");
|
||||
s32 a3;
|
||||
register s32 v1 __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 v0;
|
||||
register s32 a0r __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 a1r __asm__("$5"); // !FAKE: pin $5 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 a2r __asm__("$6"); // !FAKE: pin $6 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
a3 = arg0;
|
||||
v1 = *(u16 *)(a3 + 0x70);
|
||||
@@ -6842,8 +6834,8 @@ void func_80182E1C(void *a0) {
|
||||
void func_80182E58(void *a0) {
|
||||
|
||||
extern s32 D_801AC31C;
|
||||
register s32 p __asm__("$3");
|
||||
register s32 q __asm__("$2");
|
||||
s32 p;
|
||||
s32 q;
|
||||
p = *(u16 *)((char *)a0 + 0x2);
|
||||
q = (s32)&D_801AC31C;
|
||||
*(s32 *)((char *)a0 + 0xd0) = q;
|
||||
@@ -6934,9 +6926,9 @@ void func_80182F00(void *a0) {
|
||||
u16 buf[8];
|
||||
s32 ent;
|
||||
u16 saved;
|
||||
register u16 v0 __asm__("$2");
|
||||
register u16 v1 __asm__("$3");
|
||||
register u16 a3 __asm__("$7");
|
||||
u16 v0;
|
||||
register u16 v1 __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register u16 a3 __asm__("$7"); // !FAKE: pin $7 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
func_8002AC00(0xD);
|
||||
if (*(u16 *)((s32)a0 + 0x0) != 0) {
|
||||
@@ -7250,13 +7242,13 @@ void func_801832A8(s32 a0) {
|
||||
v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C);
|
||||
v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50);
|
||||
/* $a0-pinned scopes: rematerialise &D_800AF648 (lui/addiu) before EACH call */
|
||||
{ register void *r4 __asm__("$4"); r4 = &D_800AF648; func_8004914C(r4); }
|
||||
{ register void *r4 __asm__("$4"); r4 = &D_800AF648; func_800491AC(r4); }
|
||||
{ register void *r4 __asm__("$4"); r4 = &D_800AF648; func_8004914C(r4); } // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
{ void *r4; r4 = &D_800AF648; func_800491AC(r4); }
|
||||
RotTransPers((s32)v, (s32)&sxy, &z, &flag);
|
||||
if (flag >= 0 && (u32)((*(u16 *)&sxy + 0x9F) & 0xFFFF) < 0x13F
|
||||
&& (u32)((*((u16 *)&sxy + 1) + 0x77) & 0xFFFF) < 0xEF) {
|
||||
s32 sx; /* screen X, then REUSED as the pan field */
|
||||
register s32 av __asm__("$5"); /* |X| — the one pin that helped */
|
||||
register s32 av __asm__("$5"); /* |X| — the one pin that helped */ // !FAKE: pin $5 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 vol;
|
||||
sx = (s16)*(u16 *)&sxy;
|
||||
av = sx;
|
||||
@@ -7265,7 +7257,7 @@ void func_801832A8(s32 a0) {
|
||||
}
|
||||
vol = ((0xA0 - av) * 0x7F) / 0xA0;
|
||||
/* lever 3: sched1 otherwise hoists the PAN multiply ahead of this one */
|
||||
__asm__("" : "=r"(vol) : "0"(vol));
|
||||
__asm__("" : "=r"(vol) : "0"(vol)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
sx = (sx + 0xA0) / 0x14;
|
||||
if (sx == 0x10) {
|
||||
sx = 0xF;
|
||||
@@ -7504,20 +7496,20 @@ void func_8018389C(s32 a0) {
|
||||
L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48);
|
||||
L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C);
|
||||
L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50);
|
||||
{ register void *r4 __asm__("$4"); r4 = &D_800AF648; func_8004914C(r4); }
|
||||
{ register void *r4 __asm__("$4"); r4 = &D_800AF648; func_800491AC(r4); }
|
||||
{ register void *r4 __asm__("$4"); r4 = &D_800AF648; func_8004914C(r4); } // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
{ void *r4; r4 = &D_800AF648; func_800491AC(r4); }
|
||||
RotTransPers((s32)L.v, (s32)L.sxy, &L.z, &L.flag);
|
||||
if (L.flag >= 0 && (u32)((L.sxy[0] + 0x9F) & 0xFFFF) < 0x13F
|
||||
&& (u32)((L.sxy[1] + 0x77) & 0xFFFF) < 0xEF) {
|
||||
s32 x = (s16)L.sxy[0];
|
||||
register s32 ax __asm__("$5");
|
||||
register s32 ax __asm__("$5"); // !FAKE: pin $5 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 vol;
|
||||
ax = x;
|
||||
if (x < 0) {
|
||||
ax = -x;
|
||||
}
|
||||
vol = ((0xA0 - ax) * 0x7F) / 0xA0;
|
||||
__asm__("" : "=r"(vol) : "0"(vol));
|
||||
__asm__("" : "=r"(vol) : "0"(vol)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
x = (x + 0xA0) / 0x14;
|
||||
if (x == 0x10) {
|
||||
x = 0xF;
|
||||
@@ -7652,8 +7644,8 @@ void func_80183CAC(s32 a0) {
|
||||
/* $a0-pinned scopes force the &D_800AF648 constant to be rematerialised
|
||||
* per call (cookbook §88a); otherwise CSE parks it in a callee-saved reg
|
||||
* and mis-seats every register in the function. */
|
||||
{ register void *r4 __asm__("$4"); r4 = &D_800AF648; func_8004914C(r4); }
|
||||
{ register void *r4 __asm__("$4"); r4 = &D_800AF648; func_800491AC(r4); }
|
||||
{ register void *r4 __asm__("$4"); r4 = &D_800AF648; func_8004914C(r4); } // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
{ void *r4; r4 = &D_800AF648; func_800491AC(r4); }
|
||||
RotTransPers((s32)L.v, (s32)L.sxy, &L.z, &L.flag);
|
||||
if (L.flag >= 0 && (u32)((L.sxy[0] + 0x9F) & 0xFFFF) < 0x13F
|
||||
&& (u32)((L.sxy[1] + 0x77) & 0xFFFF) < 0xEF) {
|
||||
@@ -7903,9 +7895,9 @@ void func_801843AC(void *a0) {
|
||||
extern s32 D_801AF688;
|
||||
|
||||
u16 buf[8];
|
||||
register u16 v0 __asm__("$2");
|
||||
register u16 v1 __asm__("$3");
|
||||
register u16 a2 __asm__("$6");
|
||||
u16 v0;
|
||||
register u16 v1 __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register u16 a2 __asm__("$6"); // !FAKE: pin $6 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
v0 = *(u16 *)((s32)a0 + 0x6);
|
||||
*(u16 *)(&buf[0]) = v0;
|
||||
@@ -7982,9 +7974,9 @@ extern u8 D_801BCBA0[];
|
||||
|
||||
void func_80184494(void *a0) {
|
||||
u16 buf[8];
|
||||
register u16 v0 __asm__("$2");
|
||||
register u16 v1 __asm__("$3");
|
||||
register u16 a2 __asm__("$6");
|
||||
u16 v0;
|
||||
register u16 v1 __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register u16 a2 __asm__("$6"); // !FAKE: pin $6 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
v0 = *(u16 *)((s32)a0 + 0x6);
|
||||
buf[0] = v0;
|
||||
@@ -8090,7 +8082,7 @@ extern s32 func_80131A34(s32 a0, s32 a1);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
|
||||
void func_80184768(s32 a0) {
|
||||
register s32 s0 __asm__("$16") = a0;
|
||||
s32 s0 = a0;
|
||||
u16 v0 = *(u16 *)(s0 + 0x100);
|
||||
u16 v1 = *(u16 *)(s0 + 0x60);
|
||||
|
||||
@@ -8133,9 +8125,9 @@ void func_8018480C(void *a0) {
|
||||
extern char D_801BD010[];
|
||||
|
||||
u16 buf[8];
|
||||
register u16 v0 __asm__("$2");
|
||||
register u16 v1 __asm__("$3");
|
||||
register u16 a2 __asm__("$6");
|
||||
u16 v0;
|
||||
register u16 v1 __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register u16 a2 __asm__("$6"); // !FAKE: pin $6 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
v0 = *(u16 *)((s32)a0 + 0x6);
|
||||
*(u16 *)(&buf[0]) = v0;
|
||||
|
||||
@@ -3484,7 +3484,7 @@ void func_8017F498(s32 a0) {
|
||||
Blk8_80126940_8017D6D0_8017F498 sp10;
|
||||
u8 t;
|
||||
s16 lim;
|
||||
register s16 mid __asm__("$5");
|
||||
register s16 mid __asm__("$5"); // !FAKE: pin $5 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
if (func_80148800(&D_80126B58) & 3) {
|
||||
t = (*(u8 *)(a0 + 5) + 1) & 1;
|
||||
@@ -3514,7 +3514,7 @@ void func_8017F498(s32 a0) {
|
||||
*(s16 *)(a0 + 0x2E) = 0;
|
||||
}
|
||||
}
|
||||
__asm__ __volatile__("" :: "r"(mid)); /* zero-byte: keep $a1 live past the subu */
|
||||
__asm__ __volatile__("" :: "r"(mid)); /* zero-byte: keep $a1 live past the subu */ // !FAKE: keepalive — NEEDED DIFFERS (P36 rung B tus9)
|
||||
if (sp10.v[2] >= 0x1241) {
|
||||
*(s32 *)(a0 + 0x14) = D_8018F0B0[*(u8 *)(a0 + 5)];
|
||||
} else {
|
||||
@@ -3697,9 +3697,8 @@ int func_8017FAB0(int param_1)
|
||||
{
|
||||
|
||||
extern unsigned char D_8018F104[];
|
||||
register int iVar1 __asm__("$4");
|
||||
int iVar1;
|
||||
iVar1 = *(int *)(D_8018F104 + param_1 * 4);
|
||||
__asm__ __volatile__("" ::: "memory");
|
||||
func_8013B7F4((void *)iVar1, 0);
|
||||
}
|
||||
|
||||
@@ -3841,7 +3840,7 @@ s32 func_8017FCAC(void)
|
||||
|
||||
void func_8017FED4(void *a0, s32 a1)
|
||||
{
|
||||
register s32 offset __asm__("$2");
|
||||
s32 offset;
|
||||
s16 buf[4];
|
||||
u16 t0, t1, t2, t3;
|
||||
u16 *ptr;
|
||||
@@ -4141,7 +4140,7 @@ void func_801805EC(s32 a0)
|
||||
*(u16 *)(obj + 0x14) = *(u16 *)(obj + 0x14) +
|
||||
(*(u16 *)(a0 + 0x2A) - *(u16 *)((u8 *)D_80126B78 + 0x12));
|
||||
|
||||
__asm__ __volatile__("" ::: "memory");
|
||||
__asm__ __volatile__("" ::: "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9)
|
||||
*(u16 *)(a0 + 0x2A) = *(u16 *)((u8 *)D_80126B78 + 0x12);
|
||||
if (*(s32 *)(a0 + 0x2C) == 0) {
|
||||
if (--*(s32 *)(a0 + 0x1C) != 0) {
|
||||
@@ -4317,7 +4316,7 @@ typedef struct {
|
||||
void func_80180A54(void *a0, s32 a1, s32 a2)
|
||||
{
|
||||
extern u8 D_801DA130[];
|
||||
register u32 *v0 __asm__("$2");
|
||||
register u32 *v0 __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
u8 *base;
|
||||
Sub_80180A54 *e;
|
||||
s32 i;
|
||||
@@ -4342,7 +4341,7 @@ void func_80180A54(void *a0, s32 a1, s32 a2)
|
||||
}
|
||||
v0 = 0;
|
||||
epilogue:
|
||||
__asm__("" : : "r"(v0));
|
||||
__asm__("" : : "r"(v0)); // !FAKE: keepalive — NEEDED DIFFERS (P36 rung B tus9)
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -4472,20 +4471,20 @@ void func_80180B3C(s32 a0)
|
||||
u8 *p;
|
||||
u8 *base;
|
||||
u8 *frame;
|
||||
register u8 *obj __asm__("$11");
|
||||
register u32 w __asm__("$10");
|
||||
u8 *obj;
|
||||
u32 w;
|
||||
u32 tp;
|
||||
Ft4_80180B3C *pkt;
|
||||
u32 *ot;
|
||||
register u32 x __asm__("$4");
|
||||
register u32 y __asm__("$7");
|
||||
u32 x;
|
||||
u32 y;
|
||||
u32 b;
|
||||
u32 u;
|
||||
u32 v;
|
||||
s32 shift;
|
||||
u32 tpg;
|
||||
u32 vv;
|
||||
register u32 c40 __asm__("$2");
|
||||
u32 c40;
|
||||
|
||||
p = D_800AF630;
|
||||
base = *(u8 **)(a0 + 0x10);
|
||||
@@ -4656,16 +4655,16 @@ void func_801810A0(W_801810A0 *w) {
|
||||
s32 tbl;
|
||||
s32 pad[5];
|
||||
} L;
|
||||
register s32 t asm("v0");
|
||||
register s32 t asm("v0"); // !FAKE: pin v0 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 f;
|
||||
register s32 u asm("a0");
|
||||
register s32 u asm("a0"); // !FAKE: pin a0 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
if (func_8012BDBC((s32)w, 0x380)) {
|
||||
__asm__ __volatile__("" ::: "memory");
|
||||
__asm__ __volatile__("" ::: "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9)
|
||||
if (!func_8018152C((s32)w, 0x380)) {
|
||||
goto el;
|
||||
}
|
||||
__asm__ __volatile__("" ::: "memory");
|
||||
__asm__ __volatile__("" ::: "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9)
|
||||
*(s16 *)(w->f20 + 0x12) += func_8012B8E4((s32)w, 0x14);
|
||||
if (w->f34 == 0) {
|
||||
if (w->fFE == 0) {
|
||||
@@ -4695,8 +4694,7 @@ el:
|
||||
if (t != 0) {
|
||||
f = w->fFE;
|
||||
u = t;
|
||||
__asm__ __volatile__("" : "=r"(u) : "0"(u));
|
||||
__asm__ __volatile__("" : : "r"(t));
|
||||
__asm__ __volatile__("" : : "r"(t)); // !FAKE: keepalive — NEEDED DIFFERS (P36 rung B tus9)
|
||||
t = u - 1;
|
||||
w->fFC = t;
|
||||
w->f34 = 0;
|
||||
@@ -4714,7 +4712,7 @@ void func_80181200(s32 a0)
|
||||
s32 m;
|
||||
s32 vp;
|
||||
u16 w6;
|
||||
register s32 t8C __asm__("$3");
|
||||
register s32 t8C __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
u16 t88;
|
||||
u16 t8A;
|
||||
|
||||
@@ -5294,7 +5292,7 @@ void func_80181F38(s32 a0)
|
||||
}
|
||||
|
||||
if ((func_80029178((s32)D_801AB580[*(s16 *)(a0 + 0x70)]) & 0xFF) != 0) {
|
||||
register s32 s0 __asm__("$16") = *(s32 *)(a0 + 0xDC);
|
||||
s32 s0 = *(s32 *)(a0 + 0xDC);
|
||||
if (s0 != 0) {
|
||||
s32 a1 = *(s32 *)(s0 + 0x4);
|
||||
if (a1 != 0) {
|
||||
@@ -5311,8 +5309,8 @@ void func_80181F38(s32 a0)
|
||||
}
|
||||
|
||||
{
|
||||
register s32 s0 __asm__("$16") = *(s32 *)(a0 + 0xDC);
|
||||
register s32 flag __asm__("$2") = 1;
|
||||
register s32 s0 __asm__("$16") = *(s32 *)(a0 + 0xDC); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 flag __asm__("$2") = 1; // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
if (s0 != 0) {
|
||||
s32 a1 = *(s32 *)s0;
|
||||
if (a1 != 0) {
|
||||
@@ -5711,7 +5709,7 @@ void func_80182868(void *a0)
|
||||
/* §67: launder v0 at the statement where the target's `addu a0,v0,zero`
|
||||
* copy actually lands (the func_8001C214 call site), not right after
|
||||
* func_8012C1B8 returns -- an unconstrained copy gets hoisted early. */
|
||||
__asm__ __volatile__("" : "=r"(v0) : "0"(v0));
|
||||
__asm__ __volatile__("" : "=r"(v0) : "0"(v0)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
func_8001C214(v0, (s32)&D_801ACD58);
|
||||
|
||||
*(u32 *)(*(s32 *)((s32)a0 + 0x20) + 0x28) = 0x2000200;
|
||||
@@ -5819,7 +5817,7 @@ void func_80182AFC(s32 arg0)
|
||||
u16 a0v;
|
||||
s32 s2;
|
||||
s32 diff;
|
||||
register s32 ok __asm__("$5");
|
||||
register s32 ok __asm__("$5"); // !FAKE: pin $5 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
u8 *base = (u8 *)&D_80126B58;
|
||||
|
||||
func_8012AD80(s0);
|
||||
@@ -5854,8 +5852,8 @@ void func_80182AFC(s32 arg0)
|
||||
}
|
||||
|
||||
if ((s16)diff >= s2 - 0x18) {
|
||||
register int zr __asm__("$0");
|
||||
register s32 vt __asm__("$2");
|
||||
register int zr __asm__("$0"); // !FAKE: pin $0 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 vt __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
vt = ok + zr;
|
||||
if (vt != 0) {
|
||||
if (*(s16 *)(base + 0xA) >= *(s16 *)(s0 + 0xA) + D_801AB668[0]) {
|
||||
@@ -6175,7 +6173,7 @@ extern u16 D_80126B5E;
|
||||
|
||||
void func_801831F4(s32 arg)
|
||||
{
|
||||
register s32 a0 __asm__("$4");
|
||||
s32 a0;
|
||||
|
||||
a0 = arg;
|
||||
switch (*(s16 *)((s32)a0 + 0x70)) {
|
||||
@@ -6184,7 +6182,6 @@ void func_801831F4(s32 arg)
|
||||
s32 *base = (s32 *)(*(s32 *)((s32)a0 + 0x20));
|
||||
s32 r = *(base + 1) & 0x7FFFFFFF;
|
||||
*(base + 1) = r;
|
||||
__asm__("" :: "r"(base), "r"(r));
|
||||
*(u16 *)((s32)a0 + 0x5C) = 0xCC00;
|
||||
func_80182AA4((void *)a0); /* direct call: the retail bytes `j .L80183298` land on the shared jal (cross-jump), not on the recheck */
|
||||
}
|
||||
@@ -6397,7 +6394,7 @@ void func_801836B0(void *arg0)
|
||||
*(s16 *)((s32)arg0 + 0xFE) = 0;
|
||||
*(s16 *)((s32)arg0 + 0x102) = 0;
|
||||
}
|
||||
__asm__ __volatile__("");
|
||||
__asm__ __volatile__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
((void (*)(void *, s32))func_8012AD44)(arg0, 3);
|
||||
if (*(s16 *)((s32)arg0 + 0xFC) == 0) {
|
||||
*(u16 *)((s32)arg0 + 0x34) = 2;
|
||||
@@ -6623,7 +6620,7 @@ void func_80183ADC(s32 a0)
|
||||
}
|
||||
|
||||
/* §67: pin v0 against hoisting past the store */
|
||||
__asm__ __volatile__("" : "=r"(v0) : "0"(v0));
|
||||
__asm__ __volatile__("" : "=r"(v0) : "0"(v0)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
func_8001C214(v0, (s32)&D_801AD2B8);
|
||||
|
||||
*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1A) = 0x1000;
|
||||
@@ -7742,7 +7739,7 @@ void func_8018582C(void *a0) {
|
||||
v = 0x1000;
|
||||
}
|
||||
*(s16 *)((s32)a0 + 0x100) = v;
|
||||
__asm__ __volatile__("" ::: "memory");
|
||||
__asm__ __volatile__("" ::: "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
func_8012C588(0x153, (s32)a0);
|
||||
func_80186CE0(a0, 1);
|
||||
@@ -7799,10 +7796,10 @@ void func_801859DC(s32 a0) {
|
||||
s16 buf[3];
|
||||
Blk8_801859DC tmp;
|
||||
s32 k;
|
||||
register s32 tbl __asm__("$17");
|
||||
register s32 ang1 __asm__("$20");
|
||||
register s32 ang2 __asm__("$19");
|
||||
register s32 p __asm__("$16");
|
||||
s32 tbl;
|
||||
s32 ang1;
|
||||
s32 ang2;
|
||||
s32 p;
|
||||
|
||||
if ((*(s32 *)(a0 + 0xE0) & 1) == 0) {
|
||||
if (func_8012BD3C(a0, 0x400, *(s32 *)(a0 + 0xDC)) == 0) {
|
||||
@@ -7820,15 +7817,13 @@ void func_801859DC(s32 a0) {
|
||||
func_8012F214(a0, p, (s32)&buf[0]);
|
||||
func_8012F214(a0, p + 8, (s32)&tmp);
|
||||
{
|
||||
register s32 f __asm__("$2") = *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12);
|
||||
s32 f = *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12);
|
||||
ang1 = f + 0x400;
|
||||
ang2 = f - 0x400;
|
||||
}
|
||||
p = 0;
|
||||
while (p < 6) {
|
||||
__asm__ __volatile__("" : "=r"(ang1) : "0"(ang1));
|
||||
func_80186D9C(buf, ang1 * 0x10000 >> 0x10, (rand() % 4) * -0x10000 + -0x80000, 0);
|
||||
__asm__ __volatile__("" : "=r"(ang2) : "0"(ang2));
|
||||
func_80186D9C((s16 *)&tmp, ang2 * 0x10000 >> 0x10, (rand() % 4) * -0x10000 + -0x80000, 0);
|
||||
p++;
|
||||
}
|
||||
@@ -7848,7 +7843,7 @@ void func_801859DC(s32 a0) {
|
||||
void func_80185BC0(s32 a0)
|
||||
{
|
||||
s32 v0;
|
||||
register s32 v1 __asm__("$3");
|
||||
register s32 v1 __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
if (func_8012BEE8(a0)) {
|
||||
if (func_8012BD14(a0) > 0x18FFF) {
|
||||
@@ -7973,7 +7968,6 @@ void func_80185D5C(void *a0) {
|
||||
}
|
||||
|
||||
*(u16 *)((u8 *)a0 + 0x76) = *(u16 *)((u8 *)a0 + 0x76) - speed;
|
||||
__asm__ __volatile__("" ::: "memory");
|
||||
|
||||
{
|
||||
*(u16 *)((u8 *)a0 + 0x5C) = *(u16 *)((u8 *)a0 + 0x5C) & 0xFFFE;
|
||||
@@ -8102,13 +8096,13 @@ extern s32 D_801DA77C;
|
||||
|
||||
void func_801860B8(s32 arg0_)
|
||||
{
|
||||
register s32 arg0 __asm__("$7");
|
||||
register s32 prev __asm__("$5");
|
||||
register u16 flags __asm__("$2");
|
||||
s32 arg0;
|
||||
register s32 prev __asm__("$5"); // !FAKE: pin $5 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register u16 flags __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 a;
|
||||
s32 diff;
|
||||
s32 v;
|
||||
register s32 d __asm__("$2");
|
||||
register s32 d __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 spd;
|
||||
s32 e1;
|
||||
s32 e2;
|
||||
@@ -8626,13 +8620,13 @@ extern s32 func_8012BD14(s32 a0);
|
||||
extern void func_8002D59C(s32 a0, u16 a1, s32 a2);
|
||||
|
||||
void func_80186C0C(s32 a0) {
|
||||
register s32 arg __asm__("$17");
|
||||
register s32 arg __asm__("$17"); // !FAKE: pin $17 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 vol;
|
||||
s32 ret;
|
||||
s32 t;
|
||||
|
||||
arg = a0;
|
||||
__asm__("" :: "r"(arg));
|
||||
__asm__("" :: "r"(arg)); // !FAKE: keepalive — NEEDED DIFFERS (P36 rung B tus9)
|
||||
vol = 0x2F;
|
||||
ret = func_8012BD14(a0);
|
||||
if (ret <= 0x40000) {
|
||||
@@ -8657,9 +8651,9 @@ s32 a1;
|
||||
{
|
||||
s32 sp10[5];
|
||||
s32 obj;
|
||||
register s32 w __asm__("$7");
|
||||
register s32 w __asm__("$7"); // !FAKE: pin $7 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 x, y, z;
|
||||
register s32 t __asm__("$3");
|
||||
register s32 t __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
obj = (s32)a0;
|
||||
x = D_801AFBD8[a1 * 5];
|
||||
@@ -8672,7 +8666,7 @@ s32 a1;
|
||||
sp10[3] = w;
|
||||
t = D_801AFBE8[a1 * 5];
|
||||
sp10[4] = t;
|
||||
__asm__ __volatile__("" ::: "memory");
|
||||
__asm__ __volatile__("" ::: "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9)
|
||||
((u16 *)sp10)[0] = ((u16 *)sp10)[0] + *(u16 *)(obj + 6);
|
||||
((u16 *)sp10)[1] = ((u16 *)sp10)[1] + *(u16 *)(obj + 0xA);
|
||||
((u16 *)sp10)[2] = ((u16 *)sp10)[2] + *(u16 *)(obj + 0xE);
|
||||
@@ -9288,9 +9282,9 @@ void func_80187970(void *a0) {
|
||||
u16 buf[8];
|
||||
s32 ent;
|
||||
u16 saved;
|
||||
register u16 v0 __asm__("$2");
|
||||
register u16 v1 __asm__("$3");
|
||||
register u16 a3 __asm__("$7");
|
||||
u16 v0;
|
||||
register u16 v1 __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register u16 a3 __asm__("$7"); // !FAKE: pin $7 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
func_8002AC00(0xD);
|
||||
if (*(u16 *)((s32)a0 + 0x0) != 0) {
|
||||
@@ -9601,13 +9595,13 @@ void func_80187D18(s32 a0) {
|
||||
v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C);
|
||||
v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50);
|
||||
/* $a0-pinned scopes: rematerialise &D_800AF648 (lui/addiu) before EACH call */
|
||||
{ register void *r4 __asm__("$4"); r4 = &D_800AF648; func_8004914C(r4); }
|
||||
{ register void *r4 __asm__("$4"); r4 = &D_800AF648; func_800491AC(r4); }
|
||||
{ register void *r4 __asm__("$4"); r4 = &D_800AF648; func_8004914C(r4); } // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
{ void *r4; r4 = &D_800AF648; func_800491AC(r4); }
|
||||
RotTransPers((s32)v, (s32)&sxy, &z, &flag);
|
||||
if (flag >= 0 && (u32)((*(u16 *)&sxy + 0x9F) & 0xFFFF) < 0x13F
|
||||
&& (u32)((*((u16 *)&sxy + 1) + 0x77) & 0xFFFF) < 0xEF) {
|
||||
s32 sx; /* screen X, then REUSED as the pan field */
|
||||
register s32 av __asm__("$5"); /* |X| — the one pin that helped */
|
||||
register s32 av __asm__("$5"); /* |X| — the one pin that helped */ // !FAKE: pin $5 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 vol;
|
||||
sx = (s16)*(u16 *)&sxy;
|
||||
av = sx;
|
||||
@@ -9616,7 +9610,7 @@ void func_80187D18(s32 a0) {
|
||||
}
|
||||
vol = ((0xA0 - av) * 0x7F) / 0xA0;
|
||||
/* lever 3: sched1 otherwise hoists the PAN multiply ahead of this one */
|
||||
__asm__("" : "=r"(vol) : "0"(vol));
|
||||
__asm__("" : "=r"(vol) : "0"(vol)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
sx = (sx + 0xA0) / 0x14;
|
||||
if (sx == 0x10) {
|
||||
sx = 0xF;
|
||||
@@ -9852,20 +9846,20 @@ void func_8018830C(s32 a0) {
|
||||
L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48);
|
||||
L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C);
|
||||
L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50);
|
||||
{ register void *r4 __asm__("$4"); r4 = &D_800AF648; func_8004914C(r4); }
|
||||
{ register void *r4 __asm__("$4"); r4 = &D_800AF648; func_800491AC(r4); }
|
||||
{ register void *r4 __asm__("$4"); r4 = &D_800AF648; func_8004914C(r4); } // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
{ void *r4; r4 = &D_800AF648; func_800491AC(r4); }
|
||||
RotTransPers((s32)L.v, (s32)L.sxy, &L.z, &L.flag);
|
||||
if (L.flag >= 0 && (u32)((L.sxy[0] + 0x9F) & 0xFFFF) < 0x13F
|
||||
&& (u32)((L.sxy[1] + 0x77) & 0xFFFF) < 0xEF) {
|
||||
s32 x = (s16)L.sxy[0];
|
||||
register s32 ax __asm__("$5");
|
||||
register s32 ax __asm__("$5"); // !FAKE: pin $5 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 vol;
|
||||
ax = x;
|
||||
if (x < 0) {
|
||||
ax = -x;
|
||||
}
|
||||
vol = ((0xA0 - ax) * 0x7F) / 0xA0;
|
||||
__asm__("" : "=r"(vol) : "0"(vol));
|
||||
__asm__("" : "=r"(vol) : "0"(vol)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
x = (x + 0xA0) / 0x14;
|
||||
if (x == 0x10) {
|
||||
x = 0xF;
|
||||
@@ -9997,8 +9991,8 @@ void func_8018871C(s32 a0) {
|
||||
/* $a0-pinned scopes force the &D_800AF648 constant to be rematerialised
|
||||
* per call (cookbook §88a); otherwise CSE parks it in a callee-saved reg
|
||||
* and mis-seats every register in the function. */
|
||||
{ register void *r4 __asm__("$4"); r4 = &D_800AF648; func_8004914C(r4); }
|
||||
{ register void *r4 __asm__("$4"); r4 = &D_800AF648; func_800491AC(r4); }
|
||||
{ register void *r4 __asm__("$4"); r4 = &D_800AF648; func_8004914C(r4); } // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
{ void *r4; r4 = &D_800AF648; func_800491AC(r4); }
|
||||
RotTransPers((s32)L.v, (s32)L.sxy, &L.z, &L.flag);
|
||||
if (L.flag >= 0 && (u32)((L.sxy[0] + 0x9F) & 0xFFFF) < 0x13F
|
||||
&& (u32)((L.sxy[1] + 0x77) & 0xFFFF) < 0xEF) {
|
||||
@@ -10260,9 +10254,9 @@ void func_80188E1C(void *a0) {
|
||||
extern s32 D_801B55C4;
|
||||
|
||||
u16 buf[8];
|
||||
register u16 v0 __asm__("$2");
|
||||
register u16 v1 __asm__("$3");
|
||||
register u16 a2 __asm__("$6");
|
||||
u16 v0;
|
||||
register u16 v1 __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register u16 a2 __asm__("$6"); // !FAKE: pin $6 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
v0 = *(u16 *)((s32)a0 + 0x6);
|
||||
*(u16 *)(&buf[0]) = v0;
|
||||
@@ -10342,9 +10336,9 @@ void func_80188F04(void *a0) {
|
||||
extern u8 D_801C1FD4[];
|
||||
extern u8 D_801C2ADC[];
|
||||
u16 buf[8];
|
||||
register u16 v0 __asm__("$2");
|
||||
register u16 v1 __asm__("$3");
|
||||
register u16 a2 __asm__("$6");
|
||||
u16 v0;
|
||||
register u16 v1 __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register u16 a2 __asm__("$6"); // !FAKE: pin $6 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
v0 = *(u16 *)((s32)a0 + 0x6);
|
||||
buf[0] = v0;
|
||||
@@ -10459,7 +10453,7 @@ extern s32 func_80131A34(s32 a0, s32 a1);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
|
||||
void func_801891D8(s32 a0) {
|
||||
register s32 s0 __asm__("$16") = a0;
|
||||
s32 s0 = a0;
|
||||
u16 v0 = *(u16 *)(s0 + 0x100);
|
||||
u16 v1 = *(u16 *)(s0 + 0x60);
|
||||
|
||||
@@ -10505,9 +10499,9 @@ void func_8018927C(void *a0) {
|
||||
extern char D_801C2F4C[];
|
||||
|
||||
u16 buf[8];
|
||||
register u16 v0 __asm__("$2");
|
||||
register u16 v1 __asm__("$3");
|
||||
register u16 a2 __asm__("$6");
|
||||
u16 v0;
|
||||
register u16 v1 __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register u16 a2 __asm__("$6"); // !FAKE: pin $6 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
v0 = *(u16 *)((s32)a0 + 0x6);
|
||||
*(u16 *)(&buf[0]) = v0;
|
||||
@@ -11309,7 +11303,7 @@ void func_8018A150(void *a0)
|
||||
*(s16 *)((s32)a0 + 0xFE) = 0x6000;
|
||||
} else {
|
||||
s32 dv, sv;
|
||||
__asm__ __volatile__("" : : : "memory");
|
||||
__asm__ __volatile__("" : : : "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9)
|
||||
dv = *(u16 *)((s32)a0 + 0x106) + 0x400;
|
||||
sv = *(u16 *)((s32)a0 + 0xFE) + dv;
|
||||
*(s16 *)((s32)a0 + 0x106) = dv;
|
||||
|
||||
@@ -3696,9 +3696,8 @@ int func_8017FB44(int param_1)
|
||||
{
|
||||
|
||||
extern unsigned char D_8018F27C[];
|
||||
register int iVar1 __asm__("$4");
|
||||
int iVar1;
|
||||
iVar1 = *(int *)(D_8018F27C + param_1 * 4);
|
||||
__asm__ __volatile__("" ::: "memory");
|
||||
func_8013B7F4((void *)iVar1, 0);
|
||||
}
|
||||
|
||||
@@ -3858,7 +3857,7 @@ void func_8017FD30(void) {
|
||||
|
||||
void func_8017FF68(void *a0, s32 a1)
|
||||
{
|
||||
register s32 offset __asm__("$2");
|
||||
s32 offset;
|
||||
s16 buf[4];
|
||||
u16 t0, t1, t2, t3;
|
||||
u16 *ptr;
|
||||
@@ -3935,7 +3934,7 @@ void func_80180040(s32 a0)
|
||||
}
|
||||
|
||||
if ((func_80029178((s32)D_801A4C1C[*(s16 *)(a0 + 0x70)]) & 0xFF) != 0) {
|
||||
register s32 s0 __asm__("$16") = *(s32 *)(a0 + 0xDC);
|
||||
s32 s0 = *(s32 *)(a0 + 0xDC);
|
||||
if (s0 != 0) {
|
||||
s32 a1 = *(s32 *)(s0 + 0x4);
|
||||
if (a1 != 0) {
|
||||
@@ -3952,8 +3951,8 @@ void func_80180040(s32 a0)
|
||||
}
|
||||
|
||||
{
|
||||
register s32 s0 __asm__("$16") = *(s32 *)(a0 + 0xDC);
|
||||
register s32 flag __asm__("$2") = 1;
|
||||
register s32 s0 __asm__("$16") = *(s32 *)(a0 + 0xDC); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 flag __asm__("$2") = 1; // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
if (s0 != 0) {
|
||||
s32 a1 = *(s32 *)s0;
|
||||
if (a1 != 0) {
|
||||
@@ -4374,7 +4373,7 @@ void func_80180970(void *a0)
|
||||
/* §67: launder v0 at the statement where the target's `addu a0,v0,zero`
|
||||
* copy actually lands (the func_8001C214 call site), not right after
|
||||
* func_8012C1B8 returns -- an unconstrained copy gets hoisted early. */
|
||||
__asm__ __volatile__("" : "=r"(v0) : "0"(v0));
|
||||
__asm__ __volatile__("" : "=r"(v0) : "0"(v0)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
func_8001C214(v0, (s32)&D_801A6578);
|
||||
|
||||
*(u32 *)(*(s32 *)((s32)a0 + 0x20) + 0x28) = 0x2000200;
|
||||
@@ -4486,7 +4485,7 @@ void func_80180C04(void *arg0)
|
||||
extern Stride8_u16_80182868_80180970 D_801A4D0C[];
|
||||
extern Stride8_s16_80182868_80180970 D_801A4D12[];
|
||||
|
||||
register s32 zr __asm__("$0");
|
||||
register s32 zr __asm__("$0"); // !FAKE: pin $0 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
u8 *base;
|
||||
void *s0;
|
||||
@@ -4845,7 +4844,7 @@ extern u16 D_80126B5E;
|
||||
|
||||
void func_801812FC(s32 arg)
|
||||
{
|
||||
register s32 a0 __asm__("$4");
|
||||
s32 a0;
|
||||
|
||||
a0 = arg;
|
||||
switch (*(s16 *)((s32)a0 + 0x70)) {
|
||||
@@ -4854,7 +4853,6 @@ void func_801812FC(s32 arg)
|
||||
s32 *base = (s32 *)(*(s32 *)((s32)a0 + 0x20));
|
||||
s32 r = *(base + 1) & 0x7FFFFFFF;
|
||||
*(base + 1) = r;
|
||||
__asm__("" :: "r"(base), "r"(r));
|
||||
*(u16 *)((s32)a0 + 0x5C) = 0xCC00;
|
||||
func_80180BAC((void *)a0); /* direct call: the retail bytes `j .L80183298` land on the shared jal (cross-jump), not on the recheck */
|
||||
}
|
||||
@@ -5047,7 +5045,7 @@ void func_801817B8(void *arg0)
|
||||
*(s16 *)((s32)arg0 + 0xFE) = 0;
|
||||
*(s16 *)((s32)arg0 + 0x102) = 0;
|
||||
}
|
||||
__asm__ __volatile__("");
|
||||
__asm__ __volatile__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
((void (*)(void *, s32))func_8012AD44)(arg0, 3);
|
||||
if (*(s16 *)((s32)arg0 + 0xFC) == 0) {
|
||||
*(u16 *)((s32)arg0 + 0x34) = 2;
|
||||
@@ -5422,8 +5420,8 @@ void func_80181EDC(s32 s1)
|
||||
s32 s2;
|
||||
|
||||
if (func_8012C354(s1, (s32)&D_801A4E3C) != 0) {
|
||||
register s32 t0 __asm__("$2");
|
||||
register s32 t1 __asm__("$3");
|
||||
register s32 t0 __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 t1;
|
||||
|
||||
t0 = 1;
|
||||
*(u8 *)(s1 + 0xC0) = t0;
|
||||
@@ -5566,7 +5564,7 @@ void func_80182060(void *a0)
|
||||
p = &D_801D3100;
|
||||
/* Zero-byte second set of `p` — blinds sched.c's reg_known_value alias
|
||||
* oracle so `*p = nc0` anti-depends on the D_801D3101/2 loads. See header. */
|
||||
__asm__("" : "=r"(p) : "0"(p));
|
||||
__asm__("" : "=r"(p) : "0"(p)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
c0 = *p;
|
||||
if (c0 < 0xFF) {
|
||||
nc0 = c0 + 0x10;
|
||||
@@ -5958,7 +5956,7 @@ void func_8018292C(void *a0)
|
||||
extern u8 D_801A4EF0;
|
||||
extern s32 D_801A4EA4;
|
||||
|
||||
register void *s0 __asm__("$16") = a0;
|
||||
register void *s0 __asm__("$16") = a0; // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 v0 = ((s32 (*)(void))func_8012C1B8)();
|
||||
|
||||
*(s32 *)((u8 *)s0 + 0x20) = v0;
|
||||
@@ -6031,7 +6029,7 @@ void func_801829BC(void *a0)
|
||||
*(u16 *)(s1 + 0x18) = 0x2000;
|
||||
*(u8 *)(s1 + 0x27) = b;
|
||||
} else {
|
||||
register u8 *dptr __asm__("$4");
|
||||
register u8 *dptr __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
func_8001CF00(s1);
|
||||
dptr = D_801D3140;
|
||||
@@ -6594,7 +6592,7 @@ void func_80182FD4(void *a0, void *a1)
|
||||
void func_801833F0(void *ent, void *spr, u32 *q, u32 *ot)
|
||||
{
|
||||
extern u8 *D_800A5E60;
|
||||
register s32 zr __asm__("$0");
|
||||
register s32 zr __asm__("$0"); // !FAKE: pin $0 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
Ft4_801833F0 *poly;
|
||||
Drm_801833F0 *dm;
|
||||
@@ -6638,8 +6636,8 @@ void func_801833F0(void *ent, void *spr, u32 *q, u32 *ot)
|
||||
s32 t = ((x - ((tpage & 0xF) << 6)) << shift) +
|
||||
(*(u16 *)((s32)spr + 4) & ((1 << shift) - 1));
|
||||
su = t + zr;
|
||||
__asm__ __volatile__("" ::"r"(t + *(u8 *)((s32)spr + 2) - 1));
|
||||
__asm__ __volatile__("" ::"r"(t));
|
||||
__asm__ __volatile__("" ::"r"(t + *(u8 *)((s32)spr + 2) - 1)); // !FAKE: keepalive — NEEDED DIFFERS (P36 rung B tus9)
|
||||
__asm__ __volatile__("" ::"r"(t)); // !FAKE: keepalive — NEEDED DIFFERS (P36 rung B tus9)
|
||||
}
|
||||
y = y & 0xFFFF;
|
||||
if (tpage & 0x10) {
|
||||
@@ -6647,14 +6645,14 @@ void func_801833F0(void *ent, void *spr, u32 *q, u32 *ot)
|
||||
} else {
|
||||
sv = y + zr;
|
||||
}
|
||||
__asm__ __volatile__("" ::"r"(sv + *(u8 *)((s32)spr + 3) - 1));
|
||||
__asm__ __volatile__("" ::"r"(sv + *(u8 *)((s32)spr + 3) - 1)); // !FAKE: keepalive — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
i = 1;
|
||||
uu = su;
|
||||
vv = sv;
|
||||
for (; i < 13; i += 2, poly++) {
|
||||
s32 k = (i - 1) * 4;
|
||||
__asm__ __volatile__("" ::"r"(i));
|
||||
__asm__ __volatile__("" ::"r"(i)); // !FAKE: keepalive — NEEDED DIFFERS (P36 rung B tus9)
|
||||
poly->tag.len = 9;
|
||||
poly->code = code;
|
||||
poly->tpage = tpage;
|
||||
@@ -6671,7 +6669,7 @@ void func_801833F0(void *ent, void *spr, u32 *q, u32 *ot)
|
||||
poly->v3 = SR3_801833F0(vtx + k2 + 0x12) + vv;
|
||||
}
|
||||
poly->clut = clut;
|
||||
__asm__ __volatile__("" ::"r"(i), "r"(i));
|
||||
__asm__ __volatile__("" ::"r"(i), "r"(i)); // !FAKE: keepalive — NEEDED DIFFERS (P36 rung B tus9)
|
||||
poly->r0 = *(u8 *)((s32)ent + 0x24);
|
||||
poly->g0 = *(u8 *)((s32)ent + 0x25);
|
||||
poly->b0 = *(u8 *)((s32)ent + 0x26);
|
||||
@@ -6715,7 +6713,7 @@ void func_801833F0(void *ent, void *spr, u32 *q, u32 *ot)
|
||||
/* Zero-byte live-range stretch: puts vtx's allocno priority at
|
||||
* 1232, inside the (1228, 1296) window - see (2). Placement is
|
||||
* load-bearing; do not move this statement. */
|
||||
__asm__ __volatile__("" ::"r"(vtx));
|
||||
__asm__ __volatile__("" ::"r"(vtx)); // !FAKE: keepalive — NEEDED DIFFERS (P36 rung B tus9)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -7150,10 +7148,10 @@ void func_80183D30(s32 arg0)
|
||||
s32 ot;
|
||||
u16 bx;
|
||||
u16 by;
|
||||
register s32 ang __asm__("$4"); /* §17 pin — see residual (a) */
|
||||
register s32 ang __asm__("$4"); /* §17 pin — see residual (a) */ // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
volatile u16 *bidx;
|
||||
s32 t;
|
||||
register u32 pv __asm__("$3"); /* §17 pin — see residual (b) */
|
||||
register u32 pv __asm__("$3"); /* §17 pin — see residual (b) */ // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
m = D_800AE620;
|
||||
mp = &m;
|
||||
@@ -7204,7 +7202,7 @@ void func_80183D30(s32 arg0)
|
||||
*(s16 *)(p + 0x1A) = by;
|
||||
|
||||
/* addPrim(otp, p) == setaddr(p, getaddr(otp)), setaddr(otp, p) */
|
||||
bidx = (volatile u16 *)&D_800B9A02;
|
||||
bidx = (u16 *)&D_800B9A02;
|
||||
pv = *(u32 *)p;
|
||||
*(u32 *)p = (pv & 0xFF000000) |
|
||||
(*(u32 *)(*(s32 *)((u8 *)&D_800A651C +
|
||||
@@ -7212,7 +7210,7 @@ void func_80183D30(s32 arg0)
|
||||
ot = *(s32 *)((u8 *)&D_800A651C + (*bidx * 20));
|
||||
*(u32 *)(ot + 0x40) = (*(u32 *)(ot + 0x40) & 0xFF000000) | ((u32)p & 0xFFFFFF);
|
||||
func_80016638(&D_800A6518[*bidx * 20], 0x10, 1);
|
||||
__asm__ __volatile__("" : "=r"(pv)); /* zero-byte 2nd SET: kills the sched1 birthing boost */
|
||||
__asm__ __volatile__("" : "=r"(pv)); /* zero-byte 2nd SET: kills the sched1 birthing boost */ // !FAKE: launder out-only — NEEDED DIFFERS (P36 rung B tus9)
|
||||
}
|
||||
|
||||
|
||||
@@ -7629,8 +7627,8 @@ void func_801844D4(s32 a0) {
|
||||
void *svp = sv;
|
||||
void *outp = out;
|
||||
ApplyMatrixSV(m, svp, outp);
|
||||
__asm__ __volatile__("" : "=r"(svp));
|
||||
__asm__ __volatile__("" : "=r"(outp));
|
||||
__asm__ __volatile__("" : "=r"(svp)); // !FAKE: launder out-only — NEEDED DIFFERS (P36 rung B tus9)
|
||||
__asm__ __volatile__("" : "=r"(outp)); // !FAKE: launder out-only — NEEDED DIFFERS (P36 rung B tus9)
|
||||
}
|
||||
|
||||
*(s16 *)(q + 0x8) = x + ((s16)out[0] >> 1) * 3;
|
||||
@@ -7651,7 +7649,7 @@ void func_801844D4(s32 a0) {
|
||||
*(s16 *)(sv + 0) = 2;
|
||||
{
|
||||
/* lever C: sp+0x10 IS &m, but spelled so cse cannot fold it to $s4 */
|
||||
register u8 *spr __asm__("$29");
|
||||
register u8 *spr __asm__("$29"); // !FAKE: pin $29 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
ApplyMatrixSV(spr + 0x10, sv, out);
|
||||
}
|
||||
|
||||
|
||||
@@ -3637,7 +3637,7 @@ void func_80186210(void *a0) {
|
||||
v = 0x1000;
|
||||
}
|
||||
*(s16 *)((s32)a0 + 0x100) = v;
|
||||
__asm__ __volatile__("" ::: "memory");
|
||||
__asm__ __volatile__("" ::: "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
func_8012C588(0x153, (s32)a0);
|
||||
func_801876C4(a0, 1);
|
||||
@@ -3690,9 +3690,9 @@ extern s32 rand(void);
|
||||
void func_801863C0(s32 a0) {
|
||||
s16 sp10[4];
|
||||
s16 sp18[4];
|
||||
register s32 ang1 __asm__("$20");
|
||||
register s32 ang2 __asm__("$19");
|
||||
register s32 negbase __asm__("$17");
|
||||
s32 ang1;
|
||||
s32 ang2;
|
||||
s32 negbase;
|
||||
|
||||
if ((*(s32 *)(a0 + 0xE0) & 1) == 0) {
|
||||
if (func_8012BD3C(a0, 0x400, *(s32 *)(a0 + 0xDC)) == 0) {
|
||||
@@ -3706,26 +3706,24 @@ void func_801863C0(s32 a0) {
|
||||
}
|
||||
|
||||
if (*(s32 *)(a0 + 0x94) == 0x19) {
|
||||
register s32 i __asm__("$16");
|
||||
s32 i;
|
||||
func_8012F214(a0, (s32)&D_801A970C, (s32)sp10);
|
||||
func_8012F214(a0, (s32)&D_801A970C + 8, (s32)sp18);
|
||||
i = 0;
|
||||
{
|
||||
register s32 fieldval __asm__("$2");
|
||||
s32 fieldval;
|
||||
fieldval = *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12);
|
||||
ang1 = fieldval + 0x400;
|
||||
negbase = -0x80000;
|
||||
ang2 = fieldval - 0x400;
|
||||
}
|
||||
for (; i < 6; i++) {
|
||||
__asm__ __volatile__("" : "=r"(ang1) : "0"(ang1));
|
||||
func_80187780(sp10, (s16)ang1, negbase - (rand() % 4) * 0x10000, 0);
|
||||
__asm__ __volatile__("" : "=r"(ang2) : "0"(ang2));
|
||||
func_80187780(sp18, (s16)ang2, negbase - (rand() % 4) * 0x10000, 0);
|
||||
}
|
||||
{
|
||||
register s32 halfbase __asm__("$19");
|
||||
register s32 ptr __asm__("$17");
|
||||
s32 halfbase;
|
||||
s32 ptr;
|
||||
i = 0;
|
||||
halfbase = 0x80000;
|
||||
ptr = (s32)D_801A971C;
|
||||
@@ -3747,7 +3745,7 @@ extern void func_8012B2CC(s32 a0);
|
||||
void func_801865A4(s32 a0)
|
||||
{
|
||||
s32 v0;
|
||||
register s32 v1 __asm__("$3");
|
||||
register s32 v1 __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
if (func_8012BEE8(a0)) {
|
||||
if (func_8012BD14(a0) > 0x18FFF) {
|
||||
@@ -3877,7 +3875,6 @@ void func_80186740(void *a0) {
|
||||
}
|
||||
|
||||
*(u16 *)((u8 *)a0 + 0x76) = *(u16 *)((u8 *)a0 + 0x76) - speed;
|
||||
__asm__ __volatile__("" ::: "memory");
|
||||
|
||||
{
|
||||
*(u16 *)((u8 *)a0 + 0x5C) = *(u16 *)((u8 *)a0 + 0x5C) & 0xFFFE;
|
||||
@@ -3996,13 +3993,13 @@ extern s32 D_801D337C;
|
||||
|
||||
void func_80186A9C(s32 arg0_)
|
||||
{
|
||||
register s32 arg0 __asm__("$7");
|
||||
register s32 prev __asm__("$5");
|
||||
register u16 flags __asm__("$2");
|
||||
s32 arg0;
|
||||
register s32 prev __asm__("$5"); // !FAKE: pin $5 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register u16 flags __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 a;
|
||||
s32 diff;
|
||||
s32 v;
|
||||
register s32 d __asm__("$2");
|
||||
register s32 d __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 spd;
|
||||
s32 e1;
|
||||
s32 e2;
|
||||
@@ -4107,7 +4104,7 @@ s32 func_80186C8C(s32 arg0)
|
||||
|
||||
|
||||
void func_80186D20(s32 arg0) {
|
||||
register s32 a3 __asm__("$7");
|
||||
s32 a3;
|
||||
u16 a1;
|
||||
u16 b;
|
||||
u16 c;
|
||||
@@ -4510,7 +4507,7 @@ void func_801875F0(s32 a0) {
|
||||
t = t * t;
|
||||
var_s0 = 0x7F - ret / ((0x40000 - t) / 0x50);
|
||||
}
|
||||
__asm__("" :: "r"(var_s0), "r"(var_s0));
|
||||
__asm__("" :: "r"(var_s0), "r"(var_s0)); // !FAKE: keepalive — NEEDED DIFFERS (P36 rung B tus9)
|
||||
func_8002D59C(0x64E, var_s0 | 0x5000, *(u16 *)(a0 + 0x104));
|
||||
}
|
||||
|
||||
@@ -4525,9 +4522,9 @@ extern s32 func_8012C51C(void *a0, s32 a1);
|
||||
void func_801876C4(void *a0, s32 a1) {
|
||||
s32 sp10[5];
|
||||
s32 obj;
|
||||
register s32 w __asm__("$7");
|
||||
register s32 w __asm__("$7"); // !FAKE: pin $7 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 x, y, z;
|
||||
register s32 t __asm__("$3");
|
||||
register s32 t __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
obj = (s32)a0;
|
||||
x = D_801A9A78[a1 * 5];
|
||||
@@ -4540,7 +4537,7 @@ void func_801876C4(void *a0, s32 a1) {
|
||||
sp10[3] = w;
|
||||
t = D_801A9A88[a1 * 5];
|
||||
sp10[4] = t;
|
||||
__asm__ __volatile__("" ::: "memory");
|
||||
__asm__ __volatile__("" ::: "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9)
|
||||
((u16 *)sp10)[0] = ((u16 *)sp10)[0] + *(u16 *)(obj + 6);
|
||||
((u16 *)sp10)[1] = ((u16 *)sp10)[1] + *(u16 *)(obj + 0xA);
|
||||
((u16 *)sp10)[2] = ((u16 *)sp10)[2] + *(u16 *)(obj + 0xE);
|
||||
@@ -5153,9 +5150,9 @@ void func_80188354(void *a0) {
|
||||
u16 buf[8];
|
||||
s32 ent;
|
||||
u16 saved;
|
||||
register u16 v0 __asm__("$2");
|
||||
register u16 v1 __asm__("$3");
|
||||
register u16 a3 __asm__("$7");
|
||||
u16 v0;
|
||||
register u16 v1 __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register u16 a3 __asm__("$7"); // !FAKE: pin $7 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
func_8002AC00(0xD);
|
||||
if (*(u16 *)((s32)a0 + 0x0) != 0) {
|
||||
|
||||
@@ -3124,13 +3124,13 @@ void func_801886FC(s32 a0) {
|
||||
v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C);
|
||||
v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50);
|
||||
/* $a0-pinned scopes: rematerialise &D_800AF648 (lui/addiu) before EACH call */
|
||||
{ register void *r4 __asm__("$4"); r4 = &D_800AF648; func_8004914C(r4); }
|
||||
{ register void *r4 __asm__("$4"); r4 = &D_800AF648; func_800491AC(r4); }
|
||||
{ register void *r4 __asm__("$4"); r4 = &D_800AF648; func_8004914C(r4); } // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
{ void *r4; r4 = &D_800AF648; func_800491AC(r4); }
|
||||
RotTransPers((s32)v, (s32)&sxy, &z, &flag);
|
||||
if (flag >= 0 && (u32)((*(u16 *)&sxy + 0x9F) & 0xFFFF) < 0x13F
|
||||
&& (u32)((*((u16 *)&sxy + 1) + 0x77) & 0xFFFF) < 0xEF) {
|
||||
s32 sx; /* screen X, then REUSED as the pan field */
|
||||
register s32 av __asm__("$5"); /* |X| — the one pin that helped */
|
||||
register s32 av __asm__("$5"); /* |X| — the one pin that helped */ // !FAKE: pin $5 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 vol;
|
||||
sx = (s16)*(u16 *)&sxy;
|
||||
av = sx;
|
||||
@@ -3139,7 +3139,7 @@ void func_801886FC(s32 a0) {
|
||||
}
|
||||
vol = ((0xA0 - av) * 0x7F) / 0xA0;
|
||||
/* lever 3: sched1 otherwise hoists the PAN multiply ahead of this one */
|
||||
__asm__("" : "=r"(vol) : "0"(vol));
|
||||
__asm__("" : "=r"(vol) : "0"(vol)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
sx = (sx + 0xA0) / 0x14;
|
||||
if (sx == 0x10) {
|
||||
sx = 0xF;
|
||||
@@ -3375,20 +3375,20 @@ void func_80188CF0(s32 a0) {
|
||||
L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48);
|
||||
L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C);
|
||||
L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50);
|
||||
{ register void *r4 __asm__("$4"); r4 = &D_800AF648; func_8004914C(r4); }
|
||||
{ register void *r4 __asm__("$4"); r4 = &D_800AF648; func_800491AC(r4); }
|
||||
{ register void *r4 __asm__("$4"); r4 = &D_800AF648; func_8004914C(r4); } // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
{ void *r4; r4 = &D_800AF648; func_800491AC(r4); }
|
||||
RotTransPers((s32)L.v, (s32)L.sxy, &L.z, &L.flag);
|
||||
if (L.flag >= 0 && (u32)((L.sxy[0] + 0x9F) & 0xFFFF) < 0x13F
|
||||
&& (u32)((L.sxy[1] + 0x77) & 0xFFFF) < 0xEF) {
|
||||
s32 x = (s16)L.sxy[0];
|
||||
register s32 ax __asm__("$5");
|
||||
register s32 ax __asm__("$5"); // !FAKE: pin $5 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 vol;
|
||||
ax = x;
|
||||
if (x < 0) {
|
||||
ax = -x;
|
||||
}
|
||||
vol = ((0xA0 - ax) * 0x7F) / 0xA0;
|
||||
__asm__("" : "=r"(vol) : "0"(vol));
|
||||
__asm__("" : "=r"(vol) : "0"(vol)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
x = (x + 0xA0) / 0x14;
|
||||
if (x == 0x10) {
|
||||
x = 0xF;
|
||||
@@ -3520,8 +3520,8 @@ void func_80189100(s32 a0) {
|
||||
/* $a0-pinned scopes force the &D_800AF648 constant to be rematerialised
|
||||
* per call (cookbook §88a); otherwise CSE parks it in a callee-saved reg
|
||||
* and mis-seats every register in the function. */
|
||||
{ register void *r4 __asm__("$4"); r4 = &D_800AF648; func_8004914C(r4); }
|
||||
{ register void *r4 __asm__("$4"); r4 = &D_800AF648; func_800491AC(r4); }
|
||||
{ register void *r4 __asm__("$4"); r4 = &D_800AF648; func_8004914C(r4); } // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
{ void *r4; r4 = &D_800AF648; func_800491AC(r4); }
|
||||
RotTransPers((s32)L.v, (s32)L.sxy, &L.z, &L.flag);
|
||||
if (L.flag >= 0 && (u32)((L.sxy[0] + 0x9F) & 0xFFFF) < 0x13F
|
||||
&& (u32)((L.sxy[1] + 0x77) & 0xFFFF) < 0xEF) {
|
||||
@@ -3783,9 +3783,9 @@ void func_80189800(void *a0) {
|
||||
extern s32 D_801AF464;
|
||||
|
||||
u16 buf[8];
|
||||
register u16 v0 __asm__("$2");
|
||||
register u16 v1 __asm__("$3");
|
||||
register u16 a2 __asm__("$6");
|
||||
u16 v0;
|
||||
register u16 v1 __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register u16 a2 __asm__("$6"); // !FAKE: pin $6 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
v0 = *(u16 *)((s32)a0 + 0x6);
|
||||
*(u16 *)(&buf[0]) = v0;
|
||||
@@ -3865,9 +3865,9 @@ void func_801898E8(void *a0) {
|
||||
extern u8 D_801BBE74[];
|
||||
extern u8 D_801BC97C[];
|
||||
u16 buf[8];
|
||||
register u16 v0 __asm__("$2");
|
||||
register u16 v1 __asm__("$3");
|
||||
register u16 a2 __asm__("$6");
|
||||
u16 v0;
|
||||
register u16 v1 __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register u16 a2 __asm__("$6"); // !FAKE: pin $6 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
v0 = *(u16 *)((s32)a0 + 0x6);
|
||||
buf[0] = v0;
|
||||
@@ -3982,7 +3982,7 @@ extern s32 func_80131A34(s32 a0, s32 a1);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
|
||||
void func_80189BBC(s32 a0) {
|
||||
register s32 s0 __asm__("$16") = a0;
|
||||
s32 s0 = a0;
|
||||
u16 v0 = *(u16 *)(s0 + 0x100);
|
||||
u16 v1 = *(u16 *)(s0 + 0x60);
|
||||
|
||||
@@ -4027,9 +4027,9 @@ void func_80189C60(void *a0) {
|
||||
extern char D_801BCDEC[];
|
||||
|
||||
u16 buf[8];
|
||||
register u16 v0 __asm__("$2");
|
||||
register u16 v1 __asm__("$3");
|
||||
register u16 a2 __asm__("$6");
|
||||
u16 v0;
|
||||
register u16 v1 __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register u16 a2 __asm__("$6"); // !FAKE: pin $6 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
v0 = *(u16 *)((s32)a0 + 0x6);
|
||||
*(u16 *)(&buf[0]) = v0;
|
||||
@@ -4655,7 +4655,7 @@ extern void func_8018AA74(void *a0);
|
||||
void func_8018A894(void *a0) {
|
||||
extern u8 D_801D34CC[];
|
||||
u8 *p;
|
||||
register s32 i __asm__("$3");
|
||||
register s32 i __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
if (*(s16 *)((s32)a0 + 0xDE) != 0) {
|
||||
func_8018AA74(a0);
|
||||
@@ -4823,7 +4823,7 @@ void func_8018AB34(void *a0)
|
||||
*(s16 *)((s32)a0 + 0xFE) = 0x6000;
|
||||
} else {
|
||||
s32 dv, sv;
|
||||
__asm__ __volatile__("" : : : "memory");
|
||||
__asm__ __volatile__("" : : : "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9)
|
||||
dv = *(u16 *)((s32)a0 + 0x106) + 0x400;
|
||||
sv = *(u16 *)((s32)a0 + 0xFE) + dv;
|
||||
*(s16 *)((s32)a0 + 0x106) = dv;
|
||||
|
||||
@@ -3033,9 +3033,8 @@ int func_8017D368(int param_1)
|
||||
{
|
||||
|
||||
extern unsigned char D_80187F3C[];
|
||||
register int iVar1 __asm__("$4");
|
||||
int iVar1;
|
||||
iVar1 = *(int *)(D_80187F3C + param_1 * 4);
|
||||
__asm__ __volatile__("" ::: "memory");
|
||||
func_8013B7F4((void *)iVar1, 0);
|
||||
}
|
||||
|
||||
@@ -3152,7 +3151,7 @@ extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_8012B414(int a0);
|
||||
|
||||
void func_8017D610(s32 a0) {
|
||||
register s32 s2 __asm__("$18");
|
||||
s32 s2;
|
||||
s32 i;
|
||||
s32 sum;
|
||||
s32 v0;
|
||||
@@ -4431,7 +4430,7 @@ void func_8017F4DC(s32 a0) {
|
||||
t = ang << 4;
|
||||
}
|
||||
{
|
||||
register s32 av __asm__("$5");
|
||||
register s32 av __asm__("$5"); // !FAKE: pin $5 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
av = t - 0x4000;
|
||||
func_8012B178(a0, av);
|
||||
}
|
||||
@@ -4476,7 +4475,7 @@ void func_8017F4DC(s32 a0) {
|
||||
t = ang << 4;
|
||||
}
|
||||
{
|
||||
register s32 av __asm__("$5");
|
||||
register s32 av __asm__("$5"); // !FAKE: pin $5 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
av = t - 0x4000;
|
||||
func_8012B178(a0, av);
|
||||
}
|
||||
@@ -4567,15 +4566,15 @@ extern s32 func_8004787C(s32 a0);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
|
||||
void func_8017F96C(s32 a0) {
|
||||
register s32 state __asm__("$16"); /* $s0 */
|
||||
register s32 ent __asm__("$17"); /* $s1 */
|
||||
s32 state; /* $s0 */
|
||||
register s32 ent __asm__("$17"); /* $s1 */ // !FAKE: pin $17 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 sub;
|
||||
s32 t;
|
||||
s32 v;
|
||||
s32 cnt;
|
||||
|
||||
ent = a0;
|
||||
__asm__ volatile("" ::: "$4");
|
||||
__asm__ volatile("" ::: "$4"); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
state = *(u16 *)(ent + 0x34);
|
||||
|
||||
switch (state) {
|
||||
@@ -4617,7 +4616,7 @@ void func_8017F96C(s32 a0) {
|
||||
sub = *(s32 *)(ent + 0x20);
|
||||
t = func_8004787C(*(s32 *)(ent + 0x1C) << 7);
|
||||
{
|
||||
register s32 lo __asm__("$3");
|
||||
register s32 lo __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
lo = (t << 12) >> 12;
|
||||
v = 0x2000 - lo;
|
||||
}
|
||||
@@ -4755,13 +4754,13 @@ extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
|
||||
void func_8017FE60(s32 a0) {
|
||||
u16 buf[3];
|
||||
register s32 angle1 __asm__("$23");
|
||||
register s32 angle2 __asm__("$22");
|
||||
s32 angle1;
|
||||
s32 angle2;
|
||||
s32 maskraw;
|
||||
s32 flags;
|
||||
register s32 head1 __asm__("$18");
|
||||
register s32 head2 __asm__("$17");
|
||||
register s32 i __asm__("$19");
|
||||
s32 head1;
|
||||
s32 head2;
|
||||
s32 i;
|
||||
s32 ret1;
|
||||
s32 ret2;
|
||||
|
||||
@@ -4771,7 +4770,7 @@ void func_8017FE60(s32 a0) {
|
||||
head1 = 0;
|
||||
head2 = 0;
|
||||
{
|
||||
register s32 fieldval __asm__("$3") = *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12);
|
||||
s32 fieldval = *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12);
|
||||
angle1 = fieldval + 0x400;
|
||||
flags = *(u16 *)(a0 + 0x70);
|
||||
maskraw = flags & 0xF;
|
||||
@@ -4779,15 +4778,13 @@ void func_8017FE60(s32 a0) {
|
||||
}
|
||||
|
||||
if ((flags & 1) == 0) {
|
||||
register s32 mask __asm__("$16");
|
||||
register s32 negoffset __asm__("$17");
|
||||
s32 mask;
|
||||
s32 negoffset;
|
||||
i = 0;
|
||||
negoffset = -0x60000;
|
||||
mask = maskraw;
|
||||
while (i < 4) {
|
||||
__asm__ __volatile__("" : "=r"(angle1) : "0"(angle1));
|
||||
func_801803F8(buf, angle1 * 0x10000 >> 0x10, rand() % 4 * -0x10000 + negoffset, mask);
|
||||
__asm__ __volatile__("" : "=r"(angle2) : "0"(angle2));
|
||||
func_801803F8(buf, angle2 * 0x10000 >> 0x10, rand() % 4 * -0x10000 + negoffset, mask);
|
||||
i++;
|
||||
}
|
||||
@@ -4796,8 +4793,6 @@ void func_8017FE60(s32 a0) {
|
||||
i = 0;
|
||||
mask = maskraw;
|
||||
for (; i < 4; i++) {
|
||||
__asm__ __volatile__("" : "=r"(angle1) : "0"(angle1));
|
||||
__asm__ __volatile__("" : "=r"(angle2) : "0"(angle2));
|
||||
ret1 = func_801803F8(buf, angle1 * 0x10000 >> 0x10, rand() % 4 * -0x10000 + -0x60000, mask);
|
||||
ret2 = func_801803F8(buf, angle2 * 0x10000 >> 0x10, rand() % 4 * -0x10000 + -0x60000, mask);
|
||||
if (ret1 != 0) {
|
||||
@@ -4835,12 +4830,12 @@ extern void func_8012C098(void *param_1);
|
||||
void func_801800C0(arg0)
|
||||
s32 arg0;
|
||||
{
|
||||
register s32 a3 __asm__("$7");
|
||||
register s32 v1 __asm__("$3");
|
||||
register s32 v0 __asm__("$2");
|
||||
register s32 a0r __asm__("$4");
|
||||
register s32 a1r __asm__("$5");
|
||||
register s32 a2r __asm__("$6");
|
||||
s32 a3;
|
||||
register s32 v1 __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 v0;
|
||||
register s32 a0r __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 a1r __asm__("$5"); // !FAKE: pin $5 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 a2r __asm__("$6"); // !FAKE: pin $6 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
a3 = arg0;
|
||||
v1 = *(u16 *)(a3 + 0x70);
|
||||
@@ -5222,7 +5217,7 @@ extern void func_80180C10(s32 a0);
|
||||
extern void func_801292C8(u8 *a0);
|
||||
|
||||
void func_801808F0(s32 arg0) {
|
||||
register s32 s0 __asm__("$16") = arg0;
|
||||
register s32 s0 __asm__("$16") = arg0; // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
func_80180C10(s0);
|
||||
if (*(u16 *)(*(s32 *)(s0 + 0x2C)) == 0) {
|
||||
@@ -5368,8 +5363,8 @@ void func_80180C70(void *a0) {
|
||||
|
||||
extern s32 D_80198E4C;
|
||||
void func_80180CAC(void *a0) {
|
||||
register s32 p __asm__("$3");
|
||||
register s32 q __asm__("$2");
|
||||
s32 p;
|
||||
s32 q;
|
||||
p = *(u16 *)((char *)a0 + 0x2);
|
||||
q = (s32)&D_80198E4C;
|
||||
*(s32 *)((char *)a0 + 0xd0) = q;
|
||||
@@ -5464,9 +5459,9 @@ void func_80180D54(void *a0) {
|
||||
u16 buf[8];
|
||||
s32 ent;
|
||||
u16 saved;
|
||||
register u16 v0 __asm__("$2");
|
||||
register u16 v1 __asm__("$3");
|
||||
register u16 a3 __asm__("$7");
|
||||
u16 v0;
|
||||
register u16 v1 __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register u16 a3 __asm__("$7"); // !FAKE: pin $7 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
func_8002AC00(0xD);
|
||||
if (*(u16 *)((s32)a0 + 0x0) != 0) {
|
||||
@@ -5777,13 +5772,13 @@ void func_801810FC(s32 a0) {
|
||||
v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C);
|
||||
v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50);
|
||||
/* $a0-pinned scopes: rematerialise &D_800AF648 (lui/addiu) before EACH call */
|
||||
{ register void *r4 __asm__("$4"); r4 = &D_800AF648; func_8004914C(r4); }
|
||||
{ register void *r4 __asm__("$4"); r4 = &D_800AF648; func_800491AC(r4); }
|
||||
{ register void *r4 __asm__("$4"); r4 = &D_800AF648; func_8004914C(r4); } // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
{ void *r4; r4 = &D_800AF648; func_800491AC(r4); }
|
||||
RotTransPers((s32)v, (s32)&sxy, &z, &flag);
|
||||
if (flag >= 0 && (u32)((*(u16 *)&sxy + 0x9F) & 0xFFFF) < 0x13F
|
||||
&& (u32)((*((u16 *)&sxy + 1) + 0x77) & 0xFFFF) < 0xEF) {
|
||||
s32 sx; /* screen X, then REUSED as the pan field */
|
||||
register s32 av __asm__("$5"); /* |X| — the one pin that helped */
|
||||
register s32 av __asm__("$5"); /* |X| — the one pin that helped */ // !FAKE: pin $5 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 vol;
|
||||
sx = (s16)*(u16 *)&sxy;
|
||||
av = sx;
|
||||
@@ -5792,7 +5787,7 @@ void func_801810FC(s32 a0) {
|
||||
}
|
||||
vol = ((0xA0 - av) * 0x7F) / 0xA0;
|
||||
/* lever 3: sched1 otherwise hoists the PAN multiply ahead of this one */
|
||||
__asm__("" : "=r"(vol) : "0"(vol));
|
||||
__asm__("" : "=r"(vol) : "0"(vol)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
sx = (sx + 0xA0) / 0x14;
|
||||
if (sx == 0x10) {
|
||||
sx = 0xF;
|
||||
@@ -6028,20 +6023,20 @@ void func_801816F0(s32 a0) {
|
||||
L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48);
|
||||
L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C);
|
||||
L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50);
|
||||
{ register void *r4 __asm__("$4"); r4 = &D_800AF648; func_8004914C(r4); }
|
||||
{ register void *r4 __asm__("$4"); r4 = &D_800AF648; func_800491AC(r4); }
|
||||
{ register void *r4 __asm__("$4"); r4 = &D_800AF648; func_8004914C(r4); } // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
{ void *r4; r4 = &D_800AF648; func_800491AC(r4); }
|
||||
RotTransPers((s32)L.v, (s32)L.sxy, &L.z, &L.flag);
|
||||
if (L.flag >= 0 && (u32)((L.sxy[0] + 0x9F) & 0xFFFF) < 0x13F
|
||||
&& (u32)((L.sxy[1] + 0x77) & 0xFFFF) < 0xEF) {
|
||||
s32 x = (s16)L.sxy[0];
|
||||
register s32 ax __asm__("$5");
|
||||
register s32 ax __asm__("$5"); // !FAKE: pin $5 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 vol;
|
||||
ax = x;
|
||||
if (x < 0) {
|
||||
ax = -x;
|
||||
}
|
||||
vol = ((0xA0 - ax) * 0x7F) / 0xA0;
|
||||
__asm__("" : "=r"(vol) : "0"(vol));
|
||||
__asm__("" : "=r"(vol) : "0"(vol)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
x = (x + 0xA0) / 0x14;
|
||||
if (x == 0x10) {
|
||||
x = 0xF;
|
||||
@@ -6173,8 +6168,8 @@ void func_80181B00(s32 a0) {
|
||||
/* $a0-pinned scopes force the &D_800AF648 constant to be rematerialised
|
||||
* per call (cookbook §88a); otherwise CSE parks it in a callee-saved reg
|
||||
* and mis-seats every register in the function. */
|
||||
{ register void *r4 __asm__("$4"); r4 = &D_800AF648; func_8004914C(r4); }
|
||||
{ register void *r4 __asm__("$4"); r4 = &D_800AF648; func_800491AC(r4); }
|
||||
{ register void *r4 __asm__("$4"); r4 = &D_800AF648; func_8004914C(r4); } // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
{ void *r4; r4 = &D_800AF648; func_800491AC(r4); }
|
||||
RotTransPers((s32)L.v, (s32)L.sxy, &L.z, &L.flag);
|
||||
if (L.flag >= 0 && (u32)((L.sxy[0] + 0x9F) & 0xFFFF) < 0x13F
|
||||
&& (u32)((L.sxy[1] + 0x77) & 0xFFFF) < 0xEF) {
|
||||
@@ -6436,9 +6431,9 @@ void func_80182200(void *a0) {
|
||||
extern s32 D_8019C1B8;
|
||||
|
||||
u16 buf[8];
|
||||
register u16 v0 __asm__("$2");
|
||||
register u16 v1 __asm__("$3");
|
||||
register u16 a2 __asm__("$6");
|
||||
u16 v0;
|
||||
register u16 v1 __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register u16 a2 __asm__("$6"); // !FAKE: pin $6 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
v0 = *(u16 *)((s32)a0 + 0x6);
|
||||
*(u16 *)(&buf[0]) = v0;
|
||||
@@ -6518,9 +6513,9 @@ void func_801822E8(void *a0) {
|
||||
extern u8 D_801A8BC8[];
|
||||
extern u8 D_801A96D0[];
|
||||
u16 buf[8];
|
||||
register u16 v0 __asm__("$2");
|
||||
register u16 v1 __asm__("$3");
|
||||
register u16 a2 __asm__("$6");
|
||||
u16 v0;
|
||||
register u16 v1 __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register u16 a2 __asm__("$6"); // !FAKE: pin $6 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
v0 = *(u16 *)((s32)a0 + 0x6);
|
||||
buf[0] = v0;
|
||||
@@ -6635,7 +6630,7 @@ extern s32 func_80131A34(s32 a0, s32 a1);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
|
||||
void func_801825BC(s32 a0) {
|
||||
register s32 s0 __asm__("$16") = a0;
|
||||
s32 s0 = a0;
|
||||
u16 v0 = *(u16 *)(s0 + 0x100);
|
||||
u16 v1 = *(u16 *)(s0 + 0x60);
|
||||
|
||||
@@ -6680,9 +6675,9 @@ void func_80182660(void *a0) {
|
||||
extern char D_801A9B40[];
|
||||
|
||||
u16 buf[8];
|
||||
register u16 v0 __asm__("$2");
|
||||
register u16 v1 __asm__("$3");
|
||||
register u16 a2 __asm__("$6");
|
||||
u16 v0;
|
||||
register u16 v1 __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register u16 a2 __asm__("$6"); // !FAKE: pin $6 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
v0 = *(u16 *)((s32)a0 + 0x6);
|
||||
*(u16 *)(&buf[0]) = v0;
|
||||
@@ -7721,7 +7716,7 @@ void func_80183E68(s32 *a0, s32 a1, s32 a2) {
|
||||
s16 *q;
|
||||
u16 *p;
|
||||
s16 t;
|
||||
register s32 rv __asm__("$2");
|
||||
register s32 rv __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
q = &D_80126CBA;
|
||||
if (*q == 0) {
|
||||
@@ -7740,7 +7735,7 @@ void func_80183E68(s32 *a0, s32 a1, s32 a2) {
|
||||
rv = sp20;
|
||||
*a0 = rv;
|
||||
rv = (s32)a0;
|
||||
__asm__ __volatile__("" : : "r" (rv));
|
||||
__asm__ __volatile__("" : : "r" (rv)); // !FAKE: keepalive — NEEDED DIFFERS (P36 rung B tus9)
|
||||
}
|
||||
|
||||
|
||||
@@ -7764,7 +7759,7 @@ extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
* a hard-reg set that stays where it is written, and the call's arg move degenerates
|
||||
* to a deleted `(set (reg 4) (reg 4))`. */
|
||||
void func_80183F2C(void *a0) {
|
||||
register s32 id __asm__("$4");
|
||||
s32 id;
|
||||
s32 vol;
|
||||
s32 t;
|
||||
|
||||
|
||||
@@ -243,7 +243,7 @@ void func_801287B8(void) {
|
||||
{
|
||||
/* D_801C9A78 read: the target materializes &sym into $a0 then lw 0($a0) (not the folded
|
||||
* lui;lw %lo). volatile forces the rematerialize; the $4 pin forces the a0 allocation. */
|
||||
register volatile s32 *p __asm__("$4") = &D_801C9A78;
|
||||
register volatile s32 *p __asm__("$4") = &D_801C9A78; // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
if (*p == 0) {
|
||||
func_8013BC7C();
|
||||
}
|
||||
@@ -549,17 +549,17 @@ void func_8012956C(void) {
|
||||
extern u8 D_801C9A58;
|
||||
extern u8 D_800AF630[];
|
||||
extern u8 D_800A6518[];
|
||||
register s32 *sp10 __asm__("$21");
|
||||
register u8 *afbase __asm__("$22");
|
||||
register s32 *sp0 __asm__("$23");
|
||||
s32 *sp10;
|
||||
u8 *afbase;
|
||||
s32 *sp0;
|
||||
Ent_956C *base;
|
||||
s32 i;
|
||||
s16 a1;
|
||||
register u32 temp_a3 __asm__("$7");
|
||||
register u32 arg0 __asm__("$4");
|
||||
register u32 s __asm__("$2");
|
||||
register u32 s2 __asm__("$3");
|
||||
register u32 t6 __asm__("$8");
|
||||
register u32 temp_a3 __asm__("$7"); // !FAKE: pin $7 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register u32 arg0 __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
u32 s;
|
||||
register u32 s2 __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
u32 t6;
|
||||
s32 code;
|
||||
|
||||
sp10 = (s32 *)0x1F800010;
|
||||
@@ -569,7 +569,6 @@ void func_8012956C(void) {
|
||||
return;
|
||||
}
|
||||
base = (Ent_956C *)&D_800B9A78;
|
||||
__asm__("" : "=r"(base) : "0"(base));
|
||||
i = 0;
|
||||
do {
|
||||
s32 idx = i * 8 + 4;
|
||||
@@ -610,7 +609,7 @@ void func_8012956C(void) {
|
||||
D_801C83B0[idx], D_801C83B1[idx], D_801C83B2[idx]);
|
||||
goto next;
|
||||
do_default:
|
||||
__asm__("");
|
||||
__asm__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
arg0 = D_801C9A58;
|
||||
s = base->f40;
|
||||
temp_a3 = base->f38;
|
||||
@@ -1117,9 +1116,9 @@ s32 func_8012C890(s32 a0, s32 a1, s32 a2) {
|
||||
*(s32 *)(dst + 0xDC) = v10;
|
||||
|
||||
{
|
||||
register u16 *pc __asm__("$3");
|
||||
u16 *pc;
|
||||
pc = &(*(u16 *)&D_801270C4);
|
||||
*(u16 *)(dst + 0x36) = *(volatile u16 *)pc;
|
||||
*(u16 *)(dst + 0x36) = *(u16 *)pc;
|
||||
count = *(volatile u16 *)pc + 1;
|
||||
*pc = count;
|
||||
if (count == 0) {
|
||||
@@ -1471,13 +1470,13 @@ void func_8012E364(s32 arg0_)
|
||||
extern s16 D_80126CE0;
|
||||
extern s32 D_801C83C0;
|
||||
extern s32 D_801C83C4;
|
||||
register s32 arg0 __asm__("$6");
|
||||
register s32 prev __asm__("$5");
|
||||
register u16 flags __asm__("$2");
|
||||
s32 arg0;
|
||||
register s32 prev __asm__("$5"); // !FAKE: pin $5 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register u16 flags __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 a;
|
||||
s32 diff;
|
||||
s32 v;
|
||||
register s32 d __asm__("$2");
|
||||
register s32 d __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 spd;
|
||||
s32 e1;
|
||||
s32 e2;
|
||||
@@ -2128,9 +2127,9 @@ void func_80130D48(s32 arg0)
|
||||
{
|
||||
extern s32 func_80131CF4(s32);
|
||||
|
||||
register s16 *tbl __asm__("$16");
|
||||
register s32 pa __asm__("$18") = arg0;
|
||||
register u8 *p __asm__("$19") = D_80078E78;
|
||||
s16 *tbl;
|
||||
s32 pa = arg0;
|
||||
register u8 *p __asm__("$19") = D_80078E78; // !FAKE: pin $19 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 s1v;
|
||||
s32 call_a0;
|
||||
s32 call_a1;
|
||||
@@ -2170,7 +2169,7 @@ void func_80130D48(s32 arg0)
|
||||
} else if ((a >> 1) >= b) {
|
||||
s1v += 6;
|
||||
}
|
||||
{ register s32 v1 __asm__("$3"); register s8 *bp __asm__("$2"); v1 = s1v * 2; bp = (s8 *)D_8018401C; tbl = (s16 *)(bp + v1); }
|
||||
{ register s32 v1 __asm__("$3"); s8 *bp; v1 = s1v * 2; bp = (s8 *)D_8018401C; tbl = (s16 *)(bp + v1); } // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
r = rand() % 100;
|
||||
cnt = 0;
|
||||
@@ -2201,7 +2200,7 @@ void func_80130D48(s32 arg0)
|
||||
}
|
||||
}
|
||||
}
|
||||
{ register s32 v1 __asm__("$3"); register s8 *bp __asm__("$2"); v1 = s1v * 2; bp = (s8 *)D_80184084; tbl = (s16 *)(bp + v1); }
|
||||
{ register s32 v1 __asm__("$3"); s8 *bp; v1 = s1v * 2; bp = (s8 *)D_80184084; tbl = (s16 *)(bp + v1); } // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s1v = 0x32;
|
||||
break;
|
||||
}
|
||||
@@ -2217,7 +2216,7 @@ void func_80130D48(s32 arg0)
|
||||
}
|
||||
}
|
||||
}
|
||||
{ register s32 v1 __asm__("$3"); register s8 *bp __asm__("$2"); v1 = s1v * 2; bp = (s8 *)D_801840A4; tbl = (s16 *)(bp + v1); }
|
||||
{ register s32 v1 __asm__("$3"); s8 *bp; v1 = s1v * 2; bp = (s8 *)D_801840A4; tbl = (s16 *)(bp + v1); } // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s1v = 0x33;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -853,8 +853,8 @@ void func_801397B0(s32 arg0)
|
||||
extern u8 D_800A6518[];
|
||||
extern u8 D_80184254;
|
||||
extern u8 D_80184298;
|
||||
register u8 *e __asm__("$7");
|
||||
register s32 off __asm__("$4");
|
||||
u8 *e;
|
||||
register s32 off __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 buf[12];
|
||||
u8 *b164;
|
||||
u8 *b1A8;
|
||||
@@ -951,7 +951,7 @@ void func_80139BE0(s32 a0)
|
||||
int h = *(unsigned short *)(a0 + 0x18);
|
||||
unsigned int idx;
|
||||
|
||||
__asm__("" : "=r"(t) : "0"(t));
|
||||
__asm__("" : "=r"(t) : "0"(t)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
idx = (unsigned char)t;
|
||||
if (h < 7) {
|
||||
if (h >= 2) {
|
||||
@@ -1200,12 +1200,12 @@ void func_8013B274(s32 a0, s32 a1, void *a2)
|
||||
"swc2 $27, 8(%0)\n"
|
||||
: : "r"((u8 *)L + 0x18) : "memory");
|
||||
|
||||
*(s16 *)(p + 8) = *(volatile s32 *)((u8 *)L + 8);
|
||||
*(s16 *)(p + 0xA) = *(volatile s32 *)((u8 *)L + 0xC);
|
||||
*(s16 *)(p + 0x10) = *(volatile s32 *)((u8 *)L + 8) + *(volatile s32 *)((u8 *)L + 0x18);
|
||||
*(s16 *)(p + 8) = *(s32 *)((u8 *)L + 8);
|
||||
*(s16 *)(p + 0xA) = *(s32 *)((u8 *)L + 0xC);
|
||||
*(s16 *)(p + 0x10) = *(volatile s32 *)((u8 *)L + 8) + *(s32 *)((u8 *)L + 0x18);
|
||||
*(s16 *)(p + 0x12) = *(volatile s32 *)((u8 *)L + 0xC);
|
||||
*(s16 *)(p + 0x18) = *(volatile s32 *)((u8 *)L + 8);
|
||||
*(s16 *)(p + 0x1A) = *(volatile s32 *)((u8 *)L + 0xC) + *(volatile s32 *)((u8 *)L + 0x1C);
|
||||
*(s16 *)(p + 0x1A) = *(volatile s32 *)((u8 *)L + 0xC) + *(s32 *)((u8 *)L + 0x1C);
|
||||
*(s16 *)(p + 0x20) = *(volatile s32 *)((u8 *)L + 8) + *(volatile s32 *)((u8 *)L + 0x18);
|
||||
*(s16 *)(p + 0x22) = *(volatile s32 *)((u8 *)L + 0xC) + *(volatile s32 *)((u8 *)L + 0x1C);
|
||||
|
||||
|
||||
@@ -1313,9 +1313,9 @@ extern void func_80147D38(s32 a0, s32 a1, s32 a2, s32 a3, void * a4);
|
||||
extern void func_80147E44(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
extern void func_80147F78(s32 arg0, s32 arg1, s32 arg2, s32 arg3);
|
||||
extern void func_80147F50(s32 arg0);
|
||||
extern volatile s32 D_80127090;
|
||||
extern volatile s32 D_80127094;
|
||||
extern volatile s32 D_80127098;
|
||||
extern s32 D_80127090;
|
||||
extern s32 D_80127094;
|
||||
extern s32 D_80127098;
|
||||
extern void func_80147F78(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
extern void func_80148038(s32 a0, s32 a1);
|
||||
extern s32 csqrt(s32 a0);
|
||||
|
||||
@@ -1319,9 +1319,9 @@ extern void func_80147D38(s32 a0, s32 a1, s32 a2, s32 a3, void * a4);
|
||||
extern void func_80147E44(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
extern void func_80147F78(s32 arg0, s32 arg1, s32 arg2, s32 arg3);
|
||||
extern void func_80147F50(s32 arg0);
|
||||
extern volatile s32 D_80127090;
|
||||
extern volatile s32 D_80127094;
|
||||
extern volatile s32 D_80127098;
|
||||
extern s32 D_80127090;
|
||||
extern s32 D_80127094;
|
||||
extern s32 D_80127098;
|
||||
extern void func_80147F78(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
extern void func_80148038(s32 a0, s32 a1);
|
||||
extern s32 csqrt(s32 a0);
|
||||
|
||||
@@ -1313,9 +1313,9 @@ extern void func_80147D38(s32 a0, s32 a1, s32 a2, s32 a3, void * a4);
|
||||
extern void func_80147E44(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
extern void func_80147F78(s32 arg0, s32 arg1, s32 arg2, s32 arg3);
|
||||
extern void func_80147F50(s32 arg0);
|
||||
extern volatile s32 D_80127090;
|
||||
extern volatile s32 D_80127094;
|
||||
extern volatile s32 D_80127098;
|
||||
extern s32 D_80127090;
|
||||
extern s32 D_80127094;
|
||||
extern s32 D_80127098;
|
||||
extern void func_80147F78(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
extern void func_80148038(s32 a0, s32 a1);
|
||||
extern s32 csqrt(s32 a0);
|
||||
@@ -2226,7 +2226,6 @@ s32 func_801596F0(s32 param_1) {
|
||||
(*(s16 *)&D_800B9AAC) = 0x7fff;
|
||||
D_800B9B00 = 0x7fff;
|
||||
|
||||
__asm__ __volatile__("" ::: "memory");
|
||||
|
||||
for (p = (u32 *)(base + 0x65A8); p < (u32 *)(base + 0x9DA8); p += 0xe) {
|
||||
p[1] |= 0x80000000;
|
||||
|
||||
@@ -1310,9 +1310,9 @@ extern void func_80147D38(s32 a0, s32 a1, s32 a2, s32 a3, void * a4);
|
||||
extern void func_80147E44(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
extern void func_80147F78(s32 arg0, s32 arg1, s32 arg2, s32 arg3);
|
||||
extern void func_80147F50(s32 arg0);
|
||||
extern volatile s32 D_80127090;
|
||||
extern volatile s32 D_80127094;
|
||||
extern volatile s32 D_80127098;
|
||||
extern s32 D_80127090;
|
||||
extern s32 D_80127094;
|
||||
extern s32 D_80127098;
|
||||
extern void func_80147F78(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
extern void func_80148038(s32 a0, s32 a1);
|
||||
extern s32 csqrt(s32 a0);
|
||||
|
||||
@@ -1311,9 +1311,9 @@ extern void func_80147D38(s32 a0, s32 a1, s32 a2, s32 a3, void * a4);
|
||||
extern void func_80147E44(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
extern void func_80147F78(s32 arg0, s32 arg1, s32 arg2, s32 arg3);
|
||||
extern void func_80147F50(s32 arg0);
|
||||
extern volatile s32 D_80127090;
|
||||
extern volatile s32 D_80127094;
|
||||
extern volatile s32 D_80127098;
|
||||
extern s32 D_80127090;
|
||||
extern s32 D_80127094;
|
||||
extern s32 D_80127098;
|
||||
extern void func_80147F78(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
extern void func_80148038(s32 a0, s32 a1);
|
||||
extern s32 csqrt(s32 a0);
|
||||
|
||||
@@ -1392,9 +1392,9 @@ extern void func_80147D38(s32 a0, s32 a1, s32 a2, s32 a3, void * a4);
|
||||
extern void func_80147E44(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
extern void func_80147F78(s32 arg0, s32 arg1, s32 arg2, s32 arg3);
|
||||
extern void func_80147F50(s32 arg0);
|
||||
extern volatile s32 D_80127090;
|
||||
extern volatile s32 D_80127094;
|
||||
extern volatile s32 D_80127098;
|
||||
extern s32 D_80127090;
|
||||
extern s32 D_80127094;
|
||||
extern s32 D_80127098;
|
||||
extern void func_80147F78(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
extern void func_80148038(s32 a0, s32 a1);
|
||||
extern s32 csqrt(s32 a0);
|
||||
@@ -4816,7 +4816,7 @@ int func_8017A3D8(void)
|
||||
return 0;
|
||||
case 100:
|
||||
{
|
||||
register int a __asm__("$4");
|
||||
register int a __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
a = D_801C9678;
|
||||
if (a != -1) {
|
||||
return func_8001AAA0() != 0;
|
||||
|
||||
@@ -1392,9 +1392,9 @@ extern void func_80147D38(s32 a0, s32 a1, s32 a2, s32 a3, void * a4);
|
||||
extern void func_80147E44(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
extern void func_80147F78(s32 arg0, s32 arg1, s32 arg2, s32 arg3);
|
||||
extern void func_80147F50(s32 arg0);
|
||||
extern volatile s32 D_80127090;
|
||||
extern volatile s32 D_80127094;
|
||||
extern volatile s32 D_80127098;
|
||||
extern s32 D_80127090;
|
||||
extern s32 D_80127094;
|
||||
extern s32 D_80127098;
|
||||
extern void func_80147F78(s32 a0, s32 a1, s32 a2, s32 a3);
|
||||
extern void func_80148038(s32 a0, s32 a1);
|
||||
extern s32 csqrt(s32 a0);
|
||||
@@ -3692,8 +3692,8 @@ void func_8017AE2C(s32 param_1) {
|
||||
extern s16 D_801C9A40;
|
||||
extern s16 D_801C9A42;
|
||||
extern s16 D_801C9A4C;
|
||||
register s32 pv __asm__("$16") = param_1;
|
||||
register s16 *g __asm__("$17") = &D_801C9A40;
|
||||
s32 pv = param_1;
|
||||
s16 *g = &D_801C9A40;
|
||||
|
||||
switch (g[0]) {
|
||||
case 0:
|
||||
@@ -3847,8 +3847,8 @@ s32 func_8017B238(s32 param_1, s32 param_2)
|
||||
u8 buf[16];
|
||||
|
||||
if (((u32)param_2) >= 0xB) {
|
||||
register u8 *src __asm__("$16");
|
||||
__asm__ __volatile__("" : "=r"(src) : "0"((u8 *)((u32)param_2)));
|
||||
register u8 *src __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
__asm__ __volatile__("" : "=r"(src) : "0"((u8 *)((u32)param_2))); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
*(Blk8_8017B238 *)&buf[0] = *(Blk8_8017B238 *)src;
|
||||
*(Blk8_8017B238 *)&buf[8] = *(Blk8_8017B238 *)(src + 8);
|
||||
} else {
|
||||
@@ -4002,8 +4002,8 @@ s32 func_8017B614(s32 param_1, s32 param_2)
|
||||
u8 buf[16];
|
||||
|
||||
if (((u32)param_2) >= 0xB) {
|
||||
register u8 *src __asm__("$16");
|
||||
__asm__ __volatile__("" : "=r"(src) : "0"((u8 *)((u32)param_2)));
|
||||
register u8 *src __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
__asm__ __volatile__("" : "=r"(src) : "0"((u8 *)((u32)param_2))); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
*(Blk8_8017B614 *)&buf[0] = *(Blk8_8017B614 *)src;
|
||||
*(Blk8_8017B614 *)&buf[8] = *(Blk8_8017B614 *)(src + 8);
|
||||
} else {
|
||||
@@ -4027,7 +4027,7 @@ s32 func_8017B614(s32 param_1, s32 param_2)
|
||||
v78C = *p78C;
|
||||
v78E = D_801C96B6;
|
||||
v790 = D_801C96B8;
|
||||
__asm__ __volatile__("");
|
||||
__asm__ __volatile__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
D_801C9A70 = 1;
|
||||
D_801C9644 = 0x1E;
|
||||
D_80126990 = v794;
|
||||
@@ -4297,8 +4297,8 @@ void func_8017BC38(int param_1)
|
||||
{
|
||||
|
||||
extern void (*D_801C968C[10])(int);
|
||||
register int i __asm__("$17");
|
||||
register void (**p)(int) __asm__("$16");
|
||||
int i;
|
||||
void (**p)(int);
|
||||
|
||||
i = 0;
|
||||
p = D_801C968C;
|
||||
@@ -5526,7 +5526,7 @@ void func_8017D898(s32 arg0)
|
||||
gte_rtps();
|
||||
gte_stsxy(&sxy[3]);
|
||||
gte_ldv3c(&box[4]);
|
||||
__asm__ volatile (""); /* §45-B live-length slider: +1 static insn splits the 228/230 allocno-priority tie (498/498 -> 497/498) */
|
||||
__asm__ volatile (""); /* §45-B live-length slider: +1 static insn splits the 228/230 allocno-priority tie (498/498 -> 497/498) */ // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
gte_rtpt();
|
||||
gte_stsxy3(&sxy[4], &sxy[5], &sxy[6]);
|
||||
gte_ldv0(&box[7]);
|
||||
@@ -6019,9 +6019,9 @@ void func_8017EBC4(s32 param_1)
|
||||
extern s16 D_8018784C[];
|
||||
Unaligned8 sp10;
|
||||
s32 t;
|
||||
register s32 u __asm__("$3");
|
||||
register s32 u __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 a0;
|
||||
register int zr __asm__("$0");
|
||||
register int zr __asm__("$0"); // !FAKE: pin $0 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
if (func_80148800(&D_80126B58) & 3) {
|
||||
*(u8 *)(param_1 + 5) = (*(u8 *)(param_1 + 5) + 1) & 1;
|
||||
@@ -6213,7 +6213,7 @@ void func_8017F07C(void) {
|
||||
|
||||
void func_8017F1B8(void *a0, s32 a1)
|
||||
{
|
||||
register s32 offset __asm__("$2");
|
||||
s32 offset;
|
||||
s16 buf[4];
|
||||
u16 t0, t1, t2, t3;
|
||||
u16 *ptr;
|
||||
@@ -6263,47 +6263,47 @@ extern void func_8001FC08();
|
||||
|
||||
void func_8017F2B4(s32 param_1_a0)
|
||||
{
|
||||
register s32 param_1 __asm__("$6");
|
||||
register s32 param_1 __asm__("$6"); // !FAKE: pin $6 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 base;
|
||||
s32 diff;
|
||||
s32 quot;
|
||||
register u8 val __asm__("$4");
|
||||
register u8 *p __asm__("$3");
|
||||
register s32 negc __asm__("$5");
|
||||
register u8 lo __asm__("$4");
|
||||
register u8 hi __asm__("$2");
|
||||
u8 val;
|
||||
u8 *p;
|
||||
s32 negc;
|
||||
u8 lo;
|
||||
register u8 hi __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
param_1 = param_1_a0;
|
||||
|
||||
if (*(s16 *)(param_1 + 0xA) < 0xC0) {
|
||||
diff = 0xC0 - *(s16 *)(param_1 + 0xA);
|
||||
quot = (diff * 63) / 0xC0;
|
||||
__asm__("addiu %0, %1, 0x50" : "=r"(val) : "r"(quot));
|
||||
__asm__("addiu %0, %1, 0x50" : "=r"(val) : "r"(quot)); // !FAKE: instruction addiu — NEEDED DIFFERS (P36 rung B tus9)
|
||||
if (val >= 0x7F) {
|
||||
val = 0x7F;
|
||||
}
|
||||
|
||||
base = *(s32 *)(*(s32 *)(*(s32 *)(param_1 + 0x20) + 0x24) + 0x0);
|
||||
p = (u8 *)base;
|
||||
__asm__("nop\n\taddiu %0, %1, 0x35" : "=r"(p) : "r"(p));
|
||||
__asm__("nop\n\taddiu %0, %1, 0x35" : "=r"(p) : "r"(p)); // !FAKE: instruction nop — REFUSED instruction `nop` has no C spelling in the table (P36 rung B tus9)
|
||||
*p = val;
|
||||
__asm__("addiu %0, %1, 4" : "=r"(p) : "r"(p));
|
||||
__asm__("addiu %0, %1, 4" : "=r"(p) : "r"(p)); // !FAKE: instruction addiu — NEEDED DIFFERS (P36 rung B tus9)
|
||||
*p = val;
|
||||
__asm__("addiu %0, %1, 0x1C" : "=r"(p) : "r"(p));
|
||||
__asm__("addiu %0, %1, 0x1C" : "=r"(p) : "r"(p)); // !FAKE: instruction addiu — NEEDED DIFFERS (P36 rung B tus9)
|
||||
*p = val;
|
||||
__asm__("addiu %0, %1, 4" : "=r"(p) : "r"(p));
|
||||
__asm__("addiu %0, %1, 4" : "=r"(p) : "r"(p)); // !FAKE: instruction addiu — NEEDED DIFFERS (P36 rung B tus9)
|
||||
*p = val;
|
||||
__asm__("addiu %0, %1, 0x1C" : "=r"(p) : "r"(p));
|
||||
__asm__("addiu %0, %1, 0x1C" : "=r"(p) : "r"(p)); // !FAKE: instruction addiu — NEEDED DIFFERS (P36 rung B tus9)
|
||||
*p = val;
|
||||
__asm__("addiu %0, %1, 4" : "=r"(p) : "r"(p));
|
||||
__asm__("addiu %0, %1, 4" : "=r"(p) : "r"(p)); // !FAKE: instruction addiu — NEEDED DIFFERS (P36 rung B tus9)
|
||||
*p = val;
|
||||
__asm__("addiu %0, %1, 0x1C" : "=r"(p) : "r"(p));
|
||||
p = (s32)p + 0x1C;
|
||||
*p = val;
|
||||
p[4] = val;
|
||||
|
||||
{
|
||||
s32 x = -(s32) * (u16 *)(param_1 + 0xA);
|
||||
__asm__("addu %0, %1, $0" : "=r"(negc) : "r"(x));
|
||||
__asm__("addu %0, %1, $0" : "=r"(negc) : "r"(x)); // !FAKE: instruction addu — NEEDED DIFFERS (P36 rung B tus9)
|
||||
if ((s16)x > 0) {
|
||||
negc = 0;
|
||||
}
|
||||
@@ -6313,26 +6313,26 @@ void func_8017F2B4(s32 param_1_a0)
|
||||
s32 t0 = *(s32 *)(param_1 + 0x20);
|
||||
s32 t1 = *(s32 *)(t0 + 0x24);
|
||||
s32 loW, hiW;
|
||||
__asm__ __volatile__("addu %0, %1, $0" : "=r"(loW) : "r"(negc));
|
||||
__asm__ __volatile__("addu %0, %1, $0" : "=r"(loW) : "r"(negc)); // !FAKE: instruction addu — NEEDED DIFFERS (P36 rung B tus9)
|
||||
base = *(s32 *)(t1 + 0x0);
|
||||
__asm__ __volatile__("srl %0, %1, 8" : "=r"(hiW) : "r"(negc));
|
||||
__asm__ __volatile__("srl %0, %1, 8" : "=r"(hiW) : "r"(negc)); // !FAKE: instruction srl — NEEDED DIFFERS (P36 rung B tus9)
|
||||
lo = (u8)loW;
|
||||
hi = (u8)hiW;
|
||||
}
|
||||
p = (u8 *)base;
|
||||
__asm__("addiu %0, %1, 0xCA" : "=r"(p) : "r"(p));
|
||||
__asm__("addiu %0, %1, 0xCA" : "=r"(p) : "r"(p)); // !FAKE: instruction addiu — NEEDED DIFFERS (P36 rung B tus9)
|
||||
*p = lo;
|
||||
__asm__("addiu %0, %1, 1" : "=r"(p) : "r"(p));
|
||||
__asm__("addiu %0, %1, 1" : "=r"(p) : "r"(p)); // !FAKE: instruction addiu — NEEDED DIFFERS (P36 rung B tus9)
|
||||
*p = hi;
|
||||
__asm__("addiu %0, %1, 0x17" : "=r"(p) : "r"(p));
|
||||
__asm__("addiu %0, %1, 0x17" : "=r"(p) : "r"(p)); // !FAKE: instruction addiu — NEEDED DIFFERS (P36 rung B tus9)
|
||||
*p = lo;
|
||||
__asm__("addiu %0, %1, 1" : "=r"(p) : "r"(p));
|
||||
__asm__("addiu %0, %1, 1" : "=r"(p) : "r"(p)); // !FAKE: instruction addiu — NEEDED DIFFERS (P36 rung B tus9)
|
||||
*p = hi;
|
||||
__asm__("addiu %0, %1, 0xF" : "=r"(p) : "r"(p));
|
||||
__asm__("addiu %0, %1, 0xF" : "=r"(p) : "r"(p)); // !FAKE: instruction addiu — NEEDED DIFFERS (P36 rung B tus9)
|
||||
*p = lo;
|
||||
__asm__("addiu %0, %1, 1" : "=r"(p) : "r"(p));
|
||||
__asm__("addiu %0, %1, 1" : "=r"(p) : "r"(p)); // !FAKE: instruction addiu — NEEDED DIFFERS (P36 rung B tus9)
|
||||
*p = hi;
|
||||
__asm__("addiu %0, %1, 0xF" : "=r"(p) : "r"(p));
|
||||
p = (s32)p + 0xF;
|
||||
*p = lo;
|
||||
p[1] = hi;
|
||||
|
||||
@@ -6619,9 +6619,9 @@ void func_8017F844(void *a0) {
|
||||
u16 buf[8];
|
||||
s32 ent;
|
||||
u16 saved;
|
||||
register u16 v0 __asm__("$2");
|
||||
register u16 v1 __asm__("$3");
|
||||
register u16 a3 __asm__("$7");
|
||||
u16 v0;
|
||||
register u16 v1 __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register u16 a3 __asm__("$7"); // !FAKE: pin $7 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
func_8002AC00(0xD);
|
||||
if (*(u16 *)((s32)a0 + 0x0) != 0) {
|
||||
@@ -6944,13 +6944,13 @@ void func_8017FBEC(s32 a0) {
|
||||
v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C);
|
||||
v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50);
|
||||
/* $a0-pinned scopes: rematerialise &D_800AF648 (lui/addiu) before EACH call */
|
||||
{ register void *r4 __asm__("$4"); r4 = &D_800AF648; func_8004914C(r4); }
|
||||
{ register void *r4 __asm__("$4"); r4 = &D_800AF648; func_800491AC(r4); }
|
||||
{ register void *r4 __asm__("$4"); r4 = &D_800AF648; func_8004914C(r4); } // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
{ void *r4; r4 = &D_800AF648; func_800491AC(r4); }
|
||||
RotTransPers((s32)v, (s32)&sxy, &z, &flag);
|
||||
if (flag >= 0 && (u32)((*(u16 *)&sxy + 0x9F) & 0xFFFF) < 0x13F
|
||||
&& (u32)((*((u16 *)&sxy + 1) + 0x77) & 0xFFFF) < 0xEF) {
|
||||
s32 sx; /* screen X, then REUSED as the pan field */
|
||||
register s32 av __asm__("$5"); /* |X| — the one pin that helped */
|
||||
register s32 av __asm__("$5"); /* |X| — the one pin that helped */ // !FAKE: pin $5 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 vol;
|
||||
sx = (s16)*(u16 *)&sxy;
|
||||
av = sx;
|
||||
@@ -6959,7 +6959,7 @@ void func_8017FBEC(s32 a0) {
|
||||
}
|
||||
vol = ((0xA0 - av) * 0x7F) / 0xA0;
|
||||
/* lever 3: sched1 otherwise hoists the PAN multiply ahead of this one */
|
||||
__asm__("" : "=r"(vol) : "0"(vol));
|
||||
__asm__("" : "=r"(vol) : "0"(vol)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
sx = (sx + 0xA0) / 0x14;
|
||||
if (sx == 0x10) {
|
||||
sx = 0xF;
|
||||
@@ -7213,20 +7213,20 @@ void func_801801E0(s32 a0) {
|
||||
L.v[0] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x48);
|
||||
L.v[1] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x4C);
|
||||
L.v[2] = *(s32 *)(*(s32 *)(a0 + 0x20) + 0x50);
|
||||
{ register void *r4 __asm__("$4"); r4 = &D_800AF648; func_8004914C(r4); }
|
||||
{ register void *r4 __asm__("$4"); r4 = &D_800AF648; func_800491AC(r4); }
|
||||
{ register void *r4 __asm__("$4"); r4 = &D_800AF648; func_8004914C(r4); } // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
{ void *r4; r4 = &D_800AF648; func_800491AC(r4); }
|
||||
RotTransPers((s32)L.v, (s32)L.sxy, &L.z, &L.flag);
|
||||
if (L.flag >= 0 && (u32)((L.sxy[0] + 0x9F) & 0xFFFF) < 0x13F
|
||||
&& (u32)((L.sxy[1] + 0x77) & 0xFFFF) < 0xEF) {
|
||||
s32 x = (s16)L.sxy[0];
|
||||
register s32 ax __asm__("$5");
|
||||
register s32 ax __asm__("$5"); // !FAKE: pin $5 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 vol;
|
||||
ax = x;
|
||||
if (x < 0) {
|
||||
ax = -x;
|
||||
}
|
||||
vol = ((0xA0 - ax) * 0x7F) / 0xA0;
|
||||
__asm__("" : "=r"(vol) : "0"(vol));
|
||||
__asm__("" : "=r"(vol) : "0"(vol)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
x = (x + 0xA0) / 0x14;
|
||||
if (x == 0x10) {
|
||||
x = 0xF;
|
||||
@@ -7376,8 +7376,8 @@ void func_801805F0(s32 a0) {
|
||||
/* $a0-pinned scopes force the &D_800AF648 constant to be rematerialised
|
||||
* per call (cookbook §88a); otherwise CSE parks it in a callee-saved reg
|
||||
* and mis-seats every register in the function. */
|
||||
{ register void *r4 __asm__("$4"); r4 = &D_800AF648; func_8004914C(r4); }
|
||||
{ register void *r4 __asm__("$4"); r4 = &D_800AF648; func_800491AC(r4); }
|
||||
{ register void *r4 __asm__("$4"); r4 = &D_800AF648; func_8004914C(r4); } // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
{ void *r4; r4 = &D_800AF648; func_800491AC(r4); }
|
||||
RotTransPers((s32)L.v, (s32)L.sxy, &L.z, &L.flag);
|
||||
if (L.flag >= 0 && (u32)((L.sxy[0] + 0x9F) & 0xFFFF) < 0x13F
|
||||
&& (u32)((L.sxy[1] + 0x77) & 0xFFFF) < 0xEF) {
|
||||
@@ -7640,9 +7640,9 @@ void func_80180CF0(void *a0) {
|
||||
extern s32 D_801A39E8;
|
||||
|
||||
u16 buf[8];
|
||||
register u16 v0 __asm__("$2");
|
||||
register u16 v1 __asm__("$3");
|
||||
register u16 a2 __asm__("$6");
|
||||
u16 v0;
|
||||
register u16 v1 __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register u16 a2 __asm__("$6"); // !FAKE: pin $6 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
v0 = *(u16 *)((s32)a0 + 0x6);
|
||||
*(u16 *)(&buf[0]) = v0;
|
||||
@@ -7722,9 +7722,9 @@ void func_80180DD8(void *a0) {
|
||||
extern u8 D_801B03F8[];
|
||||
extern u8 D_801B0F00[];
|
||||
u16 buf[8];
|
||||
register u16 v0 __asm__("$2");
|
||||
register u16 v1 __asm__("$3");
|
||||
register u16 a2 __asm__("$6");
|
||||
u16 v0;
|
||||
register u16 v1 __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register u16 a2 __asm__("$6"); // !FAKE: pin $6 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
v0 = *(u16 *)((s32)a0 + 0x6);
|
||||
buf[0] = v0;
|
||||
@@ -7846,7 +7846,7 @@ extern s32 func_80131A34(s32 a0, s32 a1);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
|
||||
void func_801810AC(s32 a0) {
|
||||
register s32 s0 __asm__("$16") = a0;
|
||||
s32 s0 = a0;
|
||||
u16 v0 = *(u16 *)(s0 + 0x100);
|
||||
u16 v1 = *(u16 *)(s0 + 0x60);
|
||||
|
||||
@@ -7894,9 +7894,9 @@ void func_80181150(void *a0) {
|
||||
extern char D_801B1370[];
|
||||
|
||||
u16 buf[8];
|
||||
register u16 v0 __asm__("$2");
|
||||
register u16 v1 __asm__("$3");
|
||||
register u16 a2 __asm__("$6");
|
||||
u16 v0;
|
||||
register u16 v1 __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register u16 a2 __asm__("$6"); // !FAKE: pin $6 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
v0 = *(u16 *)((s32)a0 + 0x6);
|
||||
*(u16 *)(&buf[0]) = v0;
|
||||
|
||||
@@ -2833,7 +2833,7 @@ extern void func_80154274(s32 *a0, s32 a1);
|
||||
extern void func_80154A74(s32 a0, s32 a1);
|
||||
|
||||
void func_8017CE3C(s32 a0) {
|
||||
register s32 s0 asm("$16") = a0;
|
||||
s32 s0 = a0;
|
||||
s32 v0;
|
||||
s32 v1;
|
||||
s32 a3;
|
||||
@@ -2910,7 +2910,6 @@ void func_8017CEF4(s32 a0) {
|
||||
if (*(s32 *)(a0 + 0x234) == 0) {
|
||||
if (*(s32 *)(a0 + 0x34) >= 0) {
|
||||
if ((*(u16 *)(a0 + 0xB8) & 0x8000) != 0) {
|
||||
__asm__ __volatile__("" ::: "memory");
|
||||
*(u16 *)(a0 + 0xB8) = *(u16 *)(a0 + 0xBA);
|
||||
*(s32 *)(a0 + 0x234) = *(s32 *)(a0 + 0x234) + 1;
|
||||
}
|
||||
@@ -2996,7 +2995,7 @@ extern void func_80154274(s32 *a0, s32 a1);
|
||||
|
||||
void func_8017D158(s32 a0)
|
||||
{
|
||||
register s32 s0 asm("$16") = a0;
|
||||
s32 s0 = a0;
|
||||
s32 a2, a3;
|
||||
|
||||
func_80149020((s32 *)s0);
|
||||
@@ -3072,7 +3071,7 @@ extern s32 D_8018888C;
|
||||
|
||||
void func_8017D2D0(s32 a0) {
|
||||
s32 a1;
|
||||
volatile s32 pad[12];
|
||||
s32 pad[12];
|
||||
|
||||
a1 = func_800D21C4(a0, (s32)&D_8018888C, 0x2B);
|
||||
*(s32 *)(a0 + 0x20) = a1;
|
||||
@@ -3182,9 +3181,9 @@ extern void func_80149374(s32 a0, s32 a1);
|
||||
|
||||
void func_8017D744(s32 *a0)
|
||||
{
|
||||
register s32 t1 asm("$6");
|
||||
register s32 t2 asm("$2");
|
||||
register s32 t3 asm("$3");
|
||||
s32 t1;
|
||||
s32 t2;
|
||||
s32 t3;
|
||||
s32 x;
|
||||
|
||||
t1 = a0[4];
|
||||
@@ -3524,7 +3523,7 @@ s32 func_8017DD60(void *a0) {
|
||||
u16 global;
|
||||
s32 result;
|
||||
s32 cmp;
|
||||
register s32 zr __asm__("$0");
|
||||
register s32 zr __asm__("$0"); // !FAKE: pin $0 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
val = *(u8 *)((s32)a0 + 3) - 2;
|
||||
*(u8 *)((s32)a0 + 3) = val;
|
||||
@@ -3533,7 +3532,7 @@ s32 func_8017DD60(void *a0) {
|
||||
goto ret1;
|
||||
}
|
||||
|
||||
__asm__ __volatile__("" : "=r"(val) : "0"(val));
|
||||
__asm__ __volatile__("" : "=r"(val) : "0"(val)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
global = D_800B99DA;
|
||||
|
||||
@@ -3907,9 +3906,8 @@ int func_8017E5AC(int param_1)
|
||||
{
|
||||
|
||||
extern unsigned char D_80188C88[];
|
||||
register int iVar1 __asm__("$4");
|
||||
int iVar1;
|
||||
iVar1 = *(int *)(D_80188C88 + param_1 * 4);
|
||||
__asm__ __volatile__("" ::: "memory");
|
||||
func_8013B7F4((void *)iVar1, 0);
|
||||
}
|
||||
|
||||
@@ -4110,8 +4108,8 @@ void func_8017E8CC(int param_1)
|
||||
|
||||
void func_8017E9B0(s32 *a0) {
|
||||
s32 *s1 = *(s32 **)((s32)a0 + 0x20);
|
||||
register s32 v0 asm("$2");
|
||||
register s32 v1 asm("$3");
|
||||
s32 v0;
|
||||
register s32 v1 asm("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
if (func_80146E98((s32)a0) != 0) {
|
||||
v1 = 0x7FFFFFFF;
|
||||
@@ -4481,8 +4479,8 @@ void func_8017EE68(int param_1)
|
||||
{
|
||||
|
||||
extern unsigned char D_801B9014[];
|
||||
register int iVar3 __asm__("$16");
|
||||
register int iVar3b __asm__("$19");
|
||||
register int iVar3 __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register int iVar3b __asm__("$19"); // !FAKE: pin $19 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
int iVar5;
|
||||
short sVar2;
|
||||
|
||||
@@ -4569,8 +4567,8 @@ void func_8017F02C(s32 *param_1)
|
||||
|
||||
extern s8 D_801B9000;
|
||||
int new_var;
|
||||
register s32 p __asm__("$4");
|
||||
register s32 r __asm__("$3");
|
||||
register s32 p __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 r;
|
||||
p = (s32) (&D_801B9000);
|
||||
r = param_1[0x2c / 4];
|
||||
new_var = r;
|
||||
@@ -5470,7 +5468,6 @@ void func_80180438(void *a0) {
|
||||
|
||||
if (func_8012C044((s32)s0)) {
|
||||
*(s16 *)((u8 *)s0 + 0x100) = 1;
|
||||
__asm__ __volatile__("" ::: "memory");
|
||||
*(s16 *)((u8 *)s0 + 0x76) = 0;
|
||||
if (*(s16 *)((u8 *)s0 + 0x100) == 0) {
|
||||
func_8002A04C((s32)s0);
|
||||
@@ -5620,8 +5617,8 @@ extern void func_80016714(void *a0, s32 a1);
|
||||
extern s32 func_8012BCCC(s32 a0);
|
||||
|
||||
void func_8018083C(s32 a0) {
|
||||
register s32 result __asm__("$2");
|
||||
register s32 threshold __asm__("$3");
|
||||
s32 result;
|
||||
s32 threshold;
|
||||
|
||||
if (*(s16 *)(a0 + 0x70) & 0x8000) {
|
||||
result = func_8012BCCC(a0);
|
||||
@@ -5652,7 +5649,7 @@ extern s32 func_8018011C(s32 a0, s32 a1, s32 a2);
|
||||
|
||||
void func_801808E0(s32 param_1)
|
||||
{
|
||||
register s32 d __asm__("$4");
|
||||
register s32 d __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 a1, a2;
|
||||
|
||||
if (((s32 (*)(void))func_8012BEE8)() == 1) {
|
||||
@@ -7661,7 +7658,7 @@ s32 func_8018317C(s32 a0) {
|
||||
* instead of the target's `addiu $a1`. -fno-schedule-insns{,2} alone does
|
||||
* not reproduce the target order -- only both together do, hence a real
|
||||
* barrier rather than a statement reorder. */
|
||||
__asm__ __volatile__("" ::: "memory");
|
||||
__asm__ __volatile__("" ::: "memory"); // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9)
|
||||
((s32 (*)())func_801832F8)(a0, 0x7F3);
|
||||
return s2;
|
||||
}
|
||||
@@ -7697,7 +7694,7 @@ s32 func_801832F8(s32 a0, u16 a1) {
|
||||
sp10[2] = *(u16 *)(a0 + 0xE);
|
||||
((void (*)(s16 *, s16 *))func_8012EFB8)(sp10, sp18);
|
||||
sp18[2] = 0;
|
||||
__asm__("" : "=r"(pan) : "0"(pan));
|
||||
__asm__("" : "=r"(pan) : "0"(pan)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
v = sp18[0];
|
||||
if (v < 0) v = -v;
|
||||
@@ -8598,7 +8595,6 @@ void func_801843D8(void *a0)
|
||||
*(u32 *)(pkt + 4) = *(u32 *)((u8 *)a0 + 0x20);
|
||||
*(u32 *)(pkt + 0xC) = *(u32 *)((u8 *)a0 + 0x24);
|
||||
*(u32 *)(pkt + 0x14) = *(u32 *)((u8 *)a0 + 0x28);
|
||||
__asm__ volatile ("");
|
||||
*(u32 *)(pkt + 0x1C) = *(u32 *)((u8 *)a0 + 0x2C);
|
||||
pkt[3] = 8;
|
||||
pkt[7] = 0x3A;
|
||||
|
||||
@@ -3433,7 +3433,7 @@ void func_80187630(void *a0, s32 a1, s32 a2)
|
||||
|
||||
extern u8 D_80078EB1;
|
||||
s32 v0;
|
||||
register s32 v1 __asm__("$3");
|
||||
register s32 v1 __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
v0 = D_80078EB1;
|
||||
if (!(v0 < a1)) {
|
||||
|
||||
@@ -3122,9 +3122,9 @@ void func_80188830(void *a0) {
|
||||
extern void *D_801C0DB0[];
|
||||
extern s32 D_801C0D80;
|
||||
extern s32 D_801C0D98;
|
||||
register void *s2 __asm__("$18") = a0;
|
||||
register u8 *p __asm__("$17");
|
||||
register void *s0 __asm__("$16");
|
||||
void *s2 = a0;
|
||||
register u8 *p __asm__("$17"); // !FAKE: pin $17 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
void *s0;
|
||||
s32 v0;
|
||||
s16 v1;
|
||||
|
||||
@@ -3375,10 +3375,10 @@ void func_80188BFC(void *a0)
|
||||
{
|
||||
|
||||
extern u8 D_801202A0[];
|
||||
register u8 *s0 __asm__("$16");
|
||||
register s32 s1 __asm__("$17");
|
||||
register u8 *s3 __asm__("$19");
|
||||
register u8 *s4 __asm__("$20");
|
||||
u8 *s0;
|
||||
s32 s1;
|
||||
u8 *s3;
|
||||
u8 *s4;
|
||||
u8 *s2;
|
||||
u8 *v0;
|
||||
u8 *v1;
|
||||
@@ -3490,7 +3490,7 @@ s32 func_80188D68(void *a0) {
|
||||
in[2] = *(u16 *)(p + 0xE);
|
||||
func_8012F2E8((s32)a0, (s32)in, (s32)out);
|
||||
if (func_8012CB64((s32)out, -0xA0, 0x80, -0xC0, 0x80) != 0) {
|
||||
__asm__("");
|
||||
__asm__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
@@ -3535,7 +3535,7 @@ void func_80188ED0(void) {
|
||||
|
||||
extern s32 D_801C0BB8;
|
||||
extern s32 D_801EF3EC;
|
||||
register s32 a0 __asm__("$4");
|
||||
s32 a0;
|
||||
u16 buffer[4];
|
||||
s32 val;
|
||||
s32 *p;
|
||||
|
||||
@@ -3292,7 +3292,7 @@ void func_80189030(void) {
|
||||
for (i = 0; i < 6; i++) {
|
||||
D_801EF254[i] = 0;
|
||||
}
|
||||
__asm__ __volatile__("" :: "r"(p));
|
||||
__asm__ __volatile__("" :: "r"(p)); // !FAKE: keepalive — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
if (D_80115126 == 4) {
|
||||
rec = (u8 *)func_801F2690();
|
||||
@@ -3513,11 +3513,11 @@ void func_801898E4(void)
|
||||
char *d;
|
||||
char *srcA;
|
||||
char *srcB;
|
||||
register char *tmpl __asm__("$17");
|
||||
register s32 count __asm__("$19");
|
||||
register u8 *table __asm__("$20");
|
||||
register s32 descCount __asm__("$19");
|
||||
register u8 *table2 __asm__("$20");
|
||||
char *tmpl;
|
||||
register s32 count __asm__("$19"); // !FAKE: pin $19 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register u8 *table __asm__("$20"); // !FAKE: pin $20 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 descCount __asm__("$19"); // !FAKE: pin $19 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register u8 *table2 __asm__("$20"); // !FAKE: pin $20 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
/* ---- phase 1: default template + 16-row fill ---- */
|
||||
srcA = D_801ED214;
|
||||
@@ -3634,7 +3634,7 @@ void func_801898E4(void)
|
||||
i = 0;
|
||||
if (descCount != 0) {
|
||||
do {
|
||||
register s32 zr __asm__("$0");
|
||||
register s32 zr __asm__("$0"); // !FAKE: pin $0 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 id;
|
||||
|
||||
b = table2[i];
|
||||
|
||||
@@ -3425,10 +3425,10 @@ void func_8018ABAC(void)
|
||||
LATER function in this TU, which blocks a byte-true decl of a different type.
|
||||
Declaration-only move (cookbook §103); the whole-binary byte-gate is the arbiter. */
|
||||
extern u16 D_8011511A;
|
||||
register s16 s0 __asm__("$16");
|
||||
register s32 s1 __asm__("$17");
|
||||
register s32 s2 __asm__("$18");
|
||||
register s32 base __asm__("$19");
|
||||
s16 s0;
|
||||
s32 s1;
|
||||
s32 s2;
|
||||
s32 base;
|
||||
s32 pad[2];
|
||||
(void)&pad;
|
||||
|
||||
@@ -3552,7 +3552,7 @@ s32 func_8018AEE8(void) {
|
||||
u8 bb;
|
||||
u8 m;
|
||||
s16 d;
|
||||
register s32 zr __asm__("$0");
|
||||
register s32 zr __asm__("$0"); // !FAKE: pin $0 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
changed = 0;
|
||||
flags = func_80014ED4(0);
|
||||
@@ -3799,9 +3799,9 @@ void func_8018B238(void) {
|
||||
extern s32 func_8005A600(s32, s32, s32, s32, s32);
|
||||
Panel_S40_8018B238 *w;
|
||||
s32 *ot;
|
||||
register s32 n __asm__("$2"); /* lever 2 */
|
||||
s32 n; /* lever 2 */
|
||||
s32 cnt;
|
||||
register s32 zr __asm__("$0"); /* RC-12 opaque-copy source */
|
||||
register s32 zr __asm__("$0"); /* RC-12 opaque-copy source */ // !FAKE: pin $0 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s16 i;
|
||||
volatile u16 *pbh;
|
||||
|
||||
@@ -3835,7 +3835,7 @@ void func_8018B238(void) {
|
||||
cnt = n;
|
||||
do {
|
||||
if (D_80115158[i].v != 0) {
|
||||
__asm__(""); /* lever 5 */
|
||||
__asm__(""); /* lever 5 */ // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
ot = func_8018B478(ot, w, i);
|
||||
}
|
||||
i++;
|
||||
@@ -3846,13 +3846,13 @@ void func_8018B238(void) {
|
||||
func_8005A600((s32)ot, 0, 0, 0x15, 0);
|
||||
|
||||
/* §36 bitfield-store OT link, exactly as in func_8018BCD4 next door. */
|
||||
pbh = (volatile u16 *)&D_800B9A02;
|
||||
pbh = (u16 *)&D_800B9A02;
|
||||
((W_S40_8018B238 *)ot)->w = 0x02000000;
|
||||
((PTag_S40_8018B238 *)ot)->addr =
|
||||
((PTag_S40_8018B238 *)(D_800AE7BC[*pbh].ot + 2))->addr;
|
||||
((PTag_S40_8018B238 *)(D_800AE7BC[*pbh].ot + 2))->addr = (u32)ot;
|
||||
ot += 10;
|
||||
__asm__ __volatile__("" ::: "memory"); /* lever 6 */
|
||||
__asm__ __volatile__("" ::: "memory"); /* lever 6 */ // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9)
|
||||
D_801151D0 = (s32)ot;
|
||||
}
|
||||
|
||||
@@ -3904,10 +3904,10 @@ extern s32 func_8018B644(void *, s32, s32, s32, s32 *);
|
||||
s32 *func_8018B478(s32 *ot, Panel_8017E978_8018B478 *w0, s16 idx) {
|
||||
|
||||
extern u16 D_8011511A;
|
||||
register Panel_8017E978_8018B478 *w __asm__("$18");
|
||||
register Panel_8017E978_8018B478 *w __asm__("$18"); // !FAKE: pin $18 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
u8 sp18[72];
|
||||
s32 sp60[2];
|
||||
register s32 zr __asm__("$0");
|
||||
register s32 zr __asm__("$0"); // !FAKE: pin $0 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 flag;
|
||||
s32 flag2;
|
||||
s32 flag3;
|
||||
@@ -4007,7 +4007,7 @@ s32 func_8018B644(void *arg0, s32 arg1, s32 arg2, s32 arg3, s32 *arg4) {
|
||||
extern s32 D_8010F468[];
|
||||
extern s32 D_801C12E8;
|
||||
|
||||
register s32 zr __asm__("$0");
|
||||
register s32 zr __asm__("$0"); // !FAKE: pin $0 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 ret;
|
||||
s32 n;
|
||||
s32 mode;
|
||||
|
||||
@@ -3414,7 +3414,7 @@ s32 *func_8018BCD4(out, src, idx, w, col)
|
||||
}
|
||||
|
||||
q = (u16 *)(t * 2 + (s32)src);
|
||||
pbh = (volatile u16 *)&D_800B9A02;
|
||||
pbh = (u16 *)&D_800B9A02;
|
||||
*(s16 *)((u8 *)out + 0x8) = q[0] - 8;
|
||||
*(s16 *)((u8 *)out + 0xA) = q[1];
|
||||
*(s16 *)((u8 *)out + 0x12) = 8;
|
||||
@@ -3443,7 +3443,7 @@ s32 *func_8018BCD4(out, src, idx, w, col)
|
||||
u16 *pb;
|
||||
/* §137/§36: m24 is a 2-insn constant, but the natural allocno order puts j/k ahead
|
||||
* of it and rotates $a2/$a3/$t0. Pinning m24 alone restores the whole rotation. */
|
||||
register u32 m24 __asm__("$6");
|
||||
register u32 m24 __asm__("$6"); // !FAKE: pin $6 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
u32 mhi;
|
||||
s32 vsum;
|
||||
|
||||
@@ -3475,7 +3475,7 @@ s32 *func_8018BCD4(out, src, idx, w, col)
|
||||
y = D_801C11CE + 1;
|
||||
}
|
||||
*(s16 *)((u8 *)out + 0xA) = y;
|
||||
__asm__("" ::: "memory"); /* keeps the y store ahead of the 0x64808080 pair */
|
||||
__asm__("" ::: "memory"); /* keeps the y store ahead of the 0x64808080 pair */ // !FAKE: barrier memory — NEEDED DIFFERS (P36 rung B tus9)
|
||||
*(u32 *)out = 0x04000000;
|
||||
*((u8 *)out + 0xC) = 0x78;
|
||||
*(u32 *)((u8 *)out + 0x4) = 0x64808080;
|
||||
@@ -3486,7 +3486,7 @@ s32 *func_8018BCD4(out, src, idx, w, col)
|
||||
*(s16 *)((u8 *)out + 0x12) = eight;
|
||||
*(u32 *)out = ((*(u32 *)out) & mhi) | (D_800AE7BC[*pb].ot[2] & m24);
|
||||
{
|
||||
register u32 *op __asm__("$4");
|
||||
register u32 *op __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
op = D_800AE7BC[*pb].ot;
|
||||
op[2] = (op[2] & mhi) | (((u32)out) & m24);
|
||||
}
|
||||
@@ -3596,10 +3596,10 @@ s32 func_8018C000(s32 param_1, s16 param_2)
|
||||
|
||||
case 13:
|
||||
{
|
||||
register s32 f13 __asm__("$16");
|
||||
register s32 i13 __asm__("$17");
|
||||
register s32 c13 __asm__("$18");
|
||||
register u8 *q __asm__("$5");
|
||||
register s32 f13 __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 i13;
|
||||
s32 c13;
|
||||
register u8 *q __asm__("$5"); // !FAKE: pin $5 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s16 d;
|
||||
i13 = D_801EF1DC[param_2];
|
||||
c13 = i13 + 0x62;
|
||||
@@ -3614,7 +3614,7 @@ s32 func_8018C000(s32 param_1, s16 param_2)
|
||||
}
|
||||
func_800291A0(c13, f13 | 0x40);
|
||||
func_801898E4();
|
||||
__asm__ __volatile__("" : "=r"(q) : "0"(&D_8011514C));
|
||||
__asm__ __volatile__("" : "=r"(q) : "0"(&D_8011514C)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
d = (s8)q[0] - (s8)q[-0xA];
|
||||
if (d >= 6) {
|
||||
q[-0xA] = q[0] - 5;
|
||||
@@ -3628,15 +3628,15 @@ s32 func_8018C000(s32 param_1, s16 param_2)
|
||||
|
||||
case 14:
|
||||
{
|
||||
register s32 f14 __asm__("$16");
|
||||
register s32 f14 __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 i14;
|
||||
register s32 n14 __asm__("$17");
|
||||
s32 n14;
|
||||
s32 t14;
|
||||
s32 c14;
|
||||
i14 = param_2;
|
||||
t14 = D_801EF298[i14];
|
||||
n14 = t14 + 1;
|
||||
__asm__("" : "=r"(t14) : "0"(t14)); /* stales (plus t14 1) in cse; dead output -> deleted by flow */
|
||||
__asm__("" : "=r"(t14) : "0"(t14)); /* stales (plus t14 1) in cse; dead output -> deleted by flow */ // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
c14 = n14 + 0x62;
|
||||
f14 = ((u8 (*)(s32))func_800291B4)(c14);
|
||||
if ((f14 & 0xF0) != 0xC0) {
|
||||
@@ -3656,10 +3656,10 @@ s32 func_8018C000(s32 param_1, s16 param_2)
|
||||
s32 b10 = D_801EF1D4[param_2];
|
||||
s32 m10;
|
||||
s32 w10;
|
||||
__asm__ __volatile__("" : "=r"(m10) : "0"(b10));
|
||||
__asm__ __volatile__("" : "=r"(m10) : "0"(b10)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
if (m10 < 0x6F) {
|
||||
register s16 slot __asm__("$16");
|
||||
register s16 sraw __asm__("$2");
|
||||
register s16 slot __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s16 sraw __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s16 val;
|
||||
s16 x;
|
||||
if (m10 == 0xA) {
|
||||
@@ -3690,7 +3690,7 @@ s32 func_8018C000(s32 param_1, s16 param_2)
|
||||
return 0;
|
||||
}
|
||||
func_8002D4C8(0x5EE, 0);
|
||||
__asm__("addu %0,%1,$zero" : "=r"(w10) : "r"(b10));
|
||||
__asm__("addu %0,%1,$zero" : "=r"(w10) : "r"(b10)); // !FAKE: instruction addu — NEEDED DIFFERS (P36 rung B tus9)
|
||||
func_800D0F0C(slot, w10);
|
||||
if (w10 == 0xA) {
|
||||
func_801898E4();
|
||||
@@ -3734,12 +3734,12 @@ s32 func_8018C000(s32 param_1, s16 param_2)
|
||||
case 8:
|
||||
{
|
||||
s32 k8;
|
||||
register s32 f8 __asm__("$2");
|
||||
register s32 g8 __asm__("$16");
|
||||
register s32 t8 __asm__("$2");
|
||||
register s32 cv __asm__("$2");
|
||||
s32 f8;
|
||||
register s32 g8 __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 t8 __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 cv __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 p8;
|
||||
register u16 *c __asm__("$3");
|
||||
u16 *c;
|
||||
if ((*(u8 *)D_80115148) != 0) {
|
||||
goto L801899B0;
|
||||
}
|
||||
@@ -3752,7 +3752,7 @@ s32 func_8018C000(s32 param_1, s16 param_2)
|
||||
D_801EF1E0 = (s32)&D_801F10F4;
|
||||
goto bad472;
|
||||
}
|
||||
__asm__ __volatile__("" : "=r"(g8) : "0"(f8));
|
||||
__asm__ __volatile__("" : "=r"(g8) : "0"(f8)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
t8 = g8 & 0x4000;
|
||||
if (t8 != 0) {
|
||||
p8 = ((s32 *)D_801EB520)[k8];
|
||||
@@ -3770,8 +3770,8 @@ s32 func_8018C000(s32 param_1, s16 param_2)
|
||||
|
||||
case 15:
|
||||
{
|
||||
register u16 f15 __asm__("$16");
|
||||
register s32 t15 __asm__("$2");
|
||||
register u16 f15 __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 t15 __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 c15;
|
||||
s32 k15;
|
||||
s32 n15;
|
||||
@@ -3782,7 +3782,7 @@ s32 func_8018C000(s32 param_1, s16 param_2)
|
||||
t15 = f15 & 0x4000;
|
||||
if (t15 != 0) {
|
||||
s32 m15;
|
||||
__asm__ __volatile__("" : "=r"(m15) : "0"(n15));
|
||||
__asm__ __volatile__("" : "=r"(m15) : "0"(n15)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
func_80029124(m15, 1);
|
||||
((void (*)(s32))func_800D0FE0)(c15);
|
||||
D_801EEB10 = n15 - 0x1C;
|
||||
@@ -3811,7 +3811,7 @@ s32 func_8018C000(s32 param_1, s16 param_2)
|
||||
Rec **pp;
|
||||
Rec *r;
|
||||
Rec **pp2;
|
||||
register s32 dv __asm__("$2");
|
||||
register s32 dv __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
Rec **base;
|
||||
Rec *r2;
|
||||
s32 t;
|
||||
@@ -3854,7 +3854,7 @@ s32 func_8018C000(s32 param_1, s16 param_2)
|
||||
goto bad472;
|
||||
}
|
||||
t = (*(Rec * volatile *)pp2)->unk8;
|
||||
__asm__ __volatile__("");
|
||||
__asm__ __volatile__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
D_801EF1E0 = r2->unk4;
|
||||
((void (*)(s32))func_8017ADE8)(t);
|
||||
u = D_801EF1E0;
|
||||
@@ -3990,7 +3990,7 @@ void func_8018C960(void) {
|
||||
u8 c1, c2;
|
||||
|
||||
pp = (u32 **)&D_801151D0;
|
||||
pbh = (volatile u16 *)&D_800B9A02;
|
||||
pbh = (u16 *)&D_800B9A02;
|
||||
|
||||
p = *pp;
|
||||
((PTag_8018C960 *)p)->len = 1;
|
||||
@@ -4073,7 +4073,7 @@ void func_8018CBB0(s32 param_1, s32 param_2)
|
||||
*(short *)(param_1 + 0xfc) = *(short *)(param_1 + 0xfc) + 1;
|
||||
v0 = (rand() & 3) * 0x400 + 0x1800;
|
||||
s2 = v0;
|
||||
__asm__ __volatile__("" : "=r"(v0) : "0"(v0));
|
||||
__asm__ __volatile__("" : "=r"(v0) : "0"(v0)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s1 = (v0 - 0x1000) * 0x20;
|
||||
iVar3 = ((int (*)(int))func_8012913C)(4);
|
||||
if (iVar3 != 0) {
|
||||
@@ -4331,9 +4331,9 @@ void func_8018D0E4(void) {
|
||||
s32 slot = i + 0x2F;
|
||||
s32 id = func_800291B4(slot) & 0xFF;
|
||||
if (id != 0) {
|
||||
register s32 tmp __asm__("$2");
|
||||
register s32 t __asm__("$5");
|
||||
register s32 rb __asm__("$6");
|
||||
register s32 tmp __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 t;
|
||||
register s32 rb __asm__("$6"); // !FAKE: pin $6 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s16 flags;
|
||||
s32 m;
|
||||
tmp = (id << 1) + id;
|
||||
@@ -4350,12 +4350,11 @@ void func_8018D0E4(void) {
|
||||
D_801EF318.field_0 = 2;
|
||||
return;
|
||||
} else {
|
||||
register s32 sc __asm__("$4");
|
||||
register s32 d __asm__("$2");
|
||||
register s32 sc __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
register s32 d __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
sc = slot;
|
||||
__asm__("" : "=r"(sc) : "0"(sc));
|
||||
__asm__("" : "=r"(sc) : "0"(sc)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
d = rb - 0x14;
|
||||
__asm__("" : "=r"(d) : "0"(d));
|
||||
D_801EF318.field_4 = (&D_801EB6D8)[d >> 1];
|
||||
((void (*)(s32))func_800D0F0C)(sc);
|
||||
D_801EF318.field_0 = 1;
|
||||
|
||||
@@ -2838,7 +2838,7 @@ extern void func_80181D3C(void *a0);
|
||||
void func_80181D78(s32 a0) {
|
||||
s32 r;
|
||||
s32 r2;
|
||||
register s32 *self __asm__("$16");
|
||||
register s32 *self __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
u16 arr[6];
|
||||
|
||||
extern s32 rand(void);
|
||||
@@ -3193,7 +3193,7 @@ case1: {
|
||||
}
|
||||
|
||||
case2: {
|
||||
register s32 p __asm__("$2");
|
||||
register s32 p __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 v0;
|
||||
v0 = *(u16 *)(a0 + 0xFC);
|
||||
p = *(s32 *)(a0 + 0x20);
|
||||
@@ -3815,7 +3815,7 @@ void func_8018311C(void *a0, s32 a1, s32 a2)
|
||||
|
||||
extern u8 D_80078EB1;
|
||||
s32 v0;
|
||||
register s32 v1 __asm__("$3");
|
||||
register s32 v1 __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
|
||||
v0 = D_80078EB1;
|
||||
if (!(v0 < a1)) {
|
||||
|
||||
@@ -2880,9 +2880,9 @@ void func_8018431C(void *a0) {
|
||||
extern void *D_801A8754[];
|
||||
extern s32 D_801A8724;
|
||||
extern s32 D_801A873C;
|
||||
register void *s2 __asm__("$18") = a0;
|
||||
register u8 *p __asm__("$17");
|
||||
register void *s0 __asm__("$16");
|
||||
void *s2 = a0;
|
||||
register u8 *p __asm__("$17"); // !FAKE: pin $17 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
void *s0;
|
||||
s32 v0;
|
||||
s16 v1;
|
||||
|
||||
@@ -3133,10 +3133,10 @@ void func_801846E8(void *a0)
|
||||
{
|
||||
|
||||
extern u8 D_801202A0[];
|
||||
register u8 *s0 __asm__("$16");
|
||||
register s32 s1 __asm__("$17");
|
||||
register u8 *s3 __asm__("$19");
|
||||
register u8 *s4 __asm__("$20");
|
||||
u8 *s0;
|
||||
s32 s1;
|
||||
u8 *s3;
|
||||
u8 *s4;
|
||||
u8 *s2;
|
||||
u8 *v0;
|
||||
u8 *v1;
|
||||
@@ -3248,7 +3248,7 @@ s32 func_80184854(void *a0) {
|
||||
in[2] = *(u16 *)(p + 0xE);
|
||||
func_8012F2E8((s32)a0, (s32)in, (s32)out);
|
||||
if (func_8012CB64((s32)out, -0xA0, 0x80, -0xC0, 0x80) != 0) {
|
||||
__asm__("");
|
||||
__asm__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
@@ -3293,7 +3293,7 @@ void func_801849BC(void) {
|
||||
|
||||
extern s32 D_801A855C;
|
||||
extern s32 D_801CBAD4;
|
||||
register s32 a0 __asm__("$4");
|
||||
s32 a0;
|
||||
u16 buffer[4];
|
||||
s32 val;
|
||||
s32 *p;
|
||||
@@ -3341,7 +3341,7 @@ void func_80184A38(s32 param_1, s32 param_2)
|
||||
*(short *)(param_1 + 0xfc) = *(short *)(param_1 + 0xfc) + 1;
|
||||
v0 = (rand() & 3) * 0x400 + 0x1800;
|
||||
s2 = v0;
|
||||
__asm__ __volatile__("" : "=r"(v0) : "0"(v0));
|
||||
__asm__ __volatile__("" : "=r"(v0) : "0"(v0)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s1 = (v0 - 0x1000) * 0x20;
|
||||
iVar3 = ((int (*)(int))func_8012913C)(4);
|
||||
if (iVar3 != 0) {
|
||||
|
||||
@@ -3506,7 +3506,7 @@ int func_8017A3D8(void)
|
||||
return 0;
|
||||
case 100:
|
||||
{
|
||||
register int a __asm__("$4");
|
||||
register int a __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
a = D_801F7310;
|
||||
if (a != -1) {
|
||||
return func_8001AAA0() != 0;
|
||||
|
||||
@@ -3146,7 +3146,7 @@ extern s32 func_8012BEE8(s32 a0);
|
||||
extern void func_80131E00();
|
||||
|
||||
void func_801822C8(s32 param_1) {
|
||||
register s32 a __asm__("$4");
|
||||
register s32 a __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 p;
|
||||
s32 q;
|
||||
s32 x;
|
||||
@@ -3715,7 +3715,7 @@ extern void func_8012B23C(s32 a0);
|
||||
extern u16 D_801E42B0;
|
||||
|
||||
void func_80182FB8(s32 param_1) {
|
||||
register s32 s0 __asm__("$16") = param_1;
|
||||
s32 s0 = param_1;
|
||||
|
||||
*(s16 *)(s0 + 0x2) = 7;
|
||||
*(s16 *)(s0 + 0x34) = 0;
|
||||
@@ -3801,7 +3801,7 @@ extern s32 D_8018C50C;
|
||||
extern u8 D_801E3AE0[];
|
||||
|
||||
void func_801830C0(s32 param_1) {
|
||||
register s32 pv __asm__("$16") = param_1;
|
||||
s32 pv = param_1;
|
||||
s32 v0 = func_8012BCCC(pv);
|
||||
|
||||
if (v0 <= 0x10000) {
|
||||
|
||||
@@ -3066,7 +3066,7 @@ extern u8 D_801E38F0[];
|
||||
extern u8 D_801E3DA8[];
|
||||
|
||||
void func_80183894(s32 param_1) {
|
||||
register s32 pv __asm__("$16") = param_1;
|
||||
s32 pv = param_1;
|
||||
s32 flag;
|
||||
s32 t;
|
||||
|
||||
@@ -3178,7 +3178,7 @@ void func_80183B58(s32 a0)
|
||||
u32 field70;
|
||||
/* $2 pin: idx1's post-shift value must land in $v0 so the 104-multiply
|
||||
chain is forced into $v1 (target's register choice). */
|
||||
register s32 idx1 __asm__("$2");
|
||||
s32 idx1;
|
||||
s32 prod1;
|
||||
s32 idx2;
|
||||
|
||||
@@ -3603,7 +3603,6 @@ void func_80184278(int param_1)
|
||||
*(s16 *)(p + 0x18) = v;
|
||||
|
||||
*(s16 *)(param_1 + 0x12) = *(u16 *)(param_1 + 6) + *(u16 *)(ptr + 2);
|
||||
__asm__ __volatile__("");
|
||||
v1a = *(u16 *)(param_1 + 0xE) + *(u16 *)(ptr + 6);
|
||||
*(s16 *)(param_1 + 0x10) = 0;
|
||||
*(s16 *)(param_1 + 0x18) = 0;
|
||||
@@ -3760,8 +3759,8 @@ void func_801846EC(s32 *param_1)
|
||||
|
||||
extern s8 D_801E9CE0;
|
||||
int new_var;
|
||||
register s32 p __asm__("$4");
|
||||
register s32 r __asm__("$3");
|
||||
register s32 p __asm__("$4"); // !FAKE: pin $4 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 r;
|
||||
p = (s32) (&D_801E9CE0);
|
||||
r = param_1[0x34 / 4];
|
||||
new_var = r;
|
||||
@@ -4006,7 +4005,7 @@ void func_80184AFC(s32 a0) {
|
||||
s32 spd;
|
||||
s32 t;
|
||||
s16 rc;
|
||||
register s32 zr __asm__("$0");
|
||||
register s32 zr __asm__("$0"); // !FAKE: pin $0 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 fire;
|
||||
|
||||
ret = 0;
|
||||
@@ -4223,7 +4222,7 @@ zero:
|
||||
/* LOAD-BEARING (cookbook §5a): zero-byte cross-jump barrier. Without it
|
||||
* find_cross_jump merges this block's trailing `sw $v0,0x1C($s0)` with the
|
||||
* identical one ending the `dec:` block -> LENGTH-DRIFT -2. Do not remove. */
|
||||
__asm__ __volatile__("");
|
||||
__asm__ __volatile__(""); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
|
||||
}
|
||||
|
||||
|
||||
@@ -4282,7 +4281,7 @@ void func_801850B4(s32 a0) {
|
||||
s32 u;
|
||||
s32 t;
|
||||
s32 hold;
|
||||
register s32 one __asm__("$18");
|
||||
register s32 one __asm__("$18"); // !FAKE: pin $18 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 cc;
|
||||
|
||||
func_80185B48(a0);
|
||||
@@ -4293,13 +4292,12 @@ void func_801850B4(s32 a0) {
|
||||
u -= 0x380;
|
||||
*(u16 *)(q + 0x12) = u;
|
||||
cc = (s16)func_8012BD3C(a0, 0x100, 0x9000);
|
||||
__asm__ __volatile__("");
|
||||
one = 1;
|
||||
if (cc != one) {
|
||||
goto second;
|
||||
}
|
||||
func_8012D624((void *)a0, 0xC0, 0x30);
|
||||
__asm__ __volatile__("" : "=r"(cc) : "0"(cc));
|
||||
__asm__ __volatile__("" : "=r"(cc) : "0"(cc)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
if (cc == one) {
|
||||
goto rejoin;
|
||||
}
|
||||
@@ -4362,7 +4360,7 @@ extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a
|
||||
* $a0 is captured into a normal pseudo instead — the copy gets a callee-saved
|
||||
* home ($s0), which is exactly what the target prologue does. */
|
||||
s32 func_80185230(void) {
|
||||
register s32 a0v __asm__("$4");
|
||||
s32 a0v;
|
||||
s32 arg0 = a0v;
|
||||
s32 g1;
|
||||
s32 g2;
|
||||
@@ -4671,7 +4669,7 @@ extern void func_8012B0B4(unsigned int *param_1, int param_2, int param_3);
|
||||
|
||||
void func_801858D4(s32 a0, s16 a1, s16 a2) {
|
||||
u32 buf[4];
|
||||
register s32 hi __asm__("$2");
|
||||
register s32 hi __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 lo;
|
||||
|
||||
func_8012B0B4(buf, *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12), a1 << 4);
|
||||
@@ -4736,7 +4734,7 @@ s32 func_80185A24(s32 arg0) {
|
||||
ret = 0;
|
||||
raw = ((s32 (*)(s32))func_8012CBA4)(arg0);
|
||||
flags = raw;
|
||||
__asm__ __volatile__("" : "=r"(flags) : "0"(flags));
|
||||
__asm__ __volatile__("" : "=r"(flags) : "0"(flags)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
if ((raw & 0x6000) != 0x2000) {
|
||||
func_8012ADE4((u8 *)arg0);
|
||||
if (*(s32 *)(arg0 + 0x1C) > 8) {
|
||||
@@ -5378,12 +5376,11 @@ extern void (*D_8018C610[])(void);
|
||||
|
||||
void func_80186818(s32 a0)
|
||||
{
|
||||
register s32 s0 __asm__("$16");
|
||||
register s32 s0 __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s32 v0;
|
||||
u16 *p;
|
||||
|
||||
s0 = a0;
|
||||
__asm__ __volatile__("");
|
||||
|
||||
if (*(s32 *)(s0 + 0x1C) < 0xF) {
|
||||
v0 = func_8012B608(*(s16 *)(*(s32 *)(s0 + 0x20) + 0x12), 0xA00, 4);
|
||||
@@ -5465,7 +5462,7 @@ void func_801869C0(s32 param_1, s32 param_2)
|
||||
*(short *)(param_1 + 0xfc) = *(short *)(param_1 + 0xfc) + 1;
|
||||
v0 = (rand() & 3) * 0x400 + 0x1800;
|
||||
s2 = v0;
|
||||
__asm__ __volatile__("" : "=r"(v0) : "0"(v0));
|
||||
__asm__ __volatile__("" : "=r"(v0) : "0"(v0)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus9)
|
||||
s1 = (v0 - 0x1000) * 0x20;
|
||||
iVar3 = ((int (*)(int))func_8012913C)(4);
|
||||
if (iVar3 != 0) {
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user