ABBUC Magazin 074


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

Inhalt

Seite 3 Unconventional 2003
Seite 6 Realtime Text Unconventional 2003
Seite 8 Was soll das?
Seite 9 Quick erklärt
Seite 17 Das Innenleben von Netzwerkspielen
Seite 19 Spieletest
Seite 24 ATARI Quiz
Seite 26 Game Clones Vol. 11
Seite 27 ABBUC Bundesliga
Seite 28 ABBUC Schulungen
Seite 29 Software Ideenpool Teil 1
Seite 31 Cheat zu Archon
Seite 32 Die PD-Ecke

Unconventional 2003

Oh, mal wieder Ende August – also steht die Unconventional vor der Tür! Und was macht man als guter Atarianer ?!? Na klar, erstmal im ABBUC Forum alle Details (wer kommt vorbei, was wird im Wettbewerb gezockt, etc.) nachgelesen und dann flugs die eigenen Atari- Sachen für die Reise nach Lengenfeld gepackt. Diesmal habe ich den Termin sogar extra mehrmals nachgelesen, damit ich ihn nicht wieder (wie letztes Jahr) verpasse. Als besonderes Highlight für mich persönlich stellte sich die Ankündigung dar, dass in diesem Jahr mal wieder Nir Dary aus Israel auf der Uncon in Lengenfeld vorbeikommen wollte. Habe ich doch schon seit vielen Jahren guten E-Mail Kontakt zu ihm, so gab es nun endlich mal die Gelegenheit Nir persönlich kennenzulernen (außerdem konnte ich auch gleich ein paar Dinge mitnehmen, die ich ansonsten per Post schicken müsste)…

Nun denn, nachdem alle Vorbereitungen also getroffen und alle Infos besorgt waren, was nehme ich denn selber zur Uncon mit ?!? Hmm, also mindestens mal meinen 576k Atari XL und eine Floppy, zur Sicherheit noch einen zweiten Atari und eine zweite Floppy, man weiß ja nie. Daneben noch eine Diskbox mit Anwendungen und Spielen, bei der Gelegenheit auch noch eine zweite Box mit Demos und wenn ich schon dabei bin, kann ich die dritte Box mit kommerziellen Games eigentlich auch gleich einpacken. Wie wäre es mit ein paar Modulen ? Ok, nach einer kurzen Durchsicht meiner ca. 120 Steckmodule, wurden dann noch 30 Carts für die Uncon mit eingepackt.

Naja, und ausreichend viele Netzteile (doppelt so viele, wie ich eigentlich brauche), jede Menge SIO-Kabel, TV-Anschlußkabel (SCART) und alles was man sonst noch gebrauchen könnte wurde natürlich auch noch dazugepackt. Fehlen jetzt eigentlich nur noch Klamotten, Verpflegung, Geld und Schlafsachen – aber das lässt sich ja alles in ein paar Rucksäcken unterbringen (außer der riesigen, ultrabequemen Klappmatratze natürlich). Tja, soweit so gut, nach über einer Stunde Packzeit konnte es also am Freitag Abend auf die Reise gen Osten zur Unconventional 2003 gehen…

Und so ganz alleine zog sich die Fahrt beinahe endlos hin. Nur gut, dass ich mir die Fahrtstrecke nochmals in Stichpunkten auf ein Blatt Papier aufgeschrieben habe, so musste ich nicht ständig in die Straßenkarte blicken. Nach ca. viereinhalb Stunden Fahrt und ca. einer halben Stunde Sucherei in Lengenfeld war ich dann endlich da. Wer es nicht weiß, das Schützenhaus (in dem die Uncon stattfindet) liegt auf einem kleinen Hügel, leider hat Lengenfeld zwei davon und ich suchte auf der falschen Seite. Nachdem aber auch dieses Problem gelöst war, fand ich endlich den Parkplatz neben dem Schützenhaus, also erst einmal aussteigen und schauen wer denn schon da ist. Gleich darauf wurde dann das Auto ausgeräumt, was eine ganze Weile dauerte. Kaum war das erledigt, wurde noch 1-2 Stunden gequatscht und dann ging es auch schon ins Bett (bzw. mit dem Schlafsack auf die Matratze).

Wer nun eine sehr detaillierte Darstellung des Geschehens am Samstag erwartet, den muss ich leider enttäuschen, denn ich habe mir auf der Uncon fast keinerlei Notizen gemacht. So gegen 10.30 Uhr bin ich aufgewacht und konnte feststellen, dass auch schon fast alle anderen Atarianer wach waren. Im Laufe des Tages füllte sich die Halle dann und man konnte so ca. 30 Anwesende zählen. Darunter waren neben vielen Deutschen auch (wieder mal) Holländer, Schweizer und Tschechen, nur Nir Dary war leider nicht da und kam auch nicht mehr. Dafür wurden wir vom ABBUC Chef Wolfgang Burger persönlich besucht, der ein paar ABBUC Sachen, wie z.B. die neue ABBUC-Tasse (schwarz mit goldenem „Atari“ Aufdruck), versch. CD`s und natürlich auch Preise für die Uncon-Wettbewerbe dabei hatte. Zudem war neben den vielen Usern vor Ort auch noch ein Händler aus GB angereist, es handelte sich um Nick Harlow von 16/32 Systems. Er hatte außer ein paar ST-Spielen, jede Menge Jaguar und Lynx Sachen (Hardware + Software, auch Importe aus den USA) und sogar ein paar XL/XE Games dabei.

Vermutlich hatten sich die Uncon-Teilnehmer bereits im letzten Jahr bei ihm kräftig eingedeckt und so lief der Verkauf in diesem Jahr nicht mehr ganz so gut. Nick nahm es aber relativ gelassen und beteiligte sich sogar an den div. Uncon-Spielewettbewerben. So begann denn auch der Samstag als erstes mit dem traditionellen Festplattenweitwurf. Man entschied sich schnell dafür, dass immer nur die 3 besten als „Marker“ am Rande des Feldes stehenbleiben sollten und so konnte man nicht nur die verschiedensten Wurftechniken begutachten, sondern auch beobachten, wie sich das Feld der 3 Besten ständig veränderte. Manche Atarianer versuchten die Festplatte, wie eine Frisbee-Scheibe zu werfen, zwar flog sie dabei recht gut, jedoch driftete sie am Ende stets weit nach links oder rechts ab, so dass hier selten eine große Entfernung erreicht wurde. Andere probierten es in Form eines Kugelstoßens, was mal mehr mal minder gut funktionierte. Und wieder andere legten einen ganz eigenen Wurfstil hin, bei dem so mancher Maulwurfshügel dran glauben muhte. Wie dem auch sei, am Ende standen die Sieger fest, sie lauteten: 1. Platz = RIK, 2. Platz = Marco F., 3. Platz = Floppydoc. Kaum war dieser Wettbewerb zu Ende, wurde noch ein schönes Erinnerungsfoto geschossen, dass dank einer Digitalkamera auch mehrere Anläufe benötigte.

Sodann kehrten alle Anwesenden in die Halle zurück, dort wurde dann z.T. programmiert, etwas demonstriert, getrunken+gelabert+gegessen und in allererster Linie natürlich gespielt. Auf diese Art und Weise verlief eigentlich der ganze Samstag, wobei natürlich das Programmieren recht klein, hingegen das Spielen recht groß geschrieben wurde. Gegen Mittag wurde dann Pizza bestellt, die vom Pizzabäcker aus dem Ort auch sehr schnell geliefert wurde. Es folgten noch viele weitere Spielrunden, bei denen die Teilnehmer ihre Ergebnisse stet
s auf bereitgelegte Blätter eintragen konnten (welche wiederum am Sonntag ausgewertet werden sollten). Und tatsächlich, jeder Teilnehmer trug sich brav in die Listen ein, ganz egal wie gut oder schlecht er bei dem jeweiligen Spiel war. Ach ja, bei den Games handelte es sich um Quix (XL/XE), Space Invaders (VCS), Superfly (ST) und Club Drive (Jaguar).

Am späten Nachmittag oder frühen Abend gab es dann gegrillte Bratwürste, die Helmut Weidner gegen einen geringen Betrag unter die hungrige Meute verteilte. Es folgte sodann ein Wettbewerb des Lynx-Spieles „Chequered Flag“, der mit mehreren vernetzten Luchsen ausgetragen wurde. Sozusagen gerade rechtzeitig zu diesem Wettbewerb tauchte Rouven Gehm auf, der nicht nur hier, sondern sodann auch bei allen anderen Games ein sehr gutes Ergebnis hinlegte und so manchen anderen Teilnehmer alt aussehen ließ. Mitgebracht hatte er seine Frau/Freundin und Kinder, die ebenfalls an den div. Atari-Geräten verweilten und so manches Game zockten. Apropos Frauen, im Nebensaal fand zeitgleich zur Unconventional eine Silberhochzeit statt und so fanden sehr viele Kinderchen (wohl aus Langeweile) den Weg in unsere Atari-Spielehalle und spielten viele für sie total unbekannte Games. Einige Stunden später folgten dann deren Mütter, um nachzuschauen, ob denn alles in Ordnung und die Kinder noch da seien. Manche Mutter ließ es sich dann nicht nehmen auch einmal mitzuspielen und ein paar Games ließen die ein oder andere sogar etwas länger verweilen…

Wie auch immer, nachdem ich den ganzen Tag über rumgespielt, gegessen, gelabert und getrunken hatte und mich zudem über so manche weibliche „Augenweide“ aus der Nebenveranstaltung erfreut hatte, wurde ich gegen ein oder zwei Uhr müde und ging schlafen. Aufgrund des noch immer anhaltenden Lautstärkepegels war dies nicht gar so einfach, doch irgendwann war halt die Müdigkeit stärker. Der Sonntag begann mit einem dicken Brummschädel und tierischen Kopfschmerzen (zuviel getrunken? zuviel gelabert? gekifft?), es muss wohl wieder 10.30 Uhr gewesen sein, als ich mich aufraffte. Natürlich war wieder jeder andere vor mir aufgestanden und auch Wolfgang Burger war schon wieder da. Noch hatte jeder Zeit, seine Leistungen in den 4 Game-Competitions zu verbessern und weitere Ergebnisse in die Listen einzutragen. So um 11.30 Uhr wurde die Game-Compo aber beendet und ausgewertet. Das Ergebnis sah dann folgendermaßen aus (wobei ich nicht alle Plätze, sondern nur die ersten drei notiert habe):
– Quix (XL/XE):
1. Platz = Mr. XY,
2. Platz = RIK,
3. Platz = Bohdan;
– Space-Invaders (VCS):
1. Platz = Mr. XY,
2. Platz = MB,
3. Platz = Wizard;
– Superfly (ST):
1. Platz = MB,
2. Platz = Jay J,
3. Platz = Dragovan;
– Club Drive (JAG.):
1. Platz = Mr. XY,
2. Platz = Dragovan,
3. Platz = Jay J;
– Checkered Flag (Lynx):
1. Platz = Sacha,
2. Platz = Mr. XY,
3. Platz = MB;

Sowohl vom ABBUC als auch von den Uncon- Organisatoren wurden jede Menge Preise gestiftet und so gab es nicht nur die neuen ABBUC/Atari- Tassen, sondern auch Jaguar und Lynx Games und viele weitere Sachen. Nunja, ich war danach so fertig, dass ich sogleich mein Auto gepackt habe, was ca. eine halbe Stunde dauerte. Sodann wurde sich von allen verabschiedet und die Rückreise angetreten. Bei meinem Glück erwischte ich natürlich einen Stau und brauchte ca. 5,5 Stunden für die Heimreise. Endlich daheim, wurde sogleich das Auto ausgepackt und dabei festgestellt, dass ich von den mitgenommenen Sachen kaum etwas gebraucht habe. Von den drei Diskboxen (ca. 240 Disks) wurden vielleicht 7-8 Disks eingesetzt, von den 30 Modulen vielleicht 2 gezockt und von der Hardware auch nur ein Komplettset (bestehend aus Computer+Floppy+TV+Netzteilen+Kabeln) benötigt…

Also beim nächsten Mal nehme ich davon nur noch ein Drittel mit. Und die nächste Gelegenheit ist ja die ABBUC-JHV – aber ob ich da nicht doch alle Diskboxen mitnehmen sollte ?!? Vielleicht auch mehrere Computer und Zubehör (nur zur Sicherheit) ?!? Oder doch ein paar Module ?!? Naja, man wird sehen…
Andreas Magenheimer.

Realtime Text Unconventional

Unconventional 2003 29.08.2003 – 31.08.2003
03.37 Die Tür ist auf, es kann losgehen, bin zum ersten Mal vor Ort. Mr.V
03:38 I’m tired. MB / F2
03:39 Ich habe einen Tab gesetzt, hurra. Damit habe ich mir erstmal ’ne Zigarette verdient MB / F2
04:05 Shiuming hat ’ne runde Rum geschmissen. Mir gehts gut MB/F2
08.00 3 Stunden Schlaf, man bin ich Knülle, aber schon wieder hier Mr.V
08:25 All except me are bussy building up.
11:05 Kaum einen halben Tag hier und schon 2 anonyme ATARIaner gefunden MB/F2
11:05’30 Diesmal gibt es sogar Schilder?
11:30 R.I.K. of Kaisersoft / F2 trifft nach ewiger Fahrt mit unzähligen Pausen endlich auch ein. MOIN!
14:00 Dragoran “Ich Dragoran bin gerade mit dem Fahrrad angekommen!
14:20 gerade habe ich Rik 6:0 6:1 beim ATARI Tennis nach hause geschickt. Mad Bobbele / F2
??:?? Endlich!! SPELLBOUND-soft ist da… Naja, und dieses Jahr mit dem wohl liebsten Menschen auf dieser Welt!!!
16:00 Danke, Spellsound Boft! So etwas nettes hat schon lange niemand mehr über mich gesagt. Aber ich bin doch schon 4 1/2 Stunden hier… R.I.K. of Kaisersoft / F2
19:00 Nick from 1632 arrive, the Tardis is full of Atari goodies
19:50 Ahhh endlich sitzen, mal schauen was bis dato schon alles eingetroffen ist, auch für meine Familie mal ganz spannend, was der Pa denn so mit den Computern treibt. Klein Frederick wurde sehr nett empfangen. Leider bleibt es heute nur ein kurzer Besuch, mal schauen, wie lange ich morgen Zeit habe.
Mr.XY
20:15 Verpasse leider Gundam Wing (Kult-Anime)! Hab mich schon so gefreut! Verdammtes Wetter!!!!!!!!! Dragoran
22:04 Aloa Muchachi, Swiss connection ist nun auch eingetroffen. DivX und co. kann man bei uns schauen… Grüsse Sacha 🙂
22:06 tWh/f2 has installed his Atari!! Now the party can start! (or tomorrow, it’s quite still here, no loud music, but we can change hehehehehehahuhuhuhhuhaaaaaaaaa!!! *hüstel*)
03:15 We just finished our traditional Decathlon match!! (this time the vcs2600 version)
6390 Shiuming Lai
8864 twh/f2
8840 Mad Butscher/f2
8311 R.I.K./f2 as always… twh wins 🙂
3:30 TXG & FOX-1 are still awake since thursday playing games on the jaguar and new 8bit hardware. TXG is happy with his Jaguar Alpine board.
05:30 R.I.K. wird müde und geht gleich schla…chrchrchr
08.09 Endlich ausgeschlafen, nun kann der Tag losgehen. Mr.V
09:25 R.I.K. ist zurück!
09:30 Wolfgang ist angekommen.
11:50 8Bit-Sacha, Bönz und Georg sind aufgetaucht
12:45 Die Leut sind heute aber nicht besonders schreiblustig!
13:50 Hier ist der Meister aller Klassen “Dragoran“
15:40 I arived at 13:22 here and now I findet this computer with real time text. In fact, it is not too long file, but to be here is very good as every year. Zdenek
16:10 O.K. wir sind schon ein paar Stunden hier (seit
12.00 Uhr), aber jetzt erst den Rechner hier hinten in der Ecke gefunden… Bunsen
16:32 Wann bricht bei Club Drive endlich mal jemand meinen Rekord!!!!! Dragoran
18:25 Zuerst das Festplattenweitschiessen und dann die feine Wurst zum Abendbrot. Was kann man sich da noch mehr wünschen? Georg
18:50 I bouht harddisk 2.5″ 10 GB for my Falcon, I hoppe, it will be nice for him. He h
ave only 1.4 GB inside this time. It look as a good change by me.
19:25 I made in Club Drive a new record 0:53:8 sec. Dragoran
20:25 Nick finished his „packing car“ exhibition. Several of us stayed outside, watching how he puts things into the car, watching how he puts things into the car, taking photos and having fun. Nick must be a great wizard, because the heap of all these things was bigger than his car. Zdenek
20:35 Shiuming can’t teach english. Basta
20:35 Alle Schweitzer sind Heizer
20:46 Thanks to Shiuming for check my text. Zdenek
21:37 I won I won I won Juhhuuuuu 🙂 Chequered Flag ist mein Sacha
22:xx „Glückwunsch, Sacha!“ sagt R.I.K., der bei Chackered Flag Vierter wurde. Habe ich eigentlich schon erwähnt, dass ich den Festplattenweitschmeiß- Wettbewerb gewonnen habe…?
22:55 Als Gast Bzw. als Besucher möchte ich dem Initiator dieses Treffens ein großes Lob aussprechen. Als MAC-User finde ich diese Art Treffen nicht verkehrt. Es war nicht alles Schlecht was Gut war. Weiter so. F. Böttger Lengenfeld
23:24 Eigenlob stinkt tut aber unheimlich gut 😉 Ich bin der Club Driver !!! Mr.XY
23:31 Du bist auch Member des CDC (Club Drive Club). R.I.K. of Kaisersoft / F2
23:44 Geile Party, schräge Typen und viel Bier, was will man mehr?
03:08 Nichts passiert zwischendrin, nee kann nicht sein, war noch einiges los, nette Gespräche, nette Wettkämpfe, alles Bestens. Noch gibt es ein paar wackere Kämpfer die sich an den Highscores versuchen. Besonders das U-Boot Spiel ist sehr süchtigmachend. So denn wünsch ich Allen noch einen schönen Ausklang Mr.XY
05:35 R.I.K. macht sich wieder ab zum Schlafen…
08.10 Der letzte Tag beginnt und wie ich sehe, sehr sehr ruhig Mr.V
09:20 Ein paar Leutchen sind schon wach und hocken wieder vor den Rechnern. Die anderen schlafen noch. Bunsen
10:30 Alle Bilder von Shiuming auf der Festplatte. Danke! Das Finanzielle mit Mad Butcher geregelt. Eigentlich kann ich gleich nach Hause fahren.
Wolfgang
10:52 Bin nun endlich aufgestanden . Mein Zelt war ziemlich bequem und daher bin ich -welch wundersogar ausgeschlafen!! Gerade hat mich Wolfgang ermahnt meinen Beitrag zu zahlen! Hrglllll…. Leute!! Legt euch niemals mit Wolfgang -The Knecht- Burger an *gg whatever, we will continue with our atari event and as always we are having much fun and playing great games! twh/f2
11:15 R.I.K. ist mit tierisch verrenktem Kreuz wieder da – fast sechs Stunden Schlaf am Stück sind allerdings Highscoreverdächtig!
12:05 Bunsen: Is Marushka the wife of Bohdan? MB: Yeah, wife or floppy … aeh … girl-friend.
12:15 V.A.R. ist alles, was Helmut produziert hat.
14:20 Alles packt ein, Dragoran nervt immer noch. MB/F2
15.05 Es ist vorbei und wir Nerven weiter…….

Was soll das?

Was ist nur aus der Computer-Branche geworden? Was sollen zum Beispiel all diese Lizenzarten? Früher hieß es PD oder Public Domain, heute heißt es Freeware, GNU oder GPL oder sonst wie. Was ist denn heutzutage das Äquivalent zu PD? Gibt es das überhaupt noch?

Darf ich meine eigene Software überhaupt noch anbieten oder muss ich damit rechnen, dass sich jemand die Rechte an meinem Produkt sichert nur weil ich es bedingungslos mit allen teile? Herrgott, ich bin Programmierer und kein Jurist! Also, was soll das? Früher hieß es Programmieren. Heute sagen die „Herren Gelehrten“ Entwickeln dazu. Zum kotzen. Was früher mal Programme waren sind heute „Applikationen“, „Anwendungen“ oder „ausführbare Dateien“. Wieso eine solch hochnäsige Sprache? Gut, dass der ehemalige „User“ jetzt „Anwender“ genannt wird, das haben wir einer sprachlichen Übersetzung im Sinne der Globalisierung und Lokalisierung zu verdanken. Aber muss denn aus einer einfachen Programmiersprache gleich eine ENTWICKLUNGSUMGEBUNG werden? Oder ein „SDK“ (was im übrigen keiner bedienen kann?).

Und vor allem, muss denn jedes „moderne“ System alles können, so dass es vor „lauter Kraft nicht mehr laufen“ kann? Nehmen wir Windows: als grafische Oberfläche bereits als Version 3.1 schon auf einem 286er wunderbar zu gebrauchen (abgesehen davon, dass es Windows ist), der Nach-Nachfolger Windows XP jedoch ist für die gleiche Anwendung (als Single-User System) nicht mehr auf der selben Hardware zu gebrauchen, auch wenn man alles neue (hauptsächlich grafische Effekte) abschaltet, weil es ja unbedingt noch TCP/IP, NetBIOS, IPX/SPX, bla bla bla und XTC noch im Hintergrund machen muss und ein Netzwerk verwaltet, selbst wenn keine Netzwerkkarte in den Rechner eingebaut ist (und auch nicht irgendwelche Verbindungen eingerichtet wurden).

Oder nehmen wir Linux – an alle Linux-Freaks gleich vorweg: ich habe es versucht, aber vergiss es! Lieber werfe ich Bill Geld in den Rachen als nochmal diesen Schrott auszuprobieren! stabiler als WinXP geht es scheinbar nicht! Schön, wenn Linux abschmiert kann man noch auf eine andere Ebene wechseln und per Kommandozeile den Computer steuern, vielleicht auch vom Netz aus, möglicherweise kann man sogar eine neue grafische Oberfläche starten. Aber wer braucht denn das? Ein PC ist heutzutage nur stabil, wenn er mit der Maus bedient werden kann. Unter WinXP, so schade es auch ist, ist dies in jeder Hinsicht gewährleistet. Linux schafft es nicht einmal MP3’s abzuspielen… stattdessen werden unverständliche!! Fehlermeldungen ausgegeben. Zwar auf Deutsch, aber selbst für mich als Computerfreak völlig nutzlos! Toll, nun weiß ich, dass dieses oder jenes Problem vorliegt, aber wie soll ich es beseitigen, wenn sich das System selbst dieses Problem bereitet, sich sozusagen selbst ein Bein gestellt hat (die Soundkarte sei blockiert – toll, durch Systemklänge. Sie ist übrigens auch blockiert, wenn ich alle Systemklänge abschalte).

Doch genug davon: Apple bekommt jetzt sein Fett weg! War doch das System 7 bis 8.5 extrem stabil, auch in der alten Version (16Bit mit Cooperativen Multitasking), weil Software und Hardware vom selben Hersteller waren. Nun hat Apple sich entschlossen, einen Unix- Port als Betriebssystem zu veröffentlichen. Doch anstatt eine Verbesserung anzubieten mussten wieder tausende (um bei einem solchen System nicht sagen zu müssen Milliarden) Umwege gegangen werden, um das Funktionieren der bisherigen Programme zu gewährleisten. Und genauso wie Umwege auf Autobahnen Zeit und Nerven kosten, so kosten sie auf Computern Zeit und Systemleistung.

Ja, begreifen diese Menschen nicht, dass der alte Schrott längst ausgedient hat? In Zeiten portabler Programme und Projekte (übrigens der einzige Vorteil der heutigen Computerbranche) kann es doch nicht so schwer sein, ein grundsolides neues System zu programmieren, was alles kann, und zwar auf einem achtel der heutigen Hardwareanforderungen! Doch da kommen wieder die Lizenzen ins Spiel: man darf es nicht! Man darf z.B. nicht OfficeXP auf ein neues System portieren, weil man ganz einfach nicht das Recht dazu hat! Und ich gehe jede Wette ein, dass OfficeXP mit seinem vollen Funktionsumfang auch auf einem 80386er PC bzw. 64MHz Milan ohne Wartezeiten laufen würde.

Gut, man müsste jede Routine, die das Paket enthält optimieren, aber kann man das nicht verlangen bei einem Produkt, das für einen Preis von mitunter mehreren Tausend Euro angeboten wird und mit dem der Hersteller Milliarden und Abermilliarden verdient hat? Bei einem Preis von knapp 500 Mark, kann man da nicht ein Produkt verlangen, dass allen Anforderungen gerecht wird? Und nicht einen Schrott, der mitt
lerweile auch schon 18 Jahre alt ist und somit in der schon immer schnelllebigen Computerbranche hoffnungslos veraltet ist? Gemeint ist Windows XP, auch daran lasse ich meine Wut aus…

Und warum in der Welt hat es noch kein Mensch der Welt geschafft, endlich eine wirklich einfache und schnelle Programmiersprache zu schreiben? BASIC ist einfach, C ist schnell, Assembler ist trotzdem das einzig brauchbare in Sachen Geschwindigkeit. Warum in aller Welt gibt es keine BASIC-Version, die Assemblergeschwindigkeiten bietet?! Und erzählt mir nicht, dass das nicht ginge… wenn selbst jede C-Zeile locker als BASICZeile durchginge, wenn man nur die Syntax änderte, jedoch nicht deren Inhalt…

Eines sage ich Euch, liebe Freunde des ATARI 8bit- Rechners, sollten solche Sachen auch mit dem ATARI- 8-Bit-Rechner passieren, dann schmeiße ich auch diesen in eine Ecke und widme mich einem Rechenschieber – solange bis China Lizenzgebühren für dieses einfache aber durchaus effektive Betriebssystem (100 Kugeln) verlangt.
Mirko Sobe

Quick erklärt

Hier möchte ich Euch einmal den Quelltext des Gametros vom Magazin 73 auseinandernehmen. Es hilft vielleicht dem einen oder anderen, die Programmiersprache Quick besser zu verstehen. Andere werden über meine „Programmierkünste“ sicherlich etwas lachen können 😉

Ich muss noch erwähnen, dass ich meine Programme alle mit der Version 2.0 schreibe. Dort gibt es ein paar Unterschiede zur Version 1.6, die dem letzten Sondermagazin beilag. Das Wichtigste zuerst: in der Version 2.0 werden Variablen immer in unsigned (also ohne Vorzeichen) behandelt. Dann gibt es noch einen Sync(x)-Befehl. Dieser Befehl macht nichts anderes, als x mal das Register WSYNC anzusprechen, damit man z.B. im DLI immer zeilensynchron die Farben ändern kann. Es gibt sicher noch andere Unterschiede, die mir allerdings momentan nicht einfallen. Sollte bei Euch etwas nicht funktionieren, scheut Euch nicht mich zu kontaktieren. Wir werden schon den Fehler finden 🙂

So, nun schauen wir uns mal den Anfang des Listings an:
—————-
BYTE
[
ENDE,B,I
COUNT2,COUNT,LEN,LEN2,LEN3
RU,X,M,FERTIG
ATRACT=77
F0=53274
F1=53270
F2=53271
F3=53272
F4=53272
HSCROL=$D404
CHBAS=756
CHBASE=54281
KEY=764
STRIG0=644
GPRIOR=623
DMA=559
PMBASE=$D407
PCOL0=704
PCOL1=705
PCOL2=706
HPOS0=$D000
HPOS1=$D001
HPOS2=$D002
SIZEP0=$D008
SIZEP1=$D009
SIZEP2=$D00A
HITCLR=$D01E
P0PF=$D004
P1PF=$D005
P2PF=$D006
]
WORD
[
ZAEHL
TEXT=$8E1A
TEXT1=$8E1D
TEXT2=$8E20
TEXT3=$8E23
TEXT4=$8E11
TEXT5=$8E2C
DL=560
BS=88
]
—————-
Wie man sehen kann, handelt es sich um die Deklaration der Variablen. Alle Variablen, nach dem Muster VName=($)Zahl sind im Prinzip nichts weiter, als Zeiger auf die angegebene Speicheradresse. D.h., dass z.B. mittels KEY=765 bestimmt wird, dass alle späteren Wertzuweisungen an die Variable Key direkt in das Register 764 im Speicher geschrieben werden. Da dort der Tastaturcode zu finden ist, habe ich ihr sinnvollerweise den Namen KEY gegeben 🙂

Noch eine kleine Erklärung zum Unterschied zwischen BYTE & WORD. Eine Byte-Variable ist, wie der Name schon sagt, genau ein Byte groß und kann daher Werte von 0 bis 255 annehmen. Eine Word-Variable besteht aus 2 Byte und somit sind Werte zwischen 0 und 65535 möglich. Das $ vor einer Zahl bedeutet, dass diese Zahl in hexadezimaler Schreibweise daherkommt.

Nun weiter im Quelltext:
—————-
MAIN
DMA=0
POKE(752,1)
CLR($80,8)
CLR($90,8)
CLR($A0,8)
.ZSLOAD
.INTRO
—————-
Mit MAIN und ENDMAIN wird immer das Hauptprogramm umrahmt.

Nun schalten wir erstmal den Bildschirm (BS) aus und sorgen mit dem Poke dafür, dass der Cursor aus ist. Die CLR-Befehle sorgen dafür, dass auch wirklich kein „Müll“ von anderen Programmen im später sichtbaren Speicherbereich steht.

.ZSLOAD ist dafür da, dass das Unterprogramm ZSLOAD aufgerufen wird – hier wird der Zeichensatz für das Logo geladen.

Danach zeigen wir mal eben den kleinen Introscreen.
—————-
DATA($8E00)
[
128
112,68,$A500
4,4,4,4,4,4,4
240,66,$8200
82,$7500
66,$8100,2,2,130
82,$7400
82,$7400
82,$7400
82,$7400
66,$8100,2,2,130
82,$7600
66,$8200
0,66,$8000,2
65,$8E00
]
DL=$8E00
—————-
Mittels DATA schreiben wir jetzt ein paar Daten in den Speicher ab Adresse $8E00. Diese Daten sind natürlich die Display-List, weshalb auch diese Adresse in die Speicherzellen 560 & 561 (DL) geschrieben wird.

Wer oben aufgepasst hat, wird bestimmt die 5 Variablen TEXT bis TEXT5 gesehen habe, die alle bei $8Exx liegen. Diese Variablen sind unsere Möglichkeit, die benötigten Änderungen der DL vorzunehmen, um zu scrollen. Sie enthalten immer die aktuelle „Position“ des jeweiligen Textes. Wenn Ihr ab $8E00 zählt, wisst Ihr genau, wo die entsprechenden Daten später in der DL geändert werden (jeweils bei 82,$xxxx). $xxxx müssen wir ja ändern, also müssen dort die Variablen sein.
—————-
X=1
RU=1
PMBASE=$90
—————-
Die Player sollen bei $9000 im Speicher
liegen…
—————-
* LOGO
DATA($A500)
[
0,0,0
1,70,70,70,70,70,70,70,70,70,70,70
3,70,70,70,70,70,70,70,70,70,70,70
70,4
0,0,0
0,0,0
5,6,6,6,6,6,6,6,6,6,6,7
8,9,6,6,6,6,6,6,6,6,6,6
6,10
0,0,0
0,0,0
5,6,6,6,6,6,6,6,6,6,7,11
11,8,9,6,6,6,6,6,6,6,6,6
6,10
0,0,0
0,0,0
5,12,13,14,15,16,17,16,18,19,20,21
22,23,24,25,26,27,28,29,29,30,31,32
33,10
0,0,0
0,0,0
5,34,35,36,37,38,39,40,41,42,43,44
45,46,47,48,49,50,51,52,53,54,55,56
57,10
0,0,0
0,0,0
5,6,6,6,6,6,58,59,11,11,11,11
11,11,11,11,60,61,6,6,6,6,6,6
6,10
0,0,0
0,0,0
5,6,6,6,6,62,63,71,71,71,71,71,71,71
71,71,71,65,66,6,6,6,6,6,6,10
0,0,0
0,0,0
67,68,68,68,68,68,68,68,68,68,68,68
68,68,68,68,68,68,68,68,68,68,68,68
68,69
0,0,0
]
—————-
Die Daten vom Logo. Da es ja eine Font-Grafik ist, haben wir
hier im Prinzip die einzelnen „Buchstaben“ in ihrem internen
Zeichencode.
—————-
DATA($8200)
[
128,128,128,128,128
128,128,128,128,128
128,128,128,128,128
128,128,128,128,128
128,128,128,128,128
128,128,128,128,128
128,128,128,128,128
128,128,128,128,128
]
—————-
Diese Daten stellen die Zeichen dar, die wir über und unter dem
Spielfeld sehen. Da es sich um eine Weiße Linie handelt, ist es
also ein inverses Leerzeichen, dessen interner Code 128 ist.
—————-
*P0
DATA($7000)
[
0
2,2,2,2,2,2,6,4,12,12,56,224
0
]
*P1
DATA($7010)
[
0
160,160,160,160,160,160,176,144,152
152,142,131
0
]
*P2
DATA($7020)
[
0
0,0,0,0,0,0,0,0,0,0,0,128
0
]
—————-
Das ist unser ATARI-Logo. Es besteht aus 3 Playern.
—————-
HPOS0=50
HPOS1=58
HPOS2=66
SIZEP0=0
SIZEP1=0
SIZEP2=0
POKE(53277,3)
GPRIOR=8
CHBAS=$A0
—————-
In die HPOS-Register der Player schreiben wir nun den passenden Wert, so dass das ATARI-Zeichen auch schön zusammen „klebt“. Die Player sollen normale Größe haben, also schreiben wir in die Größenregister eine 0. Mit dem Poke knipsen wir nun die Player an und dann setzen wir die Playfields 0 & 1 vor die Player. Die Basisadresse vom Zeichensatz wird in das CHBAS-Register geschrieben.
—————-
DATA($7400)
[
0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0
128
0,0,0,0,0,0,0,0,0,0
]
DATA($7500)
[
0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,202
128,128,128,200,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0
0,0,0,77,213,77,0,0,0,0
202,200,0,0,0,0,0,0,0,0
0,0,0,0,0,0,202,200,0,0
0,0,0,0,0,0,0,0,0,0
0,0,77,213,128,213,77,0,0,0
0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,202
128,128,200,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0
128,0,0,0,128,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0
0,77,213,128,213,77,0,0,0,0
]
DATA($7600)
[
0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0
0,0,128,0,0,0,0,0,0,0
0,72,74,0,0,85,128,85,0,0
0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,72
128,128,74,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,72
128,128,128,74,0,0,0,0,0,0
0,0,72,128,128,74,0,0,0,0
0,0,0,78,85,128,85,78,0,78
128,78,85,78,128,78,0,0,0,0
0,0,0,0,0,72,128,128,128,74
0,0,0,0,0,0,0,0,0,0
78,128,85,78,78,85,128,78,0,0
72,128,128,74,0,0,0,0,0,72
128,128,128,128,74,0,0,0
0,0,0,0,0,0,0,0,0,0
0,72,74,0,0,0,73,128,79,0
]
—————-
Diese 3 Zahlenkolonnen sind unsere Hindernisse.
—————-
DLI(LOGO)
-1
TEXT=$7400
TEXT1=$7400
TEXT2=$7400
TEXT3=$7400
TEXT4=$7500
TEXT5=$7600
COUNT2=4
COUNT=4
LEN=0
LEN2=0
LEN3=0
B=140
.SETPL
—————-
Der DLI wird eingeschaltet. Eine Sprungmarke wird gesetzt. Hier wird wieder hingesprungen, wenn noch mal gespielt werden soll. Nun Werden die Anfangsadressen der Scroll-Texte gesetzt und die Zählvariablen gesetzt. B ist die Bildschirmzeile (oder auch Höhenposition) unseres Players am Start und mit .SETPL zeichnen wir das ATARI-Zeichen.
—————-
DMA=58
BS=$8000
POS(5,0)
?(„Trigger druecken zum Starten“)
FERTIG=0
REPEAT
.BALKEN
ATRACT=0
UNTIL STRIG0=0
POS(5,0)
?(“ „)
ZAEHL=0
—————-
Der Bildschirm samt P/M-Grafik wird nun wieder eingeschaltet. Damit wir mit den Printbefehlen arbeiten können, wird die Adresse für den Bildschirm gesetzt. Damit der Bildschirm nicht so langweilig aussieht setzten wir den Balken ums Logo in Bewegung und passen auf, dass der „Bildschirmschoner“ nicht anspringt. Wenn der Feuerknopf von Joystick 0 gedrückt wurde, löschen wir den Hinweis zum Drücken wieder und der Entfernungszähler wird auf 0 gesetzt.
—————-
VBI(SCROLL)
HITCLR=0
ENDE=0
REPEAT
.KOLLTEST
.BALKEN
.ATRACT=0
UNTIL ENDE=1
—————-
Jetzt geht´s los! Mit dem VBI scrollen wir die Landschaft und in der Schleife testen wir, ob eine Kollision zwischen Player und Landschaft stattgefunden hat. Der Balken wird auch weiterbewegt und auch hier soll der Bildschirmschoner nicht anspringen. Bei Kollision wird ENDE 1 und wir verlassen die Schleife.
—————-
POS(10,0)
?(ZAEHL,“m geschafft“)
POS(10,1)
?(„Noch einmal J/N?“)
I=0
KEY=255
REPEAT
.BALKEN
IF KEY=1
CLR($80,1)
CLR($90,8)
JUMP(1)
ENDIF
IF KEY=35
I=1
CLR($80,1)
ENDIF
UNTIL I=1
CALL(0,0,0,$E474)
ENDMAIN
—————-
Wenn wir also eine Kollision hatten, schreiben wir die geschaffte Entfernung auf den Bildschirm und fragen nach, ob noch ein Spiel gewünscht ist. Wenn auf J gedrückt wurde (KEY ist dann 1) löschen wir den Bildschrim mittels CLR und dann springen wir zu unserer Sprungmarke zurück. Der Balken wird auch hier angezeigt. Leider habe ich hier vergessen den Bildschirmschoner abzuschalten ;( Wenn auf N gedrückt wurde verlassen wir die Schleife und mittels CALL führen wir einen Reset aus, um zurück ins Menüprogramm zu kommen.
—————-
INTER SCROLL
BEGIN
.BUTTON
IF COUNT>0
COUNTELSE
COUNT=4
ADD(TEXT4,1,TEXT4)
ADD(TEXT5,1,TEXT5)
LEN3+
LEN2+
ADD(ZAEHL,1,ZAEHL)
ENDIF
IF ZAEHL>2000
IF COUNT2>0
COUNT2-
COUNT2-
ELSE
ADD(TEXT,1,TEXT)
ADD(TEXT1,1,TEXT1)
ADD(TEXT2,1,TEXT2)
ADD(TEXT3,1,TEXT3)
COUNT2=4
LEN+
ENDIF
ELSE
IF COUNT2>0
COUNT2-
ELSE
COUNT2=4
ADD(TEXT,1,TEXT)
ADD(TEXT1,1,TEXT1)
ADD(TEXT2,1,TEXT2)
ADD(TEXT3,1,TEXT3)
LEN+
ENDIF
ENDIF
IF LEN=61
LEN=0
TEXT1=$7400
TEXT2=$7400
TEXT=$7400
TEXT3=$7400
ENDIF
IF LEN2=200
TEXT4=$7500
LEN2=0
ENDIF
IF LEN3=220
TEXT5=$7600
LEN3=0
ENDIF
DLI(LOGO)
ENDVBI
—————-
Das ist nun der Scroll-VBI. Hier wird zunächst getestet, ob der Feuerknopf gedrückt wurde und dann dort auch der Player gesetzt. COUNT zählt die möglichen HSCROLL-Werte durch, Wenn wir bei 0 angekommen sind, muss der Text um ein Byte nach Links verschoben und COUNT wieder hochgesetzt werden. LENx ist unser Zähler, ob der TEXT schon durchgescrollt wurde, deshalb muss auch dieser Wert erhöht werden, da wir ja um ein Byte weiter sind. ZAEHL wird auch erhöht, da wir ja „einen Meter“ weiter sind. Wenn wir 2000 Meter geschafft haben, soll´s etwas schwerer werden, also wird dann schneller gescrollt (COUNT wird schneller runtergezählt). Sollte LENx den Maximalen Wert haben (hängt von der Länge unserer Texte ab), muss der dazugehörige Text wieder auf Anfang gesetzt werden – LENx natürlich auf 0, damit alles nahtlos weiter geht. Da wir verschachtelte DLIs haben setzen wir sicherheitshalber nochmals den ersten DLI hier ein, da es auch mal vorkommen könnte, dass durch Tastendrücke, oder andere Störungen unser XL die DLIs nicht in 1/50 Sekunde komplett beenden kann. In einem Solchen Fall würde auf dem Bildschirm nur noch Müll entstehen.
—————-
INTER STOP
BEGIN
ENDVBI
—————-
Hier geschieht eigentlich nichts. Diesen VBI brauchen wir für die Zeit, wo das Spiel zu ende ist und wir fragen, ob noch eines gestartet werden soll – hier soll die Landschaft schließlich nicht weiterscrollen.
—————-
INTER LOGO
BEGIN
PUSH
POKE($D400,57)
CHBASE=$A0
F1=$1A
F2=$08
F3=$F6
F4=$14
F0=0
M=0
REPEAT
SYNC(1)
M+
UNTIL M=X
F0=16
IF RU=0
SYNC(1)
F0=20
SYNC(1)
F0=24
SYNC(1)
F0=20
SYNC(1)
F0=16
JUMP(10)
ENDIF
F1=16
F2=16
F3=16
F4=16
SYNC(1)
F0=20
F1=20
F2=20
F3=20
F4=20
SYNC(1)
F0=24
F1=24
F2=24
F3=24
F4=24
SYNC(1)
F0=20
F1=20
F2=20
F3=20
F4=20
SYNC(1)
F0=16
F1=16
F2=16
F3=16
F4=16
-10
FERTIG=1
SYNC(1)
F0=0
F1=$1A
F2=$08
F3=$F6
F4=$14
SYNC(0)
DLI(FARBE)
PULL
ENDDLI
INTER FARBE
BEGIN
PUSH
POKE($D400,58)
CHBASE=224
POKE(53272,0)
POKE(53271,14)
ADD(66,B,I)
PCOL0=I
PCOL1=I
PCOL2=I
HSCROL=COUNT
SYNC(1)
DLI(SCR1)
PULL
ENDDLI
INTER SCR1
BEGIN
PUSH
HSCROL=COUNT2
DLI(SCR2)
PULL
ENDDLI
INTER SCR2
BEGIN
PUSH
HSCROL=COUNT
DLI(FARBE2)
PULL
ENDDLI
INTER FARBE2
BEGIN
PUSH
F3=0
F2=10
SYNC(0)
DLI(LOGO)
PULL
ENDDLI
—————-
Hier haben wir unsere DLIs. Am meisten tun wir im LOGODLI. Hier wird ja auch der Balken hoch und runtergescrollt und auch noch mal vor und mal hinter dem Bild. Die Routine Balken liefert uns hierzu immer die benötigten Informationen. In X ist die Höhe des Balkens zu sehen, da wir genau x mal synchronisieren – sprich nichts tun – und dann erst die Farben ändern. Dank RU wissen, wir, ob´s hoch oder runter geht. Wenn´s hoch geht, ist´s am einfachsten, nur die Hintergrundfarbe muss geändert werden, da dann der Balken hinter dem Bild ist. Da das Hauptprogramm ja den Balken „berechnet“ müssen wir es ausbremsen, da der DLI ja seltener ausgeführt wird, als das Programm „rechnen“ kann – dies machen wir mit FERTIG=1. Nur wenn FERTIG auf eins gesetzt ist ändert BLAKEN später die Werte.

Am Ende schreiben wir noch die Adresse für den nächsten DLI ein. Da wir für das Logo einen kleinen Bildschirmausschnitt genommen haben, müssen wir das jetzt ändern – POKE ($D400,58). Der Zeichensatz muss nun auch geändert werden, hier nehmen wir den Systemzeichensatz. Dann wird hier noch die Farbe des Players gesetzt und die oberste Zeile gescrollt. In SCR1 scrollen wir nur den mittleren Balken und in SCR2 dann die unterste Zeile. Farbe2 setzt dann die Farben für die Textzeilen unter dem Spielfeld.
—————-
PROC KOLLTEST
BEGIN
IF P2PF=4
ENDE=1
VBI(STOP)
HITCLR=0
ELSE
IF P1PF=4
ENDE=1
VBI(STOP)
HITCLR=0
ELSE
IF P0PF=4
ENDE=1
VBI(STOP)
HITCLR=0
ELSE
HITCLR=0
ENDIF
ENDIF
ENDIF
ENDPROC
—————-
Hier testen wir nun, ob es eine Kollision zwischen Player und Hindernis gab. Da unser Player aus 3 Playern besteht, müssen wir das auch jeweils für die einzelnen Player tun. Wenn es eine Kollision gab, setzen wir ENDE auf eins und der STOP-VBI wird gestartet.
—————-
PROC SETPL
BEGIN
PLAYER($94,B,14,$7000)
PLAYER($95,B,14,$7010)
PLAYER($96,B,14,$7020)
ENDPROC
—————-
Hier kopieren wir unsere Playerdaten an die nötige Stelle auf dem Bildschirm.
—————-
PROC BUTTON
BEGIN
IF STRIG0=0
B-
.SETPL
B-
.SETPL
B-
.SETPL
ELSE
B+
.SETPL
ENDIF
ENDPROC
—————-
Wenn der Feuerknopf gedrückt wurde, schieben wir den Player 3 mal nach oben – So haben wir auch noch eine Chance schneller zu sein, als die Zeichen ankommen 🙂 Ansonsten „fällt“ der Player eine Zeile nach unten.
—————-
PROC ZSLOAD
BEGIN
CLOSE(1)
OPEN(1,4,0,“D1:LOGO.FNT)
BGET(1,1024,$A000)
CLOSE(1)
ENDPROC
—————-
Hiermit laden wir den Zeichensatz für das Logo von Diskette nach.
—————-
PROC INTRO
BEGIN
POKE(712,148)
POKE(710,0)
POKE(709,10)
CLR($A7,2)
DATA($A700)
[
112,112,112,66,$A800,240
66,$AA00,2,2,2,2,2,2
112,66,$A828
0,2,0,2,0,2,0,2,0,2,0,2,112,2
112,112,112,2
65,$A700
]
DATA($AA00)
[
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
128,128,128,128,0,72,128,128,74
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,128,0,128,200,202,128
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,128,0,0,0,0,128
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,72,200,0,0,0,128,89
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,72,200,0,0,0,0,0,128
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,128,0,0,0,128,74,72,128
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,128,0,0,0,202,128,128,200
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
]
DLI(EINF)
BS=$A800
DL=$A700
POS(0,0)
?(“ WELCOME TO THIS ABBUC MAG“);
?(„AZINE! „)
POS(0,1)
?(“ THIS TIME WITH A NEW STYLE „);
?(„OF INTRO. „)
POS(0,2)
?(„—- YOU’LL BE WATCHING A G“);
?(„AMETRO —-„);
POS(0,3)
?(“ GREETINGS FLY TO RESERVOI“);
?(„R GODS „)
POS(0,4)
?(“ WHO INSPIRED ME MAKING TH“);
?(„IS 🙂 „)
POS(0,5)
?(“ & TO ALL THE REST OF Y“);
?(„OU „)
POS(0,6)
?(„—————————–„);
?(„———–„);
POS(0,7)
?(“ SPECIAL GREETINGS TO MY GIRLF“);
?(„RIEND!!!! „);
POS(0,8)
?(“ (p)12. – 17. July in 2003 b“);
?(„y PP’s „)
POS(0,9)
?(“ NOW PRESS THE BIG KEY!!!“)
DMA=34
KEY=255
REPEAT
UNTIL KEY=33
DMA=0
POKE(712,0)
ENDPROC
—————-
Hier haben wir den Einführungsbildschirm – oder auch Introscreen 😉
DATA($A700) stellt die Displaylist dar und in DATA($AA00)
haben wir die Daten für die 73.
Unten warten wir noch in der Schleife auf den Druck auf SPACE (Key=33).
—————-
INTER EINF
BEGIN
PUSH
ATRACT=0
F3=148
SYNC(57)
F3=0
SYNC(0)
PULL
ENDDLI
—————-
Noch ein kleiner DLI. Diesmal für die Gestaltung des Intros.
—————-
PROC BALKEN
BEGIN
IF FERTIG=1
FERTIG=0
IF RU=1
IF X<73
X+
ELSE
RU=0
ENDIF
ELSE
IF X>1
XELSE
RU=1
ENDIF
ENDIF
ENDIF
ENDPROC
—————-
Hier wird, wenn der DLI FERTIG ist mit dem „zeichnen“, der Balken runter- bzw. hochgeschoben.

So, das war´s. Jetzt haben wir den Code durchgearbeitet… Noch ein paar Anmerkungen: Ich habe einiges hier noch nicht optimiert. Es wäre zum Beispiel nötig noch die DLIs und VBIs zu entschlacken, d.h. möglichst viele IFs und auch Schleifen rauszunehmen, da man schon sehr nahe am Ende der zeitlichen Möglichkeiten ist. Gerade, wenn man Schleifen einbaut, läuft vieles über die Runtime, wird also nicht mehr „direkt“ in Assembler umgesetzt. Das kostet Zeit, die man in den Interrupts einfach nicht hat. Wenn das Programm also erweitert werden soll, muss man hier anfangen. Ein guter Anfang wäre es z.B. den mittleren Balken anstatt per Scroller über den 4. Player zu realisieren. Das spart sehr viel Rechenzeit, da man hier nur noch das HPOS4-Register ändern muss. Ich habe noch viele Ideen, was man aus diesem kleinen Programm machen kann. Vielleicht setze ich mich ja hin und mache daraus noch ein komplettes Spiel 🙂 Für mich war es einfach nur mal eine Übung mit der P/MGrafik, da ich bisher nicht damit gearbeitet hatte und irgendwie muss man das doch kapieren 😉

Ich hoffe, dass ganze hat Euch ein wenig gefallen und vor allem Euch beim Umgang mit QUICK weitergeholfen. Wenn noch Fragen sind, kann ich Euch gerne helfen. Auf meiner Webseite findet Ihr noch ein paar Sourcecodes, allerdings ohne Kommentare.

Grüße aus Berlin, PP´s of STARSOFT Berlin (Ralf Patschke)
—————-
email: ralf@ppsberlin.de ICQ: 48897143 AIM:Rabiator74
www.ppsberlin.de
Den Sourcecode findet Ihr auf der Magazindiskette

Das Innenleben von Netzwerk-Spielen:

(vo
n Jiri Bernasek / Bewesoft)
Vorbemerkung: Wie übersetzt man einen Text, der im Original in „gebrochenem“ Englisch vorliegt? Etwa in ebenso „gebrochenem“ Deutsch? Oder absolut perfekt, so dass niemand beim Lesen der Übersetzung merkt, dass im Originaltext zum. Teil. doch etwas anderes stand? Wieder einmal mehr entsteht so die Streitfrage, ob man denn einen Text in einer fremden Sprache wörtlich oder eher inhaltlich übersetzen sollte. Ich habe mich für die inhaltliche Übersetzungsform entschieden und zugleich versucht den Text in halbwegs verständlichem Deutsch wiederzugeben (an einigen Stellen ist mir das aber leider nicht so ganz gelungen; man möge mir das verzeihen oder eben den Originaltext in englisch oder tschechisch lesen)… A.M.

Vor etwa zwei Jahren veröffentlichte ich ein Netzwerk- Listing damit man noch mehr solche Spiele schreiben könnte, allerdings war ich damit scheinbar nicht in der Lage anderen Atarianern wirklich zu helfen. Obwohl ich jede Menge Fragen beantwortete und obwohl ich sogar einen Teil des Multi Dash Sourcecodes an einen bestimmten Mann (=> T.Butschke) weitergab, sieht es so aus, dass niemand in der Lage war ihn zu nutzen. Nunja, es gibt da eine ganze Menge Dinge drum herum zu erklären und unglücklicherweise war auch das Netzwerksystem von Multi Dash nicht sonderlich dazu geeignet, um in anderen Spielen benutzt zu werden…

In diesem Jahr habe ich ein anderes Netzwerk Spiel geschrieben, genannt Multi Race und diesmal habe ich euch nicht vergessen. Das neue und erweiterte Netzwerksystem das in diesem Spiel benutzt wurde ist relativ universell und nun veröffentliche ich es in Form eines simplen Beispiel-Spiels genannt Multi Worms (16 hungrige Würmer, die Äpfel essen) mitsamt voll kommentiertem Quelltext. Doch wie dem auch sei, es gibt da immer noch weitere Dinge zu erklären – und das ist der Grund weshalb ich nun in meine Tastatur hämmere… Nun, lasst mich zuerst einige Charakteristiken eines guten Atari 8Bit Netzwerk-Spieles aufzählen. Natürlich sollte es ein Spiel sein, das auf mehreren miteinander verbundenen Computern arbeitet und es verschiedenen Leuten erlaubt zusammenzuspielen. Aber außerdem sollte das Spiel voll spielbar auf einem Einzel- Computer sein, so wie jedes andere Atari 8Bit Spiel.

Die Netzwerk-Verbindung ist eigentlich nur für einige wenige Computer-Meetings, doch wir wollen das Spiel „universell nutzbar“ haben. Für die Hardware Anforderungen sollte das Spiel auf einer normalen 64k Maschine laufen und irgendwie auch von Tastatur spielbar sein. Warum? Stellt euch ein typisches Atari- Meeting vor: 9 Rechner in einem Raum (nur drei mit großem Speicher) und nur vier mit Joysticks. In solch einer Situation sind die kleinen Anforderungen eine sehr wichtige Sache. Das Spiel sollte sich ebenso selbst in andere Rechner übertragen, ohne dass es erforderlich ist, mit einer Diskette herumzurennen. Das Netzwerksystem sollte irgendwie „idiotensicher“ sein, soll heißen es sollte einer großen Reichweite von Fehlern begegnen, ohne dass irgendwelche fatale Störungen für das Spiel der anderen Spieler auftreten und ohne die Notwendigkeit einer Intervention durch den Anwender. (Die Fehler von denen ich spreche können in etwa so aussehen: An/Ausschalten von Terminal-Systemen, drücken der Reset-Taste, Abtrennung von Computern, Versuche andere Netzwerkspiele zu starten, ungewolltes abschalten des elektrischen Stroms eines halben Raumes, Datenverluste verursacht durch anfällige Netzwerk-Verbindungen, verdreckte Verbindungen, etc. – alles zu jedem möglichen Augenblick…) Und von alledem einmal abgesehen sollte das Spiel lustig, interessant und spielbar sein ! (Dies ist immer der schwierigste Teil.)

So, nun ist es beinahe an der Zeit, um das Innenleben eines Netzwerk-Spieles anzuschauen – aber zuerst muss ich noch eine Sache sagen: Es ist unmöglich vorhandene Spiele derart zu verändern, um dann eine Netzwerk-Version zu erhalten! Ein Netzwerk-Spiel muss auf einem speziellen Weg von Anfang bis Ende geschrieben werden, ansonsten gibt es keine andere Möglichkeit…

Da der darauf folgende Text sehr detailliert und technisch ist und unter anderem auf verschiedene Speicherbereiche des Atari Computers, die Atari 8bit Chips (Pokey, Antic, GTIA) und vieles andere mehr eingeht und sogar noch zahlreiche Assembler Sources enthält, werde ich hiervon nur eine Zusammenfassung (oder einen Überblick) darstellen bzw. übersetzen. Die meisten Leute würden den Inhalt ohne gute Computer Kenntnisse sowieso nicht verstehen, während es den Assembler Profis wohl nicht allzu schwer fallen wird, den englischen Original-Text zu lesen. Hinzu kommt, dass der Text mit 12 Seiten nicht nur furchtbar lang war, sondern dass auch ich vieles nicht so recht verstehe, geschweige denn übersetzen kann… A.M.

– Die serielle Leitung am Atari: Jiri erklärt hier die grundsätzliche Funktionsweise des Pokey Chips, sowie die unbedingte Notwendigkeit zwei Soundkanäle zusammenzulegen, um somit einen 16Bit Kanal und exaktes Timing zu erhalten (was für die Multilink-Spiele nun mal notwendig ist)…
– Leben und Arbeiten mit serieller Ein/Ausgabe: Dieser Abschnitt beschäftigt sich mit den Problemen in Sachen Interrupts und allem was damit irgendwie zusammenhängt, also IRQ, NMI, DLI, VBI und dergleichen mehr…
– Die Grundzüge von Spiele-Netzwerken: Es geht hier um die Grundprinzipien von Netzwerkspielen, die bei jedem solchem Spiel vorhanden sein sollten. Jiri unterteilt sie in zwei Gruppen: a) Moving Players und b) Grafik- und Sound Präsentation, wobei er sich dann ausschließlich mit ersterem beschäftigt, weil ihm letzteres für die einwandfreie Funktion eines Netzwerkes nicht gar so wichtig erscheint. Er weist auch mehrfach darauf hin, wie wichtig es ist, dass alle Operationen, alle Formen von Datenaustausch, usw. grundsätzlich auf allen Computern und exakt in der gleichen Art und Weise stattfinden müssen, um ein stabiles Netzwerk zu gewährleisten…
– Das universelle Netzwerk-Modul: Tja, hier geht Jiri auf den Source Code des schon erwähnten Spieles Multi Worms ein, wobei er ihn nicht nur allgemein kommentiert, sondern auch in Auszügen (Assembler Sources) wiedergibt und Zeile für Zeile erklärt. Das benötigt jede Menge Platz und es versteht sich von selbst, dass hierfür gute Assembler Kenntnisse von Nöten sind und man sich den Multi Worms Sourcecode einmal ansehen sollte (oder für diesen Abschnitt sogar vorliegen haben sollte). Am Ende des Abschnittes geht er noch auf die Joystickbelegung und -abfrage, sowie auf die von ihm gewählte Tastaturbelegung (die er von Dynakillers übernommen hat) ein…
– Programmieren eigener Netzwerk-Spiele: Hier erklärt Jiri, wie man eigene Spiele für das Netzwerksystem programmieren kann, wobei er natürlich darauf hinweist, dass man das von ihm erstellte Netzwerk- Modul für seine eigenen Programme verwenden darf (aber wenigstens auf ihn als Urheber dieses Programmmoduls hinweisen sollte). Hauptsächlich beschäftigt er sich aber mit dem zur Verfügung stehenden Speicherbereich des kleinen Atari. So erfährt man nicht nur, dass das OS abgeschaltet werden muss und man dafür dann die Bereiche $0400-$CFFF und $D800-$FFF9 frei zur Verfügung hat, man erfährt auch alle Details welche Adressen man nicht benutzen darf (z.B. die I/O Adressen $D000-$D7FF) und welchen Adressen (Reset-Routinen und Vektoren) man besondere Beachtung schenken sollte. Es folgt eine kleine Übersicht, wie das eigene Netzwerkprogramm in etwa aufgebaut sein sollte und anschließend eine sehr detaillierte und mehrere Seiten lange Auflistung von Programmvariablen. Dabei handelt es sich um jene Variablen, die man seiner Meinung nach unbedingt in einem Netzwerkspiel eingebaut haben sollte und natürlich erklärt Jiri auch wofür sie gedacht sind…
– Final Words / letzte Worte: Hier weist Jiri noch mal auf den Sourcecode von Multi Worms hin und darauf, dass man ihn in irgendeiner Weise bei Netzwerkspielen erwähnen sollte, die sein komplettes Grundgerüst (das Netzwerk-Modul) oder Teile davon enth
alten…

Mit einer letzten Danksagung und dem Statement „happy coding!“ (in etwa: Viel Spaß beim Programmieren!) endet dann der 12-seitige englische Text. Wer es nicht glaubt, der kann ihn nun ja im Original lesen (auf der ABBUC Disk!) und wird dann hoffentlich feststellen, dass er wirklich sehr lang, sehr detailliert, sehr technisch und insbesondere für Laien (wie mich) sehr schwer zu verstehen ist. Daneben könnt ihr noch die Spiele „Multi-Race“ und „Multi-Worms“ anschauen und testen (*.COM) und bei Interesse auch die Assembler Sources und das fertige Netzwerk-Modul (*.ARC) etwas näher unter die Lupe nehmen und analysieren.

Wer weiß, vielleicht entstehen auf diese Weise noch weitere Netzwerk-Games, die nicht von Bewesoft stammen. Ich wünsche euch auf jeden Fall viel Spaß mit der Software…

Andreas Magenheimer

Spieletest

Im letzten Magazin hatten wir vom Wiesbaden Gaming Lab uns ja schon vorgestellt. In diesem Magazin folgt unser erster Spieletestbericht. Auch in den folgenden Ausgaben möchten wir euch mit neuen Testberichten versorgen. Priorität haben dabei Neuerscheinungen. Sollten uns die Neuerscheinungen ausgehen, werden wir auch auf altbekannte oder weniger bekannte Spiele ausweichen.

Heute stellen wir euch die uns bekannten Multiplayer- Games vor, für die man das Multijoy-Interface benötigt: CardGrabber, Sheep Race, Bremspunkt, Cervi, Shot ‚em all, Quadtron M4, Multris. Das Multijoy-Interface ist eine Erfindung des tschechischen Entwicklers Raster, der seine Erweiterung 1998 das erste Mal präsentierte. Das Interface wird an die Joystickbuchsen des XL oder XE angeschlossen. Es ist ein Kasten mit, je nach Ausführung, 4, 8 oder 16 eigenen Joystickbuchsen. Nähere Informationen und einen Bauplan findet ihr auf http:// www.infos.cz/raster/atari/hw/multijoy.htm (leider nur in tschechisch).

Cervi
Das erste Spiel, welches erschien, war Cervi. Seinerzeit revolutionär – 8 Spieler spielen mit 8 Joysticks an einem Rechner – das gab’s bis dahin noch nie. Das Spielprinzip ist jedoch altbekannt: Tron. Jeder Spieler steuert eine Schlange bzw. einen Wurm, der mit der Zeit immer länger wird. So wird es mit fortschreitender Spieldauer immer enger auf dem Spielfeld und damit immer schwieriger den länger werdenden Leibern auszuweichen. Spieler, die gegen den Leib eines Mitspielers, den eigenen Leib oder gegen die Randbegrenzung steuern, scheiden aus. Der erste der ausscheidet bekommt einen Punkt, der zweite zwei Punkte, der dritte drei, usw. Der Spieler, der bis zuletzt auf dem Spielfeld verbleibt, ist der Gewinner der Runde. Danach beginnt eine neue Runde. Alle Mitspieler werden wieder zufällig auf dem Spielfeld verteilt. Gespielt wird so lange bis der erste eine voreingestellte Punktzahl erreicht hat.

Im Auswahlmenü, das nach dem Laden erscheint, lässt sich die Zielpunktzahl einstellen. Es lässt sich auch die Spielgeschwindigkeit einstellen. Auch die anderen Einstellungsmöglichkeiten bieten lustige Varianten, z.B. ob die „Leichen“ nach dem Ableben eines Mitspielers verschwinden oder zur Erschwerung auf dem Spielfeld verbleiben. Das Auswahlmenü ist zwar vollständig in tschechischer Sprache, was jedoch keine größeren Schwierigkeiten bereitet. Man probiert einfach die verschiedenen Möglichkeiten aus (und lernt dabei nebenbei etwas tschechisch ;-). Grafik und Sound des Spieles sind einfach gehalten, was dem Spielspaß jedoch in keinster Weise schadet. Auf unzähligen RAF- und WGL-Treffen haben wir mit anhaltender Begeisterung dieses tolle Spiel gespielt. Wünschenswert wäre lediglich noch ein Modus, der den XL ohne Multijoy-Interface unterstützt, beispielsweise zwei Spieler, die mit Joysticks spielen können und zwei, die mit der Tastatur spielen.

Bewertung:
Bunsen: 10 von 10 Punkten
Mad Butscher: 10 von 10 Punkten
WGL-Bewertung: * * * * *
Bezugsquellen:
Flop-Magazin Nr. 41
ABBUC-Magazin Nr. 66
www.infos.cz/raster/atari/hw/multigam.htm


Bremspunkt
Das nächste Spiel, welches wir vorstellen, ist Bremspunkt. Dieses Spiel hat Mad Butscher ein Mitglied des Wiesbaden Gaming Lab geschrieben. Der Rest des WGL war als beta-Tester tätig. Unsere Bewertung ist deshalb vielleicht nicht ganz objektiv… Das Spiel wurde von Foundation Two im Jahre 2002 herausgebracht. Neben dem schon erwähnten Programmierer Mad Butscher waren noch Beetle mit der Titelmusik und Mr. XY mit der Entwicklung des Zeichensatzes beteiligt.

Bremspunkt ist ein Autorennspiel im Stile des altehrwürdigen VCS-Spieles Indy 500. Man überblickt die gesamte Rennstrecke von oben. Im Gegensatz zu Indy, welches man zu zweit spielt, spielt man Bremspunkt zu viert. Jeder Mitspieler steuert einen Rennwagen über einen an das Multijoy-Interface angeschlossenen Joystick. Bremspunkt ist kein Vollgas- Rennspiel. „Wer bremst verliert“ gilt hier nicht. Die Rennwagen beschleunigen von allein und man kann sich so völlig auf das Bremsen mit dem Feuerknopf und das Steuern konzentrieren. Es dauert schon einige Zeit bis man sich an die etwas schwerfällige Steuerung gewöhnt hat, aber dann warten packende Rennen auf die Spieler. Die Anzahl der zu fahrenden Runden wird im Startscreen eingestellt, der mit einer fetzigen Musik untermalt ist (na, wer erkennt sie? Es ist eine Umsetzung aus einem bekannten Atari ST-Spiel).

Bewertung:
Bunsen: 8 von 10 Punkten
WGL-Bewertung: * * * *
Gewinner im ABBUC-Programmierwettbewerb „Best
of Show 2002″
Bezugsquellen:
ABBUC-Magazin Nr. 71
http://www.foundationtwo.de
Screenshot:


Sheep Race
Sheep Race wurde genauso wie CardGrabber 2002 von Florian Dingler programmiert. Sheep Race ist, wie es der Name schon sagt, ein Schaaf-Rennen. Jeder Mitspieler steuert ein Schaf. Für jeden Schritt, der mit einem Druck auf den Feuerknopf ausgelöst wird, muss der Spieler sein Schaf erst in die Laufrichtung drehen. Drückt man falsch, macht das Schaf, je nach Schwierigkeitsgrad entweder einen Schritt zurück oder bewegt sich gar nicht. Das Spiel besticht durch die witzige Spielidee und gute Spielbarkeit. Eine Titelmusik wäre jedoch wünschenswert gewesen.
Bewertung:
Bunsen: 7 von 10 Punkten
Mad Butscher: 7 von 10 Punkten
WGL-Bewertung: * * * *
3. Platz im ABBUC-Programmierwettbewerb
„Best of Show 2002“
Bezugsquellen:
ABBUC-Magazin Nr. 71
http://www.akk.org/~flo/games.html


CardGrabber
CardGrabber beinhaltet ebenfalls eine interessante Spielidee. Die Spieler „grabschen“ sich die vom Computer ausgespielte Karte eines Skatblattes, wenn sie die gleiche Karte auf ihrer „Hand“ haben. Man hat dafür aber nicht unbegrenzt Zeit. Wenn ein Mitspieler schneller ist, geht man leer aus. Ebenso
, wenn man die voreingestellte Zeit überschreitet. Es ist also ein Reaktionsspiel mit Wettbewerbscharakter.
Bewertung:
Bunsen: 6 von 10 Punkten
Mad Butscher: 4 von 10 Punkten
WGL-Bewertung: * * *
4. Platz im ABBUC-Programmierwettbewerb „Best
of Show 2002″
Bezugsquellen:
ABBUC-Magazin Nr. 71
http://www.akk.org/~flo/games.html

Quadrotron M4
Quadrotron M4 hat eher Demonstrationscharakter. Es ist eine Anpassung eines schon in Atari- Urzeiten erschienen Spieles für das Multijoy- Interface. Das ursprüngliche Spiel wurde mit 4 Joysticks an einem 400/800er gespielt. Die Umsetzung ist für 4 Spieler, die über das Interface mit einem XL/XE verbunden sind. Jeder Spieler steuert einen Smiley, der tronlike einen Schweif hinter sich her zieht, mit dem man nicht in Berührung kommen darf. Das Spiel kommt in keiner Hinsicht an Cervi heran.
Bewertung:
Bunsen: 4 von 10 Punkten
Mad Butscher: 6 von 10 Punkten
WGL-Bewertung: * * *
Bezugsquelle:
http://www-users.rwthaachen.de/
mathy.van_nisselroy/stuff.htm


Shot ‚em all
Mit Shot ‚em all ist Raster wieder ein Volltreffer gelungen. Nach dem Laden blickt man auf einen grafisch einfachen aber interessanten Startscreen mit wirklich guter Musik. Das Auswahlmenü ist im Gegensatz zu Cervi in Englisch, ist also eher für die internationale Atari-Gemeinschaft gedacht.
Zum Spiel: Man stecke 8 Spieler (oder gar 16!) in ein Labyrinth und lasse sie alle gegeneinander antreten. „Jeder gegen jeden“ – für jeden Abschuss gibt es einen Punkt. Manchmal hinterlassen abgeschossene Spieler eine Kugel. Wenn man diese Kugel einsammelt, bekommt man Extrapunkte. Das Spiel ist ähnlich wie Cervi wieder sehr einfach, aber das Jagdfieber, welches einen befällt, wenn man das Spiel mit vielen Leuten spielt, wirft einen um. In Schreiersgrün saßen wir stundenlang vor diesem Spiel.
Bewertung:
Bunsen: 9 von 10 Punkten
Mad Butscher: 8 von 10 Punkten
WGL-Bewertung: * * * *
Bezugsquellen:
Flop-Magazin Nr. 46
http://www.infos.cz/raster/
atari/hw/multigam.htm


Multris
Multris schließlich ist ebenfalls von Raster (2001). Anhand des Namens kann man sich schon denken, worum es geht: Tetris zu mehreren. Das Spiel ist für das Multijoy4 ausgelegt. 4 Spieler spielen gegeneinander. Das Spielfeld ist übersichtlich für jeden Spieler angeordnet. Tetris muss wohl nicht näher beschrieben werden, deshalb gleich die Bewertung:
Bewertung:
Bunsen: 7 von 10 Punkten
WGL-Wertung: * * *
Bezugsquellen:
ABBUC-Magazin Nr. 66
Flop-Magazin Nr. 44
http://www.infos.cz/raster/atari/hw/multigam.htm


Habt ihr selbst Multijoy-Spiele programmiert, oder fehlt uns eines in der Sammlung? Über eine Email würden wir uns freuen.
Euer Wiesbaden Gaming Lab
http://wiesbadengaminglab.atari.org
Text: Bunsen

Atari Quiz

Wer kennt sich aus? Die Auflösung werden wir im nächsten Heft veröffentlichen
1. Die Zahl der Farben, die im Grafikmodus 5 vorhanden sind, ist:
(a) 5
(b) 4
(c) 6
(d) 3
(e) keine von diesen

2. Ein Programm im ATARI überprüft den Status eines Joysticks. Ein zurückgegebener Wert von 15 bedeutet, der Joystick wird gedrückt :
(a) nach Oben
(b) nach Unten
(c) nach Links-Oben
(d) nach Rechts
(e) keine von den oben genannten

3. Wenn Du ein Programm auf Kassette abspeicherst, solltest Du weniger als ? Sekunden für den Leader benutzen.
(a) 5
(b) 7
(c) 9
(d) 11
(e) keine von diesen

4. Eine Gleitkommazahl besteht aus:
(a) Mantisse und Bruch
(b) Mantisse und Exponent
(c) Bruch und Gleitkomma
(d) Exponent und Eigenschaft
(e) keines vom oben genannten

5. Welcher Wert wird zur Speicheradresse 53279 zurückgegeben, wenn der Startknopf betätigt wird?
(a) 1
(b) 3
(c) 5
(d) 7
(e) keiner von diesen

6. Welche von folgenden Aussagen treffen für den ATARI zu?
(a) FOR-/NEXT Schleifen laufen langsamer, je weiter abwärts sie im Programmcode stehen
(b) Obgleich REM-Zeilen ignoriert werden, belegen sie Speicherplatz
(c) Alle Datenwerte in den DATA-Angaben müssen mindestens einmal gelesen werden
(d) zwei von den oben genannten
(e) alle oben genannte
(f) keine von den oben genannten

7. Im ATARI Assembler hat welches Status Flag bei ADC- Mnemonik keinen Effekt?
(a) N
(b) V
(c) Z
(d) C
(e) keines von diesen

8. Welchen Buchstaben kennzeichnet die folgende binäre Darstellung?
00000000
00011000
00111100
01100110
01100110
01111110
01100110
00000000
(a) A
(b) E
(c) B
(d) R
(e) keinen von diesen

9. Auf dem ATARI ist der Frequenzwert 204 derselbe wie der der natürlichen musikalischen Note?
(a) C #
(b) D #
(c) C
(d) D
(e) keine von diesen

10: LOAD verhält sich zu SAVE wie ENTER zu ?
(a) LIST
(b) STORE
(c) RUN
(d) PEEK
(e) keines von diesen

11. Der Befehl POP: im ATARI BASIC
(a) produziert ein kurzes, Klickgeräusch
(b) veranlasst BASIC zum Vergessen der letzten RETURNPOSITION
(c) verursacht eine Programmunterbrechung
(d) wird immer in einer Variable gespeichert, die COKE$ genannt wird
(e) keines vom oben genannten

12. Für welchen Befehl auf dem ATARI muss der Screen geöffnet werden?
(a) GET
(b) INPUT
(c) PEEK
(d) SEARCH
(e) keines von diesen

13. In welcher Rechnergeneration wurden Mikrominiatur-Integrierte-Schaltkreise eingeführt?
(a) erste
(b) zweite
(c) dritte
(d) vierte
(e) keine von diesen

14. Wie viele Register im ATARI zeigen Kollisionen an?
(a) 4
(b) 5
(c) 15
(d) keine von diesen

15. Der POKEY-Chip ist verantwortlich für:
(a) Umwandeln von Widerstandswerten in Zahlen
(b) Verfolgen von durchgeführten POKE Befehlen
(c) Buchen der Anzahl von Scan-Linien
(d) Überwachung der vorgewählten Kondensatoren
(e) keines vom oben genannten

16. Nehmen wir an, dass ein ATARI-800 System mit 40K RAM bestückt ist. Wenn das BASIC- Cartridge eingesteckt ist und Grafikmodus 0 (null), ohne zusätzliche Interfaces oder Diskettenlaufwerk benutzt wird, wie viel freier Speicher ist vorhanden?
(a) 34899 Bytes
(b) 35899 Bytes
(c) 36894 Bytes
(d) 37893 Bytes
(e) keines von diesen

17. Die Höchstzahl der Tex
tzeilen, die auf dem ATARI möglich sind, ist:
(a) 20
(b) 22
(c) 24
(d) 26
(e) keine von diesen

18. Direkte Referenz , indirekte Referenz, base/ displacement und Indexierung sind Wege um ? zu optimieren:
(a) Computerarithmetik
(b) Wort Organisation
(c) Speicherzugriff
(d) alles oben genannte
(e) keines vom oben genannten

19. Welche der folgenden Befehle erzeugen zufällige Ganzzahlen zwischen 10 und 100 einschließlich?
(a) 10 X = INT(RND(0) * 100 +1)-10
(b) 10 X = INT(RND(0) * 100 + l)-(RND(0)*10 + 1)
(c) 10 X = INT(RND(0) * 90 + 1) + 10
(d) 10 X = INT(RND(0) * 91 + 1) + 9
(e) keiner der aufgezählten

20. Basierend auf dem ATASCII-Zeichensatz, hat das Zeichen „+“ einen Hexadezimalwert von:
(a) 2A
(b) 3B
(c) 2C
(d) 23
(e) keiner von diesen

21. Schleifenwiederholung- und Adressen Änderung benutzen welches der folgenden Konzepte?
(a) Base/displacement
(b) Indirekte Adressierung
(c) Direkte Adressierung
(d) Indexierung
(e) keines vom oben genannten

22. In einem ATARI BASIC Programm gibt es den Befehl: 10 DIM TEN(7). Die Anzahl der adressierbaren Elemente, die TEN hat, ist:
(a) variabel
(b) 7
(c) 8
(d) 10
(e) keine von diesen

23. Ein IF Befehl, der überprüfen soll, ob die Feuerknöpfe an den beiden linken Joysticks (beim ATARI 800) gedrückt werden und das Programm anhalten soll, müsste wie aussehen?
(a) 10 IF STRIG(1)= 0 AND STRIG(2) = 0 THEN STOP
(b) 10 IF STRIG(1)= 1 AND STRIG(2) = 1 THEN STOP
(c) 10 IF STRIG(0)= 0 AND STRIG(1) = 0 THEN STOP
(d) 10 IF STRIG(0)= 1 AND STRIG(1) = 1 THEN STOP
(e) keiner von diesen

24. Es gibt zwei unterschiedliche Arten von Interrupts bei einer 6502 CPU. Sie sind:
(a) NMI and IRQ
(b) NIM and IRQ
(c) MNI and IRQ
(d) IMN and IRQ
(e) keine von diesen

25. Im ATARI bedeutet 32767:
(a) ist die größte ansprechbare Speicherposition
(b) ist die größte mögliche BASIC Zeilen Nummerierung
(c) ist der Wert, der in Speicherstelle 53257 gefunden wird, nachdem eine Kollision ermittelt wurde
(d) ist die Startadresse des Benutzerspeichers
(e) keine vom oben genannten

Game-Clones Vol. 11

Hmm, mir gehen so langsam die Ideen und Geschichten für diese Serie aus – nicht aber die zahlreichen Gameclones. Also werde ich euch heute einfach beschreiben, was ihr in den Games machen müsst:

1) Clash of Kings: Dies ist ein Spiel das man am ehesten als Mixtur aus Schach, Shogun und Ballerspiel bezeichnen kann. Wem das irgendwie bekannt vorkommt – klar, es handelt sich ja auch um einen Archon-Clone. Programmiert wurde das Spiel von Bryan Schappel und Barry Kolbe (BBK) und erschien vor vielen Jahren einmal in der amerikanischen Zeitschrift Analog Computing. Natürlich ist das Spiel sehr viel einfacher gehalten, als Archon. Es gibt zwar Könige in diesem Spiel (deshalb auch der Name Clash of Kings!), allerdings haben diese gegenüber ihren Vorbildern Wizard und Sorceress (bei Archon) keine magischen Fähigkeiten. Demzufolge gibt es keine Revive-Funktion, wenn eine Figur verloren wurde, auch kein Summon Elemental oder Teleport oder ähnliches ist vorhanden. Selbst die magischen fünf Power Points existieren in diesem Spiel nicht. Was man aber hat sind zweimal neun Figuren, die Figur vorne in der Mitte ist glaube ich der König. Gespielt wird zu zweit (ein Computergegner existiert nicht!) und man kann jeweils abwechselnd einen Zug machen, der genau ein Feld weit (waagrecht, senkrecht, diagonal) reicht. Treffen sich zwei Figuren auf dem gleichen Feld, dann erscheint wie bei Archon der Kampfscreen. Hier gilt es den Gegner mehrmals abzuschießen, bis er keine Energie mehr hat. Wer übrig bleibt darf dann das Feld besetzen. Das Ziel des Spieles besteht dann darin, entweder alle Figuren des Gegners zu besiegen oder aber nur den König zu schlagen. Da der König, wie erwähnt, zu Beginn des Spieles ganz vorne steht, sollte man ihn in Sicherheit bringen oder aber vorsichtig sein. Nunja, heutzutage dürfte wohl jeder ein Archon-Modul zuhause haben, so dass man Clash of Kings wohl eher selten spielen wird…

2) Outer Space: „Oh don`t send me outer space, to find another place…“,so oder so ähnlich lautete ein Techno/Dancefloor Song der 80er/90er Jahre. Hier handelt es sich lediglich um einen Space Invaders Clone. Was da dann zu tun ist, dürfte klar sein: ballern was das Zeug hält und Welle um Welle der Aliens niederringen…

3) Bank Panik: „BaBaBa, Bababa, Baba- Banküberfall, das Böse ist immer und überall…“ (Erste Allgemeine Verunsicherung). Das Game gab es früher mal als Automaten, dessen Name mir leider nicht mehr einfällt. Hier in Europa kennt man wohl am ehesten das Mirage-Game Bang Bank, welches das exakt gleiche Spielprinzip hat. Bei Bank Panik handelt es sich um ein Listing aus der alten Computer Kontakt, das von Basic („Please Wait Initializing!“) in ML gewandelt wurde. Man hat 9 Bankschalter und muss dafür sorgen, dass an jedem Schalter Geld eingezahlt wird. Böse Buben bzw. Bankräuber sollte man schnell abschießen (Joystick nach links, nach rechts oder nach oben), alle anderen Leute sollte man in Ruhe lassen. Da man immer nur 3 Schalter sehen kann, muss man hin und wieder den Feuerknopf drücken und gleichzeitig den Joystick nach links oder rechts bewegen, um die anderen Schalter zu sehen. Hat man es nach einer Weile geschafft, dass an allen 9 Schaltern Geld eingezahlt wurde, geht es in eine neue und schwierigere Runde.

Viel Spaß mit diesen Games.
Andreas Magenheimer.

ABBUC Bundesliga

Auf der Website des ABBUC wird eine Bundesliga im Bereich Spiele durchgeführt. Nähere Einzelheiten findet Ihr im Forum. Vielleicht hat ja der eine oder Andere unter Euch Lust mitzumachen. Am 4. Spieltag wurde Bilbo gespielt. Diesmal konnte es Mad Butscher / F2 für sich entscheiden und übernimmt damit auch die Führung in der Gesamtwertung. Den aktuellen Tabellenstand vom 28. September 2003 könnt Ihr unten stehend entnehmen.

4. Spieltag
1 Mad Butscher Foundation Two 26
2 Schmutzpuppe 24
3 MK 17
4 Wizard WGL 14
5 tWh Foundation Two 13
6 Bunsen WGL 11
7 Dietrich 9
8 Sleepy 6
9 R.I.K. Foundation Two 5
9 Grisu WGL 5
11 pps Starsoft 4
12 Uncle Harry RAF 3
13 Melvin 1
14 Bernd 0
14 Sage 0
14 Nicole Foundation Two 0

ABBUC Schulungen

Im Jahr 2004 bietet der ABBUC e.V. erstmalig ATARI-Computerschulungen an. Es sind bisher zwei Schulungen geplant, die Schulungen finden statt wenn die Mindestteilnehmerzahl (10) erreicht wird:

Schulung: Spiele Programmierung in TURBO-BASIC
Datum: 24. – 25. 1. 2004
Ort: Bielefeld oder Warendorf
Preis für Schulung, Unterkunft und Verpflegung: normal: 25 Euro
ABBUC Mitglieder/Schüler/Rentner: 15 Euro
Teilnehmerzahl: 10-20
Anmeldeschluss: 15. Dezember 2003
Vorraussetzung: ATARI 8-BIT Rechner inkl. Floppy (mitbringen)
Inhalt: TURBO-Basic Grundlagen, ATARI Speicher-Aufteilung und -Adressen, interaktive Grafik, Joystick/Paddle Abfrage, Bewegung auf dem Bildschirm, Bilder und Zeichensätze erstellen, Zeichensatzanimation, Kollisionen abfragen, Musik und Sound Im Laufe der Schulung wird ein vollständiges Run-and-Jump Spiel entwickelt.

Schulung:
C-Programmierung inkl. CC65
Datum: 27. – 28. 3. 2004
Ort: Bielefeld oder Warendorf
Preis für Schulung, Unterkunft und Verpflegung: normal: 25 Euro
ABBUC Mitglieder/Schüler/Rentner: 15 Euro
Teilnehmerzahl: 10-20
Anmeldeschluss: 15. Januar 2004
Vorraussetzung: PC (Desktop oder Laptop mit DOS, Windows, MacOS X oder Linux) und ATARI Emulator (mitbringen), Grundlegende Programmierkenntnisse Inhalt: C Grundlagen, Entwicklungsumgebung (Compiler, Assembler, Linker), GNU C Compiler, grundlegende Datentypen, Programmstrukturen, CC65 auf einem 8-BIT Rechner, Unterschiede zu 16/32 BIT C-Compilern, ATARI Spezialitäten

Anmeldungen bitte per E-Mail oder Post an:
Carsten Strotmann
ABBUC Programmers Group
carsten@abbuc.de
Weinbergstrasse 43
76669 Bad Schönborn

Weitere Informationen über die Schulungen senden wir Euch nach Anmeldung per Post zu. Über Rückmeldungen/Kritik zu diesem Angebot freuen wir uns jederzeit.

Software-Ideenpool Teil 1:

Hier ein paar Ideen und Vorschläge für Spiele, die man mal auf dem kleinen Atari umsetzen könnte. Die großen Computer oder Konsolen von denen einige dieser Spiele stammen, sollen dabei nur als Ideengeber herhalten. Keinesfalls werden an den Atari derart hohe Grafik- oder Sound-Ansprüche gestellt – wichtig ist einzig und allein das Spielprinzip bzw. dessen gute Umsetzung…

– Super Mario Bros.: Das Spiel Mario Bros. gibt es bereits für unsere Ataris, u. a. als XEGS Modul. Von Super Mario Bros. existieren bisher leider nur einige Clones, wie Monster Hunt (Action), Enrico 1+2 (Turbo-Basic) oder Bros. (kompiliertes Turbo-Basic). Vielleicht hat ja mal jemand Lust das Spiel in Assembler zu coden…


– Sonic: Das Spiel mit dem Igel, von dem bisher noch nicht mal Clones auf dem Atari existieren. Man könnte ja versuchen mit einem guten Zeichensatz- Editor und/oder Player/Missile Editor (wie bei Fred, Misja, etc.) wenigstens annähernd eine Umsetzung zu erreichen…
– R-Type: Das actiongeladene Ballerspiel mit schönen Endgegnern. Manche Atarianer meinen ja Zybex wäre ein guter Clone dazu
– ich bin da etwas anderer Ansicht. Wer hat Lust sich daran mal zu versuchen ?!?
– Shinobi: Hm, da kenne ich wohl nur den Automaten bzw. die 16Bit Version. Keine Ahnung, ob sich das auch auf dem Atari realisieren lässt. Aber wer weiß…

– Turrican: In der amerikanischen Newsgroup meinten einige Leute, dass sich recht viele C64 Games auf dem Atari realisieren lassen würden. Turrican wäre da allerdings eine Ausnahme bzw. ein „Ding der Unmöglichkeit“…


– The last Ninja: Stammt von System 3, wie auch die Games Dropzone, International Karate und International Karate Plus. Habe ich früher bei einem Freund auf dem C64 gespielt und obwohl ich den Commodore nicht mag, so hat mir dieses Spiel doch gefallen…
– Tempest: Nach diversen Clones (Livewire 1+2, etc.) könnte sich ja mal einer an das Original heran wagen – das ist nämlich alles andere als unmöglich auf dem Atari…
– Dino-War: Nennt sich u.a. auch „Primal Rage“. Doch gab es vorher ja schon div. Prügelspiele. Selbst für den kleinen Atari gibt es ein uraltes und ultralahmes Basic- Spiel mit Namen „Dino-War“ oder „Dino- Battle“, bei dem sich zwei T-Rex gegenü- berstehen und gegenseitig fertig machen sollen. War aber in Atari Basic umgesetzt und daher sehr laaanggsaaam. Mit mehr Viechern (Zeichensatz oder Players), mehr Moves und einer etwas schnelleren Programmiersprache sollte sich daraus mehr machen lassen. Als Hintergründe kann man ja Bilder (wie in Int. Karate) nehmen…


– Prince of Persia: Die Urversion stammt von demselben Typen, der auch Karateka programmiert hat. Gewisse Ähnlichkeiten dazu sind denn auch vorhanden (z.B. bewegt sich der Prinz genauso wie der Karateka und sieht auch fast genauso aus). Es dürfte wohl nicht allzu schwer sein, diese Urversion bzw. Teil eins auf den Atari umzusetzen…


– Galaga: Auf dem Atari gibt es dutzende Galaga Clones, wie Galaxian, Demon Attack und vieles andere mehr. Allein das Originalspiel Galaga gibt es leider nicht. Vielleicht mal Walter Lauer fragen, was an Galaga so besonders oder eben anders ist…


– Rick Dangerous: Habe ich mal auf dem ST gespielt. Es gibt aber auch eine C64 (und vermutlich eine Amiga) Version davon. Wie wäre es mit einer XLUmsetzung ?!?


– Myst, Syberia, etc.: Oh Gott, der Kerl spinnt !! Nein, es geht mir natürlich nicht um die grafisch perfekte Umsetzung eines PC-Adventures. Vielmehr sollte es ein Grafik-Adventure sein, bei dem man sowohl a) komplett ohne Parser (Texte), wie auch b) ohne Windows, Pull- Down Menüs oder Richtungspfeile auskommt. Man bewegt sich vielmehr – mit einer Hand o. ä. – innerhalb der Grafik und kann dort Dinge manipulieren, verändern, bewegen, etc. oder aber durch bewegen der Hand in eine bestimmte Richtung einen neuen Weg einschlagen und somit eine neue Grafik laden. Wichtig ist hier also das schon erwähnte Spielprinzip…

So, genug Vorschläge für heute. Wäre schön, wenn irgendwas davon mal realisiert werden würde. Ansonsten wäre dieser Text nämlich reine Platzverschwendung.
Andreas Magenheimer.

Cheat zu Archon

Wer das Atari Magazin vom Verlag Rätz kennt, der hat dort wohl den Cheat schon einmal oder öfter gelesen. Immerhin wurde er ja viermal im gleichen Wortlaut veröffentlicht. Nur: ich habe den Cheat mehrfach ausprobiert und er hat in dieser Form bei mir nie funktioniert. Vielleicht hatte der Autor eine andere Version oder aber eine andere Strategie, meinereiner hat a) ein Atari-XE-Modul (made in Taiwan) anstelle der Disk und b) den Cheat stets bei Two Players ausprobiert… Worum geht es?? Nun, man kann bei Archon mittels der Revive Funktion auch Figuren zurückholen, die man noch gar nicht verloren hat. Dies klappt beim schwarzen und weissen Magier (Wizard und Sorceress), allerdings muß dazu schon mindestens eine (!) Figur verloren sein und tja, es lassen sich stets nur weiße Figuren wiedergewinnen, auch wenn schwarz diesen Trick anwenden sollte…

Nun zum Eingemachten, man testet den Cheat am besten einmal in einem Two Players Probespiel, ehe man ihn im richtigen Spielverlauf einsetzt. Hierzu opfert man willkürlich eine weiße und/oder eine schwarze Figur. Je nachdem dann in welcher Reihe sich der Magier befindet, wenn man Revive anwählt, gibt es eine andere Figur. Die Farbe des Feldes (weiss, schwarz, veränderlich) spielt dabei keine Rolle (jedenfalls bei mir nicht), wichtig ist nur die Reihe, in der sich der Magier befindet. Die Reihen von oben nach unten ergeben:
– Archon (Titelschriftzug)
– 1. Reihe: rein gar nichts (sinnlos hier den Cheat zu nutzen !!)
– 2. Reihe: white Valkyrie (weiße Walküre)
– 3. Reihe: white Archer (weißer Bogenschütze)
– 4. Reihe: white Golem (weißer Golem)
– 5. Reihe: white Knight (weißer Ritter)
– 6. Reihe: white Unicorn (weißes Einhorn)
– 7. Reihe: white Knight (weißer Ritter)
– 8. Reihe: white Djinny (weißer Djinny/Flaschengeist)
– 9. Reihe: white Knight (weißer Ritter)

Es ist auffallend, dass die Ritter am häufigsten entstehen, dagegen der Wizard oder der Phönix nie. Jedenfalls war dies bei mir so. Um nun den Cheat durchzuführen, bewegt man den weißen oder schwarzen Magier in die entsprechende Reihe, opfert eine weiße und/oder schwarze Figur und klickt beim Magier daraufhin Revive an. Anstatt nun aber den Cursor auf die verlorene Figur zu setzen, bewegt man ihn ganz nach unten (bzw. lässt ihn dort stehen) und betätigt den Trigger. Auf geradezu magische Weise wird nun eine Figur herbeigezaubert, die zunächst unserer Tabelle (s.o.) nicht entspricht, sobald man aber die Figur neben seinen Magier plaziert hat, wird sie in eine der genannten Figuren verwandelt.

Zu beachten ist hierbei, wie erwähnt, a) dass schon mindestens eine Figur geopfert oder verloren sein muss, b) links, rechts, vor oder hinter dem Magier (!) ein Platz frei sein muss, wo er die neue Figur plazieren kann, c) nur weiße Figuren entstehen und d) man bei Revive den Cursor unten halten muss. Hat man alles richtig gemacht, sollte der Cheat funktionieren. Wie gesagt, eignet sich am besten ein Probespiel. Ansonsten ist der Cheat wohl für all jene gedacht, die entweder nur noch gewinnen und mal was Neues ausprobieren wollen (z. B. ihren menschlichen Gegenspieler ärgern) oder aber für jene armen Kreaturen, die noch nie den Computer besiegt haben und es ihm mal so richtig zeigen wollen…

Chaplin / Andreas Magenheimer

ABBUC e.V. PD-Neuheiten

0676 Sogon 2S/SD

Umsetzung des PC-Spiels Sokoban für Atari 8-Bit von KE-Soft.. Wie das uralte Original-PC-Spiel ist auch dieses ein geniales Denkspiel. Viele Spieler scheitern bereits im ersten Level. Nur mit sehr viel Geduld und Ausdauer kommst du bei diesem Spiel weiter. Es besitzt den gewissen Suchtfaktor, also Vorsicht! Und ein falscher Schubser und alles ist vorbei!!! Das kann schon mal eine Nacht kosten.

0677 Public Tophits Library #33 1S/SD

Mehr Spiele für den ATARI! Robot Raid:Nun ballere dich mal fix durch das vertikal scrollende Labyrinth. Sperren und andere Gengenr erwarten dich. Zurk: Duell gegen den ATARI. Vorsicht, das Spielfeld ist sehr begrenzt! Space Limbo: Eine Space Invaders Variante, die mindestens soviel Spaß bereitet, wie das Original. Roni and the TV-Attack: Nettes Hüpf- und Kletterspiel. Alle Spiele sind in ATARI-BASIC programmiert und bieten Stoff für eigene Ideen.

0678 Serie Disk-Mag: COMPY-SHOP-MAGAZIN Januar 1989 2S/ED

Der zweite Jahrgang des CSM. Viele Verbesserungen im Magazin selbst; am besten die neuen Druckfunktionen für die Texte. Zum Inahlt: CSM-Wettbewerbe (u.a. für Programmierer), Diskettenqualität, Computerhistory, BASIC-Utilities Teil 2, In den Tiefen des OS Teil2, CSM-Text-Editor V1.5, CSM-File- Tracer II, RAM unter dem von BASIC aus ROM nutzen, Testberichte von Spielen und Anwendersoftware, u.a. von Advan BASIC.

0679 Serie Disk-Mag: AMC Oldie-Serie Disk 1 2S/SD

Das Menü der Seite A. Auf B sind weitere Berichte sowie BASIC- Utils und das BASIC-Spiel Schiffe versenken von Frank Wittenmayer. Die B-Seite der AMC-Oldie-Serie kann mit der *- Taste nach dem Wenden der Disk eingelesen werden.

ABBUC e. V. – Public Domain Software-Bibliothek
c/o Walter Lojek – Willem de Zwijgerstraat 20 – NL-6021 HM Budel
walter.lojek@web.de

 

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