Files
NX2navi/recomp/patches-v143.txt
2026-11-07 05:04:38 -05:00

1004 lines
54 KiB
Plaintext

# Code patches for NX2navi 1.4.3 main (recomp/patches.py). Ported from MacNativeGames
# games/<game>/runtime/game_patches_v143.c (MIT, Copyright (c) 2026 MacNativeGames contributors) at upstream 73c4821,
# each original word checked against the 1.4.3 main. MacNativeGames branches to veneers after the text; here a
# veneer's body is the site's replacement. The patch page holds three floats the runtime writes at every present
# (frame_rate.c): +0 the 30 Hz ratio (seconds * 30), +4 the frame step in seconds, +8 the step in 60 Hz ticks.
set fps60 NX2NAVI_FPS60 1
set realtime NX2NAVI_REALTIME 1
set cloth NX2NAVI_CLOTH_REALTIME 1
set bounce NX2NAVI_HIGHFPS_FIX 1
set output NX2NAVI_PATCH_OUTPUT 0
set scene NX2NAVI_PATCH_SCENE 0
set shadow NX2NAVI_PATCH_SHADOW 0
set cascade NX2NAVI_PATCH_CASCADE 0
# 60 fps: the adaptive present-interval controller (main+0x2db174, 1.2.1 0x8f26c8) gets the minimum interval 1.
site fps60 main 2db204 6b08015f 7100055f # clamp: cmp w10, #1 (was cmp w10, w8 = minimum)
site fps60 main 2db208 1a89b10a 1a9fa52a # clamp: csinc w10, w9, wzr, ge (desired = max(desired, 1))
site fps60 main 2db22c b940468a d503201f # lower trigger: nop the stored-candidate load
site fps60 main 2db360 6b0801bf 710005bf # raise path: cmp w13, #1
site fps60 main 2db36c 1a88c1ac 1a9fc5ac # raise path: csinc w12, w13, wzr, gt (next lower candidate floors at 1)
site fps60 main 2db340 b9400288 52800028 # lower path: mov w8, #1 (minimum interval 1)
site fps60 main 2db34c 2a0a03f5 1a9fa555 # lower path: csinc w21, w10, wzr, ge (result never below 1)
# Real-time step. The frame-step producer feeds both FrameRateMgr call sites with s8 = nominal interval * a 0.5/1.0
# coefficient (sys+0x1da bit 0, fcsel above the site); the nominal interval comes from the patch page, the coefficient
# and FrameRateMgr's own arithmetic stay. x8 is free: the ldxr after the site loads it. The global ratio after the
# controller call (1.2.1 0x8f2394) reads the ratio from the page instead of 60 / interval * 0.5.
site realtime main 3e5658 1e210808 @page:x8 bd400900 1e210808 # fmul s8, s0, s1: s0 = [page+8] first
site realtime main 2daa54 bd425260 @page:x9 # ldr s0, [x19, #0x250] -> adrp x9, page
site realtime main 2daa58 52a84e08 bd400120 # mov w8, #60.0 -> ldr s0, [x9] (global ratio)
site realtime main 2daa6c 5e21d800 d503201f # scvtf s0, s0 -> nop
site realtime main 2daa70 1e201820 d503201f # fdiv s0, s1, s0 -> nop
site realtime main 2daa74 1e2c1001 d503201f # fmov s1, #0.5 -> nop
site realtime main 2daa78 1e210800 d503201f # fmul s0, s0, s1 -> nop
# Equipment-switch cooldown (issue #18, found by JieML1100): the player update (main+0x2b0368) steps the countdown at
# player state +0x109c through the timer step (main+0x1b0834, value += ratio * rate) only while it is above FLT_EPSILON,
# but the equipment gate (main+0x31cc7c) blocks weapon, shield and bow changes while it is above 0. Whole 30 Hz steps
# reach exactly 0; a measured ratio leaves a rounding remainder, and one in (0, FLT_EPSILON] is never stepped again and
# keeps equipment locked until a load. Stepping while above 0 takes the remainder below 0 like any other last step.
site realtime main 2b036c 0f016681 0f000401 # movi v1.2s, #0x34, lsl #24 (FLT_EPSILON) -> movi v1.2s, #0
# Hair and cloth: the actor animation update builds a second clock {seconds = factor / 30, ratio = factor} per
# rendered frame. 1.4.3 inlines it in two actor paths, where the factor was just stored to the ratio slot: the
# replacement stores measured ratio * factor there and computes measured seconds * factor. Two other callers share the
# out-of-line update (main+0x2a0e40), whose s2 (seconds) and s3 (ratio) are scaled by the measured ratio; its third
# caller already passes measured time and stays. x8 and s4 are free at all four sites.
site cloth main 246eac 1e200940 @page:x8 bd400100 1e200940 bd0367e0 bd400500 1e200940 # fmul s0, s10, s0
site cloth main 345904 1e210801 @page:x8 bd400101 1e210801 bd0117e1 bd400501 1e210801 # fmul s1, s0, s1
site cloth main 24944c 94015e7d @page:x8 bd400104 1e240842 1e240863 94015e7d # bl 0x2a0e40
site cloth main 28bc98 9400546a @page:x8 bd400104 1e240842 1e240863 9400546a # bl 0x2a0e40
# Trampolines: the contact code scales the bounce vector by 0.1 when time object +0x28 (30 / (ratio * time scale)) is
# over 100; compare +0x28 * +0x38 (30 / time scale) instead, the same value at 30 Hz and independent of the frame rate.
# s1 is set again by the fmov two instructions on.
site bounce main 562a64 bd402920 bd402920 bd403921 1e210800 # ldr s0, [x9, #0x28]; ldr s1, [x9, #0x38]; fmul s0, s0, s1
# Fades (MacNativeGames game_patches_v143.c patch_fade_increment, upstream 3e9e7f67): the distance/LOD mesh fades and
# the pre-actor fades add trunc(2.1 * ratio) to a counter each frame: 2 at 30 fps, 1 at 60, 0 above about 63.5 fps
# (ratio below 1 / 2.1), where a fade stops and its object stays translucent or invisible until a slower frame moves
# it on. Each site floors the increment at 1 without the flags: clz is 32 only for 0, so increment += clz >> 5. The
# scratch register is one the next instruction writes (w10 at 0x0a7ac4: ldrb w10; w11 at the pre-actor sites: add
# w11), or at 0x95dd24 a temporary the function no longer reads (add, strb, return).
set fade NX2NAVI_HIGHFPS_FIX 1
site fade main 0a7ac4 1e380008 1e380008 5ac0110a 53057d4a 0b0a0108 # fcvtzs w8, s0; clz w10, w8; lsr w10, w10, #5; add w8, w8, w10
site fade main 95dd24 1e380008 1e380008 5ac0110a 53057d4a 0b0a0108 # the same, second mesh fade
site fade main 6155e4 1e38000a 1e38000a 5ac0114b 53057d6b 0b0b014a # fcvtzs w10, s0; clz w11, w10; lsr w11, w11, #5; add w10, w10, w11
site fade main 615660 1e38000a 1e38000a 5ac0114b 53057d6b 0b0b014a # the same, second pre-actor fade path
# Output size (upstream game_patches_v143.c patch_output_res; runtime/resolution.c switches the set on). The swapchain
# size nnMain writes comes from page +48; the display configuration's canvas (+0x10) and active output (+0x508) from
# page +32, and the configuration goes to page +40. x9 is dead at the publication point.
site output main bdb578 d280f008 @page:x8 # mov x8, #0x780 -> adrp x8, page (x9 is built in between)
site output main bdb584 f2c08708 f9401908 # movk x8, #0x438, lsl #32 -> ldr x8, [x8, #48]
site output main 3dcb28 d360fc64 @page:x9 f9001533 f9401123 f9000a63 d360fc64 # lsr x4, x3, #32: x3 = [page+32] first
# Scene render size (upstream patch_render_res): every path that picks the size meets at main+0x585e48; the renderer's
# +0xcc4 / +0xcc8 take two floats from page +16. x3 is scratch in this function; w9 still holds the output size.
site scene main 585e48 1e220160 @page:x3 # scvtf s0, w11 -> adrp x3, page
site scene main 585e50 bd0cc660 2d420460 # str s0, [x19, #0xcc4] -> ldp s0, s1, [x3, #16]
site scene main 585e54 1e220140 bd0cc660 # scvtf s0, w10 -> str s0, [x19, #0xcc4]
site scene main 585e60 bd0cca60 bd0cca61 # str s0, [x19, #0xcc8] -> str s1, [x19, #0xcc8]
# Camera aspect ratio for a game resolution that is not 16:9 (upstream game_patches_v143.c and aspect_patch.h
# aspect_install / aspect_stub; runtime/resolution.c res_init writes the output's width / height to page +56 and
# switches the set on). Each site leaves the ratio sead's perspective projection (+0xb0) takes in s0: two camera sites
# (update and setup) load the camera's copy of DefaultAspect 1.777778, two viewport routines divide width by height.
# The replacement loads the ratio from the page instead, so a 21:9 output shows more of the world at the sides with
# the vertical view kept (Hor+). x10 is kept on the stack, so no register liveness is assumed.
set aspect NX2NAVI_ASPECT_PATCH 0
site aspect main 628c74 bd414260 f81f0fea @page:x10 bd403940 f84107ea # ldr s0, [x19, #0x140] (camera update)
site aspect main b43460 bd406ac0 f81f0fea @page:x10 bd403940 f84107ea # ldr s0, [x22, #0x68] (camera setup)
site aspect main 1ff04f4 1e211800 f81f0fea @page:x10 bd403940 f84107ea # fdiv s0, s0, s1 (viewport)
site aspect main 253fbb0 1e211800 f81f0fea @page:x10 bd403940 f84107ea # fdiv s0, s0, s1 (viewport)
# Field of view (runtime/resolution.c res_fov_live writes NX2NAVI_FOV / 100 to page +60 and switches the set). The same two
# camera routines as the aspect set load the camera's vertical view angle (radians) a few words before the ratio and
# hand it to sead's perspective projection (+0xa0, then sin / cos / tan of half of it at +0xa4..+0xac). The replacement
# loads the angle as before and multiplies it by the factor on the page; s8 holds the factor because the next
# instruction (fmul s8, s0, s1) overwrites it. Zooms the game makes itself (the bow, the scope) scale with it.
set fov NX2NAVI_FOV_PATCH 0
site fov main 628c3c bd413e60 f81f0fea @page:x10 bd413e60 bd403d48 1e280800 f84107ea # ldr s0, [x19, #0x13c] (camera update)
site fov main b4342c bd4066c0 f81f0fea @page:x10 bd4066c0 bd403d48 1e280800 f84107ea # ldr s0, [x22, #0x64] (camera setup)
# The camera input update, after its stick dead zone, unit-radius clamp and StickExponent. The host callback
# performs the displaced store and adds raw mouse counts to s9/s10 (runtime/mouse_direct.c camera_input).
# Its address is page +0xfd0; the page is main+0x3adf000 on this verified build.
set mouse_direct NX2NAVI_MOUSE_DIRECT_PATCH 1
site mouse_direct main 874cb4 bd042289 94c9acc7
site mouse_direct main 874d7c 6d40a3e9 94c9ac91
site mouse_direct main 18e444 f9400408 94e546db
site mouse_direct main 18f108 bd4047ec 94e543a6
site mouse_direct main 1d59460 b9004be8 94761acc
# The game's zstd decoder (BSD zstd, statically linked into main) through the host's libzstd (runtime/ov_zstd.c):
# every call of ZSTD_decompressMultiFrame (main+0x3a1f0: dctx, dst, capacity, src, size, dict, dict size, ddict) and of
# its wrapper ZSTD_decompress_usingDDict (main+0x3a1e0, which tail-branches to it) goes to a host function on the patch
# page (+0xff0 and +0xfe0). The lifted decoder runs its copy loops as chains of small functions; the host decodes the
# same frames several times faster and gives the virtual core up for large inputs. Not main+0x547a04: that caller
# (main+0x547964) resets a static DCtx of its own with which the game's zstd rejects some valid frames
# (corruption_detected on a 473 KB frame the host decodes), and the game relies on that result.
set zstd NX2NAVI_ZSTD_NATIVE 1
site zstd main 5f5358 97e913a6 94d3ab26 # bl ZSTD_decompressMultiFrame -> page+0xff0
site zstd main 6d7788 97e58a9a 94d0221a # bl ZSTD_decompressMultiFrame -> page+0xff0
site zstd main bdc8e8 97d17642 94bc0dc2 # bl ZSTD_decompressMultiFrame -> page+0xff0
site zstd main 27ce4dc 9761af45 944c46c5 # bl ZSTD_decompressMultiFrame -> page+0xff0
site zstd main 5f574c 97e912a5 94d3aa25 # bl ZSTD_decompress_usingDDict -> page+0xfe0
site zstd main bdc910 97d17634 94bc0db4 # bl ZSTD_decompress_usingDDict -> page+0xfe0
site zstd main 1852314 979f9fb3 948a3733 # bl ZSTD_decompress_usingDDict -> page+0xfe0
# Spin waits, from tools/spin_waits.py --exefs build/extracted/v143/exefs --patches recomp/patches-v143.txt: loops that only
# another thread can end; their back-edges pass rt_spin_gate (runtime/kernel.c), NX2NAVI_SPIN=0 keeps the core.
spin main 231dc 231ec # 5 instructions; loads
spin main 24780 24790 # 5 instructions; loads
spin main 5748c 574a0 # 6 instructions; loads
spin main 574b8 574cc # 6 instructions; loads
spin main 5775c 57770 # 6 instructions; loads
spin main 577c8 577dc # 6 instructions; loads
spin main 59ac0 59ad4 # 6 instructions; loads
spin main 95298 952b0 # 7 instructions; loads
spin main 952c4 952dc # 7 instructions; loads
spin main 952ec 95304 # 7 instructions; loads
spin main aeeb0 aefa8 # 8 instructions; stc
spin main ee90c ee93c # 13 instructions; loads
spin main ee950 ee96c # 8 instructions; loads
spin main 11982c 11985c # 13 instructions; loads
spin main 11986c 119888 # 8 instructions; loads
spin main 1391f8 139208 # 5 instructions; loads
spin main 13abc8 13abfc # 14 instructions; loads
spin main 13ac0c 13ac28 # 8 instructions; loads
spin main 15c004 15c018 # 6 instructions; loads
spin main 15cb4c 15cb60 # 6 instructions; loads
spin main 15cc80 15cc94 # 6 instructions; loads
spin main 15d0c0 15d0d4 # 6 instructions; loads
spin main 176ec8 176edc # 6 instructions; loads
spin main 191be4 191bf8 # 6 instructions; loads
spin main 1946a4 1946b8 # 6 instructions; loads
spin main 1ac9b0 1ac9b8 # 3 instructions; loads
spin main 1f9720 1f9734 # 6 instructions; loads
spin main 212a28 212a3c # 6 instructions; loads
spin main 212afc 212b10 # 6 instructions; loads
spin main 213944 213958 # 6 instructions; loads
spin main 216378 21638c # 6 instructions; loads
spin main 2163d4 2163e8 # 6 instructions; loads
spin main 21bb64 21bb78 # 6 instructions; loads
spin main 21c0a0 21c0b4 # 6 instructions; loads
spin main 2368a8 2368bc # 6 instructions; loads
spin main 236a5c 236a70 # 6 instructions; loads
spin main 236c08 236c1c # 6 instructions; loads
spin main 236ebc 236ed0 # 6 instructions; loads
spin main 236fc4 236fd8 # 6 instructions; loads
spin main 23822c 238240 # 6 instructions; loads
spin main 239f08 239f1c # 6 instructions; loads
spin main 24f3ec 24f400 # 6 instructions; loads
spin main 24f500 24f514 # 6 instructions; loads
spin main 24f52c 24f540 # 6 instructions; loads
spin main 24f590 24f5a4 # 6 instructions; loads
spin main 24fa54 24fa68 # 6 instructions; loads
spin main 24fe38 24fe4c # 6 instructions; loads
spin main 25b364 25b378 # 6 instructions; loads
spin main 25b614 25b628 # 6 instructions; loads
spin main 25c1c8 25c1dc # 6 instructions; loads
spin main 270cd0 270ce4 # 6 instructions; loads
spin main 2836ac 2836c0 # 6 instructions; loads
spin main 28ae98 28aeac # 6 instructions; loads
spin main 29f890 29f8a4 # 6 instructions; loads
spin main 29f968 29f97c # 6 instructions; loads
spin main 2a8e74 2a8e88 # 6 instructions; loads
spin main 2dd3e8 2dd3fc # 6 instructions; loads
spin main 2e03c4 2e03d8 # 6 instructions; loads
spin main 2f9758 2f976c # 6 instructions; loads
spin main 2fddb8 2fddcc # 6 instructions; loads
spin main 2ffb20 2ffb34 # 6 instructions; loads
spin main 30e230 30e244 # 6 instructions; loads
spin main 3100e8 3100fc # 6 instructions; loads
spin main 317abc 317ad0 # 6 instructions; loads
spin main 319664 319678 # 6 instructions; loads
spin main 319f24 319f38 # 6 instructions; loads
spin main 31aeac 31aec0 # 6 instructions; loads
spin main 31b558 31b56c # 6 instructions; loads
spin main 33538c 3353a0 # 6 instructions; loads
spin main 33e898 33e8ac # 6 instructions; loads
spin main 34e07c 34e090 # 6 instructions; loads
spin main 350e7c 350e90 # 6 instructions; loads
spin main 350f28 350f3c # 6 instructions; loads
spin main 3510fc 351110 # 6 instructions; loads
spin main 3511b8 3511cc # 6 instructions; loads
spin main 352840 352854 # 6 instructions; loads
spin main 3528b0 3528c4 # 6 instructions; loads
spin main 36cec4 36ced8 # 6 instructions; loads
spin main 3a341c 3a3430 # 6 instructions; loads
spin main 3a3444 3a3458 # 6 instructions; loads
spin main 3de1cc 3de1e8 # 8 instructions; loads
spin main 3de2a4 3de2f0 # 7 instructions; loads
spin main 3de2fc 3de348 # 7 instructions; loads
spin main 3e8418 3e8428 # 5 instructions; loads
spin main 3e855c 3e856c # 5 instructions; loads
spin main 4096c4 4096d8 # 6 instructions; loads
spin main 409748 40975c # 6 instructions; loads
spin main 41e068 41e070 # 3 instructions; loads
spin main 42d138 42d14c # 6 instructions; loads
spin main 43b260 43b274 # 6 instructions; loads
spin main 43e01c 43e030 # 6 instructions; loads
spin main 446bac 446bc0 # 6 instructions; loads
spin main 4503f0 450404 # 6 instructions; loads
spin main 457274 457288 # 6 instructions; loads
spin main 4609dc 4609f0 # 6 instructions; loads
spin main 46313c 463150 # 6 instructions; loads
spin main 467844 467858 # 6 instructions; loads
spin main 467f68 467f7c # 6 instructions; loads
spin main 46ca90 46caa4 # 6 instructions; loads
spin main 46ef8c 46efa0 # 6 instructions; loads
spin main 472154 472168 # 6 instructions; loads
spin main 473b88 473b9c # 6 instructions; loads
spin main 47c85c 47c870 # 6 instructions; loads
spin main 47cb00 47cb14 # 6 instructions; loads
spin main 47da50 47da64 # 6 instructions; loads
spin main 47fcb4 47fcc8 # 6 instructions; loads
spin main 480b44 480b58 # 6 instructions; loads
spin main 480c18 480c2c # 6 instructions; loads
spin main 482c3c 482c50 # 6 instructions; loads
spin main 482d18 482d2c # 6 instructions; loads
spin main 482e78 482e8c # 6 instructions; loads
spin main 4902bc 4902d0 # 6 instructions; loads
spin main 490394 4903a8 # 6 instructions; loads
spin main 4904cc 4904e0 # 6 instructions; loads
spin main 49061c 490630 # 6 instructions; loads
spin main 49114c 491160 # 6 instructions; loads
spin main 491418 49142c # 6 instructions; loads
spin main 492234 492248 # 6 instructions; loads
spin main 4991bc 4991d0 # 6 instructions; loads
spin main 49de50 49de64 # 6 instructions; loads
spin main 49def8 49df0c # 6 instructions; loads
spin main 49f714 49f728 # 6 instructions; loads
spin main 4a0bf4 4a0c08 # 6 instructions; loads
spin main 4a2834 4a2848 # 6 instructions; loads
spin main 4a36a4 4a36b8 # 6 instructions; loads
spin main 4b99b8 4b99cc # 6 instructions; loads
spin main 4c05e8 4c05fc # 6 instructions; loads
spin main 4c0950 4c0964 # 6 instructions; loads
spin main 4c0bf4 4c0c08 # 6 instructions; loads
spin main 4d3088 4d309c # 6 instructions; loads
spin main 4d4bf4 4d4c08 # 6 instructions; loads
spin main 4e70dc 4e70f0 # 6 instructions; loads
spin main 4ec724 4ec738 # 6 instructions; loads
spin main 4f6068 4f607c # 6 instructions; loads
spin main 4f6264 4f6278 # 6 instructions; loads
spin main 4f94fc 4f9510 # 6 instructions; loads
spin main 4fcacc 4fcae0 # 6 instructions; loads
spin main 4fd858 4fd86c # 6 instructions; loads
spin main 4fedc0 4fedd4 # 6 instructions; loads
spin main 4feed4 4feee8 # 6 instructions; loads
spin main 4ff408 4ff41c # 6 instructions; loads
spin main 500960 500974 # 6 instructions; loads
spin main 50437c 504390 # 6 instructions; loads
spin main 504608 50461c # 6 instructions; loads
spin main 511b60 511b74 # 6 instructions; loads
spin main 587f98 587fac # 6 instructions; loads
spin main 5a9c04 5a9c18 # 6 instructions; loads
spin main 5b15a8 5b15bc # 6 instructions; loads
spin main 5b1600 5b1614 # 6 instructions; loads
spin main 5b1690 5b16a4 # 6 instructions; loads
spin main 5b16f0 5b1704 # 6 instructions; loads
spin main 5b7080 5b7094 # 6 instructions; loads
spin main 5bfc2c 5bfc40 # 6 instructions; loads
spin main 5bfd00 5bfd14 # 6 instructions; loads
spin main 5fe024 5fe038 # 6 instructions; loads
spin main 601814 601828 # 6 instructions; loads
spin main 602398 6023ac # 6 instructions; loads
spin main 602448 60245c # 6 instructions; loads
spin main 602914 602928 # 6 instructions; loads
spin main 602d8c 602da0 # 6 instructions; loads
spin main 6034ac 6034c0 # 6 instructions; loads
spin main 603560 603574 # 6 instructions; loads
spin main 603a44 603a58 # 6 instructions; loads
spin main 61ac14 61ac28 # 6 instructions; loads
spin main 628694 6286a8 # 6 instructions; loads
spin main 6289f8 628a0c # 6 instructions; loads
spin main 6294b4 6294c8 # 6 instructions; loads
spin main 62abc4 62abd8 # 6 instructions; loads
spin main 62d6a0 62d6b4 # 6 instructions; loads
spin main 62d9d8 62d9ec # 6 instructions; loads
spin main 631bdc 631bf0 # 6 instructions; loads
spin main 6575a4 6575b8 # 6 instructions; loads
spin main 65b450 65b464 # 6 instructions; loads
spin main 65bb7c 65bb90 # 6 instructions; loads
spin main 662d34 662d48 # 6 instructions; loads
spin main 662e38 662e4c # 6 instructions; loads
spin main 675a30 675a44 # 6 instructions; loads
spin main 68bb10 68bb24 # 6 instructions; loads
spin main 68bb60 68bb74 # 6 instructions; loads
spin main 68bd04 68bd18 # 6 instructions; loads
spin main 6b5038 6b504c # 6 instructions; loads
spin main 6b51c4 6b51d8 # 6 instructions; loads
spin main 6cf050 6cf064 # 6 instructions; loads
spin main 6cf0c8 6cf0dc # 6 instructions; loads
spin main 6cf160 6cf174 # 6 instructions; loads
spin main 6cf1b4 6cf1c8 # 6 instructions; loads
spin main 6cfc34 6cfc48 # 6 instructions; loads
spin main 6cfc5c 6cfc70 # 6 instructions; loads
spin main 6e41e4 6e41f8 # 6 instructions; loads
spin main 712ab8 712acc # 6 instructions; loads
spin main 715894 7158a8 # 6 instructions; loads
spin main 715aac 715ac0 # 6 instructions; loads
spin main 715e84 715e98 # 6 instructions; loads
spin main 715f30 715f44 # 6 instructions; loads
spin main 718a40 718a54 # 6 instructions; loads
spin main 718ae4 718af8 # 6 instructions; loads
spin main 718bd8 718bec # 6 instructions; loads
spin main 718c64 718c78 # 6 instructions; loads
spin main 72caa0 72cab4 # 6 instructions; loads
spin main 72e5c8 72e5dc # 6 instructions; loads
spin main 72ebfc 72ec10 # 6 instructions; loads
spin main 747f84 747f98 # 6 instructions; loads
spin main 748270 748284 # 6 instructions; loads
spin main 7487b4 7487c8 # 6 instructions; loads
spin main 748b10 748b24 # 6 instructions; loads
spin main 7522ac 7522c0 # 6 instructions; loads
spin main 75259c 7525b0 # 6 instructions; loads
spin main 7b5118 7b512c # 6 instructions; loads
spin main 7bb674 7bb688 # 6 instructions; loads
spin main 7bb724 7bb738 # 6 instructions; loads
spin main 7bb7d0 7bb7e4 # 6 instructions; loads
spin main 7bb87c 7bb890 # 6 instructions; loads
spin main 7cd938 7cd94c # 6 instructions; loads
spin main 7ce440 7ce454 # 6 instructions; loads
spin main 7ce7c0 7ce7d4 # 6 instructions; loads
spin main 7cea30 7cea44 # 6 instructions; loads
spin main 7ced60 7ced74 # 6 instructions; loads
spin main 7cf108 7cf11c # 6 instructions; loads
spin main 7cf374 7cf388 # 6 instructions; loads
spin main 7cf3ec 7cf400 # 6 instructions; loads
spin main 7cf8a8 7cf8bc # 6 instructions; loads
spin main 7cfbd0 7cfbe4 # 6 instructions; loads
spin main 7d2a34 7d2a48 # 6 instructions; loads
spin main 7d2c54 7d2c68 # 6 instructions; loads
spin main 7d4100 7d411c # 8 instructions; loads
spin main 7d41b0 7d41cc # 8 instructions; loads
spin main 7d4260 7d427c # 8 instructions; loads
spin main 7d46d4 7d46e8 # 6 instructions; loads
spin main 7d5128 7d513c # 6 instructions; loads
spin main 7d5760 7d5774 # 6 instructions; loads
spin main 7d57a8 7d57bc # 6 instructions; loads
spin main 7d664c 7d6660 # 6 instructions; loads
spin main 7d6748 7d675c # 6 instructions; loads
spin main 7d67f4 7d6808 # 6 instructions; loads
spin main 7d6b48 7d6b5c # 6 instructions; loads
spin main 7d6f18 7d6f2c # 6 instructions; loads
spin main 7d7168 7d717c # 6 instructions; loads
spin main 7d752c 7d7540 # 6 instructions; loads
spin main 7d79b8 7d79cc # 6 instructions; loads
spin main 7d7bf4 7d7c08 # 6 instructions; loads
spin main 7d8794 7d87a8 # 6 instructions; loads
spin main 7d8918 7d892c # 6 instructions; loads
spin main 7d8ab0 7d8ac4 # 6 instructions; loads
spin main 7d94e4 7d94f8 # 6 instructions; loads
spin main 7dd1cc 7dd1e0 # 6 instructions; loads
spin main 7ddd3c 7ddd50 # 6 instructions; loads
spin main 7de684 7de698 # 6 instructions; loads
spin main 7dead4 7deae8 # 6 instructions; loads
spin main 7deb48 7deb5c # 6 instructions; loads
spin main 7ded58 7ded6c # 6 instructions; loads
spin main 7e049c 7e04b0 # 6 instructions; loads
spin main 7e4570 7e4584 # 6 instructions; loads
spin main 7e462c 7e4640 # 6 instructions; loads
spin main 7e46dc 7e46f0 # 6 instructions; loads
spin main 7e478c 7e47a0 # 6 instructions; loads
spin main 7e4868 7e487c # 6 instructions; loads
spin main 7e4930 7e4944 # 6 instructions; loads
spin main 7e4a00 7e4a14 # 6 instructions; loads
spin main 7e4ac4 7e4ad8 # 6 instructions; loads
spin main 7e4b84 7e4b98 # 6 instructions; loads
spin main 7e4c44 7e4c58 # 6 instructions; loads
spin main 7e4d04 7e4d18 # 6 instructions; loads
spin main 7e4dd0 7e4de4 # 6 instructions; loads
spin main 7e4e94 7e4ea8 # 6 instructions; loads
spin main 7e528c 7e52a0 # 6 instructions; loads
spin main 7e53cc 7e53e0 # 6 instructions; loads
spin main 7e53f4 7e5408 # 6 instructions; loads
spin main 7e54a4 7e54b8 # 6 instructions; loads
spin main 7e5564 7e5578 # 6 instructions; loads
spin main 7e5664 7e5678 # 6 instructions; loads
spin main 7e572c 7e5740 # 6 instructions; loads
spin main 7e5e90 7e5ea4 # 6 instructions; loads
spin main 7e5f8c 7e5fa0 # 6 instructions; loads
spin main 7e64fc 7e6510 # 6 instructions; loads
spin main 7e65b8 7e65cc # 6 instructions; loads
spin main 7ead90 7eada4 # 6 instructions; loads
spin main 7eae34 7eae48 # 6 instructions; loads
spin main 7ed8ac 7ed8c0 # 6 instructions; loads
spin main 7ee8a8 7ee8bc # 6 instructions; loads
spin main 7eea7c 7eea90 # 6 instructions; loads
spin main 7eef80 7eef94 # 6 instructions; loads
spin main 7ef3a8 7ef3bc # 6 instructions; loads
spin main 7ef494 7ef4a8 # 6 instructions; loads
spin main 7ef584 7ef598 # 6 instructions; loads
spin main 7f00ac 7f00c0 # 6 instructions; loads
spin main 7f0470 7f0484 # 6 instructions; loads
spin main 7f0520 7f0534 # 6 instructions; loads
spin main 7f7be4 7f7bf8 # 6 instructions; loads
spin main 7f8df0 7f8e04 # 6 instructions; loads
spin main 7fcd74 7fcd88 # 6 instructions; loads
spin main 7fd738 7fd74c # 6 instructions; loads
spin main 7fd9d8 7fd9ec # 6 instructions; loads
spin main 7fda18 7fda2c # 6 instructions; loads
spin main 7ff020 7ff034 # 6 instructions; loads
spin main 7ff064 7ff078 # 6 instructions; loads
spin main 7ff624 7ff638 # 6 instructions; loads
spin main 7ff678 7ff68c # 6 instructions; loads
spin main 7ff6c8 7ff6dc # 6 instructions; loads
spin main 7ffff4 800010 # 8 instructions; loads
spin main 800504 800520 # 8 instructions; loads
spin main 800a3c 800a50 # 6 instructions; loads
spin main 807424 807438 # 6 instructions; loads
spin main 808910 808924 # 6 instructions; loads
spin main 8209cc 8209e0 # 6 instructions; loads
spin main 822a60 822a74 # 6 instructions; loads
spin main 83bf5c 83bf70 # 6 instructions; loads
spin main 83d5f0 83d604 # 6 instructions; loads
spin main 84643c 846450 # 6 instructions; loads
spin main 847d80 847d94 # 6 instructions; loads
spin main 849410 849424 # 6 instructions; loads
spin main 849b14 849b28 # 6 instructions; loads
spin main 8534dc 8534f0 # 6 instructions; loads
spin main 853d44 853d58 # 6 instructions; loads
spin main 86bd68 86bde0 # 9 instructions; loads
spin main 86be14 86be8c # 9 instructions; loads
spin main 871d20 871d34 # 6 instructions; loads
spin main 874a64 874a78 # 6 instructions; loads
spin main 8753a8 8753bc # 6 instructions; loads
spin main 885dc8 885ddc # 6 instructions; loads
spin main 88c4cc 88c4e0 # 6 instructions; loads
spin main 88cb8c 88cc14 # 6 instructions; loads
spin main 88dcf4 88dd08 # 6 instructions; loads
spin main 88de9c 88deb0 # 6 instructions; loads
spin main 88ecc0 88ecd4 # 6 instructions; loads
spin main 88fa2c 88fa40 # 6 instructions; loads
spin main 88fd00 88fd14 # 6 instructions; loads
spin main 8907b8 8907cc # 6 instructions; loads
spin main 890834 890848 # 6 instructions; loads
spin main 893a28 893a3c # 6 instructions; loads
spin main 893b18 893b2c # 6 instructions; loads
spin main 894278 89428c # 6 instructions; loads
spin main 8a5964 8a5978 # 6 instructions; loads
spin main 8ac4fc 8ac510 # 6 instructions; loads
spin main 8b1164 8b1178 # 6 instructions; loads
spin main 8c04c8 8c04dc # 6 instructions; loads
spin main 8c0614 8c0628 # 6 instructions; loads
spin main 8c6b04 8c6b0c # 3 instructions; loads
spin main 8c6b14 8c6b18 # 2 instructions; loads
spin main 8c6b60 8c6b68 # 3 instructions; loads
spin main 8db878 8db88c # 6 instructions; loads
spin main 8dbd38 8dbd4c # 6 instructions; loads
spin main 938098 9380ac # 6 instructions; loads
spin main 93a2f0 93a304 # 6 instructions; loads
spin main 93a508 93a51c # 6 instructions; loads
spin main 93a684 93a698 # 6 instructions; loads
spin main 93b870 93b884 # 6 instructions; loads
spin main 93bab8 93bacc # 6 instructions; loads
spin main 93cab8 93cacc # 6 instructions; loads
spin main 93cd18 93cd2c # 6 instructions; loads
spin main 942d9c 942db0 # 6 instructions; loads
spin main 9436c8 9436dc # 6 instructions; loads
spin main 94400c 944020 # 6 instructions; loads
spin main 94421c 94438c # 6 instructions; loads
spin main 947ce8 947cfc # 6 instructions; loads
spin main 948124 948140 # 8 instructions; loads
spin main 94c13c 94c150 # 6 instructions; loads
spin main 9518d4 9518e8 # 6 instructions; loads
spin main 972e48 972e5c # 6 instructions; loads
spin main 972f44 972f58 # 6 instructions; loads
spin main 973038 97304c # 6 instructions; loads
spin main 97312c 973140 # 6 instructions; loads
spin main 9733fc 973410 # 6 instructions; loads
spin main 974e2c 974e34 # 3 instructions; loads
spin main 974e3c 974e40 # 2 instructions; loads
spin main 974e68 974e70 # 3 instructions; loads
spin main 98810c 988128 # 8 instructions; loads
spin main 996614 996628 # 6 instructions; loads
spin main 999330 999344 # 6 instructions; loads
spin main 9995f0 999604 # 6 instructions; loads
spin main 99b4c4 99b4d8 # 6 instructions; loads
spin main 99b918 99b92c # 6 instructions; loads
spin main 99bd6c 99bd80 # 6 instructions; loads
spin main 99c0d4 99c0e8 # 6 instructions; loads
spin main 99c320 99c334 # 6 instructions; loads
spin main 99d994 99d9a8 # 6 instructions; loads
spin main 9a0318 9a032c # 6 instructions; loads
spin main 9a0490 9a04a4 # 6 instructions; loads
spin main 9a0608 9a061c # 6 instructions; loads
spin main 9a0784 9a0798 # 6 instructions; loads
spin main 9a0900 9a0914 # 6 instructions; loads
spin main 9a0a8c 9a0aa0 # 6 instructions; loads
spin main 9aa844 9aa858 # 6 instructions; loads
spin main 9c7e10 9c7e24 # 6 instructions; loads
spin main 9c7fc8 9c7fdc # 6 instructions; loads
spin main 9c8188 9c819c # 6 instructions; loads
spin main 9d2550 9d2564 # 6 instructions; loads
spin main 9d2ab8 9d2acc # 6 instructions; loads
spin main 9d2ae0 9d2af4 # 6 instructions; loads
spin main 9dd078 9dd08c # 6 instructions; loads
spin main 9deb00 9deb14 # 6 instructions; loads
spin main 9ec4ec 9ec500 # 6 instructions; loads
spin main 9ecbac 9ecbc0 # 6 instructions; loads
spin main a0139c a013b0 # 6 instructions; loads
spin main a099a8 a099bc # 6 instructions; loads
spin main a10f08 a10f1c # 6 instructions; loads
spin main a10f58 a10f6c # 6 instructions; loads
spin main a11284 a11298 # 6 instructions; loads
spin main a16678 a1668c # 6 instructions; loads
spin main a1683c a16850 # 6 instructions; loads
spin main a168f4 a16908 # 6 instructions; loads
spin main a16a14 a16a28 # 6 instructions; loads
spin main a16b00 a16b14 # 6 instructions; loads
spin main a17d70 a17d84 # 6 instructions; loads
spin main a18570 a18584 # 6 instructions; loads
spin main a1db34 a1db48 # 6 instructions; loads
spin main a1ddec a1de00 # 6 instructions; loads
spin main a1e1f8 a1e20c # 6 instructions; loads
spin main a1e464 a1e478 # 6 instructions; loads
spin main a1e5b8 a1e6bc # 6 instructions; loads
spin main a1eff4 a1f008 # 6 instructions; loads
spin main a1f25c a1f270 # 6 instructions; loads
spin main a20084 a20098 # 6 instructions; loads
spin main a200bc a200d0 # 6 instructions; loads
spin main a3aea0 a3aeb4 # 6 instructions; loads
spin main a3b1a8 a3b1bc # 6 instructions; loads
spin main a3b450 a3b464 # 6 instructions; loads
spin main a3b6f0 a3b704 # 6 instructions; loads
spin main a3bfcc a3bfe0 # 6 instructions; loads
spin main a3c2d0 a3c2e4 # 6 instructions; loads
spin main a3c584 a3c598 # 6 instructions; loads
spin main a3c5f0 a3c604 # 6 instructions; loads
spin main a3d8e4 a3d8f8 # 6 instructions; loads
spin main a3db78 a3db8c # 6 instructions; loads
spin main a3dd14 a3dd28 # 6 instructions; loads
spin main a3de28 a3de3c # 6 instructions; loads
spin main a3dfdc a3dff0 # 6 instructions; loads
spin main a3e0cc a3e0e0 # 6 instructions; loads
spin main a3e244 a3e258 # 6 instructions; loads
spin main a3e2fc a3e310 # 6 instructions; loads
spin main a3e3b4 a3e3c8 # 6 instructions; loads
spin main a3e46c a3e480 # 6 instructions; loads
spin main a3e530 a3e544 # 6 instructions; loads
spin main a3e644 a3e658 # 6 instructions; loads
spin main a3e750 a3e764 # 6 instructions; loads
spin main a3e924 a3e938 # 6 instructions; loads
spin main a3ea70 a3eb04 # 6 instructions; loads
spin main a40848 a4085c # 6 instructions; loads
spin main a40874 a40888 # 6 instructions; loads
spin main a41834 a41848 # 6 instructions; loads
spin main a42444 a42458 # 6 instructions; loads
spin main a43398 a433ac # 6 instructions; loads
spin main a4470c a44720 # 6 instructions; loads
spin main a44a04 a44a18 # 6 instructions; loads
spin main a44cc4 a44cd8 # 6 instructions; loads
spin main a44f9c a44fb0 # 6 instructions; loads
spin main a45264 a45278 # 6 instructions; loads
spin main a4552c a45540 # 6 instructions; loads
spin main a4559c a455b0 # 6 instructions; loads
spin main a4b33c a4b350 # 6 instructions; loads
spin main a4b5a8 a4b5bc # 6 instructions; loads
spin main a4b734 a4b748 # 6 instructions; loads
spin main a4b8bc a4b8d0 # 6 instructions; loads
spin main a4bb90 a4bba4 # 6 instructions; loads
spin main a4c260 a4c274 # 6 instructions; loads
spin main a4c2c4 a4c2d8 # 6 instructions; loads
spin main a4c888 a4c89c # 6 instructions; loads
spin main a4ce64 a4ce78 # 6 instructions; loads
spin main a4ce90 a4cea4 # 6 instructions; loads
spin main a4dd1c a4dd30 # 6 instructions; loads
spin main a4e07c a4e090 # 6 instructions; loads
spin main a4e0f0 a4e104 # 6 instructions; loads
spin main a500a0 a500b4 # 6 instructions; loads
spin main a50194 a501a8 # 6 instructions; loads
spin main a501d8 a501ec # 6 instructions; loads
spin main a503e8 a503fc # 6 instructions; loads
spin main a508a0 a508b4 # 6 instructions; loads
spin main a508f0 a50904 # 6 instructions; loads
spin main a52a6c a52a80 # 6 instructions; loads
spin main a52b88 a52b9c # 6 instructions; loads
spin main a52bb4 a52bc8 # 6 instructions; loads
spin main a52c04 a52c18 # 6 instructions; loads
spin main a52cf0 a52d04 # 6 instructions; loads
spin main a53020 a53034 # 6 instructions; loads
spin main a54554 a54568 # 6 instructions; loads
spin main a54f0c a54f20 # 6 instructions; loads
spin main a551bc a551d0 # 6 instructions; loads
spin main a5561c a55630 # 6 instructions; loads
spin main a55640 a55654 # 6 instructions; loads
spin main a58374 a58388 # 6 instructions; loads
spin main a5cd1c a5cd30 # 6 instructions; loads
spin main a5d71c a5d730 # 6 instructions; loads
spin main a5d754 a5d768 # 6 instructions; loads
spin main a5f61c a5f630 # 6 instructions; loads
spin main a61eb0 a61ec4 # 6 instructions; loads
spin main a666fc a66710 # 6 instructions; loads
spin main a6b0f4 a6b108 # 6 instructions; loads
spin main a6d59c a6d5b0 # 6 instructions; loads
spin main a86458 a8646c # 6 instructions; loads
spin main a865dc a865f0 # 6 instructions; loads
spin main a9a618 a9a62c # 6 instructions; loads
spin main a9e5f4 a9e608 # 6 instructions; loads
spin main a9e978 a9e98c # 6 instructions; loads
spin main a9fb24 a9fb38 # 6 instructions; loads
spin main aa93ec aa9400 # 6 instructions; loads
spin main aaa450 aaa464 # 6 instructions; loads
spin main aaa91c aaa930 # 6 instructions; loads
spin main aace80 aace94 # 6 instructions; loads
spin main aad104 aad118 # 6 instructions; loads
spin main aad1d0 aad1e4 # 6 instructions; loads
spin main ab16d4 ab16e8 # 6 instructions; loads
spin main ab18b0 ab18c4 # 6 instructions; loads
spin main ab1ab4 ab1ac8 # 6 instructions; loads
spin main ab1ae8 ab1afc # 6 instructions; loads
spin main ab20d0 ab20e4 # 6 instructions; loads
spin main abb028 abb03c # 6 instructions; loads
spin main abf730 abf744 # 6 instructions; loads
spin main abfbdc abfbf0 # 6 instructions; loads
spin main ac5d0c ac5d20 # 6 instructions; loads
spin main ac5f14 ac5f28 # 6 instructions; loads
spin main ac67a8 ac67bc # 6 instructions; loads
spin main ac8b48 ac8b5c # 6 instructions; loads
spin main ac8e2c ac8e40 # 6 instructions; loads
spin main acd9b0 acd9c4 # 6 instructions; loads
spin main aceedc aceef0 # 6 instructions; loads
spin main ad0654 ad0668 # 6 instructions; loads
spin main ad843c ad8450 # 6 instructions; loads
spin main ae3c90 ae3ca4 # 6 instructions; loads
spin main ae4510 ae4524 # 6 instructions; loads
spin main ae51e8 ae51fc # 6 instructions; loads
spin main ae521c ae5230 # 6 instructions; loads
spin main ae8bc4 ae8bd8 # 6 instructions; loads
spin main aee5cc aee5e0 # 6 instructions; loads
spin main aee8d8 aee8ec # 6 instructions; loads
spin main af4dd0 af4de4 # 6 instructions; loads
spin main af4df8 af4e0c # 6 instructions; loads
spin main af88fc af8910 # 6 instructions; loads
spin main aff3dc aff3f0 # 6 instructions; loads
spin main affbd0 affbe4 # 6 instructions; loads
spin main b09474 b09488 # 6 instructions; loads
spin main b0de70 b0de84 # 6 instructions; loads
spin main b14958 b1496c # 6 instructions; loads
spin main b17ecc b17ee0 # 6 instructions; loads
spin main b1b8b0 b1b8c4 # 6 instructions; loads
spin main b1c15c b1c170 # 6 instructions; loads
spin main b1c4a8 b1c4bc # 6 instructions; loads
spin main b1c6e0 b1c6f4 # 6 instructions; loads
spin main b1c7d4 b1c7e8 # 6 instructions; loads
spin main b1eb20 b1eb34 # 6 instructions; loads
spin main b1fac4 b1fad8 # 6 instructions; loads
spin main b213cc b213e0 # 6 instructions; loads
spin main b21730 b21744 # 6 instructions; loads
spin main b219c8 b219dc # 6 instructions; loads
spin main b21c24 b21c38 # 6 instructions; loads
spin main b23b6c b23b80 # 6 instructions; loads
spin main b26a14 b26a28 # 6 instructions; loads
spin main b30f80 b30f94 # 6 instructions; loads
spin main b3199c b319b0 # 6 instructions; loads
spin main b31e9c b31eb0 # 6 instructions; loads
spin main b324fc b32510 # 6 instructions; loads
spin main b33bd8 b33bec # 6 instructions; loads
spin main b4084c b40860 # 6 instructions; loads
spin main b434fc b43510 # 6 instructions; loads
spin main b43b3c b43b50 # 6 instructions; loads
spin main b43f90 b43fa4 # 6 instructions; loads
spin main b4c470 b4c484 # 6 instructions; loads
spin main b55f24 b55f38 # 6 instructions; loads
spin main b56270 b56284 # 6 instructions; loads
spin main b5c624 b5c638 # 6 instructions; loads
spin main b5cb38 b5cb4c # 6 instructions; loads
spin main b5d0f8 b5d10c # 6 instructions; loads
spin main b5d81c b5d830 # 6 instructions; loads
spin main b6d590 b6d5a4 # 6 instructions; loads
spin main bad0dc bad0f0 # 6 instructions; loads
spin main bd06f0 bd0704 # 6 instructions; loads
spin main c009d4 c009e8 # 6 instructions; loads
spin main c0d404 c0d4f0 # 8 instructions; loads
spin main c14b3c c14b50 # 6 instructions; loads
spin main c242f4 c24308 # 6 instructions; loads
spin main c2a370 c2a384 # 6 instructions; loads
spin main c31338 c3134c # 6 instructions; loads
spin main c31ecc c31ee0 # 6 instructions; loads
spin main c4495c c44970 # 6 instructions; loads
spin main c44a8c c44aa0 # 6 instructions; loads
spin main c45e30 c45e44 # 6 instructions; loads
spin main c52710 c52724 # 6 instructions; loads
spin main c684a8 c684bc # 6 instructions; loads
spin main c6862c c68640 # 6 instructions; loads
spin main c68658 c6866c # 6 instructions; loads
spin main c855e4 c855f8 # 6 instructions; loads
spin main c8724c c87260 # 6 instructions; loads
spin main c87278 c8728c # 6 instructions; loads
spin main c9af88 c9af9c # 6 instructions; loads
spin main c9b218 c9b22c # 6 instructions; loads
spin main ca174c ca1760 # 6 instructions; loads
spin main cb609c cb6144 # 6 instructions; loads
spin main cd0568 cd057c # 6 instructions; loads
spin main ce095c ce0970 # 6 instructions; loads
spin main ce9f88 ce9f9c # 6 instructions; loads
spin main cea378 cea38c # 6 instructions; loads
spin main cea4a8 cea4bc # 6 instructions; loads
spin main cea6dc cea6f0 # 6 instructions; loads
spin main cea7a4 cea7b8 # 6 instructions; loads
spin main cea868 cea8f8 # 6 instructions; loads
spin main cea908 cea998 # 6 instructions; loads
spin main cea9a8 cea9c0 # 7 instructions; loads
spin main cebb5c cebb70 # 6 instructions; loads
spin main cebc40 cebc54 # 6 instructions; loads
spin main cebec4 cebed8 # 6 instructions; loads
spin main cec920 cec934 # 6 instructions; loads
spin main cecdc0 cecdd4 # 6 instructions; loads
spin main cecf38 cecfc0 # 6 instructions; loads
spin main cecfd4 ced05c # 6 instructions; loads
spin main ced078 ced104 # 6 instructions; loads
spin main ced114 ced1a0 # 6 instructions; loads
spin main ced1ac ced234 # 6 instructions; loads
spin main ced240 ced2c8 # 6 instructions; loads
spin main ceeef8 ceef0c # 6 instructions; loads
spin main cefa48 cefa5c # 6 instructions; loads
spin main d0adc8 d0addc # 6 instructions; loads
spin main d14f78 d14f8c # 6 instructions; loads
spin main d15240 d15254 # 6 instructions; loads
spin main d186dc d186f0 # 6 instructions; loads
spin main d1b400 d1b414 # 6 instructions; loads
spin main d1c4bc d1c4d0 # 6 instructions; loads
spin main d204e4 d204f8 # 6 instructions; loads
spin main d21a70 d21a84 # 6 instructions; loads
spin main d22ba8 d22bbc # 6 instructions; loads
spin main d33ae0 d33af4 # 6 instructions; loads
spin main d34268 d3427c # 6 instructions; loads
spin main d40fb4 d40fc8 # 6 instructions; loads
spin main d448d0 d448e4 # 6 instructions; loads
spin main d4504c d45060 # 6 instructions; loads
spin main d460ec d46100 # 6 instructions; loads
spin main d478b8 d478cc # 6 instructions; loads
spin main d480b0 d480c4 # 6 instructions; loads
spin main d4b6c4 d4b6d8 # 6 instructions; loads
spin main d54af0 d54b04 # 6 instructions; loads
spin main d577dc d577f0 # 6 instructions; loads
spin main d7449c d744b0 # 6 instructions; loads
spin main d74bc0 d74bd4 # 6 instructions; loads
spin main d74c70 d74c84 # 6 instructions; loads
spin main d74d48 d74d5c # 6 instructions; loads
spin main d775c0 d775d4 # 6 instructions; loads
spin main d7846c d78480 # 6 instructions; loads
spin main d792b8 d7938c # 6 instructions; loads
spin main d79898 d798ac # 6 instructions; loads
spin main d82cfc d82d10 # 6 instructions; loads
spin main d86904 d86918 # 6 instructions; loads
spin main d88eec d88f00 # 6 instructions; loads
spin main d8a8c0 d8a8d4 # 6 instructions; loads
spin main d8bc68 d8bc7c # 6 instructions; loads
spin main d8d144 d8d158 # 6 instructions; loads
spin main d8d50c d8d520 # 6 instructions; loads
spin main da05c4 da05d8 # 6 instructions; loads
spin main da1410 da1424 # 6 instructions; loads
spin main da46c0 da46d4 # 6 instructions; loads
spin main da471c da4730 # 6 instructions; loads
spin main da4898 da48ac # 6 instructions; loads
spin main da6f94 da6fa8 # 6 instructions; loads
spin main da7040 da7054 # 6 instructions; loads
spin main da70d4 da70e8 # 6 instructions; loads
spin main dab860 dab874 # 6 instructions; loads
spin main dab9c4 dab9d8 # 6 instructions; loads
spin main daf8f0 daf904 # 6 instructions; loads
spin main db014c db0160 # 6 instructions; loads
spin main db04c8 db04dc # 6 instructions; loads
spin main db071c db0730 # 6 instructions; loads
spin main db1e1c db1e30 # 6 instructions; loads
spin main e19994 e199a8 # 6 instructions; loads
spin main e19e54 e19e68 # 6 instructions; loads
spin main e1ae08 e1ae1c # 6 instructions; loads
spin main e1d7fc e1d810 # 6 instructions; loads
spin main e1ea1c e1ea30 # 6 instructions; loads
spin main e1f2d0 e1f2e4 # 6 instructions; loads
spin main e1f5b4 e1f5c8 # 6 instructions; loads
spin main e1f5fc e1f610 # 6 instructions; loads
spin main e1ffe4 e1fff8 # 6 instructions; loads
spin main e22330 e22344 # 6 instructions; loads
spin main e22704 e22718 # 6 instructions; loads
spin main e229bc e229d0 # 6 instructions; loads
spin main e22f2c e22f40 # 6 instructions; loads
spin main e23374 e23388 # 6 instructions; loads
spin main e23668 e2367c # 6 instructions; loads
spin main e26f44 e26f58 # 6 instructions; loads
spin main e27080 e27094 # 6 instructions; loads
spin main e27430 e27444 # 6 instructions; loads
spin main e280ac e280c0 # 6 instructions; loads
spin main e281b8 e281cc # 6 instructions; loads
spin main e28e78 e28e8c # 6 instructions; loads
spin main e29bc8 e29bdc # 6 instructions; loads
spin main e2a3a4 e2a3b8 # 6 instructions; loads
spin main e2a960 e2a974 # 6 instructions; loads
spin main e2d3b8 e2d3cc # 6 instructions; loads
spin main e2defc e2df10 # 6 instructions; loads
spin main e2eb5c e2eb70 # 6 instructions; loads
spin main e2ed08 e2ed1c # 6 instructions; loads
spin main e309b0 e309c4 # 6 instructions; loads
spin main e30c60 e30c74 # 6 instructions; loads
spin main e31a1c e31a30 # 6 instructions; loads
spin main e33398 e333ac # 6 instructions; loads
spin main e34d10 e34d24 # 6 instructions; loads
spin main e35060 e35074 # 6 instructions; loads
spin main e35af8 e35b0c # 6 instructions; loads
spin main ec09cc ec09e0 # 6 instructions; loads
spin main ecd874 ecd888 # 6 instructions; loads
spin main ee3648 ee365c # 6 instructions; loads
spin main ee3fa4 ee3fb8 # 6 instructions; loads
spin main f39bc0 f39bd4 # 6 instructions; loads
spin main f39cd8 f39cec # 6 instructions; loads
spin main 10997cc 10997e0 # 6 instructions; loads
spin main 1099b9c 1099bb0 # 6 instructions; loads
spin main 109ce5c 109ce70 # 6 instructions; loads
spin main 109d20c 109d220 # 6 instructions; loads
spin main 109dc8c 109dca0 # 6 instructions; loads
spin main 109e4d4 109e4e8 # 6 instructions; loads
spin main 109efd8 109efec # 6 instructions; loads
spin main 10a52e4 10a52f8 # 6 instructions; loads
spin main 111b2c4 111b2cc # 3 instructions; loads
spin main 1144cc0 1144ce0 1144cf0 # 13 instructions; loads
spin main 1144d40 1144d68 1144d78 # 15 instructions; loads
spin main 1144db0 1144dd8 1144de8 # 15 instructions; loads
spin main 12c2d00 12c2d14 # 6 instructions; loads
spin main 1861cb8 1861ccc # 6 instructions; loads
spin main 187ce28 187ce3c # 6 instructions; loads
spin main 195af84 195af98 # 6 instructions; loads
spin main 197a160 197a174 # 6 instructions; loads
spin main 1995314 1995328 # 6 instructions; loads
spin main 1b079c4 1b079d8 # 6 instructions; loads
spin main 1b09ac8 1b09adc # 6 instructions; loads
spin main 1b19108 1b1911c # 6 instructions; loads
spin main 1b1b8d8 1b1b8ec # 6 instructions; loads
spin main 1b4ad40 1b4ad54 # 6 instructions; loads
spin main 1b4d308 1b4d31c # 6 instructions; loads
spin main 1b8016c 1b80180 # 6 instructions; loads
spin main 1b87780 1b87794 # 6 instructions; loads
spin main 1ba10c0 1ba10d4 # 6 instructions; loads
spin main 1bb1b98 1bb1bac # 6 instructions; loads
spin main 1bc4578 1bc458c # 6 instructions; loads
spin main 1bc4678 1bc468c # 6 instructions; loads
spin main 1bc57d8 1bc57ec # 6 instructions; loads
spin main 1bc5938 1bc594c # 6 instructions; loads
spin main 1bf0a54 1bf0a68 # 6 instructions; loads
spin main 1bf41bc 1bf41d0 # 6 instructions; loads
spin main 1bf7cb8 1bf7ccc # 6 instructions; loads
spin main 1c1df28 1c1df3c # 6 instructions; loads
spin main 1c4cf40 1c4cf54 # 6 instructions; loads
spin main 1d21008 1d2101c # 6 instructions; loads
spin main 1d96ea4 1d96eb8 # 6 instructions; loads
spin main 1edc4d8 1edc4e8 # 5 instructions; loads
spin main 1f55a94 1f55aa8 # 6 instructions; loads
spin main 1f57098 1f570ac # 6 instructions; loads
spin main 1f8dcb4 1f8dcbc # 3 instructions; loads
spin main 1f8dcc4 1f8dcc8 # 2 instructions; loads
spin main 1f8dd64 1f8dd6c # 3 instructions; loads
spin main 1f8de34 1f8de3c # 3 instructions; loads
spin main 1f8de44 1f8de48 # 2 instructions; loads
spin main 1f8ded8 1f8dee0 # 3 instructions; loads
spin main 1fa0dd4 1fa0ddc # 3 instructions; loads
spin main 1fa0de4 1fa0de8 # 2 instructions; loads
spin main 1fa0e0c 1fa0e14 # 3 instructions; loads
spin main 1fa0e44 1fa0e4c # 3 instructions; loads
spin main 1fa0e54 1fa0e58 # 2 instructions; loads
spin main 1fa0e80 1fa0e88 # 3 instructions; loads
spin main 1fcd71c 1fcd724 # 3 instructions; loads
spin main 1fcd72c 1fcd730 # 2 instructions; loads
spin main 1fcd754 1fcd75c # 3 instructions; loads
spin main 224cdbc 224cdd0 # 6 instructions; loads
spin main 224ce44 224ce58 # 6 instructions; loads
spin main 2437524 2437570 # 20 instructions; loads
spin main 24799dc 24799e8 # 4 instructions; loads
spin main 281d710 281d718 # 3 instructions; loads
spin main 281d720 281d724 # 2 instructions; loads
spin main 281d758 281d760 # 3 instructions; loads
spin main 281d808 281d810 # 3 instructions; loads
spin main 281d818 281d81c # 2 instructions; loads
spin main 2857518 2857540 # 3 instructions; loads
spin main 28604d0 28604f8 # 11 instructions; loads
spin main 2860868 2860894 # 12 instructions; loads
spin main 28608a8 28608c4 # 8 instructions; loads
spin main 288a380 288a388 # 3 instructions; loads
spin main 288a390 288a394 # 2 instructions; loads
spin main 288a3ac 288a3b4 # 3 instructions; loads
spin main 288a3c8 288a3d0 # 3 instructions; loads
spin main 288a3d8 288a3dc # 2 instructions; loads
spin main 288a464 288a46c # 3 instructions; loads
spin main 289bca0 289bcb8 # 7 instructions; loads
spin main 29094cc 2909514 # 3 instructions; loads
spin main 290e8a0 290e8c0 # 4 instructions; loads
spin main 290e980 290e9a0 # 4 instructions; loads
spin main 2917ccc 2917ccc 2917cd4 # 3 instructions; loads
spin main 2a88d64 2a88d6c # 3 instructions; loads
spin main 2a88d74 2a88d78 # 2 instructions; loads
spin main 2a88de4 2a88dec # 3 instructions; loads
spin main 2a89ba4 2a89bac # 3 instructions; loads
spin main 2a89bb4 2a89bb8 # 2 instructions; loads
spin main 2a89c24 2a89c2c # 3 instructions; loads
spin main 2a8a108 2a8a110 # 3 instructions; loads
spin main 2a8a118 2a8a11c # 2 instructions; loads
spin main 2a8a1dc 2a8a1e4 # 3 instructions; loads
spin main 2a8a864 2a8a86c # 3 instructions; loads
spin main 2a8a874 2a8a878 # 2 instructions; loads
spin main 2a8a8d4 2a8a8dc # 3 instructions; loads
spin main 2a8a918 2a8a920 # 3 instructions; loads
spin main 2a8a928 2a8a92c # 2 instructions; loads
spin main 2a8a954 2a8a95c # 3 instructions; loads
spin main 2a8a9a4 2a8a9ac # 3 instructions; loads
spin main 2a8a9b4 2a8a9b8 # 2 instructions; loads
spin main 2a8aac8 2a8aad0 # 3 instructions; loads
spin main 2a8aee8 2a8aef0 # 3 instructions; loads
spin main 2a8aef8 2a8aefc # 2 instructions; loads
spin main 2a8af68 2a8af70 # 3 instructions; loads
spin main 2a8afc0 2a8afc8 # 3 instructions; loads
spin main 2a8afd0 2a8afd4 # 2 instructions; loads
spin main 2a8aff8 2a8b000 # 3 instructions; loads
spin main 2a8b738 2a8b740 # 3 instructions; loads
spin main 2a8b748 2a8b74c # 2 instructions; loads
spin main 2a8b7a0 2a8b7a8 # 3 instructions; loads
spin main 2a8b890 2a8b898 # 3 instructions; loads
spin main 2a8b8a0 2a8b8a4 # 2 instructions; loads
spin main 2a8b940 2a8b948 # 3 instructions; loads
spin main 2a8b980 2a8b988 # 3 instructions; loads
spin main 2a8b990 2a8b994 # 2 instructions; loads
spin main 2a8b9ec 2a8b9f4 # 3 instructions; loads
spin main 2a8bb48 2a8bb50 # 3 instructions; loads
spin main 2a8bb58 2a8bb5c # 2 instructions; loads
spin main 2a8bbf8 2a8bc00 # 3 instructions; loads
spin main 2a8bc2c 2a8bc34 # 3 instructions; loads
spin main 2a8bc3c 2a8bc40 # 2 instructions; loads
spin main 2a8bc7c 2a8bc84 # 3 instructions; loads
spin main 2a8ce78 2a8ce80 # 3 instructions; loads
spin main 2a8ce88 2a8ce8c # 2 instructions; loads
spin main 2a8cee0 2a8cee8 # 3 instructions; loads
spin main 2a8cf24 2a8cf2c # 3 instructions; loads
spin main 2a8cf34 2a8cf38 # 2 instructions; loads
spin main 2a8d070 2a8d078 # 3 instructions; loads
spin main 2a8d0b0 2a8d0b8 # 3 instructions; loads
spin main 2a8d0c0 2a8d0c4 # 2 instructions; loads
spin main 2a8d1d0 2a8d1d8 # 3 instructions; loads
spin main 2a8e670 2a8e678 # 3 instructions; loads
spin main 2a8e680 2a8e684 # 2 instructions; loads
spin main 2a8e6f8 2a8e700 # 3 instructions; loads
spin main 2a8e728 2a8e730 # 3 instructions; loads
spin main 2a8e738 2a8e73c # 2 instructions; loads
spin main 2a8e804 2a8e80c # 3 instructions; loads
spin main 2a8f44c 2a8f454 # 3 instructions; loads
spin main 2a8f45c 2a8f460 # 2 instructions; loads
spin main 2a8f4e0 2a8f4e8 # 3 instructions; loads
spin main 2a8f51c 2a8f524 # 3 instructions; loads
spin main 2a8f52c 2a8f530 # 2 instructions; loads
spin main 2a8f580 2a8f588 # 3 instructions; loads
spin main 2a92710 2a92718 # 3 instructions; loads
spin main 2a92720 2a92724 # 2 instructions; loads
spin main 2a92740 2a92748 # 3 instructions; loads
spin main 2ac7fb8 2ac7fc4 2ac800c 2ac8028 # 29 instructions; loads
spin main 2b0e760 2b0e848 # 7 instructions; loads
spin subsdk0 2060 2074 # 6 instructions; loads
spin subsdk0 27804 27818 2787c 278c4 # 23 instructions; stc
spin subsdk0 baf78 bb020 bb028 # 12 instructions; loads
spin subsdk0 bb118 bb1c0 bb1c8 # 12 instructions; loads
spin subsdk0 be334 be348 # 6 instructions; loads
spin subsdk0 1bfbd4 1bfbe0 # 4 instructions; loads
spin subsdk0 1c1588 1c159c # 6 instructions; loads
spin subsdk0 1c4a78 1c4a94 1c4aa0 # 11 instructions; loads
spin subsdk0 1c4e54 1c4e60 # 4 instructions; loads
spin sdk 2d3654 2d3668 # 6 instructions; loads
spin sdk 443864 443884 # 9 instructions; loads
spin sdk 541e54 541f98 # 32 instructions; loads
# Sun shadow map size (patches-v121.txt explains the set and the page). 1.4.3 interpolates the size between a minimum
# and the base and rounds it up to 8 at main+0x683604; the rounded value is the width (+0x3d8) and, through the packed
# store at +0xf4, the height (+0x3f8). The page's size goes in just before the rounding.
site shadow main 683604 11001d6b @page:x11 b9405d6b 11001d6b # add w11, w11, #7 -> adrp x11, page; ldr w11, [x11, #92]; add w11, w11, #7
# Sun shadow cascade distances (runtime/resolution.c res_shadow_range switches the set on). The depth shadow parameter
# object (main+0x6fa3c0) registers depth_shadow_near_0_1..3 = 20, 40, 80 m and depth_shadow_far_0 = 160 m as
# immediates, and the field's .bgsdw files do not override them; with the set on they come from page +64..+76.
site cascade main 6fabb8 52a83408 @page:x8 b9404108 # mov w8, #20.0 -> ldr w8, [page+64]
site cascade main 6fac40 52a84408 @page:x8 b9404508 # mov w8, #40.0 -> ldr w8, [page+68]
site cascade main 6facc8 52a85408 @page:x8 b9404908 # mov w8, #80.0 -> ldr w8, [page+72]
site cascade main 6fad4c 52a86408 @page:x8 b9404d08 # mov w8, #160.0 -> ldr w8, [page+76]