ABBUC Magazin 073


IMPRESSUM
© 2003 Atari Bit Byter User Club e.V.
C/O Wolfgang Burger, Wieschenbeck 45
D-45699 Herten ???? +49 2366 39623
Mail wolfgang@abbuc.de
Eingetragen beim Amtsgericht Recklinghausen unter Nr.: VR 1421
Kreissparkasse Recklinghausen, Konto Nr.: 54 000 468
(BLZ 426 501 50)
Das Atari Bit Byter User Club Magazin erscheint ¼Jährlich. Jeweils
½jährlich erscheint das Atari Bit Byter User Club Sondermagazin. Eingesandte
Artikel müssen frei von Rechten Dritter sein. Mit der Zusendung
gibt der Autor seine Zustimmung zur Veröffentlichung. Veröffentlichungen,
auch auszugsweise nur mit schriftlicher Genehmigung

Inhalt

Seite 3 ATART ( ATARI Datasetten Emulator auf dem PC)
Seite 4 Schreiersgrün 1
Seite 5 ATARI Joystick mit eingebauten Games
Seite 6 Werbung (eine Reaktion)
Seite 7 20 Jahre CCE
Seite 10 ATARI Writer Plus Supermenü
Seite 16 Atari Preservation Projekt 2003
Seite 19 Schreiersgrün 2
Seite 22 Vintage Computer Festival Europe
Seite 23 CC65 Einsteigerkurs Teil 6
Seite 30 Unconventional 2003
Seite 32 Games Clones Vol. 10

ATART

Der erste ATARI-8-Bit Datasetten-Emulator für PC der Welt Ein einfaches Tool zum Archivieren von ATARI-Kassetten als PC-File. Der Name Atart steht für ATAri Receiver (Empfänger) und Transmitter (Sender). Es ist eine Kombination von einem einfachen Interface und einem PC-Programm. Es verbindet den Atari-8- Bit-Computer, die Atari-Datasette und den PC und überträgt Programme oder Daten zwischen zwei der genannten Geräte. Die Übertragung von Daten vom PC zur Datasette ist zur Zeit noch in der Entwicklung. Atart arbeitet mit jedem 8-Bit Atari zusammen.

Atart ist in zwei Fällen besonders hilfreich: Der erste Fall ist wenn Du Daten oder Programme von einer Atari-Kassette auf den PC übertragen und speichern möchtest. Der zweite Fall ist der, dass Du Atari-Programme nutzen möchtest die nicht auf Disk laufen sondern nur auf Kassette. In diesem Fall kannst Du die normalen Funktionen des (Atari-) Programms zum Lesen/Schreiben von/auf die Kassette benutzen. Die Daten werden aber nicht von der Kassette geladen & gespeichert, sondern als PC-File.

Atart arbeitet mit normaler Atari- Kassettensoftware und dem Kassetten-Handler zusammen. Das bedeutet, wenn Daten zwischen Atari & PC übertragen werden, simuliert der PC die Atari-Datasette. Wenn Daten zwischen Datasette & PC übertragen werden simuliert der PC die ATARI SIO-Schnittstelle. Atart ermöglicht das Erstellen eines Kassetten- Images im .CAS-Format, wie ein WAV2CASProgramm, zur Benutzung in einem Emulator. Atart liest die Daten direkt von der Kassette und warnt bei Fehlern. Und es benutzt die originale an den PC angeschlossene Atari-Datasette! Mit Atart ist es nicht nötig einen Datentransfer via .WAV oder andere Files durchzuführen. Es ist möglich Textfiles oder Sourcecodes direkt von der Kassette zu einem einfachen PC-File zu übertragen ohne das irgendwelche zusätzlichen Daten zugefügt werden. Du kannst diese Files direkt in einem PC-Text-Editor oder Compiler nutzen!

Das Atart-Interface arbeitet auch als SIO2PCInterface, welches es Dir ermöglicht Floppy- Emulationen mit entsprechender Software zu betreiben. Du hast nicht noch eine neue Box auf Deinem Tisch stehen! Möchtest Du einige Atart-Funktionen ausprobieren ohne direkt das Atart-Interface nachzubauen? Versuche Atart zum Editieren oder Laden irgendeines .CAS-Atari-Kassetten-Archives direkt in Deinen Atari zu benutzen. Das Atart- Interface wird zum Laden eines Files in den Atari nicht benötigt – Du kannst ein normales SIO2PC-Interface dafür benutzen. Auf Vladimir´s (englischsprachiger) Homepage stehen eine Bauanleitung für das Atart- Interface, die Bedienungsanleitung für das Programm und das Programm selber zum Herunterladen bereit.

Vladimir Tichy
Hrdlovska 650
41705 OSEK
CZECH REPUBLIC
http://sdq.webpark.cz/atari/projects/atart/
http://sdq.webpark.cz
http://sdq.paraglide.cz
sdq@post.cz

Wie ich zum Atari (in Schreiersgrün) kam – oder auch net!

Dies ist eine kleine Leidensgeschichte, eine Geschichte voller Wehmut, Tiefsinn und Schwachsinnigkeiten! Denn statt mit glänzenden Augen vor den Ataris zu stehen fanden wir uns am Ende sitzend hinter Schwarzbiergläsern wieder – aber alles zu seiner Zeit. Eine Woche Urlaub lag hinter mir und krönender Abschluss sollte die Atari-Messe in Schreiersgrün werden, doch so wie der Freitag angefangen hat (uns wurden 2 nagelneue Räder praktisch unterm Arsch weg geklaut), sollte auch der Samstag weitergehen.

Voller Vorfreude stand ich ¾ 8 auf und hey, das ist ein Phänomen bei mir, das nur wenige Ereignisse herausfordern kann, denn normalerweise verlass ich zum Wochenende das Bett nie vor 11! Ich also zu meinen Ellies getappelt, um den Morgen mit einem gemeinschaftlichen Frühstück zu beginnen. Und wie sich herausstellte, saß meine Mama schon zu früher Morgenstunde praktisch auf glühenden Kohlen und lernte, dass der Bäcker erst halb 8 seine Pforten öffnete. Fragt mich nicht, wie wir es geschafft haben, aber tatsächlich kurz nach halb 9 saßen wir im Auto Richtung Vogtland. Und das ist auch ein Phänomen, denn wenn wir uns normalerweise vornehmen, halb 9 loszufahren, sitzen wir meist so gegen 10 im Auto. Jaja, da war sie wieder, die anziehende Kraft der bunten Atari-Gemeinde und das Freuen auf ein Wiedersehen.

Wir also rauf auf die Autobahn und etwas später standen wir auch schon wieder – nämlich im Stau. Ok, Stau kennen wir, der Stau kennt uns; meistens einigen wir uns auf eine [Sehenszeit] von maximal 20 Minuten und dann trennen sich unsere Wege wieder. So aber nicht heute. Der Verkehrfunk meldete einen kleinen Stau von einem Kilometer wegen Unfall auf der A9 und dass aber über ne Abfahrt in der Nähe der Stau umgeleitet werden sollte. Später wurden dann laut Verkehrsfunk aus dem einen Kilometer eine Stunde Wartezeit. Wenigstens war das Wetter gut, ein Stau mit Regen hätte unsere Laune ganz zerstört. Daraufhin wurde dann das erste Mal eine Rettungsgasse gebildet, weil ein Krankenwagen durchwollte. Später folgte dann ein normales Fahrzeug des Rettungsdienstes und noch mal so 20 Minuten später folgte dann ein Bluttransport. Spätestens an diesem Punkt hatten wir dann doch schon leichte Zweifel, ob wir noch nach Schreiersgrün kommen.

Doch dann setzte sich die Kolonne wieder in Bewegung – leider ein Trugschluss
. Nur etwas Bewegung kam dann noch mal in die war- tende Meute, als sich ein Abschleppwagen den Weg bahnte. Wider allen Erwartens kamen wir dann doch wieder ins Rollen und nach insgesamt sagenhaften 2 Stunden und 9 Minuten hatten wir die inzwischen 12 Kilometer Stau gemeistert (der Verkehrsfunk hat sich inzwischen auf 5 Kilometer Stau verbessert). Wahnsinn. Inzwischen hatten wir es dann kurz nach 12 und wir hatten die Unfallstelle mit inzwischen doch leicht knurrenden Mägen hinter uns gelassen. Für alle Neugierige: Der Unfall entstand wahrscheinlich dadurch, dass sich ein LKW (so ein Milchtransport-Teil mit Silo hintendran) spontan entschieden hat, die Richtung zu wechseln und umzukippen. Na mal sehen, was heute Abend durch die lokalen Medien flackert. Ach ja, und die üblichen Auffahrunfälle innerhalb der wartenden Kolonne gab es natürlich auch – Gott sei Dank ohne Beteiligung unserseits.

Schweren Herzens haben wir uns dann entschieden, doch nicht mehr nach Schreiersgrün zu fahren. Bitte verzeiht uns, aber wir wären erst gegen halb 3 dort angekommen und da verkrümeln sich ja manche Aussteller schon wieder und im Magen hatten wir immer noch nix. Mama hat zwar fürsorglich ein paar Bananen und Laugenhörnchen eingepackt, aber der Sinn stand uns dann doch nach festerer Nahrung. Also gingen wir auf die Suche nach ner Kneipe, was sich dann doch als schwieriger als erwartet herausstellte, denn entweder waren die Nester, durch die wir fuhren, zu klein, um ne Kneipe zu haben, oder das Teil war zu. Einzige Alternative noch (neben dem McDonalds an der Autobahn, aber da haben sich meine Ellies gegen gesträubt, ich versteh gar net, warum!..) war dann Bad Köstritz. Und da meine Mama und ich bekennende Schwarzbierfans sind und aus Bad Köstritz ja nun das Köstritzer Schwarzbier kommt, haben wir uns schweren Herzens 😉 aufgemacht, die Stadt des Bieres im Sturm zu erobern. Ok, so stürmisch wurde es dann doch nicht, die erst gefundene Kneipe machte, natürlich, erst um 5 auf, doch dann wurden wir fündig.

Und da saßen wir nun, hungrig, staugeplagt, mit nem einsamen Atari-Teddy auf der Hutablage des inzwischen arg sonnengewärmten Autos, hinter den Schwarzbiergläsern und trauerten dem entgangenen Treffen mit Euch nach. Aber eins lasst Euch gesagt sein: Das näxte Jahr kommt bestimmt und da kann uns auch kein Stau stoppen!

In dem Sinne – Liebe Grüße aus Leipzig von der Lady Chaos und der restlichen Familie Bittner- Krüger

Videospiel Konsole von Atari

Der Otto Versand bietet den Atari Joystick mit 10 eingebauten Spielen für 30 Euro unter der Bestellnummer: 7903838 an!

Hier die Artikelbeschreibung:
ATARI: Videospiel-Konsole. Holen Sie sich den original Spielspaß der 80er! Joystick im ATARI-Design mit 10 eingebauten Classic-Spielen: Pong, Breakout, R.S. Volleyball, Centipede, Yar´s Revenge, Missile Command, Circus Atari, Gravitar, Adventure und Asteroids. Einfach an den Fernseher anschließbar. Durch Batteriebetrieb netzunabhängig, daher ideal für den Urlaub.

Zum Betrieb erforderlich: 4 Mignonbatterien (nicht enthalten). 24 Mon. gesetzl. Garantie

Werbung (eine Reaktion)

Über tägliche Schläge von Besuchern Oder: Werbung ist blöd !

Jetzt geht es um handfeste Fakten. Zum Thema Werbung wurde seit der JHV 2002 nun schon einige Male geschrieben. Über das wenn und aber, viel diskutiert. Es lässt sich nicht bestreiten: Werbung macht bekannt. Geschickte Werbung für den ABBUC kann Vorteile (z.B. Mitglieder) bringen.

Dieter Popp (danke für Dein Engagement!) machte es vor, und ich machte es nach. Bei meinen zeitweise 70 bis 100 eBay Auktionen waren Links zum ABBUC zu finden. Und man glaubt es kaum: Es hat doch tatsächlich jemand die Links angeklickt! Aber nicht nur einer… Auf der ABBUC Webseite haben die Anmeldungen seit Beginn der Werbeaktion sprunghaft zugelegt. Die Besucherzahl ist seit März pro Tag um 50 – 60 Prozent gestiegen. Das interessante dabei: Nach Ende der Auktionen, sank die Besucherzahl nicht. Das bedeutet zwischen 55 bis 67 [unique] Besuchern pro Tag mehr! Besonders auffällig war, dass die Besucherzahlen besonders stiegen, wenn neue Auktionen bei eBay eingestellt wurden. Die Besucherzahl hat in der ersten Mai-Woche im Gegensatz zu März und April, um etwa 10% zugelegt.

Auch für Mai ist auf Basis des monatlichen Vergleichzeitraumes die Besucherzahl weiterhin steigend. Waren es im März noch ca. 3000 Besucherzählerpunkte, so waren es im April 4207 und in den ersten 6 Mai-Tagen 1178. Prognose für Mai: bis zu 5000 Besuche. An die Skeptiker: Gezählt wird nur der Aufruf der Startseite. (Genauso wie auf den alten ABBUC Seiten) Die Web- Administratoren zählen sicher zu den häufigsten Besuchern. Diese Besuche werden nicht gezählt, da der Einstieg nicht über die Startseite erfolgt. Die durchschnittliche Besucherzahl lag im März zwischen 65 bis 112 Besuchern pro Tag. Im April waren es bereits 79 bis 138 Besucher. Im Mai liegt die Besucherzahl zwischen 120 bis 179. Wer mag da noch die Frage stellen, ob Werbung einen Nutzen hat? Nun ist bei der Link-Werbung natürlich nicht Schluss. Es stellte sich heraus, dass ca. 50% aller eBay-Käufer von Atari-Artikeln, den ABBUC überhaupt nicht kennen! Ein Link ist schnell vergessen. Deshalb lege ich jedem Versand eine ABBUC Werbeseite bei. Selbstverständlich wird darin hervorgehoben, dass die Auktion nichts mit dem ABBUC zu tun hat. Zusammenfassend wurden für die Werbung folgende Aktionen durchgeführt:
– Anmeldung der ABBUC Seiten bei ca. 80 Suchmaschinen
– Aktualisierung der Web-Ringe
– Links auf eBay Seiten
– Werbeblätter

Als nächstes folgen:
– das Werbebanner auf Strato-Seiten
– Eintragung in WEB-Verzeichnisse von Interessengemeinschaften
– Änderung der Startseite und erneute Anmeldung/Aktualisierung bei den Suchmaschinen
– Anzeigen in kostenlosen Online-Märkten
– In Gästebüchern von artverwandten Internetseiten einen Link hinterlassen

Wer weitere Ideen hat, stellt sie einfach im Forum vor, oder sendet mir eine Mail: internet@abbuc.de Auch wenn vielleicht nicht gleich jeder [Neue] in den ABBUC als Mitglied eintritt, so war doch festzustellen, dass sich im ABBUC-Forum vermehrt [Wieder- Einsteiger] an den Diskussionen beteiligten. Und wer weiß… vielleicht ist das nächste Programm, die nächste Hardware oder der nächste Artikel von einem der neuen alten Atari User.

Ich lasse mich also gerne schlagen, wenn es dabei um die Hits und Visits der Webseite geht. In diesem Sinne: Nicht die Milch, sondern die Werbung machts!

Andreas
(Ressort Internet)

20 Jahre CCE

Der Computer Club Elmshorn
Die 20 Jahr Feier des Clubs

Ein Erlebnisbericht
Da ich hoffe, dass noch weitere Mitglieder für die goto Club einen Bericht über das Jubiläumswochenende verfassen, beschränke ich mich auf eine Darstellung der Ereignisse aus meiner Sicht heraus.

Freitag, den 21.03.03
Endlich hat das Warten ein Ende. Wir feiern mit dem CCE e.V. den 20. Geburtstag. Da ich extra Urlaub genommen habe, kann ich zunächst noch einmal ausschlafen (was auch bitter nötig sein wird, aber das wusste ich da noch nicht.). Gegen 13:00 Uhr packe ich meine Sachen zusammen, die ich für den [Tag der offenen Tür] benötige. Ich habe mir vorgenommen, den Besuchern zu unseren Zertifizierungsprogrammen Microsoft Office Spezialist und IC³, sowie zu unseren Kursen Rede und Antwort zu stehen. Um 14:30 Uhr treffe ich als erster im Clubraum ein. Noch während ich beim Aufbau bin, erscheinen Markus, Ralf und Thorsten und beginnen auch ihre [Stände] aufzubauen. Um 17:00 Uhr kommt dann Mike Preuss vom Computermuseum Kiel an. Endlich – ich gestehe, dass ich nervös war, ob Mike denn rechtzeitig kommt. Ohne seine Oldie Ausstellung wäre es nur halb so interessant ? .

Dann aber ein Problem : Wo übernachtet Mike? Bei der Suche nach einer günstigen Unterkunft bei irgendeinem Mitglied war ich erfolglos gewesen, so dass es immer noch unklar ist. Also ein Hotel. Gott sei Dank war gleich das zweite ein Volltreffer. Das wäre also geklärt. Mittlerweile ist es 18:30 Uhr geworden. Wir beenden die Aufbauorgie und fahren zur Realschule Nord rüber. Um 19:00 Uhr beginnt dort die diesjährige Jahreshauptversammlung. Gegen 22:00 Uhr sind wir wieder zurück im Clubraum. Markus, Mike und ich besorgen Pizzas. Der Pizzabäcker hat es nicht gerade schwer – 9 x Pizza Hawaii steht auf unserem Einkaufszettel. Beim Essen sind sich Computerfreaks also mal einig…Grins.

Um 0:00 Uhr mache ich mich auf den Weg nach Hause. Einschlafen kann ich aber nicht….es wird eins…es wird zwei….da fällt mir ein, dass ich ja noch Infozettel über den ABBUC (Atati Bit Byter User Club) drucken wollte, damit Mike und Nils das dann auslegen können. Um kurz vor 3 Uhr schlafe ich dann endlich.

Samstag, den 22.03.03
Nach nur 3 Stunden Schlaf klingeln die Wecker ! Sch… ! Na gut, also kalt geduscht und kurz gefrühstückt und dann ab zum Club. Um kurz vor 8 Uhr treffe ich ein. Einige der Mitglieder sind schon da und bauen weiter auf. Um kurz nach acht kommen Detlef und seine Frau. Frau Witt hat sich netterweise bereit erklärt, den Ausstellern belegte Brötchen zu machen. Was für eine Arbeit. An beiden Tagen schneidet, schmiert und belegt sie jeweils 70 !! Brötchen. Unterstützt wird sie dabei von Frau Hein und Frau Löwe. Danke !!

So, es ist 9 Uhr, die ersten Besucher sind auch schon da. Es geht los. Ich beschreibe kurz die einzelnen Aussteller. (im Uhrzeigersinn). Den Anfang macht Mike Preuss mit einer kleinen Auswahl seiner riesigen Sammlung. Hierbei repräsentiert er das Computermuseum der Fachhochschule Kiel, das ZXTeam, den Amiga Club Hamburg und und und. Tolle Ausstellungsstücke hat Mike dabei. Unter anderem eine Atari VCS 2600jr. Spielekonsole mit Tastaturerweiterung. Einen ZX81, einen MSX Rechner usw. Neben Mike hat sich Ralf aufgebaut. Er macht Musik – im wahrsten Sinne des Wortes. Als alter DJ hat er davon auch ne Menge Ahnung. Weiter geht es mit Darek.

Er stellt seinen gemoddeten PC vor (mit Fenster, Beleuchtung und Ralleystreifen. (ach nein). Dann kommt der Stand von Thomas und Eckhard. Sie führen C64 und C128 Computer vor. Ein Klassiker – auch wenn ich nie einen gehabt habe. Dann kommt Nils. Er vertritt den ABBUC und die ABBUC RegionalGruppe Elmshorn. Aufgebaut hat er Atari XL, Portfolio und Lynx. Toll, da schwelgt man richtig in der Vergangenheit. Dann unser Systemadministrator : Martin ! Er hat einen Arcade Automaten mitgebracht. Selbstgebaut. Ja, wer es nicht glaubt – Pech gehabt. Dann hättet Ihr mal vorbei schauen müssen Auf jeden Fall hat Martin das ganz toll hingekriegt. Neben Martin führte Andre Konsolenklassiker vor. Unter anderem habe ich ein Sega Mega Drive gesehen. Neben mir sitzt Markus und führt seine Lieblingscomputer vor : Amiga !

Die hintere Tischreihe gehört unseren Arbeitsgruppen, die sich vorstellen und neue Mitstreiter suchen. Die Linuxgruppe mit Andre, Jürgen, Jens und Siggi und die Java Gruppe mit Jan und Rainer. Ich glaube, ihre Arbeit war recht erfolgreich, denn sie mussten jede Menge Fragen beantworten. Leider haben es weder die Seniorengruppe, noch die Frauengruppe geschafft, sich zu präsentieren. Immerhin waren die jeweiligen Gruppenleiter zeitweise anwesend. Um 11:00 Uhr startet unsere Podiumsdiskussion. Teilnehmer sind unsere Frau Bürgermeisterin, unser Clubgründer Stefan Backauf, unser Vorsitzender Jan Kempermann, unser Ehrenvorsitzender J-D. Körner sowie Herr Wohl vom VBV. Moderiert wird die Diskussion von Detlef, der das ganz toll macht. Eine Stunde wird in Erinnerungen aus den Anfängen des Vereins geschwelgt.

Um kurz nach 18 Uhr ist für heute Schicht im Schacht. Nun geht’s gesellig weiter. In unserer Stammkneipe [Mahlzeit] treffen sich die Aussteller und weitere Mitglieder. Gezählt habe ich sie nicht – aber es waren wohl an die 35 Leute da.

Sonntag, den 23.03.03
Es geht weiter. Von 10:00 bis 17:00 machen wir da weiter, wo wir gestern aufgehört haben. (Auch Frau Witt J). Um 15:00 Uhr hält Herr Backauf einen tollen Vortrag, wie er die Entwicklung der letzten 20 Jahre Computergeschichte erlebt hat. Dazu hat er unter anderem alte Preisliste seiner Firma und ein kleines Kraftwerk (eine 5 ! MB Festplatte) mitgebracht. Zum Schluss erhält er von unserem 1. Vorsitzenden noch etwas Alkoholisches. Als wir um 17:00 Uhr abbauen wollen, ist es auf einmal noch mal super voll. Also verlängern wir bis 18:30 Uhr. Um 20:30 Uhr bin ich dann – nachdem wir den Clubraum wieder aufgeräumt haben – zu Hause. Fazit : Das war eine richtig tolle Jubiläumsfeier ! Auf die nächsten 20 Jahre !

Stefan Johnigk


Atari Writer Plus Super Menu 1.00 Handbuch

(aus dem Englischen übersetzt von Alexander Klinner)
BITTE VOR DER NUTZUNG DES PROGRAMMES DIE INSTALLATIONSANLEITUNG LESEN

DAS HAUPTMENÜ
Das Hauptmenü von Super Menu (SM) erreicht man entweder durch Shift-Control-ESC oder über die HELPTaste. Man kann das Hauptmenü sowohl aus dem Atari Writer Plus (AW+) Texteingabe-Bildschirm, AW+ Hauptmenü, als auch dem Hauptmenü der Unterprogramme für die Serienbrief- oder Rechtschreibprüfung erreichen. Das SM Hauptmenü bietet 6 Auswahlmöglichkeiten:

(1)
Disketten-Inhaltsverzeichnis – Durch Drücken einer Taste von 1 – 9 erhält man das Inhaltsverzeichnis für das entsprechende Laufwerk. Sowohl das Laden als auch DOS-Funktionen sind durch einfachen Tastendruck möglich. Die Taste [*] zeigt das zuletzt angezeigte Verzeichnis (Laufwerk, Pfad und Maskierung). Voreingestellt ist D1:*.*.

(2) Makro-Bearbeitung – Nahezu allen Shift-Control- Tastenkombinationen kann eine Zeichenfolge zugeordnet werden, die dann bei der Texteingabe abgerufen werden kann. Dies eignet sich besonders für Druckerbefehle und häufig genutzte Wörter. Auf Grund von Hardware- Einschränkungen können die folgenden Shift- Control-Kommandos nicht genutzt werden: J, K, L, ;, +; *, Z, X, C, V, B. Siehe unter [Makros] für weitere Details.

(3) Neustart – [B] ermöglicht es, den Computer ohne Aus- und Einschalten neu zu booten. Drücke [B] und halte für ein paar Sekunden OPTION, um ohne BASIC zu booten, oder SELECT, um mit BASIC zu booten. Jede andere Taste führt zum Abbruch der Aktion und zurück ins Hauptmenü. Es gibt keine weitere Sicherheitsabfrage und falls OPTION oder SELECT gedrückt wurden, bevor der Text abgespeichert wurde, geht jeglicher Text im Arbeitsspeicher verloren. Hinweis: Falls Du ein anderes OS nutzt, welches die Funktion der OPTION-Taste umkehrt, so ist die jeweils andere Taste für die entspechende Funktion zu drücken.

(4) Ende nach DOS – [X] erlaubt einen Sprung ins DOS ohne neu zu booten. Achte aber darauf, Deine Texte vorher zu sichern. Es erfolgt eine [Y] oder [N] Abfrage. [Y] verlässt AW+ und führt ins DOS (Speicherzähler und Vektoren werden zurückgesetzt, sodass SM nicht mehr aktiv ist). [N] kehrt zum Hauptmenü zurück.

(5) Zurück zu AW+ – [R] kehrt zum AW+ an jener Stelle zurück, von der aus man HELP oder Shift- Control-ESC gedrückt hat.

(6) Bildschirmschoner – [S] aktiviert das [Willy der Wunderwurm]-Bildschirmschonerprogramm. Er wandert ziellos über den Bildschirm, bis ein Tastendruck erfolgt. Danach kehrt man zu AW+ zurück (nicht ins Hauptmenü).

Disketten-Inhaltsverzeichnis
Das Inhaltsverzeichnis erlaubt es, durch Unterverzeichnisse zu gehen, Laufwerksnummern und Auswahlmasken zu ändern, Dateien zu laden und viele DOS-Befehle auf einfache Weise auszuführen. Beim Aufruf des Menüs wird das aktuelle Inhaltsverzeichnis eingelesen. Der Cursor kann auf jede Datei bewegt werden, indem man die Cursortasten OHNE Control drückt. Die meisten Befehle gelten für die hervorgehobene Datei. [Keine Dateien] ([No Files]) wird angezeigt, falls keine Dateien vorhanden sind, oder ein Fehler das Lesen des Inhaltsverzeichnisses unterbindet.

Nach jedem Fehler beim Diskettenzugriff ist eine Taste zu drücken. Umfasst das Inhaltsverzeichnis mehr als 54 Dateien, so erfolgt eine Y/N-Abfrage. [Y] zeigt dabei die nächste Seite mit Dateien an, während [N] ein Arbeiten an den aktuell angezeigten Dateien erlaubt. Die Dateien werden grundsätzlich in alphabetischer Reihenfolge sortiert, soweit zuvor nicht mittels [S] (weiter unten beschrieben) eine andere gewählt wurde.

Unter dem Titel sieht man am oberen Bildschirmrand das aktuelle Laufwerk, den Pfad und die Auswahlmaske. Am unteren Ende sieht man eine Befehlsliste. Den größten Teil des Bildschirms nimmt das Inhaltsverzeichnis ein (oder [No Files], falls es keine Dateien gibt). Das Inhaltsverzeichnis-Menü bietet folgende Funktionen zur Auswahl an:
[<], [/], [>] – Kommandos, um in Untermenüs von MyDos und SpartaDos zu navigieren. Hinweis: Ist man zu tief in einem Verzeichnis, ist ein Laden oder Speichern nicht möglich, da AW+ den Dateinamen insgesamt auf etwa 20 Zeichen beschränkt.

[<] geht eine Verzeichnisstufe höher (sofern man nicht bereits im Hauptverzeichnis ist)

[>] geht ins Unterverzeichnis, wenn der Cursor auf einem Unterordner steht (angezeigt durch [:]).

[/] erstellt ein Unterverzeichnis im aktuellen Verzeichnis. Man wird nach einem Namen gefragt. Gebe einen entsprechend den für das verwendete DOS geltenden Regeln ein (RETURN allein bricht ab). Es können bis zu 12 Zeichen eingegeben werden (ausreichend für 8 Zeichen, [.] und einem 3 Zeichen umfassenden Zusatz).

[1] – [9] und [D] werden benutzt, um das Laufwerk zu wechseln oder das Wurzelverzeichnis anzuzeigen. Eine der Zifferntasten zeigt das Wurzelverzeichnis für das entsprechende Laufwerk (Hinweis: Solange AW+ nicht modifiziert wurde, ist es nicht möglich, von Laufwerk 9 zu laden bzw. darauf zu speichern). [*] zeigt das Wurzelverzeichnis für das aktuelle Laufwerk.

[Control-L] Lädt die gerade hervorgehobene Datei. Das Laden erfolgt von AW+. SM generiert nur ein Makro, um die Datei auszuwählen. Hinweis: Es gibt keine Abfrage. Durch [Control-L] wird ein sich im Speicher befindlicher Text durch den geladenen ersetzt. Man kann diesen Befehl ausführen, gleich ob man sich im Text-, dem Serienbrief- oder Rechtschreibmodus befand. Im Serienbrief- oder Rechtschreibmodus kann es sein, dass man ein paar Hinweistöne hört, was daraus resultiert, dass die Routine mit allen drei Modulen arbeiten soll, diese aber nicht immer gleich auf das Betätigen nicht unterstützter Tasten reagieren.

[Control-S] speichert eine Datei. Grundsätzlich ist es so besser, als dies in AW+ zu tun, da ein Druck auf RETURN unter dem gleichen Namen abspeichert. SM wird die Datei nicht sofort speichern, sondern den Dateinamen, der ausgewählt wurde, an AW+ übergeben. Hier kann man RETURN zum Speichern benutzen oder den Dateinamen editieren. Das ist nützlich, falls man die Datei unter einem neuen Namen speichern, aber die Eingabe von Laufwerks- und Pfadangaben umgehen möchte. AW+ fragt jeweils nach [Y] oder [N], um eine bestehende Datei zu ersetzen.

[Control-R] erlaubt das Umbenennen einer Datei. Es lässt sich nur der Dateiname bearbeiten. Drücke (Anm: Control-)[R], wenn die Datei, welche umbenannt werden soll, ausgewählt ist. Gebe den neuen Namen ein (in Übereinstimmung mit den Regeln für das verwendete DOS). RETURN allein bricht die Aktion ab. Das Inhaltsverzeichnis wird neu eingelesen und angezeigt, um das Umbenennen zu bestätigen.

[M] lässt die Erstellung von Verzeichnismasken zu. Wird sie beispielsweise auf [*.ASM] geändert, werden nur Dateien mit der Endung [ASM] angezeigt. Nach dem Drücken von [M] wird man zur Eingabe der Maske aufgefordert. Gebe eine nach den Regeln des verwendeten DOS gültige Dateimaske ein. RETURN stellt das vorgegebene [*.*] ein. Das Verzeichnis wird neu eingelesen und angezeigt. Die Maske wird beim Wechsel des Verzeichnisses beibehalten. Man braucht jeweils nur [M], RETURN drücken, um zur Voreinstellung [*.*] zurückzukehren.

[V] zeigt die ausgewählte Datei an. Sämtliche Control-Zeichen werden dargestellt (ebenfalls der AW+ Header). Ein inverses ESC-Zeichen zeigt einen Absatz (RETURN) an und der Text wird in der nächsten Zeile fortgesetzt. Mit der Leertaste blättert man seitenweise durch die Datei, während [C] die Datei ohne Pausen anzeigt (kontinuierlicher Modus). Jede beliebige Taste unterbricht die Anzeige im kontinuierlichen Modus. In dieser Pause können [C] oder [ESC] verwendet werden.

[Control-D] löscht die ausgewählte Datei oder das ausgewählte Verzeichnis. Ein Verzeichnis (angezeigt durch ein vorangestelltes [:]) kann nur gelöscht werden, wenn es leer ist. Einer gelöschten Datei wird ein [-] vorangestellt und zur Zeitersparnis wird das Verzeichnis nicht neu eingelesen. Auf Dateien mit vorangestelltem [-] sind keine Dateioperationen möglich. Es erfolgt eine Abfrage [Y] oder [N]. [Y] löscht die Datei/ das Verzeichnis. Verwende die Leertaste, um das Verzeichnis neu einzulesen und die Aktion zu kontrollieren.

[U] entsperrt die ausgewählte Datei. Zur Zeitersparnis wird das Inhaltsverzeichnis nicht neu eingelesen. Benutze die Leertaste, um die Aktion bestätigt zu erhalten. Hinweis: Unterverzeichnisse könnten gesperrt/ entsperrt sein, ohne dass dies auf dem Bildschirm sichtbar ist. Gesper
rte Dateien sind an einem [*] vor dem Namen erkenntlich, ein [:] kennzeichnet ein Unterverzeichnis.

[L] sperrt eine Datei. Die Datei wird geschützt. Zur Zeitersparnis wird das Inhaltsverzeichnis nicht neu eingelesen (siehe Entsperren). Siehe unter [U] Entsperren für weitere Informationen.

[ESC] kehrt zum Hauptmenü zurück.

[S] ändert die Sortierreihenfolge. Sofern man [L], [U] oder [D] benutzt hat und das Verzeichnis nicht neu eingelesen wurde, ist der Dateistatus eventuell falsch. Benutzte die Leertaste, um das Verzeichnis neu einzulesen.

[Control-W] speichert die aktuellen Makroeinstellungen. Man wird nach dem Namen gefragt – der ausgewählte Dateiname ist ohne Belang. Gebe einen gültigen Dateinamen an. Hinweis: Die Datei wird im aktuellen Laufwerk und Verzeichnis gespeichert, wenngleich man diese nicht gesondert eingibt. Eine Laufwerks- oder Pfadangabe ist nicht möglich. Wechsle zum entsprechenden Laufwerk und Pfad vor dem Aufruf von [Control-W].

[Control-R] liest die Makroeinstellungen von der aktuell ausgewählten Datei. Die Einstellungen werden zu den sich bereits im Speicher befindlichen hinzugefügt. Zur Zeit gibt es keine andere Möglichkeit, sämtliche Makroeinstellungen zu löschen, als alle als leer zu definieren, was 1 Byte Speicher benötigt. Neue Einstellungen überschreiben die älteren.

[Control-F] formatiert eine Diskette im aktuellen Laufwerk. Es erfolgt eine Abfrage über die Anzahl der Seiten und der Dichte. Mit MyDOS funktioniert erweiterte Dichte (enhanced density), aber die anderen Einstellungen werden ignoriert. Die Einstellungen für Seiten/ Dichte werden vom letzten Diskettenzugriff übernommen. Erweiterte Dichte funktioniert aus diesem Grund nicht mit DOS 2.5 oder einem anderen DOS. Eine Formatierung in DOS 2.5 mit erweiterter Dichte könnte bei entsprechender Nachfrage unterstützt werden. Ob dies mit SpartaDos möglich ist, ist mir nicht bekannt. Er erfolgt eine Y/N Abfrage zur Formatierung. Ein Formatieren löscht natürlich sämtliche auf der Diskette gespeicherten Informationen.

Makro Feature
Super Menu erlaubt es, Shift-Control-Tastenkombinationen mit einer Folge von bis zu 199 Zeichen zu belegen. [E] im Hauptmenü führt zum Makro-Definitions-Bildschirm. Wähle eine Shift- Control-Tastenkombination (außer J, K, L, ;, +; *, Z, X, C, V oder B)

Nach Eingabe der Shift-Control-Kombination wird das Makro angezeigt, welches aktuell dieser Taste zugeordnet ist bzw. nichts, wenn hierunter bislang nichts definiert wurde. Drücke [Y] um das Makro neu zu definieren oder anders zu belegen. Ein [N] führt zur Tastenauswahl zurück. Gib das Makro ein. In dem Makro werden Zeichenreihenfolgen gespeichert, keine AtAscii-Zeichen. Das angezeigte Zeichen ist grundsätzlich das, was auf der jeweiligen Taste liegt. [A] ohne Shift wird ein [a] anzeigen, außer AW+ ist im Umschalt/Großschreibmodus. Sondertasten wie Invers, Umschaltung Groß/Klein usw. zeigen jeweils ein eigenes inverses Steuerzeichen an. Üblicherweise undefinierte Tasten, wie [Control 2 – 9] oder [Control /] zeigen das gleiche Zeichen an, wenngleich sie gesondert gespeichert werden. Hinweis: [ESC] und [Control-ESC] zeigen jeweils ein ESC-Zeichen im Editor an, wenngleich sie unterschiedliche Funktionen haben.

Makros können aus dem Directory-Menü heraus gespeichert oder geladen werden (mit Lese/Schreibe Makros (Read/Write Macros)). Neu geladene Makros ergänzen (bzw. ersetzten, falls sie auf der gleichen Tastenkombination liegen) Makros im Speicher. Schreibe Makros speichert alle Makros. Es wird kein Speicher freigegeben, wenn Makros ersetzt oder neu definiert werden. Falls der Speicher überläuft, sichere die Makros und starte das Programm erneut (Text speichern nicht vergessen). Das wird [verlorenen] Speicher wieder herstellen. Makros sind sehr einfach, solange sie nur aus Text bestehen. Sie können aber auch sehr komplex und zeitraubend zu erstellen sein, wenn man die Zusatztasten einbindet, die AW+ für die meisten Befehle verwendet. Der folgende Absatz könnte schwer zu verstehen sein!

OPTION, SELECT, START-Tastenkombinationen können eingegeben werden, indem man Shift mit der entsprechenden Zusatztaste verwendet (ein inverses O, s oder S wird angezeigt). Es muss zuvor das Programm PATCHAWP.BAS ausgeführt worden sein (siehe Installationsanleitung), um die Zusatztasten nutzen zu können (man kann dennoch die Verzögerungs-Funktion ausführen). Eine Verzögerung kann mit SHIFT-CONTROL-D (angezeigt als inverses [D]) eingegeben werden. Füge der erweiterten Konsolentaste die aktuelle Taste hinzu. Das ist jedoch für etliche Funktionen nicht ausreichend. Oftmals muss eine Verzögerung der Konsolentaste erfolgen. Beispiel: Um an den Beginn des Textes zu gelangen: SHIFT-SELECT, [T] würde manchmal ein T anstatt der gewünschten Aktion zeigen. Benutze statt dessen SHIFT-SELECT, SHIFT-CONTROL-D, SHIFTSELECT, [T]. Das hält die Select-Taste 1/60 Sekunde lang gedrückt, bevor Select-T ausgeführt wird. Auch einige andere Funktionen benötigen eine Verzögerung, insbesondere wenn man ins Hauptmenü oder zurück zur Texteingabe geht. Ein einfaches SHIFT-CONTROLD fügt eine Verzögerung ein. Nicht vergessen: Man kann auch die Invers- und Umschalt(caps)-Taste in ein Makro definieren. Um sicher zu gehen, dass man im Kleinschreibmodus ist, benutze SHIFT-CAPS; gefolgt von einem normalen CAPS. Das schaltet in den Großschreib- und dann in den Kleinschreibmodus um.

Wenn man ein Makro für Funktionen des Hauptmenüs schreiben möchte, sollte man zunächst ESC, gefolgt von einer Verzögerung, dann erst die entsprechenden Taste verwenden. Es kann auch notwendig sein, nach Aktionen, die eine Eingabe erfordern, eine Verzögerung einzugeben. Die eingebauten Laden und Speichern- Funktionen benötigen an einigen Stellen Verzögerungen und ich musste weitere für das Serienbrief- und Rechtschreibmodul hinzufügen, da sie offenbar alle in unterschiedlichen Geschwindigkeiten auf undokumentierte Tastatureingaben reagieren. Eine Zusatztaste, Return oder Backspace für sich allein gedrückt, brechen ab. Um sie eingeben zu können, muss gleichzeitig Shift gedrückt werden. Hinweis: Es erscheinen ein paar Zeilen Hilfstext oberhalb.

Installationsanleitung und technische Informationen
* Programm und Dokumentation (C) Copyright 1994 Ken Siders
* Das Programm kann – unverändert und mit Beschreibungen – frei verbreitet werden.

Anforderungen
Atari Writer Plus Super Menu (AWPSM) ist kompatibel mit Atari Writer Plus (AW+) und Atari Writer+ 130 XE Version (AW+XE). Bevor man das Programm nutzt, sollte man folgende Anweisungen lesen. Systemvoraussetzung sind ein Atari XL oder XE Modell mit mindestens 128K Speicher bei Nutzung des AW+ oder mindestens 256K Speicher bei Nutzung des AW+XE. Wird eine Ramdisk genutzt, so muss eine Speicherbank noch zur Nutzung durch Super Menus frei sein. Falls das verwendete Ramdisk- Programm keine Einstellungen zulässt, sollte man die Ramdisk nicht verwenden. Man sollte ein grundsä tzl i ches Verständn is der XESpeicherbelegung haben, um eine Ramdisk sicher mit diesem Programm zusammen zu betreiben. Ramdisks, welche das $D301 (54017) Auswahlregister nicht nutzen, sollten durchweg verwendbar sein. Die Nutzung einer Steckmodulversion von SpartaDos oder anderer Utilities, die XE Speicher beanspruchen, erfolgen auf eigene Gefahr. SuperMenu verwendet keinen Speicher [unter] dem OS-ROM und sollte mit jedem DOS oder Utility funktionieren, die das tun.

Schritt 1
Bevor Du weitermachst: Formatiere eine Diskette und schreibe das gewünschte DOS darauf. Das DOS darf kein MemLo über 7936 ($7F00) bzw. bei Verwendung der XE-Version nicht über 7680 ($1E00) haben [Warum? Ich weiß es nicht]. Im Zwe
ifelsfall, boote mit der Diskette in BASIC und tippe PRINT PEEK (743) +256*PEEK(744) ein. Ist das Ergebnis größer als 7936 (7680 für die XE-Version), müssen die Filebuffer (die meisten DOS) oder Anzahl der Laufwerke (hilft nicht bei MyDos 4.5x) verringert werden. Siehe im DOS-Handbuch für weitere Hilfe. Nach ändern der Anzahl der Filebuffer, gehe ins DOS und schreibe das DOS auf eine Disk. Neustart mit BASIC und Test wie vor. Kopiere das AWPSMENU.COM Programm auf die Diskette. Kopiere alle Dateien der AW+ oder AW+XE Diskette, ausser DOS.SYS und DUP.SYS auf eine neue Diskette. Benenne AUTORUN.SYS in BOOTAWP.COM und AP.OBJ in AP.OLD um. Falls es nicht möglich war, das MEMLO genügend zu verringern, muss ein anderes DOS verwendet werden.

Schritt 2
Boote von der Diskette mit BASIC, wenn es nicht schon läuft. Starte das PATCHSM.BAS Programm in BASIC. Schiebe die neu erstellte Diskette ein und drücke, wie angegeben, eine Taste. Nun wird AWPSMENU.COM von der Diskette gelesen. PATCHSM wird nach der zu nutzenden Speicherbank fragen. Eine Liste der üblicherweise verwendeten Speicherbänke wird angezeigt (wenn du die 48K Version ohne Ramdisk nutzt, kann dieser Schritt übersprungen werden). Benutze keine 130 XE Bank, wenn du AW+XE verwendest. Bei Verwendung eines Ramdisk-Programmes muss sichergestellt sein, dass die eingegebene Bank nicht verwendet wird. PATCHSM.BAS schreibt AWPSMENU.COM auf die Diskette zurück. Falls Fehler auftreten, ist es notwendig, AWPSMENU.COM nochmals auf die Diskette zu kopieren und diesen Schritt nochmals komplett zu wiederholen.

Schritt 3
Gehe aus dem DOS ins BASIC. Starte das PATCHAWP. BAS Programm in BASIC. Lege wie angegeben eine neue Diskette ein und drücke eine Taste. Das Programm fragt nach, ob man den Kopierschutz entfernen möchte. Das erfolgt, um das Programm einfacher zu handhaben, nicht um Raubkopien herstellen zu können. Entfernt man ihn nicht, muss man von der Diskette booten, zur AW+ Diskette wechselnund manuell nachladen. Außerdem muss das verwendete DOS direkt Atari DOS 2.x kompatible Disks lesen können. Die Option, den Kopierschutz nicht zu entfernen, wird wegen angegeben, falls man bereits eine gepatchte Version wegen anderer Gründe nutzt. Das Programm wird am Code dann nichts verändern. Dieser Patch ermöglicht die Nutzung der OPTION, SELECT und START Zusatztasten in Makros. PATCHAWP.BAS liest und modifiziert die Datei. PATCHAWP.BAS sucht nach dem zu änderndem Code als Bytefolge an bestimmter Stelle. Es sollte daher auch dann funktionieren, wenn man andere Veränderungen vorgenommen hat. Vier Patchs werden beim AW+ und fünf beim AW+XE installiert.

Schritt 4
Um die Datei zu laden, muss von der Diskette direkt ins DOS gebootet werden. (drücke OPTION, um BASIC auszuschalten). Lade jegliches Initialisierungs- Programm, z. B. für eine Ramdisk. Starte SUPRMENU. COM. Es lädt und kehrt zum DOS zurück. Lade letztendlich noch BOOTAWP.COM. Um diese Prozedur zu automatisieren, lies weiter. Wenn du ein Kommandozeilen-orientiertes DOS nutzt, ist es das Einfachste, eine Batch-Datei zu schreiben. Siehe hierzu im DOS-Handbuch nach.

Um den Vorgang bei einem DOS, welches eine Datei wie AUTORUN.SYS lädt, zu automatisieren, können die Dateien SUPRMENU.COM und BOOTAWP.COM zusammengesetzt werden. Gehe ins DOS. Lösche AP.OLD. Benenne AWPSMENU.COM in AUTORUN. SYS um und kopiere BOOTAWP.COM zu AUTORUN. SYS hinzu (WITH APPEND). Lösche BOOTAWP. COM. Falls ein Programm zur Initialisierung der Ramdisk notwendig ist, kopiere dieses zunächst als AUTORUN.SYS und füge dann die beiden anderen Dateien an (in der vorher genannten Reihenfolge). Mit DOS 2.5 kann man das Ramdisk Programm einfach mit RAMDISK.COM benennen. Man kann aber NICHT die üblichen DOS 2.5 Ramdisk-Treiber verwenden, es sei denn, man verfügt über mindestens 256K Speicher, nutzt die 48K Version von AW+ und gibt eine Nicht-XE Bank beim Einrichten des Programms an. Mit Kommandozeilen-orientierten DOS, die kein AUTORUN.SYS laden, gibt man einen anderen Namen an, üblicherweise mit der Endung [.COM]. Es sollte möglich sein, die Datei zu laden, indem man einfach den Namen eingibt (ohne das [.COM]).

Wichtiger Hinweis
Es wird empfohlen, vor der Nutzung ein paar Zeilen Text einzugeben. Prüfe, ob es möglich ist, jeweils zur Rechtschreibprüfung und zum Serienbriefmodul sowie auch zurück zu gehen. Nutze NIEMALS die [Zurück ins DOS (Exit to DOS)] Funktion im Rechtschreib- oder Serienbriefmodul. Dies verursacht in einigen Fällen einen Systemabsturz und ich weiß nicht weshalb. Drücke in Super Menüs nicht RESET (man kann es aber in AW+ drücken). RESET kann zu Textverlust/ Textveränderung und der Deaktivierung von SuperMenu führen. Verwende HELP oder SHIFT-CONTROL-ESC nur aus dem Menü oder Texteingabe-Bildschirm heraus. Während des Anzeigens des Atari-Logos oder während Eingabe-/Ausgabeoperationen könnten Probleme auftreten und SuperMenu beenden. Wenn SuperMenu deaktiviert wurde, funktionieren die OPTION, SELECT und START-Tasten nicht mehr (falls die Zusatztasten- Erweiterung installiert war) und es ist nicht möglich, SuperMenu aufzurufen oder Makros zu verwenden.

Falls dies passiert, speichere den Text (vorzugsweise unter einem neuem, temporärem Namen falls er beschädigt wurde) und boote neu. Bei Befolgen der wenigen Regeln sollte es jedoch keine Schwierigkeiten geben. Hinweis: Man kann auch in AW+ Text verlieren, wenn man beispielsweise während des Wechsels zwischen den Modulen auf RESET geht.

Technische Informationen
SuperMenu arbeitet außerhalb der AW+ Umgebung. Es bringt seine eigenen RESET-, Tastaturinterupt- und VBIHandler mit. SM belegt nach der Initialisierung weniger als 256 bytes normales RAM. Deshalb darf das DOS kein MEMLO über $1F00 haben, da AW+ Module ab $2000 laden. Es weist diesen automatisch LOWMEM zu und erhöht LOWMEM zum Schutz. Außerdem benutzt es die ersten paar Bytes des HardwareStacks bei 256 ($100). Es nutzt temporär 16 ZeroPage Bytes bei 128 (und Adressen 0 und 1), und 1k Speicher bei 32768 ($8000) für die D-List und den Bildschirm. Das hält den Bildschirm außerhalb des anwählbaren Speicherbereichs von 16384 bis 32767 ($4000 – $6000) um eine maximale Kompatibilität mit Speichererweiterungen zu gewährleisten. Wenn man SM aufruft, speichert es die variablen Umgebungswerte und nutzt diese. Wenn es beendet wird, stellt es diese wieder her. Wird RESET gedrückt, während SM angezeigt wird, werden diese Werte nicht korrekt zurück geschrieben und es ist möglich, dass Text verloren geht oder AW+ abstürzt. Es ist möglich, dass du SuperMenu mit anderen Programmen verbinden kannst. Falls dieses Interupt Routinen zwischen $8000 bis $83FF oder eine der ZeroPages nutzt, wird es aber wohl nicht funktionieren. Ich brachte es sogar mit einigen Maschinensprache-Spielen aus Magazinen zum Laufen. Es sollte auch mit BASIC zusammen arbeiten. Hinweis: Die Laden/Speichern Befehle sind dann ohne Funktion, da diese AW+ gebunden sind. Ich habe das Programm nicht mit AtariWriter80 getestet. An Erfahrungen hiermit (positiv oder negativ) wäre ich aber interessiert. Das Super- Menu müsste am 40-Zeichen Bildschirm erscheinen. (Hinweis des Übersetzers: Bei meinem Test mit AtariWriter 80 hat es nicht funktioniert; das Programm selbst hat hier gar nicht fertig geladen) Ein VBI trägt den Zustand der Zusatztasten in ein Schattenregister ein, so dass diese aus einem Makro heraus [gedrückt] werden können. Das PATCHAWPProgramm modifiziert AW+ derart, dass es aus dem Schattenregister, anstatt von 53279 liest. Deshalb muss eine Verzögerung eingegeben werden, da es bis zu 1/60 Sekunde dauern kann, bis der Wert im Schattenregister eingetragen ist.

Fragen, Kommentare, Zuwendungen an untenstehende Adresse.
Das Programm benötigt ein wenig Einarbeitungszeit um es effizient zu nutzen; insbesondere die Makro- Funktio
n. Über Feedback wäre ich erfreut und bei genügend Interesse, werde ich es eventuell updaten.

Briefanschrift:
Ken Siders
588 Catherine Ave.
Marion, OH 43302-2253
EMail Adresse:
cp576@cleveland.Freenet.Edu

LIESMICH.TXT
Enthaltene Dateien (auf der Diskette in englischer Sprache)
* DOC0.TXT der folgende Text
* DOC1.TXT Anleitung
* DOC2.TXT Installationsbeschreibung
PATCHAWP.BAS – BASIC Programm. Fügt einen Patch hinzu, der die Ausführung von Makros erlaubt und kann optional den Kopierschutz entfernen.
PATCHSM.BAS – Fügt den SuperMenu Patch hinzu. Es ist die zu nutzende RAM-Bank anzugeben.
AWPSMENU.COM – SuperMenu Hauptprogramm.

Zusätzliche Informationen
1. Ein in Port 1 eingesteckter Joystick verhält sich wie die Cursortasten.

2. control-4 ändert die Hintergrundfarbe
control-5 ändert die Texthelligkeit
control-6 ändert die Rahmenfarbe
Hält man gleichzeitig OPTION gedrückt, so wird der Farbwechsel in anderer Richtung durchgeführt.

3. Die Leertaste liest im Inhaltsverzeichnis das aktuelle Verzeichnis neu ein. Grund hierfür ist, dass nach den Funktionen Sperren (Lock), Entsperren (Unlock) und Löschen (Delete) das Verzeichnis nicht selbsttätig eingelesen wird. – Hinweis: In der Beschreibung ist für die Löschfunktion versehentlich die Taste [D], nicht [Control-D] genannt.

Diese Funktionen ändern wegen Geschwindigkeitsgründen nur die Bildschirmanzeige. Ändert man die Sortierreihenfolge ([S]), wird das Inhaltsverzeichnis nicht neu eingelesen und die Bildschirmanzeige für die Funktionen [U], [L] und [D] stimmen nicht mit der tatsächlichen durchgeführten Aktion überein. Hinweis: Dies passiert auch beim Ansehen (View/V)-Befehl. Beispielsweise verschwindet das [-] vor einer gelöschten Datei und ein [*] könnte erscheinen, wenn die Datei entsperrt wird. Möchte man eine Kontrolle, so liest die Leertaste das Verzeichnis neu ein und zeigt dieses an. Die wenigsten stellen sich aber sicher die voreingestellte Sortierreihenfolge wieder um. Zugriffe auf eine gelöschte Datei haben ohnehin eine Fehlermeldung zur Folge. Die Anzeige freier Sektoren wird ebenfalls erst mit erneutem Einlesen des Verzeichnisses aktualisiert.

4. Ist ein Verzeichnis gesperrt, wird dieser Status nicht angezeigt. Wird beim Löschen eines leeren Verzeichnisses eine Fehlermeldung ausgegeben, versuche, es zu entsperren (Unlock) [U].

 


Atari Preservation Projekt 2003

Das Atari Preservation Projekt (APP) (Übs.: Atari Erhaltungs Projekt) befasst sich mit der Erhaltung, Beschreibung und Archivierung von Atari 8-bit Sachen. Dieses kann Software, Hardware oder Dokumentation sein. Eines der Hauptziele das APP ist der Erstellung eines großen, verteilten Archivs mit Beschreibungen zu Atari Gegenständen.

Das Projekt hilft Sammlern ihre Stücke in einer einheitlichen, klaren und sinnvollen Weise zu beschreiben. Ein standarisiertes Beschreibungsformat vereinfacht die Zusammenführung von Archiven und die Suche in verteilten Archiven. Das Format soll Entwicklern bei der Erstellung von Werkzeugen helfen, die das Suchen, Durchstöbern, Bearbeiten und Präsentieren der Atari Informationen ermöglichen. Das APP unterscheidet zwischen Software-, Hardware- und Dokumentationsbeschreibungen. Verbindungen zwischen diesen Beschreibungen sind möglich, z. B. kann es eine Hardware-Beschreibung geben mit einem Verweis auf die Beschreibung des dazugehörigen Benutzerhandbuches. Oder als zweites Beispiel, Software die eine spezielle Hardware benötigt wie eine serielle Schnittstelle kann einen Verweis auf die Hardwarebeschreibung der RS232- Schnittstelle beinhalten. (siehe Diagramm rechts) Für alle diese drei Beschreibungsarten wird ein Schema benötigt. In APP nennen wir diese Schemas SDS (Software Description Schema; Software- Beschreibung-Schema), HDS (Hardware Description Schema; Hardware-Beschreibung-Schema) und DDS (Document Description Schema; Dokumentations- Beschreibung-Schema). Für alle diese Schemas benötigen wir die Unterstützung von den ATARI 8-Bit Benutzern.

Die meiste Arbeit fällt für die SDS an. Für die HDS benötigen wir Leute die Interesse an 8-Bit Hardware haben oder diese sammeln. Für die DDS halten wir uns an die Beschreibung namens „Dublin Core“ [DCMI], da dieses Schema bereits eine weite Verbreitung für die Beschreibung von Dokumenten hat. Eine Menge ATARI Dokumente (Bücher, Magazine) können heute schon in der ABBUC Infothek gefunden werden [INFOTHEK].

Software Beschreibungen
Benutzer von Software und Sammler machen sich Gedanken über die Beschreibung/Katalogisierung der Software in der einen oder anderen Weise. Man möchte auf jedem Fall den Titel der Software kennen, damit man weiß, welche Software man startet (denkt an die Aufkleber auf den Disketten). Sammler möchten eine Menge mehr Informationen erfassen über die Stücke die sie besitzen oder nicht besitzen (aber gerne hätten!). Diese Beschreibungen können sehr detailliert sein, wie die Unterschiede in der Größe der Verpackungsboxen (erinnert Ihr Euch an die kleinen und großen ATARI Verpackungen?), Variationen der Aufkleber auf den Modulen (z. B. Minder 2049er mit silbernem oder blauem Aufkleber), oder andere Verpackungseigenschaften (z. B. Pappschachtel oder Sonder-/Schmuck- Verpackung) und ähnliches. Die Softwarebeschreibung muss es erlauben so viel wie möglich dieser unterschiedlichen Informationen zu erfassen.

Es ist wichtig zu wissen, dass sich die Beschreibungen auf stoffliche sowie auf nichtstoffliche (virtuelle) Sachen beziehen können. Eine stoffliche Sache kann man in den Händen halten, wie eine Diskette mit einer Spieleveröffentlichung. Virtuelle Sachen sind z. B. Dateien die irgendwo gespeichert sind (zum Beispiel Software die aus dem Internet geladen werden kann). Wichtig ist außerdem zu wissen das die Beschreibung nicht die Sache selbst beinhaltet! Für stoffliche Sachen ist das auch recht einfach nachvollziehbar. Wenn Du eine Liste von Originalsoftware besitzt, bedeutet das jedoch nicht das Du auch im besitz dieser Software bist. Das heißt man kann die Beschreibung einer Disketten-Abbilddatei (Diskimage) besitzen und man kann die Abbilddatei besitzen (vielleicht auf der Festplatte oder auf einer CD-ROM). Datei Namensgebung Alle APP Beschreibungen können weitere Dateien referenzieren, wie Disketten-Abbilddateien, ROMAbzüge (ROM-Dumps), ausführbare Programme, Bilder, Musik usw. Die SDS, HDS und DDS können Verweise zu diesen Dateien beinhalten, daher ist es wichtig ein gutes Namensschema für Dateien zu definieren.

Die Emulator-Benutzer haben schon eine Menge Arbeit in dieses Thema investiert. Eine Gruppe von Leuten des „The Old School Emulation Center“ [TOSEC] haben ein Namens-Schema erarbeitet und sortieren jede Art von Dateien für alte Computer. Diese Dateien werden in Datenbanken gemäß dem Namensschema erfasst. Für die APP Beschreibungen werden wir nichtstoffliche Sachen nach dem TOSEC Namensschema (TOSEC Naming Convention, TNC) und die Bilder nach dem TOSEC Medien Namensschema (Media Naming Convention, MNC) benennen. Es gibt einige Erweiterungen zu diesen Namensschemata um die für APP geforderten Details
abzudecken. Um ein Beispiel zu geben, gibt es hier ein Beispiel eines Bild- Dateinamens:
Space Invaders (1981)(Atari)(cart)[mef].jpg

Dies Bedeutet das dies ein JPEG-Bild der „Media Front“ [mef] des Spiels „Space Invaders“ veröffentlicht von „Atari“ im Jahre „1981“. Kategorien und Schlüsselwörter Um eine bestimmte Softwareart einfacher finden zu können kann die Software in Kategorien eingeteilt werden. Meist kann eine Software unter einer Hauptkategorie einsortiert werden (z. B. Pac-Man ist ein Spiel). Es wird komplizierter wenn Unterkategorien benutzt werden (ist „Rescue on Fraclatus“ ein Flugspiel oder ein „shoot ‚em up“?). Um endlose Diskussionen zu vermeiden werden Schlüsselwörter benutzt um Software besser zu beschreiben.

Derzeit sind die folgenden Kategorien für Software definiert:
* Archivierung
* Audio
* Kommunikation
* Cross Plattform
* Entwicklung
* Bildung
* Unterhaltung
* Grafik
* Magazine
* Büroanwendungen
* System

Arbeitsgruppen
Eine APP Arbeitsgruppe (AG) besteht aus einer Gruppe von Leuten die an einem bestimmten Thema innerhalb des APP arbeiten. Derzeit sind die folgenden AGs aktiv:
* SDS – Software-Beschreibungs-Schema
Freddy, Nir, Jindroush
* HDS – Hardware-Beschreibungs-Schema
Francis, Freddy
* DDS – Document-Beschreibungs-Schema
Hier wird Unterstützung benötigt. Jemand interessiert?
* Disks – Disketten Erhaltung
Hias, Stefan, Freddy
* Carts – Modul Erhaltung
Nir, Jindroush, Freddy
* ATP – Protected Disk Image Format
Hias, Stefan, Freddy, Jindrouch
Weitere Arbeitsgruppen können eingerichtet werden.
Die Vorraussetzungen für die Gründung einer AG sind:
* Die AG arbeitet innerhalb der beschlossenen APP
Archivierungs-Regeln und folgt den Beschreibungs-
Standards
* Die AG Mitglieder sind den übrigen APP Mitgliedern
bekannt

Dem APP beitreten
Allgemeine Informationen über APP können auf der Webseite gefunden werden [APP-WEB]. Diskussionen gibt es in der „APP World“ mit dem „AltME“-Programm [ALTME] (danke an Kaj) and über die APP-E-Mail- Liste [APP-LIST] (dank an Hias). Bitte kontaktiert mich wenn Ihr in einer Arbeitsgruppe mitwirken möchtet oder an den Diskussionen teilnehmen wollt.
Freddy Offenga
email to: app@abbuc.de
Links
[ACDP] Atari Cartridge Dumping Project
http://www2.asw.cz/~kubecj/acartdp.htm
[ALTME] AltME (Software um in der „APP World“ mitreden zu können)
http://www.altme.com/
[APP-LIST] APP E-Mail Liste
http://webmail.horus.com/cgi-bin/listinfo/ataripreservation
[APP-WEB] APP Webseite
http://www.abbuc.de/app/
[ATP] Atari Protected Disk Image Format
http://members.chello.nl/taf.offenga/atp15.txt
[DCMI] Dublin Core
http://dublincore.org/
[INFOTHEK] ABBUC Infothek
http://www.strotmann.de/twiki/bin/view/Infothek/
[TOSEC] The Old School Emulation Center
http://tosec.org/

Schreiersgrün 2

Carsten Strotmann
Zum Samstag den 29. März 2003 hatte Helmut Weidner die interessierte ATARI-Gemeinde zum jährlichen Treffen in das Vogtland, nach Schreiersgrün, eingeladen. Und vierzig ATARI-Fans sind dieses Jahr gekommen und haben ein abwechslungsreiches Programm erlebt, alte Kontakte aufgefrischt und neue Kontakte geschlossen. Auf den Tischen im Saal der Gaststätte „Tiepner“ waren diverse ATARI Computer aufgebaut, an denen gespielt oder Fragen geklärt werden konnten. Den Vormittag über trafen die Teilnehmer ein, wobei Réne de Bie aus den Niederlanden wahrscheinlich den weitesten Anfahrtsweg hatte. Das Programm startete gegen 13:00 Uhr mit dem ersten Spielewettbewerb. Um 14:00 Uhr wurde über einen großen Bildschirm der „3Sat“-Beitrag der Sendung „neues“ über ATARI und den ABBUC gezeigt, gefolgt von einer Dokumentation über ATARI (g4TV). Beide Filmbeiträge und der Film vom Treffen in Schreiersgrün 2002 von Alfons Klüpfel befinden sich auf der neuen ABBUC SVCD, die Ihr bei Wolfgang bestellen könnt. In Schreiersgrün konnte diese SVCD auch direkt bestellt werden.

Um 15:00 Uhr stellte Dieter Gretschel (Old Men Tower) sein neustes Programm vor, ein Französisch- Lernprogramm mit einem großen Vorrat an Vokabeln. Das Programm erlaubt es, die Sprache anhand von Alltagsbegriffen zu lernen. Die umfangreichen Funktionen des Programms unterstützen den Benutzer durch verschiedene Aufgabenstellungen (Deutsch -> Französisch Übersetzung, Abfragen,…). Das Programm wird in Kürze im ABBUC Magazin erscheinen. Im Anschluss an die Programmvorstellung wurde der zweite Spielewettbewerb durchgeführt. Die Ergebnisse werde sicher in den nächsten Tagen hier veröffentlicht. Die Preise für die Gewinner hat Andreas Magenheimer zur Verfügung gestellt. Gegen halb fünf gab es noch eine kurze Infoveranstaltung zum Thema „Softwarelizenzarten“ von mir. Danach wurde zusammengepackt und der Abend klang beim Abendessen im angeschlossenen Restaurant der Gaststätte aus.

Dank an Helmut Weidner und seine Familie für die Organisation dieses Treffen, welches schon zu den Klassikern unter den jährlichen Treffen zählt.

Sorin Pascu & Peter Dell

Unsere Eindrücke zur Messe in Schreiersgrün 2003 sind positiv ausgegangen. Wir waren von der Organisation begeistert, vielen Dank Helmut, weiter so. Nachdem mich am Morgen um 7:00h Peter Dell abholte, hatten wir Pech mit dem Wetter, es war neblig. Wir konnten es kaum erwarten schon dort zu sein. Also redeten wir über alles mögliche und zum größten Teil über den Atari, so verging die Zeit im Flug und da waren wir schon vor den Pforten der Messe. Also erstmals hoch, dabei schaute ich kurz wie Spät es ist und dachte mir: „Na ja, eigentlich gut gefahren“, denn es war ca. 11:00 also gut 4 Stunden Fahrt von Hannover bis hierher. Mit voller Neugier gingen wir dann hoch und staunten nicht schlecht, das so viele da waren. Also Platz zeigen lassen und runter zum Auto und mein Atari und alles was dazugehört heraufgebracht, danke an Mad Butcher für seine tatkräftige Unterstützung.

Alles aufgebaut und was ist: Kein Verlängerungskabel? Keiner dachte daran, dass die Steckdosen so weit weg waren. Als alles angeschlossen war, nahm ich noch die Kamera und filmte ein bisschen, damit alle die nicht da waren, es später sehen können. Nun, die Veranstaltung war gut organisiert so das wir voraussichtlich auch im August dabei seien werden.

Mad Butcher/Foundation Two

Nachdem Holger / WGL und ich um 11.30 in Lengenfeld ankamen, und nach 3 Telefonaten über 500 km wir auch eingelassen wurden, hatten wir noch einen netten Pre-Convention Umtrunk bis etwa 3.30 Uhr. Dann waren auch TXG / MNX und ich etwas angeschlagen. Wir haben uns etwas hingelegt, um dann um 7 Uhr freundlich geweckt zu werden. Um 8 Uhr waren wir dann in Scheiersgrün. Schnell waren die ersten Rechner aufgebaut, und wir legten gleich los mit unseren traditionellen Decathlon- Wettbewerb. Wie eigentlich immer, gewann Mr.XY / F2. Da es eigentlich um den 2. Platz ging, war ich erstaunt, das R.I.K. / F2 doch einige Punkte mehr hatte als ich. Aber beim Speerwerfen überholte ich ihn und wurde zweiter.

Dritter wurde wie gesagt R.I.K. / F2 und vierter Holger/ WGL.
Irgendwann traf auch twh / F2 ein. Er hatte das neue Spiel von Raster
/ CPU mitgebracht. Es heißt „shoot ‚em all“ und ist ein Spiel für das Multijoy16 !!!! oder Multijoy 8. Wir spielten es mit 8 Spielern und hatten viel Spaß. Wie der Name sagt, steuert man eine Wurm (könnte auch Cervi II heißen) der nur zwei Charakter groß ist und muss die anderen Würmer abschießen.

Anschließend kamen die Spielewettbewerbe und die übrigen Programmpunkte die im ABBUC Forum ja schon erwähnt wurden. Kurz vor Schluss kam noch Stefan Müller vorbei und brachte sein Video von der Uncon 2k2 mit, welches wir noch betrachteten. Vielen Dank noch einmal an Stefan an dieser Stelle.

Fazit:
Es waren diesmal etwas weniger Leute da, als im letztes Jahr, aber die Metamorphose der Veranstaltung zu einem ATARI Treffen, auf dem das aktive Benutzen des Rechners und vor allen Dingen Spaß haben mit Spielen im Vordergrund stehen, ist nun quasi abgeschlossen. Vielen Dank noch einmal an Helmut für die Tolle Organisation. Hier sind die Ergebnisse der Spiele Wettbewerbe in Schreiersgrün.

Light Cycle competition:
1.Runde:
Bunsen / WGL – Holger / WGL 0:3
Sorin – twh / F2 0:1
Mr.XY / F2 – Artax / RAF 5:0
Sleepy – Harry / RAF 0:6
R.I.K / F2 – Peter 0:1
Mad Butscher / F2 – TXG / MNX 6:0

Halbfinale:
Holger / WGL – twh / F2 3:0
Mr.XY / F2 – Harry / RAF 2:0
Peter – Mad Butscher / F2 8:0

Finale:
Holger / WGL – Mr.XY / F2 4:0
Holger / WGL – Mad Butscher / F2 4:0
Mad Butscher / F2 – Mr.XY / F2 7:0

Endergebnis:
1.) Holger / WGL
2.) Mad Butscher / F2
3.) Mr.XY / F2

Blips Competition:

1.Runde
Mr.XY / F2 – Angel / Spellbound Soft 10:4
CAS / RAF – Frank 10:9
Mad Butscher / F2 – Dragoran 10:9
Peter – TXG / MNX 8:10
Bunsen / WGL – Artax / RAF 9:10
twh / F2 – Holger / WGL 4:10
Harry / RAF – Sleppy 10:9
Sorin – R.I.K. / F2 9:10

2. Runde
Mr.XY / F2 – CAS / RAF 10:2
Mad Butscher / F2 – TXG / MNX 10:3
Artax / RAF – Holger / WGL 4:10
Harry – R.I.K. / F2 4:10

Halbfinale:
Mr.XY / F2 – Mad Butscher / F2 5:10
Holger / WGL – R.I.K. / F2 10:8

Finale:
Mad Butscher / F2 – Holger / WGL 10:6

Endergebnis:
1.) Mad Butscher / F2
2.) Holger / WGL
3.) Mr.XY / F2 und R.I.K. / F2


Vintage Computer Festival Europa

„Dinosaurier“ und ein paar „prähistorische Nager“ live und lebendig in München!
Was die „Techo-Classica“, die weltgrößte Oldtimer- Messe, für den Auto-Fan ist, das ist das Vintage- Computer-Festival (Europa) jährlich im München für Computerbegeisterte. Laut dem Online-Wörterbuch „dict.leo.org“ bedeutet „vintage“ soviel wie „alt“, „altmodisch“ und „hervorragend“. Und genau das gibt es jedes Jahr in München zu sehen, alte, aber hochinteressante Computertechnologie. Eine Zeitreise in die Vergangenheit der Computertechnik.

Zum VCF treffen sich Sammler und Benutzer von alten Computern (älter als 10 Jahre, dann ist ein Computer schon ein Oldtimer). Aber im Gegensatz zum Museum oder reinen Sammlerbörsen sind hier alle ausgestellten Systeme lauffähig und können auch ausprobiert werden. Der ABBUC e.V. hat im Jahre 2003 zum ersten Mal aktiv am VCF teilgenommen. Unter dem Motto „ATARI – nicht nur zum Spielen“ wurden Anwendungsbeispiele für den ATARI 8bit gezeigt. Es waren auf dem Stand ein ATARI 800 mit Floppy und Datasette, ein ATARI 1200 XL mit Drucker 1029 und ein 130 XE mit XF551 zum Bedienen ausgestellt. Auf diesen Rechnern liefen dann Programme wie SynCalc oder ATARI-Writer. Das ABBUC Team bestehend aus Frank Schuster, Thomas Kopold und Freund, Matthias Reichl und Carsten Strotmann hat den Besuchern des VCF die ATARI 8Bit Computer und unseren Club vorgestellt und viele Fragen beantworten können. Bilder vom ABBUC Stand könnt Ihr in der Multimedia-Galerie auf den ABBUCSeiten im Internet anschauen.

Neben den Home-Computer-Kollegen (C64, Scneider CPC, Amiga, PET, Apple II, Sinclair …) gab es auch weniger bekannte Rechnersysteme zu bestaunen, wie z. B. der Schnei d e r Joyce oder den Apple LISA. Die Kollegen vom KC85 Club hatten den „welthöchsten KC85 Turm“ aufgebaut (der KC85 ist ein Kleincomputer mit Z80-kompatibler CPU aus der DDR) und jemand hatte auf einem ATARI VCS 2600 eine kleine Demo für das VCF geschrieben. Eine weitere Ausstellung zeigte wissenschaftliche Taschenrechner aus den letzten Jahrzehnten, bei denen z. B. die Zifferanzeige noch aus Röhren bestand.

Aber neben den Home- und Kleincomputer gab es auch richtig „schweres Eisen“ zu bewundern, z. B. in Form einer PDP8 oder eine RK05 Festplatte, an der man anhand der Größe sehr schön die Funktionsweise von Festplatten erkennen konnte. Eines der Höhepunkte war die Exkursion in das Rechenzentrum des Cray-Cyber Projektes mit funktionierenden Großrechnern und den dazugehörigen Peripheriegeräten (Lochkartenleser, Hochgeschwindigkeitsdrucker, Plattentürme und die Bandlaufwerke). Hier gab es eine ca. 1stündige, sehr interessante Führung. Auch hier galt das Motto „Computertechnik zum Anfassen“, wer möchte, kann sich sogar per Internet auf die Großrechner einwählen und dort arbeiten (z. B. per Bobterm vom ATARI 🙂 ).

Das VCF hat allen Beteiligten viel Spaß gemacht und wenn es die Zeit erlaubt werden wir auch im kommenden Jahr wieder mit von der Partie sein.
Carsten Strotmann
Links:
Vintage Computer Festival Europe, VCFe – http://www.vcfe.de/
Cray-Cyber Projekt – http://www.cray-cyber.org/
ABBUC Webseite – http://www.abbuc.de/

CC65 Einsteigerkurs, Teil 6

Hardwarenahe Programmierung
Hallo und herzlich willkommen zum sechsten Teil des cc65 Programmierkurses. Derzeit ist die Version 2.9.1 des cc65 Compilers aktuell, neben einigen Fehlerbereinigungen unterstützt das Entwicklungssystem nun auch die ORIC Maschinen. Die aktuelle Version der Entwicklungsumgebung findet Ihr unter http://www.cc65.org/ .

In diesem Teil des Kurses gehe ich auf die hardwarenahe Programmierung des ATARI Rechners mit cc65 ein. Damit verlassen wir die Übertragbarkeit der Programm auf die anderen cc65 Ziel-Rechner (wie C64 oder APPLE II), da wir für diesen Kurs hardwarespezifische Eigenschaften der ATARI Computer ausnutzen. Diese Eigenschaften gibt es auf den anderen Rechnern so nicht, daher laufen die folgenden Programme nur auf dem ATARI und ATARI Emulatoren.

Eine Art „Hello World“-Programm für die hardwarenahe Programmierung auf dem ATARI 8Bit ist der bekannte ATARI Regenbogen-Effekt. Dieser wird erzeugt, indem in jeder Scanzeile des Bildschirms d
ie Bildschirmfarbe umgeschaltet wird, in diesem Falle wird das Farbregister einfach hoch gezählt. Damit die Farbe in jeder Zeile geändert wird, müssen wir das Hardwareregister (hier der Hintergrundfarbe COLPF2, $D018) benutzen. Aus der Speicherstelle VCOUNT ($D40B, 54283) können wir die aktuelle Scanzeile auslesen. Zu diesem Wert addieren wir den untersten Zähler der internen Uhr, RTCLOK2 ($14, 20). Diese Speicherstelle wird nach jedem vollständigen Bildschirmaufbau vom ATARI Betriebssystem um eins erhöht. Durch die Addition bekommen wir den Effekt eines nach oben wandernden Regenbogens. Die Farbinformationen werden zusätzlich in das Register WSYNC ( $D40A, 54282) geschrieben. Dies bewirkt, dass der ATARI das Zeichnen der aktuellen Scanzeile abschließt, bevor der Farbwert geändert wird. Ohne das Schreiben in WSYNC würde der Regenbogen flackern und ausfransen.

Hier ist der C-Quelltext des Regenbogenprogramms:
Seite 23 ABBUC e.V. # 73 2 . Quartal 2003
——————————————————————-
/* -*- C -*- ****************************************************************
*
* Copyright 2003 Carsten Strotmann.
* License GPL
*
* System : cc65 ATARI Target
* Module :
* Object Name : $RCSfile$
* Revision : $Revision$
* Date : $Date$
* Author : $Author$
* Created By : Carsten Strotmann
* Created : Sun Jan 12 18:12:49 2003
* Last Modified : <030622.1129>
*
* Description ATARI Atari Rainbow
*
* Notes: for ABBUC Mag 73
*
* History
*
* $Log$
*
Seite 24 ABBUC e.V. # 73 2. Quartal 2003
****************************************************************************
*
* Copyright (c) 2003 Carsten Strotmann.
*
* All Rights Reserved.
*
****************************************************************************/
#include <atari.h>
#include <stdio.h>
typedef unsigned char byte;
typedef unsigned word;
#define WSYNC *(byte*) 0xD40A
#define VCOUNT *(byte*) 0xD40B
#define COLPF2 *(byte*) 0xD018
#define RTCLOK2 *(byte*) 0x14
#define CH *(byte*) 0x2FC
int main(void)
{
CH = 0xFF; // clear keybuffer
while (CH == 0xFF) // while no key pressed
{
WSYNC = COLPF2 = RTCLOK2 + VCOUNT; // change bg-color every scanline
}
getchar();
return(0);
}
——————————————————————-

Die Hardwarezugriffe (und auch sonstige Speicherzugriffe) werden über Byte- Pointer realisiert [ *(byte*) ]. Wer möchte kann sich auch am Anfang eines Programms Peek und Poke Befehle definieren:
#define POKE(addr,val) (*(unsigned char*) (addr) = (val))
#define DPOKE(addr,val) (*(unsigned*) (addr) = (val))
#define PEEK(addr) (*(unsigned char*) (addr))
#define DPEEK(addr) (*(unsigned*) (addr))

DPOKE und DPEEK arbeiten auf 16 Bit Adressen (wie bei Turbo-Basic).

Über die „#define“ Kommandos werden diesen Speicherstellen symbolische Namen gegeben (die Namen der Speicherstellen findet man im DeRe ATARI oder im ATARI Profibuch). Über die Speicherstelle CH wird geprüft, ob eine der normalen Tasten gedrückt wurde. Solange keine Taste gedrückt wurde, wird die Schleife durchlaufen und der Regenbogen dargestellt. Die Funktion „getchar()“ nimmt den gedrückten Tastenwert aus dem Tastaturbuffer, damit dieser nicht im DOS-DUP landet. Wenn wir das Programm übersetzen mit
cl65 -l -T -t atari -o rainbow.com rainbow.c
so erhalten wir das COM-Programm und (mit den Schaltern -l und -T) das generierte Assemblerlisting (rainbow.lst). Wenn wir das Programm auf einem ATARI (oder im Emulator) ausprobieren, sehen wir, dass der Regenbogen ein wenig flackert und wabert. Der Übersetze Code ist anscheinend nicht optimal. Schauen wir uns den Assemblertext an, die C-Quellcodezeilen sind jeweils als Kommentare in den As- semblertext eingefügt:

————————————————
ca65 V2.9.1 – (C) Copyright 1998-2000 Ullrich von Bassewitz
Main file : rainbow.s
Current file: rainbow.s
000000r 1 ;
000000r 1 ; File generated by cc65 v 2.9.1
000000r 1 ;
000000r 1 .fopt compiler,“cc65 v 2.9.1″
000000r 1 .autoimport on
000000r 1 .case on
000000r 1 .debuginfo off
000000r 1 .importzp sp, sreg, regsave, regbank, tmp1, ptr1, ptr2
000000r 1 .macpack longbranch
000000r 1 .import _stdin
000000r 1 .import _fgetc
000000r 1 .export _main
000000r 1
000000r 1 ; —————————————————————
000000r 1 ; int main (void)
000000r 1 ; —————————————————————
000000r 1
000000r 1 .segment „CODE“
000000r 1
000000r 1 .proc _main
000000r 1
000000r 1 .segment „CODE“
000000r 1
000000r 1 ;
000000r 1 ; CH = 0xFF; // clear keybuffer
000000r 1 ;
000000r 1 A2 00 ldx #$00
000002r 1 A9 FF lda #$FF
000004r 1 8D FC 02 sta $02FC
000007r 1 ;
000007r 1 ; while (CH == 0xFF) // while no key pressed
000007r 1 ;
000007r 1 A2 00 L0005: ldx #$00
000009r 1 AD FC 02 lda $02FC
00000Cr 1 C9 FF cmp #$FF
00000Er 1 20 rr rr jsr booleq
000011r 1 D0 03 4C rr jeq L0006
000015r 1 rr
000016r 1 ;
000016r 1 ; WSYNC = COLPF2 = RTCLOK2 + VCOUNT; // change bg-color every scanline
000016r 1 ;
000016r 1 A2 00 ldx #$00
000018r 1 A5 14 lda $0014
00001Ar 1 20 rr rr jsr pushax
00001Dr 1 A2 00 ldx #$00
00001Fr 1 AD 0B D4 lda $D40B
000022r 1 20 rr rr jsr tosaddax
000025r 1 8D 18 D0 sta $D018
000028r 1 8D 0A D4 sta $D40A
00002Br 1 ;
00002Br 1 ; }
00002Br 1 ;
00002Br 1 4C rr rr jmp L0005
00002Er 1 ;
00002Er 1 ; getchar();
00002Er 1 ;
00002Er 1 AD rr rr L0006: lda _stdin
000031r 1 AE rr rr ldx _stdin+1
000034r 1 20 rr rr jsr pushax
000037r 1 20 rr rr jsr _fgetc
00003Ar 1 ;
00003Ar 1 ; return(0);
00003Ar 1 ;
00003Ar 1 A2 00 ldx #$00
00003Cr 1 A9 00 lda #$00
00003Er 1 4C rr rr jmp L0002
000041r 1 ;
000041r 1 ; }
000041r 1 ;
000041r 1 60 L0002: rts
000042r 1
000042r 1 .endproc
000042r 1
000042r 1
———————————————————–
Wir sehen das, für die Überprüfung der Schleifenbedingung und für die Addition jeweils in eine Runtimeroutine gesprungen wird (JSR booleg und JSR tosaddax). Dies verbraucht kostbare CPU Zeit, so dass nicht mehr zuverlässig in jeder Zeile die Farbe umgeschaltet werden kann. Aber der cc65 Compiler besitzt eingebaute Optimierungsroutinen, die mit dem Schalter „-O“ aktiviert werden können.

Übersetzen wir das gleiche Programm mit dem Befehl
cl65 -O -l -T -t atari -o rainbow.com rainbow.c
bekommen wir folgenden Assemblercode:
———————————————————–
ca65 V2.9.1 – (C) Copyright 1998-2000 Ullrich von Bassewitz
Main file : rainbow.s
Current file: rainbow.s
000000r 1 ;
000000r 1 ; File generated by cc65 v 2.9.1
000000r 1 ;
000000r 1 .fopt compiler,“cc65 v 2.9.1″
000000r 1 .autoimport on
000000r 1 .case on
000000r 1 .debuginfo off
000000r 1 .importzp sp, sreg, regsave, regbank, tmp1, ptr1, ptr2
000000r 1 .macpack longbranch
000000r 1 .import _stdin
000000r 1 .import _fgetc
000000r 1 .export _main
000000r 1
000000r 1 ; —————————————————————
000000r 1 ; int main (void)
000000r 1 ; —————————————————————
000000r 1
000000r 1 .segment „CODE“
000000r 1
000000r 1 .proc _main
000000r 1
000000r 1 .segment „CODE“
0000
00r 1
000000r 1 ;
000000r 1 ; CH = 0xFF; // clear keybuffer
000000r 1 ;
000000r 1 A9 FF lda #$FF
000002r 1 8D FC 02 sta $02FC
000005r 1 ;
000005r 1 ; while (CH == 0xFF) // while no key pressed
000005r 1 ;
000005r 1 AD FC 02 L0005: lda $02FC
000008r 1 C9 FF cmp #$FF
00000Ar 1 D0 0F bne L0006
00000Cr 1 ;
00000Cr 1 ; WSYNC = COLPF2 = RTCLOK2 + VCOUNT; // change bg-color every scanline
00000Cr 1 ;
00000Cr 1 AD 0B D4 lda $D40B
00000Fr 1 18 clc
000010r 1 65 14 adc $0014
000012r 1 8D 18 D0 sta $D018
000015r 1 8D 0A D4 sta $D40A
000018r 1 ;
000018r 1 ; }
000018r 1 ;
000018r 1 4C rr rr jmp L0005
00001Br 1 ;
00001Br 1 ; getchar();
00001Br 1 ;
00001Br 1 AD rr rr L0006: lda _stdin
00001Er 1 AE rr rr ldx _stdin+1
000021r 1 20 rr rr jsr pushax
000024r 1 20 rr rr jsr _fgetc
000027r 1 ;
000027r 1 ; return(0);
000027r 1 ;
000027r 1 A2 00 ldx #$00
000029r 1 8A txa
00002Ar 1 ;
00002Ar 1 ; }
00002Ar 1 ;
00002Ar 1 60 rts
00002Br 1
00002Br 1 .endproc
00002Br 1
00002Br 1
———————————————————–
Wir sehen, der Assemblercode ist schon beinahe optimal, keine Unterprogrammaufrufe
mehr in der Schleife. Wenn wir das erzeugt Programm nun ausprobieren, bekommen
wir einen sauberen Regenbogeneffekt.
Kommen wir zum nächsten Beispiel, der Player Missile Grafik. Sind die Grundlagen
der PM-Grafik bekannt, so können diese recht einfach in die Sprache C übersetzt
werden. Die eingebauten Library-Routinen wie memset (füllt Speicherbereiche) und
memcpy (kopiert Speicherbereiche) unterstützen hierbei.
Hier der Quellcode der kleinen PM-Grafik-Demo. Dieses Programm zeichnet ein
kleines Männchen auf dem Bildschirm, welches sich über den Joystick in Port 1 in
vier Richtungen bewegen lässt.
———————————————————–
/* -*- C -*- ****************************************************************
*
* Copyright 2003 Carsten Strotmann.
* License GPL
*
*
* System : cc65 ATARI Target
* Module :
* Object Name : $RCSfile$
* Revision : $Revision$
* Date : $Date$
* Author : $Author$
* Created By : Carsten Strotmann
* Created : Sun Jan 12 18:12:49 2003
* Last Modified : <030622.1404>
*
* Description: Atari Player Missile Demo
*
* Notes: for ABBUC Mag 73
*
* History
*
* $Log$
*
****************************************************************************
*
* Copyright (c) 2003 Carsten Strotmann.
*
* All Rights Reserved.
*
****************************************************************************/
#include <atari.h>
#include <stdio.h>
#include <string.h>
typedef unsigned char byte;
typedef unsigned word;
// PM Graphics register addresses
#define RAMTOP *(byte*) 0x6A
#define SDMCTL *(byte*) 0x22F
#define PMBASE *(byte*) 0xD407
#define GRACTL *(byte*) 0xD01D
#define SIZEP0 *(byte*) 0xD008
#define SIZEP1 *(byte*) 0xD009
#define SIZEP2 *(byte*) 0xD00A
#define SIZEP3 *(byte*) 0xD00B
#define SIZEM *(byte*) 0xD00C
#define HPOS0 *(byte*) 0xD000
#define HPOS1 *(byte*) 0xD001
#define HPOS2 *(byte*) 0xD002
#define HPOS3 *(byte*) 0xD003
#define HPOSM0 *(byte*) 0xD004
#define HPOSM1 *(byte*) 0xD005
#define HPOSM2 *(byte*) 0xD006
#define HPOSM3 *(byte*) 0xD007
// Joystick
#define STICK0 *(byte*) 0x278
#define STRIG0 *(byte*) 0x284
// Player Data (taken from the book „Alfred Goergens — ATARI Player Missile
Grafik“)
static const byte pmdata[14] =
{ 0, 56, 56, 16, 124, 254, 187, 185, 169, 40, 40, 40, 108, 0 };
int main(void)
{
byte *pmtab; // pointer to PM Data
byte x, y; // x, y coord of PM object
byte *pl0; // pointer to player0 data
RAMTOP = RAMTOP – 8; // reserve 2048 (0x800) Bytes for PM Graphics
graphics(0); // set Graphics mode the move Screen buffer
PMBASE = RAMTOP; // set PMBASE to reserved memory block
pmtab = (void*) (RAMTOP * 0x100); // initialize pmtab pointer to memory
block
memset (pmtab, 0, 0x800); // initialize memory block with zero
y = x = 100; // start at x/y coorinates of 100
SDMCTL = 0x3A; // enable PM Graphics
GRACTL = 0x02;
while (STRIG0 != 0) // while not Trigger in Joystick 0
{
switch(STICK0) // simple Joystick routine
{
case 7:
x++;
break;
case 11:
x–;
break;
case 14:
y–;
break;
case 13:
y++;
break;
}
pl0 = pmtab + y + 0x400; // calculate PM Memory
memcpy (pl0, pmdata, 14); // copy Player Data into PM Memory
HPOS0 = x; // set horizontal position
};
return(0);
}
———————————————————–
Die übersetzten Programme findet Ihr auf der Magazindiskette. Ich hoffe Euch gezeigt zu haben das auch hardwarenahe Programmierung in C für den ATARI nicht schwierig ist. Durch die Möglichkeit, sich den Assemblercode ausgeben zu lassen kann man jederzeit die Qualität des erzeugten Programms überprüfen. Sollte der Compiler einige Stellen nicht optimieren können, so besteht die Möglichkeit diese Bereiche selber optimiert in Assembler zu erstellen und in das CProgramm einzubinden. Aber das ist Thema des nächsten Kurses. Bis dahin, viel Spaß mit cc65

Carsten Strotmann


Unconventional

DATUM: 29-31.August 2003
Örtlichkeit: Lengenfeld / Germany
Teilnahmegebühr: 10 Euro
Sponsored by:

Weitere Einzelheiten unter: www.foundationtwo.de
Weitere Auskünfte erteilt: madbutscher@foundationtwo.de
Wir hoffen auf Euer zahlreiches Erscheinen.

 

Game-Clones Vol. 10

Ein sehr beliebtes Genre bei den Atari 8Bit Geräten (VCS und 800/XL/XE), neben Sportspielen, Rennspielen und Jump und Runs, waren und sind die Ballerspiele. Je simpler/billiger, sinnloser/ endloser und vor allen Dingen einfallsloser sie waren, umso beliebter waren sie. Hatte man [anno dazumal] noch tierisch viele Münzen in irgendeinen Spiele-Automaten gesteckt um diese Dinger zu spielen, so musste man sie später auch unbedingt als Computer- oder Konsolenspiele zuhause haben. Dabei war es egal, ob es sich um ein Original Space Invaders, Galaga, Phoenix, Xevious oder Vanguard handelte, oder nur um eine mittelmäßige Konvertierung oder gar ein Clone davon (z.B. Galaxian, Demon Attack, etc.). Hauptsache war, man besaß das Spiel und konnte es alleine oder mit Freunden zocken.

Besonders beliebt war in den Zeiten jener Endlosspiele das Sammeln von Highscores. Man konnte nämlich Spiele, wie Space Invaders oder Galaxian (oder auch Pacman!) nicht etwa gewinnen, sondern [nur] versuchen eine möglichst hohe Punktzahl zu erreichen. Mit dieser Highscore konnte man dann vor seinen Freunden prahlen und sie dazu anstacheln einem zu überbieten. So entstanden dann im Laufe der Zeit einige Gruppen oder gar Clubs, die sich auf das sammeln und verbreiten von Highscores spezialisierten. Doch im Laufe der Zeit gelang es einigen Atarianern mittels sog. [Cheats] beinahe unmögliche Punktzahlen in bestimmten Games zu erreichen, was trotz teilweise eingereichter Fotobeweise dann zu Vorwürfen wie [Betrug!] oder [Schiebung!] oder [Schummelei!] führte…

Dies und die Tatsache, dass der Markt einerseits mit Highscore-Games überschwemmt wurde, andererseits aber jede [Modewelle] irgendwann mal langweilig wird und schließlich auch neuere und bessere Games erschienen, führte irgendwann zum Aus der ach so beliebten Highscore- Games. Dennoch bedeutete dies nicht das Ende aller Ballergames, ganz im Gegenteil. Nunmehr musste man es schaffen, ein besonders umfangreiches und langatmiges Spiel bis zum Ende durchzuhalten, ein- oder mehrere Levels zu überleben, Extra-Waffen, Bonus-Icons und dergleichen mehr aufzusammeln, Sprit oder Energie aufzutanken und hier und da sogar einen Endgegner (oder mehrere Zwischengegner) besiegen. Geballert wurde immer noch was das Zeug hielt und etwaige Hintergrundstories waren immer noch völlig blödsinnig und überflüssig.

Allerdings blieb es beim 2D Geballere, denn irgendwie hat sich auf den kleinen Ataris nie jemand die Mühe oder auch nur Gedanken dazu gemacht ein 3D oder wenigstens ein Pseudo-3D Ballerspiel zu programmieren. Das sieht auf anderen 8bit Rechnern schon deutlich anders aus. Zudem waren die 8Bit Ataris (und einige andere Rechner) mit ihren Joysticks und Joypads auf einen einzigen Feuerknopf begrenzt, d.h. es gab meist nicht viele Extra-Waffen oder deren Auswahl + Bedienung war via Tastatur doch etwas umständlich. Bei manchem Game (Zybex, Kult, etc.) wurde diese Problematik dann so gelöst, das man gar nicht mehr schießen musste, sondern lediglich den Player steuerte und mittels Feuerknopf die Waffen umschaltete. Ein Ballerspiel bei dem man selbst nicht [ballern] kann, das gibt es wohl auch nicht allzu oft…

Egal, für heute habe ich mir die Gameclones Deathzone (Encounter), Moon Guard (Moon Patrol) und Raid on Gravitron (???) ausgesucht.
Viel Spaß damit –
Andreas Magenheimer.

 

Dieses ABBUC Magazin erschien ursprünglich als Papierbeilage. Aufbereitung für HTML: Andreas Bertelmann