mirror of
https://github.com/PDP-10/its.git
synced 2026-03-28 10:52:52 +00:00
TS LISPM and CADR.
This commit is contained in:
47
src/lmcons/cc.(init)
Normal file
47
src/lmcons/cc.(init)
Normal file
@@ -0,0 +1,47 @@
|
||||
(COMMENT SYMBOL 15000 LIST 140000 FIXNUM 50000) ;-*-LISP-*-
|
||||
|
||||
(PROGN
|
||||
(SETQ PURE 2) ;SUPPOSEDLY DOING THIS AND NEVER CALLING PURIFY
|
||||
;WILL CAUSE (SSTATUS UUOLINKS) TO WORK. WHAT A CROCK!
|
||||
(SETQ FOR-CADR NIL)
|
||||
|
||||
(DEFUN COMPLETE-LOAD ()
|
||||
(CURSORPOS 'C)
|
||||
(PRINT 'RESET-ALL-MEMORIES)
|
||||
(CC-REGISTER-DEPOSIT RARSET 0)
|
||||
(PRINT 'CC-CLEAR-CORE)
|
||||
(CC-CLEAR-CORE)
|
||||
(PRINT 'CC-LOAD-UCODE)
|
||||
(CC-LOAD-UCODE)
|
||||
(PRINT 'LOAD-COLD)
|
||||
(LOAD-COLD)
|
||||
(PRINT 'CC)
|
||||
(TERPRI)
|
||||
(CC))
|
||||
|
||||
(SSTATUS GCWHO 1)
|
||||
(SETQ CTALK-BARF-AT-WRITE-ERRORS T)
|
||||
(DEFPROP UNFASL (UNFASL FASL DSK LMCONS) AUTOLOAD)
|
||||
(DEFPROP TECO (LISPT FASL DSK LIBLSP) AUTOLOAD)
|
||||
(DEFPROP LEDIT (LEDIT FASL DSK LIBLSP) AUTOLOAD)
|
||||
(DEFPROP FLOAD (LEDIT FASL DSK LIBLSP) AUTOLOAD)
|
||||
(DEFPROP CLOAD (LEDIT FASL DSK LIBLSP) AUTOLOAD)
|
||||
(DEFPROP BS (BS FASL DSK LIBLSP) AUTOLOAD)
|
||||
(FASLOAD UTIL FASL DSK LISPM)
|
||||
(FASLOAD UTIL1 FASL DSK LISPM)
|
||||
(READFILE '(QCOM > DSK LISPM))
|
||||
(FASLOAD CC FASL DSK LMCONS)
|
||||
(FASLOAD CCLOW FASL DSK LMCONS)
|
||||
(CC-CONSOLE-INIT)
|
||||
(FASLOAD CLOAD FASL DSK LMCONS)
|
||||
(FASLOAD CCDISK FASL DSK LMCONS)
|
||||
(READFILE '(CL > DSK LMCONS))
|
||||
(FASLOAD QF FASL DSK LMCONS) ;turd has to be loaded after QCOM
|
||||
(TERPRI)
|
||||
)
|
||||
|
||||
(PROGN (CLOSE (PROG2 NIL INFILE (INPUSH -1)))
|
||||
(PRINC '|Loading microcode symbols.|)
|
||||
(CC-LOAD-UCODE-SYMBOLS)
|
||||
(TERPRI)
|
||||
(PDUMP))
|
||||
81
src/lmcons/ccd.(init)
Normal file
81
src/lmcons/ccd.(init)
Normal file
@@ -0,0 +1,81 @@
|
||||
(COMMENT SYMBOL 15000 LIST 140000 FIXNUM 50000) ;-*-LISP-*-
|
||||
|
||||
(PROGN
|
||||
(SETQ PURE 2) ;SUPPOSEDLY DOING THIS AND NEVER CALLING PURIFY
|
||||
;WILL CAUSE (SSTATUS UUOLINKS) TO WORK. WHAT A CROCK!
|
||||
(SETQ FOR-CADR T)
|
||||
|
||||
(DEFUN COMPLETE-LOAD ()
|
||||
(CURSORPOS 'C)
|
||||
(PRINT 'RESET-ALL-MEMORIES)
|
||||
(CC-REGISTER-DEPOSIT RARSET 0)
|
||||
(PRINT 'CC-CLEAR-CORE)
|
||||
(CC-CLEAR-CORE)
|
||||
(PRINT 'CC-LOAD-UCODE)
|
||||
(CC-LOAD-UCODE)
|
||||
(PRINT 'LOAD-COLD)
|
||||
(LOAD-COLD)
|
||||
(PRINT 'CC)
|
||||
(TERPRI)
|
||||
(CC))
|
||||
|
||||
(SETSYNTAX 43 'NORMAL 43) ;NEEDED TO LOAD MICROCODE SYMBOLS
|
||||
|
||||
(DEFUN RECORD-SOURCE-FILE-NAME (N) T)
|
||||
(DEFUN SPECIAL FEXPR (L) T)
|
||||
(DEFUN UNSPECIAL FEXPR (L) T)
|
||||
|
||||
;PREPARE FOR DUMPING
|
||||
(DEFUN PDUMP ()
|
||||
(CNSUSP)
|
||||
(SUSPEND '|:PDUMP LISPM1;TS CADR|)
|
||||
(CNSINI)
|
||||
(SETQ CC-FULL-SAVE-VALID NIL)
|
||||
(SETQ CC-PASSIVE-SAVE-VALID NIL)
|
||||
(SETQ CC-DISK-TYPE NIL)
|
||||
'READY)
|
||||
|
||||
(SSTATUS GCWHO 1)
|
||||
(SETQ CTALK-BARF-AT-WRITE-ERRORS T)
|
||||
(DEFPROP UNFASL (UNFASL FASL DSK LMCONS) AUTOLOAD)
|
||||
(DEFPROP TECO (LISPT FASL DSK LIBLSP) AUTOLOAD)
|
||||
(DEFPROP LEDIT (LEDIT FASL DSK LIBLSP) AUTOLOAD)
|
||||
(DEFPROP FLOAD (LEDIT FASL DSK LIBLSP) AUTOLOAD)
|
||||
(DEFPROP CLOAD (LEDIT FASL DSK LIBLSP) AUTOLOAD)
|
||||
(DEFPROP BS (BS FASL DSK LIBLSP) AUTOLOAD)
|
||||
(FASLOAD UTIL FASL DSK LISPM)
|
||||
(FASLOAD UTIL1 FASL DSK LISPM)
|
||||
(READFILE '(QCOM > DSK LISPM))
|
||||
(FASLOAD CCGSYL FASL DSK LMCONS)
|
||||
(FASLOAD CC FASL DSK LMCONS)
|
||||
(LOAD '((LMCONS)CADREG >)) ;NO OVERLAYING ANY MORE
|
||||
(LOAD '((LMCONS)CADRD FASL))
|
||||
;Don't bother with diagnostics in pdp10 version, they just take up space
|
||||
;Load them in by hand if you really want them.
|
||||
; (LOAD '((LMCONS)DPDIAG FASL))
|
||||
; (LOAD '((LMCONS)ADRTST FASL))
|
||||
; (LOAD '((LMCONS)SHFTST FASL))
|
||||
; (LOAD '((LMCONS)DSPTST FASL))
|
||||
(LOAD '((LMCONS)TDBG FASL))
|
||||
(LOAD '((LMCONS)ZERO FASL))
|
||||
(LOAD '((LMCONS)CADLD FASL))
|
||||
|
||||
(SORT '(1) 'LESSP) ;GET SORT INTO CORE
|
||||
(SSTATUS UUOLINKS) ;BECAUSE OF OVERLAYING
|
||||
(CC-CONSOLE-INIT)
|
||||
(LOAD '((LCADR)PACKED FASL))
|
||||
(FASLOAD CLOAD FASL DSK LCADR)
|
||||
(FASLOAD CCDISK FASL DSK LCADR)
|
||||
(FASLOAD CADTLK FASL DSK LCADR)
|
||||
(FASLOAD QF FASL DSK LCADR) ;turd has to be loaded after QCOM
|
||||
(TERPRI))
|
||||
|
||||
(PROGN (CLOSE (PROG2 NIL INFILE (INPUSH -1)))
|
||||
(PRINC '|Load microcode symbols for version:|)
|
||||
(APPLY 'CC-LOAD-UCODE-SYMBOLS
|
||||
(LIST '(LISPM1) 'UCADR (IMPLODE (NCONC ((LAMBDA (IBASE BASE *NOPOINT)
|
||||
(EXPLODEN (READ)))
|
||||
10. 10. T)
|
||||
'(S Y M)))))
|
||||
(TERPRI)
|
||||
(PDUMP))
|
||||
177
src/lmcons/lispm.10
Normal file
177
src/lmcons/lispm.10
Normal file
@@ -0,0 +1,177 @@
|
||||
TITLE LISP MACHINE CONSOLE PROGRAM LOADER
|
||||
|
||||
A=1
|
||||
B=2
|
||||
C=3
|
||||
D=4
|
||||
E=5
|
||||
T=6
|
||||
TT=7
|
||||
P=17
|
||||
|
||||
TYICH=11
|
||||
TYOCH=12
|
||||
|
||||
PDL: -20,,.
|
||||
BLOCK 20
|
||||
|
||||
XJNAME: 0
|
||||
|
||||
GO: MOVE P,PDL
|
||||
.OPEN TYICH,[.UAI,,'TTY]
|
||||
.LOSE 1400
|
||||
.OPEN TYOCH,[.UAO,,'TTY]
|
||||
.LOSE 1400
|
||||
.SUSET [.RXJNAME,,XJNAME]
|
||||
MOVE A,XJNAME
|
||||
CAME A,[SIXBIT/LISPM/]
|
||||
CAMN A,[SIXBIT/CADR/]
|
||||
CAIA
|
||||
.VALUE [ASCIZ/: UNRECOGNIZED XJNAME î/]
|
||||
MOVE A,[SQUOZE 0,MAXJ]
|
||||
.EVAL A,
|
||||
.LOSE
|
||||
SUBI A,1
|
||||
FJ: .CALL [ SETZ
|
||||
'USRVAR
|
||||
MOVEI %JSNUM(A)
|
||||
[SIXBIT/JNAME/]
|
||||
SETZM B ]
|
||||
JRST FJ1
|
||||
CAMN B,XJNAME
|
||||
JRST REOWNP
|
||||
FJ1: SOJG A,FJ
|
||||
NEWJOB: MOVE A,[SIXBIT/CADR/]
|
||||
CAME A,XJNAME
|
||||
MOVE A,[SIXBIT/CC/]
|
||||
.CALL [ SETZ
|
||||
SIXBIT/OPEN/
|
||||
[.UII,,17]
|
||||
[SIXBIT/DSK/]
|
||||
[SIXBIT/TS/]
|
||||
A
|
||||
SETZ [SIXBIT/LISPM1/]]
|
||||
JRST RELOAD
|
||||
CAMN A,[SIXBIT/CC/]
|
||||
.VALUE [ASCIZ\ :LOADING PDUMPED VERSION
|
||||
|
||||
:LOAD DSK:LISPM1;TS CC
|
||||
:GOî\]
|
||||
.VALUE [ASCIZ\ :LOADING PDUMPED VERSION
|
||||
|
||||
:LOAD DSK:LISPM1;TS CADR
|
||||
:GOî\]
|
||||
|
||||
|
||||
|
||||
RELOAD: CAMN A,[SIXBIT/CC/]
|
||||
.VALUE [ASCIZ\ :LOADING NEW VERSION FROM SCRATCH
|
||||
|
||||
:LOAD SYS:TS LISP
|
||||
:JCL LMCONS;CC (INIT)
|
||||
:GOî\]
|
||||
.VALUE [ASCIZ\ :LOADING NEW VERSION FROM SCRATCH
|
||||
|
||||
:LOAD SYS:TS LISP
|
||||
:JCL LMCONS;CCD (INIT)
|
||||
:GOî\]
|
||||
|
||||
REOWNP: .SUSET [.RUIND,,B]
|
||||
CAMN A,B
|
||||
JRST FJ1 ;robot
|
||||
.CALL [ SETZ
|
||||
'USRVAR
|
||||
MOVEI %JSNUM(A)
|
||||
[SIXBIT/APRC/]
|
||||
SETZM B ]
|
||||
JRST FJ1
|
||||
JUMPL B,REOWN2
|
||||
.CALL [ SETZ
|
||||
'USRVAR
|
||||
MOVEI %JSNUM(A)
|
||||
[SIXBIT/UNAME/]
|
||||
SETZM TT ]
|
||||
JRST FJ1
|
||||
PUSHJ P,SIXOUT
|
||||
MOVEI TT,[ASCIZ\ LISPM EXISTS AND ISN'T DISOWNED. CONTINUE?\]
|
||||
REOWN4: PUSHJ P,ASZOUT
|
||||
PUSHJ P,YORN
|
||||
.BREAK 16,160000
|
||||
JRST FJ1
|
||||
|
||||
REOWN2: .CALL [ SETZ
|
||||
'USRVAR
|
||||
MOVEI %JSNUM(A)
|
||||
[SIXBIT/UNAME/]
|
||||
SETZM C ]
|
||||
.LOSE 1000
|
||||
.CALL [ SETZ
|
||||
'USRVAR
|
||||
MOVEI %JSNUM(A)
|
||||
[SIXBIT/INTB/]
|
||||
SETZM TT ]
|
||||
.LOSE 1000
|
||||
JUMPGE TT,REOWN3 ;NOT TOP LEVEL
|
||||
MOVEI TT,[ASCIZ\REOWN \]
|
||||
PUSHJ P,ASZOUT
|
||||
MOVE TT,C
|
||||
PUSHJ P,SIXOUT
|
||||
.IOT TYOCH,[40]
|
||||
MOVE TT,XJNAME
|
||||
PUSHJ P,SIXOUT
|
||||
.IOT TYOCH,[77]
|
||||
PUSHJ P,YORN
|
||||
JRST FJ1
|
||||
MOVE TT,[IDPB T,E]
|
||||
MOVEM TT,SIXOUI
|
||||
MOVE TT,C
|
||||
MOVE E,[260700,,BAR]
|
||||
PUSHJ P,SIXOUT
|
||||
MOVE E,[440700,,BAZ]
|
||||
MOVE TT,XJNAME
|
||||
PUSHJ P,SIXOUT
|
||||
.VALUE FOO
|
||||
|
||||
FOO: ASCII\:KILL\
|
||||
ASCII\ :UJO\
|
||||
BAR: ASCII\B \
|
||||
ASCII\ \
|
||||
BAZ: ASCIZ\LISPM P\
|
||||
|
||||
REOWN3: MOVE TT,C
|
||||
PUSHJ P,SIXOUT
|
||||
.IOT TYOCH,[40]
|
||||
MOVE TT,XJNAME
|
||||
PUSHJ P,SIXOUT
|
||||
MOVEI TT,[ASCIZ/ IS PART OF A DISOWNED TREE. CONTINUE?/]
|
||||
JRST REOWN4
|
||||
|
||||
SIXOUT: SETZ T,
|
||||
LSHC T,6
|
||||
ADDI T,40
|
||||
SIXOUI: .IOT TYOCH,T ;PATCHED TO IDPB
|
||||
JUMPN TT,SIXOUT
|
||||
CPOPJ: POPJ P,
|
||||
|
||||
ASZOUT: HRLI TT,440700
|
||||
ASZOU1: ILDB T,TT
|
||||
JUMPE T,CPOPJ
|
||||
.IOT TYOCH,T
|
||||
JRST ASZOU1
|
||||
|
||||
YORN: .IOT TYICH,TT
|
||||
.IOT TYOCH,[^M]
|
||||
CAIE TT,"Y
|
||||
CAIN TT,"y
|
||||
JRST POPJ1
|
||||
CAIE TT,"N
|
||||
CAIN TT,"n
|
||||
POPJ P,
|
||||
MOVEI TT,[ASCIZ\[Y OR N] \]
|
||||
PUSHJ P,ASZOUT
|
||||
JRST YORN
|
||||
|
||||
POPJ1: AOS (P)
|
||||
POPJ P,
|
||||
|
||||
END GO
|
||||
Reference in New Issue
Block a user