mirror of
https://github.com/PDP-10/its.git
synced 2026-04-24 19:40:28 +00:00
57 lines
1.1 KiB
Plaintext
57 lines
1.1 KiB
Plaintext
;
|
|
; C10BOO - Bootstrapper Routine
|
|
;
|
|
; This file is ITS dependent.
|
|
;
|
|
TITLE BOOTSTRAP
|
|
.INSRT NC
|
|
.INSRT NM
|
|
|
|
LSTART==6 ; WHERE BOOTSTRAP LOADER WILL BE MOVED TO
|
|
LCHN==15 ; LOAD FILE CHANNEL
|
|
TCHN==16 ; TTY CHANNEL
|
|
|
|
CENTRY BOOTSTRAP,[FS]
|
|
|
|
MOVE C,FS
|
|
SYSCAL OPEN,[MOVSI 6?MOVEI LCHN?(C)?1(C)?2(C)?3(C)],LOSE
|
|
.SUSET [.ROPTI,,A] ; READ OPTION WORD
|
|
TLZ A,OPTOPC+OPTINT ; TURN OFF OLD PC ON MPV, IOC AND
|
|
; USE NEW INTERRUPT STACKING SCHEME
|
|
.SUSET [.SOPTI,,A] ; SET OPTION WORD
|
|
SETZM 42 ; DISABLE INTERRUPT HANDLING
|
|
SETZ A,
|
|
.SUSET [.SMASK,,A]
|
|
SETZM 41
|
|
|
|
.OPEN TCHN,[SIXBIT/ TTY/]
|
|
GO NOTTY
|
|
.CALL [SETZ ; TURN OFF ECHOING
|
|
'TTYSET
|
|
1000,,TCHN
|
|
[232222222222]
|
|
SETZ [230222220222]
|
|
]
|
|
JFCL
|
|
|
|
NOTTY: MOVE 0,[LOADER,,LSTART]
|
|
BLT 0,LSTART+LODLEN ; MOVE LOADER
|
|
JRST LSTART ; EXECUTE LOADER
|
|
LOSE: SETO A,
|
|
RETURN
|
|
|
|
;
|
|
; THE LOADING PROGRAM
|
|
;
|
|
|
|
LOADER:
|
|
.CALL [SETZ ? SIXBIT/LOAD/ ? MOVEI -1 ? SETZI LCHN]
|
|
.VALUE
|
|
.IOT LCHN,LSTART+5 ; READ STARTING ADDRESS
|
|
.CLOSE LCHN,
|
|
JRST @0 ; START PROGRAM
|
|
-1,,0 ; IOT POINTER
|
|
LODLEN==.-LOADER
|
|
|
|
END
|