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

Received: from mimsy.UUCP by uunet.UU.NET (5.61/1.14) with UUCP 
	id AA08569; Thu, 18 Jan 90 22:56:16 -0500
Received: by mimsy.UMD.EDU (smail2.5)
	id AA12219; 17 Jan 90 04:29:25 EST (Wed)
Received: by ames.arc.nasa.gov (5.61/1.2); Wed, 17 Jan 90 01:20:12 -0800
Message-Id: <9001170920.AA14881@ames.arc.nasa.gov>
Received: by Versatec (smail2.5)
	id AA15187; 16 Jan 90 23:30:50 PST (Tue)
Received: by intersil.UUCP (DECUS UUCP w/Smail);
          Tue, 16 Jan 90 23:18:47 PST
Date: Tue, 16 Jan 90 23:18:47 PST
From: Kurt Wampler <intersil!wampler@uunet.UU.NET>
To: EVERHART@arisia.DECNET
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
wampler@intersil.UUCP

===================================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
