DataMuseum.dkPresents historical artifacts from the history of: CR80 Hard and Floppy Disks |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CR80 Hard and Floppy Disks Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 5024 (0x13a0) Types: TextFile Names: »LTU.TDA«
└─⟦b8af24a88⟧ Bits:30005796 CR80 Disc Pack ( MINICAMPS ) └─ ⟦this⟧ »LTU.D!LTU.TDA«
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#