DataMuseum.dk

Presents historical artifacts from the history of:

CR80 Hard and Floppy Disks

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CR80 Hard and Floppy Disks

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦7c54a8f9a⟧ TextFile

    Length: 5024 (0x13a0)
    Types: TextFile
    Names: »LTU.TDA«

Derivation

└─⟦b8af24a88⟧ Bits:30005796 CR80 Disc Pack ( MINICAMPS )
    └─ ⟦this⟧ »LTU.D!LTU.TDA« 

TextFile

    MOVC #04  R2          ; TEST LINE-DATA FLOW
    MOVC #20  R3          ; START DATABUF.
C1: MOD8 #01
    MOVC #00  R0          ; TESTPATTERN0:=#0100
    MOVC #04  R5          ; 4 TESTPATT.
C2: MOV  R0   X3          ; FILL DATABUF.
    ADDC #01  R3          ; INCR. ADDR
    ADDC #55  R0          ; NEXT TESTPATT.
    SOB  R5    C2
    SOB  R2    C1         ; NEXT CH TEST DATA
    MOVC #00  R0          ; CLEAR I-A LTU BUFF
    MOVC #10  R5
C3: MOV  R0   X3          ; #0000 TO X3 (#30-3F)
    ADDC #01  R3
    SOB  R5    C3
    MOD8 #FF              ; PRESET TEST NUMBER
    MOVC #00  R4          ; 64 BYTES
    MOVC #00  R5          ; CLEAR TXDATA#
    MOVC #04  R2          ; E-A LTU TRANSMIT DATA
    JMP        C4
C5: ADDC #40  R1          ; NEXT CH#
C4: MOV  R5   R0          ;
    XTR  R0    2          ; ISOLATE DATA#
    MOV  R1   R3          ;
    SRL  R3    6          ; ISOLATE CH# AND
    SLL  R3    2          ; SHIFT TO BIT 2,3
    ADD  R0   R3          ; ADD 4XCH#+DATA#
    ADDC #20  R3          ; BASE REL. #20 - #2F
    MOD8 #02              ;
    SIO  R0   R1          ; GET STATUS
    SBZ  R0    5          ; IF ERROR ON CHAR TIME
    JMPI S6   ERR         ; THEN JUMP TO ERROR
    SBN  R0    4          ; IF TXBUF EMPTY = 0
    JMP        C6         ; THEN NEXT CH#
    MOD8 #01
    ADDC #00  R4          ; COUNT DATA BYTES
    JOZ  R4    B4         ; FINISH !!! 256 DATA BYTES
    MOD8 #08              ; ELSE
    CIO  X3   R1          ; TXDATA
    MOVC #00  R0
    MOV  R0   X3          ; CLEAR DATA BUFF.
    MOV  R5   R0          ;
    ADDC #01  R0          ; INCREMENT DATA#
    XTR  R0    2          ; MOD 4
    SRL  R5    2
    SLL  R5    2          ; CLEAR BIT 0,1
    ADD  R0   R5
C6: SLC  R5    2          ; SHIFT DATA# CYCLIC
    MOD8 #02              ; E-A LTU RECEIVE DATA
    SIO  R0   R1          ; READ STATUS
    SBN  R0    2          ; TEST PAR. ERR.
    SBZ  R0    3          ; TEST FRA. ERR.
    JMPI S6   ERR
    XTR  R0    2          ; ISOLATE STATUS BIT 0,1
    MOV  R1   R3          ;
    SRL  R3    6          ; ISOLATE CH# AND
    SLL  R3    2          ; SHIFT TO BIT 2,3
    ADD  R0   R3          ; ADD 4XCH#+DATA#
    ADDC #20  R3          ; BASE REL. #20 - #2F
    JON  X3    C7         ; IF RXBUFF EMPTY THEN NEXT CH#
    MOD8 #04              ; ELSE
    SIO  R0   R1          ; READ RXBUFF
    SBN  R0    7          ; TEST DATA READY
    JMP        C7         ; IF NOT READY THEN NEXT CH#
    XTR  R0    7          ; REMOVE UB DATA
    MOD8 #01
    ADDC #00  R4          ; COUNT DATA BYTES
    JOZ  R4    B4         ; FINISH !!! 256 DATA BYTES
    ADD  R4   R0          ;
    MOV  R0   X3          ; RX DATA TO DATA BUFF.
    MOVC #00  R0
    MOD8 #04
    CIO  R0   R1          ; CLEAR RX BUFF.
C7: SOB  R2    C5
    STC  1                ; SAVE MODUL#
    MOVC #03  R1          ; I-A LTU MODUL #03.
    MOVC #04  R2          ; I-A LTU TRANSMIT DATA
    JMP        C8
C9: ADDC #40  R1          ; NEXT CH#
C8: MOV  R5   R0          ;
    XTR  R0    2          ; ISOLATE DATA#
    MOV  R1   R3          ;
    SRL  R3    6          ; ISOLATE CH# AND
    SLL  R3    2          ; SHIFT TO BIT 2,3
    ADD  R0   R3          ; ADD 4XCH#+DATA#
    ADDC #30  R3          ; BASE REL. #30 - #3F
    MOD8 #02              ;
    SIO  R0   R1          ; GET STATUS
    SBZ  R0    5          ; IF ERROR ON CHAR TIME
    JMPI S6   ERR         ; THEN JUMP TO ERROR
    SBN  R0    4          ; IF TXBUF EMPTY = 0
    JMP       C10         ; THEN NEXT CH#
    MOD8 #01
    ADDC #00  R4          ; COUNT DATA BYTES
    JOZ  R4    B4         ; FINISH !!! 256 DATA BYTES
    MOD8 #08              ; ELSE
    CIO  X3   R1          ; TXDATA
    MOVC #00  R0
    MOV  R0   X3          ; CLEAR DATA BUFF.
    MOV  R5   R0          ;
    ADDC #01  R0          ; INCREMENT DATA#
    XTR  R0    2          ; MOD 4
    SRL  R5    2
    SLL  R5    2          ; CLEAR BIT 0,1
    ADD  R0   R5
C10:SLC  R5    2          ; SHIFT DATA# CYCLIC
    MOD8 #02              ; I-A LTU RECEIVE DATA
    SIO  R0   R1          ; READ STATUS
    SBN  R0    2          ; TEST PAR. ERR.
    SBZ  R0    3          ; TEST FRA. ERR.
    JMPI S6   ERR
    XTR  R0    2          ; ISOLATE STATUS BIT 0,1
    MOV  R1   R3          ;
    SRL  R3    6          ; ISOLATE CH# AND
    SLL  R3    2          ; SHIFT TO BIT 2,3
    ADD  R0   R3          ; ADD 4XCH#+DATA#
    ADDC #30  R3          ; BASE REL. #30 - #3F
    JON  X3   C11         ; IF RXBUFF EMPTY THEN NEXT CH#
    MOD8 #04              ; ELSE
    SIO  R0   R1          ; READ RXBUFF
    SBN  R0    7          ; TEST DATA READY
    JMP       C11         ; IF NOT READY THEN NEXT CH#
    XTR  R0    7          ; REMOVE UB DATA
    MOD8 #01
    ADDC #00  R4          ; COUNT DATA BYTES
    JOZ  R4    B4         ; FINISH !!! 256 DATA BYTES
    ADD  R4   R0          ;
    MOV  R0   X3          ; RX DATA TO DATA BUFF.
    MOVC #00  R0
    MOD8 #04
    CIO  R0   R1          ; CLEAR RX BUFF.
C11:SOB  R2    C9
    STC  1
    UNS                   ; RELOAD MODUL#