Skip to content

AdamNet Timing Analysis

Thomas Cherryhomes edited this page Sep 8, 2025 · 21 revisions

Internal notes describing observations of AdamNet timings with other peripherals.

The lifecycle of a single block

A Block is 1K of data from a disk or data pack.

graph TD
    A(["MN_STATUS"])-->B("NM_STATUS")-->C(["MN_ACK"])
    D(["MN_READY"])-->E("NM_ACK")-->F(["MN_SEND"])-->G("NM_ACK")
    H(["MN_RECEIVE"])-->I("NM_ACK")-->J("MN_CLR")-->K("NM_SEND")-->L(["MN_ACK"])-->D
Loading

Interesting things to look at

TAPEUTL always reads blocks cleanly from the FujiNet. Are we messing up status timing?

Digital Data Packs

Multiple units: The DCB has a unit number, which can specify the unit number for a drive. This gets reflected in the very last data byte of the requested block number. (This is why the send block command has 5 bytes).

Write Timings:

  • Time between D8 and 98: 164 microseconds
  • Time between 98 and 68: 124 microseconds

Clone this wiki locally