# PT2 IRIS/M.BLACK LINK ROM Trace This note records the ROM evidence for the bench-visible `IRIS/M.BLACK LINK` lamp. ## Confirmed Host Trigger The isolated bench trigger is: ```text 00 00 13 40 00 09 ; command 0, selector 0x0013, value 0x4000 ``` Command 0 mirrors nonzero selector writes into both `E000[selector]` and `E800[selector]`, then queues the selector for internal processing. For this frame that means: ```text E000[0x0013] = 0x4000 E800[0x0013] = 0x4000 ``` The current-table word is `E800 + 2 * 0x0013 = H'E826`. ## Selector Handler The selector dispatch table maps selector `0x0013` to `H'2E06`. Focused linear decode: ```text H'2E06 BTST.W #15, @H'E826 set/clear F791.6 and F713.4 H'2E1E BTST.W #14, @H'E826 set/clear F791.5 and F716.7 ``` Bench labels: | Selector value | ROM latch bits | Visible result | | --- | --- | --- | | `0x8000` | `F791.6`, `F713.4` | far-right `SLAVE` lamp | | `0x4000` | `F791.5`, `F716.7` | `IRIS/M.BLACK LINK` lamp | | `0x0000` | clears both bit groups through `H'2E06` | both latch groups clear | ## Other Trigger Path There is also a local panel-input path: ```text F006.7 / F6DB.7 -> H'200E -> H'E826 bit14 -> loc_3E54 queues selector 0x0013 ``` At `H'200E`, the ROM checks `F6DB.7` and requires `F731 <= 3`. It then uses `F791.5` as a current-state toggle: - if `F791.5` is clear, it sets `H'E826.14`, - if `F791.5` is set, it clears `H'E826.14`, - in both cases it calls `loc_3E54` with selector `0x0013`. This is not a separate lamp driver. It feeds the same `E800[0x0013].14` state consumed by the selector handler. ## Practical Meaning The strongest current model is: - CCU/host can drive the lamp directly by sending selector `0x0013` value `0x4000` through command 0. - The panel can also toggle/report the same state through a local input lane, but only when the relevant session/page gate is open. - No other decoded selector currently appears to directly set the same `F791.5` plus `F716.7` latch pair. Generated semantics now label selector `0x0013`, `E800[0x0013]`, and the `IRIS/M.BLACK LINK` / `SLAVE` bit meanings so pseudo-code output does not leave this as a generic table write.