;***************************************************************************; ; ; ; Label a disk in style ; ; By David F. Pallmann ; ; ; ;***************************************************************************; ; 04/10/86 - Changed for unlabeled disks. If disks had not been ; labeled, this program would skip them and never ; set the flag at beginning of block. Dale Eichbauer - ; MBS Data Systems - Merrill, MI. ;universals SEARCH SYS SEARCH SYSSYM SEARCH TRM SEARCH CRT ;edit history VMAJOR=1 VMINOR=0 ; (101) VEDIT=101. ;16-Aug-83 DFP creation. ;10-Apr-86 DAE - Patch for use with unlabeled ; disks. ;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 BEQ DS.1 ; (101) HIGH ; (101) TYPECR Not Labeled !! ; (101) JMP CHANGE ; (101) DS.1: TYSTR LB.VLN, ; (101) TYSTR LB.VID, TYSTR LB.CRE, TYSTR LB.INS, TYSTR LB.SYS, TYDAT LB.CRD, TYDAT LB.ACD, TYDAT LB.FBD, TYSTR LB.FBI, TYDAT LB.GBD, TYSTR LB.GBI, CHANGE: MOV JOBCUR,A3 CMMW JOBUSR(A3),#402 JNE EXIT CMM @A0,#25252452525 ; SEE IF ALREADY INITED (101) BEQ CH.1 ; (101) CLEAR @A0,512. ; CLEAR THE ENTIRE BLOCK (101) MOV #25252452525,@A0 ; FLAG AS INITIALIZED (101) CH.1: ; (101) CRLF GTSTR LB.VLN,40., GTSTR LB.VID,10., GTSTR LB.CRE,30.,Creator GTSTR LB.INS,30.,Installation GTSTR LB.SYS,30., GTDAT LB.CRD, GTDAT LB.ACD, GTDAT LB.FBD, GTSTR LB.FBI,10., GTDAT LB.GBD, GTSTR LB.GBI,10., 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 .