COMBAT, MUDCOM, and bootstrapper.
[pdp10-muddle.git] / <sys.unsupported> / muddleboot.mid.5
diff --git a/<sys.unsupported>/muddleboot.mid.5 b/<sys.unsupported>/muddleboot.mid.5
new file mode 100644 (file)
index 0000000..fdd5b03
--- /dev/null
@@ -0,0 +1,60 @@
+TITLE SUBSYS -- Tops-20 Muddle Subsystem Bootstrapper
+
+       .DECSAV
+
+IF1,[  PRINTC /Type in Muddle version: /
+       .TTYMAC A
+       DEFINE MUDNAM
+         ASCIZ /PS:<MDL>MDL!A!.EXE/
+        TERMIN
+        TERMIN
+]
+
+       O=0
+       A=1
+       B=2
+       C=3
+       D=4
+       E=5
+
+       LOC     140
+
+START: TDZA    17,17
+        MOVEI  17,1
+       MOVSI   A,(GJ%OLD\GJ%SHT)
+       HRROI   B,[MUDNAM]
+       GTJFN
+        JRST   NOMDL
+       HRLI    A,400000
+       MOVE    BLTPTR,[LOADGO,,B]
+       BLT     BLTPTR,BLTPTR
+       JRST    B
+
+LOADGO:        GET                             ; LOAD INTERPRETER
+       MOVEI   A,400000
+       GEVEC                           ; CONS STARTING ADDRESS
+       ADD     B,17
+       MOVEI   17,0
+       JRST    (B)                     ; JRST TO START+1 IN INTERPRETER
+
+BLTPTR=.-LOADGO+1
+
+\f
+
+NOMDL: MOVE    B,A
+       HRROI   A,[ASCIZ /No Muddle Interpreter? (/]
+       PSOUT
+       HRROI   A,[MUDNAM]
+       PSOUT
+       HRROI   A,[ASCIZ /): /]
+       PSOUT
+       HRRZI   A,-1
+       HRLI    B,400000
+       MOVEI   C,0
+       ERSTR           ; PRINT ERROR
+        HALTF  ;UNDEFINED ERROR.
+        HALTF  ;CHOMPING DEST.
+        HALTF  ;WON.
+       JRST    .-1
+
+       END     START