1
0
mirror of https://github.com/PDP-10/its.git synced 2026-03-19 16:21:37 +00:00

ITS 768 reconstruction.

From .; @ OOITS binary backed up 1973-06-15, ASMDAT = 721007.
IMP 93 was reconstructed from IMP 99, timestamp XXX.

To get the exact binary, it needs to be assembled with IMP 93, MTAPE
135, ITSUTP 6, MDSK 1, and ITSDIN 4.  Then apply PATCH 768.
This commit is contained in:
Lars Brinkhoff
2019-08-25 08:24:25 +02:00
parent ad3714d8a8
commit 4303847c9f
4 changed files with 33653 additions and 0 deletions

114
src/mlsys/itsdin.4 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)
JRST 4,. ;NOT SEEKING IS ERROR
JRST QINTN2
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,


2987
src/syseng/imp.93 Normal file

File diff suppressed because it is too large Load Diff

30531
src/syseng/its.768 Normal file

File diff suppressed because it is too large Load Diff

21
src/syseng/patch.768 Normal file
View File

@@ -0,0 +1,21 @@
ncorts/ jrst patch
patch/ seto b, setz c, jrst ncorbl-1
143 patch:
bjuo2b+4/ jrst patch
patch/ movsi d,jbval+jbstr andcam d,jbwst(a) jrst bjuo2b+5
uhang1-1/ jrst patch+4
patch+4/ sos suuoh(u) jrst pclsr
sttyo4-1/ jrst patch+10
patch+10/ skipge ttysta(i) skipe ttnto(i) jrst sttyo5 hrrzm i,ustyn(u) jrst sttyo4
tyirs-1/ jrst patch+17
patch+17/ movei b,ttyi movem b,ttyipc(a) popj p,
qnrdy+1/ jrst patch+22
patch+22/ skipn qseek(q) skipge qrcal(q) jrst qintn2 jrst 4,.
60/ 62 0 0 -4,,202554 -174,, 0