931228
Xmodem with checksum error check and 128 byte blocksize
implemented in Z88 BBC BASIC.
931231
CRC error check implemented in BASIC.
940110
Xmodem sending with checksum error check and 128 byte blocksize
implemented in Z88 BBC BASIC inline assembler.
960107
1K blocksize implemented in BASIC.
960725
Ymodem sending implemented in BASIC.
960801
Xmodem receive 128 byte and 1K blocksize implemented in
assembler.
960804
CRC error check implemented in assembler.
960807
Sending 1K blocks implemented in assembler.
961007
Changed format of program to a pre-assembled machinecode
file, with a BASIC header from Richard Haw's ZCP program,
loadable in BASIC.
970802 v. 0.22
Created my own BASIC header using indirection in BASIC.
Transfer speed up to 370-400 cps using checksum and 1K blocks.
980719
Changed format to popdown application and use Gunther
Strube's pcZ80asm after some help and pushing from Thierry
Peycru and buying Rakewell's 1M flash eprom. Changed to
Codewright editor/development environment in Windows 95.
Use Gunther Strube's Zprom for flash eprom programming.
980801 version 1.0
Bypass the operating system to achive higher speed.
Unfortunatly this means that transfers can not be terminated
by escape. There is a timeout though.
Transfer speed at 9600 bps is 800 to 900 cps.
Transfer speed at 19200 bps is 1500 to 1700 cps.
Sending speed at 38400 bps is 2600 to 3000 cps,
receiving does not work.
1K blocks is 10 to 15% faster than 128 byte blocks.
Receiving is 5 to 10% faster than sending.
Shorter receiver start initiative intervals, 3s instead of
specified 10s, to compensate for Windows 95 Hyperterminal's
conservative sending start.
Shorter timeout on unsuccesful transfer. 30s instead of
specified 60s.
980807
Changed nak retries from 9 to 10.
Preserve partly entered filename over suspension.
Fixed bug preventing CRC mode receiving
introduced when implementing stepdown from CRC to checksum mode.
980808
Eliminated sending an empty last block when the file to
send is an exact multiple of the current block size.
Fixed bug regarding stepdown from CRC to checksum mode.
Improved user interface when preserving partly entered filename over suspension.
Now also receive at 38400 bps without errors.
128 byte blocks are received at 2900 cps and 1K blocks at 3300 cps.
980809
More error messages.
Mailbox function to enable marking a file in Filer and going to XY-Modem with []Y to send the marked file.
Wildcard handling for sending more than one file at the time. Good for backups even with Xmodem.
981202
Moved all header preparation variables inside header block.
Doesn't crash at timeout anymore.
981205
Now send filepath, size and modification time in Ymodem header.
981206
Now waits for NAK or C after Ymodem header ACK before sending file.
981209
Implemented Ymodem End Batch.
Implemented Ymoden-G send.
990227
Enabled canceling transfer by pressing escape between blocks.
Not.
990326
Succeeded in making quick keyboard escape detection
in character send and receive routines.
990328
Ymodem receive, first try.
990330
Ymodem single file receive works.
990331
Ymodem batch receive works.
991115-991226
Preservation of size and modification date/time also for files received with Ymodem.
Step down to blocksize 128 when rest of file is (1024-128=896) bytes or less when sending 1K blocks.
Send cancel characters to remote when giving up or aborting.
More error and status messages.
Escape sending rest of batch.
New 9 April
The binary file XY-Modem-32D4.3F has been renamed to XY-Modem.ap0,
content and functionality is identical, and an XY-Modem.app file has
been added to ease installation in RAM.
Press the C key to toggle between Checksum and CRC error checking mode.
The receiving program controls the type of error checking to be used in a transfer.
CRC provides better protection against errors in received files.
Please note that Xmodem -1K often implies use of CRC.
Press the K key to toggle between 128 byte and 1K blocksizes.
The sending program controls the blocksize to be used in a transfer.
1K blocks are faster to transfer.
The remote receiving program controls if the streaming -G mode should be used for sending from XY-Modem.
An X- or Ymodem program receiving or sending, or trying to, can be stopped by sending at least two CAN characters from the remote computer. I.e. to stop Z88 XY-Modem, hold the Ctrl key and press X several times in the remote terminal window. To stop a remote X- or Ymodem program, goto Terminal []V, hold the diamond <> key and press X until the transfer is stopped.
Unsuccessful transfers can be aborted by pressing Esc.
Note that proper X- and Ymodem programs expect the sending side to be started first and then the receiving side. Else you have to wait up to ten seconds for the receiver to timeout and retry.
The XY-Modem program is closed by pressing Shift+Enter like in []V Terminal.