[net.micro.cpm] New XMODEM53 for VAX-VMS

W8SDZ@Simtel20.ARPA (05/14/84)

From:  Keith Petersen <W8SDZ@Simtel20.ARPA>

Date: 2 May 1984 1448-EST
From: ELDER at WPAFB-INFO1
Subject: VAX Xmodem Fix

I have fixed Xmodem on our VAX to allow transfer of binary files.
Here is what the problem was: 

    Xmodem would open files giving them a fixed length of 128 bytes per block.
    However, when binary files are FTPed across ARPANET to VAX/VMS, the
    resulting file has a fixed length of 512 bytes blocks (at least this is
    what happens with FTP on our VAX).  Anyway, what was happening before
    was that with binary files being transfered to a micro with Xmodem/
    Modem7, only the first 128 bytes of each block were sent.  So I would
    only get about 1/3 of a binary file.

I've since changed Xmodem to open files as 512 byte blocks, put that block
into a 512 byte array, and then transmit 128 bytes at a time from that array
to Modem7.  Works fine now.

I also made another change to Xmodem.  I have it count the number of 128 byte
records that will be transfered during a send and display that information
to the user.  I didn't code this the best way possible since I don't know
all that much about VMS yet.  What I do is open the file and read through it
counting the records.  I would think that some system call exists in
VMS that I could call in a FORTRAN program to tell me the block size of
a file.  Some folks may not want that routine in Xmodem because if you
are sending a large file it may take a few minutes for the blocks to be
counted.
------
The new XMODEM is now available on SIMTEL20.  Here's a complete list
of the current files in the directory:

Filename			Type	 Bytes	 Sectors     CRC

Directory MICRO:<CPM.VAXVMS>
CTOV.FOR.1			ASCII	  2821   23 =  17H  6408H
QIO.DCK.1			ASCII	   115    1 =   1H  A2B1H
VTOC.FOR.1			ASCII	  2730   22 =  16H  747AH
XMODEM.COM.1			ASCII	   563    5 =   5H  6AAFH
XMODEM.DOC.1			ASCII	   649    6 =   6H  D3A5H
XMODEM.HLP.1			ASCII	  3656   29 =  1DH  10A9H
XMODEM.MSG.1			ASCII	  2796   22 =  16H  FDAFH
XMODEM.NOTE.1			ASCII	  7157   56 =  38H  346AH
XMODEM53.FOR.1			ASCII	 32791  257 = 101H  409DH

--Keith