# Forum follow-up and suggested replies

The newest dated entries describe current features. Older entries retain their
implementation state at the time; charge, pickup delay and alternative goalkeepers
are now released as independent default-Off choices. The exact current matrix
is100/100 and the strict gate PASSED; the retained receiver geometry check is
now corrected. See MOMENTUM_LEFT_R5.md and FINAL_AUDIT_R5.md.
No forum reply has been posted by this work.

## Optional native Hard shot planning — 2026-11-01-r3

AI Shot Plan Off/On, default Off, implements jdc's separate local request for
covered-shot deferral and real lateral/native pass choices. The forum Hard
base remains completed/accepted. See AI_SHOT_PLAN_R3.md. A read-only Nov1
thread recheck still ends atjdc#217636; no newly visible concrete request.


## Optional overtime shootout rules — 2026-11-01-r2

OT SO Rules Off/On, default Off, covers unique available native skaters
before reuse and completed body-spin handling in the tied-overtime extension.
Current NHL rules checked; no literal full NHL parity claim. See STRICT_SO_R2.md.


## Optional keeper model — 2026-11-01

Floating#217606 now has independent Alt Goalies Off/On, default Off. Reach21,
origin/screen-dependent experimental catches/rebounds, conservative speed caps
and native goal/scorer/keeper/SOG accounting are qualified. Existing defaults
and all passing choices stay independent. See ALT_GOALIES_20261101.md.


## Optional pickup delay — 2026-10-31-r11

Brodeur30 #217609/#217634 now has Pickup Delay Off/On, default Off. On applies
a minimum six native updates of skater contact cooldown at actual human B
release. This briefly suppresses both stick pickups and skater body deflections;
keepers retain their native saves. All other pass options remain independent.
Alternative keeper/rebounds remains separate work. See PICKUP_DELAY_R11.md.


## Hold/release passing — 2026-10-31-r10

Brodeur30#217634/#217609 now also has optional Pass Charge Off/On, default Off.
Native power grows25–100%while held and launches only on release. Existing
Height/Speed/Mode/Cone remain independent; settings save and lock per season.
Pickup delay and alternative keeper/rebounds remain separate work.
See PASS_CHARGE_COLORS_R10.md and NIGHT_WORK_20261031.md.


## Directional passing and vector cone — released 2026-10-31-r7

Brodeur30 #217634 / original #217609 now has optional start-menu Pass Mode
Assisted/Directional and Target Cone Default/15/30/45 degrees. Defaults remain
Assisted/Default. Explicit cones use actual vector half-angles; Directional follows
the actual eight-way aim without target selection or release-time cursor handoff.
Height/Speed remain independent. The four choices save per season and lock after
the first completed match. CPU-keeper requests keep the requested receiver.
See PASS_MODE_R7.md, PASS_MODE_RESULT.json and the exact hook/hex website exports.
The first shared-path prototype was rejected after an AI regression; the final
human-only design restores all 40 tested ordinary trajectories exactly to r6.
Conditional hold/release charging, pickup delay and alternate rebounds remain
research. Historical pre-r7 analysis below describes the earlier implementation
state. No forum message has been sent.


## Pass-only speed — released2026-10-31-r5

Brodeur30 #217609now has separate Pass Speed Normal/Slow and Pass Height Normal/Low,
both default Normal. Slow recalculates the native moving-target intercept at lower
nominal power; height retains its original-time calculation. Native bounds/fast-
receiver guards may retain an unchanged pass. Standalone height/speed storage also
moves out of Full goalie data to Light's excluded4D20gap, with a paired r4negative
control and slot/boot/goalie-byte tests. See PASS_SPEED_R5.md. Directional/cone/
hold-release #217634and pickup-delay/rebound proposals remain separate work.


## Pass-only lift — released2026-10-31-r4

Brodeur30 #217609: Pass Height Normal/Low is now in the last main-menu row,
default Normal, with separate Full/Light/Mini and standalone preferences.
Played seasons lock the choice. Normal preserves native lift; Low caps targeted
B-pass lift at6instead of12while keeping horizontal velocity/intercept arithmetic.
Native fractional lift remains. A flips/C shots/blind-pass code retain their paths.
Lower lift can change landing/interception; human balance remains for playtesting.
Independent speed was added in r5; #217634directional/cone/hold-release controls remain open.
See PASS_HEIGHT_R4.md and PASS_HEIGHT_RESULT.json for hook bytes, records and tests.


## Historical pre-r4 pass-height arithmetic experiment — 2026-10-31

Brodeur30's pass-only lift proposal is now investigated, not released as a setting.
64native moving-target contexts x4lift caps(12/6/3/0) retain identical horizontal
velocity, horizontal arrival-time estimate and receiver intercept. The private probe changes only
BF65/BF6D vertical-cap immediates, and records all outputs. Other shot/lob/blind-
pass instructions remain exact. This does not establish gameplay quality,
completion/interception rates or independent control of every pass type. Current
r3keeps the previous default. See DOWNED_RECEIVER_R3.md and its result JSON.


Reviewed 2026-10-29, thread:
https://forum.nhl94.com/index.php?/topic/40511-2-guys-one-ai/#comment-217608
No messages have been posted by the agent. Text below is a draft for jdc.

## Find requests and implementation

The website's [forum tracker](https://dela.jdc.se/nhl94/#forum) shows suggestion
summaries, author names, direct post links and individual statuses. Expand
“Hooks, hex & source code” for checked hook bytes and line-addressable source.
The source viewer supports Copy code and individual file downloads; the tools
ZIP contains all public source and notes.

`download/nhl94-forum-hooks.json` identifies named sites against the guarded
builder input. `download/nhl94-byte-diff.json` and `.csv` contain every changed
byte against unmodified v5.1W, including code, roster and asset changes. Both
input/output hashes are recorded. Relocated jump bytes require their code.
Refresh with `python3 tools/update_forum.py`, then rebuild the tools archive.

Brodeur30 confirmed the diving timer in post
[217631](https://forum.nhl94.com/index.php?/topic/40511-2-guys-one-ai/#comment-217631).
The later directional-pass/targeting-cone/hold-release proposal in
[217634](https://forum.nhl94.com/index.php?/topic/40511-2-guys-one-ai/#comment-217634)
remains research; it is not included in the released ROM.

## Brodeur30: diving-goalie whistle (217608)

This is already in our game. In the checked v5.1W ROM the diving-catch path at
**ROM offset $01531C** is:

```asm
move.w #$0005,$0048(a2)   ; 35 7C 00 05 00 48
```

Use the standing-catch window:

```asm
move.w #$00B4,$0048(a2)   ; 35 7C 00 B4 00 48
```

Only the immediate's low byte at **$01531F** changes, `05 -> B4` (5 -> 180
native update ticks). Update the Genesis checksum if required by your setup.
This retains the existing human/manual goalie assignment, dive/recovery
animation, normal pass code and eventual held-too-long whistle. The separate
Y/AI hold/pass-request modifications are not required for this timer change.

Do not blindly apply an offset to every ROM: relocated/interleaved/headered
ROMs can differ. Check the complete six-byte instruction first. The included
`tools/experimental/patch_diving_recovery.py input.bin output.bin` refuses an
unexpected instruction, updates the checksum and writes a separate output.
Source integration: experimental/build_test.py patch at 0x1531C. The regression
suite includes standing and recovery requests; old home-dive savestate fixtures
are cycle-sensitive (see FORUM_FIXES.md), so this is not a universal claim that
all diving/goalie issues are solved.

### English reply draft

Thanks! The diving-save timer is a separate edit from our co-op goalie controls.
In the v5.1W ROM we use, at file offset 0x01531C:

`35 7C 00 05 00 48` -> `35 7C 00 B4 00 48`

That is `move.w #5,$48(a2)` -> `move.w #180,$48(a2)`, giving a diving catch the
standing catch's possession window. It leaves manual goalie control and the
recovery animation alone; holding too long can still produce a whistle.
Verify those original bytes in your ROM rather than assuming the same offset
in every hack, and update its checksum. We published the guarded patch tool,
sources and checks here: https://dela.jdc.se/nhl94/notes.html#FORUM_FOLLOWUP.md

## Brodeur30: pass-only controls (217609)

Lift is now partly released in r4; the remaining proposals require separate work:

- Native targeted-pass timing/velocity is in $BEBC..$BFBA. The short-pass fix
  is confined there, so it need not change A flips or C shots. Our 84-case
  native moving-target test verifies that exact pass path.
- Targeted-pass lift comes from the time byte at $BF5E/$BF6A; changing lift
  should be a separate hook after timing is determined, preserving horizontal
  velocity. Blind passes use another path. Test pass-only isolation before
  exposing a setting; do not patch global puck gravity to tune passes.
- The scan compares an integer octant angle at $BD2A..$BD40. Simply changing
  its squared threshold cannot produce precise 20/25/30-degree aiming: the
  direction has already been quantized. Finer angles need vector/dot-product
  logic. Current co-op deliberately permits a wider cone to another human.
- A separate directional pass button, pickup-delay tuning and rebound rules
  need design decisions and tests; changing the current controls/goalie balance
  is not part of this bug-fix release.

## floating: stronger native AI / rebound model (217606)

Research candidate, not a small correction. An external trained controller is
not a drop-in 68000 AI routine. Increasing keeper reach/rebound frequency would
change the established shot balance and should be an optional experimental
mode with paired shot/goal tests. Retain current default balance for now.

## bcrt2000: credits reply draft (217604)

You're right — the credits needed to be much clearer. This is based on NHL
2026 - 94 Edition v5.1W by Jkline3 and von Ozbourne; their inherited community
credits are now listed separately from our additions. We also identify the
NHL94Genesis and Chaos81 disassemblies and Tickenest's NHL94MatchViewer mechanics
research. Full sources and attribution: https://dela.jdc.se/nhl94/#credits
The new build also shows a credit card after the first startup picture.
