*20 ///TU58 / /SUBROUTINES TO HANDLE THE TU58 TAPE / / JMP TUINIT / / JMP TUREAD / UNIT \ BLOCK / BANK / LOC / ERROR RETURN / NORMAL RETURN / / JMP TUWRIT / UNIT \ BLOCK / BANK / LOC / ERROR RETURN / NORMAL RETURN / / / THESE ROUTINES USE CHANNELS 40,41 / OF THE SLIM MULTIPLEXOR. / ALSO, THE SPECIAL EXEC "EXEC38U" / MUST BE USED IN ORDER TO ACHIEVE / FULL 8 BIT DATA TRANSFER TO/FROM / 12 BIT WORDS. / / A SINGLE BLOCK IS READ OR WRITTEN / AT A TIME. THE LOW 8 BITS OF 512. / 12 BIT WORDS ARE TRANSFERRED. EJECT / /SEND INIT (4) TO THE TU58 AND /WAIT FOR A CONTINUE (20). / TUINIT, LDA 0 STC TUINIX LDA I 4 JMP TUOUT / JMP TUIN SAE I 20 JMP .-3 TUINIX, JMP / EJECT /READ/WRITE ONE BLOCK / / JMP TUREAD/TUWRIT /ARG1 UNIT\BLOCK /ARG2 BANK /ARG3 LOC / ERR / SUC / TUWRIT, LDA I 1 SKP TUREAD, CLR ADA I 2 STC TUCMD / TURW, ADD 3 STC SV3 ADD 4 STC SV4 ADD 5 STC SV5 ADD 6 STC SV6 ADD 0 BCL I 6000 STC 3 / LDA I 5252 STC TUSWP LDA 3 SCR 11 STC TUNIT /UNIT LDA 3 BCL I 7400 STC TUBK0 LDA 3 BCL I 7377 SCR 10 STC TUBK1 /BLOCK NUM LDA I 3 BSE I LDF STC RF LDA I 3 ADA I -1 BSE I 2000 STC 4 /USER POINTER XSK I 3 /FIRST EXIT / JMP DOTU /ISSUE THE COMMAND / SET I 5 -4 /4 SETS OF 128 RF, LDF / LDA TUCMD SAE I 2 JMP TUWT /WRITING / /READING NR, JMP TUIN SAE I 1 JMP TUERR /ERROR JMP TUIN / SET I 6 -200 JMP TUIN STA I 4 XSK I 6 JMP .-3 / JMP TUIN JMP TUIN /CKSUM XSK I 5 JMP NR / /END PACKET NEXT EPKT, SET I 6 -4 JMP TUIN XSK I 6 JMP .-2 AZE /FLAG BYTE JMP TUERR SET I 6 -12 JMP TUIN XSK I 6 JMP .-2 JMP TUGUD EJECT /WRITNG TUWT, JMP TUIN SAE I 20 JMP TUERR / NW, CLR STC CS1 STC CS2 LDA I 1 JMP TUDAT LDA I 200 JMP TUDAT SET I 6 -200 / LDA I 4 JMP TUDAT XSK I 6 JMP .-3 / LDA I CS1, 0 JMP TUOUT LDA I CS2, 0 JMP TUOUT XSK I 5 JMP TUWT JMP EPKT / TUERR, SAE I 4 JMP TUX JMP TUINIT JMP TUX / TUGUD, XSK I 3 TUX, LDA 3 BSE I JMP STC TUGX LDA I SV3, 0 STC 3 LDA I SV4, 0 STC 4 LDA I SV5, 0 STC 5 LDA I SV6, 0 STC 6 TUGX, JMP EJECT /INPUT A CHARACTER FROM TU58 / TUIN, LDA 0 STC TUINX / OPR 11 40 -1 5 /THIS FIELD TUICHR JMP .-5 / OPR 1 40 NTUIN JMP .-3 / OPR 5 / NTUIN, LDA I TUICHR, 0 TUINX, JMP / / /SEND A CHAR TO TU58 / TUOUT, BCL I 7400 STC TUOCHR ADD 0 STC TUOUX / OPR 11 41 -1 5 /THIS FIELD TUOCHR JMP .-5 / TUOUX, JMP TUOCHR, 0 / / /SEND COMMAND PACKET TO TU58 / DOTU, LDA 0 STC DOTUX / SET I 5 CB-1 SET I 6 -14 STC CS1 STC CS2 / LDA I 5 JMP TUDAT XSK I 6 JMP .-3 / LDA CS1 JMP TUOUT LDA CS2 JMP TUOUT / DOTUX, JMP EJECT /COMPUTE CKSUM AND SEND THE CHAR / TUDAT, BCL I 7400 STC DCHR ADD 0 STC TUDAX / SRO I TUSWP, 5252 JMP SWP2 /FIRST LDA I DCHR, 0 SWP3, ADD CS1 STA I FC, 0 BCL I 7400 STC CS1 ADD FC SCR 10 BCL I 7776 ADM CS2 LDA DCHR JMP TUOUT /SEND CHAR TUDAX, JMP / SWP2, LDA DCHR ADD CS2 STA FC BCL I 7400 STC CS2 ADD FC SCR 10 BCL I 7776 JMP SWP3 EJECT / /COMMAND BUFFER / CB, 2 12 TUCMD, 0 0 TUNIT, 0 0 0 0 0 2 /COUNT=1000 TUBK0, 0 TUBK1, 0