From 26c6e4faa239ee8b30565780199be00d228305ef Mon Sep 17 00:00:00 2001 From: Adam Sampson Date: Tue, 25 Aug 2020 02:54:01 +0100 Subject: [PATCH] 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. --- src/mudsys/{fopen.35 => fopen.36} | 2 +- src/mudsys/{initm.371 => initm.372} | 8 +++++++- src/mudsys/{interr.419 => interr.420} | 3 ++- src/mudsys/{ldgc.100 => ldgc.101} | 2 ++ src/mudsys/{main.350 => main.351} | 2 +- src/mudsys/{mappur.146 => mappur.147} | 6 +++++- src/mudsys/{muddle.346 => muddle.347} | 2 +- src/mudsys/{mudsqu.28 => mudsqu.29} | 1 + src/mudsys/{nfree.53 => nfree.54} | 5 +++-- src/mudsys/{specs.110 => specs.111} | 4 +++- src/mudsys/{utilit.103 => utilit.104} | 4 +++- src/mudsys/{uuoh.179 => uuoh.180} | 20 ++++++++++++-------- 12 files changed, 41 insertions(+), 18 deletions(-) rename src/mudsys/{fopen.35 => fopen.36} (99%) rename src/mudsys/{initm.371 => initm.372} (99%) rename src/mudsys/{interr.419 => interr.420} (99%) rename src/mudsys/{ldgc.100 => ldgc.101} (99%) rename src/mudsys/{main.350 => main.351} (99%) rename src/mudsys/{mappur.146 => mappur.147} (99%) rename src/mudsys/{muddle.346 => muddle.347} (99%) rename src/mudsys/{mudsqu.28 => mudsqu.29} (99%) rename src/mudsys/{nfree.53 => nfree.54} (98%) rename src/mudsys/{specs.110 => specs.111} (97%) rename src/mudsys/{utilit.103 => utilit.104} (99%) rename src/mudsys/{uuoh.179 => uuoh.180} (99%) diff --git a/src/mudsys/fopen.35 b/src/mudsys/fopen.36 similarity index 99% rename from src/mudsys/fopen.35 rename to src/mudsys/fopen.36 index 5c9c32a2..ffbee311 100644 --- a/src/mudsys/fopen.35 +++ b/src/mudsys/fopen.36 @@ -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 diff --git a/src/mudsys/initm.371 b/src/mudsys/initm.372 similarity index 99% rename from src/mudsys/initm.371 rename to src/mudsys/initm.372 index 1134e595..bd8c5293 100644 --- a/src/mudsys/initm.371 +++ b/src/mudsys/initm.372 @@ -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 diff --git a/src/mudsys/interr.419 b/src/mudsys/interr.420 similarity index 99% rename from src/mudsys/interr.419 rename to src/mudsys/interr.420 index 5473cabf..1635a433 100644 --- a/src/mudsys/interr.419 +++ b/src/mudsys/interr.420 @@ -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: diff --git a/src/mudsys/ldgc.100 b/src/mudsys/ldgc.101 similarity index 99% rename from src/mudsys/ldgc.100 rename to src/mudsys/ldgc.101 index d2f1c6a5..a0cc596a 100644 --- a/src/mudsys/ldgc.100 +++ b/src/mudsys/ldgc.101 @@ -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 diff --git a/src/mudsys/main.350 b/src/mudsys/main.351 similarity index 99% rename from src/mudsys/main.350 rename to src/mudsys/main.351 index 16369e5d..88b7b019 100644 --- a/src/mudsys/main.350 +++ b/src/mudsys/main.351 @@ -2023,7 +2023,7 @@ GCPDL: -GCPLNT,,GCPDL PURE -MUDSTR: ASCII /MUDDLE / +MUDSTR: ASCII /MUDDLE ‡¯ STRNG: -1 -1 -1 diff --git a/src/mudsys/mappur.146 b/src/mudsys/mappur.147 similarity index 99% rename from src/mudsys/mappur.146 rename to src/mudsys/mappur.147 index 3d0015ed..0cd8c0f7 100644 --- a/src/mudsys/mappur.146 +++ b/src/mudsys/mappur.147 @@ -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 diff --git a/src/mudsys/muddle.346 b/src/mudsys/muddle.347 similarity index 99% rename from src/mudsys/muddle.346 rename to src/mudsys/muddle.347 index b52d7f62..cb732d57 100644 --- a/src/mudsys/muddle.346 +++ b/src/mudsys/muddle.347 @@ -335,7 +335,7 @@ NIL"=0 ;END OF LIST MARKER IF1 [ DEFINE SYSQ - ITS==0 + ITS==1 ; IFE <<<.AFNM1>_-24.>->,ITS==0 IFN ITS,[PRINTC /ITS VERSION /] diff --git a/src/mudsys/mudsqu.28 b/src/mudsys/mudsqu.29 similarity index 99% rename from src/mudsys/mudsqu.28 rename to src/mudsys/mudsqu.29 index 17253f61..92e15ad1 100644 --- a/src/mudsys/mudsqu.28 +++ b/src/mudsys/mudsqu.29 @@ -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) diff --git a/src/mudsys/nfree.53 b/src/mudsys/nfree.54 similarity index 98% rename from src/mudsys/nfree.53 rename to src/mudsys/nfree.54 index be431d4f..ce310157 100644 --- a/src/mudsys/nfree.53 +++ b/src/mudsys/nfree.54 @@ -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 diff --git a/src/mudsys/specs.110 b/src/mudsys/specs.111 similarity index 97% rename from src/mudsys/specs.110 rename to src/mudsys/specs.111 index 9e0d177b..838608b8 100644 --- a/src/mudsys/specs.110 +++ b/src/mudsys/specs.111 @@ -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 ] diff --git a/src/mudsys/utilit.103 b/src/mudsys/utilit.104 similarity index 99% rename from src/mudsys/utilit.103 rename to src/mudsys/utilit.104 index 43c3e0bf..45874ec3 100644 --- a/src/mudsys/utilit.103 +++ b/src/mudsys/utilit.104 @@ -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 diff --git a/src/mudsys/uuoh.179 b/src/mudsys/uuoh.180 similarity index 99% rename from src/mudsys/uuoh.179 rename to src/mudsys/uuoh.180 index 93617034..d87d3338 100644 --- a/src/mudsys/uuoh.179 +++ b/src/mudsys/uuoh.180 @@ -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