README.md
This directory contains 4 programs. They constitute a file
transfer utility for 11m 3.2 between two machines that each have
the full duplex driver. The SND program sends the file and the REC
program receives it. If file transfers are not done too often,
(and you don't want 3 programs installed and 1 active at all
times) then you can just Run the REC program on one end and the
SND on the other (it does a get command line and therefore you
need the /prm= patch to install or you must install the program).
Alternatively, if you install three programs and run one all the
time (its only 1/2k and stopped when not doing anything) the SEND
utility will perform send data's to the TRNSFR program who will
wake up the other end (the tran program runs as TRNSFR on both
ends) and spawn the SENDER. Users can queue up send requests but
the send program stops until the file(s) are transfered. (SND is
thus installed as SENDER and REC is installed as RECEIV).
The syntax of the send command is: >send file1 file2 ... (file
name must be 22 char or less)
Group protection and error recovery are included. All attributes
of the file are transfered and a contiguous file is made
contiguous on the other end. At 9600 baud, an effective rate of 17
blocks per 20 seconds is realized.
The TRNSFR program runs /pr:0 so it can spawn RECEIV with
uic=[1,1]. This may not be necessary but it works for now. RECEIV
needs uic [1,1] so it can set ownership of files and have access.
A spawned program from a slaved task tends to get tt0 as its ti:
and in order to set the UIC to [1,1] the receiver program needs to
be installed when using the TRNSFR task.
The following is the startup we use to initialize the lines. (some
of it may not be necessary but I'm not sure).
SET /SLAVE=tt5:
SET /NOCRT=tt5:
SET /NOECHO=tt5:
SET /EBC=tt5:
SET /RPA=tt5:
SET /NOTYPEAHEAD=tt5: !do this to clear typeahead buffer
SET /TYPEAHEAD=tt5: !but we do want typeahead
SET /FDX=tt5:
SET /NOVFILL=TT5:
SET /HFILL=TT5:0
set /nowrap=tt5:
set /hht=tt5:
If the 2 machines get out of sync, we use the following command
file.
.IFACT RECEIV ABO RECEIV
.IFACT TRNSFR ABO TRNSFR
.IFACT SENDER ABO SENDER
.WAIT RECEIV
.WAIT TRNSFR
.WAIT SENDER
@[1,2]CM TT5
.SETS TTY P1 <---- this is cm.cmd
.ENABLE SUBSTITUTION
SET /SLAVE='TTY':
SET /NOCRT='TTY':
SET /NOECHO='TTY':
SET /EBC='TTY':
SET /RPA='TTY':
SET /NOTYPEAHEAD='TTY':
SET /TYPEAHEAD='TTY':
SET /FDX='TTY':
SET /NOVFILL='TTY':
SET /HFILL='TTY':0
set /nowrap='TTY':
set /hht='TTY':
asn 'TTY':=cm00:/gbl
asn 'TTY':=cm01:/gbl <--- down to here
rem trnsfr
rem sender
rem receiv
ins $tran/task=trnsfr
ins $snd/task=sender
ins $rec/task=receiv
run trnsfr 20t