From: CRDGW2::CRDGW2::MRGATE::"SMTP::UUNET.UU.NET::MIMSY!AMES!VERSATC!INTERSIL!WAMPLER" 18-JAN-1990 23:16
To: MRGATE::"ARISIA::EVERHART"

Date: Tue, 16 Jan 90 23:18:47 PST
From: Kurt Wampler <[email-masked]>
To: [email-masked]
Subject: BIGTPC received and assembled successfully

Glenn -

I received and successfully assembled & linked BIGTPC for the PRO-350.  I
dredged around in piles of old floppies and came across some code written by
R.J.D. Kirkman that called the P/OS PROVOL routine for mounting/dismounting
floppies.  I renamed it from "UTIL" to "MNTVOL" just to make its function a
little more obvious.  I've appended the source code to this message in case
it would save you some time in the future.

I successfully used BIGTPC to copy a floppy to a container file, and back to
another floppy, so it all appears to be working correctly.  All I need to do
now is to figure out a way to avoid having to Kermit all 57 BIGTPC container
files up to the VAX.  Perhaps I can just do a $ MOUNT/FOREIGN DUA1: on my
MicroVAX, and $ COPY DUA1: harddisk:[directory]file.TPC ?  Nah...couldn't be
that easy :-)  Any ideas are welcome...

Thanks again for all your help!

Kurt Wampler
CAD Director, Harris Santa Clara (Intersil) Operations
(408) 996-5426
[email-masked]

===================================MNTVOL.TKB=================================
MNTVOL.TSK=MNTVOL.OBJ
/
TASK=MNTVOL
;
CLSTR=POSSUM,POSRES:RO
//
===================================MNTVOL.MAC=================================
; MNTVOL
;
; This software provides a crude interface to PROVOL, a P/OS callable system
; routine for mounting & dismounting volumes.  Apologies to R.J.D. Kirkman,
; Filetab Support Services, Knightsbridge, London, from whom this code was
; borrowed.
;
; To build under P/OS:
; $ MACRO MNTVOL
; $ LINK @MNTVOL.TKB
;
; To invoke it from PRO Toolkit DCL, use:
; $ RUN MNTVOL/COMMAND:"MNTVOL OP DEVICE" (be sure to use all uppercase)
;
; where OP is one of:	W (write)
;			B (boot)
;			M (mount)
;			D (dismount)
;			F (foreign mount)
;
; Example:  to mount diskette DZ1: as a foreign device from PRO Toolkit DCL:
;
; $ RUN MNTVOL/COMMAND:"MNTVOL D DZ1:"
; $ RUN MNTVOL/COMMAND:"MNTVOL F DZ1:"
;
	.TITLE	MNTVOL	Mount, dismount, boot... PROVOL interface
	.IDENT	/1/
;
	.MCALL	GMCR$,DIR$,EXIT$S,QIOW$S
;
TABLE:	.BYTE	'D,2
	.BYTE	'B,10.
	.BYTE	'W,11.
	.BYTE	'M,0
	.BYTE	'F,1
	.BYTE	0,0
GMCR:	GMCR$
PARAM:
	.WORD	6
	.WORD	STATUS,REQUES,0,TEXTL,0,ATTRL
STATUS:	.BLKW	8.
REQUES:	.WORD	0
TEXTL:	.WORD	0
ATTRL:	.WORD	0
	.ENABL	LC
M1:	.ASCII	"Get command line failed"
M1L=.-M1
M2:	.ASCII	"Unrecognised command (B,M,W,F,D)"
M2L=.-M2
M3:	.ASCII	"Failure - Status is"
M3L=.-M3
	.EVEN
START:
	DIR$	#GMCR
	BCC	1$
	QIOW$S	#IO.WLB,#5,#5,,,,<#M1,#M1L,#40>
	EXIT$S
1$:	MOV	@#$DSW,R0
	CLR	GMCR
	ADD	#GMCR+2,R0		; point over end
	CLRB	(R0)			;
	MOV	R0,R1			; now step back over text
2$:	CMPB	-(R1),#40		; was that a space
	BHI	2$
; R1 now points at the space before the code
	TSTB	(R1)+			; if eq illegal
	BEQ	99$
	MOV	R1,PARAM+6
	SUB	R1,R0
	MOV	R0,TEXTL
	DEC	R1			; point back to the space
3$:	CMPB	-(R1),#40
	BHI	3$
	INC	R1
	MOV	#TABLE,R2
5$:	CMPB	(R2)+,(R1)		; was it this command
	BEQ	6$
	INC	R2
	TSTB	(R2)
	BNE	5$
99$:	QIOW$S	#IO.WLB,#5,#5,,,,<#M2,#M2L,#40>
	EXIT$S
6$:
	MOVB	(R2),REQUES
	MOV	#PARAM,R5
	CALL	PROVOL
	CMP	STATUS,#1
	BEQ	100$
	QIOW$S	#IO.WLB,#5,#5,,,,<#M3,#M3L,#44>
	MOV	STATUS,R0
	CALL	OUT
	MOV	STATUS+2,R0
	CALL	OUT
100$:	EXIT$S
BUFF:
	.BLKB	80.
OUT:	MOV	R0,-(SP)
	MOV	#BUFF,R0
	MOV	(SP),R1
	CALL	$CBOMG
	SUB	#BUFF,R0
	QIOW$S	#IO.WLB,#5,#5,,,,<#BUFF,R0,#0>
	MOV	(SP)+,R0
	RTS	PC
	.END	START