
MagicSLM

Der ATARI Laser - auf Umwegen - am Apple Macintosh


Fr viele berzeugte ATARI Fans war (?) es naheliegend sich einen ATARI SLM
605/804 Laserdrucker zu kaufen. Schliesslich handelt es sich dabei um einen
kostengnstigen Drucker, der am ATARI per ACSI Port eine hohe
Druckgeschwindigkeit ermglicht. Jetzt, da viele User auf den Apple
Macintosh umsteigen wollen, stellt sich die Frage, was man mit dem guten
Stck anfangen kann...


...



Das Gesamtpaket im Detail


Hardware

Natrlich braucht man zunchst einen ATARI ST/TT mit einem SLM Laserdrucker.
Andererseits ist ein Mac mit RS422 Modem- oder Druckerport ntig.
Schlielich bentigt man ein Kabel, das die RS422 Schnittstelle des Mac mit dem
RS232 Port des ATARIs verbindet. Wenn Sie das noch nicht besitzen, dann
knnen Sie es entweder kaufen, oder Sie bauen es anhand der folgenden
Anleitung selbst (wobei wir keine Haftung fr auftretende Schden
bernehmen).

Als Bauteile bentigen Sie eine SUB-D Buchse mit 9 oder 25 Polen (je nach
ST/STE/TT Typ), ein 8 adriges geschirmtes Kabel und einen 8 poligen
AppleTalk Stecker (siehe Bild 1 und 2).

Bild 1: RS232.IMG 'Verdrahtungsplan zur Verbindung von RS422 nach RS232'

Bild 2: RS422.IMG 'Pinbelegung der AppleTalk Buchse'


Software

Auf der ATARI Seite ist als erstes der Diablo-Druckertreiber fr den SLM
ntig (liegt auf Disk dem Drucker bei). Dann brauchen Sie natrlich unser
Programm MagicSLM.ACC, das mit Sourcen auf der MegaDisk beiliegt.

Auf der Mac Seite ist ein HP-Laserjet/Deskjet-Treiber erforderlich - egal ob
unter System 6/7 oder unter MagicMac. Fr System 6/7 bieten sich die
folgenden beiden PD beziehungsweise Shareware Druckertreiber an, [[die Sie
als HQX-Archive fr den Mac ebenfalls auf der MegaDisk finden knnen]]:

Chucks Printer Driver von Charles Rentmeesters: Dieser untersttzt nebenbei
auch verschiedene Nadeldrucker.

HPDJ 3.1 von Ari Mujunen: Ein etwas schnellerer Treiber.

Benutzt man beim ATARI eine serielle Schnittstelle mit 56KB, dann knnen
eventuell auch die Druckertreiber von PowerPrint (s.o.) verwendet werden.

Benutzt man MagicMac, dann sollte es kein Problem geben, gengend
LaserJet/DeskJet Treiber zu finden. Auf alten MagicMac Versionen ( < 1.1)
knnen Sie zum Beispiel Speedo GDOS verwenden, auf neueren Versionen bietet
sich NvdiMac an. Auch andere Programme mit eingebauten Druckertreibern
sollten problemlos funktionieren. 


Insgesamt stellt sich das komplette System dann wie in Bild 3 dar. Als Bonus
erlaubt das Programm aber zustzlich die Eingabe der Daten als PCL-File von
Disk und das Ausgeben der Daten als PCX-File.
 
Bild 3: MAGICSLM.IMG 'Das komplette System'



Das Grundkonzept

Das grundlegende Programmkonzept ist schematisch in Bild 4 dargestellt. 

Bild 4: BLOCK.IMG 'Das Programm-Grundkonzept'

Das Programm wird als Accessory ausgelegt, damit es jederzeit im Hintergrund
warten kann, auch wenn ein anderes Programm luft oder man nicht in MultiTOS
arbeitet. Der Nachteil ist, da etwa 100KB an Arbeitsspeicher verloren
gehen.

Das Kernstck des Programms ist die Multi-Event Hauptschleife. Wird der
Accessory-Eintrag im Men angewhlt, so ruft sie den Hauptdialog auf. Hier
hat der Benutzer die Mglichkeit die Ein- und Ausgabemedien festzulegen.
Hat der User im Dialog 'File' als Input gewhlt, dann ruft die Hauptschleife
sofort die Konversion auf. Wurde 'Modem' angeklickt, so berprft die
Hauptschleife im Hintergrund mit Hilfe eines Timer-Events alle 2.5 Sekunden,
ob Daten ber die serielle Schnittstelle angekommen sind. Erst dann wird
auch hier die Konvertierung gestartet.

Die Konvertierungsroutine legt zunchst fest, welche Funktionen fr die Ein-
und Ausgabe benutzt werden. Danach wird der Speicher (besonders fr den
Seitenbuffer) alloziert. Dann wird der Statusdialog aufgebaut, der
einerseits zur Information ber den augenblicklichen Zustand dient und
andererseit dem Benutzer einige einfache Eingriffsmglichkeiten gibt. Ab
jetzt hat das Accessory die Kontrolle ber den Rechner bernommen. Andere
Programme werden angehalten. Nun werden die Daten Byte fr Byte eingelesen
und umgewandelt. Dabei kmmert sich die Input-Routine auch um eventuelle
Benutzereingaben, die als 'Daten' der Wandelroutine mitgeteilt werden.

Die eingelesenen Bytefolgen werden als PCL Befehle interpretiert und in den
internen Seitenbuffer als Rasterdaten bertragen. Wird ein 'FormFeed'
empfangen, so wird jeweils die Seite ausgegeben. Ist die Konversion beendet
oder hat der Benutzer abgebrochen, so werden die Speicher freigegeben und
das Accessory verschwindet wieder im Hintergrund.

Insgesamt besteht das Programm aus folgenden Dateien:

Die GEM-Funktionen und die Routinen der Hauptschleife befinden sich in
'MAGICSLM.C', die Verwaltung der verschiendenen Eingabemglichkeiten in
'SERIAL.C' bzw. 'FILE.C'. Die Ausgabe wird in 'SLM.C' und 'PCX.C'
abgehandelt. Die eigentliche Konvertierung findet dann noch in 'CONTROL.C'
und 'PCLUTILS.C' statt. Zustzlich gibt es ein globales Headerfile
'GLOBAL.H' und eines speziell fr die PCL-Konvertierung 'PCL.H'. Die
Resourcen fr die beiden Dialoge werden in 'MAGICSLM.H/RSH/RH/RSC'
definiert. Ein Project-File fr Pure-C ('LASER.PRJ') liegt ebenfalls vor.

Diese Files befinden sich auf der MegaDisk zum Heft.


...



MagicSLM Bedienungsanleitung


Installation

Auf dem ATARI: Kopieren Sie den Diablo Treiber in den Auto-Ordner und die
ntigen Fonts - die im Diabloprogramm angemeldet sind - auf die Bootpartition
(Sie knnen den Treiber aber auch von Hand starten).

Das Accessory kopieren Sie ebenfalls auf die Bootpartition.

Im Kontrollfeld stellen Sie die selbe Baudrate ein wie auf dem Macintosh und
schalten das Handshake aus. Natrlich sollten Sie beachten, die richtige
Schnittstelle als Standardport anzuwhlen (falls Ihr ATARI mehrere besitzt).

Auf dem Mac unter Mac-OS: Ziehen Sie einen der oben erwhnten Druckertreiber
auf den Systemordner. Whlen Sie dann im Apple-Men unter 'Auswahl' den
entsprechenden Treiber an und klicken Sie auf 'Setup'. Hier whlen Sie die
Baudrate aus, schalten Sie XON/XOFF ein und whlen Sie, wenn ntig,
Laserjet/Deskjet aus.

Auf dem Mac unter MagicMac: Leiten Sie den 'parallelen' Druckerport des ST
auf den Mac Druckerport um (im MagicMac Hauptprogramm). Dann whlen Sie
einen Deskjet/Laserjet Treiber unter GDOS, SpeedoGDOS, NVDI oder einem
anderen Programm an.

Schlielich verbinden Sie beide Computer mit dem oben beschriebenen Kabel.


Betrieb

Whlen Sie das Accessory im Men an. Nun knnen Sie whlen, ob Sie Daten
ber die serielle Schnittstelle empfangen wollen, oder eine bereits
vorliegende PCL-Datei umwandeln wollen. Auerdem knnen Sie den Output auf
den SLM Laserdrucker oder in PCX-Files leiten. Dann Whlen Sie 'Start' oder
brechen das Programm mit 'Stop' ab.

Bild 6: 'SETUP.IMG' Der Hauptdialog von MagicSLM

Falls als Input eine PCL-Datei gewhlt wurde, wird sie sofort gewandelt und
das Accessory verschwindet wieder im Hintergrund. Sonst wartet MagicSLM im
Hintergrund solange bis Daten ankommen - andere Programme sollten die
Schnittstelle jetzt natrlich nicht benutzen.

Whrend der Wandlung ffnet sich der Statusdialog und Sie haben folgende
Mglichkeiten:
'Abbruch' unterbricht die Wandlung und MagicSLM gibt die Schnittstelle
wieder frei und legt sich wieder Schlafen.
'FormFeed' fhrt einen Seitenvorschub aus. Die Wandlungsbuffer werden neu
initialisiert und die Wandlung wird fortgesetzt.
'Reset' initialisiert die Wandlungsbuffer ohne sie zu Drucken und die
Wandlung wird weitergefhrt.

Bild 7: 'STATUS.IMG' Der Statusdialog

Am Ende einer Filewandlung verschwindet MagicSLM automatisch wieder im
Hintergrund. Bei der seriellen Schnittstelle als Input kann das Programm
natrlich nicht erahnen, wann keine Daten mehr ankommen. In diesem Fall mu
es, wenn alles gedurckt wurde und der ATARI wieder fr Anderes verwendet
werde soll, mit 'Abbruch' in den Hintergrund geschickt werden.


Fehlerquellen

Auf dem ATARI:

- Diablo findet seine Fonts nicht und installiert sich nicht: berprfen Sie
welche Fonts im Diabloprogramm angemeldet sind, und legen Sie sie zum Booten
in die Bootpartition oder sonst in den selben Ordner wie Diablo.
 
- Diablo druckt nicht auf den Laser sondern auf den Parallelport: Entfernen
Sie Druckerspooler oder Midicom.

- Das Programm meldet 'Nicht gengend Speicher': Sorgen Sie fr mindestens
1MB freien Speicher.

- MagicSLM empfngt keine Daten: berprfen Sie die Verbindung und die
Einstellung der seriellen Schnittstelle, zum Beispiel mit einem
Terminalprogramm.

- MagicSLM druckt 'seltsame' Seiten aus: Der Druckertreiber hat nicht
untersttzte Befehle benutzt. Verwenden Sie einen anderen.

Auf dem Mac:

- Beide PD-Treiber haben kleine Bugs: 
  Bei Chucks Printer Driver treten manchmal ein paar schwarze Pnktchen auf
  und manche Programme (zum Beispiel der Apple Book Reader) fahren gar nicht
  hoch wenn er installiert ist.
  HPDJ weigert sich manchmal zu Drucken. Oft hilft es, die Daten ins
  Clipboard zu kopieren und in ein neu geffnetes Dokument einzufgen.

- Der Mac wartet ohne zu Drucken: Das Handshake mu auf XON/XOFF geschaltet
  sein.
  Der Rechner ist eventuell auf AppleTalk geschaltet und die Schnittstelle
  ist damit belegt.

...

Bernd Spellenberg
Harald Schnfeld


