;3/9/84 STEVEN G. MCNAUGHTON & RICH EAKIN
; QUAKER STATE OIL CORP. RESEARCH CENTER
;
; THIS PROGRAM IS DESIGNED FOR THE AMOS/L SYSTEM.
;
; * *
; * *
; * *
LDDBO: LEA A2,JUNK ;LOAD A OUTPUT FILESPEC IN
MOVW #377,(A2)+
MOVW #377,(A2)+
MOVW #377,(A2)+
LEA A2,JUNK
FSPEC ODDB(A5),UFD
LEA A2,SCRAT
LEA A1,D.FIL+ODDB(A5) ;YES - LOAD THE OUTPUT DDB FSPEC
MOVW (A2)+,(A1)+
MOVW (A2)+,(A1)+
MOVW #[UFD],(A1)
INIT ODDB(A5) ;INIT IT
TYPESP <Print option has been initiated - output to:>
PFILE ODDB(A5)
CRLF
LOOKUP ODDB(A5) ;DOES IT ALREADY EXIST?
BNE OPNIT ;NO OPEN IT FOR OUTPUT
DSKDEL ODDB(A5) ;YES - DELETE THE OLD ONE
OPNIT:
OPENO ODDB(A5) ;OPEN THE OUTPUT FILE
LEA A3,FLAG ;SET THE PRINT FLAG
MOVW #1,(A3) ;#1 MEANS PRINT COMMAND IS SPECIFIED
LEA A2,ODDB(A5)
OUTSP OT$DDB,<Possible UFD blocks on:>
EVEN
CLR D1
LEA A2,INDEV ;GET THE DEVICE TO SEARCHED
MOVB (A2),D1 ;GET THE FIRST BYTE
TST D1 ;IS IT A ZERO (DEFAULT DEVICE)?
BEQ PDFLT ;YES - GET THE DEFAULT AND PRINT IT
MOVB (A2)+,D1 ;GET THE FIRST BYTE
FILOTB ODDB(A5) ;NO - PRINT THE FIRST CHARACTER
MOVB (A2)+,D1
FILOTB ODDB(A5)
MOVB (A2),D1
FILOTB ODDB(A5)
LEA A2,INDRV
CLR D1
MOVW (A2),D1
LEA A2,ODDB(A5)
DCVT 0,OT$DDB
CLR D1
MOVB #15,D1
FILOTB ODDB(A5)
MOVB #12,D1
FILOTB ODDB(A5)
JMP INITDB
PDFLT:
INITDB:
LEA A2,SCRAT ;LOAD A DUMMY FILESPEC IN
MOVW #377,(A2)+
MOVW #377,(A2)+
MOVW #377,(A2)+
LEA A2,SCRAT
FSPEC DDB(A5)
LEA A1,PACBUF ;LOAD THE RAD 50 BUFFER
LEA A2,INDEV ;LOAD THE ASCII DEVICE NAME
PACK ;PACK WILL CONVERT 3 BYTES AND LEAVE A2
;POINTING AT THE NEXT BYTE!
LEA A1,PACBUF
LEA A3,D.DEV+DDB(A5) ;GET THE DEVICE TO BE SEARCHED
MOVW (A1),(A3) ;LOAD THE DEVICE NAME
CLR D1
LEA A2,INDRV
MOVW (A2),D1
LEA A3,D.DRV+DDB(A5)
MOVW D1,(A3)
MOV D.DVR+DDB(A5),A3 ;GET THE DEVICE DRIVER ADDRESS
MOV 24(A3),D1
LEA A2,BLOCKS
MOV D1,(A2)
TYPESP <This device contains a total block count of:>
DCVT 0,OT$TRM
CLR D1
CRLF
TYPECR <The following blocks appear to be User File Directories:>
CRLF
STLOOP:
MOV #1,D0 ;D0 TALLY FOR BLOCK NUMBER
SCNBLK:
CTRLC EXIT
CLR D1
LEA A1,DDB+D.REC(A5) ;LOAD BLOCK # INTO DDB
MOV D0,(A1)
READ DDB(A5) ;READ THE BLOCK
MOV DDB+D.BUF(A5),A1 ;ADDRESS THE READ BUFFER AREA
ADD #6,A1
MOVW (A1),D1 ;MOVE THE SIXTH WORD IN
;THIS WILL BE THE FIRST EXTENSION
MOV #21.,D3
EXTCHK: CTRLC EXIT
CMPW D1,#[REN]
JEQ FOUND
CMPW D1,#[OLD]
JEQ FOUND
CMPW D1,#[BAS]
JEQ FOUND
CMPW D1,#[M68]
JEQ FOUND
CMPW D1,#[RUN]
JEQ FOUND
CMPW D1,#[LIT]
JEQ FOUND
CMPW D1,#[SYS]
JEQ FOUND
CMPW D1,#[BAK]
JEQ FOUND
CMPW D1,#[IDX]
JEQ FOUND
CMPW D1,#[IDA]
JEQ FOUND
CMPW D1,#[SEQ]
JEQ FOUND
CMPW D1,#[LST]
JEQ FOUND
CMPW D1,#[DAT]
JEQ FOUND
CMPW D1,#[TXT]
JEQ FOUND
CMPW D1,#[BV]
JEQ FOUND
CMPW D1,#[DBD]
JEQ FOUND
CMPW D1,#[DBK]
JEQ FOUND
CMPW D1,#[CPY]
JEQ FOUND
CMPW D1,#[S]
JEQ FOUND
CMPW D1,#[R]
JEQ FOUND
CMPW D1,#[RPT]
JEQ FOUND
CMPW D1,#[SAV]
JEQ FOUND
CMPW D1,#[OBJ]
JEQ FOUND
CMPW D1,#[SYM]
JEQ FOUND
CMPW D1,#[INI]
JEQ FOUND
CMPW D1,#[MNU]
JEQ FOUND
CMPW D1,#[CMN]
JEQ FOUND
CMPW D1,#[HLP]
JEQ FOUND
CMPW D1,#[HLV]
JEQ FOUND
CMPW D1,#[QRY]
JEQ FOUND
CMPW D1,#[CMD]
JEQ FOUND
CMPW D1,#[DO]
JEQ FOUND
CMPW D1,#[SV]
JEQ FOUND
CMPW D1,#[LSP]
JEQ FOUND
CMPW D1,#[VUE]
JEQ FOUND
CMPW D1,#[SBR]
JEQ FOUND
CMPW D1,#[UNV]
JEQ FOUND
CMPW D1,#[LIB]
JEQ FOUND