Duet (c) 1994 by Andreas Alich
==============================
(Noch ein Netz fr Ataris)

Autor
-----
Andreas Alich
Rittergasse 4
D-97070 Wrzburg

KontoNr. 5102900, BLZ 790 500 00, Stdtische Sparkasse Wrzburg

E-Mail:
Mausnet: Andreas Alich @ W
Internet: andreas_alich@wue.maus.de

Copyright
---------
Copyright (c) 1994 by Andreas Alich. All rights reserved.

Duet ist Shareware, d. h. es darf zu nicht kommerziellen Zwecken frei 
kopiert, ausprobiert und weitergegeben werden, aber nur komplett und in 
unvernderter Form. Die (kostenfreie) Verbreitung ber Mail-Boxen ist erlaubt 
und erwnscht.

Wer Duet regelmig benutzt, ist aufgefordert, mir einen Betrag zukommen zu 
lassen, der ihm fr dieses Programm angemessen erscheint (wieviel das ist, 
kann und soll jeder selbst entscheiden, es gibt weder einen Minimal- noch 
einen Maximalbetrag; wer kein Geld dafr brig hat, kann vielleicht 
wenigstens ein paar nette Worte und/oder eine schne Postkarte schicken).

Wer Shareware regelmig benutzt, ohne dafr zu zahlen, bzw. davon ausgeht, 
da sicherlich genug andere Leute zahlen, braucht sich nicht zu wundern, wenn 
es in naher Zukunft keine Shareware-Programme mehr fr den Atari geben wird! 
Jeder einzelne (auch Du!) ist gefordert, sein Interesse an guten 
Shareware-Programmen durch eine Anerkennung zu bekunden! Da der 
Shareware-Gedanke nicht gerade auf breite Resonanz stt, ist inzwischen wohl 
hinlnglich bekannt. Wenn Ihr, die 'stillen' Benutzer von 
Shareware-Programmen, Euch nicht ndert, so wird der Shareware-Gedanke 
sterben; berlegt es Euch!

Shareware bietet die Mglichkeit, ein Programm ausgiebig zu testen, bevor man 
sich entscheidet, es dauerhaft zu nutzen. Mit der Shareware-Gebhr honoriert 
man die vorliegende Version, also die Software, die man bereits besitzt und 
benutzt. Man erwirbt damit keinen Anspruch darauf, da der Programmautor auf 
spezielle Wnsche eingeht. Wer mit der vorhandenen Version eines 
Shareware-Programms nicht zufrieden ist, sollte sich zunchst beim Autor mit 
Fehlermeldungen/Anregungen melden und dann die Entscheidung, ob er das 
Programm weiterhin verwenden will, von der Antwort des Autors abhngig 
machen. In jedem Fall ist bei dauerhafter Nutzung die Shareware-Gebhr zu 
zahlen, auch wenn man nicht 100%ig mit dem Programm zufrieden ist. Wem ein
Programm nicht gefllt, der braucht es auch nicht zu benutzen. 


Haftung
-------

Die Benutzung von Duet erfolgt auf eigene Gefahr. Ich bernehme keinerlei 
Haftung fr Schden, die durch Duet oder eine falsche Benutzung von Duet 
entstehen. Duet arbeitet bei mir problemlos. Ob dies auch fr andere Rechner 
bzw. Software-Konstellationen gilt, wei ich nicht (da ich nur ber einen 
begrenzten Rechner-Zoo verfge, habe ich nur bestimmte Konstellationen 
ausprobiert). Wer Duet benutzen will, sollte auf jeden Fall zunchst diesen 
Text komplett durchlesen. 

Sinn und Zweck von Duet
-----------------------

Duet erlaubt die Verbindung zweier TOS-Rechner (ST/STE/TT/Falcon usw.) ber 
die MIDI-, LAN- oder seriellen Schnittstellen, um auf die Laufwerke des 
anderen Rechners zuzugreifen. Auerdem kann ein Drucker von beiden Rechnern 
genutzt werden.

Funktionsweise
--------------

Duet verhlt sich nach auen hin wie Big Net. Es hat intern aber (abgesehen 
von der prinzipiellen Funktionsweise auf BIOS-Ebene) nichts mehr mit diesem 
bzw. anderen Little Net-Derivaten zu tun.

Duet arbeitet auf BIOS-Ebene. Es ist einerseits darauf angewiesen, da 
stndig BIOS-Aufrufe erfolgen (unter 'normalen' TOS-Versionen ist dies der 
Fall). Andererseits werden die Laufwerke des anderen Rechners auf BIOS-Ebene 
zur Verfgung gestellt. Dies bietet einige Vorteile, hat aber auch den 
Nachteil, da man im Zweifelsfall wissen mu, was man tut, da ein 
schreibender Zugriff durch beide Rechner auf dieselbe Partition (der 
normalerweise ber den 'nur Lesen'-Status aber unterbunden ist) im Extremfall 
zum Verlust aller Daten dieser Partition fhren kann! Der 'Lesen und 
Schreiben'-Status sollte also wirklich nur dann konfiguriert werden, wenn man 
sich sicher ist, da nicht beide Rechner gleichzeitig auf dieselbe Partition 
zugreifen. 

Installation
------------

Zunchst einmal mu man sich berlegen, ber welche Schnittstelle man die 
beiden Rechner verbinden will. Falls einer der Rechner ein 'ganz normaler' ST 
ist, so ist MIDI die schnellste Schnittstelle (diese bietet 31250 Baud). Hat 
man einen schnellen, mit Schnittstellen reichlich ausgestatteten Rechner wie 
den TT und einen ST (dessen serielle Schnittstelle im Originalzustand maximal 
19200 Baud bietet), so kann man sich berlegen, ob man dem ST (falls nicht 
bereits geschehen) mit etwas Bastelei eine schnellere serielle Schnittstelle 
verpat und dann diese zur Verbindung benutzt. Zu diesem Zweck sei auf Harun 
Scheutzows RSVE und auf Stephan Skrodzkis RS_Speed verwiesen. Damit (und den 
passenden Treibern) kann man z. B. einen 8 MHz ST mit einem TT ber die 
serielle Schnittstelle verbinden und eine (Bit-)bertragungsgeschwindigkeit 
von 57600 Baud verwenden. Hat man zwei Rechner mit einer LAN-Schnittstelle, 
so kann man auch diese fr die Verbindung benutzen. Leider scheint die 
LAN-Schnittstelle des Falcon nicht korrekt zu funktionieren; bei meinen Tests 
auf einem Falcon hat die LAN-Schnittstelle jedenfalls nicht funktioniert. 
Harun Scheutzows ST_ESCC wird derzeit nicht untersttzt (da ich weder die 
Hardware habe noch Informationen ber die Programmierung der erweiterten 
Fhigkeiten des 85C230 besitze).

Hat man sich fr eine Schnittstelle entschieden, so mu man die Verbindung 
der beiden Rechner ber diese Schnittstelle realisieren. Bei der 
MIDI-Schnittstelle erfolgt dies, indem man jeweils MIDI IN mit MIDI OUT des 
anderen Rechners verbindet. Bei den seriellen Schnittstellen mu jeweils TxD 
mit RxD des anderen Rechners verbunden sein. Handshake-Leitungen werden nicht 
bentigt.

Passend zur gewhlten Schnittstelle mu der richtige Treiber gewhlt werden.

Bei einem 'normalen' ST kann man zwar mit entsprechender Hardware (siehe 
oben) eine betragungsgeschwindigkeit von 57600 Baud einstellen, jedoch ist 
ein langsamer Rechner nicht in der Lage, die eingehenden Zeichen schnell 
genug abzuholen (bei maximaler Auslastung mte der Rechner 5760 Byte pro 
Sekunde abholen). Ein 'normaler' ST kann maximal ca. 4000 Byte pro Sekunde 
abholen. Will man also einen schnellen Rechner mit einem langsamen Rechner bei 
57600 Baud miteinander verbinden, so mu der schnelle Rechner zwischen zwei 
Zeichen eine Pause einlegen. Zu diesem Zweck gibt es spezielle Treiber, die 
durch ein D (wie "delay") am Ende des Namens gekennzeichnet sind. Diese 
Treiber benutzen den normalerweise unbenutzten Timer A des MFP. 


Programmname | Treiber fr
-------------+--------------------------------------------------------------
DUETLANF.PRG | LAN-Schnittstelle des Falcon (*)
DUETLANT.PRG | LAN-Schnittstelle des TT/Mega STE
DUETMIDI.PRG | MIDI-Schnittstelle
DUET_M.PRG   | 'normale' serielle Schnittstelle (MODEM 1 beim TT/Mega STE)
DUET_M2.PRG  | MODEM 2 des TT/Mega STE
DUET_M2D.PRG | MODEM 2 des TT/Mega STE mit Verzgerung
DUET_MF.PRG  | serielle Schnittstelle des Falcon
DUET_MFD.PRG | serielle Schnittstelle des Falcon mit Verzgerung
DUET_S2.PRG  | SERIAL 2 des TT/Mega STE
DUET_S2D.PRG | SERIAL 2 des TT/Mega STE mit Verzgerung

(*) dieser Treiber funktionierte bei einem Test nicht, was aber wohl an der 
    Schnittstelle des Falcon liegen drfte.

Hat man den richtigen Treiber ausgewhlt, so kopiert man diesen in den 
AUTO-Ordner. Auerdem mu noch DUETCONF.PRG und DUETCONF.INF in den 
AUTO-Ordner kopiert werden.

DUETCONF.PRG mu physikalisch hinter dem Treiber im AUTO-Ordner liegen. Die 
physikalische Reihenfolge kann man ggf. z. B. mit TUBS verndern.

Konfiguration
-------------

Die Konfiguration erfolgt (derzeit ausschlielich) ber DUETCONF.PRG im 
AUTO-Ordner.

Dazu mu DUETCONF.INF den jeweiligen Bedrfnissen angepat werden. Leerzeilen 
und Zeilen, die mit '#' beginnen (ohne Anfhrungszeichen), werden ignoriert. 
Zeilen, die mit einem der Schlsselwrter
- CPS
- DRIVE
- NETPRN
- SPEED
- STATE
- TIMEOUT     oder
- XSPEED
beginnen, werden ausgewertet.

Der Wert nach CPS bestimmt bei Treibern mit Verzgerung (D am Ende des 
Namens) wieviele Zeichen maximal pro Sekunde bertragen werden. Der Wert mu 
sinnvollerweise kleiner als ein Zehntel der Baudrate (SPEED) sein (die 
bertragung eines Bytes erfordert zehn Bits). Bei der Verbindung eines 
normalen ST mit einem TT ber die serielle Schnittstelle mit 57600 Baud 
bietet sich z. B. beim TT ein CPS-Wert von maximal 4000 an (dann darf die 
Maus aber nicht mehr bewegt werden!).

DRIVE kann mehrfach vorkommen. Jede 'DRIVE'-Zeile installiert ein Laufwerk 
auf dem jeweiligen Rechner, ber das auf ein Laufwerk des anderen Rechners 
zugegriffen werden kann. Der erste Buchstabe nach 'DRIVE' bestimmt das 
Laufwerk, unter dem auf ein Laufwerk des anderen Rechners zugegriffen 
werden kann. Der zweite Buchstabe legt das zugeordnete Laufwerk des anderen 
Rechners fest. Mit der Zeile 'DRIVE N C' kann also z. B. ber das Laufwerk N 
auf das Laufwerk C des anderen Rechners zugegriffen werden.

NETPRN darf nur auf einem der beiden Rechner gesetzt werden. Falls es gesetzt 
ist, so werden Drucker-Ausgaben (Ausgaben auf die parallele Schnittstelle) 
zum anderen Rechner geschickt. Dieser gibt sie dann auf den an ihn (an der 
parallelen Schnittstelle) angeschlossenen Drucker aus.

Der Wert nach SPEED bestimmt (auer beim Treiber fr die MIDI-Schnittstelle) 
die zur bertragung benutzte Baudrate. Diese mu auf beiden Rechnern 
bereinstimmen (die mglichen Werte hngen vom jeweiligen Treiber bzw. der 
jeweiligen Schnittstelle ab).

Treiber  | mgliche Werte fr SPEED
---------+----------------------------------------------
DUETLANF | 19200, 38400, 57600, 115200, 125000, 229500
DUETLANT | 19200, 38400, 57600, 115200, 125000, 229500
DUET_M   | 19200, 38400, 57600, 115200 (*)
DUET_M2  | 19200, 38400, 62500, 76800, 125000, 153600
DUET_M2D | 19200, 38400, 62500, 76800, 125000, 153600
DUET_MF  | 19200, 38400, 62500, 76800, 125000, 153600
DUET_MFD | 19200, 38400, 62500, 76800, 125000, 153600
DUET_S2  | 19200, 38400, 57600, 115200, 125000, 229500
DUET_S2D | 19200, 38400, 57600, 115200, 125000, 229500

(*) ohne Hardwarezusatz untersttzt diese Schnittstelle nur bertragungsraten 
    bis 19200 Baud. Die Programmierung der Parameter fr hhere 
    bertragungsraten erfolgt fr RSVE bzw. RS_Speed

Der Wert nach STATE legt den Status des Netzes fest. Mgliche Werte sind 0 
fr 'nur Lesen' und 1 fr 'Lesen und Schreiben'. Normalerweise sollte 'nur 
Lesen' (also 0) gewhlt werden. 'Lesen und Schreiben' erlaubt auch 
schreibenden Zugriff auf die Laufwerke des anderen Rechners. Dies sollte man 
nur dann aktivieren, wenn man genau wei, was man tut. Wenn nmlich beide 
Rechner gleichzeitig schreibend auf dieselbe Partition zugreifen, so kann 
dies alle Daten dieser Partition (durch Zerstrung der FAT) vernichten! 

Der nach TIMEOUT folgende Wert bestimmt die Zeit in Sekunden, die gewartet 
wird, bis eine Fehlermeldung ausgegeben wird, falls der andere Rechner nicht 
antwortet.

XSPEED ist etwas fr Spezialisten, denen SPEED nicht ausreicht. Je nach 
Treiber werden die folgenden zwei (MFP) oder drei (SCC) Parameter 
ausgewertet. Bedeutung der Parameter:

  MFP: 1.Parameter: Vorteiler: 1: 1:4
                               2: 1:10
                               3: 1:16
                               4: 1:50
                               5: 1:64
                               6: 1:100
                               7: 1:200
       2. Parameter: Zhler

  SCC: 1. Parameter: Taktquelle: 0: RTxC
                                 1: TRxC
                                 2: BRG mit RTxC als Quelle
                                 3: BRG mit PCLK als Quelle
       2. Parameter: Vorteiler:  0: 1:1
                                 1: 1:16
                                 2: 1:32
                                 3: 1:64
       3. Parameter: Zhler

Betriebssystemvoraussetzungen
-----------------------------

Der Zugriff auf die Laufwerke des anderen Rechners sollte unter allen 
TOS-Versionen mglich sein.

Um die Drucker-Ausgaben auf den am anderen Rechner angeschlossenen Drucker 
umzuleiten, ist mindestens TOS 1.02 ntig (genauer: die xcon*-Vektoren).

Bei der Verwendung einer der seriellen Schnittstellen bzw. der 
LAN-Schnittstelle ist zu beachten, da die bertragungsparameter 
(bertragungsrate und Protokoll) durch CPX-Module und andere Programme, die 
XBIOS.Rsconf aufrufen, gestrt werden knnen, falls die verwendete 
TOS-Version nicht XBIOS.Bconmap bietet. Dies sind meines Wissens alle 
TOS-Versionen bis einschlielich TOS 1.04. Bei TOS 2.06 bzw. 3.06 gibt es 
damit keine Probleme. Bei alten TOS-Versionen darf also z. B. das MODEM-CPX 
nicht aktiv sein bzw. es mu auf die gleichen Parameter (jeweilige Baudrate, 
8N1) eingestellt sein, damit die Kommunikation funktioniert!

Auerdem kann sich Duet natrlich nicht dagegen schtzen, da andere 
Programme direkt auf die jeweilige Hardware der Schnittstelle zugreifen und 
Parameter verndern. Falls ein Programm die Parameter verndert, funktioniert 
die Kommunikation danach nicht mehr!

Falls ein Treiber mit Verzgerung installiert ist, so darf kein anderes 
Programm verwendet werden, das den Timer A des MFP benutzt.

Bemerkungen/Hinweise
--------------------

Falls der Rechner beim Zugriff auf ein Laufwerk des anderen Rechners oder 
einige Zeit nach einem Zugriff pltzlich zwanglos abstrzt, so liegt dies 
meist daran, da die maximale Sektorgre des anderen Rechners grer ist 
als die des eigenen Rechners. Zur Lsung des Problems mu der 
Festplattentreiber des eigenen Rechners entsprechend konfiguriert werden. 

Das Bewegen der Maus fhrt insbesondere bei hohen bertragungsraten (im 
Verhltnis zur Rechnergeschwindigkeit) sehr leicht zu betragungsfehlern. 
Nach Mglichkeit sollte man also (bei relativ zur Rechnergeschwindigkeit 
hohen bertragungsraten) die Maus whrend des Zugriffs auf den anderen 
Rechner nicht bewegen.

Gelegentlich kommt es (v. a. durch heftige Mausbewegungen) zu Verklemmungen. 
Dies uert sich dadurch, da der Rechner meldet, da der andere Rechner 
nicht antwortet und auch nochmalige Versuche nicht zum Erfolg fhren. Meist 
lt sich solch eine Verklemmung beheben, indem man das Netz in der 
umgekehrten Richtung benutzt, also z. B. vom anderen Rechner aus ber die 
Fileselectorbox auf ein Laufwerk des blockierten Rechners zugreift. Dabei ist 
darauf zu achten, da tatschlich ein Zugriff stattfindet; durch Caches sind 
einzelne Verzeichnisse mglicherweise bereits gepuffert!

Durch die Puffer des GEMDOS bleibt eine Vernderung auf einem Laufwerk des 
anderen Rechners hufig unbemerkt. Ggf. mu man ein Neueinlesen eines 
Verzeichnisses erzwingen, z. B. indem man im Desktop die Esc-Tatste drckt. 
Eine andere Mglichkeit bietet das Programm DUETCHG.PRG. Dieses lst einen 
Media Change fr alle Netzlaufwerke aus und zwingt das Betriebssystem damit, 
alle Informationen der Laufwerke des anderen Rechners zu vergessen.

Zukunft
-------

Die Zukunft von Duet hngt nicht zuletzt von Eurem Interesse und von Euren 
Reaktionen ab. Wenn sich wie in der Vergangenheit mal wieder jeder darauf 
verlt, da schon ein anderer Interesse zeigen wird, dann wird es sicherlich 
nichts neues mehr geben.

Wer Fehlermeldungen, Bemerkungen und/oder Anregungen hat, kann diese an obige 
Adresse schicken. Wer keine E-Mail-Adresse hat und eine Antwort haben will, 
mge bitte Rckporto beilegen.

Schlubemerkung
---------------

An dieser Stelle mchte ich mich bei Christoph Zwerschke @ KA fr sein 
LED-Panel und das geniale Debugging-Byte bedanken, das mir bei der 
Entwicklung sehr geholfen hat. Wer Christophs VGA-Simulator immernoch als 
'stiller Genieer' benutzt, sei hiermit aufgefordert, sich auch fr dieses 
geniale Programm endlich registrieren zu lassen.
