Generic VM Opcode 0x2A Parent Stream Review
Opcode 0x2a is a grounded linked-object script fanout primitive, but it is not present in the current strict active-object +0xec script inventory. Raw data-section bytes that look like 0x2a commands are mostly operand/data hits; review-boundary candidates remain route-neutral because no parent stream is linked to a scene/map/encounter producer.
statusopcode-0x2a-grounded-fanout-no-active-ec-parent-producer
active +ec 0x2a0
raw candidates53
boundary candidates23
likely operands30
strong boundary17
promoted producers0
Verified Handler Evidence
| snippet | matches | meaning | actual bytes |
|---|---|---|---|
handler-table-entry0x004405e0 | True | generic handler table opcode 0x2a entry points at 0x004057eb | eb 57 40 00 |
fanout-list-select0x004057eb | True | stream+1 active-object list slot; high bit selects restore-child-cursor branch; stream+2 is object+0x14 mask | 55 8b ec 83 ec 0c 53 56 57 8b 45 08 8b 40 40 33 c9 8a 48 01 83 e1 7f 89 4d f4 |
fanout-restore-child-cursor0x00405893 | True | high-bit branch saves target object+0x40, runs stream+4 through 0x00402321, restores target cursor | 8b 45 f8 8b 40 40 89 45 fc 8b 45 08 8b 40 40 8b 40 04 8b 4d f8 89 41 40 8b 45 f8 50 e8 6d ca ff ff 83 c4 04 8b 45 fc 8b 4d f8 89 41 40 |
fanout-persistent-child-cursor0x004058c5 | True | normal branch writes stream+4 into target object+0x40 and keeps advanced target cursor | 8b 45 08 8b 40 40 8b 40 04 8b 4d f8 89 41 40 8b 45 f8 50 e8 44 ca ff ff 83 c4 04 |
parent-stream-advance0x004058e5 | True | parent object+0x40 advances by +0x08 after opcode 0x2a fanout | 8b 45 08 83 40 40 08 c7 05 b8 a1 55 00 00 00 00 00 |
Strict Active Object +0xEC Hits
| script | command | classification | summary |
|---|---|---|---|
| none | |||
Top Raw Candidates
| candidate | score | operands | child | evidence | raw |
|---|---|---|---|---|---|
0x0047974creview-boundary-candidate | 5 | slot 0 restore False mask 0x0000 | 0x00479784.data ops 0x01, 0x03 | cmd refs 0 child refs 5 boundary 10 interior 1 | 2a 00 00 00 84 97 47 00 11 80 ea 00 2e 00 00 00 |
0x00529d2creview-boundary-candidate | 5 | slot 0 restore False mask 0x0000 | 0x00450364.data ops 0x03 | cmd refs 0 child refs 5 boundary 10 interior 0 | 2a 00 00 00 64 03 45 00 33 00 00 03 04 00 00 00 |
0x00529f84review-boundary-candidate | 5 | slot 0 restore False mask 0x0000 | 0x004c0364.data ops 0xa1, 0xc1, 0xc0, 0x40, 0xa1, 0xa1, 0xbf, 0xbe, 0x00 | cmd refs 0 child refs 5 boundary 10 interior 0 | 2a 00 00 00 64 03 4c 00 33 00 00 04 04 00 00 00 |
0x0052a3bcreview-boundary-candidate | 5 | slot 0 restore False mask 0x0000 | 0x005b0364.reloc ops 0x90, 0xa0, 0xbc, 0xd8, 0xfc, 0x1c, 0x34, 0x48, 0x64, 0x94 | cmd refs 0 child refs 20 boundary 10 interior 0 | 2a 00 00 00 64 03 5b 00 39 00 00 02 04 00 00 00 |
0x0052a59creview-boundary-candidate | 5 | slot 0 restore False mask 0x0000 | 0x005b0364.reloc ops 0x90, 0xa0, 0xbc, 0xd8, 0xfc, 0x1c, 0x34, 0x48, 0x64, 0x94 | cmd refs 0 child refs 20 boundary 10 interior 0 | 2a 00 00 00 64 03 5b 00 2c 00 00 01 04 00 00 00 |
0x00544628review-boundary-candidate | 5 | slot 0 restore False mask 0x0000 | 0x00544638.data ops 0x13, 0x10, 0x56, 0xeb, 0x74, 0xeb, 0x74, 0xeb, 0x74, 0xeb | cmd refs 0 child refs 1 boundary 10 interior 0 | 2a 00 00 00 38 46 54 00 03 00 00 00 6c 46 54 00 |
0x005449b0review-boundary-candidate | 5 | slot 0 restore False mask 0x0000 | 0x005449c0.data ops 0x13, 0x10, 0x56, 0xeb, 0x74, 0xeb, 0x74, 0xeb, 0x74, 0xeb | cmd refs 0 child refs 1 boundary 10 interior 0 | 2a 00 00 00 c0 49 54 00 03 00 00 00 f4 49 54 00 |
0x005296b0review-boundary-candidate | 4 | slot 0 restore False mask 0x0000 | 0x0052a2c0.data ops 0x04, 0x52, 0x15, 0x04, 0x03 | cmd refs 0 child refs 3 boundary 10 interior 1 | 2a 00 00 00 c0 a2 52 00 65 03 11 00 2a 00 00 00 |
0x00529728review-boundary-candidate | 4 | slot 0 restore False mask 0x0000 | 0x0052a338.data ops 0x04, 0x52, 0x15, 0x04, 0x03 | cmd refs 0 child refs 3 boundary 1 interior 1 | 2a 00 00 00 38 a3 52 00 65 03 81 00 2a 00 00 00 |
0x00529734review-boundary-candidate | 4 | slot 0 restore False mask 0x0000 | 0x0052a338.data ops 0x04, 0x52, 0x15, 0x04, 0x03 | cmd refs 0 child refs 3 boundary 1 interior 1 | 2a 00 00 00 38 a3 52 00 65 03 10 00 3f 00 00 00 |
0x0047f1ecreview-boundary-candidate | 3 | slot 56 restore True mask 0x0041 | 0x0041b8ee.text ops 0x55, 0xa0, 0x00 | cmd refs 0 child refs 1 boundary 10 interior 0 | 2a b8 41 00 ee b8 41 00 56 b9 41 00 a0 b9 41 00 |
0x004d2688review-boundary-candidate | 3 | slot 0 restore False mask 0x0005 | 0x004d361c.data ops 0xc3, 0xc1, 0xa1, 0xa1, 0xff, 0x64, 0x01, 0x00 | cmd refs 0 child refs 1 boundary 10 interior 0 | 2a 00 05 00 1c 36 4d 00 2e 00 05 00 42 36 4d 00 |
0x004d2840review-boundary-candidate | 3 | slot 0 restore False mask 0x0005 | 0x004d3de0.data ops 0xb1, 0xb5, 0xb7, 0xa1, 0xff, 0x64, 0x01, 0xb0, 0xc8, 0xa1 | cmd refs 0 child refs 1 boundary 10 interior 0 | 2a 00 05 00 e0 3d 4d 00 2b 00 05 00 fe 3d 4d 00 |
0x004d2850review-boundary-candidate | 3 | slot 0 restore False mask 0x0005 | 0x004d3e1c.data ops 0xbc, 0xa1, 0xa1, 0xa1, 0xff, 0x64, 0x01, 0xb1, 0xa1, 0xa1 | cmd refs 0 child refs 1 boundary 10 interior 0 | 2a 00 05 00 1c 3e 4d 00 29 00 05 00 00 00 00 00 |
0x004e9144review-boundary-candidate | 3 | slot 38 restore True mask 0x004e | 0x004ea686.data ops 0xc0, 0xb8, 0xb1, 0xb5, 0x40, 0xc7, 0xa1, 0xb8, 0xb4, 0x00 | cmd refs 0 child refs 1 boundary 10 interior 0 | 2a a6 4e 00 86 a6 4e 00 c0 a6 4e 00 f8 a6 4e 00 |
0x004e9208review-boundary-candidate | 3 | slot 40 restore True mask 0x004e | 0x004ea86c.data ops 0xb1, 0xc7, 0xbb, 0xb5, 0xc0, 0xb8, 0x00 | cmd refs 0 child refs 1 boundary 10 interior 0 | 2a a8 4e 00 6c a8 4e 00 b2 a8 4e 00 e8 a8 4e 00 |
0x00511b90review-boundary-candidate | 3 | slot 32 restore False mask 0x0051 | 0x0051206a.data ops 0xbf, 0xa1, 0xc1, 0xb8, 0x00 | cmd refs 0 child refs 1 boundary 10 interior 0 | 2a 20 51 00 6a 20 51 00 ac 20 51 00 f2 20 51 00 |
0x0044067creview-boundary-candidate | 2 | slot 111 restore False mask 0x0040 | 0x00406f4f.text ops 0x55, 0x08, 0x33, 0x01, 0x0f, 0x00 | cmd refs 0 child refs 1 boundary 10 interior 0 | 2a 6f 40 00 4f 6f 40 00 f9 6f 40 00 1f 71 40 00 |
0x00440878review-boundary-candidate | 2 | slot 112 restore True mask 0x0040 | 0x0040f1f4.text ops 0x55, 0x57, 0x8b, 0xc9, 0x89, 0xb7, 0x8b, 0x40, 0x8a, 0xf9 | cmd refs 0 child refs 1 boundary 10 interior 0 | 2a f0 40 00 f4 f1 40 00 0d f3 40 00 26 f4 40 00 |
0x004ebcfcreview-boundary-candidate | 2 | slot 64 restore True mask 0x004e | 0x004ebfc4.data ops 0xbf, 0x40, 0xbc, 0x40, 0xc3, 0x40, 0xbc, 0xbf, 0x40, 0xc1 | cmd refs 0 child refs 4 boundary 2 interior 1 | 2a c0 4e 00 c4 bf 4e 00 c4 bf 4e 00 c4 bf 4e 00 |
0x004ec3dcreview-boundary-candidate | 2 | slot 71 restore True mask 0x004e | 0x004ec732.data ops 0xba, 0x40, 0xb3, 0x40, 0xb5, 0xb5, 0xb0, 0x00 | cmd refs 0 child refs 1 boundary 10 interior 0 | 2a c7 4e 00 32 c7 4e 00 3a c7 4e 00 42 c7 4e 00 |
0x004f8048review-boundary-candidate | 2 | slot 80 restore False mask 0x004f | 0x004e7709.data ops 0x00 | cmd refs 0 child refs 12 boundary 1 interior 1 | 2a 50 4f 00 09 77 4e 00 11 70 19 00 37 50 4f 00 |
0x004f80d4review-boundary-candidate | 2 | slot 80 restore False mask 0x004f | 0x004e7709.data ops 0x00 | cmd refs 0 child refs 12 boundary 1 interior 1 | 2a 50 4f 00 09 77 4e 00 12 90 0d 00 42 50 4f 00 |
0x0044491clikely-operand-false-positive | -1 | slot 0 restore False mask 0x0000 | 0x00445f1c.data ops 0x32, 0x6d, 0x31, 0x32, 0x32, 0xd2, 0x31, 0x2f, 0x84, 0x24 | cmd refs 0 child refs 1 boundary 0 interior 2 | 2a 00 00 00 1c 5f 44 00 65 03 17 00 08 00 00 00 |
Non-Claims
- A raw byte 0x2a plus a VA-shaped dword at +4 is not enough to claim an opcode 0x2a command.
- A command-boundary candidate is not a route producer unless its parent/root is linked to gameplay scene/map/encounter state.
- The active object +0xec inventory remains a negative result for opcode 0x2a after the decoder correction.