X-Git-Url: http://gitweb.hachti.de/?a=blobdiff_plain;f=sw%2Fos8%2Fv3d%2Fsources%2Fsystem%2Fdectapes%2Fdectape1%2FRK08NS.PA;fp=sw%2Fos8%2Fv3d%2Fsources%2Fsystem%2Fdectapes%2Fdectape1%2FRK08NS.PA;h=e8d82fb4750b65b739566b05751883dae778cfa4;hb=7af5ad59491ddf2066641aef1e0025a337c0f247;hp=0000000000000000000000000000000000000000;hpb=919757fd611e482003ce51f366f6783cab73dea3;p=pdp8.git diff --git a/sw/os8/v3d/sources/system/dectapes/dectape1/RK08NS.PA b/sw/os8/v3d/sources/system/dectapes/dectape1/RK08NS.PA new file mode 100644 index 0000000..e8d82fb --- /dev/null +++ b/sw/os8/v3d/sources/system/dectapes/dectape1/RK08NS.PA @@ -0,0 +1,197 @@ +/3 RK8 NON SYSTEM HANDLER +/ +/ +/ +/ +/ +/ +/ +/ +/ +/COPYRIGHT (C) 1974,1975,1977 BY DIGITAL EQUIPMENT CORPORATION +/ +/ +/ +/ +/ +/ +/ +/ +/ +/ +/THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE +/AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT +/CORPORATION. DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY +/FOR ANY ERRORS THAT MAY APPEAR IN THIS DOCUMENT. +/ +/THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FURNISHED TO THE PURCHASER +/UNDER A LICENSE FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED +/(WITH INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH +/SYSTEM, EXCEPT AS MAY OTHERWISE BE PROVIDED IN WRITING BY DIGITAL. +/ +/DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR THE USE +/OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY +/DIGITAL. +/ +/ +/ +/ +/ +/ +/ +/ +/ +/ + *0 + -4 + +DEVICE RK01;DEVICE RKA0;4050;20;ZBLOCK 2 +DEVICE RK01;DEVICE RKA1;4050;21;ZBLOCK 2 +DEVICE RK01;DEVICE RKA2;4050;22;ZBLOCK 2 +DEVICE RK01;DEVICE RKA3;4050;23;ZBLOCK 2 + + DLDC=6732 + DCLS=6742 + DRDS=6741 + DSKD=6745 + DSKE=6747 + DCLA=6751 + DLWC=6753 + DLCA=6755 + DLDR=6733 + + RKVERSION="A&77 + +/V3 CHANGES: + +/1. VERSION # IS NOW 1 +/2. A FULL 4K READ OR WRITE IS NOW LEGAL + + *200 +/THE ENTRY POINTS FOR RK8 ARE SET AT 20-23. VITAL!! + +RLOC, 0 /FOR BUFFER ADDRESS +RREC, 0 /HOLDS RECORD NO. +R76, 76 +RDLDR, DLDR +RKANO, 0 +RKAISZ, ISZ RKANO +RBLKCT, 0 /HOLDS TOTAL WORD COUNT +RERRCT, 0 /# ERROR TRIES +R177, 177 +R40, 40 +RM3, -3 +R400, 400 +R7400, 7400 +RKA, 0 /HOLDS ARGUMENT ADDRESS +R34, 34 +RZERO, RKVERSION + IFNZRO .-220 +RKA0, ISZ RKANO +RKA1, ISZ RKANO +RKA2, ISZ RKANO +RKA3, ISZ RKANO +R7600, 7600 + TAD RM3 + DCA RERRCT /3 TRIES ON ERROR + TAD RKANO /THIS CODE RESTORES THE ISZ RKANO + CMA /WHICH WAS DESTROYED IN THE CALL + TAD RKATAD + DCA RFUNCT + CLA CLL CML RTR + TAD RFUNCT /FORM DCA RKAN,WHERE RKAN WAS CALLED + DCA RKADCA + RDF + TAD RCDIF /RESTORE TO PROPER FIELD + DCA REXIT +RFUNCT, HLT /CONTAINS TAD RKAN WHEN EXECUTED + DCA RKA /SO WE SAVE ADDRESS OF ARGUMENTS + TAD RKAISZ /AND NOW RESTORE THE ISZ RKANO +RKADCA, HLT + TAD I RKA /FUNCTION WORD + DCA RFUNCT + ISZ RKA + CLA CMA /BUFFER ADDRESS -1 + TAD I RKA + DCA RLOC + ISZ RKA + TAD I RKA /RECORD NUMBER + DCA RREC + TAD RFUNCT /NOW FORM RK8 IOT FROM FUNCTION. + CLL RAL /READ/WRITE TO LINK + AND R7600 /ISOLATE WORD COUNT + DCA RBLKCT + RTL /READ=6733,WRITE=6735 + TAD RDLDR + DCA RINST + RLOOP, TAD RLOC /LOAD CURRENT ADDRESS + DLCA + TAD RBLKCT /TEST WORD COUNT FOR SIZE. +RKATAD, TAD R7600 /FULL=256, HALF=128 + SZA CLA + TAD R7600 + TAD R7600 + DLWC /LOAD WORD COUNT + TAD RFUNCT /LOADING COMMAND WORD WITH FIELD + CMA RAR /AND DISK SELECTION + AND R34 + TAD RKANO + CMA RAL + AND R76 + DLDC + DCLS /CLEARS SELECT ERROR IF STILL UP + TAD RREC +RINST, HLT /GETS DISK IOT + DSKD /TEST COMPLETION FLAG + SKP CLA /NOT DONE YET + JMP RCTLC /DONE. CHECK FOR ^C + DSKE /IS ERROR UP? + JMP .-4 +RERROR, ISZ RERRCT /ERROR BUMP COUNT + JMP .+4 + DCA RKANO /IT'S ALL OVER. CLEAR FOR RECALL + CLA CLL CML RAR + JMP RETRN+1 /FATAL ERROR + DRDS /LOOK AT STSTUS + AND R40 /TRACK NOT FOUND BIT + ISZ RZERO /CARRY OVER FROM SYSTEM HANDLER + JMP .-1 + SNA CLA + JMP RLOOP /TRY AGAIN + DCLA /RECALIBRATE + DSKD + JMP .-1 + JMP RLOOP /AND TRY AGAIN + RNEXT, DSKE /TRANSFER DONE. IS ERROR UP? + SKP + JMP RERROR /YEP.TOUGH LUCK + ISZ RREC /BUMP RECORD NUMBER + TAD RLOC + TAD R400 /BUMP CURRENT ADDRESS + DCA RLOC + TAD RBLKCT /DONE WITH ALL TRANSFERS? + SNA + JMP RDONE /V3 0 OK HERE + CLL CML + TAD R7400 + SZL SNA + JMP RDONE + DCA RBLKCT /NO..UPDATE TOTAL WORD COUNT + JMP RLOOP /AND DO THE TRANSFER +RDONE, CLA + DCA RKANO /CLEAR FOR RECALL +RETRN, ISZ RKA + ISZ RKA +REXIT, HLT + JMP I RKA + +RCTLC, KRS /TEST FOR ^C IN KEYBOARD BUFFER + AND R177 /WITH THE FLAG UP + TAD RM3 + SNA CLA + KSF + JMP RNEXT /NO ^C, KEEP GOING +RCDIF, CIF CDF 0 + JMP I R7600 + $ +