Date : Sun, 13 May 1984 23:15:00 MDT (Sun)
From : Keith Petersen <W8SDZ@Simtel20.ARPA>
Subject: New XMODEM53 for VAX-VMS
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