ABBUC Magazin 087


IMPRESSUM
© 2006 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 Mission ABBUC JHV 2006
Seite 5 Crash auf der JHV
Seite 7 ABBUC Logo Contest 2006
Seite 10 Software Wettbewerb 2006
Seite 11 Von BASIC zu Forth
Seite 17 Joystick
Seite 18 Weihnachtsgeschenke für Bit Byter
Seite 20 ABBUC-Software-Wettbewerb 2007
Seite 21 ABBUC-Hardware-Wettbewerb 2007
Seite 22 Atari-Inkompatibilitätsliste
Seite 23 XIO-Kommandos
Seite 25 Der Norden taut auf
Seite 27 S.A.M. The Software Automatic Mouth
Seite 32 PD-Neuheiten


Mission: ABBUC JHV 2006

von Stefan Johnigk
21. Oktober 2006, das war der diesjährige Termin für die Jahreshauptversammlung des ABBUC. Und in diesem Jahr wollten Nils und ich es endlich einmal schaffen, live dabei zu sein. Wie kommen wir also am besten nach Herten, schließlich liegen zwischen Elmshorn (das liegt knapp 30 km nordwestlich von Hamburg) und Herten über 350 km. Auto? Hm, im Dunkeln fahre ich nicht allzu gern, noch dazu hab ich auf den „Kleinkrieg“ auf Deutschlands Autobahnen auch nicht so die große Lust. Also per Bahn? Gesagt getan, ich buchte für 2 Personen die Strecke Elmshorn <> Herten. Zusätzlich eine Übernachtung mit Frühstück im „Vestischer Hof“, keine 100 m vom Bürgerhaus Süd entfernt. Das Hotel hatte Wolfgang mir empfohlen. Am Freitag, 20.Oktober sind Nils und ich dann zum Elmshorner Bahnhof und dort um 17:09 Uhr in eine Regionalbahn nach Hamburg (Umsteigen). Von dort über Münster (Umsteigen), nach Recklinghausen (wieder umsteigen, diesmal in einen Bus!) nach Herten Mitte. Von dort knapp 20 Minuten zu Fuß zum Hotel, bzw. Bürgerhaus Süd. Ach ja, wann waren wir Freitag da? So gegen 22:00 Uhr hatten wir das Hotel erreicht. Hm, ob Auto nicht doch besser gewesen wäre? Ich sage Nein! Die Fahrt verlief absolut entspannt, pünktlich und völlig problemlos.

Nach dem Bezug des Doppelzimmers (mit getrennten Betten!J) zogen wir noch mal los und schauten uns Herten Süd by Night an, fanden eine Pizzeria und nahmen 2 Pizzen mit aufs Hotelzimmer. Auch wenn der Wirt recht blöd geguckt hat; als wir bepackt mit Pizza und Getränken bei ihm vorbei gingen; immerhin hat er im Hotel ja auch eine Gaststätte laufen (grins). Am Samstag haben wir dann in Ruhe gefrühstückt und sind gegen 09:00 beim Bürgerhaus angekommen. Zusammen mit Sascha Röber, der bereits dort war, bauten wir die Stühle und restlichen Tische auf. Nach und nach trudelten dann die Aussteller ein, auch Wolfgang und die übrigen Vorstandsmitglieder erschienen. Es war toll! Ich war bisher – im Gegensatz zu Nils noch nie hier gewesen und konnte mich gar nicht entscheiden, was ich zuerst angucken und/oder kaufen sollte….Ich kam schnell mit etlichen Leuten ins Gespräch, Nils auch und die Zeit verstrich rasend schnell. Gegen 11:15 Uhr ergriff Wolfgang dann das Wort und begann mit der eigentlichen JHV, die sehr Interessant war und vor allem – im Gegensatz zu anderen Vereinen – sehr harmonisch ablief. Kleine angeregte Diskussionen gab es z.B. bei der Frage, ob und wie Hard- und Softwarewettbewerbe auch im nächsten Jahr durchgeführt werden sollen. Auch die Frage der Preisgelder wurde intensiv diskutiert.

Neben Wolfgang berichteten noch die einzelnen Ressortleiter (Internet, Hard- und Software, Öffentlichkeitsarbeit) über ihre Aktivitäten. Beschlossen wurde unter anderem, unsere Webseite auf einen eigenen Server zu verlegen, den Carsten dann mit in sein 19″ Rack einbaut. Weiterhin gab Wolfgang in seinem Bericht an, dass das vergangene ABBUC Jahr ein sehr gutes gewesen ist. Das kann ich bestätigen, allein die ganzen Hardwareerweiterungen, die zur Zeit von verschiedenen Mitgliedern angeboten werden, machen das Beschäftigen mit dem Atari noch spannender und interessanter. Und so schlug ich dann auch bei vielen Angeboten zu, zumal sie um einiges günstiger angeboten wurden als gewöhnlich. Der Messe Preis macht es möglich. Gegen 15:00 Uhr wurde dann ein MultiJoy Wettbewerb per Beamer durchgeführt. Fujiama Run, so der Name des Decathlon Spieles. Das war richtig lustig zu beobachten, jaja solche Spiele trainieren die Armmuskeln, hehe.

Gegen 15:30 Uhr gab Wolfgang dann noch die Gewinner des Logo- sowie des Softwarewettbewerbes bekannt. Herzlichen Glückwunsch auch noch mal hier aus dem Norden an die Gewinner. Die Auswahl fiel sehr schwer.

Für den Norden die interessanteste Unterhaltung hatte ich mit Gunnar. Er ist zu uns nach Schleswig- Holstein gezogen und die Gefahr besteht nun, dass wir die ABBUC Regional Gruppe Elmshorn wieder auferstehen lassen können. Mal sehen, was so passiert. Wir werden auf jeden Fall in Kontakt bleiben. Um 17:00 Uhr mussten Nils und ich uns dann leider schon wieder verabschieden, die Rückfahrt lief ähnlich ab, wie der Hinweg. Mit Ausnahme einen Stops im kleinsten McDonalds, in dem ich je war. (Recklinghausen Hauptbahnhof). Alles in allem hat es uns sehr, sehr viel Spaß gemacht, ich persönlich hatte das Gefühl, irgendwie einen Kurzurlaub erlebt zu haben, irre, oder?

Auf jeden Fall sehen wir uns nächstes Jahr in Herten wieder!
Viele Grüße aus dem Norden
der Republik
Stefan


Crash auf der JHV

Ein System funktioniert nur so lange, wie man es nicht bewegt. Und bloß nicht vorher testen. Es geht garantiert schief. Nun halte ich nichts von Murphys Gesetzen, weil ich der Meinung bin, man muss schon schwer depressiv sein um so etwas zu verfassen. Aber manchmal muss ich ihm doch zustimmen. Die JHV am 21.10.2006. Darauf freute ich mich. Diesmal fing ich 4 Wochen vorher an alles vorzubereiten, statt 1 Woche vorher wie im letzten Jahr. Der gute Vorsatz hielt, aber die Hardware nicht… Am Abend vor der JHV packte ich die letzten Sachen. 18:00 Uhr: Während ich also die letzten Sachen packte dachte ich mir: „Probier lieber noch mal das Midi- Equipment aus“. Es sollte alles funktionieren für eine große Show am nächsten Tag mit Musik, Sprachbox, viel Krach und viel drum herum. Also XL, Floppy, SIO2IDE, Midi-Interface und Keyboard angeschlossen und…. Nichts! Error 130. Wie das? Ich hatte doch gerade das Programm gebootet? Die Disks und Images funktionierten nicht.

Irgendwas war faul. Anderes Diskettenlaufwerk, dann das nächste , dann noch eins und wieder ein anderes. Nichts ging. Andere XL verwendet, dann einen XE und einen ohne Umbauten. Nichts rührte sich. Immer Error 130!

Also die Images am PC testen. Wieder Error 130. So fand ich das Problem. Die Disketten waren in einem Format, das die Midi-Programme offensichtlich störte. Single- Density war die Lösung. Bisher hatte ich das Problem nicht, da ich das SIO2IDE verwendete, das aber – warum auch immer – nicht funktionierte. 19:50 Uhr: Also neue Disketten erstellen. Kein Problem denkt man sich. Kabel an die 1050. Images übertragen und… Nix. Lesefehler auf den Disketten. Dann ein verdächtiges Geräusch aus dem Monitor. Das 1050PC Interface war durchgebrannt, weil ich versehentlich PC und XE gleichzeitig an der Anlage hatte. Jetzt wurde es zum Problem. Anderes Interface suchen – Habe ja genügend davon – Keins gefunden – Dann das APE Interface genommen, aber da fehlt der 9/25 pol Adapter – Verflixt ich habe mindestens 10 Stück davon – wo sind die Dinger? – Irgendwann hatte ich alles zusammen – XL an, er bootet vom PC. OK. Aufatmen.

22:15 Uhr: Inzwischen standen überall 1050er und XL/ XEs herum. Die Disketten lagen verstreut. Das Chaos war perfekt. Nun noch neue Disketten mit den Midi- Beispielen zusammenstellen. Die anderen waren nicht lesbar. ( – Worauf hatte ich mich da eingelassen? – ) ARTutil genommen. Sauberes Dos 2.0s Image verwendet und MIDIs importiert. – Rein damit in das APE – Und …. Schon wieder nichts! Das ATRutil ist totaler Schrott! Es schreibt das letzte 1 KB nicht in die Images. (Hoffentlich kann bald das ATS diese Dinge) 00:30 Nun also die Images umkopieren. Irgendwann war es OK. Die Images waren auf der 1050 und den Disketten angekommen und der neue Test lief problemlos. Jetzt den Rest einpacken und das Chaos im Arbeitszimmer hinter mir gelassen. Um 1:45 Uhr ging ich zu Bett. Nach fast 8 Stunden Problembeseitigung. Am nächsten Morgen um 5:30 Uhr aufstehen und Richtung JHV.

Um es kürzer zu halten: Das Desaster ließ nicht auf sich warten. Nachdem alles aufgebaut war, gab mein portabler Fernseher seinen Geist auf. Vermutlich ist das Empfangsmodul kaputt. Ich bekam leihweise einen Monitor (DANKE für die Rettung!) Jetzt aber hatten die Programme irgendwie ein Problem zu starten. Es stellte sich heraus dass die 1050 mit TDS-Speedy nun auch noch kaputt war. Also eine Floppy auf der JHV gekauft und angeschlossen. Immer noch extreme Probleme! Fast alle Midi-Demo-Disketten waren defekt. Zerhackt von meiner 1050TDS. Auch die Backup-Kopien waren hinüber. Nur 2 Titel liefen, aber auch nur leidlich, denn jetzt hatte das Midi- Kabel einen Wackelkontakt. Kann man wirklich so viel Pech haben? Ja, man kann! Und sogar noch mehr. Denn aus unerfindlichen Gründen ließen sich von den 512KB im 130XE nur 256 KB ansprechen. Nun auch noch Speicherprobleme weil ich besonders große Midi Files ausgesucht hatte! Nachdem ich so lange gekämpft hatte war dies der Moment, in dem mir der Kragen platzte.

Dank Christoph Büssow, der alles irgendwie zum laufen brachte, (und der Monitor-Leihgabe) flogen die Sachen nicht wie von mir geplant hochkant aus dem nächsten JHV-Fenster, sondern liefen den ganzen Tag über auf der JHV. Als dann am Ende des Tages nacheinander zwei User kamen und meinten „Warum stand das Keyboard da? Lief das?“, war ich eigentlich nur noch frustriert. – Ja es lief. Den ganzen Tag. Und das hat mich richtig viel Geld gekostet.

Es ging so ziemlich alles kaputt. 1050-Interface, Fernseher, Floppy mit Speedy, Midi-Kabel, Disketten, 130XE-Ram. Nur beim Keyboard und dem Midi- Interface weiß ich es noch nicht. Die habe ich seit der JHV nicht wieder angeschlossen. Ich warte damit, bis meine Pechsträhne vorbei ist. Zeigen wollte ich, wie einfach es ist Midi Geräte anzusteuern oder auch Noten direkt einzuspielen. 16 Kanäle am Atari sind kein Problem. Daneben hatte ich auch ein Sprachbox System dabei, das mit Midi gekoppelt laufen sollte. Zu gern hätte ich diese Systeme in Kombination präsentiert. Aber ich habe die Sprachbox im Angesicht dieser Probleme erst gar nicht ausgepackt.

Nächstes Jahr mache ich es anders. Kein Verkauf, kein Filmen oder Fotografieren, kein eigener Stand. Und wenn doch ein eigener Stand, dann nur um mein eigenes Projekt zu präsentieren, an dem ich seit über 2 Jahren baue. Sofern es bis dahin nicht abgeraucht ist.
Andreas Bertelmann


ABBUC Logo Contest

Die Ergebnisse:

 

PLATZ 1
275 Punkte
Oliver Rapp
PLATZ 2
227 Punkte
Bernd Herale
PLATZ 3
217 Punkte
Erik Kiemel
PLATZ 3
217 Punkte
Fred Meijer
PLATZ 4
204 Punkte
Christoph Büs
sow
PLATZ 5
203 Punkte
Stefan Niestegge
PLATZ 6
182 Punkte
Christoph Büssow
PLATZ 7
181 Punkte
Erik Kiemel
PLATZ 8
176 Punkte
Erik Kiemel
PLATZ 10
146 Punkte
Erik Kiemel
PLATZ 11
104 Punkte
Gunnar Kanold
PLATZ 12
92 Punkte
Gunnar Kanold
PLATZ 13
82 Punkte
Gunnar Kanold

Allen Teilnehmern:
HERZLICHEN DANK!


Software Wettbewerb 2006

Die Gewinner:
Wenn man normalerweise einen Text von mir liest, dann kommt es recht häufig vor, dass dieser die Länge eines Romans oder einer mehrseitigen Geschichte erreicht. Heute aber bin ich gnädig und präsentiere euch hier und jetzt die Gewinner des ABBUC Software-Wettbewerbs 2006:

1. Platz: Volks-Forth von C. Strotmann, 227 Punkte, prämiert mit 500 Euro
2. Platz: Head On von R. Sterba, 206 Punkte, prämiert mit 250 Euro
3. Platz: SIO-Hi-Patches von M. Reichl, 205 Punkte, prämiert mit 125 Euro
4. Platz: Cavern Run von W. Fiedler, 196 Punkte, prämiert mit 75 Euro
5. Platz: Light Up von M. Simecek, 179 Punkte, prämiert mit 50Euro
6. Platz Accion von M. Caillahuz, 172 Punkte
7. Platz: Whiskey Mon von G. Schui, 171 Punkte
8. Platz: Plague Attack von M. Caillahuz, 163 Punkte
9. Platz: Voyage to Home von M. Caillahuz, 160 Punkte
10. Platz: Screen-Test von S. Niestegge, 153 Punkte

Der ABBUC und das ABBUC Software Ressort gratuliert allen Gewinnern und bedankt sich für die rege Teilnahme bei allen Programmierern. Für 2007 wird es erneut einen Software-Wettbewerb geben und natürlich hoffen wir alle, dass sich daran auch wieder viele Leute beteiligen. Na dann mal ran an die Tasten…

Andreas Magenheimer


Von Basic zu Forth

Dies ist eine an Atari 8bit VolksForth abgepasste Version einen Textes von Jupiter Cantab für den Jupiter ACE Computer. Der Originaltext kann auf der Jupiter ACE Resource Site(1) gefunden werden.
* Von BASIC zu Forth
* Einleitung
* BASIC-zu-FORTH-Vergleich
* Arrays
* Strings

Einleitung
Beginners All-purpose Symbolic Instruction Code (BASIC) ist, wie der Name schon verrät, eine Sprache für den Computeranfänger. Mit dem Erlernen von BASIC ist der Einstieg in die Programmierung vollzogen. Du solltest nun zu einer Sprache wechseln, die deinen Programmierkenntnissen eine freiere und vollständigere Entwicklung ermöglicht. Vermutlich hast du bereits festgestellt, dass BASIC klare Beschränkungen hat, und dass diese im
mer offensichtlicher werden und dich zunehmend einengen, je weiter du fortschreitest. Die Entwicklung eines umfangreichen BASIC-Programms führt unausweichlich in ein verwirrendes Labyrinth von GOTOs und GOSUBs. Das Programm wird eher langsam sein und viel zu viel Speicherplatz benötigen.

Kein Fachmann wird BASIC als eine ausgesprochen gute Programmiersprache bezeichnen. Sie setzte sich in der Geschichte des Personal-Computers lediglich früh durch und konnte sich eher durch Gewohnheit behaupten, als durch besondere Eigenschaften als Programmiersprache. Aber auch wenn du meinst, BASIC hinter dir lassen zu wollen, beschäftigen dich wahrscheinlich noch ein paar Fragen. Du hast vielleicht das Gefühl, lieber bei der Sprache zu bleiben, mit der du dich auskennst. Du hast vielleicht die Befürchtung, dass der Wechsel zu einer besseren Sprache auch einen Wechsel zu einer schwierigeren Sprache bedeutet. Du möchtest sicherlich wissen, welche andere Sprache die beste wäre. Kurz gesagt ergibt es keinen Sinn bei BASIC stehenzubleiben, wenn du deine Programmierfähigkeiten erweitern möchtest. Früher oder später wird BASIC dich an weiteren Fortschritten hindern, sie zum Stillstand bringen.

Außerdem steht die Qualität einer Computersprache in keinem Zusammenhang mit der Schwierigkeit sie zu erlernen. Übersichtlichkeit und Einfachheit sind Kardinaltugenden guter Programmierung, die sich viel leichter mit einer Sprache umsetzen lassen, die selbst klar und einfach gehalten ist. Die Frage nach einer geeigneten Sprache für PCProgramme( 2) scheint komplexer zu sein, aber das ist sie nicht wirklich. Es gibt eine Sprache, die als Beispiel für Einfachheit und Übersichtlichkeit hervorsticht und die Hilfsmittel für eine elegante Programmierung bereitstellt. Außerdem ist sie sehr schnell, speichereffizient und in besonderem Maße für Mikrocomputer geeignet.

Diese Sprache nennt sich FORTH!
FORTH bietet viele Vorteile. Es ist nicht schwerer zu erlernen als BASIC, aber es erlegt dir keine der Einschränkungen von BASIC auf. Der größte Vorteil für den Computerbesitzer, der sich weitergehende Programmierfähigkeiten aneignen möchte, ist, dass FORTH ihn oder sie in die Lage versetzt, mit leicht erlernbaren Wörtern zu beginnen und dann Schritt für Schritt und Wort für Wort zu komplexeren Programmen überzugehen.

FORTH bietet einen faszinierenden, süchtig machenden und unendlich erweiterbaren Weg wirkliche EDV zu erlernen. Was nun folgt soll dir helfen, den Schritt von BASIC zu FORTH zu gehen. Ein kleiner Schritt bezüglich des Aufwands, aber ein großer Schritt in deine Programmierzukunft. Geh von BASIC zu FORTH, und du wirst nicht zurückgehen! BASIC-zu-FORTH-Vergleich Wenn du ein erfahrender BASIC-Programmierer und zufällig auf FORTH gestoßen bist, wird dich sicher interessieren, ob du deine Lieblingsprogramme in FORTH übersetzen kannst. Die Antwort ist ja, und dieses Tutorial wird dir dabei helfen. Auch wenn es mit Blick auf volksForth geschrieben wurde, gelten die Bemerkungen zu FORTH auch für andere Maschinen. Innerhalb dieses Textes werden BASIC- und FORTHWörter hervorgehoben. FORTH verfügt wie BASIC über Wörter, die entweder als Kommandos eingegeben oder zu einem Programm zusammengefügt werden können. FORTH kennt ein Wort WORDS, mit dem das Wörterbuch (alle Wörter, die FORTH kennt) auf dem Bildschirm ausgegeben wird.

In BASIC wird ein Programm geschrieben, indem eine Reihe von Wörtern aneinander gereiht werden und eine Zeilennummer davor geschrieben wird. In FORTH werden neue Wörter definiert, die dann in das Wörterbuch aufgenommen werden, genauso wie die Wörter, die Forth bereits kennt. Ein neues Wort kann – wie die eingebauten Wörter auch – durch eintippen ausgeführt werden. Es kann selbstverständlich auch in den Definitionen weiterer Wörter verwendet werden. FORTHWörter kannst du dir als Unterprogramme vorstellen. Und das endgültige Programm ist dann eine Reihe von GOSUB-Befehlen, nur dass diese das Programm nicht ausbremsen, so wie Unterprogramme dies tun. Programme, die auf diese Weise geschrieben sind, lassen sich leicht debuggen, da jedes Wort einzeln getestet werden kann, um zu überprüfen, dass es auch wirklich genau das tut, was du willst. Der übliche Weg ein neues Wort zu erzeugen, ist die Doppelpunktdefinition (eng. Colon-Definition). Hier ein sehr einfaches Wort, das lediglich eine Meldung auf dem Bildschirm ausgibt:

: MELDUNG .“ Dies ist volksForth “ ;

Der Doppelpunkt am Anfang bedeutet, dass das nächste Wort der Name eines neuen Wortes ist, welches in das Wörterbuch aufgenommen werden soll. Alles weitere bis zum Semikolon sind die Anweisungen, die ausgeführt werden, wenn das neue Wort benutzt wird. In diesem Beispiel ist der Name des neuen Wortes MELDUNG und die Anweisung ist .“ (ausgesprochen „dot quote“), was ‚gib die folgenden Zeichen bis zum nächsten “ auf dem Bildschirm aus‘ bedeutet. Wenn du MELDUNG eingibst, wird „Dies ist volksForth“ ausgegeben werden. Anschließend wird noch ‚ok‘ ausgegeben, womit angezeigt wird, dass deine Anweisungen ohne Fehler ausgeführt worden sind. WORDS wird nun anzeigen, dass MELDUNG zum Wörterbuch hinzugefügt wurde. Es wird außerdem :, .“ und ; anzeigen, bei denen es sich um FORTH-Wörtern der volksForth- Sprache handelt. Du kannst das selbe in BASIC so schreiben:

10 PRINT „Dies ist volksForth“
und mit RUN, RUN 10 oder GOTO 10 ausführen. Wenn du die Zeile mehrmals verwenden möchtest, kannst du 20 RETURN hinzufügen und mit GOSUB 10 ausführen. Einige BASIC-Versionen erlauben die Verwendung mehrerer Anweisungen in einer Zeile. In diesem Fall würdest du vielleicht 10 PRINT „Dies ist nicht volksForth“ : RETURN schreiben. Einer der Vorteile des Wortes MELDUNG im Vergleich mit der BASIC-Zeile 10 ist, dass MELDUNG ein deutsches Wort ist und so einen Hinweis geben kann, was das Wort wirklich macht: Es gibt eine Meldung aus. GOSUB 10 bedeutet im Deutschen nichts, weshalb du dir merken oder notieren musst, was es macht. Eine Kommentarzeile, wie z. B. 5 REM meldung hilft dir dabei im Listing, aber nicht, wenn du darauf mit einer Zeilennummer zugreifen möchtest. Du kannst FORTH -Wörter ebenfalls mit Kommentaren versehen, indem du den Text in Klammern setzt: ( ist ein FORTH-Wort mit der Bedeutung ‚ignoriere alles, was folgt, bis zum )‘.

Mit dem volksForth-Decompiler kannst du alle Wörter auflisten, die du definiert hast, gerade so wie du einen Teil eines BASIC-Programms listen kannst. SEE MELDUNG gibt SEE MELDUNG

: MELDUNG
(.“ DIES IST VOLKSFORTH“ EXIT ; -2 allot OK

auf dem Bildschirm aus. (Wenn du die Fehlermeldung „SEE MELDUNG WHAT?“ bekommst, musst du den SEE-Befehl mit INCLUDE“ D:SEE.F“ laden.) Das nächste wichtige Feature von FORTH ist die Art und Weise, wie es mit Zahlen umgeht. Wenn du eine Zahl eingibst, wird sie auf den Stack gelegt. Den Stack kann man sich wie einen Stapel Karten, auf denen Zahlen notiert sind, vorstellen. Du kannst weitere Karten oben auflegen oder sie weg nehmen. Die letzten aufgelegten Karten sind normalerweise die ersten, die heruntergenommen werden. So ziemlich alle Computersprachen verwenden einen Stack, aber er wird häufig vor dem Programmierer verborgen. (Eigentlich verfügt FORTH über zwei Stacks: Den Daten-Stack und den Return-Stack. Der Daten-Stack ist der mit den Karten mit den Zahlen, der Return-Stack wird von der Maschine verwendet, obwohl es ein paar Wörter gibt, die dir Zugang dazu bieten, was volksForth mit dem Return-Stack macht.)

In FORTH kommunizieren die meisten Wörter über den (Daten-) Stack. Sie nehmen ihre Operanden vom Stack und legen ihre Ergebnisse darauf. Ein Nummern-Stack macht es arithmetischen Wörtern sehr einfach, die umgekehrte polnische Notation (Postfixnotation) zu verwenden (wie die meisten Hewlett Packart- Taschenrechner). Das bedeutet, dass die Operatoren hinter den Operanden stehen.

BASIC verwendet Infixnotation. Anstatt die Operatoren zwischen die Operanden zu schreiben, würde man in FORTH statt 2+3 schrei
ben: ‚2 3 +‘. 2 und 3 sind Zahlen und werden auf den Stack gelegt. + ist ein FORTHWort, das zwei Zahlen vom Stack nimmt und ihre Summe zurücklegt, in diesem Fall also 5. Das ganze ist vergleichbar mit einem Kochrezept, bei dem zuerst die Zutaten aufgelistet werden und dann kommt die Kochanweisung. Es mag seltsam erscheinen, von dir eine Umstellung bei der Arithmetik zu erwarten, denn warum kann der Computer das nicht übernehmen? Aber es hat seine Vorteile. So brauchst du zum Beispiel keine Klammern in deinen Termen, denn es ist immer klar, welche Operation zuerst ausgeführt werden soll. Der Operator nimmt einfach die Operanden, die er braucht, vom Stack und legt anschließend das Ergebnis zurück. Aus (2+4)*3 wird in der Postfixnotation 2 4 + 3 *. Es gibt eine sehr verbreitete Art darzustellen, was ein Wort mit dem Stack anstellt. Du führst die Operanden, die das Wort auf dem Stack benötigt, beginnend mit dem untersten bis zum obersten. Für + sieht das folgendermaßen aus:

(n,m – n+m)

Operanden Ergebnis
Ein Wort kann eine beliebige Zahl von Operanden haben und eine Vielzahl Ergebnisse bringen. Dies erleichtert es, eigene Funktionen zu definieren. Du musst keine Variablen deklarieren, du schreibst lediglich eine Definition und beachtest, dass die Zahlen, die du benötigst, auf dem Stack liegen. Beispiel: Für eine Funktion, die das Quadrat einer Zahl zurückliefert, würdest du in BASIC(3) schreiben:

DEF FN s(x)=x*x : REM x zum Quadrat
In FORTH wird daraus:
: SQUARE ( n – n zum Quadrat) DUP * ;

DUP (n – n,n) erzeugt eine Kopie der obersten Zahl auf dem Stack und legt diese wieder obenauf. FORTH besitzt noch weitere Wörter zur Stack-Manipulation, um Zahlen in der gewünschten Reihenfolge zu holen.
Diese sind:
* ?DUP verdoppelt die oberste Zahl, wenn diese nicht 0 ist.
* DROP verwirft die oberste Zahl.
* OVER erzeugt eine Kopie der zweitobersten Zahl vom Stack.
* PICK erzeugt eine Kopie einer beliebigen Zahl vom Stack.
* ROLL verschiebt eine beliebige Zahl ganz nach oben.
* ROT verschiebt die dritte Zahl vom Stack ganz nach oben.
* SWAP vertauscht die obersten beiden Zahlen auf dem Stack.
* * (n – n,n*m) nimmt die beiden obersten Zahlen vom Stack und legt ihr Produkt zurück.

Ursprünglich arbeitet FORTH nur mit Ganzzahlen, üblicherweise zwei Bytes lang (16 Bit Zahlen). Es gibt auch Arithmetik für doppelte Längen mit vier Bytes langen Zahlen (32 Bit Zahlen). Bei vielen Programmen ist es recht einfach, alle Zahlen für die Berechnungen in Integer zu wandeln und anschließend wieder zurück. Bei Geldbeträgen würde man zum Beispiel mit Cents arbeiten und diese anschließend in Euro zurückwandeln. Tabelle BASIC zu Forth:

Beachte, dass die obere Schleifengrenze in FORTH um eins höher ist als in BASIC. Das bedeutet, dass die Grenze einer Schleife, die ab x n-mal durchlaufen werden soll, in FORTH x+n ist, in BASIC aber x+n-1.

Beispiel: Basic:
10 REM Zeichensatz
20 FOR n = 0 TO 255
30 PRINT CHR$(n);
40 NEXT n
Forth:
: ZEICHENSATZ
256 0 DO
I EMIT
LOOP ;

Das Wort I kopiert den aktuellen Wert des Schleifenzählers auf den Stack. EMIT druckt dann das Zeichen mit diesem ASCII-Wert.

IF nimmt eine Zahl (Bedingung) vom Stack und führt, wenn sie ungleich 0 (wahr) ist, den Teil zwischen IF und ELSE aus und springt dann zu THEN. Wenn die Bedingung gleich 0 (falsch) ist, wird zu ELSE gesprungen und der ELSE…THEN-Teil ausgeführt. ELSE kann auch weggelassen werden. Beachte, dass THEN an einer andere Stelle steht als in BASIC. In FORTH musst du dir vorstellen, dass wenn eine Bedingung wahr ist, irgendetwas getan wird und dann (THEN) mit dem Rest des Programms weitergemacht wird. Beispiel:

Basic:
10 REM Konto
20 PRINT ABS(konto);
30 IF konto>=0 THEN GOTO 100
35 REM Konto negativ
40 PRINT „Belastung“
50 GOTO 120
100 REM Konto positiv
110 PRINT „Guthaben“
120 RETURN
: KONTO ( konto – )
DUP ABS .
0 IF
( wenn Konto negativ)
.“ Belastung“
ELSE
( wenn Konto positiv)
.“ Guthaben“
THEN ;


Arrays
FORTH selbst verfügt über keinerlei Wörter zur Arraybehandlung, aber es erlaubt dir, im Wörterbuch Speicherplatz für deine eigenen Daten anzulegen. Das Wort CREATE fügt ein Wort ins Wörterbuch ein, tut sonst aber nichts. CREATE ZEILE erzeugt also ein Wort mit dem Namen ZEILE. Wenn du nun ZEILE eingibst, wird die Adresse des ersten Bytes im Wörterbuch nach der Definition von ZEILE auf den Stack gelegt. Dies erscheint witzlos, aber es gibt noch ein weiteres FORTHWort: ALLOT hängt eine bestimmte Zahl von Bytes an das Ende des Wörterbuches an. So kannst du ein Datenfeld für deinen leeren Namen erzeugen. Wenn du nun 6 ALLOT sagst, hast du ein eindimensionales Array mit dem Namen ZEILE, das sechs Byte lang ist. 3 5 ZEILE + 1- C! speichert 3 in das fünfte Element von ZEILE und 5 ZEILE + 1- C@ liest es wieder zurück. (1- wird benötigt, da das erste Element bei ZEILE+0 abgelegt ist.)

Ein zweidimensionales Array ist lediglich eine Reihe von Elementen, aber die Elemente selbst sind Reihen. Du musst also die Zahl der Reihen mal die Länge einer jeden Reihe (die Zahl der Spalten) zuweisen. Genauso macht es dein BASIC-Computer auch, aber er lässt es sich nicht anmerken.

FORTH kennt kein READ, DATA und RESTORE (obwohl du sie nachahmen könntest), aber es verfügt über etwas wesentlich einfacheres, das die gleiche Funktion erfüllt: Den Stack. Anstelle eines DATAStatements hast du ein Wort, das alle Daten auf den Stack legt. Beispiel:

Basic:
110 DATA 5,0,7,2,1,4
Forth:
: DATA 5 0 7 2 1 4 ;

Eine der Hauptanwendungen für READ, DATA und RESTORE ist die Initialisierung von Arrays. Du kannst nun ein Wort definieren, das ZEILE (aus dem Abschnitt über Arrays) füllt:

: INIT
DATA -1 5 DO
ZEILE I + C!
-1 +LOOP ;
oder in BASIC:
120 FOR I=1 TO 6
130 READ R(I)
140 NEXT I

Die Schleife beginnt am Ende der Zeile und bewegt sich rückwärts. Rückwärts deshalb, weil der letzte geschriebene Wert der erste zu lesende ist. Zum Neuinitialisieren von ZEILE wird kein RESTORE benötigt, INIT fängt wieder von vorne an.

Strings
FORTH kennt ein Wort TYPE, mit dem eine bestimmte Anzahl von Zeichen ab einer bestimmten Adresse ausgegeben werden. Eine einfache Art, eine Zeichenkette anzusprechen ist demnach ihre Startadresse und die Länge. Das volksForth-Handbuch enthält Wörter, um Strings auf diese Weise aufzubauen, zu vergleichen usw. String-Arrays können mit Arrays
von ASCII-Codes erzeugt werden. Zur Ausgabe steht das Wort .“ (siehe Einleitung und PRINT) zur Verfügung. Übersetzung aus dem englischen von Oliver Graf Anpassung an volksForth von Carsten Strotmann

(1) Jupiter ACE Resource Site: http://www.jupiter-ace.co.uk/usermanual.html
(2) hier sind keine IBM PCs gemeint, sondern Personal Computer als Abgrenzung zu Gross Computern (Mainframes), der Originaltext ist von 1983
(3) das geht in Atari Basic nicht so, aber in anderen Homecomputer Basic Sprachen gibt des die DEF Anweisung


Joystick

Hallo Leute,
nach dem kürzlichen Artikel über die neu aufgelegten Competition Pro Joysticks der Firma Speed Link habe ich mir einen in der USB-Ausführung und 2 mit dem „seriellen“ Anschluss bestellt und auch erhalten. Der Competition Pro kam in einer prachtvollen transparenten Kunststoffverpackung mit rotem Schleifchen. Ich habe ihn vorsichtig ausgepackt für den Fall, dass er nicht tut was er soll und ich ihn zurückschicken will – aber die Vorsicht war offenbar überflüssig.

Ich habe ihn sofort an meinem 400 MHz W98SE Notebook mit dem Atari 800 Win Emulator ausprobiert. Nach dem Einstecken hat Windows noch einen Treiber von der W98SE CD geladen und das war es auch schon. Der Joystick wurde von A800Win sofort völlig korrekt erkannt und funktionierte entsprechend korrekt. Gerade habe ich noch die beiden anderen Joysticks getestet. Ich hatte sie mit leichten Bauchschmerzen bestellt, weil in der Beschreibung im Webshop etwas von einem „seriellen“ Anschluss stand, sie andererseits aber laut Produktbeschreibung für C64 und Atari geeignet sein sollten. Mit Erleichterung kann ich sagen, dass die Bemerkung über den „seriellen“ Anschluss irreführend ist. Die Joysticks haben in der Tat den typischen angegossenen SubD-Stecker und sie funktionieren hervorragend am Atari :-)) Sie sind quasi identisch zu einem Competition Pro von anno Dunnemals, den ich noch habe. Zudem haben sie ein fast 2 Meter langes Anschlusskabel und zusätzliche kleine Feuertasten, die man mit einem seitlichen Schalter ein – oder ausschalten kann.

Ein kleiner Nachteil ist, dass die Stecker extrem schwergängig sind. Zuerst dachte ich, dass sie ein größeres Gehäuse haben und überhaupt nicht in die versenkten Buchsen eines Atari passen.

Allerdings sind offenbar entweder die Kontakte sehr stramm oder die Öffnungen zu den Kontakten sehr eng, oder beides. Es ist auf jeden Fall empfehlenswert, den Joystick 10 bis 20 mal auf einen Standard-SubD-Stecker zu rammen, dann sind sie etwas leichtgängiger.

Für den Fall, dass ich doch mal unter die Gamer gehe und irgend welche joystickkillende Spiele zocke habe ich innendrin noch etwas Siliconfett für Kunststoff zwischen die Köpfe der Mikroschalter und der Steuerachse aufgetragen.

Mein Rat: die 14,99 Euro pro Joystick sind eine gut investiert.
Viele Grüße
Euer Floppydoc


Weihnachtsgeschenke für BitByter

Die ATARI HISTORY ROM 2006 enthält viele interessante Bilder rund um die ATARI 8-Bit Computer 400, 800 und XL/XE sowie das ATARI-VCS 2600, 5200 und 7800. Auf dieser ATARI-HISTORY-ROM findet Ihr:
* Viele Cover von ATARI-Zeitschriften (ANALOG, ANTIC)
* Über 400 Fotos von der ABBUC-JHV 1999-2005
* Mehr als 1000 Bilder rund um die ATARI-8-Bit Computer
* Über 100 Bilder des ATARI-VCS-2600,5200 und 7800
* Multimediale Diashows (HTML + Windows) aller Inhalte

Über 60 PPP-PD-Mags im ATR-Format Besonderheiten in dieser Ausgabe: Das große WASEO-Paket: WASEOPublisher, WASEO-Labouratorium, WASEO- Triology, WASEO-Practoscope und WASEO-Grafinoptikum als ATR-Dateien. Über 70 weitere PD-Mags im ATR-Format Ein ATARI 400/800-Katalog aus dem Jahr 1982 (gescannt) Ein ATARI Weinachtskatalog (gescannt) Preis 4 Euro + 2,50 Euro Porto und Verpackung (Vorkasse) ( + 2 Euro bei Nachnahme ) zu bestellen bei

WASEO
Michael Probst
Göttingstr. 16
38106 Braunschweig
miprobst@web.de

Die Geschenkehits 2006: Die Bildershow-DVD, Kalender und Künstlerbilder von WASEO! 1. Die große ABBUC-Bildershow 2006 Eine weitere Bildershow mit tollen Schnappschüssen der ABBUC Jahreshauptver- sammlungen ab 1999! Neu in dieser Ausgabe:
* Bilder von der ABBUC JHV 2005
* Screenshot-Parade mit den besten ATARIGrafiken
Natürlich wieder gewürzt mit witzigen Kommentaren und erstklassiger ATARI 8Bit-Musik! Allein die Screenshot-Parade ist mehr als 20 Min. lang! Auch der Film von der ABBUC JHV 2004 ist wieder mit dabei!
Preis: Nur 4,00 EUR!

2. Der große ABBUC JHV Kalender 2007
Ein noch besserer Kalender als letztes Jahr, denn bei diesem wurden alle Bilder auf echtem Hochglanz Fotopapier mit 5760 dpi gedruckt! Dies mal steht auch nicht ATARI Hardund Software im Mittelpunkt, sondern die besten Bilder aus den ABBUC JHVs der letzten 7 Jahre. Weitere Verbesserungen:
* Enthält deutsche und niederländische (z. B. Januari, Februari, Maart…) Monatsnamen
* Enthält alle deutschen Feiertage und zusätzlich noch die in den Niederlanden, Österreich und der Schweiz
* Verbesserte Rückenwand in verschiedenen Farben mit Aufhängevorrichtung
Preis: Nur 2,00 EUR!

3. Wieder erhältlich: Künstlerbilder
Aufgrund neuer Nachfrage sind diese Bilder wieder lieferbar: Mit dem aufwändigem Druck und dem ausdrucksstarken Design sind sie ein toller Blickfang an der Wand eines jeden ATARI 8Bit-Fans!

Bestellung der Geschenkideen (zzgl. 2 Euro Porto- und Verpackungspauschale) per Vorauskasse oder Nachname (+ 2 Euro) bei:
WASEO
c/o Thorsten Helbing
Hopfenhellerstrasse 5
37445 Walkenried


ABBUC Software Wettbewerb 2007

Regeln für den ABBUC-Software-Wettbewerb 2007:
1) Allgemeine Regeln:
Der Abgabeschluss für den Software-Wettbewerb wurde auf den 31. August 2007 festgelegt. Folgende Preise werden vom ABBUC vergeben:
1. Platz: 500 Euro
2. Platz: 250 Euro
3. Platz: 125 Euro
4. Platz: 75 Euro
5. Platz: 50 Euro
6.-10. Platz: ein kleiner Trostpreis

Der ABBUC erhält für die angemeldeten Programme das Erstveröffentlichungsrecht für das Magazin und den Software-Wettbewerb; das Copyright bleibt jedoch weiterhin beim Autor, der sein Programm nach dem Wettbewerb (ab November) frei verwenden kann. Die Präsentation der Programme wird auf der ABBUC-JHV und im ABBUC Magazin stattfinden, die endgültige Entscheidung und Preisvergabe dann auf der ABBUCJHV im Oktober. Der Autor muss bei dieser Veranstaltung (Präsentation, Preisvergabe) nicht unbedingt anwesend sein, er erhält den Preis dann trotzdem zugesandt oder überwiesen, sofern dem ABBUC dafür die Postadresse und/oder Bankverbindung vorliegt…

2) Programm Typen und Größe:
Bei den Wettbewerbs-Programmen darf es sich um folgende Programmtypen handeln:
a) Spiel/e, b) Anwendung/en (auch Tools, Utilities, Programmiersprachen, etc.) und c) Betriebs-Systeme (DOS). Nicht erlaubt sind jegliche Formen von Demos oder Intros, sowie Beta-, Vorab-, oder Pre- Versionen (die Programme müssen fertig gestellt sein). Bei der Kompatibilität ist zu beachten, dass die Programme mind. auf einem XL oder XE Rechner laufen müssen, d.h. auf einem Standard 64k oder 128k Atari XL/XE. Es darf zwar Zusatzhardware unterstützt werden, diese darf aber nicht die Voraussetzung zum Laden oder Laufen des Programms sein. Und ob man es nun glaubt oder nicht, das ABBUC Software Ressort (und auch alle ABBUC Mitglieder) wird (werden) einen „Qualitäts-“ und „Kompatibilitäts-“ Check aller angemeldeten Wettbewerbs-Programme durchführen…

3) Format und Sprachen:
Das Wettbewerbs-Programm kann auf 5,25″ Atari- Disk(s) oder als ATR-Image(s) eingereicht werden, es muss als 90k (SD) oder 130k (ED) Disk-Format bzw. ATR-Image vorliegen. Zu dem Programm muss eine kurze Anleitung vorliegen, diese kann entweder im Programm (intern) enthalten sein oder als Text-Datei (extern) dazu gefügt werden. Wichtig ist hierbei, dass entweder Deutsch oder Englisch verwendet wird (und kurz erklärt wird wie das Programm zu laden ist), damit auch jeder das Programm bedienen kann. Es sind übrigens alle Atari 8Bit kompatiblen Programmiersprachen erlaubt, jedoch am Ende nur Kompilate, damit jeder das Programm laden kann. Ausnahmen sind lediglich Atari Basic und Turbo Basic XL – hier sind auch Sources bzw. Listings erlaubt, da diese Sprachen ja jeder Atarianer besitzt. Zu den Programmen bzw. Kompilaten muss keinerlei Sourcecode beiliegen, das fertige bzw. lauffähige Programm ist schon ausreichend…

Andreas Magenheimer


ABBUC Hardware Wettbewerb 2007

1.1 Wettbewerb
Um die Entwicklung neuer Hardware für die ATARI 8-Bit- Systeme zu fördern, schreibt der ABBUC e. V. einen jährlich stattfindenden Hardwarewettbewerb aus. Die Regeln und Bedingungen für die Teilnahme am Wettbewerb sind in den nachfolgenden Punkten festgelegt. Teilnahmeberechtigt sind grundsätzlich alle natürlichen Personen!

1.2 Auszeichnungen
die Prämierungen erfolgen auf der Jahreshauptversammlung
(JHV) wie folgt:
* Preis „beste Hardware 2007“
* Sonderpreis beste Hardware 2007 in Entwicklung (Vorserienmodell/Prototyp)

1.3 Teilnahmebedingungen
1.3.1 Qualitätscheck
Die zur Wettbewerbsteilnahme vorgesehene Hardware muss dem Ressortleiter Hardware für die zur Zulassung erforderlichen Vortests zur Verfügung gestellt werden. Für die erforderlichen Einsendungen bitte die vorgenannte Anschrift verwenden! Nach Abschluss des Wettbewerbs erfolgt die Rückgabe/Rücksendung an den Eigentümer.

1.3.2 Eigenschaften
Zum Wettbewerb zugelassen wird/werden ausschließlich Hardware/Erweiterungen für die Computerfamilie der ATARI 8- Bit-Reihe (600XL, 800XL, 65XE, 130XE). Zur Zulassung kommen Erweiterungen für die Computer selbst, wie auch eigenständige Peripheriegeräte. Modifikationen von bereits verfügbaren/ veröffentlichten Entwicklungen sind von der Teilnahme ausgeschlossen. Weiterhin muss der Teilnehmer gewährleisten, dass spezielle Software (Betriebssysteme, Computersprache, Anwendungsprogramme) nicht zwingend zum Betrieb der eingereichten Hardware notwendig sind, es sein denn, die Software ist im Lieferumfang enthalten und frei von jeglichen Rechten Dritter. In Sonderfällen entscheidet der Ressortleiter Hardware in Zusammenarbeit mit dem 1.Vorsitzenden des Vereins über eine Zulassung.

1.4 Anmeldung/Zulassungsvoraussetzungen
· Vorlage eines funktionsfähigen Modells bei der Teilnahme „beste Hardware 2007“
· Vorlage von aussagefähigen Unterlagen/Beschreibungen bei der Teilnahme „beste Hardware 2007 in Entwicklung“
· Verständliche Beschreibung/Anleitung der Hardware in deutsch oder englisch
· Mindestens drei Fotos in digitaler Form (min. 1024*768dpi, 24Bit Farbe)
· Die eingereichte Hardware bzw. Software muss frei von Rechten Dritter sein. Einsendungen, bei denen eine Copyright-Verletzung nicht zweifelsfrei ausgeschlossen werden kann, nehmen NICHT am Wettbewerb teil.
· Geräte, die bereits in vorangegangenen Wettbewerben teilgenommen haben, sind nicht zugelassen.

1.5 Anmeldeschluss
Die zur Teilnahme vorgesehene Hardware muss bis spätestens 31.08.2007 beim Ressortleiter Hardware entsprechend der Vorgaben zur Prüfung eingegangen sein. Über die Zulassung verspätet eingegangener Geräte kann im Sonderfall der Ressortleiter Hardware zusammen mit dem 1. Vereinsvorsitzenden entscheiden. Bitte den Anmeldeschluss beachten!

1.6 Präsentation der am Wettbewerb teilnehmenden Hardware
Die Hardwareerweiterungen werden auf der Jahreshauptversammlung dem Publikum in Aktion präsentiert.

1.7 Bekanntgabe der Gewinner
Der/Die Gewinner werden durch Auszählung der Abstimmungsbögen LIVE auf der Jahreshauptversammlung 2007 ermittelt. Wahlweise kann die Abstimmung auch per Post erfolgen. Der Abstimmungsbogen wird jedem Clubmitglied zusammen mit dem Clubmagazin auf dem Postweg zugestellt. Einsendeschluss für die Postabstimmung ist der 20.10.2007. Grundsätzlich abstimmungsberechtigt sind alle Clubmitglieder.

1.8 Preisgelder
Der Preis für die“beste Hardware 2007″ ist mit einem Preisgeld in Höhe von min. EUR 500,00 dotiert. Der Sonde
rpreis für die“beste Hardware 2007 in Entwicklung“ ist mit einem Preisgeld in Höhe von min. EUR 100,00 dotiert. Die Plätze zwei und drei erhalten einen Trostpreis! Kann in einer Kategorie kein Preis vergeben werden, behält sich der ABBUC e.V. vor, das Preisgeld für die nachfolgenden Wettbewerbe zu verwenden.

1.9 Schlussbestimmungen/Rechtliches
Der Rechtsweg ist ausgeschlossen. Ein Rechtsanspruch der Teilnehmer auf Durchführung des Wettbewerbs besteht nicht. Änderungen sowie Irrtümer vorbehalten. Der ABBUC e.V. haftet für eventuelle Schäden am Wettbewerbsgegenstand nur bei Vorsatz sowie grober Fahrlässigkeit. Eine weitere Haftung – aus welchen Rechtsgründen auch immer – insbesondere auf Ersatz von Schäden, die nicht am Wettbewerbsgegenstand entstanden sind, ist ausgeschlossen.

ABBUC e. V.
Ressort Hardware
c/o Andreas Mischka
Pfarrstr. 7
D-89165 Dietenheim
GERMANY


Atari Inkompatibilitätsliste

Eigentlich liest man ja immer wieder, dass die Atari 8Bit Computer wie z.B. Atari 400/800, XL/XE und XEGS zueinander kompatibel sind. Und im Grunde genommen stimmt das auch, denn ca. 90% aller verfügbarer kommerzieller (!) A8 Software läuft grundsätzlich auf allen Rechnern, wenn genügend RAM vorhanden ist. Aber dennoch gibt es einige kommerzielle Programme, die scheinbar auf XL/XE oder XEGS nicht laufen will. Für diese Proramme benötigt man entweder eine gutgepatchte RK oder eine Translator-Disk (die dann das Atari 800-OS in den XL/XE/XEGS lädt) oder eben ein zusätzliches bzw. alternatives OS (wie original 800- OS, QMEG-OS. SPOS,etc.)…

Soweit so gut, doch einige Leute mag es vielleicht interessieren warum dem so ist bzw. wo denn die Probleme dieser Programme liegen. Um es gleich zu sagen, es liegt an Veränderungen und somit Inkompatibilitäten der OS-Versionen des Atari Computers. In den Anfangsjahren der Homecomputer sagte Atari einmal: „If programmers use the PUBLISHED VECTORS into the Operating System, their programs will run on any 8-Bit Atari computer“. Nunja, „if“ oder zu deutsch „wenn“ ist hierbei ein ziemlich schwergewichtiges Wort (wenn das Wörtchen wenn nicht wär…). Und weil Programmierer sich nunmal nie an Vorschriften oder Vorgaben halten, wurde diese Grundregel natürlich nicht eingehalten und anstatt best. Stellen im OS über Vektoren anzuspringen, halt eben die gewünschte Stelle direkt angesprungen. Auf diese Weise konnte man meistens ein paar Bytes Speicherplatz einsparen und der direkte Einsprung ins OS (ohne Umweg über die Vektoren) funktionierte prima, solange es ja nur die Atari 400/800 Rechner gab. Ja sogar Atari selbst bzw. einige Atari Programme hielten sich nicht an diese Vorgabe…

Spätestens aber mit der Einführung der XL-Computer und deren neuen OS sollte sich dieses Fehlverhalten rächen, denn auf einmal liefen div. alte Programme nicht mehr auf den neuen XL-Computern. Dabei lag die Schuld weniger an Atari, die ein neues OS entwickelt/ eingebaut hatten, als vielmehr an den Programmierern, die sich nicht an die Vorgaben gehalten hatten. Nun war guter Rat teuer und viele Software-Häuser mussten ihre Programme patchen, updaten bzw. neu auf den Markt bringen, bis es eines Tages von Atari die Lösung in Form der Translator-Disk gab. In Folge entstanden natürlich auch wieder jede Menge selbstgebraute Fix- Programme, die mehr oder weniger den gleichen Zweck der Translator-Disk erfüllten. Und wann immer dann ein Programm auftauchte, dass auf dem XL (und später XE, XEGS) nicht lief, hieß es: Benutze die Translator-Disk oder das OLD-OS. Hier nun aber endlich die Gründe der Inkompatibilitäten bzw. einige Vektoren des OS (die bei allen Ataris gleich sind) und deren direkte Adressen im OS (die je nach Atari OS verschieden sind und daher bei direkten Einsprüngen die Inkompatibilität hervorrufen):

Vector 800 XL/XE 1200XL
200 VDSLST E790 C0CE C0E7
202 VPRCED E78F C0CD C0E6
204 VINTER E78F C0CD C0E6
206 VBREAK E78F C0CD C0E6
208 VKEYBD FFBE FC19 FC0C
20A VSERIN EB0F 1A23 E929
20C VSEROR EA90 19E6 E88A
20E VSEROC EACF EAEC E8C9
210 VTIMR1 E78F C0CD C0E6
212 VTIMR2 E78F C0CD C0E6
214 VTIMR4 E78F C0CD C0E6
216 VIMIRQ E706 C030 C054
222 VVBLKI E7AE C0E2 C019
224 VVBLKD E905 C28A C2A3
226 CDTMA1 EBEC EC11 EA2E
E400 E:OPEN F3FC EF94 EEF8
E402 E:CLOSE F634 F2D3 F17E
E404 E:GET F63E F24A F18F
E406 E:PUT F6A4 F2B0 F1F5
E408 E:STATUS F634 F21E F174
E40A E:SPECIAL F63D F2C3 F17C
E40C E:JUMP F3E4 EECD
E410 S:OPEN F3F6 EF8E EEED
E412 S:CLOSE F634 F2D3 F17E
E414 S:GET F593 F180 F0D6
E416 S:PUT F5B7 F1A4 F0FA
E418 S:STATUS F634 F21E F174
E41A S:SPECIAL FCFC F9AF F903
E41C S:JUMP F3E4 EF6F EECD
E420 K:OPEN F634 F21E F174
E422 K:CLOSE F634 F21E F174
E424 K:GET F6E2 F2FD F242/F247
E426 K:PUT F63D F22D F17D
E428 K:STATUS F634 F21E F174
E42A K:SPECIAL F63D F22D F17D
E42C K:JUMP F3E4 EF6F EECD
E430 P:OPEN EE9F FEC2 EC63
E432 P:CLOSE EEDC FF07 ECA3
E434 P:GET EE9E FEC1 EC62
E436 P:PUT EEA7 FECB EC6C
E438 P:STATUS EE81 FEA3 EC44
E43A P:SPECIAL EE9E FEC1 EC62
E43C P:JUMP EE78 FE9A EC3A
E440 C:OPEN EF4C FCE6 ED1A
E442 C:CLOSE F02B FDCF EE03
E444 C:GET EFD6 FD7A EDAE
E446 C:PUT F010 FDB4 EDE8
E448 C:STATUS F028 FDCC EE00
E44A C:SPECIAL EF4B FCE5 ED19
E44C C:JUMP EF41 FCDC ED0F
E450 DISKIV EDEA C6A3 C2A9
E453 DISKINV EDF0 C6B3 C2B9
E456 CIOV E4C4 E4DF E4DF
E459 SIOV E959 C933 F74E
E45C SETVBV E8ED C272 C28B
E45F SYSVBV E7AE COE2 C019
E462 XITVBX E905 C28A C2A3
E465 SIOINV E944 E95C E739
E468 SENDEV EBF2 EC17 EA34
E46B INTINV ECD5 C00C C00C
E46E CIOINV E4A6 E4C1 E4C1
E471 BLKBDV F223 *F223* FCE1*SLFTST*
E474 WARMSV F11B C290 C34B
E477 COLDSV F125 C2C8 C37B
E47A RBLOKV EFE9 FD8D EDC1
E47D CSOPIV EF5D FCF7 ED2B
E480 PUPDIV F223 FCE1
E483 SLFTST ** 5000
E486 PENTV EEBC CAAE
E489 PHUNLV E915 CAEB
E48C PHINIV E898 CA34

Diese Liste stammt übrigens von Paul Alhart (und nicht von mir!) und ich denke, sie stellt eine recht gute Informationsquelle für Programmierer dar, sowie für alle, die wissen und untersuchen wollen, warum dieses oder jenes Programm auf ihrem A8 Computer nicht läuft. Es wäre schön, wenn diese Liste von Besitzern der XEGS Geräte entsprechend ergänzt werden könnte, denn ich bin mir sicher, dass das XEGS mit seinem erneut veränderten OS auch einige Inkompatibilitäten gegenüber den übrigen Atari Computern aufweist…

Andreas Magenheimer


XIO Kommandos

Nun, eigentlich ist dieses Thema ja ein ganz alter Hut und für die meisten Abbucianer und Langzeit- Atarianer völlig uninteressant. Aber da e
s immer wieder schwer fällt das ABBUC Magazin mit Texten zu füllen, habe ich halt mal eben diese Informationals Lückenfüller ausgegraben. Um was geht es? Na, wie der Titel schon sagt um XIOCodes.

Wer Atari Basic kennt, der weiß, dass es in seinen Funktionen und Möglichkeiten ganz schön eingeschränkt ist, immerhin mussten die damaligen Programmierer ja auch mit 8kbytes auskommen, wodurch viele Ideen, Extras und Optionen eben weggelassen werden mussten.

Aber, einige Funktionen lassen sich auch in AB ganz gut mit XIO-Kommandos erledigen, sofern man diese kennt. Natürlich gibt es da auch wieder ein paar Haken, denn manche XIO-Kommandos funktionieren nur, wenn vorher ein DOS geladen wurde – und je nachdem, welches DOS geladen wurde kann ein bestimmtes Kommando ganz unterschiedliche Funktionen haben. Ich habe mich hier mal auf DOS 2.0, DOS 2.5, MyDOS und Sparta beschränkt. Vielleicht hat ja mal jemand Lust, die Liste für andere DOS zu erweitern. Nun aber los mit den XIO Kommandos:

XIO/Operation:
3 OPEN
5 GET RECORD
7 GET CHARACTERS
8 PUT RECORD
11 PUT CHARACTERS
12 CLOSE
13 STATUS REQUEST
17 DRAW LINE
18 FILL
32 RENAME
33 DELETE
34 CREATE DIRECTORY (MyDOS)
34 LOCK DISK (SpartaDOS 2.3/3.2)
35 LOCK FILE
36 UNLOCK FILE
37 POINT
38 NOTE
39 GET FILE LENGTH (SpartaDOS)
40 LOAD BINARY FILE
41 SAVE BINARY FILE (Atari DOS,SpartaDOS 2.3/3.2)
41 CHANGE DIRECTORY (MyDOS)
42 CREATE DIRECTORY (SpartaDOS)
43 DELETE DIRECTORY (SpartaDOS)
44 CHANGE DIRECTORY (SpartaDOS)
45 SET BOOT FILE (SpartaDOS)
46 UNLOCK DISK (SpartaDOS 2.3/3.2)
49 SET FILE ATTRIBUTES (SpartaDOS X cart.)
253 FORMAT SINGLE DENSITY (DOS 2.5)
254 FORMAT DISK (default format)

Unter DOS 2.0 würde also XIO 254,#1,0,0,“D:*.*“ eine Disk in single density (90k)formatieren, in DOS 2.5 würde das gleiche Kommando zu medium/enhanced density (130k) führen…


Der Norden taut auf

Viele werden es bereits im Forum des ABBUC gelesen haben. Der Norden der Republik hat wieder eine aktive Regionalgruppe. Aber von Anfang an: Auf der diesjährigen JHV in Herten kam ich mit Gunnar („Bunsen“) ins Gespräch. Er ist nach Schleswig-Holstein gezogen und meinte, wir könnten ja die alte Regional Gruppe Nord wieder zum Leben erwecken. Gesagt getan, mit Nis („nille“) kümmerte ich mich um einen geeigneten Raum, wo man sich nicht nur treffen, sondern auch mehrere Geräte aufbauen kann. Nils hat gute Verbindungen zur örtlichen Diakonie, ich zur Volkshochschule. Also versuchten wir parallel einen Raum zu bekommen. Die Diakonie steht der ganzen Aktion generell aufgeschlossen gegenüber, auch die Kosten für einen Raum halten sich mit unter 20,– EUR sehr in Grenzen.

Leider war unsere Terminplanung recht kurzfristig, so dass es nichts mehr wurde mit einem Raum dort. Allerdings werden die kommenden Treffen wahrscheinlich da stattfinden. Also blieb noch die Volkshochschule.

Ein Raum dort mit Tischen, Stühlen und genügend Stromanschlüssen kostet 45 EUR für einen Abend, wobei der Abend von 18:00 – 22:30 definiert ist. Bleibt man länger, so verdoppelt sich der Preis mal eben! Gott sei Dank hab ich durch meine Tätigkeit dort recht gute Verbindungen, so dass wir praktisch „open End“ bleiben konnten. Ab 21:00 Uhr waren wir alleine im Gebäude und ich für alles verantwortlich. Aber Atari User sind allesamt nette und überaus vernünftige Menschen, so dass ich keine Befürchtungen haben musste.

Tja, also war ich am Freitag, den 17.11. um kurz nach 18:00 Uhr in der VHS, suchte und fand den gemieteten Raum und begann meine Sachen aufzubauen. Danach noch kurz 1 Hinweisschild in der Eingangshalle positioniert und dann…warten. Insgesamt 5 Personen hatten sich per Mail oder im Forum angemeldet und….alle kamen! Aus dem Stand ein Treffen einer Regionalgruppe mit 6 Personen, einfach Klasse!! Trotz der allgemein schlechten Innenstadtwegweiser in Elmshorn fanden alle ohne Probleme die VHS und Raum 201. Gegen 19:00 waren wir vollzählig und jede Menge Atari Power aufgebaut.

Nils bastelte an seinem Rechner, Dirk kämpfte mit dem Kopieren von Disks, Gunnar und Matthias spielten, Bert und ich fachsimpelten. Einige Software (teilweise noch Original verpackt) wechselte nach kurzem Feilschen den Besitzer und mein aufgerüsteter 800XL gab den Geist auf (Speicher defekt). Mal sehen, ob Nils den wieder hinbekommt.

Gegen 21:00 Uhr spielten wir zu viert am Multijoy M.U.L.E., das Spiel kannte ich ehrlich gesagt noch gar nicht, hat aber richtig viel Spaß gemacht. Kurz nach 23:00 Uhr begann sich dann langsam „Aufbruchsstimmung“ breit zu machen, klar, nicht alle von uns wohnen in Elmshorn und haben einen 10 Minuten nach Hause weg. Nach Husum, Lübeck und Hamburg ging es für die anderen nach Hause, also bis zu 2 Stunden Autofahrt. Allein das einpacken der ganzen Ausrüstung dauerte fast eine Stunde, so dass ich um 0:00 Uhr die Volkshochschule abschließen konnte.

An dieser Stelle möchte ich mich bei den Verantwortlichen der VHS, sowie dem Hausmeister recht herzlich für den tollen Raum und die Geduld bedanken! Ja und die Regional Gruppe Nord? Die wird sich im kommenden Jahr regelmäßig treffen. Ort und Zeit wird per Mail und im Forum bekannt gegeben. Und natürlich sind weitere Mitglieder aus Schleswig-Holstein, Hamburg, Niedersachsen oder wo Ihr auch wohnen mögt herzlich willkommen.

Stefan Johnigk
s.johnigk@gmx.de


Nostalgieartikel: S.A.M.
The Software automatic mouth

Was hört man eigentlich?
In den letzten Jahren sind viele Sprachsynthesizer auf den
Markt gekommen. Die Techniken, die sie benutzen, variieren je nach der beabsichtigten Anwendung. Die meisten Synthesizer, die man für Verbraucher gewöhnlicher Art entwickelt hat, z. B. sprechende Fernsehgeräte oder Mikrowellenherde benutzen eine „Sprachkompression“. Diese Technik erfordert, dass eine Person die benötigten Wörter oder ganzen Sätze zuvor spricht. Die Wellenform des Sprechens wird dann „komprimiert“, wobei eine mathematische Grundformel benutzt wird; dann kann sie in einem Speicherchip ohne viel Platzaufwand festgehalten werden.

Die Aufgabe eines Sprach Synthesizers besteht darin, komprimierte Sprachinformationen zu entnehmen und die Sprache auf die ursprüngliche Wellenform wieder zurückzubringen. Einige der Systeme arbeiten ganz gut und erhalten die Betonung des Originalsprechers, manchmal sogar die genaue Stimmqualität.

Die Abläufe, die in solchen Synthesizern angewandt werden, unterscheiden sich aber sehr von denen, die in Synthesizern für unbegrenzte Sprachmengen wie S.A.M. vorliegen. Ein solcher Synthesizer für unbegrenzte Wortmengen soll in seiner Entwicklung hier einmal nachgezeichnet werden. Zuerst muss zu diesem Zweck die Aufgabe definiert werden:

Es ist ein System zu schaffen, das jede beliebige Äußerung in englischer Sprache synthetisieren soll. Eine Möglichkeit, dieses in den Griff zu bekommen würde darin bestehen, dass man jede überhaupt mögliche Sprachäußerung auf Band aufnimmt und dann bei Bedarf die jeweils richtige heraussucht. Das würde jedoch mehr Computer- oder Bandspeicherraum beanspruchen als jemals denkbar wäre; somit wäre diese Methode praktisch nicht anwendbar. Die nächste Art, zum Ziel zu gelangen, könnte darin bestehen, dass man alle englischen Wörter aufnimmt, sie in einer bestimmten festgelegten Weise abspielen lässt, um auf diese Art und Weise Sätze zu bilden. Im Prinzip lässt sich das machen; es würde zwar eine Riesenmenge von Speicher beanspruchen, könnte jedoch funktionieren. Eines haben wir jedoch auf diesem Weg bereits verloren:

Die Wörter klingen hierbei nämlich auseinandergerissen, weil die Sätze „zusammengestoppelt“ wurden. Darüber hinaus ist die Betonung bzw. die Satzmelodie entweder falsch oder gar nicht vorhanden. Zum Erreichen einer richtigen Betonungsweise muss jedes Wort in einer Anzahl ganz verschiedener Sprechweisen, verschiedener Tonhöhen etc. separat aufgenommen werden. Ein derartiges System würde ebenfalls viel zu viel Speicherraum beanspruchen. Das Problem muss also in weitere Einzelteile zerlegt werden und versucht werden, so wenig wie möglich Material im Speicher zu horten. Anstatt ganze Sätze, Wörter oder auch nur Silben festzuhalten, könnte man ja einzelne Laute speichern. Laute sind sozusagen Atome der gesprochenen Sprache, die einzelnen Sprechpartikel. Bei näherer Betrachtung stellt es sich heraus, dass es im Englischen nur wenig mehr als 40 derartiger Lautpartikel gibt. Dieses ist erstaunlich; außerdem benötigt man dafür eine dementsprechend geringe Speichermenge. Man könnte also diese Einzellaute festlegen, sie in der benötigten Reihenfolge zusammensetzen und auf diese Weise Worte und Sätze bilden. Man erhält dadurch ein wirklich frei steuerbares System.

Wendet man dieses genauso in der Praxis an, und lässt man den Satz „I am a Computer“ auf diese Weise ablaufen, so kann man kaum etwas verstehen. Es scheint also, dass man jetzt mit der Unterteilung ein bisschen zu weit gegangen ist. Schnippelt man nämlich die Worte so weit auseinander und setzt sie dann wieder künstlich zusammen, so gehen alle Besonderheiten der Übergänge von einem Laut zum nächsten verloren. Man erhält so ein völlig lebensfernes Resultat. Aber noch ist nicht alles verloren! Die bisher unternommenen Anstrengungen sind keineswegs verloren, da es noch zusätzliche Akustik-Phonetik- Steuerungen gibt, mit denen dieses Problem lösbar ist. Spezialisten auf diesem Gebiet haben die Sprachlaute genau untersucht und kennen bestimmte Regeln, nach denen man die Nachteile des reinen Phonetik Systems ausbügeln kann.

1. Zuerst einmal wird anstelle der vorher gespeicherten tatsächlichen Sprechwellenform nur das jeweilige Frequenzspektrum gespeichert. Auf diese Weise spart man weiteren Speicherplatz und gewinnt zudem auch andere Vorteile.

2. Lehren uns die Spezialisten, dass man zu den Lautinformationen auch einige Daten über die Zeitdauer speichern muss. Dieses geschieht in Form von Kennziffern, die sich auf die Dauer dieses Sprechlautes unter verschiedenen Umständen beziehen. Außerdem sind noch Daten über die Übergangszeiten hinzuzufügen, so dass man eine Steuerungsmöglichkeit für das Vermischen verschiedener Laute mit den Nachbarlauten erhält.

3. Ist natürlich ein übergreifendes Regelsystem für die jeweils zu treffende Mischungsentscheidung erforderlich. Gibt man alle diese Daten nun in das Programm ein, kommt der Computer sehr bald zum richtigen Sprechen.

Die Vorteile des Sprachsynthetisierens nach der beschriebene Weise sind enorm. Es wird nur wenig Speicherplatz benötigt, um alle diese Daten sowie die Verwendungswege für diese Daten unterzubringen. Zusätzlich wird die Möglichkeit gewonnen, die Satzmelodie, die Sprechdauer und die Betonung zu gestalten. Aus diesem Grunde haben wir in den vorliegenden Programmen nicht wirkliche Natursprechlaute konserviert, sondern nur Ihre Spektren ( diese Spektren muss man sich etwa wie die verschiedenen Druckfarben vorstellen, von denen der Drucker nur sehr wenige benötigt, um alle denkbaren Farbnuancen in einem Bild wiederzugeben).

Ganz genau gesagt, werden nicht einmal alle Spektren gespeichert, sondern nur sogenannte Zielspektren. Zu jedem Einzellaut gehört eine solches Zielspektrum, das mit sehr wenigen Daten beschreibbar ist. e d e m E i n z Das Zielspektrum kann man sich als einen „gefrorenen“ Sprachklang vorstellen, wie der Klang, den man produzierten würde, wenn der Mund gewissermaßen genau in der Mitte einer Lautabgabe einfrieren würde. Die Regeln über die Zeitdauer sagen dem Synthesizer, wie er von einem Ziel zum anderen gehen soll, und zwar so, dass das Timing der menschlichen Sprache imitiert wird.

S.A.M. ist ein solcher Synthesizer, dessen Elemente vollständig in Form von Software festgelegt ist. Es enthält die vollständigen Tafeln der Lautspektren und der Zeitdauer zusammen mit den Regeln für den Gebrauch dieser Daten zum Zweck der Lautverschmelzung. Auf diese Weise kann jede englischsprachige Äußerung, die man beabsichtigt, dargestellt werden. Man gibt zwar gegenüber der vorher beschriebenen Methode, alle denkbaren Worte auf Band zu sprechen, auf, gewinnt jedoch Flexibilität, praktische Anwendbarkeit und die Fähigkeit der sofortigen Umsetzung. Außerdem wird wenig Speicher und auch eine nicht so aufwändige CPU benötigt. Das Einfügen von Betonungen in die Sprache von S.A.M.

Im phonetischen Unterprogramm ist S.A.M. fähig, eine beträchtliche Menge von Sprachmelodie und Akzentuierung in den Sprechablauf zu bringen. Dadurch entsteht ein viel natürlicherer und besser verständlicher Sprechmodus als es auf andere Weise möglich wäre.

Das Betonungssystem von S.A.M. ist besonders leicht anzuwenden. Es gibt 8 Betonungsmarkierungen, die einfach auf die Art und Weise benutzt werden, dass man eine Ziffer (1-8) hinter den Vokal setzt, der mit einem Ton versehen werden soll. Die Aussprache des Wortes „hello“ erhält z.B. einen viel freundlicheren Klang, wenn man das Wert „/HEH3LOW“ buchstabiert als des eigentlichen Buchstabierens „/ HEHLOW“.

Warum sind diese Betonungsmarkierungen erforderlich? Ganz einfach deshalb, weil man sie an jeder beliebigen Stelle anwenden kann, und weil S.A.M. natürlich nicht von selbst weiß, wo der Benutzer eine betonte Stelle haben möchte.

Das folgende einfach Beispiel demonstr
iert diesen Punkt : Man benutze das SAYIT-Programm auf der S.A.M.- Diskette, um die jetzt folgenden Mustersätze ertönen zu lassen.

Wir lassen S.A.M. sagen :
„Why should I walk to the Store?“
und zwar in verschiedenen Sprechweisen.
1. WAY2 SHUH2D AY WA07K TUX DHAH STOH5R ? (You Want a reason to do it)
2. WAY7 SHUH2D AY WAO7K TUX DHAH STOH5R ? (You are reluctant to go)
3. WAY5 SHUH7D AY2 WA07K TUX DHAH STORHR ? (YOU want someone else to do ist)
4. WAY5 SHUBD AY7 WA02K TUX7 DHAH STOHR ? (You’d rather drive)
5. WAY5 SHUHD AY WA05K TUX DHAH STOH20H7R ? (You want to walk somewhere else)

Jedes dieser Betonungsbeispiele hat einen etwas anderen Inhalt, obwohl ja die Worte immer dieselben sind. Die Betonungsmarkierungen geben dem Benutzer die Möglichkeit, das S.A.M. ausdrucksvoll werden zu lassen. Was bewirken diese Markierungen? Die Ziffer, die man zusätzlich eingibt, erteilt dem S.A.M. die Anweisung, die Tonhöhe nach oben oder unten zu verlagern, und den jeweils ausgesprochenen Vokal zu verlängern oder zu verkürzen.

Das Ziffernsystem arbeitet folgendermaßen :
1 = sehr erregter Ton
2 = erregter Ton
3 = ziemlich starke Betonung
4 = normale Betonung
5 = leichte Betonung
6 = neutral (keine Änderung der Tonhöhe)
7 = Tonhöhe etwas niedriger
8 = extrem nach unten gezogene Tonhöhe

In welchen Fällen sind diese verschiedenen Ziffern anzuwenden?

Das ist davon abhängig, wie S.A.M. klingen soll. Man sagt am besten die entsprechenden Wörter selbst und beobachtet, wo sich die Stimme dabei erhebt, und wo sie fällt.

Die Grundregel“ lautet:
Je kleiner die Ziffer, desto extremer ist der beigefügte Ausdruckswert. Hinzu kommt, dass die Markierungen dazu beitragen, schwierige Wörter korrekt auszusprechen. Wenn eine Silbe nicht ausreichend herauskommt, sollte man eine neutrale Markierung einfügen. Generell gilt, dass das wichtigste Wort oder die wichtigsten Wörter in einem Satz den Hauptton erhalten, während die übrigen Wörter weniger oder gar keine Gewichtung erhalten.

Wörter, die aus mehr als einer Silbe bestehen, müssen jedoch ihre Hauptbetonung auf der üblicherweise betonten Silbe tragen (die “ meisten Wörterbücher zeigen an, welche Silbe das ist). Wir werden jetzt für den ersten Satz des Beispiels die Betonungen mit Hilfe von Berechnungen auf dem Computer verteilen. Das erste Wort „AY“ ist gewöhnlich als wichtig anzusehen. Wir schreiben es zunächst als „AY4“ und weisen damit eine normale Betonung zu. „DUW“, das einzige Verb, ist ebenfalls wichtig. Wir versuchen es mit „DUW4“. „MAY“ ist nicht sehr stark zu betonen (es sei denn, man will die Aufmerksamkeit besonders auf dieses Wort lenken). Es besteht aus nur einer Silbe, sodass wir mit ihm weiter nichts anfangen. „KAELKYUWLEYSHUNZW“ ist viersilbig, sodass wir herausfinden müssen, welche Silbe korrekt zu betonen ist. Außerdem handelt es sich hier um das wichtigste Wort im Satz, sodass es natürlich die stärkste Betonungsmarkierung erhalten muss. „LEY“ hat den Hauptton und „KAEL“ erhält den Nebenton.

Wir schreiben also : „KAE4LKYUWLEY3SHUNZ“. „AAN“ und „DHAX“ sind kurze, unbetonte Worte. „KUMPYUWTER“ hat einen einzigen Akzent auf dem „PYUW“ und wird daher geschrieben: „KUMPYUW4TER“. Auf diese Weise wird also nun unser Originalsatz geschrieben : AY4 DUW4 MAY KAE4LKYUWLEY3SHUNZ AAN DHAH KUMPYUW4TER . Man gibt diese Daten jetzt in das SAYIT-Programm ein und vergleicht das Ergebnis mit der unbetonten Version.

Wie formt man nun eine ganz ungewöhnliche Betonung? Wenn man eine ganz außergewöhnliche Emphase auf ein Wort legen will, so verlängert man die Vokale in diesem Wort. S.A.M. kann dementsprechend vorgehen; z.B. kann ein Hilfeschrei wie folgt geformt werden: “ / HEH5EH4EH3EH2EH2EH3EH4EH5EHLP“

Man kann das jederzeit mit ganz gewöhnlichen Vokalen handhaben, sollte jedoch mit den Doppellauten vorsichtig sein. Sie sind komplexe Klänge, die sich bei Wiederholung oft unerwartet verhalten (z.B.: „0YOYOYOYOYOY“-Laute klingen dann so, wie man sie normalerweise in Englisch lesen würde). Um Diphthonge zu verlängern, muss man sie in ihre Bestandteile zerlegen. „OY“ kann man also nur dadurch ausdehnen, indem man schreibt : „OHOHIYIYIY“, und „AY“ kann ausgedehnt werden mit Hilfe der Form „AAAAIYIYIY“.

Am besten ist es, wenn man ein wenig experimentiert, um die richtigen Methoden herauszufinden. Im Gegensatz zu vielen anderen Sprachsynthese- Systemen kann man mit S.A.M. die Konsonantenbetonungen direkt steuern. Dieses geschieht normalerweise um ein bestimmtes Lautmuster in einem Wort zu erzeugen. Manchmal möchte man eine Tonerhebung auf dem letzten Wortteil erreichen, das direkt vor einem Komma steht. Man versuche z.B. einzugeben : “ AY4YUWZSAE5M3, AE4NDRIYSAY4TER“.

Man achte darauf, wie sich der Ton auf dem M erhebt. Die Betonung eines Konsonanten, der unmittelbar vor einem betonten Vokal erscheint, braucht man nicht weiter zu beachten, dies geschieht automatisch. Man muss nun üben, um das Markierungssystem in den Griff zu bekommen. Gerade dieses System macht den Unterschied aus zwischen einem gewöhnlichen Sprachsynthesizer und dem sehr ausdrucksvollen S.A.M.- Programm. Die Auswirkung der Zeichensetzung S.A.M. versteht vier Interpunktionszeichen. Es sind dies der Bindestrich, das Komma, der Punkt und das Fragezeichen. Der Bindestrich (-) dient dazu, Satzteile von einander abzuheben, indem er eine kurze Pause in den Sprechablauf bringt. Er dient auch noch anderen Zwecken, die später besprochen werden sollen. Das Komma (,) markiert die Grenzen von einzelnen Sätzen und schiebt eine Pause ein, die ungefähr doppelt so lang ist wie die des Bindestrichs. Das Fragezeichen ( ? ) und der Punkt (.) markieren das Ende von Sätzen.

Der Punkt schiebt eine Pause ein und bewirkt außerdem das Fallen der Tonhöhe. Das Fragezeichen bewirkt ebenfalls eine Pause, lässt jedoch die – Tonhöhe ansteigen. Man beachte, dass nicht alle Fragen mit einer solchen ansteigenden Tonhöhe, also mit einem Fragezeichen, enden müssen, sondern nur solche, die „ja“ oder „nein“ als Antwort erfordern. Beispiel : „Are we hiking today?“ (hebt am Ende an) „Why are we going to the woods?“ (fällt ab am Ende und sollte mit einem Punkt markiert werden) Abschließende Bemerkungen über die phonetische Eingabe S.A.M. kann nur 2,5 sec. lang ununterbrochen sprechen (das ist gewissermaßen die Atemlänge). Geht das zu sprechende String darüber hinaus, schiebt S.A.M. alle 2,5 sec. kurze Unterbrechungen ein.

Bei Interpunktionszeichen macht S.A.M. immer in Hinsicht auf den Beginn des nächsten Satzes eine Pause. Findet man die Unterbrechungstakte, die S.A.M. einlegt, nicht gut, so kann man eigene Pausen mit Hilfe von Bindestrichen gestalten. Hierfür ein Beispiel : „I use the telephone – you call out of town“.

S.A.M. benutzt die Intervalle zwischen Worten, um die Satzunterbrechungen zu planen. Benötigt ein einzelnes Wort mehr als 2,5 sec. zur Aussprache, kann S.A.M. seine eigenen Unterbrechungen nicht einfügen und kann deshalb dieses Wort nicht aussprechen. Zusammengefasst ist zu sagen, dass die Prozeduren, die bisher beschrieben wurden, zwar recht komplex aussehen, jedoch nur deshalb, weil sie in allen Einzelheiten beschrieben wurden. In der Praxis laufen die meisten Schritte ganz von selbst ab, und der Benutzer ist sehr schnell in der Lage, mit den phonetischen Elementen fast genauso schnell umzugehen wie man normalerweise englischen Text eintastet.


Fortsetzung im nächsten Magazin

Grüße

 


ABBUC e.V. PD-Neuheiten

Hallo Bit Byter!
Es ist vollbracht – ich bin mal wieder umgezogen. Die neue Adresse findet ihr unten auf der Seite. Da ich aus beruflichen Gründen wieder einmal eine Wochenendehe führen muss, erreicht ihr mich per E-Mail und Post mittelfristig nur am Wochenende. Dafür ist das private Chaos der letzten Monate so ziemlich überwunden. Leider ist mir in der Zeit ein Fehler in der PD-Bibliothek unterlaufen. Die PD-Nummer 0718 ist ungültig, bitte streicht sie aus dem Verzeichnis. Ebenfalls streicht bitte PD 0377. Sie ist überholt.

0737 The Star Raider Academy SD/2S
Auf zwei Diskettenseiten alles Wissen zum Spieleklassiker Star Raider von ATARI. Eine Reader-Disk in Englisch, die Screen- oder Printerausgabe ermöglicht. Ihr findet darauf sowohl die Manuals als auch Hinweise und ausführliche Erklärungen zu den Spieltaktiken, die erst eine erfolgreiche Karriere als Star Raider erlauben. Die ursprüngliche Fassung des Spiels stammt aus dem Jahr 1979 und wurde 1985 als Star Raiders II in einer grafisch überarbeiteten Version von ATARI sowohl für XL/XE als auch ST veröffentlicht. Gerade richtig für länger werdende Abende.

0738 Serie Disk-Mag: COMPY-SHOP-MAGAZIN Januar 1990 ED&SD/2S
In gewohnt professioneller Manier ein bunter Mix aus Infos und Software, der auch heute noch in der Qualität als Diskmag unerreicht ist. Schließlich waren mit Peter Sabath & Erwin Reuß zwei Vollblutprogrammierer am Werk. Darunter findet ihr: Dateiprogramme – Wie machen ?, Assembler für Fortgeschrittene, Grafik Teil 2 und jede Menge Infos und Unterhaltung. Auf der bootfähigen B-Seite findet ihr „A Musician’s Dream“ von Thomas Fischermann. Dieser in BASIC geschriebene Musikeditor bietet umfassende Funktionen und ist eine Fundgrube für Hobbyprogrammierer.

0739 Das Orakel & Biorhythmus Joystick ED/2S
Unterhaltsames vom ehemaligen Rüsselsheimer ATARI Club (RAC). Peter Eilert hat dieses nette Programmpaket bestehend aus „Namensgeheimnis“, „Gemüseorakel“ und „Kartenzauber“ mit einem pfiffigen Menü auf die A-Seite der Disk gepackt. Die gelungene Bedienung ist selbsterklärend. Auf der B-Seite findet ihr ein Biorhythmus- Programm, das kommerziellen Ansprüchen der damaligen Zeit genügt. Interessante Studienobjekte für Programmierer und solche, die es werden möchten.

0740 Donald Joystick ED/1S
Ein Run&Jump-Spiel in bester Manier: Bunt, spaßig, unterhaltsam – von KE-Soft. Ähnlichkeiten mit anderen Enten-Spielen sind natürlich rein zufällig. Dank Normalzeit sind die Abende jetzt eine Stunde länger. Also ran an die Joysticks !

ABBUC e. V. – Public Domain Software-Bibliothek
c/o Walter Lojek – Lüneburger Str. 31 29456 Hitzacker
PD@ABBUC.DE

 

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