Supply-pad map correspondence
The native supply-entry routine C6FB was checked against all 16,384 cells of the actual Halon map, resource 00_069, expanded into the runtime type/state layout. Its accepted locations match all eight placed bank-31 type-3 objects exactly. No additional logical pads or missing type-3 pads were found in the base map.
Coordinates are the same (x, y) cell convention used by the explorer:
| x | y |
|---|---|
| 111 | 8 |
| 67 | 16 |
| 34 | 20 |
| 14 | 51 |
| 49 | 54 |
| 95 | 56 |
| 24 | 78 |
| 59 | 102 |
The trigger point differs from the ship position
The routine subtracts signed, heading-indexed table bytes from player X and Y before looking up the map cell. It tests the resulting cell's type byte at 2*x + 256*y. There is no separate hardcoded list of supply-pad coordinates in this path.
Both projected subcell coordinates must be in 36..219 inclusive within a 256-unit cell. The surrounding strip is rejected. Consequently placing the ship itself at the visual cell centre does not guarantee entry for every heading: the heading-adjusted point must land inside that central region, and the other height/output/player-state predicates must also pass.
The stored approach targets were checked too: C81E retains the accepted map cell and 7DA9 retains the projected subcell coordinates. They match the input cell and subcell, without an east/west flip, off-by-one cell shift or different pad index.
Mutable state
The adjacent runtime state byte is not read by this entry gate. All eight pads remain accepted with state bytes 00h, 20h, 40h, 80h and FFh, with other entry predicates held eligible. This is not proof that a damaged pad is always usable during gameplay: collision, later type-byte changes and other entry conditions could still prevent it. It establishes that these state bits alone do not disable this particular lookup.
Verification
PYTHONPATH=/tmp/darker-python python3 tools/verify_supply_locations.py
- 16,384 native cell checks at heading zero against actual map type bytes.
- 64 heading samples per pad, 512 checks total.
- 448 cardinal-heading/subcell-boundary checks.
- 40 state-byte checks.
- Zero discrepancies between accepted base-map locations and type-3 object locations.
Each test constructs an eligible player position for a requested projected point and executes the original geometry/map gate through target assignment, stopping before context exchange. It does not simulate a flight approach, collision or scenario-specific replacement of map type bytes. The result corroborates the identification of Halon type 3 as supply pads without assuming that identity in the acceptance comparison.