Diverse Kleinigkeiten für den Atari ST


Hier finden Sie eine Sammlung verschieder kleiner Hard- und Softwareprojekte, die ich für den Atari ST entworfen habe. Viele davon wurden von mir schon im Forum von Atari-Home.de veröffentlicht und sollen hier gesammelt werden. Die Beschreibungen sind oftmals sehr knapp gehalten, aber hoffentlich dennoch verständlich. Vielfach sind die genannten Werte elektronischer Komponenten nur abgeschätzt und daher nur als Richtwert zu verstehen.

Einige der vorgestellten Dinge benötigen ein Mindestmaß an bastlerischem Können und technischem Verständnis. Viele der beschriebenen Projekte setze ich selbst ohne Probleme ein. Ich übernehme jedoch keine Haftung für Schäden oder Datenverluste, die aus den folgenden Anleitungen resultieren.



Atari ASIC-Designs

Frei herunterladbar, aber versteckt hinter obsoleten Dateiformaten, lagen die Designs einiger Atari ASICs (Application Specific Integrated Circuits, z.B. STE GSTMCU, Blitter) anscheinend unbeachtet vor ‒ bis jetzt. Weiterlesen (auf Englisch)...


USB-Stick-Floppy-Emulator von Gotek

Zum Betrieb eines Floppy-Emulators der Firma Gotek gibt es eine eigene Seite mit umfangreichen Erklärungen, Software und Beispieldateien.


Netzwerkzeit über WLAN mit ESP8266

Der ESP8266EX des Herstellers Espressif ist ein sehr preisgünstiger Mikrocontroller mit integriertem WLAN. Ein Modul ESP-01 für knapp 2 € mit diesem Mikrocontroller, einer WLAN-Antenne und einer seriellen Schnittstelle (3,3 V TTL Pegel!) wird verwendet, um dem Atari ST die Möglichkeit zu geben, seine Uhrzeit via NTP aus dem Internet zu beziehen. Das ist besonders interessant für Ataris, die keine integrierte Echtzeituhr haben und bei denen daher nach jedem Einschalten die Uhr gestellt werden muss.

Hinweis: Die in diesem Abschnitt angebotene Soft- und Firmware befindet sich noch im Betastadium, kann Bugs aufweisen und wird noch weiterentwickelt. Lesen Sie auch die allgemeine Warnung am Anfang dieser Seite.

Ich habe auf Basis von NodeMCU eine Firmware für das ESP-01 geschrieben, die u.a. die Zeitsynchronisation erlaubt. Dieses Firmware-Image enthält NodeMCU und meine Firmware in der Version 00.76. Es ist für ESP-01-Module mit mindestens 8 MBit (= 1 MByte) Flash-Speicher gedacht. Sie können z.B. esptool und ein USB-zu-seriell-Kabel (mit 3,3 V Pegel!) verwenden, um die Firmware ab Adresse 0x00000 in das Modul zu flashen.
Neu in Firmware 00.76: Stabilität der Netzwerkverbindungen verbessert, NodeMCU-Version aktualisiert.

Nach dem Flashen der Firmware müssen Sie das Modul an die serielle Schnittstelle des Atari ST anschließen. Da das Modul mehr Strom benötigt, als man der seriellen Schnittstelle entnehmen kann (kurzzeitig >100 mA beim Start, ca. 80 mA bei aktiver Datenübertragung, ca. 20 mA ohne Datenübertragung), ist außerdem noch eine externe Stromversorgung nötig, die z.B. aus einem 5V-Handy-/USB-Netzteil bestehen kann. Hier ein möglicher Schaltplan inkl. des für die serielle Schnittstelle benötigten Pegelwandlers:

 

Dieses Archiv enthält Software für den Atari ST: WIFICONF.TOS erlaubt es Ihnen, das Modul zu konfigurieren, d.h. die Daten (SSID und Passwort) Ihres WLANs einzugeben, wie Sie dem folgenden Screenshot entnehmen können. Diese Konfiguration wird im Modul gespeichert, sodass danach ein Aufruf von WIFISET.TOS genügt, um die Uhrzeit des Atari zu stellen. Im AUTO-Ordner müssen Sie dieses Programm in WIFISET.PRG umbenennen. Aktuell ist als Zeitzone die in Deutschland gültige MEZ hartkodiert, die Umstellung auf Sommerzeit (MESZ) erfolgt automatisch.

Als weitere Software biete ich WGETST.TTP zum Download an. Dieses simple Kommandozeilenprogramm macht HTTP-Downloads über die WLAN-Verbindung des Moduls möglich. So können Dateien aus dem Internet direkt auf den Atari ST heruntergeladen werden.

Möchten Sie eigene Software für das Modul entwickeln, so finden Sie hier eine Beschreibung der Befehle, die von der Firmware unterstützt werden.


Adapter: Monitorausgang Atari ST nach VGA (nur monochrom)

Der Atari ST bietet einen monochromen (schwarz/weiß) Videomodus mit für seine Zeit herausragenden 640 x 400 Pixeln und 72 Hz Bildwiederholrate. Um ihn zu nutzen, gab es spezielle Monitore, wie den SM 124. Glücklicherweise ist das Timing der Videosignale jedoch so, dass sich mit einem einfachen Adapter auch moderne Monitore mit VGA-Eingang anschließen lassen:

Gegenüber den gängigen Bauvorschlägen im Internet habe ich den Adapter um die zwei als optional gekennzeichneten Kondensatoren erweitert. Hintergrund:

An einem Atari gab es das Problem, dass ich mit diesem Adapter kein sauberes Bild zu sehen bekam. Meist war der Monitor schwarz, gelegentlich blitzte ein verzerrtes Bild auf. Am SM124 funktioniert dieser Atari hingegen einwandfrei.

Eine Messung mit dem Oszilloskop zeigt, dass der betroffene Atari ein heftiges Unterschwingen (undershoot) auf den VSYNC- und HSYNC-Signalen aufweist. Wenn diese auf Low gehen, um die Austastlücke anzuzeigen, fallen sie kurzzeitig (<100ns) auf beinahe −5 V, bevor sie sich auf 0 V einstellen. Dem SM124 ist das offensichtlich egal. Mein moderner Monitor wird davon aber so verwirrt, dass er sich nicht richtig auf das Bild synchronisiert.

Lösung: Ich habe im Adapter zwei Kondensatoren von den Sync-Leitungen gegen Masse geschaltet, 10 nF für VSYNC, 470 pF für HSYNC. Damit ist das Problem gelöst und der Monitor zeigt ein 100% sauberes Bild. Ob die Kondensatoren die optimalen Werte aufweisen, habe ich nicht überprüft. Ich habe die Zeitkonstanten lediglich abgeschätzt; die Kapazitätsangaben sind also als variabel zu verstehen.


Adapter: Monitorausgang Atari ST nach SCART (Farbmodi)

Die farbigen Videomodi das Atari ST verwenden, anders als der oben beschriebene Monochrommodus, ein Timing, das nur wenige moderne Monitore am VGA-Eingang verstehen. Ursache ist die zu geringe Horizontalfrequenz von ca. 15,7 kHz. Jedoch lässt sich ein Atari ST im Farbbetrieb dadurch einfach an den SCART-Eingang eines Fernsehers anschließen:

Gegenüber den üblichen Bauanleitungen habe ich dieses Kabel um eine Diode und einen Kondensator erweitert. Hintergrund: Bei den anderen SCART-Kabeln liegt das VSYNC-Signal des Atari direkt am Pin 16 der Scart-Buchse an. Bei manchen (alten) Scart-Eingängen ist das das Austast-Signal (Blanking), dort wäre es OK, dass das Signal während der Austastlücke low wird. Für viele neue Fernseher ist Pin 16 aber die Composite/RGB-Umschaltung und muss dauerhaft high gehalten werden, damit der Fernseher nicht ständig oder in regelmäßigen Abständen zwischen Composite-Video und RGB hin und her schaltet. Dafür sorgen Diode und Kondensator.

Ein Hinweis zu den optionalen Widerständen: Bei mir sind sie nicht nötig. Sollte jedoch das Bild auf dem Fernseher oder Monitor zu hell bzw. "ausgewaschen" (z.B. Grau wird zu Weiß) wirken, dann schaffen sie Abhilfe.


Adapter: PS/2-Maus am Atari anschließen

Ein Adapter auf Basis eines AVR ATmega8 (Firmware (HEX-File und Sourcecode)), um eine PS/2-Maus am Atari anzuschließen. Achtung: Die Taktquelle des ATmega8 muss durch Einstellung der entsprechenden Fuses auf den 4-MHz-RC-Oszillator konfiguriert werden, d.h. CKSEL3..0 = 0011.

Im Schaltplan angegeben sind jeweils die Pinnummern am PS/2- und am Atari-Maus-Stecker. Eine Möglichkeit ist, den Adapter in eine Maus einzubauen, wie hier gezeigt. Die Farben im Schaltplan entsprechen denen im originalen Mauskabel des Atari.


SCSI-Initiator-ID für den Hostadapter ICD AdSCSI plus

Eine kleine Schaltung sorgt dafür, dass der ACSI-SCSI-Hostadapter ICD AdSCSI plus während der SCSI-Selektion nicht nur die ID des Targets (z. B. der Festplatte) sondern auch eine eigene ID auf den SCSI-Bus legt (sogenannte Initiator-ID). Manche SCSI-Geräte benötigen dies zur korrekten Funktion. Als Initiator-ID wird die ID 6 verwendet, die ohnehin auf dem Hostadapter für die Echtzeituhr eingesetzt wird, sodass keine zusätzliche SCSI-ID belegt wird.

Ich habe die oben genannte Schaltung und eine Platine dazu entworfen, die hier im eingebauten Zustand zu sehen ist. Für Nachbauten enthält dieses Dokument Beschreibung und Schaltplan.


Absturz bei Anschluss einer externen Festplatte

Symptom: Der Atari ST stürzt nach Anschluss einer Festplatte an den DMA-Port (auch ACSI-Port genannt) häufig ab oder das Bild beginnt zu flimmern. Das Problem tritt evtl. nur mit bestimmten Festplatten oder sogar nur in Kombination mit bestimmten Anschlusskabeln auf.

Grund: Die systemweite RESET-Leitung ist beim 520/1040ST(F) ungepuffert auf Pin 12 des DMA-Ports geführt. So können kurze Störpulse, z.B. durch Übersprechen auf dem Anschlusskabel, das System außer Gefecht setzen.

Lösung: In meinem Fall hat das Einfügen eines 82-Ω-Serienwiderstands in die – natürlich zuvor aufgetrennte – RESET-Leitung zum DMA-Port-Steckverbinder auf dem Mainboard geholfen.


Bildfehler am Atari STFM

Manche Atari 520 oder 1040 STFM zeigen am Fernseher über das SCART-Kabel heftige Fehler bei der Bildsynchronisation bei größtenteils weißem Bild (z.B. beim Booten oder bei hauptsächlich weißen Dialogboxen):

Es handelt sich wohl um Alterung des Ausgangsverstärkers des Videosignals, der so (nur) in den STFMs verbaut wurde und der bei RGB über SCART für die Bildsynchronisation zuständig ist. Es verschiebt sich dabei der Arbeitspunkt. In meinem Fall konnte das durch den Tausch eines Widerstands behoben werden. Laut Schaltplan handelt es sich dabei um R13 mit 22 kΩ, den ich durch einen 27-kΩ-Widerstand ersetzt habe.

Achtung: Auf der Platine hat der Widerstand je nach Layout-Version eine komplett andere Bezeichnung. Es sollte jedoch in der direkten Umgebung der Monitorbuchse nur einen Widerstand mit 22 kΩ geben. Im Zweifelsfall die Verbindung zum Transistor Q1 nachmessen.

Andere Lösungen für dieses Problem, die jedoch ebenfalls einen Tausch eines Bauteils erfordern, finden sich in diesem Forenthread.


Gleichspannungspegel rund um den Audio-Verstärker

Im Zusammenhang mit einer Fehlersuche an einem Atari 1040STF, bei dem die Audio-Ausgabe gestört war, habe ich die zu erwartenden Gleichspannungspegel rund um den Soundchip YM2149 und den Audio-Verstärker (nur ein Emitterfolger) in einen Schaltplanausschnitt eingetragen. Sie gelten bei inaktiver Audio-Ausgabe und sind nicht nachgemessen sondern nur auf Basis einer Schaltungsanalyse mit Stift und Papier abgeschätzt. Ich erwarte, die Potenziale dennoch auf ±0,5 V genau getroffen zu haben.


RAM-Test-Software YAART

An den bislang für den ST verfügbaren Speichertestprogrammen stört, dass sie meist sehr simpel gestrickt sind. Sie finden natürlich offensichtliche Probleme mit dem RAM, aber keine subtilen Fehler, die nur nach vielen Durchläufen oder mit bestimmten Testmustern auftreten. Für den PC gibt es mit Memtest86 Software, deren Testalgorithmen speziell optimiert wurden, um auch solche Fehler zu finden.

Ich habe mich nun daran gemacht, einen Teil dieser Algorithmen in einem Testprogramm für den Atari umzusetzen. Dabei ist YAART (Yet Another Atari RAM Test) entstanden. Von der Testtiefe halte ich es jetzt schon für besser als viele andere RAM-Testprogramme für Atari TOS.

YAART existiert in zwei Varianten: YAART.TOS ist ausschließlich für (Mega-)ST(E)-Computer gedacht, kann dafür aber auch Speicher testen, der bereits vom Betriebssystem oder anderen Programmen belegt ist. YAARTTT.TOS hingegen testet nur unbelegten Speicher, läuft dafür aber auf allen Atari-kompatiblen Rechnern (u.a. TT und Falcon) und testet neben ST-RAM wahlweise auch TT-/Alt-RAM.

Download der Version 0.2.1 inkl. Anleitung.


Normale TOS-Programme als ROM-Cartridge

Der ROM- oder Cartridge-Port des Atari ST erfordert ein besonderes Programmformat und auch speziell dafür entwickelte Anwendungen. Normale TOS- und GEM-Programme (.TOS oder .PRG) laufen nicht direkt im ROM. Ich habe einen Loader entwickelt, der es dennoch ermöglicht, reguläre Anwendungen auf einem Cartridge unterzubringen. Diese Anwendungen erscheinen auf dem Desktop auf einem virtuellen Laufwerk c: (kleines c). Der Loader kopiert beim Start das Programm aus dem ROM ins RAM und richtet auch sonst alles ein, als sei das Programm normal von Diskette oder Festplatte gestartet worden.

Dieses Archiv enthält den Loader und ein Python-Skript (benötigt das Intelhex-Paket), um entsprechende Cartridges zu erstellen. Das Cartridge-Image wird in zwei Formaten ausgegeben: binär (z.B. zum Test im Emulator) und als Intel-HEX-Datei zum Programmieren in ein echtes ROM-Modul. Einschränkungen: 1. Nur ein Programm mit max. 64 kiByte kann auf dem Cartridge hinterlegt werden. 2. Weitere Dateien (z.B. .RSC-Dateien) können nicht untergebracht werden.


DESK1COL: Nur eine Spalte in der Desktop-Dateiansicht auch bei hohen Auflösungen

Wenn ein Atari ST mit TOS 1.04 durch Einbau einer neuen Grafikkarte mit einer höheren Auflösung als 640 x 400 Pixeln betrieben wird, zeigt der Desktop Dateilisten in der Textansicht mehrspaltig und in einer gewöhnungsbedürftigen Sortierung an. Derart hohe Auflösungen hatten die Entwickler offenbar nicht vorgesehen. DESK1COL ist ein von mir entwickeltes Programm, um dies zu lösen.

Download von DESK1COL.PRG V. 0.6, mit dem der TOS 1.04 Desktop unabhängig von der Bildschirmauflösung (also auch bei mehr als 640 x 400 Pixeln) im Text-Modus nur eine Spalte darstellt. Das Programm belegt dauerhaft ca. 700 Bytes(!) RAM und kann z.B. im AUTO-Ordner, aber auch durchaus noch später aus einem schon gebooteten System heraus, aufgerufen werden.

Hinweise: DESK1COL.PRG braucht ein deutsches TOS 1.04 vom 06.04.1989. Es lässt sich nur durch Reset wieder deinstallieren. Im Emulator tut es was es soll. Ich konnte keine Nebenwirkungen feststellen, übernehme aber keine Garantie, dass es wirklich fehlerfrei ist. Daher: Erst einmal vorsichtig testen.