PofoWiki

Die ultimative Informationsquelle zum ATARI Portfolio

Benutzer-Werkzeuge

Webseiten-Werkzeuge


software:vorstellung:exchanges:transfolio

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
software:vorstellung:exchanges:transfolio [16/11/2008 22:11] 8088software:vorstellung:exchanges:transfolio [08/02/2023 22:02] (aktuell) – Credits am Seitenanfang eingefügt bttr
Zeile 1: Zeile 1:
 ====== Einsatz und Funktionsweise des internen Datenübertragungsprogramms ====== ====== Einsatz und Funktionsweise des internen Datenübertragungsprogramms ======
 +
 +Ursprungstext: [[info:pantheon#klaus_peichl|Klaus Peichl]] 2006-02-05
  
 ===== Einführung ===== ===== Einführung =====
Zeile 9: Zeile 11:
  
 Auf der PC-Seite wird natürlich ebenfalls Software benötigt, die über die gegebene Beschaltung des Parallelports mit dem Portfolio kommunizieren kann. Atari lieferte hierzu mit dem Parallelportmodul das Programm FT.COM aus, das aber direkte I/O-Port-Zugriffe vornimmt und sich somit nur unter DOS oder älteren Windows-Versionen (bis 98) nutzen läßt. Auf der PC-Seite wird natürlich ebenfalls Software benötigt, die über die gegebene Beschaltung des Parallelports mit dem Portfolio kommunizieren kann. Atari lieferte hierzu mit dem Parallelportmodul das Programm FT.COM aus, das aber direkte I/O-Port-Zugriffe vornimmt und sich somit nur unter DOS oder älteren Windows-Versionen (bis 98) nutzen läßt.
 +
 +
  
 ===== TransFolio als Alternative zu FT.COM ===== ===== TransFolio als Alternative zu FT.COM =====
Zeile 14: Zeile 18:
 Mit TransFolio gibt es seit Anfang 2006 eine Alternative zu FT.COM, die für Windows und Linux verfügbar ist. Sie soll es vor allem Portfolio-Neulingen oder Gelegenheits-Nostalgikern erleichtern, einen komplett leeren Portfolio zu neuem Leben zu erwecken. Wegen der prinzipbedingt recht bescheidenen Übertragungsgeschwindigkeit werden Poweruser nach der Erstinstallation sicherlich auf andere Übertragungsprogramme oder auf Wechselspeicher ausweichen. Mit TransFolio gibt es seit Anfang 2006 eine Alternative zu FT.COM, die für Windows und Linux verfügbar ist. Sie soll es vor allem Portfolio-Neulingen oder Gelegenheits-Nostalgikern erleichtern, einen komplett leeren Portfolio zu neuem Leben zu erwecken. Wegen der prinzipbedingt recht bescheidenen Übertragungsgeschwindigkeit werden Poweruser nach der Erstinstallation sicherlich auf andere Übertragungsprogramme oder auf Wechselspeicher ausweichen.
  
-Die aktuelle Version von Transfolio ist unter http://www.people.freenet.de/pei/transfolio.zip erhältlich. Die Version 0.8 behebt einen Fehler im Windows-Executable, durch den Binärdateien fehlerhaft übertragen wurden. Zum Portfolio übertragene Programme lösten dort oft einen einen Exec-Fehler aus!+Die aktuelle Version von Transfolio ist unter http://leute.server.de/peichl/transfolio.zip erhältlich. Die Version 0.9 erlaubt die Angabe mehrerer Quell-Dateien per Kommandozeile; außerdem wurden einige Fehler korrigiert.
  
-==== Systemvoraussetzungen ==== 
  
-Das vorkompilierte TRANSFOLIO.EXE benötigt für die Zugriffe auf den Parallelport die Library "inpout32.dll", die von der Webseite http://www.logix4u.net/ stammt. Die Library kann sich entweder im aktuellen Arbeitsverzeichnis befinden oder ins System-Directory kopiert werden.+==== Systemvoraussetzungen ==== 
 +Das vorkompilierte TRANSFOLIO.EXE für Windows benötigt für die Zugriffe auf den Parallelport einen TreiberAuf der Webseite http://www.logix4u.net/ gibt es einen solchen für 32-Bit-Systeme in Form einer Library namens "inpout32.dll". Diese DLL-Datei ist bereits in transfolio.zip enthalten und muss vor dem Aufruf von Transfolio nur ins aktuelle Arbeitsverzeichnis oder ins System-Directory kopiert werden. Für 64-Bit-Windows-Versionen gibt es stattdessen bei [[http://www.highrez.co.uk/Downloads/InpOut32/default.htm|www.highrez.co.uk]] eine Weiterentwicklung des Treibers mit Installationsprogramm. 
 +TRANSFOLIO.EXE verwendet die voreingestellte Port-Adresse 0x378. Insbesondere bei Verwendung einer PCI-Schnittstellenkarte kann die tatsächliche Adresse des Parallelports davon abweichen und muss dem Programm mit dem Kommandozeilenparameter -p <Adresse> mitgeteilt werden (z.B. -p 0xe010).
  
 Die Linux-Version benötigt das Kernelmodul ppdev, das für die Parallelportgerätedateien /dev/parportX zuständig ist. Außerdem müssen entsprechende Zugriffsrechte vorhanden sein. Die Linux-Version benötigt das Kernelmodul ppdev, das für die Parallelportgerätedateien /dev/parportX zuständig ist. Außerdem müssen entsprechende Zugriffsrechte vorhanden sein.
Zeile 214: Zeile 219:
 === Datei anfordern === === Datei anfordern ===
  
-Der erste Schritt vor der Übertragung einer Datei besteht darin, ihre Existenz auf dem Server zu erfragen. Dazu dient die oben beschriebene Directoryabfrage mit dem Dateinamen als Suchmuster. Ist die Datei vorhanden und in der Antwort gelistet, erfolgt die Anforderung der Datei selbst:+Der erste Schritt vor der Übertragung einer Datei besteht darin, ihre Existenz auf dem Server zu erfragen. Dazu dient die oben beschriebene Directory-Abfrage mit dem Dateinamen als Suchmuster. Ist die Datei vorhanden und in der Antwort gelistet, erfolgt die Anforderung der Datei selbst:
  
-^ Offset ^  Inhalt   ^ Bedeutung ^ + Offset  ^  Inhalt  ^ Bedeutung                            
-  0    |    02     | Funktionscode "Datei anfordern"+    0    |    02    | Funktionscode "Datei anfordern"      
-  1    |    00     | Puffergröße Low           +    1    |    00    | Puffergröße Low                      
-  2    |    70     | Puffergröße High          +    2    |    70    | Puffergröße High                     
-  3    |    ...    | Pfad und Dateiname       +    3    |    ...   | Pfad und Dateiname                   
- ...      ...    | noch Pfad/Name (len Bytes) | +   ...      ...   | noch Pfad/Name (len Bytes)           
- 3+len |    00     | Endmarke                   +  3+len  |    00    | Endmarke                             
- ...      ...    | Platzhalter (Inhalt ohne Bedeutung) | +   ...      ...   | Platzhalter (Inhalt ohne Bedeutung)  
-  81   |    ...    | Platzhalter (Inhalt ohne Bedeutung) |+   81    |    ...   | Platzhalter (Inhalt ohne Bedeutung)  |
  
-Der Portfolio antwortet hierauf mit einem 11 Byte langen Datenblock, der u.a. die Dateilänge enthält:+Der Portfolio antwortet hierauf mit einem 11 Byte langen Datenblock, der u. a. die Dateilänge enthält:
  
-^ Offset  Inhalt   ^ Bedeutung ^ + Offset  ^    Inhalt    ^ Bedeutung                
-  0    |    20     | OK | +    0    |      20      | OK                       
-  1    |    F5        +    1    |      00      Puffergröße Low          
-  2    |    6F        +    2    |      70      Puffergröße High         
-  3    |    2D     |    +    3    |    t-Low     | Dateizeit (16 Bit) ...   
-  4    |    87        | +    4    |    t-High    | ... im Format von [[https://www.ctyme.com/intr/rb-2992.htm#Table1665|Int 21/AX=5700h]]  
-  5    |    35     |    +    5    |    d-Low     | Dateidatum (16 Bit) ...  
-  6    |    34        | +    6    |    d-High    | ... im Format von [[https://www.ctyme.com/intr/rb-2992.htm#Table1666|Int 21/AX=5700h]]  
-  7    | n-LowLow  | Dateilänge (32-Bit-Wert) | +    7    |   n-LowLow   | Dateilänge (32 Bit)      
-  8    | n-LowHigh | Dateilänge (32-Bit-Wert) | +    8    |  n-LowHigh   | Dateilänge (32 Bit)      
-  9    | n-HighLow | Dateilänge (32-Bit-Wert) | +    9    |  n-HighLow   | Dateilänge (32 Bit)      
-  10   | n-HighHigh | Dateilänge (32-Bit-Wert) |+   10     n-HighHigh  | Dateilänge (32 Bit)      | 
 + 
 +Direkt im Anschluss folgt die Übertragung der Nutzdaten in einem oder mehreren Datenblöcken. Die Anzahl der benötigten Datenblöcke hängt von der Dateigröße und der Puffergröße des Portfolio ab. Die Puffergröße wiederum ist abhängig vom Arbeitsspeicher des Portfolio und liegt typischerweise bei 7.000 hex Byte = 28.672 Byte.
  
-Direkt im Anschluss folgt die Übertragung der Nutzdaten in einem oder mehreren Datenblöcken. Die Anzahl der benötigten Datenblöcke hängt von der Dateigröße und der Puffergröße des Portfolio ab. Die Puffergröße wiederum ist abhängig vom Arbeitsspeicher des Portfolio und liegt typischer Weise bei 7000 hex Byte = 28672 Byte. 
 Wurden alle Datenblöcke empfangen, schließt der Empfänger die Kommunikation durch folgenden Datenblock ab: Wurden alle Datenblöcke empfangen, schließt der Empfänger die Kommunikation durch folgenden Datenblock ab:
  
-^ Offset ^  Inhalt   ^ Bedeutung ^ + Offset  ^  Inhalt  ^ Bedeutung  
-  0    |    20     | OK  +    0    |    20    | OK         
-  1    |    00         +    1    |    00    --         
-  2    |    03         |+    2    |    03    --         |
  
 === Datei versenden === === Datei versenden ===
Zeile 253: Zeile 259:
 Beim Übertragen einer lokalen Datei zum Server wird als erstes ein Datenblock gesendet, der insbesondere den Zieldateinamen und die Dateilänge beinhaltet: Beim Übertragen einer lokalen Datei zum Server wird als erstes ein Datenblock gesendet, der insbesondere den Zieldateinamen und die Dateilänge beinhaltet:
  
-^ Offset ^  Inhalt   ^ Bedeutung ^ + Offset     Inhalt    ^ Bedeutung                           
-  0    |    03     | Funktionscode "Datei versenden"+    0    |      03      | Funktionscode "Datei versenden"     
-  1    |    00     | Puffergröße Low           +    1    |      00      | Puffergröße Low                     
-  2    |    70     | Puffergröße High          +    2    |      70      | Puffergröße High                    
-  3    |    0C     |    +    3    |    t-Low     | Dateizeit (16 Bit) ...              
-  4    |    7A        | +    4    |    t-High    | ... im Format von [[https://www.ctyme.com/intr/rb-2992.htm#Table1665|Int 21/AX=5700h]]  
-  5    |    21     |    +    5    |    d-Low     | Dateidatum (16 Bit) ...             
-  6    |    32        | +    6    |    d-High    | ... im Format von [[https://www.ctyme.com/intr/rb-2992.htm#Table1666|Int 21/AX=5700h]]  
-  7    | n-LowLow  | Dateilänge (32-Bit-Wert) | +    7    |  n-LowLow    | Dateilänge (32-Bit-Wert)            
-  8    | n-LowHigh | Dateilänge (32-Bit-Wert) | +    8    |  n-LowHigh   | Dateilänge (32-Bit-Wert)            
-  9    | n-HighLow | Dateilänge (32-Bit-Wert) | +    9    |  n-HighLow   | Dateilänge (32-Bit-Wert)            
-  10   | n-HighHigh | Dateilänge (32-Bit-Wert) | +   10     n-HighHigh  | Dateilänge (32-Bit-Wert)            
-  11   |    ...    | Pfad und Dateiname       +   11    |      ...     | Pfad und Dateiname                  
- ...      ...    | noch Pfad/Name (len Bytes) | +   ...        ...     | noch Pfad/Name (len Bytes)          
-| 11+len |    00     | Endmarke                   + 11+len       00      | Endmarke                            
- ...      ...    | Platzhalter (Inhalt ohne Bedeutung) | +   ...        ...     | Platzhalter (Inhalt ohne Bedeutung) | 
-  89      ...    | Platzhalter (Inhalt ohne Bedeutung) |+   89         ...     | Platzhalter (Inhalt ohne Bedeutung) |
  
 Der Server antwortet mit 3 Byte, die darüber Aufschluss geben, ob die Datei auf dem Server schon vorhanden ist und in wie großen Blöcken der Dateiinhalt versendet werden kann: Der Server antwortet mit 3 Byte, die darüber Aufschluss geben, ob die Datei auf dem Server schon vorhanden ist und in wie großen Blöcken der Dateiinhalt versendet werden kann:
  
-^ Offset ^  Inhalt   ^ Bedeutung ^ + Offset  ^  Inhalt  ^ Bedeutung                                
-  0    |    21     | 21="OK",   20="Datei existiert schon" | +    0    |    21    | 21 = "OK", 20 = "Datei existiert schon"  
-  1    |    00     | Puffergröße Low           +    1    |    00    | Puffergröße Low                          
-  2    |    70     | Puffergröße High          |+    2    |    70    | Puffergröße High                         |
  
 Gegebenenfalls kann der Sender die Datei mit folgendem Kommando überschreiben lassen: Gegebenenfalls kann der Sender die Datei mit folgendem Kommando überschreiben lassen:
  
-^ Offset ^  Inhalt   ^ Bedeutung ^ + Offset  ^  Inhalt  ^ Bedeutung                           
-  0    |    05     | Funktionscode "Datei überschreiben"+    0    |    05    | Funktionscode "Datei überschreiben"
-  1    |    00     | Puffergröße Low           +    1    |    00    | Puffergröße Low                     
-  2    |    70     | Puffergröße High          |+    2    |    70    | Puffergröße High                    |
  
 Wenn das Überschreiben vom Benutzer nicht gewünscht wird, beendet er die Kommunikation durch das Abbruchkommando: Wenn das Überschreiben vom Benutzer nicht gewünscht wird, beendet er die Kommunikation durch das Abbruchkommando:
  
-^ Offset ^  Inhalt   ^ Bedeutung ^ + Offset  ^  Inhalt  ^ Bedeutung                               
-  0    |    00     | Funktionscode "Kommunikation abbrechen"+    0    |    00    | Funktionscode "Kommunikation abbrechen"
-  1    |    00     |    | +    1    |    00    | --                                      
-  2    |    00        |+    2    |    00    --                                      |
  
-Sofern die Übertragung nicht abgebrochen wurde, können jetzt die Nutzdaten in einem oder mehreren Blöcken versendet werden. Die maximale Blocklänge richtet sich nach der Puffergröße, die der letzten Antwort des Servers zu entnehmen war. Sobald alle Datenblöcke erfolgreich transferiert wurden, quittiert der Server schließlich noch einmal mit einer 3-Byte-Sequenz:+Sofern die Übertragung nicht abgebrochen wurde, können jetzt die Nutzdaten in einem oder mehreren Blöcken versendet werden. Die maximale Blocklänge richtet sich nach der Puffergröße, die der letzten Antwort des Servers zu entnehmen war.
  
-^ Offset ^  Inhalt   ^ Bedeutung ^ +Sobald alle Datenblöcke erfolgreich transferiert wurden, quittiert der Server schließlich noch einmal mit einer 3-Byte-Sequenz: 
-  0    |    20     | OK | + 
-  1    |    D7        + Offset  ^  Inhalt  ^ Bedeutung  
-  2    |    39        |+    0    |    20    | OK         
 +    1    |    D7((bei Modell HPC-004)) o. D8((bei Modell HPC-006))  FIXME      
 +    2    |    39    FIXME      |
  
----- 
-Klaus Peichl, 2006-02-05 
software/vorstellung/exchanges/transfolio.1226871229.txt.gz · Zuletzt geändert: 16/02/2024 17:02 (Externe Bearbeitung)