79 lines
2.1 KiB
Markdown
79 lines
2.1 KiB
Markdown
# 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.
|