;*************************** AMUS Program Label ******************************
; Filename: DSKLBL.M68                                      Date: 07/14/89
; Category: UTIL         Hash Code: 345-516-315-542      Version: 1.0(100)
; Initials: ULTR/AM      Name: DAVE PALLMANN
; Company: ULTRASOFT CORP.                         Telephone #: 5163484848
; Related Files:
; Min. Op. Sys.:                               Expertise Level: BEG
; Special: DO NOT USE WITH AMOS 2.0 VERSIONS!!!
; Description: Fancy version of LABEL command. DOES NOT WORK WITH 2.0
; VERSIONS OF AMOS! - YOU WILL NOT BE ABLE TO ACCESS ANY DISK FILES
; Usage: DSKLBL DEV#:  Use from OPR: account to change disk label
;*****************************************************************************

;universals
SEARCH  SYS
SEARCH  SYSSYM
SEARCH  TRM
SEARCH  CRT

;edit history
VMAJOR=1
VEDIT=100.                      ;16-Aug-83 DFP creation.

;equates

;ASCII characters
CR=15
LF=12

;registers
IMP=A5

;macros
DEFINE  GTSTR   FIELD,SIZE,TEXT
       TYPE    <'TEXT': >
       LEA     A1,FIELD(A0)
       MOV     #SIZE,D0
       CALL    GETSTR
       ENDM

DEFINE  GTDAT   FIELD,TEXT
       TYPE    <'TEXT': >
       LEA     A1,FIELD(A0)
       CALL    GETDAT
       ENDM

DEFINE  TYSTR   FIELD,TEXT
       TYPE    <'TEXT'>
       LEA     A1,FIELD(A0)
       CALL    TYPSTR
       ENDM

DEFINE  TYDAT   FIELD,TEXT
       TYPE    <'TEXT'>
       LEA     A1,FIELD(A0)
       CALL    TYPDAT
       ENDM

;impure area
OFINI
OFDEF   DEVICE,D.DDB
OFSIZ   IMPSIZ

;start of program
START:  PHDR    -2,0,PH$REE!PH$REU
       GETIMP  IMPSIZ,IMP

SETTRM: MOV     JOBCUR,A0
       MOV     JOBTRM(A0),A1
       ORW     #T$ILC,T.STS(A1)        ;enable lower case input

GETDEV: BYP
       FSPEC   DEVICE(IMP)
       INIT    DEVICE(IMP)
       CLR     DEVICE+D.REC(IMP)
       READ    DEVICE(IMP)
       MOV     DEVICE+D.BUF(IMP),A0
       LOW

DISPLY: CMM     @A0,#25252452525
       JNE     CHANGE
       TYSTR   LB.VLN,<Volume name:     >
       TYSTR   LB.VID,<Volume ID:       >
       TYSTR   LB.CRE,<Creator:         >
       TYSTR   LB.INS,<Installation:    >
       TYSTR   LB.SYS,<System name:     >
       TYDAT   LB.CRD,<Creation date:   >
       TYDAT   LB.ACD,<Access date:     >
       TYDAT   LB.FBD,<Backup date 1:   >
       TYSTR   LB.FBI,<Backup vol ID 1: >
       TYDAT   LB.GBD,<Backup date 2:   >
       TYSTR   LB.GBI,<Backup Vol ID 2: >

CHANGE: MOV     JOBCUR,A3
       CMMW    JOBUSR(A3),#402
       JNE     EXIT
       CRLF
       GTSTR   LB.VLN,40.,<Volume name>
       GTSTR   LB.VID,10.,<Volume ID>
       GTSTR   LB.CRE,30.,Creator
       GTSTR   LB.INS,30.,Installation
       GTSTR   LB.SYS,30.,<System name>
       GTDAT   LB.CRD,<Creation date>
       GTDAT   LB.ACD,<Access date>
       GTDAT   LB.FBD,<Backup date 1>
       GTSTR   LB.FBI,10.,<Backup vol ID 1>
       GTDAT   LB.GBD,<Backup date 2>
       GTSTR   LB.GBI,10.,<Backup Vol ID 2>
       WRITE   DEVICE(IMP)

EXIT:   HIGH
       CRLF
       EXIT

       PAGE
GETSTR: HIGH
       KBD     EXIT
       LOW
       LIN
       BEQ     30$
       DEC     D0
10$:    MOVB    (A2)+,D1
       CMPB    D1,#CR
       BEQ     20$
       MOVB    D1,(A1)+
       SOB     D0,10$
20$:    CLRB    @A1
30$:    RTN

GETDAT: HIGH
       KBD     EXIT
       LOW
       LIN
       BEQ     10$
       GTDEC
       MOVB    D1,0(A1)
       INC     A2
       GTDEC
       MOVB    D1,1(A1)
       INC     A2
       GTDEC
       MOVB    D1,2(A1)
10$:    RTN

TYPSTR: HIGH
10$:    MOVB    (A1)+,D1
       BEQ     20$
       TTY
       CMPB    D1,#CR
       BNE     10$
20$:    LOW
       CRLF
       RTN

TYPDAT: HIGH
       CLR     D1
       MOVB    0(A1),D1
       BEQ     10$
       DCVT    2,2
       TTYI
       ASCII   "/"
       BYTE    0
       MOVB    1(A1),D1
       DCVT    2,2
       TTYI
       ASCII   "/"
       BYTE    0
       MOVB    2(A1),D1
       DCVT    2,2
10$:    CRLF
       LOW
       RTN

       END