X-Modem Info (NUR FUER X-MODEM !)

Im Programm ist die Moeglichkeit der
Uebertragung von Text- oder Programm-
Dateien unter X-MODEM oder MODEM-7
Protokoll eingebaut. Dabei werden
zwischen Sender und Empfaenger Signale
ausgetauscht, die die Uebertragung
steuern. Diese sind:

   SOH  Start Of Header  Wert 01H
   EOT  End Of Transm.    ""  04H
   ACK  Acknowledge       ""  06H
   NAK  Neg.Acknowledge   ""  15H
   CAN  Cancel            ""  18H

Die Daten werden in Bloecken zu 128
Bytes Laenge uebertragen, die mit einer
Pruefsumme oder nach dem CRC-Verfahren
geprueft werden. Das Programm erkennt,
ob CRC oder Pruefsumme benutzt wird.
Als Pruefsumme werden die 8 nieder-
wertigen Bits der Summe der 128 Ueber-
tragungsbytes uebergeben, beim CRC-
verfahren sind es 2 Bytes.

Folgendermassen laeuft eine Ueber-
tragung ab:

1. Download
===========
Sender ist die Box, Empfaenger der
User. Der Sender wartet auf ein Start-
zeichen vom Empfaenger. Wenn ein 'C'
kommt, wird CRC-Modus angenommen, bei
einem NAK der Pruefsummen-Modus.
Wenn der Empfaenger fertig ist, sendet
er ein 'C' oder NAK, danach uebertraegt
der Sender Block Nr.1. Daraufhin muss
der Empfaenger eine Quittung (ACK) oder
ein NAK senden. Der Sender uebertraegt
Block Nr.2 oder wiederholt Block Nr.1.
Kommt innerhalb von ca. 8 Sek nichts,
wird der Block erneut gesendet. Bis zu
zehn mal wird versucht einen Block Feh-
lerfrei zu uebertragen, danach erfolgt
Abbruch.
Nach dem letzten Block sendet der Sen-
der das EOT an der ersten Stelle seines
Blocks. Auch dies muss vom Emfaenger
quittiert werden.
Abgebrochen werden kann eine Uebertra-
gung mit CAN (^X), allerdings nur wenn
keine Zeichen gesendet werden.

2. Upload
=========
Naturgemaess gilt hier das gleiche, nur
in umgekehrter Richtung. Die Box wird
Empfaenger, der User sendet. Da der
Empfaenger das erste Zeichen sendet,
ist eine kleine Besonderheit noetig.
Nachdem der User die Uebertragung auf
'Druecken Sie RETURN zum Start >'
gestartet hat, wartet die Box ca. 10
Sekunden und sendet dann ein 'C'.
Damit soll getestet werden, ob die Ge-
genstation in den CRC-Modus schalten
kann. Erfolgt nach ca. 3 Sekunden kein
Block, so wird dann ein NAK als Auffor-
derung zu Senden uebermittelt.
Es werden NAKs alle 8-9 Sekunden gesen-
det, nach 10 Versuchen gibt die Box auf
und kehrt ins Menue zurueck.


Fuer die, die es interessiert, wie sich
der gesamte Block zusammensetzt:

  Byte  1       : SOH
  Byte  2       : Block-Nr. mod. 255
  Byte  3       : Komplement von Byte 2
                  (255 - Block-Nr.)
  Bytes 4-131   : Daten
  Byte 132      : Pruefsumme oder
  Bytes 132+133 : CRC-Checkword.

In Byte 2 wird nur das niederwertige
Byte der Block-Nummer uebergeben. Die
Anzahl der Bloecke ist nicht auf 255
beschraenkt. Theoretisch kann die Box
Files mit max. (2^15 - 1) Bloecken
uebertragen, also bis zu 4 MB Laenge.

Quelle : T.E.C.S. Hamburg