Wie schließe ich meinen ST an einen Multisync an?

Zu diesem Thema gab es eine Menge Ideen im leider nicht mehr online verfügbaren Multisync FAQ.

Leider haben diese Lösungen eines gemeinsam: Es werden nur die Signale einer Auflösung auf den Multisync gegeben (ggf. umschaltbar über eine Switchbox). Soll der Multisync bei diesen Schaltungen die hohe Auflösung darstellen, dann wird oft einfach das Signal des Mono-Ausganges des ST auf alle drei RGB-Eingänge des Multisync gelegt. Der Ausgang des ST wird dabei mit dreimal 75 Ohm be- und damit überlastet, was er zwar in der Regel verträgt aber auf jeden Fall zu einem zu dunklen Bild führt.

Mit einer einfachen Schaltung kann man den ST dagegen so umbauen, daß alle Videomodi auf einem an den RGB-Ausgang angeschlossenen Multisync dargestellt werden und in allen Darstellungen ein gleich helles Bild erzeugt wird. Natürlich kommt für so eine Aktion nur ein Bildschirm in Frage, der alle ST-Auflösungen beherrscht, also von 15kHz bis 36kHz Zeilenfrequenz synchronisieren kann (z.B. NEC Multisync 3D). Diese Bildschirme werden zunehmend seltener, sind aber oft günstig gebraucht zu bekommen.

Das Videosystem des Atari hat zwei getrennte Ausgänge für den Anschluß von RGB-Farbbildschirmen und dem monochromen SM124. Beide Videosignale werden vom Shifter erzeugt, aber über getrennte Ausgänge ausgegeben. Während das Signal für den SM124 über einen einfachen Treiber an den Bildschirm geschickt wird werden die neun Ausgänge des Shifters für das Farbsignal erst noch umgewandelt. Der Shifter liefert je drei TTL-kompatible Signale für den Rot, den Grün und den Blauanteil des Bildes. Über Widerstände werden diese drei Signale zu einem Analogsignal mit acht Spannungswerten zusammengemischt. Alle drei Augänge low wird dabei zum niedrigsten Spannungswert gemischt (Farbe dunkel), alle Ausgänge high ergibt die maximale Spannung (helle Farbe).

Der Trick besteht nun darin, im Mono-Modus das Schwarz-Weiß-Signal auf die Widerstände für die Farbumwandlung zu legen. Das erledigen die Multiplexer U2-U4, die bei einem Low am Auswahleingang (Pin 1) das Mono-Signal auf alle neun Widerstände legen. Um den Mono-Ausgang des Shifters nicht zu sehr zu belasten wird das Signal vorher über drei Treiber im GAL U1 geführt. Im Farbbetrieb (Select-Eingang High) werden die RGB-Signale unverändert weitergereicht.

Um korrekt zwischen den Betriebsmodi hin- und herschalten zu können muß der aktuelle Videomodus erkannt werden. Im normalen Betrieb erkennt der ST den angeschossenen Bildschirm am Monitor-Sense-Pin des Videosteckers, der dazu bei Anschluß eines SM124 mit Masse verbunden ist und sonst offen bleibt. Da die Umschaltung hier völlig automatisch, also ohne tatsächlichen Wechsel des Bildschirms erfolgen soll muß der Modus anders erkannt werden.

Es bietet sich das Hsync-Signal an, das in den Farbmodi ungefähr 15kHz (64us), bei Monochrombetrieb aber knapp 36kHz (28us) beträgt. Das in der Schaltung eingesetzte GAL (JEDEC) enthält einen 4-Bit-Zähler, der mit 500kHz (2us) getaktet wird (liegt im ST auch an Pin 3 und 4 der 6850 an). Dieser Zähler wird bei jedem Hsync gelöscht. Erreicht der Zählerstand zwischen zwei Hsyncs den Wert 15 (15 * 2us = 30us), dann ist mit Sicherheit der Farbmodus aktiv. In diesem Fall wird der Ausgang eingeschaltet und gehalten, solange nicht während einem Zählerstand kleiner 15 ein Hsync auftritt. Das wiederum passiert nämlich nur in der monochromen Auflösung.

Nun bleibt das Problem, dem Atari einen Bildschirmwechsel glaubhaft zu machen, ohne daß tatsächlich der Bildschirm gewechselt wird. Je nach Zustand des Monitor-Sense-Einganges führt ein Umschalten der Auflösung via XBIOS-Funktion (Setscreen) zu einem Reset, wenn dabei zwischen den unterschiedlichen Bildschirmarten gewechselt würde. Dies ist von Atari so eingeplant, da die falschen Signale einen Monitor zerstören könnten und somit die Videohardware bei Wechsel des Bildsschirmes sofort mit den korrekten Parametern neu programmiert wird.

Eine sehr einfache Methode, den Reset zu verhindern besteht darin, die entsprechende Interruptfunktion umzubiegen. Leider wechselt der Atari aber immernoch abhängig vom Monitor-Sense-Eingang (Videostecker Pin 11) den Videomodus. Dieses Verhalten ist so tief in undokumentierten und je nach Betriebssystemversion unterschiedlichen Funktionen verborgen, daß es nicht unterbunden werden kann. Glücklicherweise hat Atari am Videostecker aber einen ungenutzten Ausgang herausgeführt (Pin 3, Port A Bit 6 des Soundchips). Dieser kann nun zum Umschalten der Videomodi benutzt werden, indem er einfach mit dem Sense-Eingang verbunden wird.

Bisher wurde dieser Ausgang oft für einen ähnlichen Zweck verwendet, nämlich um mit einer automatischen Monitor-Umschalt-Box zwischen einem SM124 und einem Farbbildschirm umzuschalten. Die hier entwickelte Schaltung verhält sich aus Sicht des Computers wie eine solche Umschaltbox. Programme, die diese ansteuern (einige Debugger zum Beispiel) kommen also auch entsprechend mit dieser Schaltung zurecht. Auch das STGA-ROM-Modul arbeitet mit dieser Schaltung wie mit einer Umschalt-Box zusammen.

Eine andere Möglichkeit besteht darin, den Sense-Eingang rechnerintern mit dem vom GAL generierten Farb-Detect-Signal (Pin 19) zu verbinden. Wir nun die Auflösung umgeschaltet, dann wird automatisch sofort auch der Sense-Pin umgeschaltet. Da die Erkennung des falschen/anderen Monitors via Sense im ST eine Weile dauert (wird erst beim nächsten Vsync erkannt) ist bis dahin das Sense-Signal aktualisiert und der Rechner akzeptiert die neue Auflösung. Für die Software bedeutet das, daß sie beliebig mit Setscreen zwischen den verschiedenen Auflösungen umschalten darf, ohne daß ein Reset ausgelöst wird oder die Auflösung nicht stimmt. Programme, die dazu auch den GPIO-Pin betätigen, weil sie eine Switch-Box erwarten tun dieses zwar unnötiger Weise, funktionieren aber wie erwartet.

Oftmals fragen Programme aber die Auflösung ab und wechseln nicht von sich aus von Farbe nach Schwarz-Weiß und umgekehrt, weil sie in einem unmodifizierten ST mit einem Reset rechnen müßten, sondern beenden sich nach einer entsprechenden Fehlermeldung (Dieses Programm ist nur auf dem SM124 lauffähig) wieder. Ich schlage vor, daß auf Maschinen, die ungehindert den Wechsel zwischen den Auflösungen erlauben, ein Cookie (MSAS - Multi-Sync-Auto-Switch) gesetzt wird und daß Programme, die diesen Cookie vor einem Auflösungswechsel finden, auch zwischen Farb- und Schwarz-Weiß-Modi umschalten.


Till Harbaum
Till@Harbaum.org