Release 2026-11-04-r2 · SHA256 98eef6a6346c62b36956daba06f6a8a3aa740060838495caddbc0ebdb9efeec4 · Click a line number for a direct link.
1| Fixes reported on the NHL94 forum (2026-10-28), found in the community disassembly2| (abdulahmad/NHL94Genesis, routine names below) and the mechanics notes of3| nhl94dotcom/NHL94MatchViewer docs/GENESIS_MECHANICS.md.4| +0 friction ($AC12, updateplayers): "runaway speed" - the deceleration-off flag (pflags bit 0)5| leaks onto a person's skater after a fall into the boards or a takeover during a pass, so6| bursts stack past 20,000. A pad-controlled skater (bit 3) never keeps it.7| +4 penalty shot awarded ($ED96, puckshootout): the puck also loses its vertical speed and is put8| in no-collision mode (bit 2), so a puck still moving in a net cannot score after the whistle.9| +8 penalty shot set up ($EF92, puckpenshot, first call): no-collision mode off again - it was10| only cleared by a faceoff puck drop, so a puck flipped over the glass after the award11| whistle stayed a "ghost" through the net and boards for the whole shot.12 .text13 .globl _start14_start:15 bra.w friction16 bra.w psaward17 bra.w pssetup18 bra.w passflight19friction: | replaces btst #0,$62(a3) / beq.w +4 / moveq #9,d220 btst #3,0x62(%a3)21 beq.s 1f22 bclr #0,0x62(%a3) | a person's skater: normal friction231: btst #0,0x62(%a3)24 beq.s 2f25 moveq #9,%d2262: rts27psaward: | replaces clr.w $B772 / clr.w $B77428 clr.w 0xFFFFB77229 clr.w 0xFFFFB77430 clr.w 0xFFFFB77631 bset #2,0x62(%a3)32 rts33pssetup: | replaces bclr #1,$62(a3) (pfna); the caller's beq.w stays34 bclr #1,0x62(%a3)35 beq.s 9f36 bclr #2,0x62(%a3)37 andi.b #0xFB,%ccr | Z clear: "it was a new assignment"389: rts3940| The experimental builder consumes a cached plain-patched ROM, so changes in41| patch.py alone do not reach this build. Wrap its existing goalie timing code;42| retain that exact path for goalies and clamp only skater flight times.43passflight:44 jsr 0x2FF14045 tst.w 0x34(%a3)46 beq.s 8f47 cmp.w #2,%d248 bge.s 8f49 moveq #2,%d2508: rts51