mirror of
https://github.com/PDP-10/its.git
synced 2026-02-06 16:44:44 +00:00
74 lines
1.0 KiB
Groff
Executable File
74 lines
1.0 KiB
Groff
Executable File
TITLE 20XCSV
|
|
|
|
;Reads a 20X CSAVE file and writes an ITS bin file.
|
|
|
|
A=1
|
|
B=2
|
|
C=3
|
|
D=4
|
|
E=5
|
|
T=6
|
|
TT=7
|
|
|
|
P=17
|
|
|
|
DKIC=10
|
|
DKOC=11
|
|
|
|
PDL: -20,,.
|
|
BLOCK 21
|
|
|
|
JCL: BLOCK 10
|
|
|
|
GO: MOVE P,PDL
|
|
.BREAK 12,[5,,JCL]
|
|
MOVE A,[440700,,JCL]
|
|
MOVE D,[440600,,B]
|
|
MOVEI B,0
|
|
FNR: ILDB C,A
|
|
CAIG C,40
|
|
JRST FNR2
|
|
CAIGE C,140
|
|
SUBI C,40
|
|
TLNE D,770000
|
|
IDPB C,D
|
|
JRST FNR
|
|
|
|
FNR2: .CALL [ SETZ ? SIXBIT/OPEN/ ? [.BII,,DKIC] ? [SIXBIT/DSK/] ? B ? SETZ ['20XBIN] ]
|
|
.LOSE %LSFIL
|
|
.CALL [ SETZ ? SIXBIT/OPEN/ ? [.BIO,,DKOC] ? [SIXBIT/DSK/] ? B ? SETZ ['BIN,,] ]
|
|
.LOSE %LSFIL
|
|
HRROI T,[JRST 1] ;F A D?
|
|
.IOT DKOC,T
|
|
LP: HRROI T,TT
|
|
.IOT DKIC,T ;Get IOWD
|
|
JUMPL T,EOFERR
|
|
JUMPGE TT,SADR
|
|
ADDI TT,1 ;AOBJN pointer
|
|
MOVE B,TT
|
|
MOVE D,TT ;Accumulate checksum in D
|
|
HRROI T,TT
|
|
.IOT DKOC,T
|
|
LP1: HRROI T,TT
|
|
.IOT DKIC,T
|
|
JUMPL T,EOFERR
|
|
ROT D,1
|
|
ADD D,TT
|
|
HRROI T,TT
|
|
.IOT DKOC,T
|
|
AOBJN B,LP1
|
|
HRROI T,D
|
|
.IOT DKOC,T
|
|
JRST LP
|
|
|
|
EOFERR: .VALUE
|
|
|
|
SADR: HRROI T,TT ;Output start address twice, no symbols
|
|
.IOT DKOC,T
|
|
HRROI T,TT
|
|
.IOT DKOC,T
|
|
.CLOSE DKOC,
|
|
.LOGOUT 1,
|
|
|
|
END GO
|