feat(phase-29): §84 family fully harvested — 123/123 members, 0 failed (+29,280 ins, +27,840 distinct)

The derived-offset recompute swept the whole func_8013D53C family: 119 banked / 0 failed on top of
the 4 earlier; func_8013D53C is now stubbed in ZERO overlays. R22 clean-fleet 140/140 BYTE-IDENTICAL;
tools-health OK; dedup 1886/0; 0 NON_MATCHING (G4).

RECIPE (and it is NOT the return-axis recipe — sampling caught this):
  §84 derived-offset -> per-member literal recompute AND the gate_stage ladder.
  With the recompute alone the sample was 0/8; through the ladder it was 3/3, then 119/119.
  Had I reused the return-axis recipe (plain harvest_verify, which banked 272/272 there) I would
  have swept 123 members to zero banks and mis-concluded the fix was wrong. Probe-before-scale.

METRIC FINDING worth carrying: this harvest moved instr +29,280 AND distinct-code +27,840, while the
return-axis harvest moved instr +26,928 and distinct-code +0. §84-class members are byte-VARIANTS so
each is a new unique function; propagation-class members were already counted once via their shared
exemplar. => §84-class work moves the RE-COMPLETENESS number; propagation moves only the DISPLAY one.

Session fleet: 80.6 -> 81.0% instr · 68.2 -> 68.8% distinct-code · 89.18 -> 89.30% fn-count.
This commit is contained in:
Drew T
2026-07-26 16:48:56 -06:00
parent 9d9cd58028
commit 015ebff536
494 changed files with 16725 additions and 743 deletions
+128 -128
View File
@@ -4,16 +4,16 @@
# cross-binary collapsible-byte leverage: docs/duplicates.cross.md.
# THREE progress metrics (all matter — see the labels):
FLEET fn-count byte-ident: 315742 / 353719 = 89.26% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay)
FLEET instr-weighted : 10616431 / 13141652 = 80.8% (shipped .text across main + resident + 138 overlays; the decomp.dev-DISPLAY number)
FLEET distinct-code(uniq): 3846656 / 5634875 = 68.3% (64912/87459 unique fns; the DISTINCT-RE number)
FLEET fn-count byte-ident: 315864 / 353719 = 89.30% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay)
FLEET instr-weighted : 10645711 / 13141652 = 81.0% (shipped .text across main + resident + 138 overlays; the decomp.dev-DISPLAY number)
FLEET distinct-code(uniq): 3874496 / 5634875 = 68.8% (65028/87459 unique fns; the DISTINCT-RE number)
MAIN game-code weighted : 436 / 60201 = 0.7% (INCLUDED in the fleet numbers above since 2026-07-22 — roadmap §1 metrics contract; LINKED-excluding Ghidra sig dated 2026-06-14; caveat is R34: no independent second oracle for a PS-X EXE, NOT drift)
(fleet EXCLUDING main, for continuity with pre-2026-07-22 readings: 10615995 / 13081451 = 81.2%)
(fleet EXCLUDING main, for continuity with pre-2026-07-22 readings: 10645275 / 13081451 = 81.4%)
FLEET REAL substantive : 313887 (of which dedup-shared 239530 via 1886 groups / 239604 instances)
FLEET REAL substantive : 314009 (of which dedup-shared 239530 via 1886 groups / 239604 instances)
FLEET LINKED PsyQ objs : 959
FLEET NON_MATCHING : 7 (0 in any default build — G4)
FLEET INCLUDE_ASM stubs : 37970
FLEET INCLUDE_ASM stubs : 37848
FLEET matchable : 353719
| binary | REAL | shared | LINKED | byte-ident | matchable | byte-ident % |
@@ -21,140 +21,140 @@ FLEET matchable : 353719
| main | 54 | 2 | 959 | 1055 | 2096 | 50.3% |
| resident | 129 | 0 | 0 | 131 | 145 | 90.3% |
| ov_SC01_000 | 2253 | 1742 | 0 | 2253 | 2403 | 93.8% |
| ov_SC01_001 | 2255 | 1743 | 0 | 2257 | 2466 | 91.5% |
| ov_SC01_004 | 2244 | 1734 | 0 | 2245 | 2414 | 93.0% |
| ov_SC01_005 | 2274 | 1757 | 0 | 2274 | 2503 | 90.9% |
| ov_SC01_006 | 2274 | 1757 | 0 | 2274 | 2503 | 90.9% |
| ov_SC01_008 | 2244 | 1734 | 0 | 2246 | 2426 | 92.6% |
| ov_SC01_009 | 2270 | 1735 | 0 | 2271 | 2507 | 90.6% |
| ov_SC01_074 | 2248 | 1735 | 0 | 2250 | 2425 | 92.8% |
| ov_SC01_001 | 2256 | 1743 | 0 | 2258 | 2466 | 91.6% |
| ov_SC01_004 | 2245 | 1734 | 0 | 2246 | 2414 | 93.0% |
| ov_SC01_005 | 2275 | 1757 | 0 | 2275 | 2503 | 90.9% |
| ov_SC01_006 | 2275 | 1757 | 0 | 2275 | 2503 | 90.9% |
| ov_SC01_008 | 2245 | 1734 | 0 | 2247 | 2426 | 92.6% |
| ov_SC01_009 | 2271 | 1735 | 0 | 2272 | 2507 | 90.6% |
| ov_SC01_074 | 2249 | 1735 | 0 | 2251 | 2425 | 92.8% |
| ov_SC01_077 | 2430 | 1702 | 0 | 2432 | 2585 | 94.1% |
| ov_SC01_080 | 2286 | 1738 | 0 | 2286 | 2512 | 91.0% |
| ov_SC01_084 | 2293 | 1738 | 0 | 2298 | 2579 | 89.1% |
| ov_SC02_000 | 2346 | 1773 | 0 | 2346 | 2683 | 87.4% |
| ov_SC02_003 | 2346 | 1773 | 0 | 2346 | 2683 | 87.4% |
| ov_SC02_004 | 2252 | 1738 | 0 | 2252 | 2401 | 93.8% |
| ov_SC02_005 | 2360 | 1734 | 0 | 2370 | 2927 | 81.0% |
| ov_SC02_011 | 2372 | 1741 | 0 | 2383 | 2893 | 82.4% |
| ov_SC02_015 | 2253 | 1740 | 0 | 2253 | 2414 | 93.3% |
| ov_SC02_016 | 2287 | 1740 | 0 | 2290 | 2545 | 90.0% |
| ov_SC02_017 | 2330 | 1740 | 0 | 2338 | 2732 | 85.6% |
| ov_SC02_021 | 2259 | 1740 | 0 | 2259 | 2437 | 92.7% |
| ov_SC02_026 | 2275 | 1738 | 0 | 2281 | 2572 | 88.7% |
| ov_SC02_027 | 2298 | 1738 | 0 | 2307 | 2692 | 85.7% |
| ov_SC02_028 | 2300 | 1738 | 0 | 2310 | 2701 | 85.5% |
| ov_SC02_031 | 2286 | 1739 | 0 | 2291 | 2562 | 89.4% |
| ov_SC02_035 | 2261 | 1738 | 0 | 2264 | 2520 | 89.8% |
| ov_SC02_039 | 2245 | 1738 | 0 | 2245 | 2416 | 92.9% |
| ov_SC02_041 | 2283 | 1738 | 0 | 2286 | 2561 | 89.3% |
| ov_SC01_080 | 2287 | 1738 | 0 | 2287 | 2512 | 91.0% |
| ov_SC01_084 | 2294 | 1738 | 0 | 2299 | 2579 | 89.1% |
| ov_SC02_000 | 2347 | 1773 | 0 | 2347 | 2683 | 87.5% |
| ov_SC02_003 | 2347 | 1773 | 0 | 2347 | 2683 | 87.5% |
| ov_SC02_004 | 2253 | 1738 | 0 | 2253 | 2401 | 93.8% |
| ov_SC02_005 | 2361 | 1734 | 0 | 2371 | 2927 | 81.0% |
| ov_SC02_011 | 2373 | 1741 | 0 | 2384 | 2893 | 82.4% |
| ov_SC02_015 | 2254 | 1740 | 0 | 2254 | 2414 | 93.4% |
| ov_SC02_016 | 2288 | 1740 | 0 | 2291 | 2545 | 90.0% |
| ov_SC02_017 | 2331 | 1740 | 0 | 2339 | 2732 | 85.6% |
| ov_SC02_021 | 2260 | 1740 | 0 | 2260 | 2437 | 92.7% |
| ov_SC02_026 | 2276 | 1738 | 0 | 2282 | 2572 | 88.7% |
| ov_SC02_027 | 2299 | 1738 | 0 | 2308 | 2692 | 85.7% |
| ov_SC02_028 | 2301 | 1738 | 0 | 2311 | 2701 | 85.6% |
| ov_SC02_031 | 2287 | 1739 | 0 | 2292 | 2562 | 89.5% |
| ov_SC02_035 | 2262 | 1738 | 0 | 2265 | 2520 | 89.9% |
| ov_SC02_039 | 2246 | 1738 | 0 | 2246 | 2416 | 93.0% |
| ov_SC02_041 | 2284 | 1738 | 0 | 2287 | 2561 | 89.3% |
| ov_SC03_001 | 2381 | 1739 | 0 | 2398 | 2869 | 83.6% |
| ov_SC03_002 | 2307 | 1743 | 0 | 2322 | 2631 | 88.3% |
| ov_SC03_003 | 2255 | 1738 | 0 | 2256 | 2423 | 93.1% |
| ov_SC03_006 | 2321 | 1744 | 0 | 2330 | 2767 | 84.2% |
| ov_SC03_007 | 2300 | 1738 | 0 | 2304 | 2623 | 87.8% |
| ov_SC03_010 | 2263 | 1738 | 0 | 2263 | 2471 | 91.6% |
| ov_SC03_011 | 2269 | 1738 | 0 | 2275 | 2527 | 90.0% |
| ov_SC03_012 | 2247 | 1738 | 0 | 2248 | 2406 | 93.4% |
| ov_SC03_013 | 2268 | 1738 | 0 | 2268 | 2493 | 91.0% |
| ov_SC03_014 | 2326 | 1763 | 0 | 2326 | 2685 | 86.6% |
| ov_SC03_015 | 2326 | 1763 | 0 | 2326 | 2685 | 86.6% |
| ov_SC03_023 | 2254 | 1738 | 0 | 2255 | 2435 | 92.6% |
| ov_SC03_024 | 2314 | 1743 | 0 | 2321 | 2641 | 87.9% |
| ov_SC03_028 | 2294 | 1738 | 0 | 2298 | 2664 | 86.3% |
| ov_SC03_029 | 2295 | 1740 | 0 | 2305 | 2644 | 87.2% |
| ov_SC03_030 | 2268 | 1743 | 0 | 2270 | 2495 | 91.0% |
| ov_SC03_031 | 2265 | 1738 | 0 | 2268 | 2514 | 90.2% |
| ov_SC03_089 | 2282 | 1738 | 0 | 2289 | 2581 | 88.7% |
| ov_SC03_090 | 2283 | 1738 | 0 | 2291 | 2625 | 87.3% |
| ov_SC03_091 | 2286 | 1738 | 0 | 2294 | 2640 | 86.9% |
| ov_SC03_092 | 2296 | 1738 | 0 | 2308 | 2587 | 89.2% |
| ov_SC03_093 | 2272 | 1738 | 0 | 2276 | 2563 | 88.8% |
| ov_SC03_094 | 2267 | 1738 | 0 | 2273 | 2577 | 88.2% |
| ov_SC03_095 | 2257 | 1738 | 0 | 2260 | 2474 | 91.4% |
| ov_SC03_096 | 2257 | 1738 | 0 | 2260 | 2465 | 91.7% |
| ov_SC03_097 | 2287 | 1738 | 0 | 2294 | 2603 | 88.1% |
| ov_SC03_098 | 2265 | 1738 | 0 | 2268 | 2541 | 89.3% |
| ov_SC03_099 | 2258 | 1738 | 0 | 2261 | 2504 | 90.3% |
| ov_SC03_100 | 2268 | 1738 | 0 | 2272 | 2539 | 89.5% |
| ov_SC03_101 | 2268 | 1738 | 0 | 2272 | 2528 | 89.9% |
| ov_SC03_102 | 2261 | 1738 | 0 | 2264 | 2492 | 90.9% |
| ov_SC03_103 | 2263 | 1740 | 0 | 2266 | 2510 | 90.3% |
| ov_SC03_104 | 2290 | 1738 | 0 | 2297 | 2616 | 87.8% |
| ov_SC03_003 | 2256 | 1738 | 0 | 2257 | 2423 | 93.1% |
| ov_SC03_006 | 2322 | 1744 | 0 | 2331 | 2767 | 84.2% |
| ov_SC03_007 | 2301 | 1738 | 0 | 2305 | 2623 | 87.9% |
| ov_SC03_010 | 2264 | 1738 | 0 | 2264 | 2471 | 91.6% |
| ov_SC03_011 | 2270 | 1738 | 0 | 2276 | 2527 | 90.1% |
| ov_SC03_012 | 2248 | 1738 | 0 | 2249 | 2406 | 93.5% |
| ov_SC03_013 | 2269 | 1738 | 0 | 2269 | 2493 | 91.0% |
| ov_SC03_014 | 2327 | 1763 | 0 | 2327 | 2685 | 86.7% |
| ov_SC03_015 | 2327 | 1763 | 0 | 2327 | 2685 | 86.7% |
| ov_SC03_023 | 2255 | 1738 | 0 | 2256 | 2435 | 92.6% |
| ov_SC03_024 | 2315 | 1743 | 0 | 2322 | 2641 | 87.9% |
| ov_SC03_028 | 2295 | 1738 | 0 | 2299 | 2664 | 86.3% |
| ov_SC03_029 | 2296 | 1740 | 0 | 2306 | 2644 | 87.2% |
| ov_SC03_030 | 2269 | 1743 | 0 | 2271 | 2495 | 91.0% |
| ov_SC03_031 | 2266 | 1738 | 0 | 2269 | 2514 | 90.3% |
| ov_SC03_089 | 2283 | 1738 | 0 | 2290 | 2581 | 88.7% |
| ov_SC03_090 | 2284 | 1738 | 0 | 2292 | 2625 | 87.3% |
| ov_SC03_091 | 2287 | 1738 | 0 | 2295 | 2640 | 86.9% |
| ov_SC03_092 | 2297 | 1738 | 0 | 2309 | 2587 | 89.3% |
| ov_SC03_093 | 2273 | 1738 | 0 | 2277 | 2563 | 88.8% |
| ov_SC03_094 | 2268 | 1738 | 0 | 2274 | 2577 | 88.2% |
| ov_SC03_095 | 2258 | 1738 | 0 | 2261 | 2474 | 91.4% |
| ov_SC03_096 | 2258 | 1738 | 0 | 2261 | 2465 | 91.7% |
| ov_SC03_097 | 2288 | 1738 | 0 | 2295 | 2603 | 88.2% |
| ov_SC03_098 | 2266 | 1738 | 0 | 2269 | 2541 | 89.3% |
| ov_SC03_099 | 2259 | 1738 | 0 | 2262 | 2504 | 90.3% |
| ov_SC03_100 | 2269 | 1738 | 0 | 2273 | 2539 | 89.5% |
| ov_SC03_101 | 2269 | 1738 | 0 | 2273 | 2528 | 89.9% |
| ov_SC03_102 | 2262 | 1738 | 0 | 2265 | 2492 | 90.9% |
| ov_SC03_103 | 2264 | 1740 | 0 | 2267 | 2510 | 90.3% |
| ov_SC03_104 | 2291 | 1738 | 0 | 2298 | 2616 | 87.8% |
| ov_SC03_105 | 2282 | 1738 | 0 | 2289 | 2597 | 88.1% |
| ov_SC03_108 | 2249 | 1738 | 0 | 2249 | 2443 | 92.1% |
| ov_SC03_109 | 2252 | 1738 | 0 | 2254 | 2424 | 93.0% |
| ov_SC03_110 | 2256 | 1738 | 0 | 2256 | 2468 | 91.4% |
| ov_SC03_111 | 2267 | 1738 | 0 | 2270 | 2510 | 90.4% |
| ov_SC03_112 | 2261 | 1740 | 0 | 2263 | 2526 | 89.6% |
| ov_SC03_113 | 2254 | 1740 | 0 | 2257 | 2468 | 91.5% |
| ov_SC03_114 | 2244 | 1738 | 0 | 2246 | 2415 | 93.0% |
| ov_SC03_115 | 2261 | 1738 | 0 | 2263 | 2472 | 91.5% |
| ov_SC03_116 | 2252 | 1738 | 0 | 2255 | 2438 | 92.5% |
| ov_SC03_117 | 2279 | 1738 | 0 | 2285 | 2557 | 89.4% |
| ov_SC03_118 | 2325 | 1762 | 0 | 2326 | 2685 | 86.6% |
| ov_SC03_119 | 2324 | 1762 | 0 | 2325 | 2685 | 86.6% |
| ov_SC03_121 | 2259 | 1738 | 0 | 2262 | 2459 | 92.0% |
| ov_SC03_108 | 2250 | 1738 | 0 | 2250 | 2443 | 92.1% |
| ov_SC03_109 | 2253 | 1738 | 0 | 2255 | 2424 | 93.0% |
| ov_SC03_110 | 2257 | 1738 | 0 | 2257 | 2468 | 91.5% |
| ov_SC03_111 | 2268 | 1738 | 0 | 2271 | 2510 | 90.5% |
| ov_SC03_112 | 2262 | 1740 | 0 | 2264 | 2526 | 89.6% |
| ov_SC03_113 | 2255 | 1740 | 0 | 2258 | 2468 | 91.5% |
| ov_SC03_114 | 2245 | 1738 | 0 | 2247 | 2415 | 93.0% |
| ov_SC03_115 | 2262 | 1738 | 0 | 2264 | 2472 | 91.6% |
| ov_SC03_116 | 2253 | 1738 | 0 | 2256 | 2438 | 92.5% |
| ov_SC03_117 | 2280 | 1738 | 0 | 2286 | 2557 | 89.4% |
| ov_SC03_118 | 2326 | 1762 | 0 | 2327 | 2685 | 86.7% |
| ov_SC03_119 | 2325 | 1762 | 0 | 2326 | 2685 | 86.6% |
| ov_SC03_121 | 2260 | 1738 | 0 | 2263 | 2459 | 92.0% |
| ov_SC03_124 | 2338 | 1734 | 0 | 2358 | 2741 | 86.0% |
| ov_SC03_125 | 2294 | 1738 | 0 | 2306 | 2588 | 89.1% |
| ov_SC03_126 | 2256 | 1740 | 0 | 2256 | 2423 | 93.1% |
| ov_SC04_000 | 2272 | 1742 | 0 | 2281 | 2546 | 89.6% |
| ov_SC04_002 | 2291 | 1738 | 0 | 2295 | 2636 | 87.1% |
| ov_SC04_003 | 2267 | 1738 | 0 | 2271 | 2502 | 90.8% |
| ov_SC04_004 | 2276 | 1738 | 0 | 2278 | 2558 | 89.1% |
| ov_SC04_005 | 2286 | 1738 | 0 | 2292 | 2612 | 87.7% |
| ov_SC04_006 | 2256 | 1738 | 0 | 2258 | 2454 | 92.0% |
| ov_SC04_007 | 2280 | 1738 | 0 | 2284 | 2569 | 88.9% |
| ov_SC04_008 | 2248 | 1738 | 0 | 2248 | 2415 | 93.1% |
| ov_SC04_009 | 2263 | 1738 | 0 | 2266 | 2441 | 92.8% |
| ov_SC04_010 | 2253 | 1738 | 0 | 2254 | 2419 | 93.2% |
| ov_SC04_011 | 2311 | 1738 | 0 | 2317 | 2803 | 82.7% |
| ov_SC04_012 | 2250 | 1738 | 0 | 2251 | 2420 | 93.0% |
| ov_SC03_126 | 2257 | 1740 | 0 | 2257 | 2423 | 93.1% |
| ov_SC04_000 | 2273 | 1742 | 0 | 2282 | 2546 | 89.6% |
| ov_SC04_002 | 2292 | 1738 | 0 | 2296 | 2636 | 87.1% |
| ov_SC04_003 | 2268 | 1738 | 0 | 2272 | 2502 | 90.8% |
| ov_SC04_004 | 2277 | 1738 | 0 | 2279 | 2558 | 89.1% |
| ov_SC04_005 | 2287 | 1738 | 0 | 2293 | 2612 | 87.8% |
| ov_SC04_006 | 2257 | 1738 | 0 | 2259 | 2454 | 92.1% |
| ov_SC04_007 | 2281 | 1738 | 0 | 2285 | 2569 | 88.9% |
| ov_SC04_008 | 2249 | 1738 | 0 | 2249 | 2415 | 93.1% |
| ov_SC04_009 | 2264 | 1738 | 0 | 2267 | 2441 | 92.9% |
| ov_SC04_010 | 2254 | 1738 | 0 | 2255 | 2419 | 93.2% |
| ov_SC04_011 | 2312 | 1738 | 0 | 2318 | 2803 | 82.7% |
| ov_SC04_012 | 2251 | 1738 | 0 | 2252 | 2420 | 93.1% |
| ov_SC04_015 | 2316 | 1739 | 0 | 2327 | 2611 | 89.1% |
| ov_SC04_016 | 2253 | 1738 | 0 | 2255 | 2440 | 92.4% |
| ov_SC04_016 | 2254 | 1738 | 0 | 2256 | 2440 | 92.5% |
| ov_SC04_018 | 2364 | 1773 | 0 | 2364 | 2857 | 82.7% |
| ov_SC04_019 | 2370 | 1773 | 0 | 2370 | 2857 | 83.0% |
| ov_SC04_020 | 2281 | 1738 | 0 | 2293 | 2567 | 89.3% |
| ov_SC04_021 | 2257 | 1740 | 0 | 2257 | 2423 | 93.1% |
| ov_SC05_000 | 2254 | 1742 | 0 | 2257 | 2422 | 93.2% |
| ov_SC05_001 | 2276 | 1738 | 0 | 2281 | 2574 | 88.6% |
| ov_SC05_002 | 2259 | 1738 | 0 | 2262 | 2442 | 92.6% |
| ov_SC05_003 | 2256 | 1738 | 0 | 2257 | 2481 | 91.0% |
| ov_SC05_004 | 2252 | 1738 | 0 | 2254 | 2464 | 91.5% |
| ov_SC05_005 | 2257 | 1738 | 0 | 2258 | 2491 | 90.6% |
| ov_SC05_006 | 2250 | 1738 | 0 | 2250 | 2430 | 92.6% |
| ov_SC05_007 | 2260 | 1738 | 0 | 2265 | 2482 | 91.3% |
| ov_SC05_008 | 2277 | 1738 | 0 | 2279 | 2543 | 89.6% |
| ov_SC05_009 | 2256 | 1738 | 0 | 2260 | 2438 | 92.7% |
| ov_SC05_010 | 2283 | 1738 | 0 | 2287 | 2588 | 88.4% |
| ov_SC05_011 | 2252 | 1738 | 0 | 2253 | 2409 | 93.5% |
| ov_SC04_021 | 2258 | 1740 | 0 | 2258 | 2423 | 93.2% |
| ov_SC05_000 | 2255 | 1742 | 0 | 2258 | 2422 | 93.2% |
| ov_SC05_001 | 2277 | 1738 | 0 | 2282 | 2574 | 88.7% |
| ov_SC05_002 | 2260 | 1738 | 0 | 2263 | 2442 | 92.7% |
| ov_SC05_003 | 2257 | 1738 | 0 | 2258 | 2481 | 91.0% |
| ov_SC05_004 | 2253 | 1738 | 0 | 2255 | 2464 | 91.5% |
| ov_SC05_005 | 2258 | 1738 | 0 | 2259 | 2491 | 90.7% |
| ov_SC05_006 | 2251 | 1738 | 0 | 2251 | 2430 | 92.6% |
| ov_SC05_007 | 2261 | 1738 | 0 | 2266 | 2482 | 91.3% |
| ov_SC05_008 | 2278 | 1738 | 0 | 2280 | 2543 | 89.7% |
| ov_SC05_009 | 2257 | 1738 | 0 | 2261 | 2438 | 92.7% |
| ov_SC05_010 | 2284 | 1738 | 0 | 2288 | 2588 | 88.4% |
| ov_SC05_011 | 2253 | 1738 | 0 | 2254 | 2409 | 93.6% |
| ov_SC05_017 | 2360 | 1735 | 0 | 2371 | 2842 | 83.4% |
| ov_SC05_018 | 2307 | 1738 | 0 | 2320 | 2673 | 86.8% |
| ov_SC05_019 | 2257 | 1740 | 0 | 2257 | 2423 | 93.1% |
| ov_SC06_000 | 2321 | 1747 | 0 | 2324 | 2691 | 86.4% |
| ov_SC06_006 | 2273 | 1738 | 0 | 2274 | 2511 | 90.6% |
| ov_SC06_008 | 2292 | 1740 | 0 | 2298 | 2542 | 90.4% |
| ov_SC06_010 | 2273 | 1738 | 0 | 2278 | 2517 | 90.5% |
| ov_SC05_019 | 2258 | 1740 | 0 | 2258 | 2423 | 93.2% |
| ov_SC06_000 | 2322 | 1747 | 0 | 2325 | 2691 | 86.4% |
| ov_SC06_006 | 2274 | 1738 | 0 | 2275 | 2511 | 90.6% |
| ov_SC06_008 | 2293 | 1740 | 0 | 2299 | 2542 | 90.4% |
| ov_SC06_010 | 2274 | 1738 | 0 | 2279 | 2517 | 90.5% |
| ov_SC06_011 | 2262 | 1738 | 0 | 2266 | 2468 | 91.8% |
| ov_SC06_013 | 2255 | 1738 | 0 | 2256 | 2425 | 93.0% |
| ov_SC06_014 | 2261 | 1738 | 0 | 2263 | 2453 | 92.3% |
| ov_SC06_015 | 2258 | 1738 | 0 | 2258 | 2421 | 93.3% |
| ov_SC06_016 | 2276 | 1738 | 0 | 2278 | 2549 | 89.4% |
| ov_SC06_018 | 2288 | 1740 | 0 | 2295 | 2665 | 86.1% |
| ov_SC06_020 | 2265 | 1740 | 0 | 2266 | 2518 | 90.0% |
| ov_SC06_022 | 2284 | 1738 | 0 | 2292 | 2642 | 86.8% |
| ov_SC06_024 | 2294 | 1738 | 0 | 2300 | 2667 | 86.2% |
| ov_SC06_025 | 2278 | 1738 | 0 | 2283 | 2572 | 88.8% |
| ov_SC06_027 | 2243 | 1738 | 0 | 2244 | 2408 | 93.2% |
| ov_SC06_029 | 2304 | 1738 | 0 | 2316 | 2662 | 87.0% |
| ov_SC06_030 | 2257 | 1738 | 0 | 2257 | 2456 | 91.9% |
| ov_SC06_032 | 2279 | 1739 | 0 | 2286 | 2658 | 86.0% |
| ov_SC06_033 | 2281 | 1739 | 0 | 2288 | 2631 | 87.0% |
| ov_SC06_013 | 2256 | 1738 | 0 | 2257 | 2425 | 93.1% |
| ov_SC06_014 | 2262 | 1738 | 0 | 2264 | 2453 | 92.3% |
| ov_SC06_015 | 2259 | 1738 | 0 | 2259 | 2421 | 93.3% |
| ov_SC06_016 | 2277 | 1738 | 0 | 2279 | 2549 | 89.4% |
| ov_SC06_018 | 2289 | 1740 | 0 | 2296 | 2665 | 86.2% |
| ov_SC06_020 | 2266 | 1740 | 0 | 2267 | 2518 | 90.0% |
| ov_SC06_022 | 2285 | 1738 | 0 | 2293 | 2642 | 86.8% |
| ov_SC06_024 | 2295 | 1738 | 0 | 2301 | 2667 | 86.3% |
| ov_SC06_025 | 2279 | 1738 | 0 | 2284 | 2572 | 88.8% |
| ov_SC06_027 | 2244 | 1738 | 0 | 2245 | 2408 | 93.2% |
| ov_SC06_029 | 2305 | 1738 | 0 | 2317 | 2662 | 87.0% |
| ov_SC06_030 | 2258 | 1738 | 0 | 2258 | 2456 | 91.9% |
| ov_SC06_032 | 2280 | 1739 | 0 | 2287 | 2658 | 86.0% |
| ov_SC06_033 | 2282 | 1739 | 0 | 2289 | 2631 | 87.0% |
| ov_SC07_000 | 2273 | 1742 | 0 | 2275 | 2521 | 90.2% |
| ov_SC07_001 | 2256 | 1738 | 0 | 2258 | 2454 | 92.0% |
| ov_SC07_002 | 2284 | 1738 | 0 | 2288 | 2579 | 88.7% |
| ov_SC07_006 | 2051 | 1555 | 0 | 2131 | 2455 | 86.8% |
| ov_SC07_001 | 2257 | 1738 | 0 | 2259 | 2454 | 92.1% |
| ov_SC07_002 | 2285 | 1738 | 0 | 2289 | 2579 | 88.8% |
| ov_SC07_006 | 2052 | 1555 | 0 | 2132 | 2455 | 86.8% |
| ov_SC07_007 | 2045 | 1586 | 0 | 2129 | 2613 | 81.5% |
| ov_SC07_008 | 2241 | 1738 | 0 | 2241 | 2386 | 93.9% |
| ov_SC07_009 | 2250 | 1738 | 0 | 2252 | 2430 | 92.7% |
| ov_SC07_010 | 2076 | 1608 | 0 | 2159 | 2524 | 85.5% |
| ov_SC07_011 | 2044 | 1585 | 0 | 2124 | 2449 | 86.7% |
| ov_SC07_008 | 2242 | 1738 | 0 | 2242 | 2386 | 94.0% |
| ov_SC07_009 | 2251 | 1738 | 0 | 2253 | 2430 | 92.7% |
| ov_SC07_010 | 2077 | 1608 | 0 | 2160 | 2524 | 85.6% |
| ov_SC07_011 | 2045 | 1585 | 0 | 2125 | 2449 | 86.8% |
+133 -2
View File
@@ -1891,7 +1891,7 @@ extern u8 D_801840EC[];
extern u8 D_8018416C[];
extern u8 D_80184044[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
@@ -1936,7 +1936,138 @@ void func_8013D3D4(int param_1, int param_2)
}
INCLUDE_ASM("asm/ov_SC01_001/nonmatchings/ov_SC01_001_jr_801380E0", func_8013D53C);
/* 9-byte, align-1 -> unaligned block copy */
extern s32 D_801EC788;
extern s32 D_801EC770;
extern u8 D_801F3152;
extern u8 D_801F31C6;
extern u8 D_801F307A;
extern u8 D_801F3134;
extern u8 D_801F3058;
extern u8 D_801F3079;
extern s32 D_801F3138;
extern s32 D_801EC784;
extern s32 D_801EC780;
extern s32 D_801EC768;
extern s32 D_801EC774;
extern s32 D_801EC778;
extern void *D_801EC758;
extern s32 D_801EC790;
extern void *D_801EC760;
void func_8013D53C(void *arg0v) {
extern Rec9 D_80184188[];
extern Rec12 D_801841C0[];
extern u8 D_80078EAF;
extern u8 D_801F3110;
extern s32 D_801EC77C;
Cmd_8013D53C *arg0 = arg0v;
extern u8 D_801841C4[];
extern u8 D_801841C8[];
extern unsigned char D_801F3070;
extern s16 *D_801EC764;
extern s32 D_801EC794;
extern s32 D_801EC798;
extern s32 D_801EC79C;
s32 s0v;
s32 t9v;
s32 t8v;
u8 b0, b1, b2;
u8 pad[8]; /* dead BLKmode local: frame 0x10 -> 0x18, zero code */
if (!(D_801EC788 & 1)) {
D_801EC770 = 1;
} else {
D_801EC770 = D_80078EAF;
}
b0 = ((u8 *)D_801841C0)[D_801EC770 * 12];
D_801F3152 = b0;
D_801F31C6 = b0;
b1 = D_801841C4[D_801EC770 * 12];
D_801F307A = b1;
D_801F3134 = b1;
b2 = D_801841C8[D_801EC770 * 12];
D_801F3058 = b2;
D_801F3079 = b2;
(*(S9 *)&D_801F3070) = ((S9 *)D_80184188)[D_801EC770];
(*(S9 *)&D_801F3110) = *(S9 *)(&D_801F3058 + 0x18); /* same addr as (*(S9 *)&D_801F3070); distinct sym defeats cse, keeps %hi/%lo */
D_801F3138 = 1;
D_801EC784 = -1;
D_801EC780 = 0;
D_801EC77C = -1;
D_801EC768 = 0;
D_801EC774 = 0;
D_801EC778 = 0;
if ((D_801EC788 & 2) && (D_801EC770 == 4)) {
s0v = (*(s32 * *)&D_801EC758)[18];
t9v = (*(s32 * *)&D_801EC758)[19];
t8v = (*(s32 * *)&D_801EC758)[20];
} else {
s32 *p = (s32 *)(D_801EC770 * 12 + (s32) (*(s32 * *)&D_801EC758)); /* block-local: local-alloc ties sum into mul chain */
s0v = p[0];
t9v = p[1];
t8v = p[2];
}
(*(Cmd_8013D53C * *)&D_801EC764) = arg0;
if (arg0 != 0) {
if (D_801EC790 != 0) {
s32 *p = (s32 *)(D_801EC770 * 12 + (s32) (*(s32 * *)&D_801EC760));
D_801EC794 = p[0];
D_801EC798 = p[1];
D_801EC79C = p[2];
} else {
while ((arg0->cmd & 0xFFFF) != 0xFF) {
if ((arg0->cmd & 0xFFFF) == 9) {
s32 n;
s32 i;
u16 *src;
u16 *dst;
n = arg0->w * arg0->h;
i = 0;
src = arg0->data;
__asm__("" :: "r"(src)); /* +2 refs on src (depth-2): keeps src above i, below the mfhi temp */
dst = src + n;
if (n > 0) {
do {
u16 px;
s32 r, g, b, out;
__asm__("" :: "r"(i)); /* +3 refs on i (depth-3): lifts i over dst in the $t2 race */
px = *src;
r = ((px & 0x1F) * s0v) / 2560;
g = (((px & 0x3E0) * t9v) / 2560) & 0x3E0;
b = (((px & 0x7C00) * t8v) / 2560) & 0x7C00;
out = r | g | b | (px & 0x8000);
if (out == 0 && px != 0) {
out = 0x8000;
}
*dst = out;
dst++;
i++;
src++;
} while (i < n);
}
}
arg0++;
}
}
}
}
+1 -1
View File
@@ -818,7 +818,7 @@ extern u8 D_80183FF0[];
extern u8 D_801840EC[];
extern u8 D_8018416C[];
extern u8 D_80184044[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+1 -1
View File
@@ -818,7 +818,7 @@ extern u8 D_80183FF0[];
extern u8 D_801840EC[];
extern u8 D_8018416C[];
extern u8 D_80184044[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+1 -1
View File
@@ -818,7 +818,7 @@ extern u8 D_80183FF0[];
extern u8 D_801840EC[];
extern u8 D_8018416C[];
extern u8 D_80184044[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+133 -2
View File
@@ -1900,7 +1900,7 @@ extern u8 D_8017FAB0[];
extern u8 D_8017FB30[];
extern u8 D_8017FA08[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
@@ -1945,7 +1945,138 @@ void func_8013D3D4(int param_1, int param_2)
}
INCLUDE_ASM("asm/ov_SC01_004/nonmatchings/ov_SC01_004_jr_801380E0", func_8013D53C);
/* 9-byte, align-1 -> unaligned block copy */
extern s32 D_8018EEF0;
extern s32 D_8018EED8;
extern u8 D_8019035A;
extern u8 D_801903CE;
extern u8 D_80190282;
extern u8 D_8019033C;
extern u8 D_80190260;
extern u8 D_80190281;
extern s32 D_80190340;
extern s32 D_8018EEEC;
extern s32 D_8018EEE8;
extern s32 D_8018EED0;
extern s32 D_8018EEDC;
extern s32 D_8018EEE0;
extern void *D_8018EEC0;
extern s32 D_8018EEF8;
extern void *D_8018EEC8;
void func_8013D53C(void *arg0v) {
extern Rec9 D_8017FB4C[];
extern Rec12 D_8017FB84[];
extern u8 D_80078EAF;
extern u8 D_80190318;
extern s32 D_8018EEE4;
Cmd_8013D53C *arg0 = arg0v;
extern u8 D_8017FB88[];
extern u8 D_8017FB8C[];
extern unsigned char D_80190278;
extern s16 *D_8018EECC;
extern s32 D_8018EEFC;
extern s32 D_8018EF00;
extern s32 D_8018EF04;
s32 s0v;
s32 t9v;
s32 t8v;
u8 b0, b1, b2;
u8 pad[8]; /* dead BLKmode local: frame 0x10 -> 0x18, zero code */
if (!(D_8018EEF0 & 1)) {
D_8018EED8 = 1;
} else {
D_8018EED8 = D_80078EAF;
}
b0 = ((u8 *)D_8017FB84)[D_8018EED8 * 12];
D_8019035A = b0;
D_801903CE = b0;
b1 = D_8017FB88[D_8018EED8 * 12];
D_80190282 = b1;
D_8019033C = b1;
b2 = D_8017FB8C[D_8018EED8 * 12];
D_80190260 = b2;
D_80190281 = b2;
(*(S9 *)&D_80190278) = ((S9 *)D_8017FB4C)[D_8018EED8];
(*(S9 *)&D_80190318) = *(S9 *)(&D_80190260 + 0x18); /* same addr as (*(S9 *)&D_80190278); distinct sym defeats cse, keeps %hi/%lo */
D_80190340 = 1;
D_8018EEEC = -1;
D_8018EEE8 = 0;
D_8018EEE4 = -1;
D_8018EED0 = 0;
D_8018EEDC = 0;
D_8018EEE0 = 0;
if ((D_8018EEF0 & 2) && (D_8018EED8 == 4)) {
s0v = (*(s32 * *)&D_8018EEC0)[18];
t9v = (*(s32 * *)&D_8018EEC0)[19];
t8v = (*(s32 * *)&D_8018EEC0)[20];
} else {
s32 *p = (s32 *)(D_8018EED8 * 12 + (s32) (*(s32 * *)&D_8018EEC0)); /* block-local: local-alloc ties sum into mul chain */
s0v = p[0];
t9v = p[1];
t8v = p[2];
}
(*(Cmd_8013D53C * *)&D_8018EECC) = arg0;
if (arg0 != 0) {
if (D_8018EEF8 != 0) {
s32 *p = (s32 *)(D_8018EED8 * 12 + (s32) (*(s32 * *)&D_8018EEC8));
D_8018EEFC = p[0];
D_8018EF00 = p[1];
D_8018EF04 = p[2];
} else {
while ((arg0->cmd & 0xFFFF) != 0xFF) {
if ((arg0->cmd & 0xFFFF) == 9) {
s32 n;
s32 i;
u16 *src;
u16 *dst;
n = arg0->w * arg0->h;
i = 0;
src = arg0->data;
__asm__("" :: "r"(src)); /* +2 refs on src (depth-2): keeps src above i, below the mfhi temp */
dst = src + n;
if (n > 0) {
do {
u16 px;
s32 r, g, b, out;
__asm__("" :: "r"(i)); /* +3 refs on i (depth-3): lifts i over dst in the $t2 race */
px = *src;
r = ((px & 0x1F) * s0v) / 2560;
g = (((px & 0x3E0) * t9v) / 2560) & 0x3E0;
b = (((px & 0x7C00) * t8v) / 2560) & 0x7C00;
out = r | g | b | (px & 0x8000);
if (out == 0 && px != 0) {
out = 0x8000;
}
*dst = out;
dst++;
i++;
src++;
} while (i < n);
}
}
arg0++;
}
}
}
}
+1 -1
View File
@@ -818,7 +818,7 @@ extern u8 D_8017F9B4[];
extern u8 D_8017FAB0[];
extern u8 D_8017FB30[];
extern u8 D_8017FA08[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+1 -1
View File
@@ -818,7 +818,7 @@ extern u8 D_8017F9B4[];
extern u8 D_8017FAB0[];
extern u8 D_8017FB30[];
extern u8 D_8017FA08[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+1 -1
View File
@@ -818,7 +818,7 @@ extern u8 D_8017F9B4[];
extern u8 D_8017FAB0[];
extern u8 D_8017FB30[];
extern u8 D_8017FA08[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+133 -2
View File
@@ -1892,7 +1892,7 @@ extern u8 D_80182C44[];
extern u8 D_80182CC4[];
extern u8 D_80182B9C[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
@@ -1937,7 +1937,138 @@ void func_8013D3D4(int param_1, int param_2)
}
INCLUDE_ASM("asm/ov_SC01_005/nonmatchings/ov_SC01_005_jr_801380E0", func_8013D53C);
/* 9-byte, align-1 -> unaligned block copy */
extern s32 D_801CC650;
extern s32 D_801CC638;
extern u8 D_801CDFBA;
extern u8 D_801CE060;
extern u8 D_801CDEE2;
extern u8 D_801CDF9C;
extern u8 D_801CDEC0;
extern u8 D_801CDEE1;
extern s32 D_801CDFA0;
extern s32 D_801CC64C;
extern s32 D_801CC648;
extern s32 D_801CC630;
extern s32 D_801CC63C;
extern s32 D_801CC640;
extern void *D_801CC620;
extern s32 D_801CC658;
extern void *D_801CC628;
void func_8013D53C(void *arg0v) {
extern Rec9 D_80182CE0[];
extern Rec12 D_80182D18[];
extern u8 D_80078EAF;
extern u8 D_801CDF78;
extern s32 D_801CC644;
Cmd_8013D53C *arg0 = arg0v;
extern u8 D_80182D1C[];
extern u8 D_80182D20[];
extern unsigned char D_801CDED8;
extern s16 *D_801CC62C;
extern s32 D_801CC65C;
extern s32 D_801CC660;
extern s32 D_801CC664;
s32 s0v;
s32 t9v;
s32 t8v;
u8 b0, b1, b2;
u8 pad[8]; /* dead BLKmode local: frame 0x10 -> 0x18, zero code */
if (!(D_801CC650 & 1)) {
D_801CC638 = 1;
} else {
D_801CC638 = D_80078EAF;
}
b0 = ((u8 *)D_80182D18)[D_801CC638 * 12];
D_801CDFBA = b0;
D_801CE060 = b0;
b1 = D_80182D1C[D_801CC638 * 12];
D_801CDEE2 = b1;
D_801CDF9C = b1;
b2 = D_80182D20[D_801CC638 * 12];
D_801CDEC0 = b2;
D_801CDEE1 = b2;
(*(S9 *)&D_801CDED8) = ((S9 *)D_80182CE0)[D_801CC638];
(*(S9 *)&D_801CDF78) = *(S9 *)(&D_801CDEC0 + 0x18); /* same addr as (*(S9 *)&D_801CDED8); distinct sym defeats cse, keeps %hi/%lo */
D_801CDFA0 = 1;
D_801CC64C = -1;
D_801CC648 = 0;
D_801CC644 = -1;
D_801CC630 = 0;
D_801CC63C = 0;
D_801CC640 = 0;
if ((D_801CC650 & 2) && (D_801CC638 == 4)) {
s0v = (*(s32 * *)&D_801CC620)[18];
t9v = (*(s32 * *)&D_801CC620)[19];
t8v = (*(s32 * *)&D_801CC620)[20];
} else {
s32 *p = (s32 *)(D_801CC638 * 12 + (s32) (*(s32 * *)&D_801CC620)); /* block-local: local-alloc ties sum into mul chain */
s0v = p[0];
t9v = p[1];
t8v = p[2];
}
(*(Cmd_8013D53C * *)&D_801CC62C) = arg0;
if (arg0 != 0) {
if (D_801CC658 != 0) {
s32 *p = (s32 *)(D_801CC638 * 12 + (s32) (*(s32 * *)&D_801CC628));
D_801CC65C = p[0];
D_801CC660 = p[1];
D_801CC664 = p[2];
} else {
while ((arg0->cmd & 0xFFFF) != 0xFF) {
if ((arg0->cmd & 0xFFFF) == 9) {
s32 n;
s32 i;
u16 *src;
u16 *dst;
n = arg0->w * arg0->h;
i = 0;
src = arg0->data;
__asm__("" :: "r"(src)); /* +2 refs on src (depth-2): keeps src above i, below the mfhi temp */
dst = src + n;
if (n > 0) {
do {
u16 px;
s32 r, g, b, out;
__asm__("" :: "r"(i)); /* +3 refs on i (depth-3): lifts i over dst in the $t2 race */
px = *src;
r = ((px & 0x1F) * s0v) / 2560;
g = (((px & 0x3E0) * t9v) / 2560) & 0x3E0;
b = (((px & 0x7C00) * t8v) / 2560) & 0x7C00;
out = r | g | b | (px & 0x8000);
if (out == 0 && px != 0) {
out = 0x8000;
}
*dst = out;
dst++;
i++;
src++;
} while (i < n);
}
}
arg0++;
}
}
}
}
+1 -1
View File
@@ -819,7 +819,7 @@ extern u8 D_80182B48[];
extern u8 D_80182C44[];
extern u8 D_80182CC4[];
extern u8 D_80182B9C[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+1 -1
View File
@@ -819,7 +819,7 @@ extern u8 D_80182B48[];
extern u8 D_80182C44[];
extern u8 D_80182CC4[];
extern u8 D_80182B9C[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+1 -1
View File
@@ -819,7 +819,7 @@ extern u8 D_80182B48[];
extern u8 D_80182C44[];
extern u8 D_80182CC4[];
extern u8 D_80182B9C[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+133 -2
View File
@@ -1892,7 +1892,7 @@ extern u8 D_80182C44[];
extern u8 D_80182CC4[];
extern u8 D_80182B9C[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
@@ -1937,7 +1937,138 @@ void func_8013D3D4(int param_1, int param_2)
}
INCLUDE_ASM("asm/ov_SC01_006/nonmatchings/ov_SC01_006_jr_801380E0", func_8013D53C);
/* 9-byte, align-1 -> unaligned block copy */
extern s32 D_801CC650;
extern s32 D_801CC638;
extern u8 D_801CDFBA;
extern u8 D_801CE060;
extern u8 D_801CDEE2;
extern u8 D_801CDF9C;
extern u8 D_801CDEC0;
extern u8 D_801CDEE1;
extern s32 D_801CDFA0;
extern s32 D_801CC64C;
extern s32 D_801CC648;
extern s32 D_801CC630;
extern s32 D_801CC63C;
extern s32 D_801CC640;
extern void *D_801CC620;
extern s32 D_801CC658;
extern void *D_801CC628;
void func_8013D53C(void *arg0v) {
extern Rec9 D_80182CE0[];
extern Rec12 D_80182D18[];
extern u8 D_80078EAF;
extern u8 D_801CDF78;
extern s32 D_801CC644;
Cmd_8013D53C *arg0 = arg0v;
extern u8 D_80182D1C[];
extern u8 D_80182D20[];
extern unsigned char D_801CDED8;
extern s16 *D_801CC62C;
extern s32 D_801CC65C;
extern s32 D_801CC660;
extern s32 D_801CC664;
s32 s0v;
s32 t9v;
s32 t8v;
u8 b0, b1, b2;
u8 pad[8]; /* dead BLKmode local: frame 0x10 -> 0x18, zero code */
if (!(D_801CC650 & 1)) {
D_801CC638 = 1;
} else {
D_801CC638 = D_80078EAF;
}
b0 = ((u8 *)D_80182D18)[D_801CC638 * 12];
D_801CDFBA = b0;
D_801CE060 = b0;
b1 = D_80182D1C[D_801CC638 * 12];
D_801CDEE2 = b1;
D_801CDF9C = b1;
b2 = D_80182D20[D_801CC638 * 12];
D_801CDEC0 = b2;
D_801CDEE1 = b2;
(*(S9 *)&D_801CDED8) = ((S9 *)D_80182CE0)[D_801CC638];
(*(S9 *)&D_801CDF78) = *(S9 *)(&D_801CDEC0 + 0x18); /* same addr as (*(S9 *)&D_801CDED8); distinct sym defeats cse, keeps %hi/%lo */
D_801CDFA0 = 1;
D_801CC64C = -1;
D_801CC648 = 0;
D_801CC644 = -1;
D_801CC630 = 0;
D_801CC63C = 0;
D_801CC640 = 0;
if ((D_801CC650 & 2) && (D_801CC638 == 4)) {
s0v = (*(s32 * *)&D_801CC620)[18];
t9v = (*(s32 * *)&D_801CC620)[19];
t8v = (*(s32 * *)&D_801CC620)[20];
} else {
s32 *p = (s32 *)(D_801CC638 * 12 + (s32) (*(s32 * *)&D_801CC620)); /* block-local: local-alloc ties sum into mul chain */
s0v = p[0];
t9v = p[1];
t8v = p[2];
}
(*(Cmd_8013D53C * *)&D_801CC62C) = arg0;
if (arg0 != 0) {
if (D_801CC658 != 0) {
s32 *p = (s32 *)(D_801CC638 * 12 + (s32) (*(s32 * *)&D_801CC628));
D_801CC65C = p[0];
D_801CC660 = p[1];
D_801CC664 = p[2];
} else {
while ((arg0->cmd & 0xFFFF) != 0xFF) {
if ((arg0->cmd & 0xFFFF) == 9) {
s32 n;
s32 i;
u16 *src;
u16 *dst;
n = arg0->w * arg0->h;
i = 0;
src = arg0->data;
__asm__("" :: "r"(src)); /* +2 refs on src (depth-2): keeps src above i, below the mfhi temp */
dst = src + n;
if (n > 0) {
do {
u16 px;
s32 r, g, b, out;
__asm__("" :: "r"(i)); /* +3 refs on i (depth-3): lifts i over dst in the $t2 race */
px = *src;
r = ((px & 0x1F) * s0v) / 2560;
g = (((px & 0x3E0) * t9v) / 2560) & 0x3E0;
b = (((px & 0x7C00) * t8v) / 2560) & 0x7C00;
out = r | g | b | (px & 0x8000);
if (out == 0 && px != 0) {
out = 0x8000;
}
*dst = out;
dst++;
i++;
src++;
} while (i < n);
}
}
arg0++;
}
}
}
}
+1 -1
View File
@@ -819,7 +819,7 @@ extern u8 D_80182B48[];
extern u8 D_80182C44[];
extern u8 D_80182CC4[];
extern u8 D_80182B9C[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+1 -1
View File
@@ -819,7 +819,7 @@ extern u8 D_80182B48[];
extern u8 D_80182C44[];
extern u8 D_80182CC4[];
extern u8 D_80182B9C[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+1 -1
View File
@@ -819,7 +819,7 @@ extern u8 D_80182B48[];
extern u8 D_80182C44[];
extern u8 D_80182CC4[];
extern u8 D_80182B9C[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+133 -2
View File
@@ -1900,7 +1900,7 @@ extern u8 D_80180024[];
extern u8 D_801800A4[];
extern u8 D_8017FF7C[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
@@ -1945,7 +1945,138 @@ void func_8013D3D4(int param_1, int param_2)
}
INCLUDE_ASM("asm/ov_SC01_008/nonmatchings/ov_SC01_008_jr_801380E0", func_8013D53C);
/* 9-byte, align-1 -> unaligned block copy */
extern s32 D_801A2100;
extern s32 D_801A20E8;
extern u8 D_801A356A;
extern u8 D_801A35DE;
extern u8 D_801A3492;
extern u8 D_801A354C;
extern u8 D_801A3470;
extern u8 D_801A3491;
extern s32 D_801A3550;
extern s32 D_801A20FC;
extern s32 D_801A20F8;
extern s32 D_801A20E0;
extern s32 D_801A20EC;
extern s32 D_801A20F0;
extern void *D_801A20D0;
extern s32 D_801A2108;
extern void *D_801A20D8;
void func_8013D53C(void *arg0v) {
extern Rec9 D_801800C0[];
extern Rec12 D_801800F8[];
extern u8 D_80078EAF;
extern u8 D_801A3528;
extern s32 D_801A20F4;
Cmd_8013D53C *arg0 = arg0v;
extern u8 D_801800FC[];
extern u8 D_80180100[];
extern unsigned char D_801A3488;
extern s16 *D_801A20DC;
extern s32 D_801A210C;
extern s32 D_801A2110;
extern s32 D_801A2114;
s32 s0v;
s32 t9v;
s32 t8v;
u8 b0, b1, b2;
u8 pad[8]; /* dead BLKmode local: frame 0x10 -> 0x18, zero code */
if (!(D_801A2100 & 1)) {
D_801A20E8 = 1;
} else {
D_801A20E8 = D_80078EAF;
}
b0 = ((u8 *)D_801800F8)[D_801A20E8 * 12];
D_801A356A = b0;
D_801A35DE = b0;
b1 = D_801800FC[D_801A20E8 * 12];
D_801A3492 = b1;
D_801A354C = b1;
b2 = D_80180100[D_801A20E8 * 12];
D_801A3470 = b2;
D_801A3491 = b2;
(*(S9 *)&D_801A3488) = ((S9 *)D_801800C0)[D_801A20E8];
(*(S9 *)&D_801A3528) = *(S9 *)(&D_801A3470 + 0x18); /* same addr as (*(S9 *)&D_801A3488); distinct sym defeats cse, keeps %hi/%lo */
D_801A3550 = 1;
D_801A20FC = -1;
D_801A20F8 = 0;
D_801A20F4 = -1;
D_801A20E0 = 0;
D_801A20EC = 0;
D_801A20F0 = 0;
if ((D_801A2100 & 2) && (D_801A20E8 == 4)) {
s0v = (*(s32 * *)&D_801A20D0)[18];
t9v = (*(s32 * *)&D_801A20D0)[19];
t8v = (*(s32 * *)&D_801A20D0)[20];
} else {
s32 *p = (s32 *)(D_801A20E8 * 12 + (s32) (*(s32 * *)&D_801A20D0)); /* block-local: local-alloc ties sum into mul chain */
s0v = p[0];
t9v = p[1];
t8v = p[2];
}
(*(Cmd_8013D53C * *)&D_801A20DC) = arg0;
if (arg0 != 0) {
if (D_801A2108 != 0) {
s32 *p = (s32 *)(D_801A20E8 * 12 + (s32) (*(s32 * *)&D_801A20D8));
D_801A210C = p[0];
D_801A2110 = p[1];
D_801A2114 = p[2];
} else {
while ((arg0->cmd & 0xFFFF) != 0xFF) {
if ((arg0->cmd & 0xFFFF) == 9) {
s32 n;
s32 i;
u16 *src;
u16 *dst;
n = arg0->w * arg0->h;
i = 0;
src = arg0->data;
__asm__("" :: "r"(src)); /* +2 refs on src (depth-2): keeps src above i, below the mfhi temp */
dst = src + n;
if (n > 0) {
do {
u16 px;
s32 r, g, b, out;
__asm__("" :: "r"(i)); /* +3 refs on i (depth-3): lifts i over dst in the $t2 race */
px = *src;
r = ((px & 0x1F) * s0v) / 2560;
g = (((px & 0x3E0) * t9v) / 2560) & 0x3E0;
b = (((px & 0x7C00) * t8v) / 2560) & 0x7C00;
out = r | g | b | (px & 0x8000);
if (out == 0 && px != 0) {
out = 0x8000;
}
*dst = out;
dst++;
i++;
src++;
} while (i < n);
}
}
arg0++;
}
}
}
}
+1 -1
View File
@@ -818,7 +818,7 @@ extern u8 D_8017FF28[];
extern u8 D_80180024[];
extern u8 D_801800A4[];
extern u8 D_8017FF7C[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+1 -1
View File
@@ -818,7 +818,7 @@ extern u8 D_8017FF28[];
extern u8 D_80180024[];
extern u8 D_801800A4[];
extern u8 D_8017FF7C[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+1 -1
View File
@@ -818,7 +818,7 @@ extern u8 D_8017FF28[];
extern u8 D_80180024[];
extern u8 D_801800A4[];
extern u8 D_8017FF7C[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+133 -2
View File
@@ -1900,7 +1900,7 @@ extern u8 D_8018320C[];
extern u8 D_8018328C[];
extern u8 D_80183164[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
@@ -1945,7 +1945,138 @@ void func_8013D3D4(int param_1, int param_2)
}
INCLUDE_ASM("asm/ov_SC01_009/nonmatchings/ov_SC01_009_jr_801380E0", func_8013D53C);
/* 9-byte, align-1 -> unaligned block copy */
extern s32 D_801F1F60;
extern s32 D_801F1F48;
extern u8 D_801F33EA;
extern u8 D_801F345E;
extern u8 D_801F3312;
extern u8 D_801F33CC;
extern u8 D_801F32F0;
extern u8 D_801F3311;
extern s32 D_801F33D0;
extern s32 D_801F1F5C;
extern s32 D_801F1F58;
extern s32 D_801F1F40;
extern s32 D_801F1F4C;
extern s32 D_801F1F50;
extern void *D_801F1F30;
extern s32 D_801F1F68;
extern void *D_801F1F38;
void func_8013D53C(void *arg0v) {
extern Rec9 D_801832A8[];
extern Rec12 D_801832E0[];
extern u8 D_80078EAF;
extern u8 D_801F33A8;
extern s32 D_801F1F54;
Cmd_8013D53C *arg0 = arg0v;
extern u8 D_801832E4[];
extern u8 D_801832E8[];
extern unsigned char D_801F3308;
extern s16 *D_801F1F3C;
extern s32 D_801F1F6C;
extern s32 D_801F1F70;
extern s32 D_801F1F74;
s32 s0v;
s32 t9v;
s32 t8v;
u8 b0, b1, b2;
u8 pad[8]; /* dead BLKmode local: frame 0x10 -> 0x18, zero code */
if (!(D_801F1F60 & 1)) {
D_801F1F48 = 1;
} else {
D_801F1F48 = D_80078EAF;
}
b0 = ((u8 *)D_801832E0)[D_801F1F48 * 12];
D_801F33EA = b0;
D_801F345E = b0;
b1 = D_801832E4[D_801F1F48 * 12];
D_801F3312 = b1;
D_801F33CC = b1;
b2 = D_801832E8[D_801F1F48 * 12];
D_801F32F0 = b2;
D_801F3311 = b2;
(*(S9 *)&D_801F3308) = ((S9 *)D_801832A8)[D_801F1F48];
(*(S9 *)&D_801F33A8) = *(S9 *)(&D_801F32F0 + 0x18); /* same addr as (*(S9 *)&D_801F3308); distinct sym defeats cse, keeps %hi/%lo */
D_801F33D0 = 1;
D_801F1F5C = -1;
D_801F1F58 = 0;
D_801F1F54 = -1;
D_801F1F40 = 0;
D_801F1F4C = 0;
D_801F1F50 = 0;
if ((D_801F1F60 & 2) && (D_801F1F48 == 4)) {
s0v = (*(s32 * *)&D_801F1F30)[18];
t9v = (*(s32 * *)&D_801F1F30)[19];
t8v = (*(s32 * *)&D_801F1F30)[20];
} else {
s32 *p = (s32 *)(D_801F1F48 * 12 + (s32) (*(s32 * *)&D_801F1F30)); /* block-local: local-alloc ties sum into mul chain */
s0v = p[0];
t9v = p[1];
t8v = p[2];
}
(*(Cmd_8013D53C * *)&D_801F1F3C) = arg0;
if (arg0 != 0) {
if (D_801F1F68 != 0) {
s32 *p = (s32 *)(D_801F1F48 * 12 + (s32) (*(s32 * *)&D_801F1F38));
D_801F1F6C = p[0];
D_801F1F70 = p[1];
D_801F1F74 = p[2];
} else {
while ((arg0->cmd & 0xFFFF) != 0xFF) {
if ((arg0->cmd & 0xFFFF) == 9) {
s32 n;
s32 i;
u16 *src;
u16 *dst;
n = arg0->w * arg0->h;
i = 0;
src = arg0->data;
__asm__("" :: "r"(src)); /* +2 refs on src (depth-2): keeps src above i, below the mfhi temp */
dst = src + n;
if (n > 0) {
do {
u16 px;
s32 r, g, b, out;
__asm__("" :: "r"(i)); /* +3 refs on i (depth-3): lifts i over dst in the $t2 race */
px = *src;
r = ((px & 0x1F) * s0v) / 2560;
g = (((px & 0x3E0) * t9v) / 2560) & 0x3E0;
b = (((px & 0x7C00) * t8v) / 2560) & 0x7C00;
out = r | g | b | (px & 0x8000);
if (out == 0 && px != 0) {
out = 0x8000;
}
*dst = out;
dst++;
i++;
src++;
} while (i < n);
}
}
arg0++;
}
}
}
}
+1 -1
View File
@@ -818,7 +818,7 @@ extern u8 D_80183110[];
extern u8 D_8018320C[];
extern u8 D_8018328C[];
extern u8 D_80183164[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+1 -1
View File
@@ -818,7 +818,7 @@ extern u8 D_80183110[];
extern u8 D_8018320C[];
extern u8 D_8018328C[];
extern u8 D_80183164[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+1 -1
View File
@@ -818,7 +818,7 @@ extern u8 D_80183110[];
extern u8 D_8018320C[];
extern u8 D_8018328C[];
extern u8 D_80183164[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+133 -2
View File
@@ -1901,7 +1901,7 @@ extern u8 D_8017EE8C[];
extern u8 D_8017EF0C[];
extern u8 D_8017EDE4[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
@@ -1946,7 +1946,138 @@ void func_8013D3D4(int param_1, int param_2)
}
INCLUDE_ASM("asm/ov_SC01_074/nonmatchings/ov_SC01_074_jr_801380E0", func_8013D53C);
/* 9-byte, align-1 -> unaligned block copy */
extern s32 D_8019A9E0;
extern s32 D_8019A9C8;
extern u8 D_8019BCFA;
extern u8 D_8019BD6E;
extern u8 D_8019BC22;
extern u8 D_8019BCDC;
extern u8 D_8019BC00;
extern u8 D_8019BC21;
extern s32 D_8019BCE0;
extern s32 D_8019A9DC;
extern s32 D_8019A9D8;
extern s32 D_8019A9C0;
extern s32 D_8019A9CC;
extern s32 D_8019A9D0;
extern void *D_8019A9B0;
extern s32 D_8019A9E8;
extern void *D_8019A9B8;
void func_8013D53C(void *arg0v) {
extern Rec9 D_8017EF28[];
extern Rec12 D_8017EF60[];
extern u8 D_80078EAF;
extern u8 D_8019BCB8;
extern s32 D_8019A9D4;
Cmd_8013D53C *arg0 = arg0v;
extern u8 D_8017EF64[];
extern u8 D_8017EF68[];
extern unsigned char D_8019BC18;
extern s16 *D_8019A9BC;
extern s32 D_8019A9EC;
extern s32 D_8019A9F0;
extern s32 D_8019A9F4;
s32 s0v;
s32 t9v;
s32 t8v;
u8 b0, b1, b2;
u8 pad[8]; /* dead BLKmode local: frame 0x10 -> 0x18, zero code */
if (!(D_8019A9E0 & 1)) {
D_8019A9C8 = 1;
} else {
D_8019A9C8 = D_80078EAF;
}
b0 = ((u8 *)D_8017EF60)[D_8019A9C8 * 12];
D_8019BCFA = b0;
D_8019BD6E = b0;
b1 = D_8017EF64[D_8019A9C8 * 12];
D_8019BC22 = b1;
D_8019BCDC = b1;
b2 = D_8017EF68[D_8019A9C8 * 12];
D_8019BC00 = b2;
D_8019BC21 = b2;
(*(S9 *)&D_8019BC18) = ((S9 *)D_8017EF28)[D_8019A9C8];
(*(S9 *)&D_8019BCB8) = *(S9 *)(&D_8019BC00 + 0x18); /* same addr as (*(S9 *)&D_8019BC18); distinct sym defeats cse, keeps %hi/%lo */
D_8019BCE0 = 1;
D_8019A9DC = -1;
D_8019A9D8 = 0;
D_8019A9D4 = -1;
D_8019A9C0 = 0;
D_8019A9CC = 0;
D_8019A9D0 = 0;
if ((D_8019A9E0 & 2) && (D_8019A9C8 == 4)) {
s0v = (*(s32 * *)&D_8019A9B0)[18];
t9v = (*(s32 * *)&D_8019A9B0)[19];
t8v = (*(s32 * *)&D_8019A9B0)[20];
} else {
s32 *p = (s32 *)(D_8019A9C8 * 12 + (s32) (*(s32 * *)&D_8019A9B0)); /* block-local: local-alloc ties sum into mul chain */
s0v = p[0];
t9v = p[1];
t8v = p[2];
}
(*(Cmd_8013D53C * *)&D_8019A9BC) = arg0;
if (arg0 != 0) {
if (D_8019A9E8 != 0) {
s32 *p = (s32 *)(D_8019A9C8 * 12 + (s32) (*(s32 * *)&D_8019A9B8));
D_8019A9EC = p[0];
D_8019A9F0 = p[1];
D_8019A9F4 = p[2];
} else {
while ((arg0->cmd & 0xFFFF) != 0xFF) {
if ((arg0->cmd & 0xFFFF) == 9) {
s32 n;
s32 i;
u16 *src;
u16 *dst;
n = arg0->w * arg0->h;
i = 0;
src = arg0->data;
__asm__("" :: "r"(src)); /* +2 refs on src (depth-2): keeps src above i, below the mfhi temp */
dst = src + n;
if (n > 0) {
do {
u16 px;
s32 r, g, b, out;
__asm__("" :: "r"(i)); /* +3 refs on i (depth-3): lifts i over dst in the $t2 race */
px = *src;
r = ((px & 0x1F) * s0v) / 2560;
g = (((px & 0x3E0) * t9v) / 2560) & 0x3E0;
b = (((px & 0x7C00) * t8v) / 2560) & 0x7C00;
out = r | g | b | (px & 0x8000);
if (out == 0 && px != 0) {
out = 0x8000;
}
*dst = out;
dst++;
i++;
src++;
} while (i < n);
}
}
arg0++;
}
}
}
}
+1 -1
View File
@@ -819,7 +819,7 @@ extern u8 D_8017ED90[];
extern u8 D_8017EE8C[];
extern u8 D_8017EF0C[];
extern u8 D_8017EDE4[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+1 -1
View File
@@ -819,7 +819,7 @@ extern u8 D_8017ED90[];
extern u8 D_8017EE8C[];
extern u8 D_8017EF0C[];
extern u8 D_8017EDE4[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+1 -1
View File
@@ -819,7 +819,7 @@ extern u8 D_8017ED90[];
extern u8 D_8017EE8C[];
extern u8 D_8017EF0C[];
extern u8 D_8017EDE4[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+133 -2
View File
@@ -1901,7 +1901,7 @@ extern u8 D_80183DEC[];
extern u8 D_80183E6C[];
extern u8 D_80183D44[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
@@ -1946,7 +1946,138 @@ void func_8013D3D4(int param_1, int param_2)
}
INCLUDE_ASM("asm/ov_SC01_080/nonmatchings/ov_SC01_080_jr_801380E0", func_8013D53C);
/* 9-byte, align-1 -> unaligned block copy */
extern s32 D_801C4810;
extern s32 D_801C47F8;
extern u8 D_801C7EDE;
extern u8 D_801C7F4E;
extern u8 D_801C7E00;
extern u8 D_801C7EBC;
extern u8 D_801C75D8;
extern u8 D_801C75F9;
extern s32 D_801C7EC4;
extern s32 D_801C480C;
extern s32 D_801C4808;
extern s32 D_801C47F0;
extern s32 D_801C47FC;
extern s32 D_801C4800;
extern void *D_801C47E0;
extern s32 D_801C4818;
extern void *D_801C47E8;
void func_8013D53C(void *arg0v) {
extern Rec9 D_80183E88[];
extern Rec12 D_80183EC0[];
extern u8 D_80078EAF;
extern u8 D_801C7E98;
extern s32 D_801C4804;
Cmd_8013D53C *arg0 = arg0v;
extern u8 D_80183EC4[];
extern u8 D_80183EC8[];
extern unsigned char D_801C75F0;
extern s16 *D_801C47EC;
extern s32 D_801C481C;
extern s32 D_801C4820;
extern s32 D_801C4824;
s32 s0v;
s32 t9v;
s32 t8v;
u8 b0, b1, b2;
u8 pad[8]; /* dead BLKmode local: frame 0x10 -> 0x18, zero code */
if (!(D_801C4810 & 1)) {
D_801C47F8 = 1;
} else {
D_801C47F8 = D_80078EAF;
}
b0 = ((u8 *)D_80183EC0)[D_801C47F8 * 12];
D_801C7EDE = b0;
D_801C7F4E = b0;
b1 = D_80183EC4[D_801C47F8 * 12];
D_801C7E00 = b1;
D_801C7EBC = b1;
b2 = D_80183EC8[D_801C47F8 * 12];
D_801C75D8 = b2;
D_801C75F9 = b2;
(*(S9 *)&D_801C75F0) = ((S9 *)D_80183E88)[D_801C47F8];
(*(S9 *)&D_801C7E98) = *(S9 *)(&D_801C75D8 + 0x18); /* same addr as (*(S9 *)&D_801C75F0); distinct sym defeats cse, keeps %hi/%lo */
D_801C7EC4 = 1;
D_801C480C = -1;
D_801C4808 = 0;
D_801C4804 = -1;
D_801C47F0 = 0;
D_801C47FC = 0;
D_801C4800 = 0;
if ((D_801C4810 & 2) && (D_801C47F8 == 4)) {
s0v = (*(s32 * *)&D_801C47E0)[18];
t9v = (*(s32 * *)&D_801C47E0)[19];
t8v = (*(s32 * *)&D_801C47E0)[20];
} else {
s32 *p = (s32 *)(D_801C47F8 * 12 + (s32) (*(s32 * *)&D_801C47E0)); /* block-local: local-alloc ties sum into mul chain */
s0v = p[0];
t9v = p[1];
t8v = p[2];
}
(*(Cmd_8013D53C * *)&D_801C47EC) = arg0;
if (arg0 != 0) {
if (D_801C4818 != 0) {
s32 *p = (s32 *)(D_801C47F8 * 12 + (s32) (*(s32 * *)&D_801C47E8));
D_801C481C = p[0];
D_801C4820 = p[1];
D_801C4824 = p[2];
} else {
while ((arg0->cmd & 0xFFFF) != 0xFF) {
if ((arg0->cmd & 0xFFFF) == 9) {
s32 n;
s32 i;
u16 *src;
u16 *dst;
n = arg0->w * arg0->h;
i = 0;
src = arg0->data;
__asm__("" :: "r"(src)); /* +2 refs on src (depth-2): keeps src above i, below the mfhi temp */
dst = src + n;
if (n > 0) {
do {
u16 px;
s32 r, g, b, out;
__asm__("" :: "r"(i)); /* +3 refs on i (depth-3): lifts i over dst in the $t2 race */
px = *src;
r = ((px & 0x1F) * s0v) / 2560;
g = (((px & 0x3E0) * t9v) / 2560) & 0x3E0;
b = (((px & 0x7C00) * t8v) / 2560) & 0x7C00;
out = r | g | b | (px & 0x8000);
if (out == 0 && px != 0) {
out = 0x8000;
}
*dst = out;
dst++;
i++;
src++;
} while (i < n);
}
}
arg0++;
}
}
}
}
+1 -1
View File
@@ -819,7 +819,7 @@ extern u8 D_80183CF0[];
extern u8 D_80183DEC[];
extern u8 D_80183E6C[];
extern u8 D_80183D44[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+1 -1
View File
@@ -819,7 +819,7 @@ extern u8 D_80183CF0[];
extern u8 D_80183DEC[];
extern u8 D_80183E6C[];
extern u8 D_80183D44[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+1 -1
View File
@@ -819,7 +819,7 @@ extern u8 D_80183CF0[];
extern u8 D_80183DEC[];
extern u8 D_80183E6C[];
extern u8 D_80183D44[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+133 -2
View File
@@ -1901,7 +1901,7 @@ extern u8 D_801870E0[];
extern u8 D_80187160[];
extern u8 D_80187038[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
@@ -1946,7 +1946,138 @@ void func_8013D3D4(int param_1, int param_2)
}
INCLUDE_ASM("asm/ov_SC01_084/nonmatchings/ov_SC01_084_jr_801380E0", func_8013D53C);
/* 9-byte, align-1 -> unaligned block copy */
extern s32 D_801C62B8;
extern s32 D_801C62A0;
extern u8 D_801C7ABA;
extern u8 D_801C7BF6;
extern u8 D_801C7762;
extern u8 D_801C781C;
extern u8 D_801C7730;
extern u8 D_801C7761;
extern s32 D_801C7820;
extern s32 D_801C62B4;
extern s32 D_801C62B0;
extern s32 D_801C6298;
extern s32 D_801C62A4;
extern s32 D_801C62A8;
extern void *D_801C6288;
extern s32 D_801C62C0;
extern void *D_801C6290;
void func_8013D53C(void *arg0v) {
extern Rec9 D_8018717C[];
extern Rec12 D_801871B4[];
extern u8 D_80078EAF;
extern u8 D_801C77F8;
extern s32 D_801C62AC;
Cmd_8013D53C *arg0 = arg0v;
extern u8 D_801871B8[];
extern u8 D_801871BC[];
extern unsigned char D_801C7758;
extern s16 *D_801C6294;
extern s32 D_801C62C4;
extern s32 D_801C62C8;
extern s32 D_801C62CC;
s32 s0v;
s32 t9v;
s32 t8v;
u8 b0, b1, b2;
u8 pad[8]; /* dead BLKmode local: frame 0x10 -> 0x18, zero code */
if (!(D_801C62B8 & 1)) {
D_801C62A0 = 1;
} else {
D_801C62A0 = D_80078EAF;
}
b0 = ((u8 *)D_801871B4)[D_801C62A0 * 12];
D_801C7ABA = b0;
D_801C7BF6 = b0;
b1 = D_801871B8[D_801C62A0 * 12];
D_801C7762 = b1;
D_801C781C = b1;
b2 = D_801871BC[D_801C62A0 * 12];
D_801C7730 = b2;
D_801C7761 = b2;
(*(S9 *)&D_801C7758) = ((S9 *)D_8018717C)[D_801C62A0];
(*(S9 *)&D_801C77F8) = *(S9 *)(&D_801C7730 + 0x28); /* same addr as (*(S9 *)&D_801C7758); distinct sym defeats cse, keeps %hi/%lo */
D_801C7820 = 1;
D_801C62B4 = -1;
D_801C62B0 = 0;
D_801C62AC = -1;
D_801C6298 = 0;
D_801C62A4 = 0;
D_801C62A8 = 0;
if ((D_801C62B8 & 2) && (D_801C62A0 == 4)) {
s0v = (*(s32 * *)&D_801C6288)[18];
t9v = (*(s32 * *)&D_801C6288)[19];
t8v = (*(s32 * *)&D_801C6288)[20];
} else {
s32 *p = (s32 *)(D_801C62A0 * 12 + (s32) (*(s32 * *)&D_801C6288)); /* block-local: local-alloc ties sum into mul chain */
s0v = p[0];
t9v = p[1];
t8v = p[2];
}
(*(Cmd_8013D53C * *)&D_801C6294) = arg0;
if (arg0 != 0) {
if (D_801C62C0 != 0) {
s32 *p = (s32 *)(D_801C62A0 * 12 + (s32) (*(s32 * *)&D_801C6290));
D_801C62C4 = p[0];
D_801C62C8 = p[1];
D_801C62CC = p[2];
} else {
while ((arg0->cmd & 0xFFFF) != 0xFF) {
if ((arg0->cmd & 0xFFFF) == 9) {
s32 n;
s32 i;
u16 *src;
u16 *dst;
n = arg0->w * arg0->h;
i = 0;
src = arg0->data;
__asm__("" :: "r"(src)); /* +2 refs on src (depth-2): keeps src above i, below the mfhi temp */
dst = src + n;
if (n > 0) {
do {
u16 px;
s32 r, g, b, out;
__asm__("" :: "r"(i)); /* +3 refs on i (depth-3): lifts i over dst in the $t2 race */
px = *src;
r = ((px & 0x1F) * s0v) / 2560;
g = (((px & 0x3E0) * t9v) / 2560) & 0x3E0;
b = (((px & 0x7C00) * t8v) / 2560) & 0x7C00;
out = r | g | b | (px & 0x8000);
if (out == 0 && px != 0) {
out = 0x8000;
}
*dst = out;
dst++;
i++;
src++;
} while (i < n);
}
}
arg0++;
}
}
}
}
+1 -1
View File
@@ -819,7 +819,7 @@ extern u8 D_80186FE4[];
extern u8 D_801870E0[];
extern u8 D_80187160[];
extern u8 D_80187038[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+1 -1
View File
@@ -819,7 +819,7 @@ extern u8 D_80186FE4[];
extern u8 D_801870E0[];
extern u8 D_80187160[];
extern u8 D_80187038[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+1 -1
View File
@@ -819,7 +819,7 @@ extern u8 D_80186FE4[];
extern u8 D_801870E0[];
extern u8 D_80187160[];
extern u8 D_80187038[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+133 -2
View File
@@ -1892,7 +1892,7 @@ extern u8 D_8018B490[];
extern u8 D_8018B510[];
extern u8 D_8018B3E8[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
@@ -1937,7 +1937,138 @@ void func_8013D3D4(int param_1, int param_2)
}
INCLUDE_ASM("asm/ov_SC02_000/nonmatchings/ov_SC02_000_jr_801380E0", func_8013D53C);
/* 9-byte, align-1 -> unaligned block copy */
extern s32 D_801E6DE8;
extern s32 D_801E6DD0;
extern u8 D_801E87BE;
extern u8 D_801E8866;
extern u8 D_801E8692;
extern u8 D_801E876C;
extern u8 D_801E8670;
extern u8 D_801E8691;
extern s32 D_801E8774;
extern s32 D_801E6DE4;
extern s32 D_801E6DE0;
extern s32 D_801E6DC8;
extern s32 D_801E6DD4;
extern s32 D_801E6DD8;
extern void *D_801E6DB8;
extern s32 D_801E6DF0;
extern void *D_801E6DC0;
void func_8013D53C(void *arg0v) {
extern Rec9 D_8018B52C[];
extern Rec12 D_8018B564[];
extern u8 D_80078EAF;
extern u8 D_801E8740;
extern s32 D_801E6DDC;
Cmd_8013D53C *arg0 = arg0v;
extern u8 D_8018B568[];
extern u8 D_8018B56C[];
extern unsigned char D_801E8688;
extern s16 *D_801E6DC4;
extern s32 D_801E6DF4;
extern s32 D_801E6DF8;
extern s32 D_801E6DFC;
s32 s0v;
s32 t9v;
s32 t8v;
u8 b0, b1, b2;
u8 pad[8]; /* dead BLKmode local: frame 0x10 -> 0x18, zero code */
if (!(D_801E6DE8 & 1)) {
D_801E6DD0 = 1;
} else {
D_801E6DD0 = D_80078EAF;
}
b0 = ((u8 *)D_8018B564)[D_801E6DD0 * 12];
D_801E87BE = b0;
D_801E8866 = b0;
b1 = D_8018B568[D_801E6DD0 * 12];
D_801E8692 = b1;
D_801E876C = b1;
b2 = D_8018B56C[D_801E6DD0 * 12];
D_801E8670 = b2;
D_801E8691 = b2;
(*(S9 *)&D_801E8688) = ((S9 *)D_8018B52C)[D_801E6DD0];
(*(S9 *)&D_801E8740) = *(S9 *)(&D_801E8670 + 0x18); /* same addr as (*(S9 *)&D_801E8688); distinct sym defeats cse, keeps %hi/%lo */
D_801E8774 = 1;
D_801E6DE4 = -1;
D_801E6DE0 = 0;
D_801E6DDC = -1;
D_801E6DC8 = 0;
D_801E6DD4 = 0;
D_801E6DD8 = 0;
if ((D_801E6DE8 & 2) && (D_801E6DD0 == 4)) {
s0v = (*(s32 * *)&D_801E6DB8)[18];
t9v = (*(s32 * *)&D_801E6DB8)[19];
t8v = (*(s32 * *)&D_801E6DB8)[20];
} else {
s32 *p = (s32 *)(D_801E6DD0 * 12 + (s32) (*(s32 * *)&D_801E6DB8)); /* block-local: local-alloc ties sum into mul chain */
s0v = p[0];
t9v = p[1];
t8v = p[2];
}
(*(Cmd_8013D53C * *)&D_801E6DC4) = arg0;
if (arg0 != 0) {
if (D_801E6DF0 != 0) {
s32 *p = (s32 *)(D_801E6DD0 * 12 + (s32) (*(s32 * *)&D_801E6DC0));
D_801E6DF4 = p[0];
D_801E6DF8 = p[1];
D_801E6DFC = p[2];
} else {
while ((arg0->cmd & 0xFFFF) != 0xFF) {
if ((arg0->cmd & 0xFFFF) == 9) {
s32 n;
s32 i;
u16 *src;
u16 *dst;
n = arg0->w * arg0->h;
i = 0;
src = arg0->data;
__asm__("" :: "r"(src)); /* +2 refs on src (depth-2): keeps src above i, below the mfhi temp */
dst = src + n;
if (n > 0) {
do {
u16 px;
s32 r, g, b, out;
__asm__("" :: "r"(i)); /* +3 refs on i (depth-3): lifts i over dst in the $t2 race */
px = *src;
r = ((px & 0x1F) * s0v) / 2560;
g = (((px & 0x3E0) * t9v) / 2560) & 0x3E0;
b = (((px & 0x7C00) * t8v) / 2560) & 0x7C00;
out = r | g | b | (px & 0x8000);
if (out == 0 && px != 0) {
out = 0x8000;
}
*dst = out;
dst++;
i++;
src++;
} while (i < n);
}
}
arg0++;
}
}
}
}
+1 -1
View File
@@ -818,7 +818,7 @@ extern u8 D_8018B394[];
extern u8 D_8018B490[];
extern u8 D_8018B510[];
extern u8 D_8018B3E8[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+1 -1
View File
@@ -818,7 +818,7 @@ extern u8 D_8018B394[];
extern u8 D_8018B490[];
extern u8 D_8018B510[];
extern u8 D_8018B3E8[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+1 -1
View File
@@ -818,7 +818,7 @@ extern u8 D_8018B394[];
extern u8 D_8018B490[];
extern u8 D_8018B510[];
extern u8 D_8018B3E8[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+133 -2
View File
@@ -1892,7 +1892,7 @@ extern u8 D_8018B490[];
extern u8 D_8018B510[];
extern u8 D_8018B3E8[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
@@ -1937,7 +1937,138 @@ void func_8013D3D4(int param_1, int param_2)
}
INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_801380E0", func_8013D53C);
/* 9-byte, align-1 -> unaligned block copy */
extern s32 D_801E6DE8;
extern s32 D_801E6DD0;
extern u8 D_801E87BE;
extern u8 D_801E8866;
extern u8 D_801E8692;
extern u8 D_801E876C;
extern u8 D_801E8670;
extern u8 D_801E8691;
extern s32 D_801E8774;
extern s32 D_801E6DE4;
extern s32 D_801E6DE0;
extern s32 D_801E6DC8;
extern s32 D_801E6DD4;
extern s32 D_801E6DD8;
extern void *D_801E6DB8;
extern s32 D_801E6DF0;
extern void *D_801E6DC0;
void func_8013D53C(void *arg0v) {
extern Rec9 D_8018B52C[];
extern Rec12 D_8018B564[];
extern u8 D_80078EAF;
extern u8 D_801E8740;
extern s32 D_801E6DDC;
Cmd_8013D53C *arg0 = arg0v;
extern u8 D_8018B568[];
extern u8 D_8018B56C[];
extern unsigned char D_801E8688;
extern s16 *D_801E6DC4;
extern s32 D_801E6DF4;
extern s32 D_801E6DF8;
extern s32 D_801E6DFC;
s32 s0v;
s32 t9v;
s32 t8v;
u8 b0, b1, b2;
u8 pad[8]; /* dead BLKmode local: frame 0x10 -> 0x18, zero code */
if (!(D_801E6DE8 & 1)) {
D_801E6DD0 = 1;
} else {
D_801E6DD0 = D_80078EAF;
}
b0 = ((u8 *)D_8018B564)[D_801E6DD0 * 12];
D_801E87BE = b0;
D_801E8866 = b0;
b1 = D_8018B568[D_801E6DD0 * 12];
D_801E8692 = b1;
D_801E876C = b1;
b2 = D_8018B56C[D_801E6DD0 * 12];
D_801E8670 = b2;
D_801E8691 = b2;
(*(S9 *)&D_801E8688) = ((S9 *)D_8018B52C)[D_801E6DD0];
(*(S9 *)&D_801E8740) = *(S9 *)(&D_801E8670 + 0x18); /* same addr as (*(S9 *)&D_801E8688); distinct sym defeats cse, keeps %hi/%lo */
D_801E8774 = 1;
D_801E6DE4 = -1;
D_801E6DE0 = 0;
D_801E6DDC = -1;
D_801E6DC8 = 0;
D_801E6DD4 = 0;
D_801E6DD8 = 0;
if ((D_801E6DE8 & 2) && (D_801E6DD0 == 4)) {
s0v = (*(s32 * *)&D_801E6DB8)[18];
t9v = (*(s32 * *)&D_801E6DB8)[19];
t8v = (*(s32 * *)&D_801E6DB8)[20];
} else {
s32 *p = (s32 *)(D_801E6DD0 * 12 + (s32) (*(s32 * *)&D_801E6DB8)); /* block-local: local-alloc ties sum into mul chain */
s0v = p[0];
t9v = p[1];
t8v = p[2];
}
(*(Cmd_8013D53C * *)&D_801E6DC4) = arg0;
if (arg0 != 0) {
if (D_801E6DF0 != 0) {
s32 *p = (s32 *)(D_801E6DD0 * 12 + (s32) (*(s32 * *)&D_801E6DC0));
D_801E6DF4 = p[0];
D_801E6DF8 = p[1];
D_801E6DFC = p[2];
} else {
while ((arg0->cmd & 0xFFFF) != 0xFF) {
if ((arg0->cmd & 0xFFFF) == 9) {
s32 n;
s32 i;
u16 *src;
u16 *dst;
n = arg0->w * arg0->h;
i = 0;
src = arg0->data;
__asm__("" :: "r"(src)); /* +2 refs on src (depth-2): keeps src above i, below the mfhi temp */
dst = src + n;
if (n > 0) {
do {
u16 px;
s32 r, g, b, out;
__asm__("" :: "r"(i)); /* +3 refs on i (depth-3): lifts i over dst in the $t2 race */
px = *src;
r = ((px & 0x1F) * s0v) / 2560;
g = (((px & 0x3E0) * t9v) / 2560) & 0x3E0;
b = (((px & 0x7C00) * t8v) / 2560) & 0x7C00;
out = r | g | b | (px & 0x8000);
if (out == 0 && px != 0) {
out = 0x8000;
}
*dst = out;
dst++;
i++;
src++;
} while (i < n);
}
}
arg0++;
}
}
}
}
+1 -1
View File
@@ -818,7 +818,7 @@ extern u8 D_8018B394[];
extern u8 D_8018B490[];
extern u8 D_8018B510[];
extern u8 D_8018B3E8[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+1 -1
View File
@@ -818,7 +818,7 @@ extern u8 D_8018B394[];
extern u8 D_8018B490[];
extern u8 D_8018B510[];
extern u8 D_8018B3E8[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+1 -1
View File
@@ -818,7 +818,7 @@ extern u8 D_8018B394[];
extern u8 D_8018B490[];
extern u8 D_8018B510[];
extern u8 D_8018B3E8[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+133 -2
View File
@@ -1901,7 +1901,7 @@ extern u8 D_8017E570[];
extern u8 D_8017E5F0[];
extern u8 D_8017E4C8[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
@@ -1946,7 +1946,138 @@ void func_8013D3D4(int param_1, int param_2)
}
INCLUDE_ASM("asm/ov_SC02_004/nonmatchings/ov_SC02_004_jr_801380E0", func_8013D53C);
/* 9-byte, align-1 -> unaligned block copy */
extern s32 D_80195038;
extern s32 D_80195020;
extern u8 D_80196352;
extern u8 D_801963C6;
extern u8 D_8019627A;
extern u8 D_80196334;
extern u8 D_80196258;
extern u8 D_80196279;
extern s32 D_80196338;
extern s32 D_80195034;
extern s32 D_80195030;
extern s32 D_80195018;
extern s32 D_80195024;
extern s32 D_80195028;
extern void *D_80195008;
extern s32 D_80195040;
extern void *D_80195010;
void func_8013D53C(void *arg0v) {
extern Rec9 D_8017E60C[];
extern Rec12 D_8017E644[];
extern u8 D_80078EAF;
extern u8 D_80196310;
extern s32 D_8019502C;
Cmd_8013D53C *arg0 = arg0v;
extern u8 D_8017E648[];
extern u8 D_8017E64C[];
extern unsigned char D_80196270;
extern s16 *D_80195014;
extern s32 D_80195044;
extern s32 D_80195048;
extern s32 D_8019504C;
s32 s0v;
s32 t9v;
s32 t8v;
u8 b0, b1, b2;
u8 pad[8]; /* dead BLKmode local: frame 0x10 -> 0x18, zero code */
if (!(D_80195038 & 1)) {
D_80195020 = 1;
} else {
D_80195020 = D_80078EAF;
}
b0 = ((u8 *)D_8017E644)[D_80195020 * 12];
D_80196352 = b0;
D_801963C6 = b0;
b1 = D_8017E648[D_80195020 * 12];
D_8019627A = b1;
D_80196334 = b1;
b2 = D_8017E64C[D_80195020 * 12];
D_80196258 = b2;
D_80196279 = b2;
(*(S9 *)&D_80196270) = ((S9 *)D_8017E60C)[D_80195020];
(*(S9 *)&D_80196310) = *(S9 *)(&D_80196258 + 0x18); /* same addr as (*(S9 *)&D_80196270); distinct sym defeats cse, keeps %hi/%lo */
D_80196338 = 1;
D_80195034 = -1;
D_80195030 = 0;
D_8019502C = -1;
D_80195018 = 0;
D_80195024 = 0;
D_80195028 = 0;
if ((D_80195038 & 2) && (D_80195020 == 4)) {
s0v = (*(s32 * *)&D_80195008)[18];
t9v = (*(s32 * *)&D_80195008)[19];
t8v = (*(s32 * *)&D_80195008)[20];
} else {
s32 *p = (s32 *)(D_80195020 * 12 + (s32) (*(s32 * *)&D_80195008)); /* block-local: local-alloc ties sum into mul chain */
s0v = p[0];
t9v = p[1];
t8v = p[2];
}
(*(Cmd_8013D53C * *)&D_80195014) = arg0;
if (arg0 != 0) {
if (D_80195040 != 0) {
s32 *p = (s32 *)(D_80195020 * 12 + (s32) (*(s32 * *)&D_80195010));
D_80195044 = p[0];
D_80195048 = p[1];
D_8019504C = p[2];
} else {
while ((arg0->cmd & 0xFFFF) != 0xFF) {
if ((arg0->cmd & 0xFFFF) == 9) {
s32 n;
s32 i;
u16 *src;
u16 *dst;
n = arg0->w * arg0->h;
i = 0;
src = arg0->data;
__asm__("" :: "r"(src)); /* +2 refs on src (depth-2): keeps src above i, below the mfhi temp */
dst = src + n;
if (n > 0) {
do {
u16 px;
s32 r, g, b, out;
__asm__("" :: "r"(i)); /* +3 refs on i (depth-3): lifts i over dst in the $t2 race */
px = *src;
r = ((px & 0x1F) * s0v) / 2560;
g = (((px & 0x3E0) * t9v) / 2560) & 0x3E0;
b = (((px & 0x7C00) * t8v) / 2560) & 0x7C00;
out = r | g | b | (px & 0x8000);
if (out == 0 && px != 0) {
out = 0x8000;
}
*dst = out;
dst++;
i++;
src++;
} while (i < n);
}
}
arg0++;
}
}
}
}
+1 -1
View File
@@ -819,7 +819,7 @@ extern u8 D_8017E474[];
extern u8 D_8017E570[];
extern u8 D_8017E5F0[];
extern u8 D_8017E4C8[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+1 -1
View File
@@ -819,7 +819,7 @@ extern u8 D_8017E474[];
extern u8 D_8017E570[];
extern u8 D_8017E5F0[];
extern u8 D_8017E4C8[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+1 -1
View File
@@ -819,7 +819,7 @@ extern u8 D_8017E474[];
extern u8 D_8017E570[];
extern u8 D_8017E5F0[];
extern u8 D_8017E4C8[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+133 -2
View File
@@ -1901,7 +1901,7 @@ extern u8 D_80191174[];
extern u8 D_801911F4[];
extern u8 D_801910CC[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
@@ -1946,7 +1946,138 @@ void func_8013D3D4(int param_1, int param_2)
}
INCLUDE_ASM("asm/ov_SC02_005/nonmatchings/ov_SC02_005_jr_801380E0", func_8013D53C);
/* 9-byte, align-1 -> unaligned block copy */
extern s32 D_801E30B0;
extern s32 D_801E3098;
extern u8 D_801E4BDA;
extern u8 D_801E4C58;
extern u8 D_801E4B00;
extern u8 D_801E4BBE;
extern u8 D_801E4A40;
extern u8 D_801E4A99;
extern s32 D_801E4BC0;
extern s32 D_801E30AC;
extern s32 D_801E30A8;
extern s32 D_801E3090;
extern s32 D_801E309C;
extern s32 D_801E30A0;
extern void *D_801E3080;
extern s32 D_801E30B8;
extern void *D_801E3088;
void func_8013D53C(void *arg0v) {
extern Rec9 D_80191210[];
extern Rec12 D_80191248[];
extern u8 D_80078EAF;
extern u8 D_801E4B98;
extern s32 D_801E30A4;
Cmd_8013D53C *arg0 = arg0v;
extern u8 D_8019124C[];
extern u8 D_80191250[];
extern unsigned char D_801E4A90;
extern s16 *D_801E308C;
extern s32 D_801E30BC;
extern s32 D_801E30C0;
extern s32 D_801E30C4;
s32 s0v;
s32 t9v;
s32 t8v;
u8 b0, b1, b2;
u8 pad[8]; /* dead BLKmode local: frame 0x10 -> 0x18, zero code */
if (!(D_801E30B0 & 1)) {
D_801E3098 = 1;
} else {
D_801E3098 = D_80078EAF;
}
b0 = ((u8 *)D_80191248)[D_801E3098 * 12];
D_801E4BDA = b0;
D_801E4C58 = b0;
b1 = D_8019124C[D_801E3098 * 12];
D_801E4B00 = b1;
D_801E4BBE = b1;
b2 = D_80191250[D_801E3098 * 12];
D_801E4A40 = b2;
D_801E4A99 = b2;
(*(S9 *)&D_801E4A90) = ((S9 *)D_80191210)[D_801E3098];
(*(S9 *)&D_801E4B98) = *(S9 *)(&D_801E4A40 + 0x50); /* same addr as (*(S9 *)&D_801E4A90); distinct sym defeats cse, keeps %hi/%lo */
D_801E4BC0 = 1;
D_801E30AC = -1;
D_801E30A8 = 0;
D_801E30A4 = -1;
D_801E3090 = 0;
D_801E309C = 0;
D_801E30A0 = 0;
if ((D_801E30B0 & 2) && (D_801E3098 == 4)) {
s0v = (*(s32 * *)&D_801E3080)[18];
t9v = (*(s32 * *)&D_801E3080)[19];
t8v = (*(s32 * *)&D_801E3080)[20];
} else {
s32 *p = (s32 *)(D_801E3098 * 12 + (s32) (*(s32 * *)&D_801E3080)); /* block-local: local-alloc ties sum into mul chain */
s0v = p[0];
t9v = p[1];
t8v = p[2];
}
(*(Cmd_8013D53C * *)&D_801E308C) = arg0;
if (arg0 != 0) {
if (D_801E30B8 != 0) {
s32 *p = (s32 *)(D_801E3098 * 12 + (s32) (*(s32 * *)&D_801E3088));
D_801E30BC = p[0];
D_801E30C0 = p[1];
D_801E30C4 = p[2];
} else {
while ((arg0->cmd & 0xFFFF) != 0xFF) {
if ((arg0->cmd & 0xFFFF) == 9) {
s32 n;
s32 i;
u16 *src;
u16 *dst;
n = arg0->w * arg0->h;
i = 0;
src = arg0->data;
__asm__("" :: "r"(src)); /* +2 refs on src (depth-2): keeps src above i, below the mfhi temp */
dst = src + n;
if (n > 0) {
do {
u16 px;
s32 r, g, b, out;
__asm__("" :: "r"(i)); /* +3 refs on i (depth-3): lifts i over dst in the $t2 race */
px = *src;
r = ((px & 0x1F) * s0v) / 2560;
g = (((px & 0x3E0) * t9v) / 2560) & 0x3E0;
b = (((px & 0x7C00) * t8v) / 2560) & 0x7C00;
out = r | g | b | (px & 0x8000);
if (out == 0 && px != 0) {
out = 0x8000;
}
*dst = out;
dst++;
i++;
src++;
} while (i < n);
}
}
arg0++;
}
}
}
}
+1 -1
View File
@@ -819,7 +819,7 @@ extern u8 D_80191078[];
extern u8 D_80191174[];
extern u8 D_801911F4[];
extern u8 D_801910CC[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+1 -1
View File
@@ -819,7 +819,7 @@ extern u8 D_80191078[];
extern u8 D_80191174[];
extern u8 D_801911F4[];
extern u8 D_801910CC[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+1 -1
View File
@@ -819,7 +819,7 @@ extern u8 D_80191078[];
extern u8 D_80191174[];
extern u8 D_801911F4[];
extern u8 D_801910CC[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+133 -2
View File
@@ -1901,7 +1901,7 @@ extern u8 D_801915C4[];
extern u8 D_80191644[];
extern u8 D_8019151C[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
@@ -1946,7 +1946,138 @@ void func_8013D3D4(int param_1, int param_2)
}
INCLUDE_ASM("asm/ov_SC02_011/nonmatchings/ov_SC02_011_jr_801380E0", func_8013D53C);
/* 9-byte, align-1 -> unaligned block copy */
extern s32 D_801E9F90;
extern s32 D_801E9F78;
extern u8 D_801EBA0A;
extern u8 D_801EBA7E;
extern u8 D_801EB932;
extern u8 D_801EB9EC;
extern u8 D_801EB910;
extern u8 D_801EB931;
extern s32 D_801EB9F0;
extern s32 D_801E9F8C;
extern s32 D_801E9F88;
extern s32 D_801E9F70;
extern s32 D_801E9F7C;
extern s32 D_801E9F80;
extern void *D_801E9F60;
extern s32 D_801E9F98;
extern void *D_801E9F68;
void func_8013D53C(void *arg0v) {
extern Rec9 D_80191660[];
extern Rec12 D_80191698[];
extern u8 D_80078EAF;
extern u8 D_801EB9C8;
extern s32 D_801E9F84;
Cmd_8013D53C *arg0 = arg0v;
extern u8 D_8019169C[];
extern u8 D_801916A0[];
extern unsigned char D_801EB928;
extern s16 *D_801E9F6C;
extern s32 D_801E9F9C;
extern s32 D_801E9FA0;
extern s32 D_801E9FA4;
s32 s0v;
s32 t9v;
s32 t8v;
u8 b0, b1, b2;
u8 pad[8]; /* dead BLKmode local: frame 0x10 -> 0x18, zero code */
if (!(D_801E9F90 & 1)) {
D_801E9F78 = 1;
} else {
D_801E9F78 = D_80078EAF;
}
b0 = ((u8 *)D_80191698)[D_801E9F78 * 12];
D_801EBA0A = b0;
D_801EBA7E = b0;
b1 = D_8019169C[D_801E9F78 * 12];
D_801EB932 = b1;
D_801EB9EC = b1;
b2 = D_801916A0[D_801E9F78 * 12];
D_801EB910 = b2;
D_801EB931 = b2;
(*(S9 *)&D_801EB928) = ((S9 *)D_80191660)[D_801E9F78];
(*(S9 *)&D_801EB9C8) = *(S9 *)(&D_801EB910 + 0x18); /* same addr as (*(S9 *)&D_801EB928); distinct sym defeats cse, keeps %hi/%lo */
D_801EB9F0 = 1;
D_801E9F8C = -1;
D_801E9F88 = 0;
D_801E9F84 = -1;
D_801E9F70 = 0;
D_801E9F7C = 0;
D_801E9F80 = 0;
if ((D_801E9F90 & 2) && (D_801E9F78 == 4)) {
s0v = (*(s32 * *)&D_801E9F60)[18];
t9v = (*(s32 * *)&D_801E9F60)[19];
t8v = (*(s32 * *)&D_801E9F60)[20];
} else {
s32 *p = (s32 *)(D_801E9F78 * 12 + (s32) (*(s32 * *)&D_801E9F60)); /* block-local: local-alloc ties sum into mul chain */
s0v = p[0];
t9v = p[1];
t8v = p[2];
}
(*(Cmd_8013D53C * *)&D_801E9F6C) = arg0;
if (arg0 != 0) {
if (D_801E9F98 != 0) {
s32 *p = (s32 *)(D_801E9F78 * 12 + (s32) (*(s32 * *)&D_801E9F68));
D_801E9F9C = p[0];
D_801E9FA0 = p[1];
D_801E9FA4 = p[2];
} else {
while ((arg0->cmd & 0xFFFF) != 0xFF) {
if ((arg0->cmd & 0xFFFF) == 9) {
s32 n;
s32 i;
u16 *src;
u16 *dst;
n = arg0->w * arg0->h;
i = 0;
src = arg0->data;
__asm__("" :: "r"(src)); /* +2 refs on src (depth-2): keeps src above i, below the mfhi temp */
dst = src + n;
if (n > 0) {
do {
u16 px;
s32 r, g, b, out;
__asm__("" :: "r"(i)); /* +3 refs on i (depth-3): lifts i over dst in the $t2 race */
px = *src;
r = ((px & 0x1F) * s0v) / 2560;
g = (((px & 0x3E0) * t9v) / 2560) & 0x3E0;
b = (((px & 0x7C00) * t8v) / 2560) & 0x7C00;
out = r | g | b | (px & 0x8000);
if (out == 0 && px != 0) {
out = 0x8000;
}
*dst = out;
dst++;
i++;
src++;
} while (i < n);
}
}
arg0++;
}
}
}
}
+1 -1
View File
@@ -819,7 +819,7 @@ extern u8 D_801914C8[];
extern u8 D_801915C4[];
extern u8 D_80191644[];
extern u8 D_8019151C[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+1 -1
View File
@@ -819,7 +819,7 @@ extern u8 D_801914C8[];
extern u8 D_801915C4[];
extern u8 D_80191644[];
extern u8 D_8019151C[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+1 -1
View File
@@ -819,7 +819,7 @@ extern u8 D_801914C8[];
extern u8 D_801915C4[];
extern u8 D_80191644[];
extern u8 D_8019151C[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+133 -2
View File
@@ -1901,7 +1901,7 @@ extern u8 D_8017EAD8[];
extern u8 D_8017EB58[];
extern u8 D_8017EA30[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
@@ -1946,7 +1946,138 @@ void func_8013D3D4(int param_1, int param_2)
}
INCLUDE_ASM("asm/ov_SC02_015/nonmatchings/ov_SC02_015_jr_801380E0", func_8013D53C);
/* 9-byte, align-1 -> unaligned block copy */
extern s32 D_8018F110;
extern s32 D_8018F0F8;
extern u8 D_8019062A;
extern u8 D_8019069E;
extern u8 D_80190552;
extern u8 D_8019060C;
extern u8 D_80190530;
extern u8 D_80190551;
extern s32 D_80190610;
extern s32 D_8018F10C;
extern s32 D_8018F108;
extern s32 D_8018F0F0;
extern s32 D_8018F0FC;
extern s32 D_8018F100;
extern void *D_8018F0E0;
extern s32 D_8018F118;
extern void *D_8018F0E8;
void func_8013D53C(void *arg0v) {
extern Rec9 D_8017EB74[];
extern Rec12 D_8017EBAC[];
extern u8 D_80078EAF;
extern u8 D_801905E8;
extern s32 D_8018F104;
Cmd_8013D53C *arg0 = arg0v;
extern u8 D_8017EBB0[];
extern u8 D_8017EBB4[];
extern unsigned char D_80190548;
extern s16 *D_8018F0EC;
extern s32 D_8018F11C;
extern s32 D_8018F120;
extern s32 D_8018F124;
s32 s0v;
s32 t9v;
s32 t8v;
u8 b0, b1, b2;
u8 pad[8]; /* dead BLKmode local: frame 0x10 -> 0x18, zero code */
if (!(D_8018F110 & 1)) {
D_8018F0F8 = 1;
} else {
D_8018F0F8 = D_80078EAF;
}
b0 = ((u8 *)D_8017EBAC)[D_8018F0F8 * 12];
D_8019062A = b0;
D_8019069E = b0;
b1 = D_8017EBB0[D_8018F0F8 * 12];
D_80190552 = b1;
D_8019060C = b1;
b2 = D_8017EBB4[D_8018F0F8 * 12];
D_80190530 = b2;
D_80190551 = b2;
(*(S9 *)&D_80190548) = ((S9 *)D_8017EB74)[D_8018F0F8];
(*(S9 *)&D_801905E8) = *(S9 *)(&D_80190530 + 0x18); /* same addr as (*(S9 *)&D_80190548); distinct sym defeats cse, keeps %hi/%lo */
D_80190610 = 1;
D_8018F10C = -1;
D_8018F108 = 0;
D_8018F104 = -1;
D_8018F0F0 = 0;
D_8018F0FC = 0;
D_8018F100 = 0;
if ((D_8018F110 & 2) && (D_8018F0F8 == 4)) {
s0v = (*(s32 * *)&D_8018F0E0)[18];
t9v = (*(s32 * *)&D_8018F0E0)[19];
t8v = (*(s32 * *)&D_8018F0E0)[20];
} else {
s32 *p = (s32 *)(D_8018F0F8 * 12 + (s32) (*(s32 * *)&D_8018F0E0)); /* block-local: local-alloc ties sum into mul chain */
s0v = p[0];
t9v = p[1];
t8v = p[2];
}
(*(Cmd_8013D53C * *)&D_8018F0EC) = arg0;
if (arg0 != 0) {
if (D_8018F118 != 0) {
s32 *p = (s32 *)(D_8018F0F8 * 12 + (s32) (*(s32 * *)&D_8018F0E8));
D_8018F11C = p[0];
D_8018F120 = p[1];
D_8018F124 = p[2];
} else {
while ((arg0->cmd & 0xFFFF) != 0xFF) {
if ((arg0->cmd & 0xFFFF) == 9) {
s32 n;
s32 i;
u16 *src;
u16 *dst;
n = arg0->w * arg0->h;
i = 0;
src = arg0->data;
__asm__("" :: "r"(src)); /* +2 refs on src (depth-2): keeps src above i, below the mfhi temp */
dst = src + n;
if (n > 0) {
do {
u16 px;
s32 r, g, b, out;
__asm__("" :: "r"(i)); /* +3 refs on i (depth-3): lifts i over dst in the $t2 race */
px = *src;
r = ((px & 0x1F) * s0v) / 2560;
g = (((px & 0x3E0) * t9v) / 2560) & 0x3E0;
b = (((px & 0x7C00) * t8v) / 2560) & 0x7C00;
out = r | g | b | (px & 0x8000);
if (out == 0 && px != 0) {
out = 0x8000;
}
*dst = out;
dst++;
i++;
src++;
} while (i < n);
}
}
arg0++;
}
}
}
}
+1 -1
View File
@@ -819,7 +819,7 @@ extern u8 D_8017E9DC[];
extern u8 D_8017EAD8[];
extern u8 D_8017EB58[];
extern u8 D_8017EA30[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+1 -1
View File
@@ -819,7 +819,7 @@ extern u8 D_8017E9DC[];
extern u8 D_8017EAD8[];
extern u8 D_8017EB58[];
extern u8 D_8017EA30[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+1 -1
View File
@@ -819,7 +819,7 @@ extern u8 D_8017E9DC[];
extern u8 D_8017EAD8[];
extern u8 D_8017EB58[];
extern u8 D_8017EA30[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+133 -2
View File
@@ -1901,7 +1901,7 @@ extern u8 D_80184D10[];
extern u8 D_80184D90[];
extern u8 D_80184C68[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
@@ -1946,7 +1946,138 @@ void func_8013D3D4(int param_1, int param_2)
}
INCLUDE_ASM("asm/ov_SC02_016/nonmatchings/ov_SC02_016_jr_801380E0", func_8013D53C);
/* 9-byte, align-1 -> unaligned block copy */
extern s32 D_801B2D28;
extern s32 D_801B2D10;
extern u8 D_801B4A62;
extern u8 D_801B4AD6;
extern u8 D_801B498A;
extern u8 D_801B4A44;
extern u8 D_801B4968;
extern u8 D_801B4989;
extern s32 D_801B4A48;
extern s32 D_801B2D24;
extern s32 D_801B2D20;
extern s32 D_801B2D08;
extern s32 D_801B2D14;
extern s32 D_801B2D18;
extern void *D_801B2CF8;
extern s32 D_801B2D30;
extern void *D_801B2D00;
void func_8013D53C(void *arg0v) {
extern Rec9 D_80184DAC[];
extern Rec12 D_80184DE4[];
extern u8 D_80078EAF;
extern u8 D_801B4A20;
extern s32 D_801B2D1C;
Cmd_8013D53C *arg0 = arg0v;
extern u8 D_80184DE8[];
extern u8 D_80184DEC[];
extern unsigned char D_801B4980;
extern s16 *D_801B2D04;
extern s32 D_801B2D34;
extern s32 D_801B2D38;
extern s32 D_801B2D3C;
s32 s0v;
s32 t9v;
s32 t8v;
u8 b0, b1, b2;
u8 pad[8]; /* dead BLKmode local: frame 0x10 -> 0x18, zero code */
if (!(D_801B2D28 & 1)) {
D_801B2D10 = 1;
} else {
D_801B2D10 = D_80078EAF;
}
b0 = ((u8 *)D_80184DE4)[D_801B2D10 * 12];
D_801B4A62 = b0;
D_801B4AD6 = b0;
b1 = D_80184DE8[D_801B2D10 * 12];
D_801B498A = b1;
D_801B4A44 = b1;
b2 = D_80184DEC[D_801B2D10 * 12];
D_801B4968 = b2;
D_801B4989 = b2;
(*(S9 *)&D_801B4980) = ((S9 *)D_80184DAC)[D_801B2D10];
(*(S9 *)&D_801B4A20) = *(S9 *)(&D_801B4968 + 0x18); /* same addr as (*(S9 *)&D_801B4980); distinct sym defeats cse, keeps %hi/%lo */
D_801B4A48 = 1;
D_801B2D24 = -1;
D_801B2D20 = 0;
D_801B2D1C = -1;
D_801B2D08 = 0;
D_801B2D14 = 0;
D_801B2D18 = 0;
if ((D_801B2D28 & 2) && (D_801B2D10 == 4)) {
s0v = (*(s32 * *)&D_801B2CF8)[18];
t9v = (*(s32 * *)&D_801B2CF8)[19];
t8v = (*(s32 * *)&D_801B2CF8)[20];
} else {
s32 *p = (s32 *)(D_801B2D10 * 12 + (s32) (*(s32 * *)&D_801B2CF8)); /* block-local: local-alloc ties sum into mul chain */
s0v = p[0];
t9v = p[1];
t8v = p[2];
}
(*(Cmd_8013D53C * *)&D_801B2D04) = arg0;
if (arg0 != 0) {
if (D_801B2D30 != 0) {
s32 *p = (s32 *)(D_801B2D10 * 12 + (s32) (*(s32 * *)&D_801B2D00));
D_801B2D34 = p[0];
D_801B2D38 = p[1];
D_801B2D3C = p[2];
} else {
while ((arg0->cmd & 0xFFFF) != 0xFF) {
if ((arg0->cmd & 0xFFFF) == 9) {
s32 n;
s32 i;
u16 *src;
u16 *dst;
n = arg0->w * arg0->h;
i = 0;
src = arg0->data;
__asm__("" :: "r"(src)); /* +2 refs on src (depth-2): keeps src above i, below the mfhi temp */
dst = src + n;
if (n > 0) {
do {
u16 px;
s32 r, g, b, out;
__asm__("" :: "r"(i)); /* +3 refs on i (depth-3): lifts i over dst in the $t2 race */
px = *src;
r = ((px & 0x1F) * s0v) / 2560;
g = (((px & 0x3E0) * t9v) / 2560) & 0x3E0;
b = (((px & 0x7C00) * t8v) / 2560) & 0x7C00;
out = r | g | b | (px & 0x8000);
if (out == 0 && px != 0) {
out = 0x8000;
}
*dst = out;
dst++;
i++;
src++;
} while (i < n);
}
}
arg0++;
}
}
}
}
+1 -1
View File
@@ -819,7 +819,7 @@ extern u8 D_80184C14[];
extern u8 D_80184D10[];
extern u8 D_80184D90[];
extern u8 D_80184C68[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+1 -1
View File
@@ -819,7 +819,7 @@ extern u8 D_80184C14[];
extern u8 D_80184D10[];
extern u8 D_80184D90[];
extern u8 D_80184C68[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+1 -1
View File
@@ -819,7 +819,7 @@ extern u8 D_80184C14[];
extern u8 D_80184D10[];
extern u8 D_80184D90[];
extern u8 D_80184C68[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+133 -2
View File
@@ -1901,7 +1901,7 @@ extern u8 D_8018AD68[];
extern u8 D_8018ADE8[];
extern u8 D_8018ACC0[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
@@ -1946,7 +1946,138 @@ void func_8013D3D4(int param_1, int param_2)
}
INCLUDE_ASM("asm/ov_SC02_017/nonmatchings/ov_SC02_017_jr_801380E0", func_8013D53C);
/* 9-byte, align-1 -> unaligned block copy */
extern s32 D_801EE550;
extern s32 D_801EE538;
extern u8 D_801EFCC2;
extern u8 D_801EFD36;
extern u8 D_801EFBEA;
extern u8 D_801EFCA4;
extern u8 D_801EFBC8;
extern u8 D_801EFBE9;
extern s32 D_801EFCA8;
extern s32 D_801EE54C;
extern s32 D_801EE548;
extern s32 D_801EE530;
extern s32 D_801EE53C;
extern s32 D_801EE540;
extern void *D_801EE520;
extern s32 D_801EE558;
extern void *D_801EE528;
void func_8013D53C(void *arg0v) {
extern Rec9 D_8018AE04[];
extern Rec12 D_8018AE3C[];
extern u8 D_80078EAF;
extern u8 D_801EFC80;
extern s32 D_801EE544;
Cmd_8013D53C *arg0 = arg0v;
extern u8 D_8018AE40[];
extern u8 D_8018AE44[];
extern unsigned char D_801EFBE0;
extern s16 *D_801EE52C;
extern s32 D_801EE55C;
extern s32 D_801EE560;
extern s32 D_801EE564;
s32 s0v;
s32 t9v;
s32 t8v;
u8 b0, b1, b2;
u8 pad[8]; /* dead BLKmode local: frame 0x10 -> 0x18, zero code */
if (!(D_801EE550 & 1)) {
D_801EE538 = 1;
} else {
D_801EE538 = D_80078EAF;
}
b0 = ((u8 *)D_8018AE3C)[D_801EE538 * 12];
D_801EFCC2 = b0;
D_801EFD36 = b0;
b1 = D_8018AE40[D_801EE538 * 12];
D_801EFBEA = b1;
D_801EFCA4 = b1;
b2 = D_8018AE44[D_801EE538 * 12];
D_801EFBC8 = b2;
D_801EFBE9 = b2;
(*(S9 *)&D_801EFBE0) = ((S9 *)D_8018AE04)[D_801EE538];
(*(S9 *)&D_801EFC80) = *(S9 *)(&D_801EFBC8 + 0x18); /* same addr as (*(S9 *)&D_801EFBE0); distinct sym defeats cse, keeps %hi/%lo */
D_801EFCA8 = 1;
D_801EE54C = -1;
D_801EE548 = 0;
D_801EE544 = -1;
D_801EE530 = 0;
D_801EE53C = 0;
D_801EE540 = 0;
if ((D_801EE550 & 2) && (D_801EE538 == 4)) {
s0v = (*(s32 * *)&D_801EE520)[18];
t9v = (*(s32 * *)&D_801EE520)[19];
t8v = (*(s32 * *)&D_801EE520)[20];
} else {
s32 *p = (s32 *)(D_801EE538 * 12 + (s32) (*(s32 * *)&D_801EE520)); /* block-local: local-alloc ties sum into mul chain */
s0v = p[0];
t9v = p[1];
t8v = p[2];
}
(*(Cmd_8013D53C * *)&D_801EE52C) = arg0;
if (arg0 != 0) {
if (D_801EE558 != 0) {
s32 *p = (s32 *)(D_801EE538 * 12 + (s32) (*(s32 * *)&D_801EE528));
D_801EE55C = p[0];
D_801EE560 = p[1];
D_801EE564 = p[2];
} else {
while ((arg0->cmd & 0xFFFF) != 0xFF) {
if ((arg0->cmd & 0xFFFF) == 9) {
s32 n;
s32 i;
u16 *src;
u16 *dst;
n = arg0->w * arg0->h;
i = 0;
src = arg0->data;
__asm__("" :: "r"(src)); /* +2 refs on src (depth-2): keeps src above i, below the mfhi temp */
dst = src + n;
if (n > 0) {
do {
u16 px;
s32 r, g, b, out;
__asm__("" :: "r"(i)); /* +3 refs on i (depth-3): lifts i over dst in the $t2 race */
px = *src;
r = ((px & 0x1F) * s0v) / 2560;
g = (((px & 0x3E0) * t9v) / 2560) & 0x3E0;
b = (((px & 0x7C00) * t8v) / 2560) & 0x7C00;
out = r | g | b | (px & 0x8000);
if (out == 0 && px != 0) {
out = 0x8000;
}
*dst = out;
dst++;
i++;
src++;
} while (i < n);
}
}
arg0++;
}
}
}
}
+1 -1
View File
@@ -819,7 +819,7 @@ extern u8 D_8018AC6C[];
extern u8 D_8018AD68[];
extern u8 D_8018ADE8[];
extern u8 D_8018ACC0[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+1 -1
View File
@@ -819,7 +819,7 @@ extern u8 D_8018AC6C[];
extern u8 D_8018AD68[];
extern u8 D_8018ADE8[];
extern u8 D_8018ACC0[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+1 -1
View File
@@ -819,7 +819,7 @@ extern u8 D_8018AC6C[];
extern u8 D_8018AD68[];
extern u8 D_8018ADE8[];
extern u8 D_8018ACC0[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+133 -2
View File
@@ -1901,7 +1901,7 @@ extern u8 D_8018035C[];
extern u8 D_801803DC[];
extern u8 D_801802B4[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
@@ -1946,7 +1946,138 @@ void func_8013D3D4(int param_1, int param_2)
}
INCLUDE_ASM("asm/ov_SC02_021/nonmatchings/ov_SC02_021_jr_801380E0", func_8013D53C);
/* 9-byte, align-1 -> unaligned block copy */
extern s32 D_80191AC0;
extern s32 D_80191AA8;
extern u8 D_8019382A;
extern u8 D_8019389E;
extern u8 D_80193752;
extern u8 D_8019380C;
extern u8 D_80193730;
extern u8 D_80193751;
extern s32 D_80193810;
extern s32 D_80191ABC;
extern s32 D_80191AB8;
extern s32 D_80191AA0;
extern s32 D_80191AAC;
extern s32 D_80191AB0;
extern void *D_80191A90;
extern s32 D_80191AC8;
extern void *D_80191A98;
void func_8013D53C(void *arg0v) {
extern Rec9 D_801803F8[];
extern Rec12 D_80180430[];
extern u8 D_80078EAF;
extern u8 D_801937E8;
extern s32 D_80191AB4;
Cmd_8013D53C *arg0 = arg0v;
extern u8 D_80180434[];
extern u8 D_80180438[];
extern unsigned char D_80193748;
extern s16 *D_80191A9C;
extern s32 D_80191ACC;
extern s32 D_80191AD0;
extern s32 D_80191AD4;
s32 s0v;
s32 t9v;
s32 t8v;
u8 b0, b1, b2;
u8 pad[8]; /* dead BLKmode local: frame 0x10 -> 0x18, zero code */
if (!(D_80191AC0 & 1)) {
D_80191AA8 = 1;
} else {
D_80191AA8 = D_80078EAF;
}
b0 = ((u8 *)D_80180430)[D_80191AA8 * 12];
D_8019382A = b0;
D_8019389E = b0;
b1 = D_80180434[D_80191AA8 * 12];
D_80193752 = b1;
D_8019380C = b1;
b2 = D_80180438[D_80191AA8 * 12];
D_80193730 = b2;
D_80193751 = b2;
(*(S9 *)&D_80193748) = ((S9 *)D_801803F8)[D_80191AA8];
(*(S9 *)&D_801937E8) = *(S9 *)(&D_80193730 + 0x18); /* same addr as (*(S9 *)&D_80193748); distinct sym defeats cse, keeps %hi/%lo */
D_80193810 = 1;
D_80191ABC = -1;
D_80191AB8 = 0;
D_80191AB4 = -1;
D_80191AA0 = 0;
D_80191AAC = 0;
D_80191AB0 = 0;
if ((D_80191AC0 & 2) && (D_80191AA8 == 4)) {
s0v = (*(s32 * *)&D_80191A90)[18];
t9v = (*(s32 * *)&D_80191A90)[19];
t8v = (*(s32 * *)&D_80191A90)[20];
} else {
s32 *p = (s32 *)(D_80191AA8 * 12 + (s32) (*(s32 * *)&D_80191A90)); /* block-local: local-alloc ties sum into mul chain */
s0v = p[0];
t9v = p[1];
t8v = p[2];
}
(*(Cmd_8013D53C * *)&D_80191A9C) = arg0;
if (arg0 != 0) {
if (D_80191AC8 != 0) {
s32 *p = (s32 *)(D_80191AA8 * 12 + (s32) (*(s32 * *)&D_80191A98));
D_80191ACC = p[0];
D_80191AD0 = p[1];
D_80191AD4 = p[2];
} else {
while ((arg0->cmd & 0xFFFF) != 0xFF) {
if ((arg0->cmd & 0xFFFF) == 9) {
s32 n;
s32 i;
u16 *src;
u16 *dst;
n = arg0->w * arg0->h;
i = 0;
src = arg0->data;
__asm__("" :: "r"(src)); /* +2 refs on src (depth-2): keeps src above i, below the mfhi temp */
dst = src + n;
if (n > 0) {
do {
u16 px;
s32 r, g, b, out;
__asm__("" :: "r"(i)); /* +3 refs on i (depth-3): lifts i over dst in the $t2 race */
px = *src;
r = ((px & 0x1F) * s0v) / 2560;
g = (((px & 0x3E0) * t9v) / 2560) & 0x3E0;
b = (((px & 0x7C00) * t8v) / 2560) & 0x7C00;
out = r | g | b | (px & 0x8000);
if (out == 0 && px != 0) {
out = 0x8000;
}
*dst = out;
dst++;
i++;
src++;
} while (i < n);
}
}
arg0++;
}
}
}
}
+1 -1
View File
@@ -819,7 +819,7 @@ extern u8 D_80180260[];
extern u8 D_8018035C[];
extern u8 D_801803DC[];
extern u8 D_801802B4[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+1 -1
View File
@@ -819,7 +819,7 @@ extern u8 D_80180260[];
extern u8 D_8018035C[];
extern u8 D_801803DC[];
extern u8 D_801802B4[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+1 -1
View File
@@ -819,7 +819,7 @@ extern u8 D_80180260[];
extern u8 D_8018035C[];
extern u8 D_801803DC[];
extern u8 D_801802B4[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+133 -2
View File
@@ -1901,7 +1901,7 @@ extern u8 D_801869B0[];
extern u8 D_80186A30[];
extern u8 D_80186908[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
@@ -1946,7 +1946,138 @@ void func_8013D3D4(int param_1, int param_2)
}
INCLUDE_ASM("asm/ov_SC02_026/nonmatchings/ov_SC02_026_jr_801380E0", func_8013D53C);
/* 9-byte, align-1 -> unaligned block copy */
extern s32 D_801CEF00;
extern s32 D_801CEEE8;
extern u8 D_801D024A;
extern u8 D_801D02BE;
extern u8 D_801D0172;
extern u8 D_801D022C;
extern u8 D_801D0150;
extern u8 D_801D0171;
extern s32 D_801D0230;
extern s32 D_801CEEFC;
extern s32 D_801CEEF8;
extern s32 D_801CEEE0;
extern s32 D_801CEEEC;
extern s32 D_801CEEF0;
extern void *D_801CEED0;
extern s32 D_801CEF08;
extern void *D_801CEED8;
void func_8013D53C(void *arg0v) {
extern Rec9 D_80186A4C[];
extern Rec12 D_80186A84[];
extern u8 D_80078EAF;
extern u8 D_801D0208;
extern s32 D_801CEEF4;
Cmd_8013D53C *arg0 = arg0v;
extern u8 D_80186A88[];
extern u8 D_80186A8C[];
extern unsigned char D_801D0168;
extern s16 *D_801CEEDC;
extern s32 D_801CEF0C;
extern s32 D_801CEF10;
extern s32 D_801CEF14;
s32 s0v;
s32 t9v;
s32 t8v;
u8 b0, b1, b2;
u8 pad[8]; /* dead BLKmode local: frame 0x10 -> 0x18, zero code */
if (!(D_801CEF00 & 1)) {
D_801CEEE8 = 1;
} else {
D_801CEEE8 = D_80078EAF;
}
b0 = ((u8 *)D_80186A84)[D_801CEEE8 * 12];
D_801D024A = b0;
D_801D02BE = b0;
b1 = D_80186A88[D_801CEEE8 * 12];
D_801D0172 = b1;
D_801D022C = b1;
b2 = D_80186A8C[D_801CEEE8 * 12];
D_801D0150 = b2;
D_801D0171 = b2;
(*(S9 *)&D_801D0168) = ((S9 *)D_80186A4C)[D_801CEEE8];
(*(S9 *)&D_801D0208) = *(S9 *)(&D_801D0150 + 0x18); /* same addr as (*(S9 *)&D_801D0168); distinct sym defeats cse, keeps %hi/%lo */
D_801D0230 = 1;
D_801CEEFC = -1;
D_801CEEF8 = 0;
D_801CEEF4 = -1;
D_801CEEE0 = 0;
D_801CEEEC = 0;
D_801CEEF0 = 0;
if ((D_801CEF00 & 2) && (D_801CEEE8 == 4)) {
s0v = (*(s32 * *)&D_801CEED0)[18];
t9v = (*(s32 * *)&D_801CEED0)[19];
t8v = (*(s32 * *)&D_801CEED0)[20];
} else {
s32 *p = (s32 *)(D_801CEEE8 * 12 + (s32) (*(s32 * *)&D_801CEED0)); /* block-local: local-alloc ties sum into mul chain */
s0v = p[0];
t9v = p[1];
t8v = p[2];
}
(*(Cmd_8013D53C * *)&D_801CEEDC) = arg0;
if (arg0 != 0) {
if (D_801CEF08 != 0) {
s32 *p = (s32 *)(D_801CEEE8 * 12 + (s32) (*(s32 * *)&D_801CEED8));
D_801CEF0C = p[0];
D_801CEF10 = p[1];
D_801CEF14 = p[2];
} else {
while ((arg0->cmd & 0xFFFF) != 0xFF) {
if ((arg0->cmd & 0xFFFF) == 9) {
s32 n;
s32 i;
u16 *src;
u16 *dst;
n = arg0->w * arg0->h;
i = 0;
src = arg0->data;
__asm__("" :: "r"(src)); /* +2 refs on src (depth-2): keeps src above i, below the mfhi temp */
dst = src + n;
if (n > 0) {
do {
u16 px;
s32 r, g, b, out;
__asm__("" :: "r"(i)); /* +3 refs on i (depth-3): lifts i over dst in the $t2 race */
px = *src;
r = ((px & 0x1F) * s0v) / 2560;
g = (((px & 0x3E0) * t9v) / 2560) & 0x3E0;
b = (((px & 0x7C00) * t8v) / 2560) & 0x7C00;
out = r | g | b | (px & 0x8000);
if (out == 0 && px != 0) {
out = 0x8000;
}
*dst = out;
dst++;
i++;
src++;
} while (i < n);
}
}
arg0++;
}
}
}
}
+1 -1
View File
@@ -819,7 +819,7 @@ extern u8 D_801868B4[];
extern u8 D_801869B0[];
extern u8 D_80186A30[];
extern u8 D_80186908[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+1 -1
View File
@@ -819,7 +819,7 @@ extern u8 D_801868B4[];
extern u8 D_801869B0[];
extern u8 D_80186A30[];
extern u8 D_80186908[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+1 -1
View File
@@ -819,7 +819,7 @@ extern u8 D_801868B4[];
extern u8 D_801869B0[];
extern u8 D_80186A30[];
extern u8 D_80186908[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+133 -2
View File
@@ -1901,7 +1901,7 @@ extern u8 D_8018BAD4[];
extern u8 D_8018BB54[];
extern u8 D_8018BA2C[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
@@ -1946,7 +1946,138 @@ void func_8013D3D4(int param_1, int param_2)
}
INCLUDE_ASM("asm/ov_SC02_027/nonmatchings/ov_SC02_027_jr_801380E0", func_8013D53C);
/* 9-byte, align-1 -> unaligned block copy */
extern s32 D_801D8C70;
extern s32 D_801D8C58;
extern u8 D_801DA9CA;
extern u8 D_801DAA3E;
extern u8 D_801DA8F2;
extern u8 D_801DA9AC;
extern u8 D_801DA8D0;
extern u8 D_801DA8F1;
extern s32 D_801DA9B0;
extern s32 D_801D8C6C;
extern s32 D_801D8C68;
extern s32 D_801D8C50;
extern s32 D_801D8C5C;
extern s32 D_801D8C60;
extern void *D_801D8C40;
extern s32 D_801D8C78;
extern void *D_801D8C48;
void func_8013D53C(void *arg0v) {
extern Rec9 D_8018BB70[];
extern Rec12 D_8018BBA8[];
extern u8 D_80078EAF;
extern u8 D_801DA988;
extern s32 D_801D8C64;
Cmd_8013D53C *arg0 = arg0v;
extern u8 D_8018BBAC[];
extern u8 D_8018BBB0[];
extern unsigned char D_801DA8E8;
extern s16 *D_801D8C4C;
extern s32 D_801D8C7C;
extern s32 D_801D8C80;
extern s32 D_801D8C84;
s32 s0v;
s32 t9v;
s32 t8v;
u8 b0, b1, b2;
u8 pad[8]; /* dead BLKmode local: frame 0x10 -> 0x18, zero code */
if (!(D_801D8C70 & 1)) {
D_801D8C58 = 1;
} else {
D_801D8C58 = D_80078EAF;
}
b0 = ((u8 *)D_8018BBA8)[D_801D8C58 * 12];
D_801DA9CA = b0;
D_801DAA3E = b0;
b1 = D_8018BBAC[D_801D8C58 * 12];
D_801DA8F2 = b1;
D_801DA9AC = b1;
b2 = D_8018BBB0[D_801D8C58 * 12];
D_801DA8D0 = b2;
D_801DA8F1 = b2;
(*(S9 *)&D_801DA8E8) = ((S9 *)D_8018BB70)[D_801D8C58];
(*(S9 *)&D_801DA988) = *(S9 *)(&D_801DA8D0 + 0x18); /* same addr as (*(S9 *)&D_801DA8E8); distinct sym defeats cse, keeps %hi/%lo */
D_801DA9B0 = 1;
D_801D8C6C = -1;
D_801D8C68 = 0;
D_801D8C64 = -1;
D_801D8C50 = 0;
D_801D8C5C = 0;
D_801D8C60 = 0;
if ((D_801D8C70 & 2) && (D_801D8C58 == 4)) {
s0v = (*(s32 * *)&D_801D8C40)[18];
t9v = (*(s32 * *)&D_801D8C40)[19];
t8v = (*(s32 * *)&D_801D8C40)[20];
} else {
s32 *p = (s32 *)(D_801D8C58 * 12 + (s32) (*(s32 * *)&D_801D8C40)); /* block-local: local-alloc ties sum into mul chain */
s0v = p[0];
t9v = p[1];
t8v = p[2];
}
(*(Cmd_8013D53C * *)&D_801D8C4C) = arg0;
if (arg0 != 0) {
if (D_801D8C78 != 0) {
s32 *p = (s32 *)(D_801D8C58 * 12 + (s32) (*(s32 * *)&D_801D8C48));
D_801D8C7C = p[0];
D_801D8C80 = p[1];
D_801D8C84 = p[2];
} else {
while ((arg0->cmd & 0xFFFF) != 0xFF) {
if ((arg0->cmd & 0xFFFF) == 9) {
s32 n;
s32 i;
u16 *src;
u16 *dst;
n = arg0->w * arg0->h;
i = 0;
src = arg0->data;
__asm__("" :: "r"(src)); /* +2 refs on src (depth-2): keeps src above i, below the mfhi temp */
dst = src + n;
if (n > 0) {
do {
u16 px;
s32 r, g, b, out;
__asm__("" :: "r"(i)); /* +3 refs on i (depth-3): lifts i over dst in the $t2 race */
px = *src;
r = ((px & 0x1F) * s0v) / 2560;
g = (((px & 0x3E0) * t9v) / 2560) & 0x3E0;
b = (((px & 0x7C00) * t8v) / 2560) & 0x7C00;
out = r | g | b | (px & 0x8000);
if (out == 0 && px != 0) {
out = 0x8000;
}
*dst = out;
dst++;
i++;
src++;
} while (i < n);
}
}
arg0++;
}
}
}
}
+1 -1
View File
@@ -819,7 +819,7 @@ extern u8 D_8018B9D8[];
extern u8 D_8018BAD4[];
extern u8 D_8018BB54[];
extern u8 D_8018BA2C[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+1 -1
View File
@@ -819,7 +819,7 @@ extern u8 D_8018B9D8[];
extern u8 D_8018BAD4[];
extern u8 D_8018BB54[];
extern u8 D_8018BA2C[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+1 -1
View File
@@ -819,7 +819,7 @@ extern u8 D_8018B9D8[];
extern u8 D_8018BAD4[];
extern u8 D_8018BB54[];
extern u8 D_8018BA2C[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+133 -2
View File
@@ -1901,7 +1901,7 @@ extern u8 D_8018BCD8[];
extern u8 D_8018BD58[];
extern u8 D_8018BC30[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
@@ -1946,7 +1946,138 @@ void func_8013D3D4(int param_1, int param_2)
}
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028_jr_801380E0", func_8013D53C);
/* 9-byte, align-1 -> unaligned block copy */
extern s32 D_801D1C10;
extern s32 D_801D1BF8;
extern u8 D_801D35CA;
extern u8 D_801D363E;
extern u8 D_801D34F2;
extern u8 D_801D35AC;
extern u8 D_801D34D0;
extern u8 D_801D34F1;
extern s32 D_801D35B0;
extern s32 D_801D1C0C;
extern s32 D_801D1C08;
extern s32 D_801D1BF0;
extern s32 D_801D1BFC;
extern s32 D_801D1C00;
extern void *D_801D1BE0;
extern s32 D_801D1C18;
extern void *D_801D1BE8;
void func_8013D53C(void *arg0v) {
extern Rec9 D_8018BD74[];
extern Rec12 D_8018BDAC[];
extern u8 D_80078EAF;
extern u8 D_801D3588;
extern s32 D_801D1C04;
Cmd_8013D53C *arg0 = arg0v;
extern u8 D_8018BDB0[];
extern u8 D_8018BDB4[];
extern unsigned char D_801D34E8;
extern s16 *D_801D1BEC;
extern s32 D_801D1C1C;
extern s32 D_801D1C20;
extern s32 D_801D1C24;
s32 s0v;
s32 t9v;
s32 t8v;
u8 b0, b1, b2;
u8 pad[8]; /* dead BLKmode local: frame 0x10 -> 0x18, zero code */
if (!(D_801D1C10 & 1)) {
D_801D1BF8 = 1;
} else {
D_801D1BF8 = D_80078EAF;
}
b0 = ((u8 *)D_8018BDAC)[D_801D1BF8 * 12];
D_801D35CA = b0;
D_801D363E = b0;
b1 = D_8018BDB0[D_801D1BF8 * 12];
D_801D34F2 = b1;
D_801D35AC = b1;
b2 = D_8018BDB4[D_801D1BF8 * 12];
D_801D34D0 = b2;
D_801D34F1 = b2;
(*(S9 *)&D_801D34E8) = ((S9 *)D_8018BD74)[D_801D1BF8];
(*(S9 *)&D_801D3588) = *(S9 *)(&D_801D34D0 + 0x18); /* same addr as (*(S9 *)&D_801D34E8); distinct sym defeats cse, keeps %hi/%lo */
D_801D35B0 = 1;
D_801D1C0C = -1;
D_801D1C08 = 0;
D_801D1C04 = -1;
D_801D1BF0 = 0;
D_801D1BFC = 0;
D_801D1C00 = 0;
if ((D_801D1C10 & 2) && (D_801D1BF8 == 4)) {
s0v = (*(s32 * *)&D_801D1BE0)[18];
t9v = (*(s32 * *)&D_801D1BE0)[19];
t8v = (*(s32 * *)&D_801D1BE0)[20];
} else {
s32 *p = (s32 *)(D_801D1BF8 * 12 + (s32) (*(s32 * *)&D_801D1BE0)); /* block-local: local-alloc ties sum into mul chain */
s0v = p[0];
t9v = p[1];
t8v = p[2];
}
(*(Cmd_8013D53C * *)&D_801D1BEC) = arg0;
if (arg0 != 0) {
if (D_801D1C18 != 0) {
s32 *p = (s32 *)(D_801D1BF8 * 12 + (s32) (*(s32 * *)&D_801D1BE8));
D_801D1C1C = p[0];
D_801D1C20 = p[1];
D_801D1C24 = p[2];
} else {
while ((arg0->cmd & 0xFFFF) != 0xFF) {
if ((arg0->cmd & 0xFFFF) == 9) {
s32 n;
s32 i;
u16 *src;
u16 *dst;
n = arg0->w * arg0->h;
i = 0;
src = arg0->data;
__asm__("" :: "r"(src)); /* +2 refs on src (depth-2): keeps src above i, below the mfhi temp */
dst = src + n;
if (n > 0) {
do {
u16 px;
s32 r, g, b, out;
__asm__("" :: "r"(i)); /* +3 refs on i (depth-3): lifts i over dst in the $t2 race */
px = *src;
r = ((px & 0x1F) * s0v) / 2560;
g = (((px & 0x3E0) * t9v) / 2560) & 0x3E0;
b = (((px & 0x7C00) * t8v) / 2560) & 0x7C00;
out = r | g | b | (px & 0x8000);
if (out == 0 && px != 0) {
out = 0x8000;
}
*dst = out;
dst++;
i++;
src++;
} while (i < n);
}
}
arg0++;
}
}
}
}
+1 -1
View File
@@ -819,7 +819,7 @@ extern u8 D_8018BBDC[];
extern u8 D_8018BCD8[];
extern u8 D_8018BD58[];
extern u8 D_8018BC30[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+1 -1
View File
@@ -819,7 +819,7 @@ extern u8 D_8018BBDC[];
extern u8 D_8018BCD8[];
extern u8 D_8018BD58[];
extern u8 D_8018BC30[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+1 -1
View File
@@ -819,7 +819,7 @@ extern u8 D_8018BBDC[];
extern u8 D_8018BCD8[];
extern u8 D_8018BD58[];
extern u8 D_8018BC30[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+133 -2
View File
@@ -1901,7 +1901,7 @@ extern u8 D_80185504[];
extern u8 D_80185584[];
extern u8 D_8018545C[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
@@ -1946,7 +1946,138 @@ void func_8013D3D4(int param_1, int param_2)
}
INCLUDE_ASM("asm/ov_SC02_031/nonmatchings/ov_SC02_031_jr_801380E0", func_8013D53C);
/* 9-byte, align-1 -> unaligned block copy */
extern s32 D_801B6388;
extern s32 D_801B6370;
extern u8 D_801B7A9A;
extern u8 D_801B7B0E;
extern u8 D_801B79C2;
extern u8 D_801B7A7C;
extern u8 D_801B79A0;
extern u8 D_801B79C1;
extern s32 D_801B7A80;
extern s32 D_801B6384;
extern s32 D_801B6380;
extern s32 D_801B6368;
extern s32 D_801B6374;
extern s32 D_801B6378;
extern void *D_801B6358;
extern s32 D_801B6390;
extern void *D_801B6360;
void func_8013D53C(void *arg0v) {
extern Rec9 D_801855A0[];
extern Rec12 D_801855D8[];
extern u8 D_80078EAF;
extern u8 D_801B7A58;
extern s32 D_801B637C;
Cmd_8013D53C *arg0 = arg0v;
extern u8 D_801855DC[];
extern u8 D_801855E0[];
extern unsigned char D_801B79B8;
extern s16 *D_801B6364;
extern s32 D_801B6394;
extern s32 D_801B6398;
extern s32 D_801B639C;
s32 s0v;
s32 t9v;
s32 t8v;
u8 b0, b1, b2;
u8 pad[8]; /* dead BLKmode local: frame 0x10 -> 0x18, zero code */
if (!(D_801B6388 & 1)) {
D_801B6370 = 1;
} else {
D_801B6370 = D_80078EAF;
}
b0 = ((u8 *)D_801855D8)[D_801B6370 * 12];
D_801B7A9A = b0;
D_801B7B0E = b0;
b1 = D_801855DC[D_801B6370 * 12];
D_801B79C2 = b1;
D_801B7A7C = b1;
b2 = D_801855E0[D_801B6370 * 12];
D_801B79A0 = b2;
D_801B79C1 = b2;
(*(S9 *)&D_801B79B8) = ((S9 *)D_801855A0)[D_801B6370];
(*(S9 *)&D_801B7A58) = *(S9 *)(&D_801B79A0 + 0x18); /* same addr as (*(S9 *)&D_801B79B8); distinct sym defeats cse, keeps %hi/%lo */
D_801B7A80 = 1;
D_801B6384 = -1;
D_801B6380 = 0;
D_801B637C = -1;
D_801B6368 = 0;
D_801B6374 = 0;
D_801B6378 = 0;
if ((D_801B6388 & 2) && (D_801B6370 == 4)) {
s0v = (*(s32 * *)&D_801B6358)[18];
t9v = (*(s32 * *)&D_801B6358)[19];
t8v = (*(s32 * *)&D_801B6358)[20];
} else {
s32 *p = (s32 *)(D_801B6370 * 12 + (s32) (*(s32 * *)&D_801B6358)); /* block-local: local-alloc ties sum into mul chain */
s0v = p[0];
t9v = p[1];
t8v = p[2];
}
(*(Cmd_8013D53C * *)&D_801B6364) = arg0;
if (arg0 != 0) {
if (D_801B6390 != 0) {
s32 *p = (s32 *)(D_801B6370 * 12 + (s32) (*(s32 * *)&D_801B6360));
D_801B6394 = p[0];
D_801B6398 = p[1];
D_801B639C = p[2];
} else {
while ((arg0->cmd & 0xFFFF) != 0xFF) {
if ((arg0->cmd & 0xFFFF) == 9) {
s32 n;
s32 i;
u16 *src;
u16 *dst;
n = arg0->w * arg0->h;
i = 0;
src = arg0->data;
__asm__("" :: "r"(src)); /* +2 refs on src (depth-2): keeps src above i, below the mfhi temp */
dst = src + n;
if (n > 0) {
do {
u16 px;
s32 r, g, b, out;
__asm__("" :: "r"(i)); /* +3 refs on i (depth-3): lifts i over dst in the $t2 race */
px = *src;
r = ((px & 0x1F) * s0v) / 2560;
g = (((px & 0x3E0) * t9v) / 2560) & 0x3E0;
b = (((px & 0x7C00) * t8v) / 2560) & 0x7C00;
out = r | g | b | (px & 0x8000);
if (out == 0 && px != 0) {
out = 0x8000;
}
*dst = out;
dst++;
i++;
src++;
} while (i < n);
}
}
arg0++;
}
}
}
}
+1 -1
View File
@@ -819,7 +819,7 @@ extern u8 D_80185408[];
extern u8 D_80185504[];
extern u8 D_80185584[];
extern u8 D_8018545C[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+1 -1
View File
@@ -819,7 +819,7 @@ extern u8 D_80185408[];
extern u8 D_80185504[];
extern u8 D_80185584[];
extern u8 D_8018545C[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+1 -1
View File
@@ -819,7 +819,7 @@ extern u8 D_80185408[];
extern u8 D_80185504[];
extern u8 D_80185584[];
extern u8 D_8018545C[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+133 -2
View File
@@ -1901,7 +1901,7 @@ extern u8 D_80184D64[];
extern u8 D_80184DE4[];
extern u8 D_80184CBC[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
@@ -1946,7 +1946,138 @@ void func_8013D3D4(int param_1, int param_2)
}
INCLUDE_ASM("asm/ov_SC02_035/nonmatchings/ov_SC02_035_jr_801380E0", func_8013D53C);
/* 9-byte, align-1 -> unaligned block copy */
extern s32 D_801BD6B8;
extern s32 D_801BD6A0;
extern u8 D_801BE9D2;
extern u8 D_801BEA46;
extern u8 D_801BE8FA;
extern u8 D_801BE9B4;
extern u8 D_801BE8D8;
extern u8 D_801BE8F9;
extern s32 D_801BE9B8;
extern s32 D_801BD6B4;
extern s32 D_801BD6B0;
extern s32 D_801BD698;
extern s32 D_801BD6A4;
extern s32 D_801BD6A8;
extern void *D_801BD688;
extern s32 D_801BD6C0;
extern void *D_801BD690;
void func_8013D53C(void *arg0v) {
extern Rec9 D_80184E00[];
extern Rec12 D_80184E38[];
extern u8 D_80078EAF;
extern u8 D_801BE990;
extern s32 D_801BD6AC;
Cmd_8013D53C *arg0 = arg0v;
extern u8 D_80184E3C[];
extern u8 D_80184E40[];
extern unsigned char D_801BE8F0;
extern s16 *D_801BD694;
extern s32 D_801BD6C4;
extern s32 D_801BD6C8;
extern s32 D_801BD6CC;
s32 s0v;
s32 t9v;
s32 t8v;
u8 b0, b1, b2;
u8 pad[8]; /* dead BLKmode local: frame 0x10 -> 0x18, zero code */
if (!(D_801BD6B8 & 1)) {
D_801BD6A0 = 1;
} else {
D_801BD6A0 = D_80078EAF;
}
b0 = ((u8 *)D_80184E38)[D_801BD6A0 * 12];
D_801BE9D2 = b0;
D_801BEA46 = b0;
b1 = D_80184E3C[D_801BD6A0 * 12];
D_801BE8FA = b1;
D_801BE9B4 = b1;
b2 = D_80184E40[D_801BD6A0 * 12];
D_801BE8D8 = b2;
D_801BE8F9 = b2;
(*(S9 *)&D_801BE8F0) = ((S9 *)D_80184E00)[D_801BD6A0];
(*(S9 *)&D_801BE990) = *(S9 *)(&D_801BE8D8 + 0x18); /* same addr as (*(S9 *)&D_801BE8F0); distinct sym defeats cse, keeps %hi/%lo */
D_801BE9B8 = 1;
D_801BD6B4 = -1;
D_801BD6B0 = 0;
D_801BD6AC = -1;
D_801BD698 = 0;
D_801BD6A4 = 0;
D_801BD6A8 = 0;
if ((D_801BD6B8 & 2) && (D_801BD6A0 == 4)) {
s0v = (*(s32 * *)&D_801BD688)[18];
t9v = (*(s32 * *)&D_801BD688)[19];
t8v = (*(s32 * *)&D_801BD688)[20];
} else {
s32 *p = (s32 *)(D_801BD6A0 * 12 + (s32) (*(s32 * *)&D_801BD688)); /* block-local: local-alloc ties sum into mul chain */
s0v = p[0];
t9v = p[1];
t8v = p[2];
}
(*(Cmd_8013D53C * *)&D_801BD694) = arg0;
if (arg0 != 0) {
if (D_801BD6C0 != 0) {
s32 *p = (s32 *)(D_801BD6A0 * 12 + (s32) (*(s32 * *)&D_801BD690));
D_801BD6C4 = p[0];
D_801BD6C8 = p[1];
D_801BD6CC = p[2];
} else {
while ((arg0->cmd & 0xFFFF) != 0xFF) {
if ((arg0->cmd & 0xFFFF) == 9) {
s32 n;
s32 i;
u16 *src;
u16 *dst;
n = arg0->w * arg0->h;
i = 0;
src = arg0->data;
__asm__("" :: "r"(src)); /* +2 refs on src (depth-2): keeps src above i, below the mfhi temp */
dst = src + n;
if (n > 0) {
do {
u16 px;
s32 r, g, b, out;
__asm__("" :: "r"(i)); /* +3 refs on i (depth-3): lifts i over dst in the $t2 race */
px = *src;
r = ((px & 0x1F) * s0v) / 2560;
g = (((px & 0x3E0) * t9v) / 2560) & 0x3E0;
b = (((px & 0x7C00) * t8v) / 2560) & 0x7C00;
out = r | g | b | (px & 0x8000);
if (out == 0 && px != 0) {
out = 0x8000;
}
*dst = out;
dst++;
i++;
src++;
} while (i < n);
}
}
arg0++;
}
}
}
}
+1 -1
View File
@@ -819,7 +819,7 @@ extern u8 D_80184C68[];
extern u8 D_80184D64[];
extern u8 D_80184DE4[];
extern u8 D_80184CBC[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+1 -1
View File
@@ -819,7 +819,7 @@ extern u8 D_80184C68[];
extern u8 D_80184D64[];
extern u8 D_80184DE4[];
extern u8 D_80184CBC[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+1 -1
View File
@@ -819,7 +819,7 @@ extern u8 D_80184C68[];
extern u8 D_80184D64[];
extern u8 D_80184DE4[];
extern u8 D_80184CBC[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+133 -2
View File
@@ -1897,7 +1897,7 @@ extern u8 D_8017F990[];
extern u8 D_8017FA10[];
extern u8 D_8017F8E8[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
@@ -1942,7 +1942,138 @@ void func_8013D3D4(int param_1, int param_2)
}
INCLUDE_ASM("asm/ov_SC02_039/nonmatchings/ov_SC02_039_jr_801380E0", func_8013D53C);
/* 9-byte, align-1 -> unaligned block copy */
extern s32 D_8019FA68;
extern s32 D_8019FA50;
extern u8 D_801A0D8A;
extern u8 D_801A0DFE;
extern u8 D_801A0CB2;
extern u8 D_801A0D6C;
extern u8 D_801A0C90;
extern u8 D_801A0CB1;
extern s32 D_801A0D70;
extern s32 D_8019FA64;
extern s32 D_8019FA60;
extern s32 D_8019FA48;
extern s32 D_8019FA54;
extern s32 D_8019FA58;
extern void *D_8019FA38;
extern s32 D_8019FA70;
extern void *D_8019FA40;
void func_8013D53C(void *arg0v) {
extern Rec9 D_8017FA2C[];
extern Rec12 D_8017FA64[];
extern u8 D_80078EAF;
extern u8 D_801A0D48;
extern s32 D_8019FA5C;
Cmd_8013D53C *arg0 = arg0v;
extern u8 D_8017FA68[];
extern u8 D_8017FA6C[];
extern unsigned char D_801A0CA8;
extern s16 *D_8019FA44;
extern s32 D_8019FA74;
extern s32 D_8019FA78;
extern s32 D_8019FA7C;
s32 s0v;
s32 t9v;
s32 t8v;
u8 b0, b1, b2;
u8 pad[8]; /* dead BLKmode local: frame 0x10 -> 0x18, zero code */
if (!(D_8019FA68 & 1)) {
D_8019FA50 = 1;
} else {
D_8019FA50 = D_80078EAF;
}
b0 = ((u8 *)D_8017FA64)[D_8019FA50 * 12];
D_801A0D8A = b0;
D_801A0DFE = b0;
b1 = D_8017FA68[D_8019FA50 * 12];
D_801A0CB2 = b1;
D_801A0D6C = b1;
b2 = D_8017FA6C[D_8019FA50 * 12];
D_801A0C90 = b2;
D_801A0CB1 = b2;
(*(S9 *)&D_801A0CA8) = ((S9 *)D_8017FA2C)[D_8019FA50];
(*(S9 *)&D_801A0D48) = *(S9 *)(&D_801A0C90 + 0x18); /* same addr as (*(S9 *)&D_801A0CA8); distinct sym defeats cse, keeps %hi/%lo */
D_801A0D70 = 1;
D_8019FA64 = -1;
D_8019FA60 = 0;
D_8019FA5C = -1;
D_8019FA48 = 0;
D_8019FA54 = 0;
D_8019FA58 = 0;
if ((D_8019FA68 & 2) && (D_8019FA50 == 4)) {
s0v = (*(s32 * *)&D_8019FA38)[18];
t9v = (*(s32 * *)&D_8019FA38)[19];
t8v = (*(s32 * *)&D_8019FA38)[20];
} else {
s32 *p = (s32 *)(D_8019FA50 * 12 + (s32) (*(s32 * *)&D_8019FA38)); /* block-local: local-alloc ties sum into mul chain */
s0v = p[0];
t9v = p[1];
t8v = p[2];
}
(*(Cmd_8013D53C * *)&D_8019FA44) = arg0;
if (arg0 != 0) {
if (D_8019FA70 != 0) {
s32 *p = (s32 *)(D_8019FA50 * 12 + (s32) (*(s32 * *)&D_8019FA40));
D_8019FA74 = p[0];
D_8019FA78 = p[1];
D_8019FA7C = p[2];
} else {
while ((arg0->cmd & 0xFFFF) != 0xFF) {
if ((arg0->cmd & 0xFFFF) == 9) {
s32 n;
s32 i;
u16 *src;
u16 *dst;
n = arg0->w * arg0->h;
i = 0;
src = arg0->data;
__asm__("" :: "r"(src)); /* +2 refs on src (depth-2): keeps src above i, below the mfhi temp */
dst = src + n;
if (n > 0) {
do {
u16 px;
s32 r, g, b, out;
__asm__("" :: "r"(i)); /* +3 refs on i (depth-3): lifts i over dst in the $t2 race */
px = *src;
r = ((px & 0x1F) * s0v) / 2560;
g = (((px & 0x3E0) * t9v) / 2560) & 0x3E0;
b = (((px & 0x7C00) * t8v) / 2560) & 0x7C00;
out = r | g | b | (px & 0x8000);
if (out == 0 && px != 0) {
out = 0x8000;
}
*dst = out;
dst++;
i++;
src++;
} while (i < n);
}
}
arg0++;
}
}
}
}
+1 -1
View File
@@ -816,7 +816,7 @@ extern u8 D_8017F894[];
extern u8 D_8017F990[];
extern u8 D_8017FA10[];
extern u8 D_8017F8E8[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+1 -1
View File
@@ -816,7 +816,7 @@ extern u8 D_8017F894[];
extern u8 D_8017F990[];
extern u8 D_8017FA10[];
extern u8 D_8017F8E8[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+1 -1
View File
@@ -816,7 +816,7 @@ extern u8 D_8017F894[];
extern u8 D_8017F990[];
extern u8 D_8017FA10[];
extern u8 D_8017F8E8[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+133 -2
View File
@@ -1897,7 +1897,7 @@ extern u8 D_80185660[];
extern u8 D_801856E0[];
extern u8 D_801855B8[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
@@ -1942,7 +1942,138 @@ void func_8013D3D4(int param_1, int param_2)
}
INCLUDE_ASM("asm/ov_SC02_041/nonmatchings/ov_SC02_041_jr_801380E0", func_8013D53C);
/* 9-byte, align-1 -> unaligned block copy */
extern s32 D_801B7DE0;
extern s32 D_801B7DC8;
extern u8 D_801B9662;
extern u8 D_801B96D6;
extern u8 D_801B958A;
extern u8 D_801B9644;
extern u8 D_801B9568;
extern u8 D_801B9589;
extern s32 D_801B9648;
extern s32 D_801B7DDC;
extern s32 D_801B7DD8;
extern s32 D_801B7DC0;
extern s32 D_801B7DCC;
extern s32 D_801B7DD0;
extern void *D_801B7DB0;
extern s32 D_801B7DE8;
extern void *D_801B7DB8;
void func_8013D53C(void *arg0v) {
extern Rec9 D_801856FC[];
extern Rec12 D_80185734[];
extern u8 D_80078EAF;
extern u8 D_801B9620;
extern s32 D_801B7DD4;
Cmd_8013D53C *arg0 = arg0v;
extern u8 D_80185738[];
extern u8 D_8018573C[];
extern unsigned char D_801B9580;
extern s16 *D_801B7DBC;
extern s32 D_801B7DEC;
extern s32 D_801B7DF0;
extern s32 D_801B7DF4;
s32 s0v;
s32 t9v;
s32 t8v;
u8 b0, b1, b2;
u8 pad[8]; /* dead BLKmode local: frame 0x10 -> 0x18, zero code */
if (!(D_801B7DE0 & 1)) {
D_801B7DC8 = 1;
} else {
D_801B7DC8 = D_80078EAF;
}
b0 = ((u8 *)D_80185734)[D_801B7DC8 * 12];
D_801B9662 = b0;
D_801B96D6 = b0;
b1 = D_80185738[D_801B7DC8 * 12];
D_801B958A = b1;
D_801B9644 = b1;
b2 = D_8018573C[D_801B7DC8 * 12];
D_801B9568 = b2;
D_801B9589 = b2;
(*(S9 *)&D_801B9580) = ((S9 *)D_801856FC)[D_801B7DC8];
(*(S9 *)&D_801B9620) = *(S9 *)(&D_801B9568 + 0x18); /* same addr as (*(S9 *)&D_801B9580); distinct sym defeats cse, keeps %hi/%lo */
D_801B9648 = 1;
D_801B7DDC = -1;
D_801B7DD8 = 0;
D_801B7DD4 = -1;
D_801B7DC0 = 0;
D_801B7DCC = 0;
D_801B7DD0 = 0;
if ((D_801B7DE0 & 2) && (D_801B7DC8 == 4)) {
s0v = (*(s32 * *)&D_801B7DB0)[18];
t9v = (*(s32 * *)&D_801B7DB0)[19];
t8v = (*(s32 * *)&D_801B7DB0)[20];
} else {
s32 *p = (s32 *)(D_801B7DC8 * 12 + (s32) (*(s32 * *)&D_801B7DB0)); /* block-local: local-alloc ties sum into mul chain */
s0v = p[0];
t9v = p[1];
t8v = p[2];
}
(*(Cmd_8013D53C * *)&D_801B7DBC) = arg0;
if (arg0 != 0) {
if (D_801B7DE8 != 0) {
s32 *p = (s32 *)(D_801B7DC8 * 12 + (s32) (*(s32 * *)&D_801B7DB8));
D_801B7DEC = p[0];
D_801B7DF0 = p[1];
D_801B7DF4 = p[2];
} else {
while ((arg0->cmd & 0xFFFF) != 0xFF) {
if ((arg0->cmd & 0xFFFF) == 9) {
s32 n;
s32 i;
u16 *src;
u16 *dst;
n = arg0->w * arg0->h;
i = 0;
src = arg0->data;
__asm__("" :: "r"(src)); /* +2 refs on src (depth-2): keeps src above i, below the mfhi temp */
dst = src + n;
if (n > 0) {
do {
u16 px;
s32 r, g, b, out;
__asm__("" :: "r"(i)); /* +3 refs on i (depth-3): lifts i over dst in the $t2 race */
px = *src;
r = ((px & 0x1F) * s0v) / 2560;
g = (((px & 0x3E0) * t9v) / 2560) & 0x3E0;
b = (((px & 0x7C00) * t8v) / 2560) & 0x7C00;
out = r | g | b | (px & 0x8000);
if (out == 0 && px != 0) {
out = 0x8000;
}
*dst = out;
dst++;
i++;
src++;
} while (i < n);
}
}
arg0++;
}
}
}
}
+1 -1
View File
@@ -816,7 +816,7 @@ extern u8 D_80185564[];
extern u8 D_80185660[];
extern u8 D_801856E0[];
extern u8 D_801855B8[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);
+1 -1
View File
@@ -816,7 +816,7 @@ extern u8 D_80185564[];
extern u8 D_80185660[];
extern u8 D_801856E0[];
extern u8 D_801855B8[];
extern void func_8013D53C(void);
extern void func_8013D53C();
extern void func_8013DD68(void);
extern void func_8013D8FC(void);
extern void func_8013CF68(void);

Some files were not shown because too many files have changed in this diff Show More