1
0
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:
Adam Sampson
2020-08-25 02:54:01 +01:00
committed by Adam Sampson
parent a7399d0f9a
commit 26c6e4faa2
12 changed files with 41 additions and 18 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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:

View File

@@ -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

View File

@@ -2023,7 +2023,7 @@ GCPDL: -GCPLNT,,GCPDL
PURE
MUDSTR: ASCII /MUDDLE /
MUDSTR: ASCII /MUDDLE ‡Ż
STRNG: -1
-1
-1

View File

@@ -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

View File

@@ -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
/]

View File

@@ -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)

View File

@@ -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

View File

@@ -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
]

View File

@@ -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

View File

@@ -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