# Functions the port deliberately does not port.  Format: ADDR CLASS EVIDENCE
#   host-owned  the SDL host / flat mem[] replaces it (DPMI, the PIT/game-port routines the ISR
#               sampler reads, the 60 Hz AIL callback, allocator, drive plumbing; the ISR key
#               sampler itself and its 12 pure readers were ported by host input truth, §H)
#   deferred    a declared no-op layer (Smacker movie audio; the EEPROM/config storage was ported by track S)
#   replaced    the clean-room runtime replacement layer: runtime code (>= 0x5D000) the port replaces
#               with the host libc / clean-room decoder rather than ports. The measured set is the
#               boot/movie/attract spine's runtime closure (record-§C4): 37 functions / 19,261 B whose
#               game-side ancestor set E(r) == {0x11000, 0x11D04, 0x1BEC4, 0x1C740, 0x20C10, 0x24C5C,
#               0x255CC}. Every address is >= 0x5D000, so the portable denominator is unaffected. The
#               AIL runtime set is named unreproducible (no graph rule yields the recon's 56 / 10,824 B
#               reading; the failed rules are in record-§C4).
# Every line needs the record section that proves it; seeded from the triage tables §50-C/D/E
# tools/port_progress.py excludes these from the portable denominator
10024 deferred record-§50-E; zero payload on the shipped data; no stream opens; §H1
10034 deferred record-§50-E; zero payload on the shipped data; no stream opens; §H1
100C4 deferred record-§50-E; zero payload on the shipped data; no stream opens; §H1
100DC deferred record-§50-E; zero payload on the shipped data; no stream opens; §H1
10510 deferred record-§50-E; zero payload on the shipped data; no stream opens; §H1
10570 deferred record-§50-E; zero payload on the shipped data; no stream opens; §H1
10604 deferred record-§50-E (the 250 Hz callback 0x10610 registers); zero payload on the shipped data; no stream opens; §H1
10610 deferred record-§50-E; zero payload on the shipped data; no stream opens; §H1
10678 deferred record-§50-E (ms reader: [0x81E10]*4 ms, not a buffer size); zero payload on the shipped data; no stream opens; §H1
10684 deferred record-§50-E; zero payload on the shipped data; no stream opens; §H1
106E1 host-owned record-§50-E
1071D host-owned record-§50-E
1074B host-owned record-§50-E
107EF host-owned record-§50-E
10830 host-owned record-§50-E
108E8 host-owned record-§50-E
109A0 host-owned record-§50-E
109CA host-owned record-§50-E
109F4 host-owned record-§50-E
10B70 host-owned record-§50-E
10C30 host-owned record-§50-E
10D0C host-owned record-§50-E
10D34 host-owned record-§50-E
1ACA8 host-owned record-§50-C
1ACF0 host-owned record-§50-C
1AD30 host-owned record-§50-C
1AD64 host-owned record-§50-C
1ADAC host-owned record-§50-C
1ADE4 host-owned record-§50-C
# 1B610/1B6A0/1B730/1B7C0/1B850/1B870/1B890/1B8DC/1B908/1BBAC/4FF8F/4FFD8: the ISR key sampler
# and its readers leave the classification — ported by host input truth, record §H2-§H4
1BDF4 host-owned record-§K9.5 (the 60 Hz AIL callback and its tick model flow.c game_isr_ticks and config.c; callee 1BBAC ported by host input truth, record §H4; callee 2D62C ported by track S, record 2026-10-13-reverse-s §S.9)
1C308 host-owned record-§50-D
1C320 host-owned record-§50-D
1C884 host-owned record-§50-D
1C8CC host-owned record-§50-D
1D290 host-owned record-§50-D
1E2A0 host-owned record-§50-D
1E2D8 host-owned record-§50-D
1E62C host-owned record-§50-D
1E6D8 host-owned record-§50-D
1E774 host-owned record-§50-D
102B8 deferred record-§50-E (movie-audio pump, 49-W.2); zero payload on the shipped data; no stream opens; §H1
1013C deferred record-§50-E (movie-audio unit); zero payload on the shipped data; no stream opens; §H1
10A68 deferred record-§50-E (movie-audio unit; size query 0x109F4 host-owned); zero payload on the shipped data; no stream opens; §H1
1C0F0 host-owned record-§49-V (DPMI extended-memory block list)
1E30C host-owned record-§49-V (DPMI heap)
1E458 host-owned record-§49-V (allocator core; res_alloc/flat bump)
4FDF5 host-owned record-§49-V (the PIT/game-port timed-poll hardware read; the ISR sampler's both-player presence answer through host_port_poll_both, record §H6.1)
4FBBB host-owned record-§49-V (the game-port probe hardware read, out 0x201 / in 0x201; the ISR sampler's presence probe answer through host_port_present, record §H6.1; also called by 0x20C10's controller checks at 0x20DAC and 0x20DD1, record named-gaps-b §B.6a)
4FC05 host-owned record-§49-V (the PIT/game-port timed-poll hardware read; the ISR sampler's P1 presence answer through host_port_poll_p1, record §H6.1)
4FCFD host-owned record-§49-V (the PIT/game-port timed-poll hardware read; the ISR sampler's P2 presence answer through host_port_poll_p2, record §H6.1)
5004A host-owned record-§55-A (joystick calibration: times the PIT 0x50021 and the game port 0x201 via 0x4FC05/0x4FCFD into 0xE1C1C..0xE1C2C, read only by the ISR sampler 0x1BBAC's 0x4FC05/0x4FCFD/0x4FDF5 and its ported axis readers 0x4FF8F/0x4FFD8, record §H6.3)
50021 host-owned record-§55-A (PIT channel 0 latch read, out 0x43 / in 0x40; only caller 0x5004A)
501A3 host-owned record-§K9.1 (k1-k9 derivations: dirty-dword blit of E87A4 vs E87A0 to the aperture, 0x501B0 mov ebx,0xa0000, all 80 stores through EBX; callers 0x256A5/0x2EAD1 present through gfx_present)
4FB98 host-owned record-§K9.2 (k1-k9 derivations: int 10h set-mode, 0x13 at 0x1BFEA and the saved mode at 0x1BEB0; SDL host_init/host_shutdown own the window)
# 4FF8F/4FFD8: the pure axis readers left the classification — ported by host input truth, record §H4
50D23 host-owned record-§K10 (k10 movie-blit derivations: movie dirty-rect blit, E87A4 vs E87A0 dwords into the aperture (0x50D4A add ebx,0xa0000) and the E87A0 shadow (EDI); the shadow is zeroed by 0x52106(0) at 0x1C873 before any reader; only caller 0x1C82D; movie_present/gfx_present replaces it, smk oracle 120/120 + 41/41, test_movie_blit)
5E000 replaced record-§C4 (boot/movie/attract spine runtime closure; game-side ancestors == {0x11000,0x11D04,0x1BEC4,0x1C740,0x20C10,0x24C5C,0x255CC})
5E09B replaced record-§C4 (boot/movie/attract spine runtime closure; game-side ancestors == {0x11000,0x11D04,0x1BEC4,0x1C740,0x20C10,0x24C5C,0x255CC})
5E394 replaced record-§C4 (boot/movie/attract spine runtime closure; game-side ancestors == {0x11000,0x11D04,0x1BEC4,0x1C740,0x20C10,0x24C5C,0x255CC})
5E400 replaced record-§C4 (boot/movie/attract spine runtime closure; game-side ancestors == {0x11000,0x11D04,0x1BEC4,0x1C740,0x20C10,0x24C5C,0x255CC})
5E482 replaced record-§C4 (boot/movie/attract spine runtime closure; game-side ancestors == {0x11000,0x11D04,0x1BEC4,0x1C740,0x20C10,0x24C5C,0x255CC})
5E488 replaced record-§C4 (boot/movie/attract spine runtime closure; game-side ancestors == {0x11000,0x11D04,0x1BEC4,0x1C740,0x20C10,0x24C5C,0x255CC})
5E4B8 replaced record-§C4 (boot/movie/attract spine runtime closure; game-side ancestors == {0x11000,0x11D04,0x1BEC4,0x1C740,0x20C10,0x24C5C,0x255CC})
5E4E8 replaced record-§C4 (boot/movie/attract spine runtime closure; game-side ancestors == {0x11000,0x11D04,0x1BEC4,0x1C740,0x20C10,0x24C5C,0x255CC})
5E6D9 replaced record-§C4 (boot/movie/attract spine runtime closure; game-side ancestors == {0x11000,0x11D04,0x1BEC4,0x1C740,0x20C10,0x24C5C,0x255CC})
5E783 replaced record-§C4 (boot/movie/attract spine runtime closure; game-side ancestors == {0x11000,0x11D04,0x1BEC4,0x1C740,0x20C10,0x24C5C,0x255CC})
5F758 replaced record-§C4 (boot/movie/attract spine runtime closure; game-side ancestors == {0x11000,0x11D04,0x1BEC4,0x1C740,0x20C10,0x24C5C,0x255CC})
60A90 replaced record-§C4 (boot/movie/attract spine runtime closure; game-side ancestors == {0x11000,0x11D04,0x1BEC4,0x1C740,0x20C10,0x24C5C,0x255CC})
6122C replaced record-§C4 (boot/movie/attract spine runtime closure; game-side ancestors == {0x11000,0x11D04,0x1BEC4,0x1C740,0x20C10,0x24C5C,0x255CC})
61243 replaced record-§C4 (boot/movie/attract spine runtime closure; game-side ancestors == {0x11000,0x11D04,0x1BEC4,0x1C740,0x20C10,0x24C5C,0x255CC})
62756 replaced record-§C4 (boot/movie/attract spine runtime closure; game-side ancestors == {0x11000,0x11D04,0x1BEC4,0x1C740,0x20C10,0x24C5C,0x255CC})
62770 replaced record-§C4 (boot/movie/attract spine runtime closure; game-side ancestors == {0x11000,0x11D04,0x1BEC4,0x1C740,0x20C10,0x24C5C,0x255CC})
6279C replaced record-§C4 (boot/movie/attract spine runtime closure; game-side ancestors == {0x11000,0x11D04,0x1BEC4,0x1C740,0x20C10,0x24C5C,0x255CC})
62A2C replaced record-§C4 (boot/movie/attract spine runtime closure; game-side ancestors == {0x11000,0x11D04,0x1BEC4,0x1C740,0x20C10,0x24C5C,0x255CC})
62C1C replaced record-§C4 (boot/movie/attract spine runtime closure; game-side ancestors == {0x11000,0x11D04,0x1BEC4,0x1C740,0x20C10,0x24C5C,0x255CC})
62F3C replaced record-§C4 (boot/movie/attract spine runtime closure; game-side ancestors == {0x11000,0x11D04,0x1BEC4,0x1C740,0x20C10,0x24C5C,0x255CC})
63180 replaced record-§C4 (boot/movie/attract spine runtime closure; game-side ancestors == {0x11000,0x11D04,0x1BEC4,0x1C740,0x20C10,0x24C5C,0x255CC})
6345C replaced record-§C4 (boot/movie/attract spine runtime closure; game-side ancestors == {0x11000,0x11D04,0x1BEC4,0x1C740,0x20C10,0x24C5C,0x255CC})
63CE8 replaced record-§C4 (boot/movie/attract spine runtime closure; game-side ancestors == {0x11000,0x11D04,0x1BEC4,0x1C740,0x20C10,0x24C5C,0x255CC})
63E30 replaced record-§C4 (boot/movie/attract spine runtime closure; game-side ancestors == {0x11000,0x11D04,0x1BEC4,0x1C740,0x20C10,0x24C5C,0x255CC})
640B8 replaced record-§C4 (boot/movie/attract spine runtime closure; game-side ancestors == {0x11000,0x11D04,0x1BEC4,0x1C740,0x20C10,0x24C5C,0x255CC})
64130 replaced record-§C4 (boot/movie/attract spine runtime closure; game-side ancestors == {0x11000,0x11D04,0x1BEC4,0x1C740,0x20C10,0x24C5C,0x255CC})
641F8 replaced record-§C4 (boot/movie/attract spine runtime closure; game-side ancestors == {0x11000,0x11D04,0x1BEC4,0x1C740,0x20C10,0x24C5C,0x255CC})
643CC replaced record-§C4 (boot/movie/attract spine runtime closure; game-side ancestors == {0x11000,0x11D04,0x1BEC4,0x1C740,0x20C10,0x24C5C,0x255CC})
649B0 replaced record-§C4 (boot/movie/attract spine runtime closure; game-side ancestors == {0x11000,0x11D04,0x1BEC4,0x1C740,0x20C10,0x24C5C,0x255CC})
64ED8 replaced record-§C4 (boot/movie/attract spine runtime closure; game-side ancestors == {0x11000,0x11D04,0x1BEC4,0x1C740,0x20C10,0x24C5C,0x255CC})
65240 replaced record-§C4 (boot/movie/attract spine runtime closure; game-side ancestors == {0x11000,0x11D04,0x1BEC4,0x1C740,0x20C10,0x24C5C,0x255CC})
65340 replaced record-§C4 (boot/movie/attract spine runtime closure; game-side ancestors == {0x11000,0x11D04,0x1BEC4,0x1C740,0x20C10,0x24C5C,0x255CC})
6C760 replaced record-§C4 (boot/movie/attract spine runtime closure; game-side ancestors == {0x11000,0x11D04,0x1BEC4,0x1C740,0x20C10,0x24C5C,0x255CC})
6C7B9 replaced record-§C4 (boot/movie/attract spine runtime closure; game-side ancestors == {0x11000,0x11D04,0x1BEC4,0x1C740,0x20C10,0x24C5C,0x255CC})
6C851 replaced record-§C4 (boot/movie/attract spine runtime closure; game-side ancestors == {0x11000,0x11D04,0x1BEC4,0x1C740,0x20C10,0x24C5C,0x255CC})
6C875 replaced record-§C4 (boot/movie/attract spine runtime closure; game-side ancestors == {0x11000,0x11D04,0x1BEC4,0x1C740,0x20C10,0x24C5C,0x255CC})
6C881 replaced record-§C4 (boot/movie/attract spine runtime closure; game-side ancestors == {0x11000,0x11D04,0x1BEC4,0x1C740,0x20C10,0x24C5C,0x255CC})
