ABBUC Magazin 058


IMPRESSUM
© 1999 Atari Bit Byter User Club e.V.
C/O Wolfgang Burger, Wieschenbeck 45
D-45699 Herten Tel. +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 2 PC-ASSI
Seite 3 Hardwareschmankerl und Softwarehits
Seite 6 Erlebnisberichte Teil 5
Seite 8 (Cracking the Code Teil 14
Seite 16 Overmind Demo Modifikationen
Seite 17 Byteaccess
Seile 18 Multi Music Controll
Seite 21 AR Teil 5
Seile 25 Mein IDE Interface Teil 3
Seite 27 Ataris Comeback?
Seite 28 Webstatistik

PC-ASSI

XL Entwicklungssystem auf einem PC
Das Programm PC-Assi von Andre Bertram ist angetreten, eine Lücke in den Atari 8-Bit Tools für PC Rechner zu schließen. Emulatoren, die einen Atari 8-Bit auf dem PC nachstellen, gibt es schon seit langem (PC XFormer, Atari800, Pokey etc.). Seit geraumer Zeit gibt es auch Software, um Dateien vom Atari System auf den PC und zurück zu übertragen. wie SIO2PC.
Doch wer auf dem PC für den Atari XL programmieren wollte, der war auf die Standardprogrammiersprachen des Atari 8-Bit angewiesen, die in einer der Emulatoren laufen (ATMAS II, Turbo Basic). Durch die Benutzung von Emulatoren wurden zwar die Übersetzungszeiten für die Programme kürzer, die Entwicklungsarbeit aber nicht unbedingt komfortabler. Der PC-Assi / PC D-Assi erleichtert nun die Programmentwicklung für den Atari auf einem PC.
Der PC Assi ist ein ATMAS-I1 kompatibler 6502-Makro Cross-Assembler. Mit diesem Tool ist es möglich, auf einem PC Atari Programme aus Assemblersourcecode zu erstellen. Ich habe das Tool in der Versionsnummer 0.0.36 unter Windows 95 getestet. An der niedrigen Versionsnummer kann man erkennen, daß sich das Programm noch im der Betatest-Phase befindet. Es läßt sich gut benutzen. nur an der einen oder anderen Stelle treten noch kleine Unstimmigkeiten auf. Fehlerreports und Anregungen nehmen die beiden Entwickler, Andre Bertram und Burkhard Rau, über Internet E-Mail gerne entgegen. Das Produkt lebt von den Rückmeldungen der Benutzer.
Der PC Assi kommt als Kommandozeilentool für Windows 9x / Windows NT daher. Dem Programm wird der Dateiname des Sourcecodes übergeben. Eine grafische Fortschrittsanzeige erscheint und
zeigt die Arbeitsschritte und ggf. auch die Fehlermeldungen des PC Assi an. Die Erstellung der Zieldatei wird über Direktiven in der Quelldatei beeinflusst.
Für ein vollständiges Entwicklungssystem auf dem PC bildet der PC Assi nur einen Baustein. Der Quelltext kann in einem beliebigen Editor erfaßt werden . Hierzu beiten sich die umfangreichen Programmiereditoren im PC Bereich gerade an (EMACS, Mr. Ed oder Ultra Edit), Puristen können auch mit Windows Notepad arbeiten. Der PC Assi wird aus einem dieser Editoren heraus aufgerufen und erstellt eine Atari 8-Bit COM-Datei. Diese kann nun über andere Tools in eine ATR oder XDF Datei eingefügt oder direkt in einen XL Emulator geladen werden, wo das erstellt Programm getestet wird.
Die Vorteile: Da die Emulatoren auch in separaten Programmfenstern ablaufen, kann man beim Test der Programme den Quellcode im Auge behalten oder gleich abändern. Übersetzungszeiten für ein Programm sind schneller als mit Atari Assemblern (mit der Version 0.0.36 des PC Assi auf meinem Pentium 266 ca. doppelt so schnell wie ATMAS II auf dem Atari, hier ist aber noch Optimierungspotential, bis zu 100 mal schneller sollte machbar sein).
Die Anleitung beschränkt sich derzeit auf eine Webseite mit Erklärungen zur Benutzung und eine Auflistung der unterstützten Obcodes. Eine detaillierte Dokumentation steht noch aus. Vielleicht sind ja die Anwender oder ABBUC Mitglieder bereit, eine Anleitung zu erstellen. Das Programm hat eine breite Aufmerksamkeit verdient, und eine gute Dokumentation wird gerade neuen Entwicklern den Einstieg erleichtern. Denn neue Programmierer bedeuten neue Atari XL Programme, und das wollen wir doch alle, oder?
Neben der ATMAS-I1 Kompatibilität bietet der PC Assi noch weitere Annehmlichkeiten, wie z. B. spezielle Direktiven, um Sprungtabellen für C10- Händler einfach zu erstellen.
Das Pendant zum PC Assi ist der PC D-Assi, ein
6502 Dissassebler auf dem PC. Mit diesem Programm ist es möglich, die Assemblerbefehle von bereits übersetzten Programmen wieder zum Vorschein zu bringen. Der PC D-Assi arbeitet hierzu wie ein Atari Emulator und ist in der Lage, den Speicherinhalt des Atari XL während der Programmausführung anzuzeigen und auch die Maschinensprachebefehle Schritt für Schritt auszuführen. Dies erleichtert die Fehlersuche ungemein. Leider simuliert der D-Assi keinen Atari Bildschirm, so das man die Bildschirmausgaben derzeit nicht sieht. Hierzu muß dann einer der Emulatoren benutzt werden. Da der Quellcode des Atari800Win Emulators frei ist, wäre es möglich, diesen Debugger/Disassembler mit dem Emulator zu verschmelzen.
Die Programme PC Assi und PC D-Assi sind frei im Internet verfügbar. Leider gibt es noch keinen Sourcecode von den Programmen, so das eine Portierung auf andere Systeme (Linux, Atari ST, Amiga …) derzeit den Autoren vorbehalten bleibt.
Und hier könnt Ihr die beschriebenen Tools finden:
PC Assi und PC D-Assi: http://members.aol.com/MacFalkner
Mr. ED: http://www.utopia-planitia.de/
Ultra Edit: http://www.ultraedit.com/
EMACS: http://www.emacs.org/
Carsten Strotmann
Regionalgruppe ATARI Frankfurt
Carsten@strotmann.de

Hardwareschmankerl und Softwarehits

Ein 800 XL war mein erster eigener Computer; sicher war das bei vielen Bit Bytern auch der Fall. Noch heute ist er fast täglich in Gebrauch. Meine Kinder spielen und ich bastele damit oder schreibe Texte, erweitere meine Datenbanken, besuche die vertrauten BBS oder programmiere ein wenig in ACTION! oder TurboBASIC.

Wir gebrauchen auch verschiedene PCs und Spielekonsolen, aber komischerweise kommentieren sogar die Kids so manches Spiel als "das kenn‘ ich doch von ATARI!!!" Nun hatten wir das Glück und durften aufgrund einer beruflichen Veränderung meinerseits für 3 Jahre in den USA leben. Als alter ATARI-Freak habe ich sofort versucht, Kontakte zu knüpfen. Leider hat es mich in einen Teil der USA verschlagen, in dem ATARI sehr, sehr selten vertreten war. Der nächste erreichbare HobbyATARlaner wohnte ca. 500 Meilen entfernt. Nicht gerade ideal für ein Swap-Meeting. Trotzdem haben wir die Zeit genutzt und auf allen möglichen Kanälen nach Hard- und Software gefahndet; nicht zuletzt auf der Messe in Las Vegas im letzten Jahr. Und es ist wirklich erstaunlich, was sich hier gerade für den 8Bit-ATARI hier noch bewegt.

Generell kann man sagen, dass ATARI in USA und Kanada eine Marke für Jäger und Sammler geworden ist. Für seltene oder erstklassig erhaltene Hard- und Software werden Hunderte von Dollars, manchmal sogar vierstellige Dollarbeträge über den Tisch geschoben. In Las Vegas haben wir Freaks getroffen, die dem äußeren Anschein nach niemals als ATARlaner eingestuft worden wären. Gut situiert und deutlich über 50. Da kam ich mir fast wieder wie ein _Spring Chicken> vor. Und diese netten älteren Herren gaben sich im Gespräch als ATARI-Sammler zu erkennen. Aber sie sammelten keine Computer oder Videokonsolen sondern Spielhallengeräte!!! Erst dachten wir, die wollten uns verkohlen. Aber im Laufe der Veranstaltung in Las Vegas und später im Internet bewahrheitete sich das. Verrückt, aber eben Amerika. Gesammelt wird hier alles. –
Leider treibt diese Sammelwut die Preise für 8-BitWare in die Höhe. Wer mal aus Spaß im Internet z. B. Die Versteigerungen bei EBAY.COM verfolgt, wird merken. wovon ich hier schreibe. Die absoluten Höchstpreise erzielen originalverpackte und eingeschweißte Artikel, gefolgt von seltenen Teilen.

Absolute Knüllerpreise erzielt die sogenannte, Vaporware. Von dem einen oder anderen Messeartikel, der seitens ATARI nie in den Vertrieb ging. aber in geringer Stückzahl für Messen hergestellt wurde, taucht ab und an ein Teil auf. Unglücklicherweise konnte ich bei den Geboten konnte nicht mithalten. Wie gerne hätte ich den 1450XLD gehabt!
Was haben wir so alles bei den Jagdausflügen entdeckt?

– Computer
Ab und an einen 1200XL, viele 800XL, öfters ein paar XEs. manche 800er und 400er. Und einmal ein 1450XLD. Teuer, und das glaubt man kaum, sind 130XEs und die dazugehörige XF551. Beide gut erhalten im Originalkarton bringen zusammen glatt US$300.-!!! Auch das XE Game System bringt gut und gerne US$100.-, wenn es komplett inklusive der Light Gun ist. Teuer sind auch komplette Systeme mit Computer, Floppy, Recorder, Drucker und Software.

– Floppies
Es gibt noch viele 1050er hier, was für unsere Ersatzteilbevorratung nicht schlecht war. Leider gab es wenige 810er in gutem Zustand. Auch Happy Module konnte ich nicht zu vernünftigen Preisen auftreiben. Natürlich kann man derartige Teile noch bei verschiedenen Händlern oder Pseudohändlern erwerben, aber zu ziemlich saftigen Preisen. Ganz rar sind die Floppies von Fremdherstellern, entsprechend hoch die Preise.
Trotzdem konnten wir bisher 2 TRAK-AT-1A und 2 810er erbeuten. Alle waren ein wenig defekt aber sind inzwischen wieder einsatzklar, ohne unseren Floppydoc (Hallo Erhard!) bemühen zu müssen. Sie zieren nun meinen Computertisch. Sofern UPS die Sendung nicht verschlampt, bin ich, wenn ihr dies lest, stolzer Besitzer eines Indus GT Floppydrives geworden. Neben der Rana 1000 die wohl beste Floppy. die je für den 8-Bit-ATARI entwickelt wurde. Tja. eine Rana und eine Astra, am liebsten die Big D, hätte ich schon gerne!

– Drucker
Drucker traten wenig in Erscheinung, was ich mir nicht erklären kann. Immerhin habe ich einen 1025 auftreiben und reparieren können. Die Portokosten dafür waren horrend, aber es hat sich gelohnt. Dieser Drucker ist ein 7-Nadel-Drucker mit 80 Zeichen Druckbreite wie damals üblich. Aber im Gegensatz zu anderen Modellen benutzt dieser ein Schreibmaschinenfarbband Typ DIN 2103. Also kein Problem mit Farbbandkassetten. Erhältlich sind auch oft 1027, 820 und 825 Printer, die aber für mich nicht interessant waren. Dafür habe ich mein Ersatzteillager in Sachen 1020 aufgestockt. Dieser als 40-Zeichen-Drucker bezeichnete Zwerg ist ein 4- Farb-Plotter, mit dem sich nette Sachen, z. B. Print Layouts, herstellen lassen. Auf der Jagd bin ich noch nach einem XDM 121. Dem letzten von ATARI hergestellten Typendrucker. Mal sehen.

– Cassettenrekorder
Angefangen von der 410 über die 1010 bis zur XC12 sind hier alle erhältlich, aber nicht so ganz preiswert. Für meine XC11 könnte ich glatt US$ 50.- oder sogar mehr bekommen. Vermutlich liegt das hier daran, dass noch viele Cassettenprogramme in Gebrauch sind. Anders als bei uns in Europa sind Cassettensimulatoren bei vielen Heimanwendern, die keine Clubkontakte haben, kaum bekannt. Und wer dann ein ausgelutschtes Cassettenlaufwerk hat, versucht gebrauchten Ersatz zu bekommen. Habe es mal gewagt, den Tonkopf einer 1010 zu ersetzen und das Teil anschließend zu kalibrieren…

Tja, so nach und nach haben wir schon eine nette Sammlung geschaffen. Was ich noch gerne hätte, bitte nicht lachen, wären eine 1010 und eine XC12. Beide hat es vor 2 Jahren endgültig zerlegt. Zwar habe ich noch eine XC11 und eine TurboDATA (baugleich mit XC12), aber die 1010 paßt optisch einfach besser zum XL und die XC12 vervollständigte dann wieder die Sammlung. Man sollte ja meinen, wenn der schon in USA istY B Pustekuchen!
Cassettenlaufwerke in einwandfreiem Zustand fangen bei US$20.- an. Da hört bei mir der Spaß auf. Doch wir werden das schon irgendwie hinbiegen.

Dann kommen auch die Cassettenspeeder wieder zu Ehren. Was, kennt ihr nicht? Diese genialen Hard-/Softwarelösungen wurden im ehemaligen Ostblock entwickelt, da Floppies dort für viele User zu teuer waren. Und diese Speeder sind wirklich Spitze! Ein Programm wie z. B. das Spiel Henry’s House braucht knapp 16 Minuten Ladezeit als Originalkassette von einem Standardcassettenlaufwerk. Mit Speeder wird diese Zeit auf 65 Sekunden gedrückt B Menüsteuerung und Filenamen auf Cassette inbegriffen.

– ZUREHÖR
Begehrt ist alles, was nützlich und selten ist. Touch Tablet CX-77, Koala Pad, TRAK-Ball, Light Gun, Light Pen, NumPad, Joysticks, Druckerinterfaces, Modems,
Nullmodemka bel und die bekannten Hits von ICD, OSS und Bob Puff. Most of it way above my income
Richtiges Jagdfieber kommt auf bei den seltenen Teilen. Mitgeboten z.
T. im Internet als auch auf Liveauktionen oder Flohmärkten haben wir für folgende, sicher in Deutschland kaum bekannte artikel:

Atari 65XEM
Der XE als Music Machine mit 8 zusätzlichen Soundkanälen und abgemagerten Midi-Features.

Atari 65XEP
Der portable XE mit eingebautem 5"- Monochrommonitor und eingebautem 3,5"-FDD. Er sieht so ähnlich aus, wie andere tragbare Computer vom Anfang der 80er. Es gab sie von Commodore, Compaq‘ und anderen. Vielleicht kann Wolfgang zu diesem Artikel das leider schlechte Bild vom 65XEP
veröffentlichen.

XF351
Die bekannte XF mit 3,5"-FDD. Aber die Softwarehersteller wären dem nicht gefolgt, daher würgte ATARI ein 5,25@-FDD hinein.

XC141
Ein Composite Color Monitor mit 14′ Bildschirmgröße. Den hatte ich auch 1985 in Hannover gesehen. Leider ging er nie in Produktion.

Gesehen haben wir auch die ST-Typen 130 und 260, die in Deutschland wohl weniger bekannt sind. Schwer zu einem vernünftigen Preis zu bekommen sind manche Hardwareerweiterungen vor allem für den 400/800. Beide haben wir ebenfalls ergattert und wieder aufgearbeitet. RAM-Karten und vor allem 80 Zeichen-Karten oder -OS für diese Rechner sind selten Lind teuer, Die Preise für eine BIT-3 oder ein Axlon 288 trieben mir die Tränen in die Augen. Unerreichbar blieben auch die Floppy Rana 1000 sowie die seltenen Astra Floppies. Vor allem die Astra Big D hatte es mir angetan. Auch einige ATR 8000, ein MIO-Board sowie eine Black Box, 2 BBS und mehrere R-Time8 wurden mir von Händlern vor der Nase weggeschnappt, seufz!

Bei all den Jagdunternehmungen haben wir aber auch einige nette Menschen kennen gelernt. Viele Besucher wollten gerade bei Messen oder Märkten nur mal schauen, was es für den Computer aus ihrer Anfängerzeit noch so gibt bzw. was sich in der Szene noch so tut. Wenn ich denen dann erzählte, dass wir in Good 01′ Germany einen ATARI-8-Bit-Club mit ca. 500 aktiven Mitgliedern haben, schauten sie meist

verwundert, oft ungläubig oder manchmal sog
ar neidisch drein. Hoffentlich haben sie mal in einer ruhigen Stunde unsere Homepage im Internet besucht.
Uups. fast hätte ich vergessen, etwas zum Teil Software. der ja in der Artikelüberschrift enthalten ist, zu schreiben. Natürlich haben wir auch hier einiges einheimsen können. Überraschend war jedoch für mich, wieviel professionelle Anwendungen es bereits für den ATARI 800 gab. Vieles ist wohl in Deutschland gar nicht auf den Markt gekommen. Der Homecomputer boomte ja auch erst so ab dem 800XL bei uns. Meine Kinder waren vor allem von den vielen tollen Spielen auf Cartridge beeindruckt. Mein Jüngster stellte verwundert fest, das manches schon um 1980 in Farbe zu haben war, was er nur in monochrom von seinem Gameboy kennt. Sehr umfangreich ist vor allem Education und Business Software schon für den 800er programmiert worden. Heute noch dürfte vielen Anwendern die Synapse oder LDK Business Software bekannt sein. Auch einfach schöne Sachen wie der ATARI Music Composer oder die vielen Schachprogramme begeistern heute noch. Diese Sachen sind eigentlich zu einem angemessenen Preis zu haben. Spitzenpreise zahlt man hier für OSS Software (ACTION!, BASIC XL, BASIC XE, MAC 65, C 65, The Writer’s Tool), ICD Software (SpartaDOS X, Flashback) und dem GEM für XL/XE.
Schwer zu bekommen sind auch 3D-Programme. wovon so einige im Umlauf sind. Wahrscheinlich liegt das am Kopierschutz. Wenn die Originaldisks ein gewisses Alter erreicht haben, funktionieren sie deswegen oft nicht mehr. Und vieles wahr schon auf geschützten ED-Disks vertrieben worden, für die meine dahingeschiedene Turbo (wann rücken die Engl endlich die Rechte raus?) ohnehin nicht kompetent gewesen wäre. Mit Happy, Copy Card, Enhancer und Speedy ist diesen Verfahren auf EDDisks leider kaum beizukommen. So habe ich einige Schnäppchen gemacht, die leider nicht mehr einwandfrei laufen. Dafür machen sich die Verpackungen optisch prima im Bücherregal.

Nun, insgesamt haben wir jetzt für jeden von uns dreien eine komplette XL-Anlage und eine ziemlich B zum Leidwesen meiner Frau – umfangreiche Sammlung. Sollte irgendwann im Laufe des Jahres noch das Päckchen mit den reparierten MSC von Stefan Birmanns eintreffen, gehen der 130XE und ein 600XL Laptop in Arbeit. Auch wäre es nicht uninteressant, einige der 850er Interfaces von 9600 auf 19200 Baud umrüsten zu können. Da ich nicht in Assembler programmieren kann, bin ich in dieser ‚Sache relativ hilflos. Aber wenn es um Lötarbeiten, Platinenaufbau oder EPROM-brennen geht, wäre ich dabei. Dafür könnte ich maximal 2 850er zur Verfügung stellen. Bei Interesse bitte bei mir melden.

Damit will ich diesen Artikel beenden, nicht ohne stellvertretend für alle Wolfgang für seine nimmermüden Einsatz für den ABBUC zu danken. Hier in den USA sterben viele Clubs einfach mangels Interesse oder Eigeninitiative. Das bleibt dem ABBUC erspart, da bin ich sicher.
Gruß und Good Byte
Walter Lojek

Erlebnisberichte Teil 5

Es war 1986, ein warmer Sommer, und es herrschte akute Geldnot. Schließlich war ich noch Schüler und gerade mal 16 Jahre alt. Computer war für mich ein Fremdwort das meine damalige Deutschlehrerin doch tatsächlich als Rechtschreibfehler bewertete – Komputer sollte ich fortan schreiben (kein Scherz!).

Wie dem auch sei, in jenem Sommer habe ich meinen Körper verkauft um in einer Gärtnerei für DM 5.- (auch kein Scherz) pro Stunde zu schuften. Ziel dieser Sklavenarbeit war es, einen Computer zu kaufen. Als das Geld zur Verfügung stand stellte sich die Frage welches Gerät es denn sein sollte.

Ein Mitschüler besaß schon einen ATARI 800XL, ein anderer, der gleichzeitig mein bester Freund war, liebäugelte mit einem Philips MSX Computer, der zumindest vom Äußeren dem XL überlegen schien. Ja, und dann war da noch meine Mutter, die meine Seelennot nicht verstand (Computer ist gleich Komputer), und mich zum Kauf eines doch sehr günstigen Commodore C16 überreden wollte, der gerade beim ALDI angeboten wurde. Um .ein Haar hätte ich diesen unverzeihlichen Fehler begangen, da auch ein nicht ganz so guter Bekannter sich diese Kiste angelacht hatte.

Aber aus den Fehlern anderer kann man nur lernen. Also (halbwegs) kurz entschlossen ab zu Karstadt und den ATARI eingekauft. Sage und schreibe 259,-DM habe ich bezahlt. Ein Vermögen. Schnell nach Hause und … mist, Kaputt. Noch schneller zurück zu Karstadt und umgetauscht mist, keiner mehr da. Zum Glück hatten sie bei Horten noch einen. Das war auch nicht schlecht, schließlich hatten wir dort schon den einen oder andern Nachmittag vor den Austellungsgeräten verbracht. Also wieder nach Hause und … alles OK. Aber was nun? Dummerweise gab es in ganz Münster keine Datasette, nur Neckermann konnte zumindest einen ungefähren Liefertermin mitteilen.

Dem zufolge konnte ich in den ersten Tagen nur ein bißchen Selbsttest spielen. und die ersten Basiczeilen eintippen. Und freundlicherweise stellte mir mein bester Freund (Danke Markus!) ,der sich mittlerweile auch für einen ATARI 800XL entschieden hatte, ein Serpentine-Modul samt Joystick zur Verfügung.

Nach ca. 2 Wochen war dann endlich die Datasette erhältlich und der Spaß konnte beginnen. Kurze Zeit später lernte ich Jörg kennen. Jörg konnte schon ganz gut in Basic programmieren. Aber nicht auf einen ATARI, sondern einem Sinclair ZX81. Dieser hatte so eine bescheurte Folientastatur auf der man 25 Tasten gleichzeitig drücken mußte um einen Befehl auf den Bildschirm zu bekommen.

Demzufolge waren wir häufiger bei mir und programmierten auf dem modernen ATARI die ersten Spiele. Kurz darauf kauft auch Jörg sich einen ATARI, Sein oder nicht Sein….

Der große Fortschritt kam gut ein Jahr später mit dem Erwerb einer 1050 Floppy, die .ich als erster in meinem Bekanntenkreis hatte. Mit der Floppy kam auch Turbo-Basic, und damit auch die Möglichkeit, vernünftige Spiele in Basic zu programmieren. An andere Sprachen trauten wir uns nicht heran.

Es entstand ein regelrechter Wettbewerb wer das beste Spiel macht. Aber wir haben natürlich auch viel zusammen programmiert. Ein Spiel habe ich sogar mal an eine Zeitschrift geschickt, leider haben die sich aber nie gemeldet.
Die Programmzeilen des Jahrhunderts stammen übrigens von Markus:

10 A=120 B=130 IF A=B THEN …

Aber aller Anfang ist schwer. Das größte war es natürlich, ANTI-Commodore Adventures zu schreiben. Einfache Fragen und blöde Antworten von denen nur die gelten, die pro ATARI sind. Eines Tages war es dann soweit. In einer großen Pause gestand Markus ganz beiläufig, dass er einen ATARI ST hat. So ein Quatsch, bezichtigten wir ihn der Lüge. Kein Mensch auf der Welt hat einen ATARI ST, außer vielleicht Jack Tramiel.

Aber eine Vor-Ort Besichtigung klärte uns auf. Aufgrund der schöneren Grafik und des besseren Sounds kaufte ich mir einen AMIGA 500, Schande über mich. Aber immerhin hing ATARI auch mit in der Entwicklung drin. Trotz unglaublicher Fähigkeiten des AMIGAS war der ATARI immer noch erste Wahl. Nur bei den MIDIFähigkeiten wollte der AMIGA nicht so wie ich, und so wich er dann einem ATARI 520 ST. Aber auch er konnte den ATARI XL nicht verdrängen.

Die große Wende kam 1996, 10 Jahre hatte der XL nun auf dem Buckel, und ich kaufte mir einen Pentium 150 PC. Seitdem vernachlässige ich den XL aufs sträflichste. Aber der PC bietet nun mal mehr. Musik machen, tolle Spiele, Profi-Textverarbeitung, CD-Brennen, Internet usw., aber auch der XL-Emulator darf nicht fehlen. Und auch das Original steht immer anschlußbereit auf dem Schreibtisch. Aber nicht zuletzt durch den PC und damit das Internet bringt dem kleinen ATARI wieder ungeahnte Popularität.

Atari – was sonst ?

Mario Fraune Gott@atari-computer.de

Cracking the code Teil 14

Von Keith Mayhew
Für den ABBUC ins Deutsche
übersetzt von Alfons Klüpfel Anmerkung: Wir hinen die schlechte Qualität der Listing.s.. Tabellen und Abbildungen u entschuldigen. Sie liegen uns nur in genauso schlechter Qualität vor Fax, bzw. schlechte Kopie)

Das Prinzip des Feinscrolling, sowohl vertikal wie horizontal, wurde in der letzten Folge beschrieben. Das Wichtigste ist, dass das Scrollen nicht (nur) durch Verschieben der Daten erreicht werden kann, und das macht das Ganze flott. Wir fahren fort mit einigen Beispielprogrammen, die zeigen, wie man Display Lists zum Zeichenscrollen erstellen kann: Solche Methoden bilden die beste Basis für viele Spiele, sind aber auch für andere Programme nützlich wie z. B. Textverarbeitungen.

Vertikales Scrollen
Jede Display List-Instruktion, in der das Flag für vertikales Scrollen gesetzt ist, bewirkt dass die jeweilige Zeile um so viele Bildschirmlinien nach oben verschoben wird, wie im VSCROL-Register festgehalten ist.
Ist für eine ganze Gruppe aufeinander folgender Zeilen dieses Flag gesetzt, so wird diese komplette "region" komplett verschoben, sobald VSCROL verändert wird. Eine derartige "region" hat ihre Grenze in der ersten (darauf folgenden, A.K.) Zeile, in der das Flag nicht gesetzt ist. Die letzte Zeile (also die Zeile, in der das Flag nicht mehr gesetzt ist, A.K.) ist noch Teil des scrollenden "region". Die kleinstmögliche "region" muß folglich aus zwei Zeilen bestehen: eine, in der das Scrolling Flag gesetzt ist, und die folgende, in der dies nicht der Fall ist, und die somit die "region" begrenzt. De letzte Zeile einer "region" wird auf jeden Fall als eine einzige ScanLinie (Bildschirmzeile) abgebildet.
Hat VSCROL den Wert Null, dann wird eine "region" in ihrer normalen Position gezeigt, nur die oberste Bildschirmzeile der letzten Zeile ist sichtbar. Wird
Display image
VSCROL

 

 

der Wert von VSCROL erhöht, wird die "region" nach oben verschoben; Bildschirmzeilen am oberen Ende der "region" gehen "verloren", während gleichzeitig von unten Daten "nachgeschoben" werden. Ganz egal, welchen Wert VSCROL auch immer enthält, die Anzahl der Zeilen der "region" verändert sich dadurch nicht.
Abbildung 1 stellt eine "scrolling region" dar, die Text enthält, und das dazugehörige Display Image, das durch verschiedene Wert in VSCROL bewirkt wird; es wird dabei davon ausgegangen, dass jede Scanzeile acht Bildschirmlinien hoch ist.
Sobald eine "region" um ihren maximalen Wert nach oben gescrollt ist, d.h. die letzte Zeile ist genau eine Position von der Normalposition der folgenden, dann sollte VSCROL zurück auf Null gesetzt werden und durch Hinzufügen der LMS-Adresse ein Grobscroll durchgeführt werden: Man addiert

 

einfach die Bytes, die für eine Datenzeile benötigt werden, im Fall von BASIC GRAPHIC 0 also 40 Bytes. Das Scrollen in die andere Richtung (abwärts) funktioniert im Prinzip genauso: Der Wert in VSCROL wird lediglich erniedrigt, schließlich wieder auf seinen (ursprünglichen) Höchstwert gesetzt und von der LMS-Adresse abgezogen. Die LMS-Anweisung in der Displaylist wird wird gewöhnlich in die erste Scroll-Zeile einer "region" gesetzt, somit wird festgelegt, woher die Displaydaten herkommen. Listing 1 zeigt ein Beispiel einer vertikal scrollenden "region" in einem display. Listing 2 ist das BASIC-Programm, das den MS-Code einliest: Nach dem Starten des BASIC-Programms kann der MS-Code durch Eingabe von (die Eingabe fehlt in dem vorliegenden englischen Artikel; vermutlich lautet sie aber (vergl. Zeile 20) X.USR(24576) A.K.)

 

 

Das Display wird den Inhalt d e r Speicheradresse 0 anzeigen. Mit einem Joystick kann im Speicher auf- und abwärts verschoben werden, wobei die oberste Zeile des Displays die erste benutzte Speicheradresse anzeigt. Die Displaylist ist defininert in den Zeilen 1900 bis 1970 von Listing 1. Sie besteht aus einer Zeile (am oberen Bildschirmrand), die folgenden Text zeigt: "Location: 0000". Sie endet mit der Zeile "Use joystick to move vertically" (Für vertikale Bewegungen Joystick benutzen! Ein Schelm, wer Schlechtes denkt! A.K.). Die Scrollzeilen in der Mitte der Displaylist sind noch nicht definiert, es ist aber Platz frei gehalten, so dass sie durch das Programm genutzt und ausgefüllt werden können. Nachdem die BildchirmDMA abgeschaltet ist, ruft das Pogramm eine Routine namens CHCONV auf, um den erzeugten ASCII-Code in die benötigten Werte für den Systemzeichensatz umzurechnen (wie das letzte Mal erklärt worden ist). Die neue Displaylist ist dann installiert verschiedene Variable sind initialisiert.

Der fehlende Teil der Displaylist wird nun erstellt zusammen mit einem LMS und einer Adresse für jede Zeile. Die Adressen sind so initialisiert, dass jede (Adresse) 32 Bytes weiter zeigt als ihre Vorgängerzeile. Die DMA wird dann wieder eingeschaltet, der Bildschirm auf "schmal" gestellt, so dass 32 Bytes für eine Modus 2-Zeile benötigt werden. Die VBI-Routine ist aktiviert und die Kontrolle an den "caller" zurückgegeben. Während jedes VBI wird der Joystick abgefragt, um festzustellen. ob er auf- oder abwärts bewegt wurde. Wird eine Bewegung festgestellt, dann wird die oben beschriebene Scrollroutine ausgeführt. Anzumerken ist, dass eine Kopie des VSCROLRegisters im COUNT-Register gehalten wird, denn die Scroll-Register sind ein Write-Only.Register (d. h. dorthin kann nur geschrieben werden. A.K.).

Soll ein Grob-Scroll durchgeführt werden, dann werden einfach alle LMS-Adressen auf den aktuellen Stand gebracht, entweder durch Addieren oder durch Subtrahieren von 32. Nach einem GrobScroll wird die Routine PRADDR aufgerufen um die neue Adresse des ersten LMS in Form einer vierstelligen HEX-Zahl auf dem Bildschirm anzuzeigen. PRADDR benutzt PRHEX für jedes der beiden Bytes; dies wiederum bewirkt, dass jede der vier HEX-Ziffern auf dem Schirm angezeigt werden.

Die Displaygrenzen
Schon eine einzige LMS-Instruktion hätte gereicht. die ganze "region" zu scrollen, das aber hätte mit Sicherheit ein Problem verursacht: Das Display kann die 4K-Grenze überschreiten. Wäre es auf jeweils 4K-Blocks begrenzt, dann könnte dieser Weg funktionieren. Wir wollen aber aufjeden Fall ein kontinuierliches Display unabhängig von irgendwelchen Begrenzungen. Daher müssen wir in jeder Zeile eine LMSInstruktion benutzen. Aufgrund des "enggestellten" Schirms ("NarrowScreen") in diesem Beispiel benötigt jede Modus 2-Zeile 32 Bytes. Daraus folgt, dass Vielfache von 32 auch in Vielfachen von 4096 enthalten sind, 32 ist in 4096 exakt enthalten. Somit befindet sich jede Begrenzung exakt am Anfang einer Zeile. Da jede Zeile die LMS mit der Adresse der Folgezeile neu lädt, ist die Begrenzung praktisch bedeutungslos geworden. Würden wir eine Standard-Bildschirmgröße mit 40 Bytes pro Zeile benutzen, würden die Begrenzungen nur selten mit den Zeilen übereinstimmen. Und da wir die Speicheranzeige unterbrechungsfrei haben wollen, können wir derartige Probleme nicht vermeiden. Ähnlich P
robleme hätten wir bei einem "VVide-Screen" mit 48 Bytes pro Zeile. Nun, heißt das, dass wir nur mit Hilfe eines "NarrowScreens" (eines enggestellten Bildschirms) korrekt über eine 4K-Begrenzung hinwegkommen? Nein! Der Grund liegt darin, dass wir aufeinander folgende Speicheradressen beobachten wollen. Arbeiten wir mit nicht zusammenhängenden Speicheradressen für die Darstellung, dann ist dieses Problem leicht zu überwinden. Grundsätzlich gibt es zwei Zugangsmöglichkeiten, diese Begrenzungen zu überwinden: Die naheliegende Methode ist in Abbildung 2 dargestellt: Hier werden zusammenhängende Bilddaten dargestellt.

Sie beginnen an der ersten Begrenzung und reichen bis knapp vor die nächste. Sobald der Bildschirm in den letzten Teile dieses Bildes gescrollt ist, wir das Display umgeschaltet auf den Beginn der folgenden Begrenzung. Da wir beim Start des neuen Blocks noch eine Kopie des vorhergehenden Schirms haben, sieht es aus, als ob das Bild kontinuierlich über den Bildschirm geschoben würde. Der Vorteil dieser Methode liegt darin, dass nur ein einziger LMS benötigt wird, aber die Bildschirmdaten etwa eines Schirms müssen für jeden neuen Block dupliziert werden.
Die zweite Methode erfordert LMSInstruktionen in jeder Zeile, aber jede holt sich Daten, die 64 Bytes von einander entfernt liegen, so dass jede Begrenzung mit dem Beginn einer Zeile zusammen
fällt. Abbildung 3 veranschaulicht, wie das Bild vom ersten Teil jeder Zeile geholt wird, wobei am Ende jeder Zeile Speicherplatz ungenutzt bleibt.

Horizontales Scrolling
Ebenso wie beim vertikalen Scrollen, lässt sich das Flag für das horizontale Scrollen für eine Zeile setzen. Dies wird im HSCROL-Register spezifiziert. , Dort wir die Anzahl der "Colour Clocks" festgehalten, um die Zeichen nach rechts verschoben werden. Da das Scrollen durch "Colour Clocks" bestimmt wird, hat das HSCROL-Register nur einen Umfang von 03 im Fall eines Standard-Zeichens (wie in Modus 2) und nicht 7!

Sobald eine Zeile um ihr Maximum verschoben ist, muss HSCROL wieder auf Null gesetzt werden und zu der Adresse der LMS-Instruktion für diese Zeile 1 hinzugefügt werden. Zieht man entsprechend 1 ab, so erhält man die entgegengesetzte ScrollRichtung. Um eine ganze "region" von Zeilen horizontal zu scrollen, muss für jede das horizontale Scroll-Flag gesetzt werden und jede muss ihre eigene LMS-Instruktion haben.

Abbildung 3, die hier zur Darstellung des vertikalen Scrollens dient, ist auch als Darstellung des horizontalen Scrollings über mehrere Zeilen hinweg geeignet.Die Zeilenlänge kann bis zu 4K betragen. Genauso wie beim vertikalen Scrollen, müssen die Daten so angeordnet werden, dass d i e Begrenzungen am Zeilenanfang liegen. Listing 3 ist ein Programm, das eine Display List aufstellt, mit der man eine einzelne Zeile von Modus 2-Zeichen als gleichmäßige Endlosschleife über den Schirm bewegen kann. Nachdem der Text-String für den Bildschirm ausgerichtet ist, werden die 44 Zeichen gerade hinter das Ende des gesamten Strings kopiert.; dies entspricht dem Duplizieren der Daten für das vertikale Scrollen in Abbildung 2.

Sobald der VBI installiert ist, wird die Botschaft nach links feingescrollt. Die Grobscrolls werden durch die Variable POS gezählt. Sobald POS seinen Maximalwert erreicht hat, bedeutet dies, dass die komplette Nachricht über den Bildschirm geflimmert ist und nun die Kopie gezeigt wird. In diesem Moment wir die LMS-Adresse auf den Anfang des Strings zurückgesetzt der ja mit dem bereits gezeigten Bild identisch ist und somit kann die Schleife fortgesetzt werden, so dass die Botschaft endlos lang erscheint. Listing‘ 4 ist wieder das BASIC-Programm, das dazu dient den MS-Code einzulesen. Dieser wird gestartet durch
X=USR(24576)

Die Bildschirmbreite (Screen Width)
Die letzten beiden Bits von DMACTL legen die Breite des Bildschirms fest, d. h. wieviele Bytes für eine Datenzeile benötigt werden. Der "Narrow Screen" (narrow = eng, schmal) (Bit 1 auf 0 gesetzt, Bit 0 auf 1) hat eine Gesamtzahl von 128 "Colour Clocks". Der StandardScreen (Bit 1 auf 1 gesetzt, Bit 0 auf 0) hat 32 "Colour Clocks" mehr. also 160. Und der "Wide-Screen" (Bit 1 auf 1 gesetzt, Bit 0 auf 1) schließlich hat noch einmal 32 "Colour Clocks"mehr, als 192. Diese Information ist im Zusammenhang mit horizontalen Scrollen nützlich, denn der ANTIC holt sich unterschiedliche Datenmengen, wenn das Flag für das horizontale Scrollen gesetzt ist. Die Menge für das Scrollen eines "Narrow Screen" ist dieselbe wir für einen Standard -Screen (ohne Scrollen). Die Datenmenge für das Scrollen eines Standard-Screen ist dieselbe wie für einen Wide-Screen (ohne Scrollen). Für einen "Wide-Screen" benötigt man keine zusätzlichen Datenmengen zum Scrollen.

Für den Narrow- und den StandardScreen holen sich Scrollzeilen ihre Daten 16 "Colour Clocks" weiter "hinten". Dementsprechend muss man seine Daten anordnen. Wird der Wert von HSCROL erhöht, so werden diese verborgenen Daten am linken Rand sichtbar.

Im "Wide-Screen"-Modus ist das Ganze noch einfacher: Es gibt keine Vorgaben, die berücksichtigt werden müssen. Die Daten werden völlig normal angezeigt. Wird der Wert in HSCROL erhöht, dann werden Lücken am Rand mit Hintergrundfarbe aufgefüllt. Dies hat praktisch keine Folgen, da auf nahezu allen Fernsehern und Monitoren die äußersten Ränder der Bilder überhaupt nicht sichtbar sind.

Was kommt als Nächstes?
Nachdem ihr gesehen habt, wie man horizontales und vertikales Scrollen einsetzen kann, blebt euch nur übrig, dies in euren Programmen zu nutzen. Es liegt eigentlich nahe, dass man beides beliebig mischen kann und es ist recht leicht. einen Bildschirm zu programmieren, den man beliebig in alle Richtungen verschieben kann, z. B. über einen Hintergrund hinweg, eine Landschaft, was in vielen Spielen genutzt wird. Natürlich machen mehrfarbige Zeichen deutlich mehr her als langweilige Modus-2Zeichen. Der Einsatz von DL1s, um "Areas" (Bereiche) gleichzeitig mit unterschiedlichen Geschwindigkeiten oder Richtungen ist auch recht ansprechend. Wenn man jetzt noch ein paar Players und Missiles hinzufügt, hat man bald die Power dieser feinen Maschine ausgenutzt. Und grundsätzlich: Probieren geht über Studieren!

Overmind-Demo Modifikation

Mittlerweile scheint es bei Demos üblich geworden zu sein, den User mit nervigen und völlig überflüssigen Abfragen zu bombardieren. Da erscheinen dann Fehlermeldungen auf dem Screen, wie man sie sonst nur von manchen kommerziellen Spielen kennt. So wird man beispielsweise aufgefordert. einen Schreibschutz an der Diskette anzubringen (oder einen Schreibschutzschalter zu benutzen – wenn man einen hat). seine Happy/Speedy bzw. den Trackbuffer abzuschalten und andere Dinge mehr- Die
Ursache hierfür mag wohl nicht allein darin liegen, arme Atari-User zu ärgern. sondern auch einige Emulatoren-Freax auf die Palme zu bringen. Es ist nämlich nicht bei allen Emulatoren so einfach möglich derartige Abfragen zu umgehen. Tja und was die echten Atarianer betrifft: für diese sind solche Scherze einfach nur lästig. Wohl dem, der weiß, wie man solche Abfragen oder Spielereien entfernt…

Die Overmind-Demo gehört beispielsweise in die 1111 Kategorie solcher nervigen Demos, sie fordert einem auf. den Trackbuffer abzuschalten. einen Schreibschutz anzubringen und sogar einen PAL Atari mit PAL-GTIA zu besitzen. Mit Hilfe von Tamas iIV Bene (HARE>) ist es aber mittlerweile gelungen, diese kleinen Bosheiten zu entfernen. Hierzu benötigt man keinen Freezer, ein kleiner Disketten/Sektor – Editor tut es auch:

1) Remove "Write Protect".
Check: Side A, Sector 4, Byte $26; change $29 => $09
(Nun gibt es keine Schreibschutz-Abfrage mehr.)

2) Remove "Track Buffer".
Check: Side A, Sector 5. Byte $18, change: $0a –> $00
(Nun gibt es keine Track Buffer Abfrage mehr.)

3) Remove "PAL-GTIA".
Check: Side A, Sector 3, Byte $15; change: $0e–> $00
(Nun gibt es keine PAL-GTIA Abfrage mehr.)

Mit Hilfe dieser kleinen Patches sollte die Demo nun einwandfrei auf PAL und NTSC Geräten laufen, auch mit Happy-Speedy dürfte es nun keine Probleme mehr geben, ein Schreibschutz wird nicht mehr benötigt und diverse Emulatoren, wie APE, SIO2PC, Rainbow, VVN800, Pokey, XL-it. XformeXL-Deejay und andere dürften nun auch weniger Probleme damit haben. Mein Dank daher an Tamas Bene und meine ausdrückliche Hoffnung, dass solche Spielereien in Zukunft doch unterlassen werden. Neben der Overmind-Demo habe ich nämlich noch andere Demos und Slideshows osteuropäischer Herkunft, in denen solche Scherze angewendet werden. Sobald ich auch dazu entsprechende Patches vorliegen habe, werde ich sie hier im ABBUC Magazin veröffentlichen. Wer noch nicht in Besitz der Overmind-Demo sein sollte, der darf sich nun freuen, denn in der PD-Bibliothek gibt es nur die vollständig gepatchte Version.. –
Andreas Magenheimer

BYTEACCESS

BYTEACCESS ist eigentlich ein Kompendium aus drei Projekten die sich im Independent-und Computerbereich musikalisch treffen. Das kollektive Projekt ist Experimentierlabor für die Auseinandersetzung mit den Medien Klang und Elektronik als Ausdruck und Vehikel des Menschen

TAXIM alias Alexander Ney
ist ein exzellenter Techniker mit emotionalen Bezug. Seine Songs und Parts sind zu 98% theoretisch erstellt und letztendlich programmtechnisch umgesetzt. Als Perfektionist ist er stets bemüht die Grenzen der Maschinen auszureizen und neue Wege in puncto klang zu gehen.

FINSTERWIND alias Domenik Vary
ist musikalischer Alchimist. Experimentierfreudigkeit Extravaganz und schnelle Szenenwechsel zeichnen seine Songs und Parts aus. Als Projektdruide ist er stets bemüht philosophisch/mystische in Klang Text oder Melodie mit einzubringen…

CYBORG JONES alias Tim Lenke
ist als Computerfreak begeisterter Soundprogrammierer Rezeptmischer auf allen Systemen von 8 bis X Bit. Seit 1993 beschäftigt er sich mit den unterschiedlichsten Soundprogrammen

MMC
Multi Music Control V2.0

Ein Programm für alle, die gern stundenlang Musik hören wollen.
Mit Musik geht alles besser. Aber das Radioprogramm läßt zu wünschen übrig. Also hört man die Lieblingskassette, die ist natürlich zum unpassenden Augenblick zu ende, also Pause, einen andere Kassette oder einen anderen Tonträger starten. Diese Pausen zum unpassenden Augenblick sind lästig. Abhilfe schafft der Computer mit dem "Multi Music Control " Programm. Ein Mischpult sollte schon vorhanden sein. Alle Geräte in Startposition bringen und der Atari übernimmt die Kontrolle. Wenn ein Tonträger nichts mehr hergibt wird der nächste gestartet. Dies ist nur eine Möglichkeit die das Programm bietet, es kann noch mehr, es läßt sich auch als Weckereinsetzen, wecken mit der Lieblingsmusik zum Beispiel. Oder wenn eine Radiosendung aufgenommen werden soll und keiner zeit hat zur passenden zeit das Tonband zu starten.
Die Möglichkeiten des Programms sind:
– Anschalten der Geräte und starten der Geräte zu einer bestimmten Uhrzeit oder auf sofort (nur ein Tastendruck ist nötig).
– Festlegung ob aufgezeichnet werden soll oder nur abgespielt werden soll
– die Reihenfolge der Geräte ist jederzeit zu ändern
– Abschalten der Geräte zu einer bestimmten Uhrzeit oder wenn alle ausgewählten Geräte gelaufen sind oder auch nicht.
Voraussetzungen:
Einen Atari 800 mit 64 Kb Speicher Disketten Laufwerk. (1050 oder Kompatibel )
Erfahrung in Elektro basteln. Meßgeräte ( Volt Ohm )

Ein Mischpult ( es reicht für dieses Programm ein ganz einfaches Gerät ) Tonbandgeräte, Tapedecks, CD-Player, Tuner, SAT Receiver, und andere Geräte an den man kleine Umbauten tätigen kann. Die Schaltpläne der Geräte sind dazu sehr hilfreich. Eine Buchse und einige Kabel müssen in die Geräte eingelötet werden. u.U. sind zwei Treiberschaltungen nötig, sie müssen eine LED ansteuern.
Es ist einige Bastelei nötig um das Programm mit der nötigen Hardware zu versorgen. Zum einen muß eine Platine mit den 10-IC (6520 PIA) und einer Adress-Logik hergestellt werden. Außerdem ist eine etwas umfangreichere Schaltung ist nötig die folgende Aufgaben erfüllt:

Das Programm möchte wissen ob noch ein Tonsignal vorhanden ist. Hierzu ist eine kleine Schaltung notwendig. Sie muß das Nf. -Signal verstärken und gleichrichten. Über einen Schaltverstärker wird dann ein Optokoppler angesteuert. Es kann zum Beispiel von einer LED – Austeuerung die unterste LED entfernt werden, diese Anschlüsse werden dann mit der Schaltung verbunden.

Die Stromversorgung wird auch überwacht, da es von mir vorgesehen ist, die Musikanlage auch ohne den Computer ein-und ausschalten zu können. Der Computer kann das an- und ausschalten parallel dazu übernehmen. Jedes Gerät ist mit bis zu 7 Signalleitungen an den Computer angeschlossen. Für jede Leitung ist ein Opto-Koppler vorhanden. Die Treiber für vier Geräte habe ich auf eine Platine untergebracht.

Die Schaltpläne, bis auf den Nf-Gleichrichter , sind vorhanden. Der Gedanke zu diesem Programm hatte zwei Ursachen. Zum einem was es lästig, das Malefitz Spiel ( Strategie Spiel mit Zufallseffekt ) zu unterbrechen, um für Musik zu sorgen, schließlich habe ich als Audioquellen zwei Bandgeräte, ein Tapedeck, ein CD Player und einen Plattenspieler zur Verfügung.

Die andere Ursache war die Feststellung das die Joystickports nicht nur Daten einlesen können sondern auch ausgeben. Warum also sollte nicht der Atari für die Musik sorgen. So entstand die erstes Version des Programms, noch komplett in Basic geschrieben. In der Benutzung .umständlich und in den Möglichkeiten beschränkt (drei Geräte können geschaltet werden, nur Start oder Halt bzw. an und aus ). Eine Weiterentwicklung war nicht aufzuhalten.

Bei der Formulierung der Programms wurde klar, das die Hardwaremöglichkeiten des Atari nicht ausreichen. Eine Systemerweiterung war nicht zu umgehen, drei weitere 10-1C(6520) wurden an den Systembus angeschlossen. Auch waren die Möglichkeiten des Basic nicht ausreichen ( zu langsam, nur Fließkommazahlen und und und ) Der Großteil des
Programms ist in einer Compiler Sprache (quick) geschrieben. Da aber der Compiler bei der Entwicklung des Programms überfordert war (Programm zu lang, zu viele Variablen, zu viele Programmaufrufe …), sind einige Programmteile in Assembler geschrieben worden. Das nun vorliegende Programm ist in der Lage bis zu sechs Geräte anzusteuern und die Bedienung ist jetzt auch Menschen möglich, die das Programm nicht selbst geschrieben haben. Bei der Programmierung habe ich großen Wert auf eine einfache Bedienung des Programms und auf die Funktionssicherheit gelegt. Eigentlich sollte es jetzt nicht mehr möglich sein, das Programm durch Fehlbedienung zum Absturz zu bringen. Sollte dieses doch jemanden gelingen, möge er sich bei mir melden. Bei der ersten Version des Programm war es nötig einige Einstellungen direkt im Listing des Programms vorzunehmen. Die Einstellungen in der neuen Version sind komplett Menü gesteuert. Die Geräte werden in einigen Punkten dem Programm bekannt gegeben. Der Name des Gerätes kann angegeben werden. Auch ob mit dem Gerät aufgenommen werden kann, kann festgelegt werden.

Für jedes Gerät sind vier Ausgabeleitungen vorhanden ( Pause oder Halt Reset (Stop) Play und Aufnahme ). Die Art der Signale auf diesen Leitungen, lassen sich in 3 bis 4 Varianten festlegen. Drei Leitungen können den Status der Geräte an das Programm melden ( Play Rec Pause, falls das nötig ist).

Die Menüpunkte werden meist mit den Pfeiltasten (ohne Control ) ausgewählt und mit Return bestätigt. Nur im eigentlichen Steuerprogramm werden die beiden oberen Tastaturzeilen benutzt. Die unteren Bildschirmzeilen geben dabei Auskunft welche Funktion welcher Taste zugeordnet ist. In diesem Steuerprogramm wird festgelegt was das Programm tun soll, hier wird der Timer aktiviert, die Reihenfolge der Geräte festgelegt, die Nf-Überwachung aktiviert ( das nächste Gerät startet wenn nichts mehr zu hören ist ), und es kann festgelegt werden ob der Computer die Geräte wieder ausschalten soll.

Um das Programm zu testen habe ich zwei Geräte simuliert. Die nicht existierenden Geräte bestanden zu diesem Zweck aus acht Schaltern und 10 LED mit Treiber IC (7405).

Die Aufteilung war wie folgt:
ein Schalterfür das NF- Signal
ein Schalter Netzkontrolle
2 *3 Schalter um die Signale der Geräte zu simulieren.
Jedem Gerät waren 4 LED zugeordnet, die die Signale des Programms an die Geräte anzeigen
zwei LED gaben die Signale des Netzschalter wieder.
Zwei Leitungen verwendete ich für den Netzschalter um sicher zustellen das nur das MMC – Programm mit bestimmten Signalen den Schalter betätigen kann. Mittlerweile habe ich meine Geräte verkabelt und mein Programm tut seinen Dienst. Die Notizen, Listings Skizzen, Variablenlisten für diese zweite Version füllen einen Aktenordner. Die gestellte Aufgabe ist aber als erfüllt zu betrachten. Ungestörte Spiele und Audiomitschnitte über Stunden (auch mitten in der Nacht), steht nichts mehr im Wege.

Die Bedienungsanleitung zu dem Programm ist ca. 15 Seiten lang, dabei sind die Schaltpläne für die Systemerweiterung ( die drei PIA’s ) und die Schaltpläne für die Ansteuerung der Geräte. Wenn Ihr Interesse an dieses Programm habt meldet euch bei mir.

Frank Paetzold
Warbergerstr. 34
38379 Wolsdorf
Tel 05355 91516

Ganz umsonst möchte ich die Diskette und die Beschreibung nicht hergeben. Der Rest ist Verhandlungssache. Die Diskette enthält das gesamte Programm (alle dazu gehörenden Dateien) und muß gebootet werden (mit Option – Taste). Die Beschreibung enthält die Bedienungsanleitung und die Schaltpläne mit Beschreibungen.

Alternate Reality "The Dugeon"
Teil V

Orte
Es gibt viele wichtige Stellen im Dungeon. Hier nun einige, um den Einstieg im Dungeon zu erleichtern.

Damon und Pythoas Shop
Der D und P-Shop befindet sich in der Nähe des Haupteingangs vom Dungeon und ist das einzige Geschäft im Dungeon. Alle üblichen Devisen werden angenommen, außer Kupfermünzen. Die Qualität der Waren bei D und P ist nicht mit der Qualität von Nobelkaufhäusern zu vergleichen; aber die Fackeln sind erstklassig. Man sollte auch versuchen mit den Inhabern "Omar" und "Jeff" zu handeln. Wenn man es allerdings zu weit treibt, kann man freundlichst gebeten werden, den Laden zu verlassen.

Der Zufluchtsort
Im Dungeon gibt es nur eine Gaststätte, die sich in der gut beleuchteten Gegend nahe des Nordost Eingangs des Dungeons befindet. Besonderen Komfort darf man nicht erwarten, aber man kann dort auf dem Boden schlafen. Je nachdem wie müde man ist, wird man vom Inhaber nach 8 bis 20 Stunden geweckt. Die Übernachtung kostet übrigens eine kleine Spende. Wenn man früher aufstehen will muß man die Space-Taste drücken. Während man schläft, regenerieren sich die Hitpoints aber man sollte nicht vergessen, das man während des Schlafs auch Nahrung verbraucht. Bestehende Krankheiten oder Vergiftungen, können auch beim Schlafen aktiv werden.

Der Ratskeller RAR und Grille
In diesem Restaurant kann man Essen und Trinken zu sich nehmen. Selbstbedienung ist nicht erwünscht und ein Trinkgeld sollte auch drin sein(ca. 15%). Alkohol sollte man nur in kleinen Mengen zu sich nehmen. Trinkt man zuviel, so ist man schnell betrunken und dies hat dann fatale Folgen beim Bewegen oder beim Kämpfen. Wenn man eine Runde ausgibt, so kann man sich bei den Leuten beliebt machen. Je nachdem wieviel Gäste gerade da sind, kann dies allerdings teuer werden. Der Ratskeller ist das soziale Zentrum im Dungeon. Man trifft daher oftmals Fremde und wenn man Ihnen einen ausgibt, sollte man genug Geld dabei haben. Die einzelnen Personen suchen sich Getränke frei nach Wahl aus; und einige Erfrischungen sind recht teuer.

Brunnen
Es gibt im Dungeon 3 Brunnen, die alle deinen Durst löschen. Jeder hat noch seine spezielle Eigenschaft. Ein Brunnen heilt zusätzlich Wunden, einer befreit dich von Müdigkeit und der andere heilt Krankheiten.

BANKEN
Es gibt 2 unterirdische Einrichtungen dieser Art; eine unter "The City’s Gram’s Exchange", die andere unterhalb der "First City Bank". Man kann Geld abheben nach anderen Gütern suchen oder einfach diese Einrichtung wieder verlassen.

Luckys portion brewery
Lucky ist ein Alchemist, der seine gebrauten Tränke verkauft. Jeden Tag gibt es neue frisch gebraute Tränke.

River Station
Für einen kleinen Preis, bringt dich der Fährmann am "River Stonz" über den Fluß zum Reich der Untoten, einem beliebten Urlaubsort. Der Fluß kann nur um Mitternacht überquert werden. Aber der Fährmann bringt dich zu jeder anderen Zeit flußabwärts. abwärts.

Waffen Zauberin
Sie untersucht, repariert oder entzaubert deine Waffen; natürlich gegen Bares. Sie kann auch gewöhnliche Waffen mit einem Zauber verstärken; was aber sehr teuer ist.

Kapelle
3 Möglichkeiten bieten sich hier:
– beten
– einen Priester aufsuchen
-eine Predigt anhören
Beten sollte einfach ausprobiert werden und man wird sehen, was passiert. Beim Priester kann man seine moralische Ausrichtung erfahren. Falls man eine dunkle Seele hat, so kann man dies hier ändern. Bei der Predigt erfährt man, welche Art von Benehmen im Dungeon gut ist. Die Predigt kann auch für deine moralische Ausrichtung hilfreich sein.
< br />
Dwarven Schmied
Hier kann man Waffen und Ausrüstung von bester Qualität kaufen. Alle Dwarven- Waffen sind aus echtem Silber hergestellt. Man kann dem Schmied auch seine alten Waffen verkaufen.
3. ()Timt tl 1999

GILDEN
Es gibt 6 Arten von Gilden. 3 sind gut und 3 böse. Gute Gilden:
-Guild of Order
-Wizards of Law
-Light Guys

Böse Gilden:
-Wizards of Chaos
-Thieve’s Guild
-Dark Wizards

Jede Gilde, der du angehörst, wird alle Flüche von dir nehmen. Wenn du wirklich total fertig bist, wird der Leiter der Gilde dir mit Rat und Tat zur Seite stehen. Jede Gilde hat 41 Charakter Level und moralische Vorstellungen, die du brauchst, um Mitglied zu werden. Du darfst einer Gilde als Vollmitglied angehören und anderen als assoziier tes Mitglied. Aber eine Gilde erlaubt es nicht einer rivalisierenden Gilde beizutreten. Als Gildenangehöriger sollte man keine gleichgesinnten töten, sonst kann man ausgeschlossen werden. Als Hauptmitglied einer Gilde bekommst du einen Ring, mit dem du genug Kraft zum Zaubern erhältst. Ist seine Kraft verbraucht, so kann sie in der Gilde erneuert werden; dies kostet aber einiges. Der Ring weist dich auch als Mitglied der entsprechenden Gilde aus.

Zaubersprüche
Die Mitgliedschaft in einer Gilde ermöglicht es dir, Zaubersprüche zu lernen. In einer Gilde gibt es nur eine bestimmte Anzahl von Zaubersprüchen. Diese hängen auch von deinem Charakterlevel ab. Zu jedem guten Spruch, gibt es auch einen bösen Spruch. Ob ein Spruch funktioniert, hängt auch von deinen Werten ab. Es folgt nun eine Liste mit Zaubersprüchen.

Bewilder: für Order, Thieves, Chaos und Mercenaries. Deine Gegner vergessen den Kampf, bis du sie triffst. Blinding: für Light. Blendet deine Gegner
Charisma: für Thieves, Dark, Chaos und Mercenaries. Erhöht deinen Charme für bis zu 8 Stunden.
Cold Blast: für Law, Order und Dark. Bewirkt Kälteschaden bei einer Monstergruppe.
Conjure Food: für
Order und Mercenaries. Bringt eine Essenration.
Conjure key: für Law, Thieves, Mercenaries. Bringt dir einen Schlüssel.
Defeat Evil: für Order und Law. Schädigt böse Monstergruppen.
Defeat Good: für Chaos und Dark. Schädigt gute Monstergruppen.
Dexterity: für Law und Thieves. Erhöht deine Skill-Werte für 8 Stunden.
Fear: für Light, Order, Dark und Chaos. Hat dieselbe Wirkung wie der Fear Wand.
Fireballs: für Light und Chaos. Bringt Feuerschaden bei einer Gruppe von Monstern. Fireblade: für Paladins und Chaos. Bringt Feuerschaden bei gegnerischen Waffen für eine Stunde.
Fury: für Paladins. Steigert dein Glück für 15 Minuten.
Healing: für alle, außer Mercenaries. Bringt bis zu 10 Hitpoints.
Light: für Light, Paladins, Order und Law. Läßt dich für 8 Stunden in der Dunkelheit sehen. Lightning Bolts: für Light und Dark. Schädigt Monstergruppen. Location: für alle, außer Paladins und Thieves. Zeigt dir die momentanen Koordinaten deines Aufenthalts.
Luck: für Thieves und Mercenaries. Erhöht dein Glück für bis zu 6 Stunden.
Magic Darts: für Light und Dark. Schädigt Monster.
Night Vision: für Dark, Thieves, Chaos und
Mercenaries. Läßt dich bis zu 8 Stunden im Dunkeln sehen.
Paralysis: für Law, Chaos und Mercenaries Lähmt deine Gegner. Du triffst ohne getroffen zu werden.
Prism: für Light. Siehe Paralysis.
Protect from Evil: für Light, Law und Order. Schützt vor bösen Waffen für 8 Stunden.
Protect from Good: für Dark und Chaos. Schützt vor guten Waffen.
Protection: für Light, Paladins, Thieves und Dark. Schützt vor allen Waffen für 8 Stunden. Razoredge: für Paladins und Mercenaries. Macht scharfe Waffen noch schärfer für bis zu 1 Stunde.
Repair: für Paladins, Thieves und Mercenaries. Repariert beschädigte Waffen und Rüstungen, die man gerade benutzt.
Shadowmeld für Thieves und Dark. Macht es für den Feind
schwerer, dich zu treffen.
Shield: für Alle. Schützt vor stumpfen und vor scharfen Waffen.
Slay Evil:: für Order. Schädigt böse Monster.
SIay Good: für Chaos. Schädigt gute Monster.
Speed: für Light und Thieves. Erhöht die Schnelligkeit für bis zu 8 Stunden.
Strenght:: für Paladins, Law und Chaos Erhöht die Stärke für bis zu 8 Stunden.
Super Vision: für Law, Order, Thieves, Chaos und Mercenaries. Läßt dich Geheimtüren erkennen. igor:
Vigor: für Paladins, Law und Chaos. Verringert Müdigkeit. Nur sinnvoll, wenn man einen Ring seiner Gildeträgt.
Soweit die Zaubersprüche:

Flüche, Gift und Krankheiten
siehe AR "The City"

Begegnungen
siehe AR "The City"

Lebensformen
Im Dungeon sind noch einige Wesen hinzugekommen. Hier nun eine Auflistung der fehlenden Wesen, gegenüber des ersten Teils von AR.
– Gladiatoren und andere Kämpfer
– Heiler
– Valkyren
– Schlangenmenschen
– Trolle und Goblins – Gnome, Orcs und Gnolls
– Riesenratten und Wölfe
– Riesenfledermäuse
– Schimmelpilze und Schleim(pfui deibel)
– Sturmteufel, Eisdämonen, Feuerdämonen,
– Teufel, Gremlins und Homunculi
– Phönix, der Feuervogel
– Drachen und Salamander
– Whirlwinds, eine Art Geist
– Untote, wie Wraiths, Ghosts, Zombies,
– Ghouls, Skeletons, Liches und Vampire
– Devourer, das gefährlichste Wesen. Nur wenige haben es gesehen. Und noch weniger haben es auch überlebt

Die magischen Grundelemente sind Erde, Wasser, Feuer und Luft. Magische Waffen haben verschiedene Wirkungen auf Monster. Hier sollte man experimentieren und sehen, was passiert.

M A f :,- II iii.: Dies war nun der Schluß der Übersetzung zu "The Dungeon". Ich hoffe es erleichtert das Spielen ein wenig und meine Arbeit war nicht ganz umsonst. Einige Begriffe und Namen habe ich absichtlich im Englischen belassen, da eine Übersetzung nicht besonders sinnvoll wäre.
The Gambler

Noch ein kleiner Tip von mir:
Zu Beginn sollte man versuchen, einen Charakter mit wirklich guten Werten zu bekommen, ruhig mehrmals probieren, bis alle Werte mindestens über 10 liegen. Ansonsten wird das Spielen doch erheblich erschwert.
The Gomblor
(Walter Lauer)

Mein IDE-Interface
Teil 3

In den vergangenen Monaten habe ich drei Programme geschrieben. Jetzt kann also mit der Festplattenschnittstelle gearbeitet werden. Die Programmen sind: FDISK.BAS, ROMRAM.OBJ und HPD100.OBJ (interne Schnittstelle) oder HPD500.OBJ (Schnittstelle im Cartridge. Ich habe bemerkt das BASIC und ASSEMBLER ganz normal von der Festplatte lädt und abspeichert. Bisher ohne Fehler oder Datenverlust. MYDOS ist ein ganz tolles DOS. Wenn sich kein DUP.SYS auf der Floppy befindet, versucht das Programm es auf dem nächsten Laufwerk zu finden. Ich habe DUP.SYS also auf der Partition D2 stehen, was das Laden von DOS um weniger als eine Sekunde verringert.´

Was muß man machen damit die Festplatte arbeitsfähig ist?
Erkennen und Partitionen einrichten (*) mit FDISK.BAS (BASIC-program) .Lade im DOS das Programm ROMRAM.OBJ ®Lade im DOS das Programm HPD100.OBJ oder HPD500.OBJ G(MYDOS) Konfiguriere DOS. Option ‚0‘, hinzufügen Drives, Nummer, high Kapazität.

Anzahl die Sektoren .Im DOS, formatiere die neue Drives..Fertig.
(*) Man darf eine Partition D1 machen, aber aufpassen! Die Diskette wirkt nur dann, wenn die Festplatte abgeschaltet ist.
Was muß man machen bevor die Festplatte aktiv ist?
Lade im DOS das Programm RO
MRAM.OBJ .Lade im DOS das Programm HPD100.OBJ oder HPD500.OBJ
.Fertig.

Was arbeitet nicht mit diesem Treiber? .Programme, die Cassette-boot-status oder Cassette-init-vector belegen. .Programme, die RAM-Speicher $570-$57F und $C000-$FFFF belegen.

Ein single-boot Programm habe ich noch nicht fertig. Es handelt hier um ein eigenes OS auf Basis von den alten 800-Modellen, vielleicht das nächste Mal. (Für dieses OS braucht man eine Reset-Modification im Atari).

Beschreibung der Programme:
ROMRAM.OBJ:
Dieses Programm wird im Speicher in $600 geladen. Es kopiert das OS nach RAM, aktiviert es und macht einen Softwarereset. Das Programm belegt den Cassette-boot-status, Cassette-init-vector und Speicher $570-57F. Das ’neue‘ OS ist RESET geschützt. Zur Erkennung, dass das OS im RAM läuft, habe ich das Leerzeichen in einen Unterstrich geändert.

FDISK.BAS:
Dieses Programm erkennt die Festplatte und legt Partitionen an, die mit HPD100.OBJ oder HPD500.OBJ (Version 1.x)zu benutzen sind. Die Partitioninformation wird im ersten Zylinder der Festplatte abgespeichert. FDISK.BAS braucht nur den ersten Sektor, Kopf null. Alle andere Sektoren und Köpfe von Zylinder null sind frei zu gebrauchen.

Die Einteilung dieses Sektors ist:
Die ersten 8 Bytes sind Information über die Größe der Festplatte und wie viele Partitionen vorhanden sind. Jede der nächste 8 Bytes sind Partitionsparameter.
Erste 8 Bytes:
Byte 0: Zylinders low-byte Byte 1: Zylinders Highbyte
Byte 2: Anzahl Köpfe
Byte 3: Anzahl Sektoren Byte 4: Anzahl Partitionen Byte 5-7 Reserviert.

Jede nächsten 8 Bytes: Byte 0: Nummer von Drive Byte 1: Partition Start auf Zylinder low-byte
Byte 2: Partition Start auf Zylinder High-byte
Byte 3: Partition endet auf Zylinder low-byte
Byte 4: Partition endet auf Zylinder High-byte Byte 5: Dichte von den Sektoren (0=128 Bytes/Sektor 1=256 Bytes/Sektor)
Byte 6-7: Reserviert.
HPD100.OBJ oder Version 1.x:
Dieses Programm wird im Speicher auf $CCOO geladen und ist ein Patch für die SIO-routine die im XL-OS vorhanden ist. Direkt nach dem Laden wird die Partitionsinformation von Festplatte geholt.

Normal steht auf $CCOO der internationale Zeichensatz. Weil im XL-OS kein Platz für weitere Treiber ist und dieser Zusatz selten gebraucht wird, habe ich dieser Speicherplatz genommen. HPD100.OBJ oder HPD500.OBJ braucht $CCOO-CDFF und $CE00-$CEFF für die Partitioninformation. Bereich $CF00-$CFFF ist frei zu gebrauchen.

Das Patch arbeitet wie folgt:
Zum ersten wird überprüft ob es sich um device Dx: handelt und ob x eine gültige Partition ist. Wenn nicht, oder die Festplatte ist abgeschaltet, wird der Standard SIO angerufen. Wen OK, wird mit Hilfe von d e n Festplatten
u n d Partitionspara m eter errechnet, wo sich der Sektor (AUX1 und AUX2) auf der Festplatte befindet. Der errechnete Zylinder wird mit öße überprüft.

Das Patch verarbeitet die folgenden Kommandos:
Read, Write, Write verify (macht es immer),

HPD500.OBJ Status und Format.

I/0-Fehler geben ein Error 139 (Gerät kann Kommando nicht ausfuhren).
Die erwähnten Programme findet Ihr auf der Rückseite der Magazindiskette.
Sijmen Schouten

Atari’s Comeback?

ATARI-Garnes auf der Internationalen
Funkausstellung 1999 in Berlin
Von Mirko Sobe
Ehrlich gesagt, ich habe nicht schlecht gestaunt, als ich auf der IFA in Berlin eine Säule mit dem ATARI-Logo sah. Es handelte sich um den Stand der Softwareschmiede "Hasbro lnteractive". Sie bestand aus mehreren Play-Stations, auf denen alte ATARI-Klassiker liefen: PONG. Q*Bert. Missile Command und Centipede. Alle Spiele natürlich in einer aufgepeppten Version. Dazu gab es eine Demo-CD-Rom für den PC. Hier will ich Euch mal ein paar Bilder von dieser CD zeigen:

PONG – die Mutter aller Videospiele. Man glaubt es kaum, aber das nahezu älteste Videospiel der Welt wird neu aufgelegt. Nun, was rechtfertigt die Neuauflage? Z.B.. einige neue Features, Die runde Schläger, fremde Gegner und vieles andere mehr. Alles inklusive des Original PONG ein Muß für echte ATARI bzw. Videogamesfans.

Q *Bert bietet jetzt die Unterschiedlichsten Landschaften anstatt der einfachen Pyramide.

Qbert im Classic-Mode

Missile Command bekommt neue Features wie z.B. wechselnde Landschaften oder Endgegner im Weltall

Webstatistik

Wir berichten ja in jedem Magazin über die Besucherzahl unserer Homepage. Diesmal will ich es auf vielfachen Wunsch einmal wieder ausführlich darstellen. Die Besucherzahlen beziehen sich auf die Besucher seit dem 21.Dezember 1996. Warum allerdings in einer Woche 444 Zugriffe auf unsere Seite erfolgten(normal sind 120 bis 160 in der Woche), entzieht sich meiner Kenntnis. Ich kann nur vermuten, dass in irgendeiner Publikation auf unsere Homepage verwiesen wurde. Vielleicht weiß es ja einer von Euch. Ich wäre natürlich über jeden Hinweis dankbar. Schön wäre es, wenn die unbekannten Betriebssystem genauer aufgeschlüsselt wären. Wer weiß, wieviel Atari 8-Bit Rechner dahinter verbergen? Das es geht hat ja Erhard Pütz, unser Floppydoc in einem zurückliegendem Magazin ausführlich geschildert..

PD-Bibliothek

Wie bereits berichtet, hat Theo Schwacke die PD Bibliothek aufgegeben. Über den weiteren Bestand der PD-Bibliothek werden wir auf der Jahreshauptversammlung 1999 entscheiden.

JHV 1999

Ich möchte Euch an dieser Stelle nochmal an den Termin der JHV erinnern:
30. 10. 1999, 10.00 UHR
IM BUERGERHAUS HERTEN SUED.
Eine Einladung lag dem letzten Sondermagazin bei.

 

Umsetzung des Print-Magazins zu Text/HTML
Scannen, Korrektur, Grafik, Layout, HTML Andreas Bertelmann
Calamus Rohdaten Wolfgang Burger
Calamus Text-Export Carsten Strotmann