1
0
mirror of https://github.com/PDP-10/its.git synced 2026-04-07 14:23:52 +00:00

ITS 776 reconstruction.

From BACKUP; ITS COPY binary backed up 1973-06-15, ASMDAT = 721222.
ITSDIN 5 was reconstructed from ITSDIN 6, timestamp 1973-02-24.

To get the exact binary, it needs to be assembled with IMP 98 (same as
99?), MTAPE 136, ITSUTP 6, MDSK 1, and ITSDIN 5.  Then apply PATCH
776.
This commit is contained in:
Lars Brinkhoff
2019-08-22 10:45:21 +02:00
parent 994455989e
commit 0d703f1236
3 changed files with 31198 additions and 0 deletions

114
src/mlsys/itsdin.5 Normal file
View File

@@ -0,0 +1,114 @@
QINTE: CONI DPC,TT ;GET CONDITIONS
DATAI DPC,R
CONO DPC,175700+DSKCHN ;RESET CONDITIONS
MOVEM TT,QERST
CONSZ DPC,20 ;WAIT FOR UNBUSY
JRST 4,.-1
MOVE E,QCHPRG
TRNE TT,20000 ;OVERRUN
JRST QOVR
TRNE TT,2000 ;NOT READY
JRST QNRDY
TDNE TT,[12010700] ;BITS 14,16,23,27-29 ARE LOSERS
JRST 4,.
TLNE TT,5 ;WD OR SECTOR PARITY ERROR
JRST QDE
TRNE TT,1000 ;WRITE LOCKED
JRST QIRWRE
TRNE TT,40000 ;SEARCH FAILED
JRST QHE
TRNN TT,100000 ;POWER FAILURE
JRST QINTE1
CONSZ DPC,100000 ;TRY IT AGAIN
JRST 4,.-1
JRST QHE
QINTE1: TLNE R,10 ;FILE UNSAFE
JRST 4,. ;NEED OPERATOR INTERVENTION
TLNE R,4
JRST 4,. ;NO SUCH DRIVE
TLNE R,100 ;POSITION FAILURE
JRST QHE
AOS NQSE ;SPURIOUS ERROR
JRST QINTX ;IGNORE
QIRWRE: JRST 4,. ;IRRECOVERABLE WRITE ERROR
QNRDY: LDB Q,[410300,,R] ;WHICH DPC
SKIPN QSEEK(Q)
SKIPGE QRCAL(Q) ;NOT SEEKING OR RECALIBRATING IS ERROR
JRST QINTN2
JRST 4,.
QINTAT: CONI DPC,QERST
SETZM QSEEK(Q)
DATAO DPC,QATTNS(Q) ;CLEAR ATTNS
DATAI DPC,E
TLNN E,40
JRST QREC
SETZM QRCAL(Q)
LDB E,[311000,,E]
MOVEM E,QPOS(Q) ;REMEMBER WHERE IT IS AT
JRST QINT ;TRY AGAIN
QINT: AOS QGTBZY
MOVEM TT,QCST
TDNE TT,[17377700] ;ANY ERRORS?
JRST QINTE
QINTN2: DATAI DPC,R
SKIPGE QSDU ;DONT CLOB CMD BUF TO CLR ATTS DURING DATA XFER
TRNN R,776 ;ANY ATTNS
JRST QINTA ;NO
FINDQ: LDB I,[11000,,R] ;YES,FIND WHICH DRIVE
JFFO I,.+1 ;CLOBBERS Q
SUBI Q,28.
JRST QINTAT
QINTA: SKIPGE Q,QSDU
JRST QINT1 ;NOT EXPECTING DATA COMPLETION
CONSO DPC,400000
CONSO DPC,10
JRST DSKEX
CONSZ DPC,20
JRST 4,.-1 ;BUSY?
JRST QINTA1 QINT6A: IORI T,7000+ICWA ;DON'T STOP FOR PARITY ERRORS (PLUS INITIAL CHNL ADR)
MOVEM T,QCHPRG
DPB Q,[DUNFLD+QCHPRG]
HLLZS QICWA
DPB R,[121000,,QICWA]
SOS TT,QICWA
MOVE E,QSGL(C)
PUSHJ P,QPOSR
IORB E,QCHPRG
SETOM QSLDD(C)
QOVR: CONSZ DPC,20
JRST QOVR
CONO DPC,175700+DSKCHN
MOVEI TT,QICWA
HRRZM TT,ICWA
LDB TT,[DCYL E]
CAME TT,QPOS(Q)
JRST DSKEX ;DONT DO ANYTHING IF NOT WHERE YOU SHOULD BE
SETZM ICWA+1
DATAO DPC,QCHPRG ;ENTRY ON OVERRUN
MOVE A,TIME
MOVEM A,LQTM
MOVEM Q,QSDU
QINTX: JRST DSKEX
QPOSR: CAIL E,NBLKS
JRST 4,.
MOVEI D,0
IDIVI E,NBLKSC
DPB E,[DCYL+D]
MOVEM E,QSPPS(Q)
MOVE E,TT
IMULI E,NSSECS
IDIVI E,NHSECS
DPB E,[DSURF+D]
DPB TT,[DSECT+D]
DPB Q,[DUNFLD+D]
MOVE E,D
POPJ P,


31074
src/syseng/its.776 Normal file

File diff suppressed because it is too large Load Diff

10
src/syseng/patch.776 Normal file
View File

@@ -0,0 +1,10 @@
ncblk0/ jrst patch
patch/ movei w,e ldb c,102710 jrst 36335
143 patch:
cinet/ jrst patch
patch/ cono pi,clkoff hrrz a,imsoc1-nfnetc(q) jumpe a,.+2 jrst cinet+1 skipe imsoc6-nfnetc(q) jrst 4,. cono pi,clkon jrst cosio4
uql5a+25/ movei tt,73. skipn i
60/ 62 0 0 777774202554 777604000000 0