phase12: match func_800F6948 (735 bodies / 744 regions)

This commit is contained in:
Christopher Williams
2026-09-25 09:49:02 -04:00
parent b76e0578a4
commit 8094760eec
5 changed files with 44 additions and 7 deletions
+2 -2
View File
@@ -959,7 +959,7 @@
952 0x801007E0 0x80100808 40 fallthrough 3 frame 1 - 1
#
# listed=952
# excluded_already_registered=741
# excluded_already_registered=742
# excluded_bad_extent_start=8
# excluded_degenerate_body=252
# excluded_delay_slot_start=5
@@ -968,6 +968,6 @@
# excluded_low_confidence_grade=90
# excluded_named_exclusion=9
# excluded_no_extent=0
# excluded_recorded_negative=87
# excluded_recorded_negative=86
# excluded_restores_unsaved=11
# excluded_trapping_arith=48
1 # Syphon Filter 3 (USA) match worklist.
959 952
960 #
961 # listed=952
962 # excluded_already_registered=741 # excluded_already_registered=742
963 # excluded_bad_extent_start=8
964 # excluded_degenerate_body=252
965 # excluded_delay_slot_start=5
968 # excluded_low_confidence_grade=90
969 # excluded_named_exclusion=9
970 # excluded_no_extent=0
971 # excluded_recorded_negative=87 # excluded_recorded_negative=86
972 # excluded_restores_unsaved=11
973 # excluded_trapping_arith=48
+1
View File
@@ -609,6 +609,7 @@
0x800F6330 0x800F6364 src/func_800F6330.c
0x800F6570 0x800F6594 src/func_800F6570.c
0x800F66B8 0x800F6710 src/func_800F66B8.c
0x800F6948 0x800F69BC src/func_800F6948.c maspsx=epilogue
0x800F6D60 0x800F6DD0 src/func_800F6D60.c
0x800F6DD0 0x800F6E50 src/func_800F6DD0.c maspsx=epilogue
0x800F6E50 0x800F6ED0 src/func_800F6E50.c maspsx=epilogue
1 # Code-region registry: one C region per matched function.
609 0x800F6330
610 0x800F6570
611 0x800F66B8
612 0x800F6948
613 0x800F6D60
614 0x800F6DD0
615 0x800F6E50
+5 -5
View File
@@ -6,11 +6,11 @@
## STATE — SOLO CONTINUATION, 2026-09-24 (current)
**734 bodies / 743 regions**, from 685 / 694 at the last session stop — **+49 bodies / +49 regions**.
The Phase 12 milestone remains 750 bodies, so **+16 remains**. The promoted whole-binary gate is green:
`c_regions=743`, `differing_bytes=0`, SHA-1
**735 bodies / 744 regions**, from 685 / 694 at the last session stop — **+50 bodies / +50 regions**.
The Phase 12 milestone remains 750 bodies, so **+15 remains**. The promoted whole-binary gate is green:
`c_regions=744`, `differing_bytes=0`, SHA-1
`e173426c157384ebf1b6caf8c6fea18a85a14af9`; 348 synthetic tests pass and extents report
`regions=743 disagreements=0 result=AGREE`.
`regions=744 disagreements=0 result=AGREE`.
The requested second batch of 20 is complete. Twenty additional bodies are now matched:
`0x800BC9C4`, `0x800BC8C4`, `0x8006BB0C`, `0x8002D17C`, `0x801029A0`, `0x80055958`,
@@ -24,7 +24,7 @@ Final clean verification (2026-09-25): `make clean && make all`, `make worklist`
`make extents-verify`, and `make check` all exited 0. Both clean assembly and code rebuilds
matched the USA executable byte-for-byte; each is 1,886,208 bytes with SHA-1
`e173426c157384ebf1b6caf8c6fea18a85a14af9`. The final worklist is 952 rows and the extents
check reports `regions=743 disagreements=0 result=AGREE`.
check reports `regions=744 disagreements=0 result=AGREE`.
## STATE — SESSION STOP, 2026-09-24 23:35 (historical; superseded by the state above, kept for provenance)
**685 bodies / 694 regions**, from 602 / 611 at the Phase 11 close — **+83 bodies**. **Milestone 750 was NOT
+11
View File
@@ -2543,6 +2543,17 @@ passed with 348 tests and extents `regions=742 disagreements=0`; worklist regene
**Count after task 37: 734 bodies / 743 regions (+132 bodies from the Phase 12 open baseline;
+16 remain to milestone 750).**
### Worker B task 38 — `0x800F6948` MATCH
* Exact extent `0x800F6948..0x800F69BC`, 116 bytes, with `maspsx=epilogue`.
* All five parameters are unsigned shorts; the fifth is passed through the caller's stack slot and
the frame release is in the jump delay slot.
* Fresh range and candidate whole-binary gate passed with zero differences; `make check` passed with
348 tests and extents `regions=744 disagreements=0`; worklist remains 952 rows.
**Count after task 38: 735 bodies / 744 regions (+133 bodies from the Phase 12 open baseline;
+15 remain to milestone 750).**
### Duplicate-claim guard incident
A later autonomous draft attempted `0x8006FAEC`, but the merge check showed that exact region was
+25
View File
@@ -0,0 +1,25 @@
/*
* func_800F6948 — 116 bytes at 0x800F6948..0x800F69BC
*
* Call the adjacent helper with five unsigned-short parameters, clear a fixed
* halfword, then dispatch the retained first two values through three helpers.
*
* REGION TOKEN: `maspsx=epilogue`.
*/
void func_800F69BC(unsigned short, unsigned short, unsigned short, unsigned short, unsigned short);
void func_801032D4(void);
void func_800F6B40(unsigned short, unsigned short);
void func_80103144(void);
void func_801031C4(void);
void func_800F6948(unsigned short a0, unsigned short a1, unsigned short a2,
unsigned short a3, unsigned short a4)
{
func_800F69BC(a0, a1, a2, a3, a4);
func_801032D4();
*(unsigned short *)0x80142E38 = 0;
func_800F6B40(a0, a1);
func_80103144();
func_801031C4();
}