mirror of
https://github.com/PDP-10/its.git
synced 2026-01-30 05:34:01 +00:00
Re-apply a subset of the ITS Muddle 56 fixes.
Most of these are the same as before. For UUOH, I've taken the fixed ITS conditionals from uuoh.mid.181 (16th March 1981). For MAPPUR, I've put the Tenex conditional around the whole of the segment-switching code since none of it is needed on ITS. Note in particular that the BOT patch is no longer needed -- this version of Muddle works happily with the pure region at 700000.
This commit is contained in:
committed by
Adam Sampson
parent
a7399d0f9a
commit
26c6e4faa2
@@ -2451,7 +2451,7 @@ CHNRNM: ADD AB,[2,,2] ; NEXT ARG
|
||||
CAMN A,[SIXBIT /PRINTB/]
|
||||
JRST CHNRN1
|
||||
CAMN A,[SIXBIT /PRINAO/]
|
||||
JRST CHNRM1
|
||||
JRST CHNRN1
|
||||
CAME A,[SIXBIT /PRINTO/]
|
||||
JRST WRONGD
|
||||
|
||||
@@ -883,10 +883,16 @@ CGBOUN,IIGLOC,MAKTU2,CIFLTZ,CIUPRS,SAT,TFA,WTYP,NAPT,PTYPE,APLQ,PURBOT,GCSBOT
|
||||
GLOTOP,TYPVEC,1STEPR,LSTRES,NODES,MAINPR,CVTYPE,CSPNAM,CSBSTR,INTBCK,CICRLF
|
||||
CERR1,CERR2,CERR3,CANDP,CORP,CSQUTA,CIMAGE,ATOSQ,CFILLE,CPRTYC,FMPOPJ
|
||||
TD.PUT,TD.GET,TD.LNT,CBYTES,MARK,MARK2G,TD.AGC,DSTORE,RCLV,NUMSAT,RMCALL,NPRFLG
|
||||
NSPOPJ,NFPOPJ,PURCLN,FRETOP,PURVEC,SWAPGC,NTTYPE,CLRSTR]
|
||||
NSPOPJ,NFPOPJ,PURCLN,FRETOP,PURVEC,SWAPGC]
|
||||
.GLOBAL A
|
||||
ADDSQU A
|
||||
TERMIN
|
||||
IFE ITS,[
|
||||
IRP A,,[NTTYPE,CLRSTR]
|
||||
.GLOBAL A
|
||||
ADDSQU A
|
||||
TERMIN
|
||||
]
|
||||
|
||||
VECRET
|
||||
|
||||
@@ -1020,6 +1020,7 @@ RETRLT: MOVE A,(AB)
|
||||
TIMERR: MOVNI A,1
|
||||
PUSHJ P,TGFALS
|
||||
JRST FINIS
|
||||
]
|
||||
|
||||
RLTPER: SKIPGE B,RLTSAV
|
||||
JRST IFALSE
|
||||
@@ -1575,7 +1576,7 @@ IFE ITS, PUSHJ P,TGFALS
|
||||
|
||||
DIRQ1: SUB TP,[6,,6]
|
||||
JRST DIRQ
|
||||
]
|
||||
|
||||
; HANDLE INFERIOR KNOCKING AT THE DOOR
|
||||
|
||||
HINF:
|
||||
@@ -481,6 +481,7 @@ ILDBLK: SIXBIT / &DSK/
|
||||
]
|
||||
|
||||
|
||||
IFE ITS,[
|
||||
NDEBUG: SETZM GCDEBU
|
||||
CAIA
|
||||
DEBUGC: SETOM GCDEBU
|
||||
@@ -489,6 +490,7 @@ DEBUGC: SETOM GCDEBU
|
||||
CLOSF
|
||||
JFCL
|
||||
POPJ P,
|
||||
]
|
||||
|
||||
IMPURE
|
||||
GCDEBU: 0
|
||||
@@ -2023,7 +2023,7 @@ GCPDL: -GCPLNT,,GCPDL
|
||||
|
||||
PURE
|
||||
|
||||
MUDSTR: ASCII /MUDDLE /
|
||||
MUDSTR: ASCII /MUDDLE ‡Ż
|
||||
STRNG: -1
|
||||
-1
|
||||
-1
|
||||
@@ -342,6 +342,7 @@ IFE ITS,[
|
||||
MOVEI C,0
|
||||
XJRST C ; good bye cruel segment (will work if we fell
|
||||
; into segment 0)
|
||||
]
|
||||
FIXMLT: ASH B,PGSHFT ; aobjn to program
|
||||
|
||||
FIX1: SKIPL E,(A) ; read one hopefully squoze
|
||||
@@ -557,8 +558,11 @@ IFE ITS,[
|
||||
MOVEM 0,P.TOP
|
||||
POPJ P,
|
||||
|
||||
EPOPJ: SKIPE MULTSG
|
||||
EPOPJ:
|
||||
IFE ITS,[
|
||||
SKIPE MULTSG
|
||||
POP P,E
|
||||
]
|
||||
POPJ P,
|
||||
IFE ITS,[
|
||||
GETPAX: TDZA B,B ; here if other segs ok
|
||||
@@ -335,7 +335,7 @@ NIL"=0 ;END OF LIST MARKER
|
||||
|
||||
IF1 [
|
||||
DEFINE SYSQ
|
||||
ITS==0
|
||||
ITS==1
|
||||
; IFE <<<.AFNM1>_-24.>-<SIXBIT / T./>>,ITS==0
|
||||
IFN ITS,[PRINTC /ITS VERSION
|
||||
/]
|
||||
@@ -78,6 +78,7 @@ ATOSQ: PUSH P,B
|
||||
IFE ITS,[
|
||||
SKIPE MULTSG
|
||||
PUSHJ P,@[.+1] ; RUN IN 0
|
||||
]
|
||||
MOVE A,SQUPNT ; GET TABLE POINTER
|
||||
MOVE B,[2,,2]
|
||||
CAMN E,1(A)
|
||||
@@ -4,11 +4,12 @@ TITLE MODIFIED AFREE FOR MUDDLE
|
||||
RELOCATABLE
|
||||
|
||||
.INSRT MUDDLE >
|
||||
SYSQ
|
||||
|
||||
.GLOBAL CAFREE,CAFRET,PARNEW,AGC,PARBOT,CODTOP,CAFRE1
|
||||
.GLOBAL STOGC,STOSTR,CAFRE,ISTOST,STOLST,SAT,ICONS,BYTDOP
|
||||
.GLOBAL FLIST,STORIC,GPURFL,GCDANG,PVSTOR,SPSTOR
|
||||
.GLOBAL %CLNCO
|
||||
IFE ITS,.GLOBAL %CLNCO
|
||||
|
||||
MFUNCTION FREEZE,SUBR
|
||||
|
||||
@@ -139,7 +140,7 @@ CLOOP: CAMG A,(C) ; skip if not big enough
|
||||
|
||||
CHAVIT: MOVE C,CODTOP
|
||||
MOVE E,PARBOT
|
||||
PUSHJ P,%CLNCO ; flush extra pages
|
||||
IFE ITS,PUSHJ P,%CLNCO ; flush extra pages
|
||||
MOVE E,PARBOT ; find amount obtained
|
||||
SUBI E,1 ; dont use a real pair
|
||||
MOVEI C,(E) ; for reset of CODTOP
|
||||
@@ -4,7 +4,7 @@ RELOCA
|
||||
|
||||
MAIN==1
|
||||
.GLOBAL TYPVLC,PBASE,TYPBOT,MAINPR,PTIME,IDPROC,ROOT,TTICHN,TTOCHN,TYPVEC
|
||||
.GLOBAL %UNAM,%JNAM,NOTTY,GCHAPN,INTHLD,PURBOT,PURTOP,N.CHNS,SPCCHK,CURFCN
|
||||
.GLOBAL %UNAM,%JNAM,%XUNA,%XJNA,NOTTY,GCHAPN,INTHLD,PURBOT,PURTOP,N.CHNS,SPCCHK,CURFCN
|
||||
.GLOBAL TD.GET,TD.PUT,TD.LNT,NOSHUF,GLOTOP,RSTACK,RCYCHN,START,TVSTRT,REALTV
|
||||
.GLOBAL IJFNS,IJFNS1,SJFNS,OPSYS,HASHTB,MULTSG,PURBTB,NSEGS
|
||||
|
||||
@@ -28,6 +28,8 @@ LOC100: JRST START
|
||||
IFN ITS,[
|
||||
%UNAM: 0 ; HOLDS UNAME
|
||||
%JNAM: 0 ; HOLDS JNAME
|
||||
%XUNA: 0 ; HOLDS XUNAME
|
||||
%XJNA: 0 ; HOLDS XJNAME
|
||||
OPSYS: -1 ; MINUS ONE (-1) IF ITS
|
||||
RLTSAV: -1 ; SAVED ARG TO REALTIMER
|
||||
]
|
||||
@@ -415,9 +415,11 @@ AGC1: SKIPE NPWRIT
|
||||
EXCH P,GCPDL
|
||||
SKIPE SWAPGC
|
||||
JRST IAMSGC
|
||||
IFE ITS,[
|
||||
SKIPN MULTSG
|
||||
JRST IAGC
|
||||
JRST ISECGC
|
||||
]
|
||||
JRST IAGC
|
||||
|
||||
AAGC: SETZM SWAPGC
|
||||
EXCH P,GCPDL
|
||||
@@ -192,18 +192,21 @@ STUPM1: MOVEI D,(M) ; GET OFFSET INTO CODE
|
||||
SKIPN M,1(M) ; POINT TO CORE IF LOADED
|
||||
AOJA TB,STUPM2 ; GO LOAD IT
|
||||
STUPM3: ADDI M,(D) ; POINT TO REAL THING
|
||||
IFN ITS, HRLI C,M
|
||||
IFN ITS,[
|
||||
HRLI C,M
|
||||
AOBJP TB,MCHK7
|
||||
INTGO
|
||||
MCHK7: JRST @C
|
||||
]
|
||||
IFE ITS,[
|
||||
AOBJP TB,MCHK7
|
||||
MCHK8: INTGO
|
||||
ADD C,M ; POINT TO START PC
|
||||
SKIPE MULTSG
|
||||
TLZ C,777400 ; KILL COUNT
|
||||
]
|
||||
AOBJP TB,MCHK7
|
||||
INTGO
|
||||
IFN ITS, JRST @C ; GO TO IT
|
||||
IFE ITS,[
|
||||
MCHK8: SKIPN MULTSG
|
||||
JRST (C)
|
||||
|
||||
SKIPN MULTSG
|
||||
JRST (C)
|
||||
MOVEI B,0 ; AVOID FLAG MUNG
|
||||
XJRST B ; EXTENDED JRST HACK
|
||||
|
||||
@@ -921,6 +924,7 @@ IFE ITS,[
|
||||
MOVE 0,UUOH
|
||||
SKIPE MULTSG
|
||||
MOVE 0,MLTPC
|
||||
]
|
||||
PUSH P,0
|
||||
ANDI 0,-1
|
||||
PUSH P,UUOLOC ; SAVE UUO
|
||||
Reference in New Issue
Block a user