mirror of
https://github.com/PDP-10/its.git
synced 2026-01-13 07:19:57 +00:00
FAILSA - read TOPS-10 FAILSAFE tapes.
This commit is contained in:
parent
7674d4b35a
commit
5ccac7f47d
@ -353,6 +353,10 @@ expect ":KILL"
|
||||
respond "*" ":midas moon; ts jedgar_moon; jedgar\r"
|
||||
expect ":KILL"
|
||||
|
||||
# failsa
|
||||
respond "*" ":midas moon;_failsa\r"
|
||||
expect ":KILL"
|
||||
|
||||
# ports
|
||||
respond "*" ":midas sys2;ts ports_sysen2;ports\r"
|
||||
expect ":KILL"
|
||||
|
||||
@ -103,6 +103,7 @@
|
||||
- EXPN/VRFY, query remote SMTP server.
|
||||
- FACTOR, factor integers.
|
||||
- FAIL, assembler from SAIL.
|
||||
- FAILSA, read FAILSAFE tapes.
|
||||
- FCDEV, talk to LispM file server.
|
||||
- FDIR, fast directory listing.
|
||||
- FED, font editor.
|
||||
|
||||
119
src/moon/failsa.9
Normal file
119
src/moon/failsa.9
Normal file
@ -0,0 +1,119 @@
|
||||
TITLE FAILSAFE READER
|
||||
|
||||
.MLLIT==1
|
||||
|
||||
A=1
|
||||
B=2
|
||||
C=3
|
||||
D=4
|
||||
E=5
|
||||
T=6
|
||||
TT=7
|
||||
I=10
|
||||
J=11
|
||||
Q=12
|
||||
P=17
|
||||
|
||||
MTIC=13
|
||||
DKOC=14
|
||||
TYOC=15
|
||||
|
||||
PDL: -40,,.
|
||||
BLOCK 40
|
||||
|
||||
SNM: SIXBIT/REV.7/ ;SNAME TO READ INTO
|
||||
|
||||
MTO: .BII,,'MT0
|
||||
|
||||
DKO: .BIO,,'DSK
|
||||
FN1: 0
|
||||
FN2: 0
|
||||
|
||||
GO: MOVE P,PDL
|
||||
.OPEN TYOC,[.UAO,,'TTY]
|
||||
.VALUE
|
||||
MOVE TT,[.FNAM1]
|
||||
PUSHJ P,SIXTYO
|
||||
.IOT TYOC,[".]
|
||||
MOVE TT,[.FNAM2]
|
||||
PUSHJ P,SIXTYO
|
||||
PUSHJ P,CRLF
|
||||
.SUSET [.SSNAME,,SNM]
|
||||
.OPEN MTIC,MTO ;SKIP FIRST TWO FILES
|
||||
.VALUE
|
||||
HRROI TT,BUF
|
||||
.IOT MTIC,TT
|
||||
.OPEN MTIC,MTO
|
||||
.VALUE
|
||||
HRROI TT,BUF
|
||||
.IOT MTIC,TT
|
||||
.OPEN MTIC,MTO ;THIRD FILE IS WHOLE TAPE
|
||||
.VALUE
|
||||
NXF: MOVE TT,[-43,,BUF] ;READ HEADER
|
||||
.IOT MTIC,TT
|
||||
JUMPL TT,EOT
|
||||
SKIPL Q,BUF
|
||||
.VALUE
|
||||
MOVEI Q,-42(Q) ;NUMBER OF DATA WORDS IN THIS RECORD
|
||||
MOVE TT,BUF+4
|
||||
MOVEM TT,FN1
|
||||
PUSHJ P,SIXTYO
|
||||
.IOT TYOC,[" ]
|
||||
HLLZ TT,BUF+5
|
||||
MOVEM TT,FN2
|
||||
PUSHJ P,SIXTYO
|
||||
MOVE E,BUF+7 ;LENGTH
|
||||
CAMGE E,Q
|
||||
.VALUE ;SCREWED UP
|
||||
.OPEN DKOC,DKO
|
||||
.VALUE
|
||||
.CALL [ SETZ ;DON'T BOTHER IDUMPING
|
||||
'SDMPBT
|
||||
MOVEI DKOC
|
||||
SETZI 1 ]
|
||||
JFCL
|
||||
RFL: JUMPN Q,EOR
|
||||
HRROI TT,Q ;GOBBLE HEADER OF NEXT RECORD
|
||||
.IOT MTIC,TT
|
||||
JUMPGE Q,EOR
|
||||
.VALUE ;UNEXPECTED HEADER
|
||||
EOR: MOVEI D,LBUF
|
||||
CAIGE E,LBUF
|
||||
MOVE D,E ;D HAS NUMBER OF WORDS TO READ FROM FILE
|
||||
CAMGE Q,D ;DON'T TAKE MORE THAN IN RECORD
|
||||
MOVE D,Q
|
||||
SUB E,D
|
||||
SUB Q,D
|
||||
MOVNS D,D
|
||||
MOVSS D,D
|
||||
HRRI D,BUF
|
||||
MOVE C,D
|
||||
.IOT MTIC,D
|
||||
SKIPGE D
|
||||
.VALUE
|
||||
.IOT DKOC,C
|
||||
JUMPN E,RFL
|
||||
.CLOSE DKOC,
|
||||
PUSHJ P,CRLF
|
||||
JRST NXF
|
||||
|
||||
EOT: MOVE TT,[SIXBIT/E-O-T/]
|
||||
PUSHJ P,SIXTYO
|
||||
.BREAK 16,160000
|
||||
|
||||
CRLF: .IOT TYOC,[15]
|
||||
CPOPJ: POPJ P,
|
||||
|
||||
SIXTYO: MOVEI T,0
|
||||
LSHC T,6
|
||||
ADDI T,40
|
||||
.IOT TYOC,T
|
||||
JUMPN TT,SIXTYO
|
||||
POPJ P,
|
||||
|
||||
LBUF==200
|
||||
BUF: BLOCK LBUF
|
||||
BUFP: -LBUF,,BUF
|
||||
|
||||
END GO
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user