HP-IL Traces (part #1) [2023-07-14]
I am currently commenting HP-IL traces for another project, but it was suggested to made them public, so here they are ...
Setup:
- HP-41CX halfnut
- 82160A HP-IL module
- PIL-Box
- pyILPER
- Virtual Scope (incoming frames: 41__to__TAPE)
- Virtual Mass Storage (82161A Cassette Drive)
- Virtual Scope (outgoing frames: TAPE__to__41)
Listings:
- HP-41 / HP-IL / WAKEUP (power on) [2023-07-14]
- HP-41 / HP-IL / NEWM (new medium → NEWM 040) [2023-07-14]
- HP-41 / HP-IL / DIR (directory, empty cassette) [2023-07-14]
- HP-41 / HP-IL / CREATE (create data file, DA → "ABC" 100 CREATE) [2023-07-14]
Listing is easier to read with "View a Printable Version" (link at the bottom)
Sylvain
edit: post too big, renaming this one part #1 and creating part #2
HP-41 / HP-IL / WAKEUP (power on) [2023-07-14]
Code:
--------------------------------------------------------------------------------
41__to__TAPE | TAPE__to__41 | Description
-------------+--------------+---------------------------------------------------
IDY 23 (623) | idy 23 (623) | wake up frame, some peripheral will not be able
| | to get it, because they are in wake up mode
-------------+--------------+---------------------------------------------------
IFC (490) | ifc (490) | command: interface clear
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
IDY 00 (600) | idy 00 (600) | loop continuity test and service request detection
-------------+--------------+---------------------------------------------------
AAU (49A) | aau (49a) | auto address unconfigure,
| | all devices must set his loop address to 31
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
AAD 1 (581) | aad 2 (582) | adressing the loop, only 1 device in the loop
-------------+--------------+---------------------------------------------------
TAD 01 (441) | tad 01 (441) | first device is now the loop talker
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
SAI (563) | | ctrl is asking the talker to send his accessory id
| dab 10 (010) | aid = 10h (mass storage class)
DAB 10 (010) | |
| eto (540) | end of transmission ok
-------------+--------------+---------------------------------------------------
UNT (45F) | unt (45f) | first device is no longer a talker (untalk)
RFC (500) | rfc (500) | devices are ready for another command
--------------------------------------------------------------------------------
HP-41 / HP-IL / NEWM (new medium → NEWM 040) [2023-07-14]
Code:
--------------------------------------------------------------------------------
41__to__TAPE | TAPE__to__41 | Description
-------------+--------------+---------------------------------------------------
IDY 00 (600) | idy 00 (600) | loop continuity test and service request detection
-------------+--------------+---------------------------------------------------
AAU (49A) | aau (49a) | auto address unconfigure,
| | all devices must set his loop address to 31
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
AAD 1 (581) | aad 2 (582) | adressing the loop, only 1 device in the loop
-------------+--------------+---------------------------------------------------
TAD 01 (441) | tad 01 (441) | first device is now the loop talker
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
SAI (563) | | talker accessory id request
| dab 10 (010) | aid = 10h (mass storage class)
DAB 10 (010) | |
| eto (540) | end of transmission ok
-------------+--------------+---------------------------------------------------
TAD 01 (441) | tad 01 (441) | first device is now the loop talker
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
SST (561) | | talker interface status request
| dab 00 (000) | status = 0h (no error)
DAB 00 (000) | |
| eto (540) | end of transmission ok
-------------+--------------+---------------------------------------------------
LAD 01 (421) | lad 01 (421) | first device is now one of the loop listeners
| | and no longer the loop talker
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
DDL 05 (4A5) | ddl 05 (4a5) | tape format request
| | 0xFF is written on the tape
| | 128KB = 2 tracks x 256 records @ 256 bytes/record
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
TAD 01 (441) | tad 01 (441) | first device is now the loop talker
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
SST (561) | | talker interface status request
| dab 00 (000) | status = 0h (no error)
DAB 00 (000) | |
| eto (540) | end of transmission ok
-------------+--------------+---------------------------------------------------
LAD 01 (421) | lad 01 (421) | first device is now one of the loop listeners
| | and no longer the loop talker
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
DDL 04 (4A4) | ddl 04 (4a4) | tape seek request
| | parameters are in the next two DAB frames
RFC (500) | rfc (500) | devices are ready for another command
DAB 00 (000) | dab 00 (000) | track 0
DAB 00 (000) | dab 00 (000) | record 0
-------------+--------------+---------------------------------------------------
TAD 01 (441) | tad 01 (441) | first device is now the loop talker
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
SST (561) | | talker interface status request
| dab 00 (000) | status = 0h (no error)
DAB 00 (000) | |
| eto (540) | end of transmission ok
-------------+--------------+---------------------------------------------------
LAD 01 (421) | lad 01 (421) | first device is now one of the loop listeners
| | and no longer the loop talker
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
DDL 03 (4A3) | ddl 03 (4a3) | set byte pointer in buffer request
RFC (500) | rfc (500) | devices are ready for another command
DAB 00 (000) | dab 00 (000) | pointer 0
-------------+--------------+---------------------------------------------------
DDL 02 (4A2) | ddl 02 (4a2) | activate continous write
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
DDL 00 (4A0) | ddl 00 (4a0) | write to buffer 0
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
DAB 00 (000) | dab 00 (000) | data for track 0 record 0 : byte 0
... | ... | ...
DAB 00 (000) | dab 00 (000) | data for track 0 record 0 : byte 255
| | end of buffer is reached,
| | data is flushed to tape,
| | automatic tape seek next record
-------------+--------------+---------------------------------------------------
DAB 00 (000) | dab 00 (000) | data for track 0 record 1 : byte 0
... | ... | ...
DAB 00 (000) | dab 00 (000) | data for track 0 record 1 : byte 255
| | end of buffer is reached,
| | data is flushed to tape,
| | automatic tape seek next record
-------------+--------------+---------------------------------------------------
TAD 01 (441) | tad 01 (441) | first device is now the loop talker
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
SST (561) | | talker interface status request
| dab 00 (000) | status = 0h (no error)
DAB 00 (000) | |
| eto (540) | end of transmission ok
-------------+--------------+---------------------------------------------------
UNT (45F) | unt (45f) | first device is no longer a talker (untalk)
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
LAD 01 (421) | lad 01 (421) | first device is now one of the loop listeners
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
DDL 04 (4A4) | ddl 04 (4a4) | tape seek request
| | parameters are in the next two DAB frames
RFC (500) | rfc (500) | devices are ready for another command
DAB 00 (000) | dab 00 (000) | track 0
DAB 00 (000) | dab 00 (000) | record 0
-------------+--------------+---------------------------------------------------
TAD 01 (441) | tad 01 (441) | first device is now the loop talker
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
SST (561) | | talker interface status request
| dab 00 (000) | status = 0h (no error)
DAB 00 (000) | |
| eto (540) | end of transmission ok
-------------+--------------+---------------------------------------------------
LAD 01 (421) | lad 01 (421) | first device is now one of the loop listeners
| | and no longer the loop talker
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
DDL 03 (4A3) | ddl 03 (4a3) | set byte pointer in buffer request
RFC (500) | rfc (500) | devices are ready for another command
DAB 00 (000) | dab 00 (000) | pointer 0
-------------+--------------+---------------------------------------------------
DDL 02 (4A2) | ddl 02 (4a2) | activate continous write
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
DDL 00 (4A0) | ddl 00 (4a0) | write to buffer 0
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
| | data for track 0 record 0 : TAPE LIF HEADER
| | LIF identifier = 0x8000 (2 bytes)
DAB 80 (080) | dab 80 (080) |
DAB 00 (000) | dab 00 (000) |
| | Volume Label (6 bytes)
| | 82160A weird tape label name
DAB 00 (000) | dab 00 (000) |
DAB 00 (000) | dab 00 (000) |
DAB 02 (002) | dab 02 (002) |
DAB 10 (010) | dab 10 (010) |
DAB 00 (000) | dab 00 (000) |
DAB 80 (080) | dab 80 (080) |
| | Directory start block = 0x00000002 (4 bytes)
DAB 00 (000) | dab 00 (000) |
DAB 00 (000) | dab 00 (000) |
DAB 00 (000) | dab 00 (000) |
DAB 02 (002) | dab 02 (002) |
| | LIF identifer = 0x1000 ( 2 bytes)
DAB 10 (010) | dab 10 (010) |
DAB 00 (000) | dab 00 (000) |
| | Filler, must be zero
DAB 00 (000) | dab 00 (000) |
DAB 00 (000) | dab 00 (000) |
| | Length of directory in blocks = 0x00000006 (4 bytes)
| | 82160A is reserving more directory space than needed
| | for 040 files, it should only reserve 5 blocks
| | 40 files x 32 bytes (dir entry per file) = 1280
| | 1280 bytes / 256 (bytes per record) = 5 blocks
DAB 00 (000) | dab 00 (000) |
DAB 00 (000) | dab 00 (000) |
DAB 00 (000) | dab 00 (000) |
END 06 (206) | end 06 (206) |
| | end byte received
| | data is flushed to tape,
| | automatic tape seek next record
| | 82160A is not a good LIF citizen
| | it does not fills the other LIF header fields
| | those values are hard coded in the module
-------------+--------------+---------------------------------------------------
TAD 01 (441) | tad 01 (441) | first device is now the loop talker
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
SST (561) | | talker interface status request
| dab 00 (000) | status = 0h (no error)
DAB 00 (000) | |
| eto (540) | end of transmission ok
-------------+--------------+---------------------------------------------------
LAD 01 (421) | lad 01 (421) | first device is now one of the loop listeners
| | and no longer the loop talker
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
DDL 04 (4A4) | ddl 04 (4a4) | tape seek request
| | parameters are in the next two DAB frames
RFC (500) | rfc (500) | devices are ready for another command
DAB 00 (000) | dab 00 (000) | track 0
DAB 02 (002) | dab 02 (002) | record 2
-------------+--------------+---------------------------------------------------
TAD 01 (441) | tad 01 (441) | first device is now the loop talker
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
SST (561) | | talker interface status request
| dab 00 (000) | status = 0h (no error)
DAB 00 (000) | |
| eto (540) | end of transmission ok
-------------+--------------+---------------------------------------------------
DDT 02 (4C2) | ddt 02 (4c2) | tape read request
| | track 0 record 2 is copied into buffer 0
| | tape is now set to track 0 record 3
| | wow, for once, 82160A already know the talker state
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
TAD 01 (441) | tad 01 (441) | first device is now the loop talker
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
SST (561) | | talker interface status request
| dab 00 (000) | status = 0h (no error)
DAB 00 (000) | |
| eto (540) | end of transmission ok
-------------+--------------+---------------------------------------------------
TAD 01 (441) | tad 01 (441) | first device is now the loop talker
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
DDT 03 (4C3) | ddt 03 (4c3) | tape position request
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
SDA (560) | | ctrl is asking the talker for his data
| dab 00 (000) | track 0
DAB 00 (000) | dab 03 (003) | record 3
DAB 03 (003) | dab 00 (000) | byte 0
DAB 00 (000) | |
| eto (540) | end of transmission ok
-------------+--------------+---------------------------------------------------
LAD 01 (421) | lad 01 (421) | first device is now one of the loop listeners
| | and no longer the loop talker
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
DDL 09 (4A9) | ddl 09 (4a9) | copy buffer 0 to buffer 1
| | reset buffer pointer to 0
| | buffer 1 hold a copy of the first directory record
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
LAD 01 (421) | lad 01 (421) | first device is now one of the loop listeners
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
DDL 03 (4A3) | ddl 03 (4a3) | set byte pointer
RFC (500) | rfc (500) | devices are ready for another command
DAB FA (0FA) | dab fa (0fa) | to FAh or 250d
-------------+--------------+---------------------------------------------------
DDL 01 (4A1) | ddl 01 (4a1) | activate buffer 1
RFC (500) | rfc (500) | devices are ready for another command
DAB FA (0FA) | dab fa (0fa) | write FAh at position FAh in buffer 1
| | hein! why? I need to investigate this
-------------+--------------+---------------------------------------------------
LAD 01 (421) | lad 01 (421) | first device is now one of the loop listeners
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
DDL 03 (4A3) | ddl 03 (4a3) | set byte pointer
RFC (500) | rfc (500) | devices are ready for another command
DAB 00 (000) | dab 00 (000) | pointer set to 0
-------------+--------------+---------------------------------------------------
UNL (43F) | unl (43f) | unlisten
RFC (500) | rfc (500) | devices are ready for another command
--------------------------------------------------------------------------------
HP-41 / HP-IL / DIR (directory, empty cassette) [2023-07-14]
Code:
--------------------------------------------------------------------------------
41__to__TAPE | TAPE__to__41 | Description
-------------+--------------+---------------------------------------------------
IDY 00 (600) | idy 00 (600) | loop continuity test and service request detection
-------------+--------------+---------------------------------------------------
AAU (49A) | aau (49a) | auto address unconfigure,
| | all devices must set his loop address to 31
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
AAD 1 (581) | aad 2 (582) | adressing the loop, only 1 device in the loop
-------------+--------------+---------------------------------------------------
TAD 01 (441) | tad 01 (441) | first device is now the loop talker
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
SAI (563) | | ctrl is asking the talker to send his accessory id
| dab 10 (010) | aid = 10h (mass storage class)
DAB 10 (010) | |
| eto (540) | end of transmission ok
-------------+--------------+---------------------------------------------------
TAD 01 (441) | tad 01 (441) | first device is now the loop talker
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
SST (561) | | ctrl is asking for talker interface status
| dab 00 (000) | status = 0h (no error)
DAB 00 (000) | |
| eto (540) | end of transmission ok
-------------+--------------+---------------------------------------------------
IDY 00 (600) | idy 00 (600) | loop continuity test and service request detection
-------------+--------------+---------------------------------------------------
AAU (49A) | aau (49a) | auto address unconfigure,
| | all devices must set his loop address to 31
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
AAD 1 (581) | aad 2 (582) | adressing the loop, only 1 device in the loop
-------------+--------------+---------------------------------------------------
TAD 01 (441) | tad 01 (441) | first device is now the loop talker
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
SAI (563) | dab 10 (010) | ctrl is asking the talker to send his accessory id
| | and the device is sending 10h or 16d
| | which is the id for a mass storage device class
DAB 10 (010) | eto (540) | device is sending an end of transmission ok
-------------+--------------+---------------------------------------------------
TAD 01 (441) | tad 01 (441) | first device is now the loop talker
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
SST (561) | | ctrl is asking for talker interface status
| dab 00 (000) | status = 0h (no error)
DAB 00 (000) | |
| eto (540) | end of transmission ok
-------------+--------------+---------------------------------------------------
LAD 01 (421) | lad 01 (421) | first device is now one of the loop listeners
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
DDL 04 (4A4) | ddl 04 (4a4) | ctrl is sending a tape seek request
| | parameters are in the next two DAB frames
RFC (500) | rfc (500) | devices are ready for another command
DAB 00 (000) | dab 00 (000) | track 0
DAB 02 (002) | dab 02 (002) | record 2
-------------+--------------+---------------------------------------------------
TAD 01 (441) | tad 01 (441) | first device is now the loop talker
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
SST (561) | | ctrl is asking for talker interface status
| dab 00 (000) | status = 0h (no error)
DAB 00 (000) | |
| eto (540) | end of transmission ok
-------------+--------------+---------------------------------------------------
DDT 02 (4C2) | ddt 02 (4c2) | ctrl is sending a read tape record request
| | the drive read record into drive buffer 0
| | and set the current record to 3
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
TAD 01 (441) | tad 01 (441) | first device is now the loop talker
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
SST (561) | | ctrl is asking for talker interface status
| dab 00 (000) | status = 0h (no error)
DAB 00 (000) | |
| eto (540) | end of transmission ok
-------------+--------------+---------------------------------------------------
TAD 01 (441) | tad 01 (441) | first device is now the loop talker
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
SST (561) | | ctrl is asking for talker interface status
| dab 00 (000) | status = 0h (no error)
DAB 00 (000) | |
| eto (540) | end of transmission ok
-------------+--------------+---------------------------------------------------
DDT 00 (4C0) | ddt 00 (4c0) | ctrl is asking the talker to send his
| | buffer 0 content on the loop
RFC (500) | rfc (500) | devices are ready for another command
SDA (560) | | ctrl is asking the talker for his data
| dab ff (0ff) | LIF record 32 bytes
DAB FF (0FF) | dab ff (0ff) | LIF description web pages
DAB FF (0FF) | dab ff (0ff) | http://www.finseth.com/hpdata/lif.php
DAB FF (0FF) | dab ff (0ff) | https://www.hpmuseum.org/cgi-sys/cgiwrap/hpmuseum/articles.cgi?read=24
DAB FF (0FF) | dab ff (0ff) | https://www.hp9845.net/9845/projects/hpdir/
DAB FF (0FF) | dab ff (0ff) | empty directory entry record = last entry in directory
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
NRD (542) | nrd (542) | ctrl is telling the drive to stop sending data
DAB FF (0FF) | |
| eto (540) | end of transmission ok
-------------+--------------+---------------------------------------------------
UNT (45F) | unt (45f) | first device is no longer a talker (untalk)
RFC (500) | rfc (500) | devices are ready for another command
--------------------------------------------------------------------------------
HP-41 / HP-IL / CREATE (create data file, DA → "ABC" 100 CREATE) [2023-07-14]
Code:
--------------------------------------------------------------------------------
41 _to_ TAPE | TAPE _to_ 41 | Description
-------------+--------------+---------------------------------------------------
| | LOOP CONFIGURATION - 1st time
-------------+--------------+---------------------------------------------------
IDY 00 (600) | idy 00 (600) | loop continuity test and service request detection
-------------+--------------+---------------------------------------------------
AAU (49A) | aau (49a) | auto address unconfigure,
| | all devices must set his loop address to 31
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
AAD 1 (581) | aad 2 (582) | adressing the loop, only 1 device in the loop
-------------+--------------+---------------------------------------------------
TAD 01 (441) | tad 01 (441) | first device is now the loop talker
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
SAI (563) | | talker accessory id request
| dab 10 (010) | aid = 10h (mass storage class)
DAB 10 (010) | |
| eto (540) | end of transmission ok
-------------+--------------+---------------------------------------------------
TAD 01 (441) | tad 01 (441) | first device is now the loop talker
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
SST (561) | | talker interface status request
| dab 00 (000) | status = 0h (no error)
DAB 00 (000) | |
| eto (540) | end of transmission ok
-------------+--------------+---------------------------------------------------
UNT (45F) | unt (45f) | first device is no longer a talker (untalk)
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
| | LOOP CONFIGURATION - 2nd time, again !
-------------+--------------+---------------------------------------------------
IDY 00 (600) | idy 00 (600) | loop continuity test and service request detection
-------------+--------------+---------------------------------------------------
AAU (49A) | aau (49a) | auto address unconfigure,
| | all devices must set his loop address to 31
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
AAD 1 (581) | aad 2 (582) | adressing the loop, only 1 device in the loop
-------------+--------------+---------------------------------------------------
TAD 01 (441) | tad 01 (441) | first device is now the loop talker
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
SAI (563) | | talker accessory id request
| dab 10 (010) | aid = 10h (mass storage class)
DAB 10 (010) | |
| eto (540) | end of transmission ok
-------------+--------------+---------------------------------------------------
UNT (45F) | unt (45f) | first device is no longer a talker (untalk)
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
| | LOOP CONFIGURATION - 3rd time, the 82160A is so inneficient
-------------+--------------+---------------------------------------------------
IDY 00 (600) | idy 00 (600) | loop continuity test and service request detection
-------------+--------------+---------------------------------------------------
AAU (49A) | aau (49a) | auto address unconfigure,
| | all devices must set his loop address to 31
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
AAD 1 (581) | aad 2 (582) | adressing the loop, only 1 device in the loop
-------------+--------------+---------------------------------------------------
TAD 01 (441) | tad 01 (441) | first device is now the loop talker
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
SAI (563) | | talker accessory id request
| dab 10 (010) | aid = 10h (mass storage class)
DAB 10 (010) | |
| eto (540) | end of transmission ok
-------------+--------------+---------------------------------------------------
| | FINALLY - we are out this configuration retry loop
| | GET FIRST DIRECTORY ENTRY
-------------+--------------+---------------------------------------------------
TAD 01 (441) | tad 01 (441) | first device is now the loop talker
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
SST (561) | | talker interface status request
| dab 00 (000) | status = 0h (no error)
DAB 00 (000) | |
| eto (540) | end of transmission ok
-------------+--------------+---------------------------------------------------
LAD 01 (421) | lad 01 (421) | first device is now one of the loop listeners
| | and no longer the loop talker
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
DDL 04 (4A4) | ddl 04 (4a4) | tape seek request
| | parameters are in the next two DAB frames
RFC (500) | rfc (500) | devices are ready for another command
DAB 00 (000) | dab 00 (000) | track 0
DAB 02 (002) | dab 02 (002) | record 2
-------------+--------------+---------------------------------------------------
TAD 01 (441) | tad 01 (441) | first device is now the loop talker
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
SST (561) | | talker interface status request
| dab 00 (000) | status = 0h (no error)
DAB 00 (000) | |
| eto (540) | end of transmission ok
-------------+--------------+---------------------------------------------------
DDT 02 (4C2) | ddt 02 (4c2) | tape read request
| | track 0 record 2 is copied into buffer 0
| | tape is now set to track 0 record 3
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
TAD 01 (441) | tad 01 (441) | first device is now the loop talker
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
SST (561) | | talker interface status request
| dab 00 (000) | status = 0h (no error)
DAB 00 (000) | |
| eto (540) | end of transmission ok
-------------+--------------+---------------------------------------------------
| | again !
-------------+--------------+---------------------------------------------------
TAD 01 (441) | tad 01 (441) | first device is now the loop talker
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
SST (561) | | talker interface status request
| dab 00 (000) | status = 0h (no error)
DAB 00 (000) | |
| eto (540) | end of transmission ok
-------------+--------------+---------------------------------------------------
DDT 00 (4C0) | ddt 00 (4c0) | ctrl is asking the talker to send his
| | buffer 0 content on the loop
RFC (500) | rfc (500) | devices are ready for another command
SDA (560) | | ctrl is asking the talker for his data
| dab ff (0ff) | LIF record 32 bytes
DAB FF (0FF) | dab ff (0ff) | empty = last directory entry
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
NRD (542) | nrd (542) | ctrl is telling the drive to stop sending data
DAB FF (0FF) | |
| eto (540) | end of transmission ok
-------------+--------------+---------------------------------------------------
| | FIRST DIRECTORY ENTRY IS EMPTY !!!
| | IS THE TAPE FORMATTED ?
-------------+--------------+---------------------------------------------------
AAU (49A) | aau (49a) | auto address unconfigure,
| | all devices must set his loop address to 31
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
AAD 1 (581) | aad 2 (582) | adressing the loop, only 1 device in the loop
-------------+--------------+---------------------------------------------------
UNT (45F) | unt (45f) | first device is no longer a talker (untalk)
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
LAD 01 (421) | lad 01 (421) | first device is now one of the loop listeners
| | and no longer the loop talker
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
DDL 04 (4A4) | ddl 04 (4a4) | tape seek request
| | parameters are in the next two DAB frames
RFC (500) | rfc (500) | devices are ready for another command
DAB 00 (000) | dab 00 (000) | track 0
DAB 00 (000) | DAB 00 (000) | record 0
| | track 0 sector 0 contains the LIF Volume data
-------------+--------------+---------------------------------------------------
TAD 01 (441) | tad 01 (441) | first device is now the loop talker
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
SST (561) | | talker interface status request
| dab 00 (000) | status = 0h (no error)
DAB 00 (000) | |
| eto (540) | end of transmission ok
-------------+--------------+---------------------------------------------------
DDT 02 (4C2) | ddt 02 (4c2) | tape read request
| | track 0 record 0 is copied into buffer 0
| | tape is now set to track 0 record 1
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
TAD 01 (441) | tad 01 (441) | first device is now the loop talker
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
SST (561) | | talker interface status request
| dab 00 (000) | status = 0h (no error)
DAB 00 (000) | |
| eto (540) | end of transmission ok
-------------+--------------+---------------------------------------------------
DDT 00 (4C0) | ddt 00 (4c0) | ctrl is asking the talker to send his
| | buffer 0 content on the loop
RFC (500) | rfc (500) | devices are ready for another command
SDA (560) | | ctrl is asking the talker for his data
| | LIF Volume
| dab 80 (080) | LIF identifier = 0x8000 (2 bytes)
DAB 80 (080) | dab 00 (000) |
DAB 00 (000) | |
| dab 20 (020) | Volume Label (6 bytes)
DAB 20 (020) | dab 20 (020) |
DAB 20 (020) | dab 20 (020) |
DAB 20 (020) | dab 20 (020) |
DAB 20 (020) | dab 20 (020) |
DAB 20 (020) | dab 20 (020) |
DAB 20 (020) | |
| dab 00 (000) | Directory start block = 0x00000002 (4 bytes)
DAB 00 (000) | dab 00 (000) |
DAB 00 (000) | dab 00 (000) |
DAB 00 (000) | dab 02 (002) |
DAB 02 (002) | |
| dab 10 (010) | LIF identifer = 0x1000 ( 2 bytes)
DAB 10 (010) | dab 00 (000) |
DAB 00 (000) | |
| dab 00 (000) | Filler, must be zero (2 bytes)
DAB 00 (000) | dab 00 (000) |
DAB 00 (000) | |
| dab 00 (000) | Length of directory in blocks = 0x00000006 (4 bytes)
DAB 00 (000) | dab 00 (000) |
DAB 00 (000) | dab 00 (000) |
DAB 00 (000) | dab 06 (006) |
DAB 06 (006) | |
| dab 00 (000) | LIF version number, must be 1 (2 bytes)
DAB 00 (000) | dab 01 (001) |
DAB 01 (001) | |
| dab 00 (000) | Filler, must be zero (2 bytes)
DAB 00 (000) | dab 00 (000) |
DAB 00 (000) | |
| dab 00 (000) | Number of tracks per surface = 0x0000002 (4 bytes)
DAB 00 (000) | dab 00 (000) |
DAB 00 (000) | dab 00 (000) |
DAB 00 (000) | dab 02 (002) |
DAB 02 (002) | |
| dab 00 (000) | Number of surfaces = 0x00000001 (4 bytes)
DAB 00 (000) | dab 00 (000) |
DAB 00 (000) | dab 00 (000) |
DAB 00 (000) | dab 01 (001) |
NRD (542) | nrd (542) |
DAB 01 (001) | eto (540) | end of transmission ok
| | LIF info not transmitted:
| | number of blocks per track (4 bytes)
| | cassette drive -> 256 blocks per track is assume here
| | date and time that the volume was initialized (6 bytes)
-------------+--------------+---------------------------------------------------
| | YES, THE TAPE FORMATTED
| | THEN GET FIRST DIRECTORY ENTRY (again)
-------------+--------------+---------------------------------------------------
LAD 01 (421) | lad 01 (421) | first device is now one of the loop listeners
| | and no longer the loop talker
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
DDL 04 (4A4) | ddl 04 (4a4) | tape seek request
| | parameters are in the next two DAB frames
RFC (500) | rfc (500) | devices are ready for another command
DAB 00 (000) | dab 00 (000) | track 0
DAB 02 (002) | dab 02 (002) | record 2
| | track 0 sector 2 contains the directory first record
-------------+--------------+---------------------------------------------------
TAD 01 (441) | tad 01 (441) | first device is now the loop talker
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
SST (561) | | talker interface status request
| dab 00 (000) | status = 0h (no error)
DAB 00 (000) | |
| eto (540) | end of transmission ok
-------------+--------------+---------------------------------------------------
DDT 02 (4C2) | ddt 02 (4c2) | tape read request
| | track 0 record 2 is copied into buffer 0
| | tape is now set to track 0 record 3
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
TAD 01 (441) | tad 01 (441) | first device is now the loop talker
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
SST (561) | | talker interface status request
| dab 00 (000) | status = 0h (no error)
DAB 00 (000) | |
| eto (540) | end of transmission ok
-------------+--------------+---------------------------------------------------
TAD 01 (441) | tad 01 (441) | first device is now the loop talker
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
SST (561) | | talker interface status request
| dab 00 (000) | status = 0h (no error)
DAB 00 (000) | |
| eto (540) | end of transmission ok
-------------+--------------+---------------------------------------------------
DDT 00 (4C0) | ddt 00 (4c0) | ctrl is asking the talker to send his
| | buffer 0 content on the loop
RFC (500) | rfc (500) | devices are ready for another command
SDA (560) | | ctrl is asking the talker for his data
| dab ff (0ff) | LIF record 32 bytes
DAB FF (0FF) | dab ff (0ff) | empty = last directory entry
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
DAB FF (0FF) | dab ff (0ff) |
NRD (542) | nrd (542) | ctrl is telling the drive to stop sending data
DAB FF (0FF) | |
| eto (540) | end of transmission ok
-------------+--------------+---------------------------------------------------
| | WRITE FILE DIRECTORY ENTRY TO TAPE
-------------+--------------+---------------------------------------------------
TAD 01 (441) | tad 01 (441) | first device is now the loop talker
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
DDT 03 (4C3) | ddt 03 (4c3) | tape position request
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
SDA (560) | | ctrl is asking the talker for his data
| dab 00 (000) | track 0
DAB 00 (000) | dab 03 (003) | record 3
DAB 03 (003) | dab 20 (020) | byte 32
DAB 20 (020) | |
| eto (540) | end of transmission ok
-------------+--------------+---------------------------------------------------
LAD 01 (421) | lad 01 (421) | first device is now one of the loop listeners
| | and no longer the loop talker
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
DDL 04 (4A4) | ddl 04 (4a4) | tape seek request
| | parameters are in the next two DAB frames
RFC (500) | rfc (500) | devices are ready for another command
DAB 00 (000) | dab 00 (000) | track 0
DAB 02 (002) | dab 02 (002) | record 2
| | track 0 sector 2 contains the directory first record
-------------+--------------+---------------------------------------------------
TAD 01 (441) | tad 01 (441) | first device is now the loop talker
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
SST (561) | | talker interface status request
| dab 00 (000) | status = 0h (no error)
DAB 00 (000) | |
| eto (540) | end of transmission ok
-------------+--------------+---------------------------------------------------
LAD 01 (421) | lad 01 (421) | first device is now one of the loop listeners
| | and no longer the loop talker
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
DDL 03 (4A3) | ddl 03 (4a3) | set byte pointer in buffer request
RFC (500) | rfc (500) | devices are ready for another command
DAB 00 (000) | dab 00 (000) | pointer 0
-------------+--------------+---------------------------------------------------
DDL 02 (4A2) | ddl 02 (4a2) | activate continous write
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
DDL 03 (4A3) | ddl 03 (4a3) | set byte pointer in buffer request
RFC (500) | rfc (500) | devices are ready for another command
DAB 00 (000) | dab 00 (000) | pointer 0
-------------+--------------+---------------------------------------------------
DDL 00 (4A0) | ddl 00 (4a0) | write to buffer 0
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
| | Update first directory entry with new file info (32 bytes)
DAB 41 (041) | dab 41 (041) | filename = "ABC " (10 bytes)
DAB 42 (042) | dab 42 (042) |
DAB 43 (043) | dab 43 (043) |
DAB 20 (020) | dab 20 (020) |
DAB 20 (020) | dab 20 (020) |
DAB 20 (020) | dab 20 (020) |
DAB 20 (020) | dab 20 (020) |
DAB 20 (020) | dab 20 (020) |
DAB 20 (020) | dab 20 (020) |
DAB 20 (020) | dab 20 (020) |
DAB E0 (0E0) | dab e0 (0e0) | filetype = 0xE0D0 (SDATA, 2 bytes)
DAB D0 (0D0) | dab d0 (0d0) |
DAB 00 (000) | dab 00 (000) | start block = 0x00000008 (4 bytes)
DAB 00 (000) | dab 00 (000) |
DAB 00 (000) | dab 00 (000) |
DAB 08 (008) | dab 08 (008) |
DAB 00 (000) | dab 00 (000) | allocated blocks = 0x00000004 (file length, 4 bytes))
DAB 00 (000) | dab 00 (000) |
DAB 00 (000) | dab 00 (000) |
DAB 04 (004) | dab 04 (004) |
DAB 00 (000) | dab 00 (000) | date+time (6 bytes)
DAB 00 (000) | dab 00 (000) |
DAB 00 (000) | dab 00 (000) |
DAB 00 (000) | dab 00 (000) |
DAB 00 (000) | dab 00 (000) |
DAB 00 (000) | dab 00 (000) |
DAB 80 (080) | dab 80 (080) | miscellaneous data (6 bytes)
DAB 01 (001) | dab 01 (001) | tbd = 0x80 0x01 0x00 0x64 0x00 0x20
DAB 00 (000) | dab 00 (000) |
DAB 64 (064) | dab 64 (064) |
DAB 00 (000) | dab 00 (000) |
END 20 (220) | end 20 (220) | end byte received, data is flushed to tape
-------------+--------------+---------------------------------------------------
| | VALIDATE FILE DIRECTORY ENTRY
-------------+--------------+---------------------------------------------------
TAD 01 (441) | tad 01 (441) | first device is now the loop talker
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
SST (561) | | talker interface status request
| dab 00 (000) | status = 0h (no error)
DAB 00 (000) | |
| eto (540) | end of transmission ok
-------------+--------------+---------------------------------------------------
TAD 01 (441) | tad 01 (441) | first device is now the loop talker
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
DDT 03 (4C3) | ddt 03 (4c3) | tape position request
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
SDA (560) | | ctrl is asking the talker for his data
| dab 00 (000) | track 0
DAB 00 (000) | dab 03 (003) | record 3
DAB 03 (003) | dab 20 (020) | byte 32
DAB 20 (020) | |
| eto (540) | end of transmission ok
-------------+--------------+---------------------------------------------------
| | INIT TAPE FILE DATA SPACE WITH 0x00
-------------+--------------+---------------------------------------------------
LAD 01 (421) | lad 01 (421) | first device is now one of the loop listeners
| | and no longer the loop talker
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
DDL 09 (4A9) | ddl 09 (4a9) | copy buffer 0 to buffer 1
| | reset buffer pointer to 0
| | buffer 1 hold a copy of the first directory record
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
LAD 01 (421) | lad 01 (421) | first device is now one of the loop listeners
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
DDL 03 (4A3) | ddl 03 (4a3) | buffer byte pointer = 0xFA (250)
RFC (500) | rfc (500) | devices are ready for another command
DAB FA (0FA) | dab fa (0fa) |
-------------+--------------+---------------------------------------------------
DDL 01 (4A1) | ddl 01 (4a1) | activate buffer 1
RFC (500) | rfc (500) | devices are ready for another command
DAB FA (0FA) | dab fa (0fa) | write FAh at position FAh in buffer 1
| | hein! why? I need to investigate this
-------------+--------------+---------------------------------------------------
LAD 01 (421) | lad 01 (421) | first device is now one of the loop listeners
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
DDL 03 (4A3) | ddl 03 (4a3) | buffer pointer = 0x20 (32)
RFC (500) | rfc (500) | devices are ready for another command
DAB 20 (020) | dab 20 (020) |
-------------+--------------+---------------------------------------------------
UNL (43F) | unl (43f) | unlisten
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
LAD 01 (421) | lad 01 (421) | first device is now one of the loop listeners
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
DDL 04 (4A4) | ddl 04 (4a4) | tape seek request
| | parameters are in the next two DAB frames
RFC (500) | rfc (500) | devices are ready for another command
DAB 00 (000) | dab 00 (000) | track 0
DAB 08 (008) | dab 08 (008) | record 8
| | track 0 sector 8 is the start of the file data
-------------+--------------+---------------------------------------------------
TAD 01 (441) | tad 01 (441) | first device is now the loop talker
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
DDT 03 (4C3) | ddt 03 (4c3) | tape position request
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
LAD 01 (421) | lad 01 (421) | first device is now one of the loop listeners
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
DDL 03 (4A3) | ddl 03 (4a3) | buffer pointer = 0x00 (0)
RFC (500) | rfc (500) | devices are ready for another command
DAB 00 (000) | dab 00 (000) |
-------------+--------------+---------------------------------------------------
DDL 02 (4A2) | ddl 02 (4a2) | activate continous write with buffer 0
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
DDL 00 (4A0) | ddl 00 (4a0) | write to buffer 0
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
DAB 00 (000) | dab 00 (000) | data for track 0 record 8 : 256 bytes begin
... | ... | data block 1
DAB 00 (000) | dab 00 (000) | data for track 0 record 8 : 256 bytes end
| | end of buffer is reached,
| | data is flushed to tape,
| | automatic tape seek next record
-------------+--------------+---------------------------------------------------
DAB 00 (000) | dab 00 (000) | data for track 0 record 9 : 256 bytes begin
... | ... | data block 2
DAB 00 (000) | dab 00 (000) | data for track 0 record 9 : 256 bytes end
| | end of buffer is reached,
| | data is flushed to tape,
| | automatic tape seek next record
-------------+--------------+---------------------------------------------------
DAB 00 (000) | dab 00 (000) | data for track 0 record 10 : 256 bytes begin
... | ... | data block 3
DAB 00 (000) | dab 00 (000) | data for track 0 record 10 : 256 bytes end
| | end of buffer is reached,
| | data is flushed to tape,
| | automatic tape seek next record
-------------+--------------+---------------------------------------------------
DAB 00 (000) | dab 00 (000) | data for track 0 record 11 : 256 bytes begin
... | ... | data block 4
DAB 00 (000) | dab 00 (000) | data for track 0 record 11 : 256 bytes end
| | end of buffer is reached,
| | data is flushed to tape,
| | automatic tape seek next record
-------------+--------------+---------------------------------------------------
TAD 01 (441) | tad 01 (441) | first device is now the loop talker
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
DDT 03 (4C3) | ddt 03 (4c3) | tape position request
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+---------------------------------------------------
UNT (45F) | unt (45f) | first device is no longer a talker (untalk)
RFC (500) | rfc (500) | devices are ready for another command
-------------+--------------+-----------------------------------------------‑--