Leserfragen

Das OPEN-Statement im Atari-BASIC

Welche weiteren OPEN-Typen, außer 4, 6, 8, 9 und 12, gibt es noch und wie wendet man sie an? Wo finde ich eine Liste aller XIO-Befehle?

Der erste Parameter (hinter der Kanalnummer) eines OPEN-Kommandos gibt die Betriebsart an, in der die angesprochene Einheit arbeiten soll; und jedes Gerät kennt natürlich nur ganz bestimmte Betriebsarten. In Verbindung mit der Diskettenstation (D:) haben tatsächlich nur die fünf genannten Werte eine Bedeutung. Die Cassette kann nur lesen (4) oder schreiben (8). Die Betriebsart 5 bedeutet für die RS-232-Schnittstelle, deren Handler nicht im Atari implementiert ist, "Lesen ".
Zum Experimentieren geeignet ist wahrscheinlich nur die Betriebsart 13 in Verbindung mit dem Editor: "Ausgabe auf Bildschirm/Eingabe vom Bildschirm". Ein per INPUT#... über einen solchen Kanal eingelesener String wird ab der Cursor-Position bis zum Ende der (logischen). Zeile vom Bildschirm übernommen. Mir ist allerdings bisher keine sinnvolle Anwendung dafür eingefallen.
Eine Liste aller OPEN- und XIO-Befehle mit Parametern bietet z. B. das Buch "Mein Atari-Computer".

Fremdlaufwerk an XL

Ich möchte an meinem 800 XL eine Fremd-Floppy über den seriellen Port betreiben. Wie muß diese an den Computer angeschlossen werden?

Grundsätzlich kann man sagen, daß ein Laufwerk, das nicht für den Atari gedacht ist, sich nur über ein Interface mit diesem Rechner betreiben läßt. Bisher stehen noch keine solchen Schnittstellen zur Verfügung, zum Anschluß von Floppys anderer Heimcomputer (z. B. Commodore oder Schneider) wird es sie vermutlich nie geben - es würde sich wohl auch nicht lohnen.
Anders könnte es mit "normalen" Industrielaufwerken (5,25" oder 3,5") aussehen. Unseren Informationen zufolge arbeitet der Irata-Verlag an einem Interface für solche Geräte. Es bleibt abzuwarten, was dabei herauskommt. Vielleicht sollte man noch darauf hinweisen, daß es in den USA einige (teure) Floppys speziell für Ataris gibt, die aber bei uns nie vertrieben wurden.

Haltbarkeitsfrage

Wie lange können Computerausdrucke auf Thermopapier ohne wesentlichen Qualitätsverlust aufbewahrt werden?

Diese Frage kann ich nur an unsere Leser weitergeben: Wer hat bereits vergammelte Thermo-Ausdrucke?

130 XE - Mehr Speicher oder nicht?

Ich beabsichtige, entweder einen Atari 800 XL oder 130 XE zu kaufen. Können Sie mir sagen, welche Bedeutung die höhere Speicherkapazität des XE für die Arbeit mit dem Computer, insbesondere auch für Spiele, hat?

Man sollte zunächst einmal darauf hinweisen, daß es sich bei diesen beiden Geräten eigentlich um ein und denselben Rechner handelt. Die zusätzlichen 64 KByte RAM des 130er bedeuten nicht etwa, daß der Computer in der Lage wäre, 128 KByte direkt zu adressieren. Vielmehr' läßt sich zwischen verschiedenen sogenannten Speicherbänken hin und her schalten; es können aber immer nur 64 KByte gleichzeitig angesprochen werden. Der zusätzliche Speicher ist also auf den Einsatz als RAM-Disk (eine softwaremäßig simulierte, sehr schnelle Diskettenstation) oder ähnliches beschränkt.
Nur wenige Atari-8-Bit-Programme benutzen die RAM-Disk, und noch weniger setzen sie voraus. Spiele werden meistens ohnehin so geschrieben, daß sie nur 48, höchstens 64 KByte belegen. Was Spiele betrifft, macht es also praktisch keinen Unterschied, ob Sie nun einen 800 XL oder einen 130 XE verwenden. Es gibt jedoch schon einige Anwendungsprogramme - und es werden bestimmt mehr -, die die RAMDisk sinnvoll einsetzen oder nur durch sie möglich sind (z. B. "Text-130"). Man kann wohl sagen, daß die RAM-Disk sich für jeden, der etwas mehr mit seinem Computer anfangen möchte als nur spielen, durchaus lohnt.

Peeks und Pokes

Fast alle Basic-Programme enthalten eine Menge POKE- und PEEK-Befehle. Wie funktionieren diese, wo muß man sie einsetzen und was bedeuten sie?

Ein POKE-Kommando dient dazu, einen bestimmten Wert (von 0 bis 255) in eine bestimmte Speicherstelle des Computers zu schreiben. Mit der Funktion PEEK (x) kann man deren Inhalt auslesen. Nun gibt es 65536 verschiedene Speicherstellen und viele Möglichkeiten, sie mit Zahlen zwischen 0 und 255 zu beschreiben. Davon haben natürlich nur einige für den Basic-Programmierer einen Sinn nämlich überall dort, wo entsprechende Basic-Befehle fehlen, wo man etwas tiefer in die Funktionsweise des Computers eindringen will oder sich ein wenig aus der Kontrolle des Bast c-Interpreters lösen möchte (z. B. Player-Missile-Grafik, Displaylist-Änderungen, erweiterte Sound-Programmierung usw.). Diese Einsatzgebiete sind zu umfangreich, um sie im Leserforum zu behandeln. Alle, die mehr darüber erfahren wollen, verweise ich auf folgendes Buch: "Peeks und Pokes zu Atari 600 XL, 800 XL ", Buchversand-Best. -Nr. DB 1.

Neuer Rechner - gleiche Software?

Mir schwebt vor, irgendwann vom Atari 800 XL auf den ST- oder PC umzusteigen. Wird sich ST- oder sogar XL-Software auf dem PC betreiben lassen?

Mit Sicherheit nicht! Es gibt zwar Programme (oder Gerüchte darüber), die so etwas versprechen, jedoch funktionieren die meisten dieser Emulatoren - wenn überhaupt- nur sehr eingeschränkt.

Maschinenprogramme ändern

Wie muß man vorgehen, wenn man ein kommerzielles Maschinenprogramm abändern möchte, z.B. um ein paar Leben mehr einzuprogrammieren oder Farben zu ändern?

Dazu benötigt man in erster Linie zwei Dinge, nämlich einen guten (Disk-)Disassembler, mit dem man zunächst einmal ein brauchbares Assemblerlisting erstellen muß, und außerdem sehr viel Ahnung, sowohl von Assembler als auch vom Atari selbst. Nur dann besteht eine Chance, das Assemblerlisting so weit zu analysieren, daß man die entsprechenden Änderungen vornehmen kann. Auch spielt immer etwas Glück eine Rolle. Ein unerfahrener Anwender wird kaum Aussicht auf Erfolg haben.

Sprache für Spiele gesucht

Mit welcher Sprache werden kommerzielle Spiele wie z. B. "Time Bandit" geschrieben? Meine Versuche in Basic und LOGO brachten keine brauchbaren Ergebnisse!

Generell werden solche Programme in Sprachen erstellt, die direkt in echte Maschinensprache kompiliert werden. Gerade bei Action-Spielen kommt es ja sehr auf Geschwindigkeit an, und Maschinensprache ist nun einmal das Schnellste, was möglich ist. Bisher hieß das, daß man den Assembler einsetzen mußte. (Das wird auf den 8-Bit-Rechnern wohl auch in Zukunft so bleiben.) Sprachen wie C bringen jedoch, zumindest auf dem ST, heute schon (fast) genauso gute Ergebnisse. Zudem ist hier die Programmierung wesentlich einfacher (strukturiert usw.).

Funktionen in Basic

Das Atari-Basic enthält keinen DEFine-Function-Befehl, mit dem man Formeln zu eigenen Funktionen erklären kann. Läßt sich so etwas irgendwie simulieren oder umsetzen?

Eine solche Funktion wäre in der Tat nützlich, da sie Tipparbeit und Speicher spart. Eine andere Möglichkeit als ein GOSUB-Unterprogramm gibt es jedoch nicht.

Monitor-Sound

Ich habe meinen Atari 800 XL über die Monitorbuchse mit meiner Hi-Fi-Anlage verbunden. Allerdings klingt der Baßton verzerrt und zu schwach. Wie läßt sich das ändern?

In diesem Fall sollte man die Impedanz überprüfen. Eventuell hilft auch die Schaltung im' Kasten.
center

Commodore-Befehlssatz

Für den C 64 erschien einmal ein Programm, das den Sinclair-Befehlssatz auf diesem Rechner emulierte. Läßt sich so etwas auch mit dem Commodore-Basic auf dem Atari verwirklichen?

Grundsätzlich ist es natürlich möglich, das Commodore-Basic auf dem Atari zu emulieren. Sinnvoll wäre das jedoch bestimmt nicht. Zum einen ist das C-64-Basic sicher nicht besser als das Atari-Basic, zum anderen liefen wohl die wenigsten C64-Programme. Genau wie beim Atari enthalten nämlich auch auf dem C 64 Basic-Programme sehr viele Pokes. Diese müßte man alle anpassen, was sich aber nur schwer erreichen ließe, da die Systeme hinsichtlich der Hardware völlig unterschiedlich sind.
Genau an diesem Punkt möchte ich einhaken. Jeder Computerbesitzer mußte sich irgendwann für ein System entscheiden - im vollen Bewußtsein, daß dieses sowohl Stärken als auch Schwächen hat. Ich glaube, um mit seinem Gerät glücklich zu werden, muß man auch die richtige Einstellung dazu haben, und die liegt sicher nicht im ständigen Schielen auf die Stärken der anderen, sondern doch wohl eher darin, zu versuchen, die Stärken des eigenen Systems voll auszuschöpfen.

Assembler-Dialekte

Ich habe gehört, daß es wie bei Basic auch verschiedene Assembler-Dialekte geben soll. Wenn das stimmt, welche Assembler gibt es und welcher ist der beste oder am weitesten verbreitete?

Daß es verschiedene Assembler-Dialekte gibt, ist nur eingeschränkt richtig. Die Assembler-Befehle, die sogenannten Mnemonics, sind ja eigentlich nichts anderes als eine Buchstabenschreibweise für die nicht allzu vielsagenden Maschinensprachecodes. Sie sind international festgelegt und natürlich bei allen Assemblern gleich. Sprachliche Unterschiede zwischen den einzelnen können also nur noch in den Assembler-Direktiven liegen. Das sind Kommandos, die nicht in Maschinensprache übersetzt, sondern beim Kompilieren ausgeführt werden. Zum Standard gehören z. B. Befehle zum Einfügen von Zahlentabellen oder Texten ins Programm. Luxus-Assembler bieten hier auch solche Besonderheiten wie bedingte Assemblierung, die man jedoch nur selten benötigt.

Allgemein wird man im Normalfall keine Schwierigkeiten haben, Programme von einem Assembler auf einen anderen anzupassen (aus .BYTE wird DFB usw. oder umgekehrt). Wichtiger als diese Dinge sind jedoch meistens Äußerlichkeiten wie Assembliergeschwindigkeit, Editorkomfort und ZusatzTools (Monitor, Debugger usw.). Hier ein paar Worte zu den bekanntesten Assemblern: - Editor/Assembler-Cartridge: Langsam und veraltet, nicht zu empfehlen.

Programmierung in Maschinencode

Wie kann man direkt in Maschinencode auf dem Atari XL programmieren? Braucht man dazu ein spezielles Programm?

Direkt in Maschinencode zu programmieren, hieße, die Zahlencodes eines jeden AssemblerBefehls selbst auszurechnen. Dazu ist kein spezielles Programm erforderlich, sondern nur ein Taschenrechner, ein gutes Buch über Maschinensprache (z. B. "Programmierung des 6502", R. Zaks, Sybex) und viel, viel Geduld! Mit den (hoffentlich richtig!) ermittelten Werten kann man dann unter Basic eine der bekannten DATA-Schlangen mit dem FORNEXT-Kopf und dem USR oder RETURN-Schwanz programmieren. Wie man jedoch schnell merken wird, ist diese Methode nur als Übergangslösung und für ganz kleine Routinen geeignet. Ein Assembler ist eben nicht so leicht zu ersetzen!

Seikosha-Fragen

Ich besitze einen Seikosha GP-550A mit GE-Printer-Interface und habe folgende Fragen:

  1. Wie kann ich meine Maltafelbilder ausdrucken? Ich verfüge zwar über das entsprechende Programm, mir fehlen jedoch die BIT-IMAGE-MODE-Steuercodes.
  2. Wie erreiche ich den Ausdruck der Sonderzeichen (CONTROL A usw.)?
  3. Wie bringe ich den Printer zum Unterstreichen oder zum Fettdruck?
  4. Welche Textverarbeitung würden Sie mir empfehlen?
  5. Ich möchte die 1050-TurboErweiterung kaufen. Glauben Sie, daß ich mit dem zugehörigen Interface besser bedient wäre als mit dem bereits vorhandenen?

Die Fragen 1 bis 3 möchte ich an unsere Leser weitergeben. Wer brauchbare Lösungen zu diesen Problemen gefunden hat, schreibe doch bitte an den Verlag.
Zu Frage 4: Wenn der Rechner auf 128 KByte aufgerüstet ist, sollten Sie mit "Text-130" arbeiten. Sonst benutzen Sie den "Atari-Schreiber" unter der Option 1029. (Der Seikosha und der Atari 1029 sind weitgehend kompatibel.)
Zu Frage 5: Das 1050-Turbo-Interface würde keinen Unterschied bewirken, also auch keinen Vorteil gegenüber lhrem jetzigen Interface bringen. Das gilt auch für fast alle anderen Drucker und Schnittstellen.

Cassetten-Probleme

Wie bekomme ich meine Cassettenprogramme auf Diskette? "Copy Cass-Disc" aus dem ATARImagazin 3/87 läuft nicht.

"Copy Cass-Disc" läuft schon, nur wenn man ein Programm damit (oder mit irgendeinem anderen entsprechenden Kopierprogramm) erfolgreich kopiert hat, heißt das noch nicht, daß dieses auch auf Diskette lauffähig ist. Viele Programme sind so geschrieben, daß sie überhaupt nicht als File von Diskette geladen werden können, weil sie beispielsweise den gleichen Speicher benutzen wie das DOS.
Manchmal hilft hier ein spezielles Startprogramm (wie z. B. das Warpspeed-Mini-DOS, das zur Happy-Software gehört; auf Kleinanzeigen achten!). Spätestens wenn das Programm auf Cassette in mehrere Teile untergliedert ist, kommt man aber nur noch mit einem Freezer weiter. Dabei handelt es sich um eine spezielle Hardware, die beim Auslösen den ganzen Speicher so auf Diskette schreibt, daß er wieder gebootet werden kann.

Fragen zum Scanner

Nachdem wir in Heft 5/87 den Bericht "Bilder digitalisieren für wenig Geld" veröffentlicht haben, erreichten uns zahlreiche Anfragen zum Thema Scanner. Einige davon wollen wir hier für alle beantworten.
Frage: Wo bekomme ich die Bauteile für den Bastelvorschlag?

Konkrete Bezugsquellen für Bauteile sind je nach Wohnort z. T. schwer zu finden. Wir empfehlen Fachgeschäfte und Versandhäuser für ElektronikKleinteile, z. B. Conrad-Electronic in Hirschau. Besonders der Preis für den Abtaster schwankt sehr stark. Man achte auf die Ansprechspannung der IR-Diode von höchstens 5 Volt! Das Anschlußkabel kann nicht einem alten Joystick entnommen werden, weil die PADDLE-Anschlüsse belegt sein müssen. Nicht nur denen, die Schwierigkeiten haben, alle Teile zu bekommen, empfehlen wir das Scanner-Paket "scantronic" von R+E-Software.

Frage: Was unterscheidet "scantronic" von R+E von dem Bastelvorschlag aus Heft 5?

"scantronic" enthält den fertig montierten Abtaster, wie wir ihn in Heft 5 beschrieben haben, anschlußfertig für XL/XE mit Klettverbindung zum Anbringen am Druckkopf. Weiterhin gehört ein umfangreiches Software-Paket zum Lieferumfang:

  1. Steuerprogramm Version 2, gegenüber Heft 5 erweitert um verbesserte Bildschirmspeicherung und Anpassung für Star-NL-10-Drucker.
    (Die Heftversion unterstützte dieses Druckermodell noch nicht.)
  2. Malprogramm "Classic Painter" für Turbo-Basic XL zum Weiterverarbeiten der gescannten Bilder mit Text, Linien, Mustern, Spiegelung.
  3. 16-Graustufen-Hardcopy, druckt über Maschinenprogramm die Scans und andere GRAPHICS-9-Bilder im ungefähren Originalformat aus; schwarz bleibt schwarz durch doppelte Druckdichte.
  4. Diashow-Programm zum komfortablen Laden der gescannten Bilder, schaltbarer Farbwechsel, selbstanpassend an alle DOS-2.5-formatierten GRAPHICS-9-Bilderdisks.
  5. 10 Beispiel-Scans

Außerdem liegt noch ein ausführliches Handbuch bei, das kaum Fragen offen lassen dürfte.

Frage: Kann ich "scantronic" mit meinem Atari-1029-Drucker verwenden?

Nein. Einer der zahllosen Nachteile dieses Geräts wie auch der anderen 7-Nadel-Printer ist die mangelnde Kompatibilität zum Druckerstandard. "scantronic" benötigt einen durch Steuerzeichen erzeugbaren MikroZeilenvorschub und komfortable Tabulatorfunktionen, wie sie nur Epson-FX-80-kompatible Drucker bieten. Da diese zum Teil jetzt schon zu Preisen ab 400,- DM angeboten werden, steigen sicher demnächst auch viele 1029Besitzer darauf um.
Für alle, die nicht genau wissen, ob "scantronic" für sie bzw. ihren Rechner das Richtige ist, versendet R+E auf Anfrage ein dreiseitiges Infopapier, in dem man alles Wissenswerte über "scantronic" nachlesen kann. Weiterhin weisen wir auf den Test in der CK-Computer Kontakt, Ausgabe 10/11-87, hin ("Der Drucker bekommt Augen ").

Frage: Wird es einen ähnlichen Scanner in absehbarer Zeit auch für den ST geben?

"scantronic" ist speziell auf die Möglichkeiten und Stärken des XL/XE zugeschnitten. Der eingebaute A/D-Wandler und der 16 Graustufen verarbeitende Grafikmodus 9 machen den "kleinen" Atari zum idealen Scan-Partner. Einen ähnlichen Scanner, vor allem was den günstigen Preis betrifft, wird es zumindest von uns nicht geben.

Bezugsquelle: R+E-Software Postfach 1640 7518 Bretten

Fehler in FIießkommaroutinen im GFA-Basic

Wieviel ist 266.67 DM minus 170.73 DM? Das Ergebnis lautet nicht 95.94 DM, sondern 95.9399999999999!
Noch ein Beispielprogramm (GFA-Basic)
A=0
Do
A=A+8.4
Print A
Loop

Bis sechs kann der Computer rechnen, doch beim siebtenmal heißt das Resultat 58.800000001 !
In meinem Programm kommt des öfteren die Frage vor: IF A = 0 THEN ... Nach meinen laienhaften Berechnungen müßte es auch jedesmal 0 sein, doch das Programm verzweigt nicht dorthin, wie ich es will, da der Wert z.B. 0,0000000001 ist. Was stimmt hier nicht?

Geschwindigkeit hat ihren Preis, und es ist kein spezifischer Fehler des GFA-Basic, daß sich in den letzten Stellen nach dem Komma manchmal Werte einschleichen, die dort nicht hingehören. Es liegt schlicht und einfach daran, daß man einen Kompromiß finden muß zwischen hoher Rechengenauigkeit (über acht Stellen nach dem Komma kann selbst ein normaler wissenschaftlicher Taschenrechner nicht verarbeiten, und bis zu acht Stellen bewältigt auch das GFA-Basic fehlerfrei) und einer angemessenen Verarbeitungsgeschwindigkeit. Für den angeführten Vergleich IFA = 0 THEN... stellt das GFA-Basic eigens den Operator == zur Verfügung, der die beiden Zahlenwerte nicht auf exakte Gleichheit, sondern nur auf ca. 8.5 Stellen miteinander vergleicht. Außerdem ist IF A==O THEN... um einiges schneller als IFA=0 THEN...

Degas-Bilder in GFA-Basic

Mir gelingt es einfach nicht, "Degas"-"Elite"-Bilder in niedriger Auflösung in eigene GFA-Programme zu laden. Könnten Sie mir bitte ein kleines Listing nennen, das dies ermöglicht?

Mit folgendem Programm kann man "Degas Elite"-Bilder jeder Auflösungsstufe in eigene Programme einbinden:
Open "i", #1,"A:Bild.Pl?"
Seek #1,34
Bget #1,Xbios (3),32000
Close #1
Diese Routine lädt alle Bilder ohne die entsprechenden bildspezifischen Farbangaben. Will man auch die korrekten Farben haben, muß man für die niedrigste Auflösungsstufe die ersten 16 Bytes der Datei, für die mittlere die ersten 4 Bytes und für die hohe die ersten beiden Bytes in die Farbregister lesen. Hier ein Beispiel für die mittlere Auflösung:
Open "i",#1, "A: Bild. Pl2"
Seek#1,2
For I=0 To 3
Setcolor 1,256*Inp (#1) + Inp (#1)
Next I
Seek #1,34
Bget #l,Xbios (3), 32000
Close #1

Bugs im GFA-Basic

Bei Benutzung der SpriteFunktion des GFA-Basic läßt sich folgendes Phänomen beobachten: Faßt man zwei Sprites zu einer Figur zusammen und bewegt sie byteweise, so bleiben Sprite-Reste auf dem Bildschirm zurück. Das gleiche Problem ergibt sich bei einer Kollision von zwei Sprites. Dies taucht sowohl im hochauflösenden wie auch im mittleren und Low-Res-Betrieb auf.
Ist Ihnen dieser Effekt bekannt? Gibt es eine Möglichkeit, diesen Fehler abzustellen? Mit solchen Mängeln versehen ist die wichtige Sprite-Funktion ja nicht zu gebrauchen. Wird eventuell schon an einer neuen Version des GFA-Basic gearbeitet, die eine verbesserte Sprite-Funktion aufweist? Als alter Atari-8-Bit-Fan vermisse
ich außerdem die Kollisionsregister. Ließe sich eine solche Abfrage nicht als Befehl implementieren?

Wir fragten bei GFA Systemtechnik nach und erhielten folgende Antwort: Leider läßt sich der beschriebene "Effekt" bei der Kollision von Sprites nicht ohne weiteres abstellen. Der ST besitzt keine Hardware-Sprites, daher auch keine Kollisionsregister. Die von Ihnen gewünschte Sprite-Verwaltung bedeutet einen erheblichen Programmieraufwand und führt außerdem zu einer langsameren Ablaufgeschwindigkeit bei bewegten Sprites (Hintergrund retten usw.).
So weit die Firma. In der Version 3.0 des GFA-Basic, die für Anfang nächsten Jahres geplant ist, sollen diese Fehler auch noch nicht ausgemerzt sein. Es bleibt also nur die Möglichkeit, auf Omikron-Basic umzusteigen (32 x 32-Punkte-Sprites) oder selbst in Assembler eine SpriteFunktion zu schaffen, zumal die 16 x 16 Punkte der GFA-Basic-Sprites sowieso etwas dürftig erscheinen.

Assembler

Vor einiger Zeit kaufte ich "Das Maschinensprachebuch zum Atari ST". Es verweist darauf, daß zur Arbeit ein Assembler nötig ist, enthält aber keinen. Liegt bei "Löhr Assembler-Praxis" ein solcher bei? Wie könnte man ihn sonst bekommen?

Die meisten Assembler-Bücher beinhalten keinen Assembler, und das ist auch gut so. Das Listing eines leistungsfähigen Assemblers würde schon den Umfang eines normalen Buches sprengen, von den möglichen Tippfehlern ganz abgesehen. Auf dem Markt ist eine ganze Reihe von Assemblern erhältlich. Vor dem Kauf sollte man besonders darauf achten, daß der Assembler den Standardbefehlssatz des 68000-Prozessors versteht. Er sollte vor allen Dingen zu dem des Entwicklungspakets von Digital Research weitgehend kompatibel sein. In allen Veröffentlichungen zum Thema Assembler wird normalerweise von diesem Standard ausgegangen und bei Abweichungen extra darauf hingewiesen.
Eine sehr preiswerte Möglichkeit liegt darin, sich einen Public-Domain-Assembler zu beschaffen, der mit einer Anleitung auf Diskette ausgeliefert wird. Ansonsten sind der Seka-Assembler und natürlich der des Entwicklungspakets von Digital Research sehr empfehlenswert. Die Bezugsquellen für einen Public-DomainAssembler (Diskette Nr. 34) lauten:
ST-Magazin Postfach 5969
6236 Eschborn 1 oder
Unabhängiger Atari-User-Club Hannover
Hermann-Löns-Straße 40 3008 Garbsen 4
Der Preis beträgt 10,- DM plus 5.50 DM Versandkosten. Außerdem ist ein Adreßaufkleber einzusenden.

Formeleingabe in GFA-Basic

Ich arbeite an der Universität mit GFA-Basic und bin damit auch sehr zufrieden. Jedoch finde ich keine Möglichkeit, während des Programmablaufs eine Funktion einzugeben. Auf dem ZX Spectrum ist dies beispielsweise ohne Schwierigkeiten mit dem Kommando VAL möglich. Während das Sinclair-Basic damit den Inhalt des Strings durchrechnet, setzt das GFA-Basic lediglich den String-Wert in einen numerischen Wert um. Gibt es noch eine andere Möglichkeit, dieses Problem zu lösen?

Mit den Funktionen im GFA-Basic ist das so eine Sache. Der Befehl Deffn läßt zwar das Definieren von Funktionen zu, jedoch nicht variabel während eines Programmablaufs. Auch die beim Atari 8 Bit vorhandene Möglichkeit, die Formel über ein gesteuertes Bildschirm-RETURN zu editieren bzw. als List-Format abzuspeichern und dann in das Programm zu schreiben, besteht im GFA-Basic nicht, da das MERGE-Kommando zum Anfügen von Dateien nur im Editormodus, nicht aber programmgesteuert funktioniert.
Ich sehe die einzige Lösung darin, eine Prozedur zu erstellen, die gezielt den FormelString nach arithmetischen Ausdrücken durchsucht und entsprechend umwandelt. Das ist zugegebenermaßen eine sehr umständliche und langsame Art, um eine Funktion abzuarbeiten. Vielleicht fällt unseren Lesern ja noch eine elegantere Methode ein. Über entsprechende Zuschriften würden wir uns natürlich besonders freuen.

Warum GFA-Basic?

Warum werden so häufig Listings in GFA-Basic gedruckt? Wollen Sie die Leser, die nicht so finanzstark sind und nur das dem Rechner beiliegende ST-Basic besitzen, benachteiligen?

Es liegt uns natürlich fern, ein Magazin nur für die zu machen, die sich alles leisten können. Allerdings hat Atari den Usern beim ST-Basic einen schlechten Dienst erwiesen. Es ist von nahezu chronischer Absturzfreudigkeit, enthält viele Fehler und unterstützt kaum die Leistungsfähigkeit des ST. (Man denke nur an den SOUND-Befehl!) Über 90% unserer 16-Bit-Programmautoren benutzen deshalb andere Basic-Dialekte oder greifen gleich zum Assembler. Es ist ein offenes Geheimnis, daß GFA-Basic zu einer Art Standard geworden ist. Zur Zeit benötigen die meisten der uns eingesandten Programme die Version 2.0 des GFA-Basic, und da wir auf diese Programmeinsendungen angewiesen sind, spiegelt sich das eben auch in unserem Magazin wider.
Wenn uns aber ein gutes Programm in ST-Basic eingeschickt wird, drucken wir das natürlich auch gern ab. Als Beispiel mag "Knuffel" dienen, das im letzten Heft erschienen ist.
Für den, der sich kein neues Basic leisten kann oder mag, aber trotzdem unsere abgedruckten Programme nutzen möchte: Auf unseren "Lazy Finger"-Programmdisketten ab LF 16-2/87 befindet sich eine Runtime-Version des GFA-Basic, mit der man die auf diesen Disketten befindlichen Programme laufen lassen kann. Diese RuntimeVersion ist Public-Domain-Software; wir dürfen sie daher mit abgeben. Natürlich dient sie nicht zum Abtippen oder Analysieren von Programmen, aber, wie Basicus, der Erzvater aller User, zu sagen pflegte: "Hauptsache, es läuft!"

Probleme mit den Anschlußbuchsen für Maus und Joystick

Der 1040 STF besitzt sehr unglücklich angebrachte Anschlußbuchsen für Maus und Joystick. Ein bei vielen Spielen erforderliches Auswechseln der Maus gegen den Stick erfordert ein Anheben des Rechners und viel Kraft beim Handhaben der Stecker. Gibt es einen Trick, wie das zu vermeiden ist?

Die einfachste Lösung ist der Einsatz zweier kombinierter Joystick/Paddle-Verlängerungskabel (z. B. Conrad Electronic, Hirschau, Bestell-Nr. 981036, je Kabel 6.90 DM). Reine Joystick-Verlängerungskabel sind für die Maus nicht geeignet, da nicht alle nötigen Pins belegt sind. Die Kupplungen eines Verlängerungskabels sind bequemer und leichter zu handhaben als die versenkten Buchsen des 1040 ST. Eine sehr elegante Lösung ist auch der Trackball als Mausersatz, da er sich auf Joystick-Funktion umschalten läßt.

Seltsames Gerät auf der Titelseite der Nr. 2

Welches Geistergerät stellte die Abbildung auf der Titelseite des ATARImagazins Nr. 2 dar? Daß es kein Mega-ST sein kann, wissen wir spätestens seit der Nr. 4, wo einer abgebildet war. Auch der neue PC kann es nicht sein. Also, was ist des Rätsels Lösung?

Der geheimnisvolle graue Kasten auf dem Titel von Heft 2 ist ein gewöhnlicher 520 ST mit Farbmonitor, zwei 314-Laufwerken und - jetzt kommt's! einem Einschub-PC-Gehäuse, wie es speziell für den ST und seine Peripherie von verschiedenen freien Herstellern angeboten wird. Z. T. sind für den ST maßgeschneiderte PC-Gehäuse mit Hardware-Uhr und Platz für 3,5"- sowie 5,25"-Floppy komplett mit Stahl-Tastaturgehäuse erhältlich. Ein solchermaßen "gepanzerter" ST bietet dann den Bedienungskomfort eines Mega-ST.



Aus: Atari-Magazin 06 / 1987, Seite

Links

Copyright-Bestimmungen: siehe Über diese Seite