;*************************** AMUS Program Label ******************************
; Filename: ARXRES.M68 Date: 03/03/88
; Category: UTIL Hash Code: 551-463-224-046 Version: 2.0
; Initials: DDSS/AM Name: DAVE DRAKE
; Company: DOUBLE-D SOFTWARE SERVICES Telephone #: 7024382173
; Related Files: ARXHIV.*,ARXDIR.*,ARXDOC.DOC
; Min. Op. Sys.: ??? Expertise Level: INT
; Special:
; Description: Modification of Dave Pallman Archive Routines to handle
; random files!
;
;*****************************************************************************
;
; Author: David F. Pallmann ;
; Copyright (C) 1984 by LMS Technical Services, Inc. ;
; ;
;***************************************************************************;
;
; ARXRES
; Modified for Random file handling (Ver 2.0)
;
; Author: David A. Drake
; Copyright (C) 1988 by Double-D Software Services
;
;***************************************************************************;
;
; File makes external references to MAC:SYSLIB.LIB.
; After assembly, enter this command: .LNKLIT file
;
OBJNAM ARXRES.LIT
VMAJOR=2 ;16-May-88 ddss - mod for random file handling
;edit history
VEDIT=100. ;06-Jan-84 DFP creation.
VEDIT=101. ;07-Apr-84 DFP correct restore of 0-byte files.
VEDIT=102. ;12-Apr-84 DFP add PPNs to disk if required.
VEDIT=103. ;17-Apr-84 DFP correct bug introduced by 102 edit!
VEDIT=104. ;16-Mar-88 DDD Make disk errors more meaningful
;universals
SEARCH SYS
SEARCH SYSSYM
EXTERN $ADPPN
;registers
IMP=A5 ;impure index
;impure area
OFINI
OFDEF FILE,D.DDB ;DDB for writing AMOS files
OFDEF ARCDIR,D.DDB ;DDB for reading archive directory
OFDEF ARCDAT,D.DDB ;DDB for reading archive data
OFDEF WRKDDB,D.DDB ;DDB for $ADPPN call
OFDEF BLKSIZ,4 ;v2
OFSIZ IMPSIZ
START: PHDR -1,0,PH$REE!PH$REU ;program header
GETIMP IMPSIZ,IMP ;allocate impure area
;get output device specification
GETDEV: BYP
LIN
JEQ HELP
FSPEC FILE(IMP)
INIT FILE(IMP)
ORB #D$ERC!D$BYP,FILE+D.FLG(IMP) ; 102
;bypass '='
SKIP: BYP
CMMB (A2)+,#'=
JNE HELP
;get archive name
GETARC: BYP
LIN
JEQ HELP
SAVE A2
FSPEC ARCDIR(IMP),XXX
MOVW #[MAP],ARCDIR+D.EXT(IMP)
INIT ARCDIR(IMP)
REST A2
FSPEC ARCDAT(IMP),XXX
MOVW #[ARX],ARCDAT+D.EXT(IMP)
INIT ARCDAT(IMP)