ABBUC Magazin 068


IMPRESSUM

© 2002 Atari Bit Byter User Club e.V.
C/O Wolfgang Burger, Wieschenbeck 45
D-45699 Herten Tel. +49 2366 396323
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 Boss des Rechenzentrums
Seite 4 Neues vom PD-Service
Seite 6 Qmeg- und HyperXf OS
Seite 10 Hard & Software zu kaufen
Seite 13 Neue ATARI CD`s
Seite 14 Game Clones VOL. 4+5
Seite 15 Sectorcopy
Seite 18 SIO2IDE Interface
Seite 29 CC65 Kurs Teil 3
Seite 31 Das (vor) Letzte
Seite 32 Die PD-Ecke

Boss des Rechenzentrums

Eingeschickt von Heiko Bornhorst
Die Story geht schon etliche Jahre zurück, so 18 in etwa. Ich war damals genau wie ein Freund von mir eingefleischter Atarianer (Atari 800XL). Als wir wieder einmal bei ihm zuhause vor seiner Kiste herum hingen und die Tastatur des Atari mit Assembler quälten, kam der Vater meines Freundes herein. Pappi war seines Zeichens Boss des Rechenzentrums eines großen deutschen Verlages in Hamburg, also ein echter Profi. Nunja, der gute Mann guckte mir und meinem Kumpel eine weile zu und meinte dann: „Sagt mal Jungs, habt Ihr eine Idee? Jeden Abend speichere ich meine persönlichen Sachen auf einer Floppy und am nächsten Morgen, wenn ich die Daten wieder einlesen will, sind sie weg.“ Dazu muss erwähnt werden dass das noch die Zeit der handlichen wabbel 5 1/4″ Inch Disketten war. Mein Kumpel und ich fragten ihn also ob er direkt nach dem Speichern die Daten noch mal versucht hat einzulesen um zu sehen dass das Laufwerk auch in Ordnung ist. Zur Antwort bekamen wir nur „Ich bin ja nicht blöd! Was glaubt Ihr denn!?“ Wir fragten dann noch etwas weiter, aber ohne Erfolg.

Am nächsten Tag beschlossen wir dann doch einfach mal bei Feierabend bei dem Vater im Rechenzentrum aufzuschlagen um 1. aus der Stadt eine bequeme Fahrt nach hause zu haben und 2. der Sache vielleicht doch noch etwas mehr auf den Grund zu gehen Als wir eintrudelten empfing uns der große Meister mit den Worten: „Ich wollte gerade den IBM Support anrufen, dass die das Laufwerk tauschen.“ Wir baten ihn das erst mal zu lassen und probierten einige Dinge aus. Nach einer Weile testen gelangen wir zu dem Schluss dass das Laufwerk total in Ordnung ist. Wunderpapa meinte dazu nur dass er seine Daten jetzt wie jeden Abend speichern würde und wenn sie am nächsten Morgen wieder weg sind auf jeden Fall IBM anruft. Wir schauten dem Helden dann ganz genau zu was er da macht und für Euch gibt es hier die Schritt für Schritt Anleitung zum Fachidioten. ;o)
1. Knackfrische 5 1/4 Inch Disc aus der Hülle ziehen.
2. Disc in das Laufwerk einlegen und Verriegelungshebel umlegen.
3. Daten von der Platte auf die Disk kopieren.
4. Disc entnehmen.
5. Und damit man sie nicht verbummelt, „patsch“ mit einem Magneten an die Magnetwand über dem Schreibtisch heften! (vielleicht sollte man demnächst mal ’ne Magnet-Pinwand als Jahresgabe ausgeben! ****gggggg**** )

Neues vom PD-Service

Was tut sich bei den Public-Domain-Programmen?!
Was tut sich so bei den PDs – eine Frage, die am Ende des Magazins, meist auf der letzten Seite, irgendwo Beachtung findet. Ein Service, der einfach da ist!

Sachstand: Das Feedback auf die PD-Angebote ist da, aber angesichts der Hobbysituation des kleinen ATARI natürlich nicht mehr auf dem hohen Niveau von 1988. Regelmäßig kommen Bestellungen, was noch Interesse vermuten lässt. Der Traffic beim Download von Janko Grewes Web-Seite (http:\\www.8bit-computer.de) hält sich in Grenzen, zeigt aber gleichfalls eine gewisse Existenzberechtigung für die ABBUC Public Domain Bibliothek auf.

Schlussfolgerung: Die umfangreiche PDBibliothek zu erhalten und, sofern möglich, zu erweitern, ist meines Erachtens nach lohnenswert. Es stecken so viel Liebe, Arbeit, Ideen und letztlich auch ein erkleckliches Stück Computergeschichte in den vielen Programmen, was die Public-Domain-Sammlung einfach erhaltenswert macht. Und aus dieser Überzeugung heraus wird die Sammlung vom ABBUC gepflegt und weitergeführt. Pflegemaßnahmen: Seit längerem umfassen sie vor allem die Bereinigung von Fehlern im Katalog. Da die Sammlung schon mehrmals übergeben, interimsverwaltet und ansatzweise aufgearbeitet wurde, haben sich so einige Fehler eingeschlichen.

Mit Hilfe von Hinweisen durch Bit Byter sowie kleinlicher, zeitraubender Prüfung jeder einzelnen PD wird so nach und nach der Bestand aufgearbeitet. Da das als Hobby betrieben wird, dauert es seine Zeit. Manche Disketten waren schlicht verschwunden – kaum zu glauben, aber war. Andere sind nur teilweise lesbar und müssen neu bespielt werden. Für manche Programme gibt es Updates, die es aufzuspielen gilt. Gedruckte Anleitungen oder anderes Informationsmaterial muss überprüft und ergänzt werden. Neue Labels sind zu drucken. Kleinkram, aber eben zeitaufwendig. Ein Lob an dieser Stelle an die wenigen Programmierer, die ab und an Updates für ihre Software an den Club schicken. Immerhin habe ich mich erst mal von dem Gedanken verabschiedet, den Katalog als Datenbank für den XL/XE aufzubauen. Das wäre zwar stilgerecht, macht aber im Moment wenig Sinn, weil noch zu vieles aufgearbeitet werden muss. Aber vielleicht in ein paar Jahren, wenn ich aus dem Arbeitsleben ausscheide. Eine Zeit lang habe ich versucht, mit Freddy Offenga zu kooperieren, der an einer umfangreicheren Datenstruktur arbeitet. Dazu lassen mir Beruf und Familie nicht die notwendigen Möglichkeiten, so dass derzeit die Aufarbeitung, Stück für Stück – Diskette für Diskette – im Vordergrund steht.

Aufarbeitung: Neben der Bereinigung von Fehlern in den Beschreibungen teste ich die einzelnen Programme auf jeder Diskette aus. Dazu gehören neben den Funktionstesten auch Hinweise zur Bedienung, Kompatibilität mit den wichtigsten DOS und Betriebssystemen sowie notwendige Hardware. Das Austesten einer Diskette mit Utilities in einfacher Dichte nimmt da schon mal locker 8 Stunden, verteilt über die Freizeit mehrere Tage, in Anspruch. Ergänzend dazu transferiere ich die Programme auf TurboDOS 2.1 H/S/XF, sofern die So
ftware das zulässt. Der Grund dafür ist simpel. Viele User haben eine XF 551, die auch ohne Hardwaremodifikationen eine schnellere Datenübertragung ermöglicht. Daneben nutzt TurboDOS in den Diskettenlaufwerken vorhandene Speeder, die kompatibel zu Happy, Speedy oder vergleichbaren Schmankerln sind. Eine aufwendige, aber lohnende Arbeit. Nicht berücksichtigen kann ich dabei die Turbo von Engl und den US-Doubler von ICD sowie dazu kompatible Speeder. Da ist in dem Sektorversatzformat begründet, mit dem Disketten für diese Erweiterungen formatiert werden müssen. Für Anwender ohne Speeder verlängern diese Formate die Ladezeiten nämlich ganz erheblich.

Zu den Betriebssystemen, die ich zum Test verwende, gehören neben den OS vom ATARI 800, 800XL und 130XE das Speeder Plus OS für XL/ XE sowie ein von David Young modifiziertes 800er-OS, dem ein Monitor hinzugefügt wurde. Zusätzliche Serviceleistungen: Daneben wurden inzwischen begonnen, die PD ab Nummer 501 in das ATR-Format zu konvertieren. Diese stehen bereits teilweise zum Download auf Janko Grewes Webseite bereitgestellt. Noch vorhandene Lücken werden so nach und nach geschlossen. Natürlich werden dort auch die überarbeiten PD hochgeladen und sind so schnell für Bit Byter verfügbar. Mit dem Bit Byter Frank Schröder-Höftmann habe ich auch schon mal die Produktion einer reinen ABBUC-Public-Domain-CD erörtert. Eine Menüverwaltung in HTML mit Thumbnails von Screenshots wäre da eine mögliche Lösung. Auf diese Weise ließen sich die PDs kostengünstiger bereitstellen. Die nächste Portoerhöhung beim Gelben Riesen wird nicht lange auf sich warten lassen. Vielleicht bekommen wir da mal eure Meinung, als E-Mail oder Snail-Mail, zu dieser Sache. Bin gespannt!

Übrigens, die offizielle E-Mail-Adresse des PDService lautet PD@ABBUC.DE.
PD-Swapping: Bereits bevor die PD-Bibliothek an mich übergeben wurde, gab es einen regen Austausch von PDs und Shareware oder Freeware zwischen Usern, Clubs und BBS. Leider ist davon wenig übrig geblieben. Regelmäßig meldet sich Bit Byter Andreas Magenheimer und deckt mich mit Disketten ein. Andere Bit Byter schicken gelegentlich mal PDs, die in der Bibliothek noch nicht vorhanden ist. Ansonsten versuche ich durch Downloads und andere Maßnahmen (siehe Legal Abandonware Petition im letzten Magazin), den Bestand zu erweitern. Liebe Bit Byter, wenn ihr über PD, Shareware oder Freeware verfügt, die in unserer Bibliothek noch nicht enthalten ist, schickt sie mir bitte. Egal ob ATR, XFD, DCM oder als einzelne ATARIDOS-Files per E-Mail oder auf Disk, CD oder Kassette; alles kann verarbeitet werden. Wünsche für die Zukunft: Sehr gerne hätte ich neu programmierte Software für die PDBibliothek. Vielleicht schlummert ja bei euch noch ein Schätzchen in der Diskettenbox, das nach Fertigstellung und Veröffentlichung schreit. Nur Mut, auch in ATARI-BASIC lassen sich viele Projekte verwirklichen.

Daneben hoffe ich auf ehemals kommerzielle Software zur Freigabe für PD. Habt ihr also etwas, schickt es mir für den ABBUC. Schlusswort: Das Interesse und die Arbeit mit und am kleinen ATARI begeistert immer wieder junge Menschen, die noch gar nicht auf der Welt waren, als wir älteren Bit Byter noch hohe Preise für Hardware und Software zahlen mussten, wenn wir unserem Hobby frönen wollten. Der ATARI bietet damit auch die Chance zum Austausch und Dialog über Generationen hinweg, wir sollten uns das erhalten.
In diesem Sinne
Good Byte!
Walter Lojek

Nachtrag: Ergänzungen, Berichtigungen und Tipps zu PDs
PD # 575 wurde von 2 auf 4 Seiten erweitert. Bitte ergänzt euren Katalog. Hinzugekommen sind die AMP-Jukebox und einige AMP-Musikfiles. Die AMC-Soft-Magazine laufen auf erweiterten Diskettenlaufwerken nur mit abgeschaltetem Cache. Das gilt auch für die XF 551. Auf meiner originalen XF laufen sie!
PD # 576 wurde auf die aktuelle Version Februar 2002 upgedatet. Vielen Dank dafür an den Programmierer Les Wagar aus Kanada. Thanx
Les! Keep on going! Try to contact me via email,
please! PD@ABBUC.DE

Wer unsere PDs von Janko Grewes Webseite herunterlädt und von ZIP über ATR zurück auf den ATARI konvertiert, wird bei vielen feststellen, dass sie beim Starten merkwürdige Geräusche aufgrund des Systemtests durch Turbo- DOS auftreten, dass bei vielen PDs schon verwendet wird. Das ist kein Grund zur Sorge! TurboDOS stellt nur die Systemkonfiguration fest und sucht nach Speedern etc. User von MyDOS kennen diese Prozedur. Nach einem kurzen Moment bootet die Disk wie gewohnt – meist aber schneller.

Der PD-Katalog mit aktuellem Bearbeitungsstand steht zum Download auf der ABBUCHomepage bereit.

Eine Bitte: Wer über die Homepage PDs bestellt, bekommt kurz darauf von mir eine E-Mail, die den an den Club zu überweisenden Betrag inklusive Porto beinhaltet. Sobald diese E-Mail bei Euch ankommt, sind auch die PDs fertig kopiert und warten auf den Versand. Wolfgang checkt das Konto des Clubs auf entsprechende Überweisungen und teilt mir mit, wer bezahlt hat. Darauf versende ich die PDs unverzüglich. Es macht Arbeit- deswegen ist es nicht besonders nett, PDs zu bestellen und dann nicht mehr auf die E-Mails zu reagieren.
Walter Lojek

Tipps & Anmerkungen zum QMEG+OS und Hyper-XF-OS:
(Volume 1)

Hallo Abbucianer, dies ist eine kleine vierteilige Serie, die aus den div. Leserbriefen besteht, die Stefan Dorndorf mir zwischen 1998 und 1999 geschrieben hat. Darin sind zahlreiche Tipps, Tricks und Anmerkungen zu seinem QMEG+OS und Hyper-XF-OS enthalten. Eigentlich wollte ich die Briefe ja zu Weihnachten 2001 entsorgen, weil sie einfach schon so alt sind und Stefan sich inzwischen nicht mehr bei mir (schriftlich/per Brief) oder in Sachen Flashrom bei meinem Kumpel Torsten Schall (via Email) meldet. Doch bevor die Briefe in den Müll wandern, was geschehen wird sobald ich sie abgetippt habe, wollte ich euch noch hier deren Inhalt präsentieren. Beschwerden hierzu werden nicht akzeptiert – seid lieber froh, dass ihr auf diese Weise noch einige Tipps erhaltet… Und los geht es mit Brief Nr. eins vom 15.12.1998: „Hallo Andreas, vielen Dank für dein Weihnachtspäckchen, meine Antwort kommt sofort… Wegen der Hyper-XF ist mir natürlich klar, dass es da ein paar Probleme gibt, aber die Hardware [das OS] der XF ist damit absolut ausgereizt, hier lässt sich nichts mehr (ohne zusätzliches Löten) tun. Trotzdem gibt es natürlich Möglichkeiten, deine Probleme mit der Hyper-XF zu umgehen:
1) Utilities (High-Speed, Sector Skewing)
Sämtliche Utilities, die [sowohl] für die Speedy, Happy und den US-Doubler gedacht sind, unterstützen Ultra-Speed und damit auch den Speeder der Hyper-XF. [Manche Utilities sind jedoch speziell auf einen! Speeder zugeschnitten, z.B. nur für Speedy oder nur für USD und laufen dann auf der Hyper-Xf nicht mit Ultra-Speed.] Utilities, die für den US-Doubler gedacht sind, haben häufig eine Option, die es erlaubt, mit Ultra-Speed- Sector-Skew zu formatieren, z.B. XINIT.COM von Sparta-DOS, dieses Spezial- Formatierkommando wird von der Hyper-XF ebenfalls unterstützt. [Lustigerweise konnte ich zwischenzeitlich feststellen, dass bei einer Happy- SIO fast immer Ultra-Speed und/oder Sector- Skewing mit der Hyper-XF benutzt wird, bei einer USD-SIO jedoch nicht; mehr noch bei Programmen die Sector-Skewing anbieten, muss man diese Option abstellen, da sonst ein Format ERROR bei der Hyper-XF auftritt; anscheinend sind die Sector Skewing Formate von USD, Turbo, XF551 und Hyper-XF nicht identisch oder miteinander kompatibel; man sollte al
so weitgehend Happy-Tools mit der Hyper-XF nutzen, sofern diese Tools nicht unbedingt den Track/Cache-Buffer benötigen; allerdings hat man dann keine Density-Erkennung, da eine 1050 oder Happy 1050 das ja automatisch macht, eine XF oder Hyper-XF halt nicht…] Ansonsten kommt es darauf an, ob das Utility das Normal-Formatierkommando in Highspeed an die Hyper-XF sendet. Falls ja, erzeugt die Hyper-XF automatisch das Highspeed Format (Sector Skewing). Viele Tools machen das komischerweise jedoch nicht (s.o.). Ich selbst benutze das QMEG-OS, das bei aktiviertem Speeder das Formatierkommando immer in Highspeed sendet, zum Diskkopieren benutze ich natürlich den im QMEG-OS eingebauten Kopierer (der allerdings nur mit 192kb Zusatzspeicher funktioniert, aber ich nehme mal an, du hast schon längst eine entsprechende Speichererweiterung). [Ja, ich habe eine 256k Megaram- II – aber nicht jeder hat soviel Z-Ram und nicht jeder Hyper-XF User hat auch das QME-OS. Gut wäre es, einen Diskkopierer und weitere Tools zu haben, die sowohl das Ultra-Speed der Hyper-XF nutzen, als auch deren Density- Problem ausbügeln.] Das mit dem Track Copier 1050 (Turbo-Kopierer von Arndt Baer) ist ein lustiger Zufall [er kann auch auf der Hyper-XF in highspeed lesen – aber nur lesen; formatieren und schreiben geht leider nicht]. Das liegt einfach daran, dass der Turbo1050-Treiber die Highspeed und das Sector Skewing [Turbo-Format] über Interrupts unterstützt, genau wie der Hyper-Speed Treiber der Hyper-XF…

2) Disks auf Hyper-XF Partitionen kopieren:
Das ist kein großes Problem, benutz’ doch einfach den Modus M. Ich selbst verfahre wie folgt: Ich habe eine 1050 (manchmal auch XF551) als D1: und eine 3,5″-Hyper- XF als D2: .Beim Einschalten des XL/XE drücke ich SELECT, womit ich ins QMEGMenü gelange [was machen Hyper-XF-User ohne QMEG-OS ??]. Dann stelle ich D2: als Boot-Drive ein und boote von D2: (XF) und stelle im Hyper-XF-Menü die XF in den Modus M. Nun gehe ich wieder ins QMEG-Menü (mit SELECT- RESET) und stelle wieder D1: als Bootdrive ein. Jetzt habe ich folgende Laufwerke zur Verfügung: D1: 1050 ; D2:-D5: XF-Partitionen A-D; Wenn du das QMEG-OS nicht benutzen willst (wieso denn nicht ?), muss man tatsächlich die Hyper-XF kurz als Laufwerk 1 einstellen [um das Laufwerk via eingebautem Bootmenü zu konfigurieren]. Aber im Anhang habe ich dir ein kleines Basic-Programm aufgelistet, das nach dem Start das File HMODE.COM auf D1: erzeugt. Dieses kleine Maschinenprogramm kann mit jedem DOS/ Gamedos gestartet werden, und erlaubt es, den Modus für jedes beliebige Laufwerk zu setzen. Nach dem Start wartet HMODE.COM auf zwei Tastendrücke:
1. Taste 1,2,3 oder 4 => Auswahl der Laufwerksnummer
2. Taste A, B, C, D, M, F, S oder X =>

Auswahl des Hyper-XF-Modus
Danach beendet sich HMODE.COM. Ich selbst habe HMODE.COM auf meine Romdisk kopiert und benutze es inzwischen zum Setzen des Modus der Hyper-XF. [Das tue ich nun auch, denn so kann man auch ohne das Bootmenü den Modus einstellen…] Mit dem Diskkopierer im QMEG-OS (oder jedem anderen Diskkopierer, der die Auswahl von beliebigen Laufwerken zulässt), ist es nun kein Problem, von der 1050 (D1:) auf die jeweiligen Partitionen der XF (D2: bis D5:) zu kopieren. Auf diese Weise habe ich auch die Alternate Reality Disks auf 3,5″ Partitionen kopiert. Die Modi A, B, C, D sind eigentlich auch nur für den Fall gedacht, die Partitionen auch ohne das QMEG-OS booten zu können.

3) Programme, die mehrere Diskseiten umfassen:
Das ist in der Tat ein größeres Problem. Hier gibt es jedoch zwei Möglichkeiten sich zu behelfen:
* das Programm unterstützt mehrere Laufwerke (wie z.B Alternate Reality). In diesem Fall gibt es keine Probleme. Die Hyper-XF wird als D1: eingestellt und in den Modus M gebracht, dann wird das Programm gebootet. Das Programm stellt nun fest, dass D1: bis D4: zur Verfügung stehen und lädt automatisch von diesen Laufwerken bzw. Partitionen nach [tun leider nur sehr wenig Programme]. Das beste Programm, das so arbeitet ist Alternate Reality [The Dungeon], es unterstützt D1: bis D4: und lädt eben automatisch von diesen Drives nach, wenn sie beim Booten da waren. Das funktioniert ganz fantastisch, endlich kann man AR ohne Diskwechsel spielen, es kommt keine Aufforderung mehr, die Disk zu wechseln. (Naja, die Bootdisk musste ich natürlich auf einer Extra-Disk unterbringen und den Kopierschutz entfernen…)
* Das Programm unterstützt nur D1: Tja, hier ist nur mit einem speziellen OS (oder einer bisher nicht existierenden Erweiterung am Parallelbus des XL) Abhilfe möglich. Mit dem QMEG-OS kannst du dir wie folgt behelfen: Stell die 3,5″ Hyper- XF auf Modus M ein (notfalls auch Modus F, wenn die Partitionen unterschiedliche Formate haben) und boote die Disk (auf Partition A muß dazu natürlich die Bootseite des Programms abgelegt sein). Wenn dann die Aufforderung kommt, die Disk zu wechseln [bei mehrseitigen Programmen, wie Spielen, Demos oder Anwendungen], drücke folgende Tasten: CTRL-Help: Das Programm wird eingefro ren (mittels QMEG-Freezer) 03EF0x RETURN: wobei das x eine Zahl von 0 bis 3 ist (Freezer-Poke, hier mit wird eine Partition A bis D ausgewählt; A=0, B=1, C=2, D=3;),
CTRL-Help: Das Programm wird wieder aufgetaut… (Solltest du die Hyper-XF auf D2: eingestellt haben, so gilt für x folgende Tabelle: A=1, B=2, C=3, D=4)

Diese Tastenfolge entspricht der Auswahl eines Bootlaufwerks (Shift-1, Shift-2, etc.) im QMEG Menü. Mit anderen Worten: Nun kann die ausgewählte Partition mit D1: angesprochen werden und das Programm kann weiterarbeiten (bis zum nächsten Diskwechsel). Achtung: Diese Lösung funktioniert nur, wenn das Programm die Config-Tabelle des QMEG-OS im Speicher (ab Adresse $3ED, 11 Bytes) nicht überschreibt. [Tja, und hier ist auch ein weiteres Problem: viele kommerzielle und sogar PD-Programme vertragen sich mit QMEG-OS nicht; bei div. polnischen Spielen und Demos ist sogar extra eine QMEG Abfrage eingebaut, getestet wird hier nur ein einziges Byte, lautet das Ergebnis QMEG-OS, so landet man entweder im Selftest oder der Rechner stürzt komplett ab! Es muss also noch eine andere Lösung geben…] Ansonsten schaltet das QMEG-OS automatisch in den XL-Modus, der die Änderung des Bootlaufwerks nicht zulässt. Das kannst du jedoch auch selber feststellen: Programm laden und dann SELECT-RESET drücken. Sollten dann im QMEG-Menü unter den Laufwerksnummern Striche stehen, befindet sich das QMEG-OS im XL-Modus (Clear drücken, um den XL-Modus aufzuheben).

Natürlich ist das auf Dauer doch ziemlich umständlich, daher werde ich ein kleines Update des QMEG-OS entwickeln, bei dem man in obiger Tastenfolge statt 03EF0x einfach SHIFTx drücken kann (genau wie im QMEG-Menü). Außerdem wird es dann möglich sein, direkt im QMEG-Menü eine Hyper-XF in einen beliebigen Modus zu schalten (mit CTRL-A, CTRL-B, CTRL-C, CTRL-C, CTRL-D, CTRL-M, CTRL-F, CTRL-S, CTRL-X). Hoffentlich reicht der Platz im QMEG-OS dafür noch aus… [Leider ist dieses geplante QMEG Update bis heute nicht erscheinen bzw. released worden.] Eine einwandfreie Lösung des Diskwechselproblems [bei Partitionen der Hyper-XF] ist nur mit einem Hardware-Freezer möglich. Alternativ gäbe es da noch die Möglichkeit, den Modus über einen Drehschalter an der XF einzustellen. Dummerweise fehlen dafür ein paar Anschlüsse an der 8050-CPU, um das realisieren zu können. Trotzdem wäre es möglich, wenn man auf folgende Dinge verzichtet:
* automatischer Density Test (Erweiterung)
* einen DIP-Schalter zur Laufwerksnr.- Umschaltung, die XF ließe sich dann nur noch auf D1:
* und D2: einstellen [mehr als 2 Laufwerke nutze ich am XL/XE eh’ nicht]

Dadurch würden drei Pins der 8050-CPU frei, an die man entweder drei Schalter oder einen Schalter + ein Drehschalter anlöten könnte, um den Modus einfach per
Schalter einstellen zu können. Der Modus ließe sich sogar wahlweise auch über Software einstellen, wenn die Schalter auf Modus X eingestellt sind. Als Schalter könnte auch ein BCD-Codierschalter mit 10 Schaltstellungen in Frage kommen, davon gibt es eine Version, als Drehschalter und eine, die mit zwei Tasten + und – funktioniert. Damit wären alle deine Probleme gelöst, beim Diskwechsel wird einfach die Partition [via Hardware] umgeschaltet, was hältst du von dieser Idee ?? [Hört sich viel versprechend an, da ich aber kein Bastler bin, würde ich wenigstens ein paar Pläne, Zeichnungen, o.ä. dazu benötigen, damit mein Kumpel Torsten Schall das für mich erledigen könnte.]

4) Sonstiges:
Fertige Utilities für die Hyper-XF habe ich noch nicht [und bis heute sind auch leider kaum welche erschienen!]. Bin derzeit hauptsächlich mit Briefe beantworten beschäftigt. Habe auch Kontakt mit Andre Bertram aufgenommen und mit Mathy van Nisselroy. Ich habe in letzter Zeit auch einige meiner neu erstandenen Boot-Disks [LK Avalon, gelle ?!?] zu Files gemacht (wie z.B. Midnight) und würde diese gerne irgendwie packen. Gibt es Utilities, die ein beliebiges COM-Programm packen können, so dass es sich beim Starten automatisch entpackt ? [Ja, da gibt es div. Packer, manche mögen halt keine Init-Adressen oder sind auf eine bestimmte Anzahl Segmente oder eine max. Filegröße beschränkt. Allgemein kann man dazu aber den Super-Packer, den Code3- Cruncher, Magnus Cruncher, Fast Packer, Power-Packer, DJ Packer 1+2, Tight Filepacker, etc. dazu verwenden. Sie alle können COMFiles packen und nach dem Laden auch wieder automat. entpacken, so wie das ja in div. poln. Spielen und Demos geschieht.]

5) Was fällt mir sonst noch ein ?
Ach ja, auf deinen Artikel im ABBUC-Mag habe ich das Fampy 6.1 mal untersucht. Also, es ist kein Problem die Intros zu entfernen, das File wird damit auf 50 SD-Sektoren verkürzt. Die ausgesprochen blödsinnige Tastaturbelegung zu ändern ist dagegen ein größeres Problem, da Fampy 6.1 sehr verwinkelt programmiert wurde. Das Fampy überschreibt nach dem Laden jedes DOS im Speicher [weshalb ich dafür auch kein DOS mehr verwende!] und greift direkt auf Diskette zu. Daher laufen nur SD und DD im DOS2 Format. Disketten im XDOS-MD-Format [oder im Happy-DOS II+D V.6.1/6.4 Format, Stefan Dorndorfs eigene DOS Versionen] müssten jedoch auch funktionieren, nicht jedoch Disks im DOS 2.5 MD-Format oder MyDOS MD-Format. Blöderweise läuft Fampy unter dem QMEG-OS nur, wenn man das QMEG-OS in den XL-Modus schaltet. Änderungen am Fampy habe ich sonst nicht gemacht, da ich keine MOD-Files habe und die MOD-Files auf der ABBUC Disk (Sondermag 17) auch nicht soooo toll waren. [Meinereiner hat denn aber die gekürzte Fampy 6.1 Version genommen und div. MOD-Files dafür in MD8 umgewandelt. Sie sind nunmehr endlich in der ABBUC -PD-Bib. unter der Nummer 633-638 vorzufinden.]

6) 1,44MB mit der XF551:
Also, dass die ARGS bereits eine funktionierende 1,4MB XF hat, glaube ich nicht, da die CPU hierbei Ärger macht. Taktet man die CPU mit 8,333 Mhz, ist sie zu langsam um im HD-Modus den Floppy-Controller schnell genug bedienen zu können (habe das ausgerechnet). Taktet man die CPU mit 16Mhz, funktioniert zwar die Zusammenarbeit mit dem Controller, leider ist nun jedoch der serielle Bus gestört. Bei 16Mhz erwartet die XF nun ca. 38.000 Baud statt 19.200 Baud, man kann also gar nicht mehr auf die Disk zugreifen, dazu müsste man das XF-OS entsprechend anpassen, was nicht ganz einfach ist…. [Nunja, der Irrtum meinerseits rührte daher, dass ich bei einem ARGS Treffen eine XF mit 2 versch. Controllern gesehen hatte; während der Besitzer aber stets über Möglichkeiten einer 16Mhz XF redete, hatte er tatsächlich nur einen 8Mhz Chip via Schalter umschaltbar eingebaut; meinereiner war halt so blöd gewesen, seinen Wunschtraum bereits als Realität anzunehmen, ich dachte eben, dass er nicht nur davon redete oder träumte, sondern dies bereits verwirklicht hatte, was aber am Ende doch nicht der Fall war.] Fröhliche Weihnachten, Stefan.“ Tja, damit endet der erste Brief von anno 1998 und somit auch der erste Teil dieser Serie. Alle Anmerkungen in eckigen Klammern wurden von mir [A.M.] gemacht, der Rest wurde aus dem Brief zitiert bzw. abgetippt. Ich hoffe, dass einige Abbucianer etwas mit diesen Tipps anfangen können – oder sich andernfalls wenigstens nicht darüber beschweren.

Bis zum nächsten Mal. Ciao,
Andreas Magenheimer.

Hard & Software

ATARI XL/XE Module :
Ace of Aces 10 Euro
Airball 10 Euro
Archon 10 Euro
Ballblazer 5 Euro
Crime Buster 10 Euro
Crossbow (Lightgun) 10 Euro
David´s Midnight Magic 10 Euro
Desert Falcon 10 Euro
Eastern Front (1941) 10 Euro
Final Legacy 10 Euro
Gato 10 Euro
Hardball 10 Euro
Joust 10 Euro
Lode Runner 10 Euro
Millipede (kl. Verpackung) 5 Euro
Millipede (gr. Verpackung) 5 Euro
Moon Patrol 10 Euro
One on One 10 Euro
Rescue on Fractalus 20 Euro
Robotron 2084 8 Euro
Star Raiders 2 10 Euro
Tennis 8 Euro
Thunderfox 10 Euro
ATARI 400/800 Disk :
Microsoft BASIC 10 Euro
Mickey in the Great Outdoors 5 Euro
ATARI 400/800 Kassette

Scram 5 Euro
Touch Typing 5 Euro
Hardware :
ATARI CX-30 Paddles (Paar) 10 Euro
ATARI CX-50 Keyboard Controllers (Paar) 10 Euro
Fusspedal (Noname) 5 Euro
Sears Paddles 3 Euro
Telegames Joystick (ATARI 2600/7800) 5 Euro

ATARI 2600 Spiele
Acid Drop 10 Euro
Adventures on GX-12 10 Euro
Alpha Beam with Ernie (Kids Controller) 10 Euro
Armor Ambush 10 Euro
Astroblast 10 Euro
Atlantis 15 Euro
BASIC Programming (Keyboard Controllers) 5 Euro
Big Bird´s Egg Catch (Kids Controller) 7 Euro
Bobby geht heim 10 Euro
Bogey Blaster 10 Euro
Bump ´n´ Jump (NTSC) 10 Euro
Chess 10 Euro
Circus (Paddles) 10 Euro
Commando 15 Euro
Concentration (Keyboard Controllers) 10 Euro
Cookie Monster Munch (Kids Controller) 7 Euro
Deadly Discs 10 Euro
Decathlon 10 Euro
Defender 5 Euro
Desert Falcon 5 Euro
Dig Dug 10 Euro
Donkey Kong 10 Euro
Double Dunk 5 Euro
Enduro 10 Euro
E.T. 10 Euro
F14 Tomcat 10 Euro
Football (Telegames) 15 Euro
Forest 20 Euro
Frostbite 10 Euro
Fatal Run 15 Euro
Galaxian (NTSC) 10 Euro
Ghostbusters 10 Euro
Ghostbusters 2 20 Euro
H.E.R.O. 20 Euro
My Golf 7 Euro
International Soccer 10 Euro
Jungle Hunt 10 Euro
Junior Pacman 20 Euro
Keystone Kapers 15 Euro
Kangaroo 10 Euro
Kung Fu Master 10 Euro
Kung Fu Superkicks 10 Euro
Laser Gates 20 Euro
Lock ´n´ Chase (NTSC) 10 Euro Mission 3000 10 Euro

Moon Patrol (NTSC) 10 Euro
Mouse Trap 20 Euro
Der Postmann 10 Euro
Ms. Pacman 15 Euro
Nightstalker 20 Euro
Oscar´s Trash Race (Kids Controller) 10 Euro
Off the Wall 10 Euro
Phantom Panzer 10 Euro
Pick ´n´ Pile 10 Euro
Pole Position 10 Euro
Q-Bert 15 Euro
Quest for Quintana Roo 10 Euro
Quickstep 10 Euro
Rampage 10 Euro
Realsports Boxing 5 Euro
Realsports Football 5 Euro
RealSports Soccer 7 Euro
RealSports Tennis 5 Euro
RealSports Volleyball 5 Euro
River Raid 2 20 Euro
Roc ´n´ Rope 10 Euro
See Monster 10 Euro
Sesam öffne dich 10 Euro
Skate Boardin´ 10 Euro
Smurf 10 Euro
Schnecke gegen Eichhörnchen 10 Euro
Solaris 10 Euro
Space Attack 10 Euro
Sprintmaster 10 Euro
Star Voyager 15 Euro
Summer Games 10 Euro
Super Challenge Baseball 10 Euro
Super Breakout (Paddles) 5 Euro
Tanzende Teller 10 Euro
Tennis (Activision) 10 Euro
Title Match Pro Wrestling 10 Euro
Universal Chaos 10 Euro
Weltraum Tunnel 10 Euro
Winter Games 10 Euro
Xenophobe 10 Euro
Zaxxon 10 Euro

ATARI 7800
Ballblazer 10 Euro
Donkey Kong junior (NTSC,PAL kompatibe) 10 Euro
Mat Mania 5 Euro
Motor Psycho 10 Euro
Sentinel (Lightgun) 5 Euro

Alle ATARI 2600/7800 Spiele sind Neuware , mit Verpackung & Anleitung , teilweise eingeschweißt. Die Spiele sind in der Regel PAL Versionen , falls nicht anders angegeben. Einige Spiele benötigen spezielle Controller , d.h. Paddles, Keyboard Controllers oder Kids Controllers. Dies wurde mit angegeben.

Thimo Gräf
Im Osterfeld 13
56462 Höhn-Neuhochstein
Deutschland
www.classic-videogames.com
www.atari2600.de
email : lord-chaos@t-online.de
Meine Website befindet sich noch im Aufbau, sobald sie fertig ist, wird dort mein ganzes Angebot zu finden sein inkl. Bilder und Beschreibungen. Ich werde in den kommenden Monaten weitere ATARI Ware erhalten.

Der Super-ATARI-Soundmix

Die neueste Ausgabe aus der Atari-AudioCD-Reihe von WASEO! Nochmal wurden aus den genialen ATARI-Klangwelten 20 echte Perlen der Spiele- und Demo-Sounds herausgesucht und zu einer einmaligen Sammlung zusammengestellt. Hier die Namen der Songs:

The IntroRockman #2
* Super Fortuna
* Rockman #1
* Scrollers
* Hydraulik
* Hans Kloss
* ABC #3
* Pang #2
* Strange Mountains DemoCzaszki
* Rockman #5
* Zepi
* Winner
* Cedyn
* High Score
* Micro Discount Demo
* The Quiz #4
* Fantasy
* End Scroller

Die ATARI History ROM Volume 2

Noch besser als die erste Folge! Noch mehr Bilder aus allen Bereichen und jetzt sogar auch mit Bildershow und Sounds! Hier der Inhalt in Stichworten: Bilder aus den Bereichen ABBUC-JHV 1999 und 2000, Hard- und Software, Bücher und Magazine, Werbung, Zeitungen, XE-Game-System, VCS und Diverses HTML-Seiten zum bequemen Durchblättern Eigenes Bildershowprogramm mit Einblendeffekten, das während der Bilderanzeige ATARI-Songs spielt Originalgetreues CD-Cover

Bezug und Preise:
* Die CD Der Super-ATARI-Soundmix kostet 5 Euro, Die ATARI History ROM 2 kostet 4 Euro.
* Beide erhält man bei WASEO, c/o Thorsten Helbing, Hopfenhellerstrasse 5, 37445 Walkenried zuzgl. Versandkosten und Nachnahme.

Game Clones Vol. 04

Leider hatte mir der Postscript Treiber im letzten Magazin beim Ausdruck den Text dieses Artikel aus dem Rahmen geschmissen. Deshalb hier der Text zum nachlesen (WB)

Anno 1984 überrollte die Homecomputer, Konsolen und Arkade Welt ein neuer Spielehit. Sein Hauptdarsteller: Rockford, seine Gegenspieler: Boulders (Felsen), Amoebas (ähem, Amöben lautet zwar die Übersetzung, doch trifft dies nicht so ganz; Schmetterlinge wären passender), Fireflies (wörtlich: Feuerfliegen, gemeint sind aber allgemein Glühwürmchen, doch trifft das hier auch nicht so ganz zu;), Acid (Säure) und einige andere Dinge. Das Ziel und die Aufgabe von Rockford: alle Diamanten einsammeln (oder magisch durch Felsen hervorzaubern) und das Level unbeschadet verlassen. Einfach, gelle – wenn da nur die vielen fiesen Gegner, Fallen und die tickende Uhr (ein Timer der rückwärts läuft) nicht wären. So hat Rockford alle Hände voll zu tun und zahlreiche Nachfolger des Hits Boulder Dash machten die bis dato noch ziemlich unbekannte Firma First Star Software weltweit bekannt. Wohl jeder hat schon einmal Boulder Dash oder einen seiner zahlreichen Nachfolger (Boulder Dash 2, B.D. Construction Kit, Boulder Dash 3 und 4, Rockford, etc.) gespielt. Sei es auf einem 8-Bit oder 16-Bit Rechner, auf einem Homecomputer oder dem PC. Denn auch auf letzterem wurde Boulder Dash für die 386er (oder 486er?) umgesetzt.

Zudem haben sich die Coder der poln. Demogruppe New Generation auch mal die Mühe gemacht und eine PC Version (ab 386er) programmiert. Das Spiel fand auch auf dem Atari XL/XE zahlreiche Umsetzungen, Fortsetzungen und Datenträger. Sei es auf Modul (nur Boulder Dash 1), auf Disk (alle Versionen) oder auf Tape (ebenfalls alle Versionen). Doch wem das Original zu teuer oder irgendwann zu langweilig war, der sehnte sich nach neuen Varianten. So haben denn auch ein paar PD-Clones nicht lange auf sich warten lassen. Meinereiner hat sich die Games Likedash (altes Atari Magazin), Munchy (Page 6) und S u p e r d a s h (Computronic oder HC-Homecomputer) für die heutige Game- Clones Ausgabe ausgesucht. Bei Likedash hat man nur 1 Leben, dafür jedoch endlos viele Zufallsscreens und kann via Select-Taste die Felsen sichtbar oder unsichtbar machen.

Lustigerweise sind die Felsen nur beim Einladen vom DOS aus sichtbar, via Gamedos muss man erst Reset drücken, um sie sichtbar zu machen. Die anderen Boulder Dash Clones bieten hingegen mehrere Lives und verschieden gestaltete Levels, sowie deutlich bessere Grafik. Wie immer, wünsche ich euch viel Spaß damit !!

Andreas Magenheimer
Anmerkun
g: Die genannten Spiele findet Ihr auf
dem Magazin # 67

Game Clones Vol. 05

Heute und in den folgenden Ausgaben dreht sich alles um sog. Game-Classics. Sicher, die bisher vorgestellten Game-Clones waren auch alles Oldie-Klassiker. Jedoch war es mir dort stets gelungen bis zu drei Clones zu einem Original Spielprinzip aufzutreiben (z.B. 3 Pong, 3 Breakout, 3 Centipede und 3 Boulder Dash Clones). Nunmehr werde ich jeweils drei versch. Game- Clones vorstellen, das sorgt dann meines Erachtens für etwas mehr Abwechslung. Darum geht es ja im ABBUC Magazin, es soll abwechslungsreich und unterhaltsam sein. Je mehr verschiedene Themen und/oder Software, desto besser.

Schließlich ist der ABBUC ja auch ein Club zum mitmachen, das Magazin also nur so gut, wie seine daran beteiligten Autoren und ABBUC Members. Viele Leute übersehen das sehr leicht und meinen für ihren Clubbeitrag auch grundsätzlich ein umfangreiches und interessantes Magazin zu bekommen. Doch ohne Beiträge der Mitglieder wird daraus nichts, wie man hin- und wieder feststellen kann, wenn die Beteiligung sehr gering ist und Wolfgang ein Notprogramm mit PD`s und (vormals englischen) Internet-Texten starten und damit das Mag füllen muss. Also Leute, vergesst eure Beteiligung nicht und seht ein gefülltes ABBUC Mag nicht als selbstverständlich an. Nun aber zum heutigen Thema. Für diese Ausgabe habe ich mir die Game-Clones Froggie, Analogman und Dungeon ausgesucht. Sie stehen stellvertretend für die Originalgames Frogger (Froggie), Hard Hat Mack und Burger Boy/Chief (Analogman), sowie Abracadabra, Tunnel Trekker und ähnliche Games (Dungeon). Während Froggie dem Original recht nahe kommt, benötigt man bei Analogman und Dungeon schon etwas Phantasie, um etwaige Ähnlichkeiten mit kommerziellen Vorbildern zu erkennen. Die Games sollten auf dem Magazin vorfindbar sein, ich wünsche euch viel Spaß damit !!
Andreas Magenheimer

Sectorcopy

Hallo
Abbucianer,
Wolfgang hat gefragt, ob ich nicht mal wieder etwas für das Magazin schreiben könnte. Also bin ich auf Ideensuche gegangen und mir ist dann auch etwas eingefallen. Eine recht pragmatische Lösung, zugegeben, aber – what shalls :-)) Erst mal vorab. Dieser Artikel wurde NICHT nach den Regeln der Neuen Deutschen Rechtschreibung verfasst. Es gibt hier also Punkte, Kommata, Groß – und Kleinschreibung, unter Umständen Fehler, aber dafür keine drei aufeinander folgenden Konsonanten. (Grins)!

Zumindest einige dürften davon gehört haben, dass Carsten und ich vor einiger Zeit beide angefangen haben, an einem Sektorkopierer für den Atari 8-Bit zu schreiben. Nun ja, Sektorkopierer hat es zugegebenermaßen schon eine ganze Reihe gegeben, aber diese Sektorkopierer waren immer irgendwie auf ein Laufwerk zugeschnitten. Unsere Sektorkopierer sollten alle Atari 8-Bit Formate kopieren, also SD, MD, DD und bis zu 65535 Sektoren. Ausmultipliziert macht das 16 MByte minus 256 Byte. Damit könnten dann endlich auch Partitionen der Black Box, des MSC IDE Interfaces und sonstiger kompatibler Geräte kopiert werden. Nun begab es sich, dass Carsten mit den Innereien seines Sektorkopierers angefangen hat, und das in FORTH, noch dazu in einer Version, die er selbst geschrieben hat. Faszinierend, würde Spock sagen … Also noch mal, Carsten hat mit den Routinen angefangen, die Daten vom Laufwerk lesen oder darauf schreiben. Soweit ich das verstanden habe, passt das zur Architektur von Forth, wo man aus winzigen, bestehenden Routinen eigene Routinen entwickelt, woraus man dann wiederum übergeordnete Routinen erstellen kann. Aber vielleicht lieg ich da auch völlig daneben, ist ja schon auch ein Jahr her, dass ich mit Carsten darüber gesprochen habe.

Nun, ich habe von der anderen Seite angefangen. Mit dem User-Interface. Und ich habe in Assembler geschrieben. Ich sagte auch „angefangen“. Wie die meisten leide ich unter Zeitmangel und bin noch nicht zum Weiterschreiben gekommen. So ein dreitägiges Programmierertreffen wie in Lengenfeld ist da echt hilfreich. Ich möchte Euch mit diesem Artikel noch einmal Assembler näher bringen – an einem praktischen Beispiel. Der Quellcode meines angefangenen Programms ist entweder auf der Disk oder mit abgedruckt, ich weiß noch nicht, wie es Wolfgang machen wird. Er ist im Mac/65 Format geschrieben und im Textformat gespeichert, so dass ihn jeder auch ohne Mac/65 einlesen kann.

Nun zum Listing. Alles, was mit einem „*“ oder einem „;“ beginnt, ist ein Kommentar. Die Zeilen 1000 bis 1220 geben einen Überblick über Version und eingebaute Funktionen sowie verfügbare Befehlszeilenparameter. Apropos Befehlszeilenparameter, ich habe den Sektorkopierer bislang für ein DOS mit Command Line Interface (CLI), hier Sparta DOS, geschrieben. Es bringt also nix, das Programm unter Atari DOS 2.0 zu starten. Die Zeilen 1230 bis 1320 stellen Optionen des Mac/65 ein. Variablen werden von Zeile 1380 bis 1990 durchgeführt. Wie Ihr seht, sind dort einige Definitionen für Sparta DOS mit drin. Schließlich muss ja die Kommandozeile, die auf dem Bildschirm getippt wird, irgendwie ausgelesen werden und außerdem kann ggf. die Highspeed- SIO von Sparta DOS mitbenutzt werden.

Zeile 2010. Hier steht, wo das Programm beim Laden unter DOS im Speicher beginnen soll. Gleich danach folgt dann ein Sprungbefehl. Einige DOSse beginnen mit dem Ausführen des Programms direkt an der Adresse, wo es hin geladen wurde, falls kein RUN oder INIT Vektor ($2e0-2e3) übergeben wurde. START ist dann die Variable für die Adresse, wo es denn wirklich los geht. Dann stehen am Anfang noch zwei weiter Sprungbefehle, die im Verlauf des Programms als Unterprogramme aufgerufen werden. Ich habe sie an den Anfang gestellt, damit man sie beim Debuggen leichter findet 🙂 Die Adresse hinter CRUNCH wird überschrieben durch die Adresse der Routine, die die Kommandozeile ausliest. Da diese Adresse erst berechnet werden muss, weil sie nicht bei allen Sparta DOS Versionen gleich ist, kann man sie logischerweise auch nicht fest eintragen. In der nächsten Zeile (LSIOV) kommt etwas Ähnliches. Nur das hier der Platzhalter keine Dummy ist, sondern die tatsächliche Adresse der SIO Routine. Falls der User per Kommandozeile angibt, dass die highspeed SIO von Sparta DOS benutzt werden soll, wird diese Adresse auch berechnet und dort eingetragen. So, nun werden einige Variablen auf Null gesetzt und es wird überprüft, ob sich Sparta DOS Version 3.2 oder höher im Speicher befindet. Falls es nicht Sparta DOS ist oder die Version nicht mindestens 3.2 ist, gibt es entsprechende Fehlermeldungen. Dann wird die Adresse der Routine berechnet, mit der man die Kommandozeilenparameter auslesen kann. Mit JSR CRUNCH wird dann jeweils der nächste Parameter ausgelesen. Wenn keine Parameter (mehr) da sind, setzt der Aufruf der Routine das Flag „Z“ des Prozessors („Z“ von Zero).

In Zeile 2280 wird demnach gefragt, ob überhaupt ein Parameter vorhanden ist und wenn dem so ist, wird der Befehl zur Ausgabe einer Fehlermeldung in Zeile 2290 übersprungen. Der Puffer, in den der erste Parameter gelesen wurde, beginnt aus Sparta DOS internen Gründen immer mit „Dn:“, wobei „n“ eine Laufwerksnummer ist. Wir müssen also jeweils den Anfang überspringen. Zeile 2330 testet also, ob unser erstes übergebenes Zeichen ein Schrägstrich ist. Warum?

Nun, eigentlich sollte der erste Parameter eine Laufwerksnummer sein. A
ber wenn der Benutzer das Programm nicht kennt, wurde es vielleicht ohne Parameter aufgerufen oder vielen anderen Hilfsprogrammen entsprechend mit der Bitte um Hilfe, die man auch in der PC-Welt wie folgt formuliert: „/?“ Obwohl, wenn ich es mir recht überlege, kann man diesen Test weglassen und gleich zum nächsten übergehen. Denn dort wird getestet, ob das erste übergebene Zeichen eine Ziffer von 1 bis 9 ist (Zeile 2370). Wenn dem nicht so ist, wird auch die Kurzanleitung serviert. Damit wäre der Programmteil von Zeile 2330 bis 2360 überflüssig. Satte 7 Bytes, übrigens. Gehen wir mal davon aus, dass wir nun eine akzeptable Laufwerksnummer haben. Dann formen wir jetzt die übergebene Ziffer mal um. Aus einem ASCII Code 49 wird durch Subtraktion von 48 eine echte „1“. Und die brauchen wir ja auch, um den DCB für den SIOAufruf später zu Programmieren. So, dann wird der nächste Kommandozeilenparameter gelesen, von dem erwartet wird, dass er erstens überhaupt vorhanden ist, zweitens auch eine Laufwerksnummer von 1 bis 9 ergibt und drittens nicht identisch ist mit der Nummer des Quelllaufwerkes. Jetzt sind wir bei Zeile 2610 und speichern die Nummer des Ziellaufwerkes.

Als nächstes erwartetet der Sektorkopierer, dass man ihm mitteilen möchte, ob man eine Diskette kopieren („/ c“) oder eine Kopie mit dem Original vergleichen („v“) möchte. Natürlich könnte sich der Benutzer auch entschlossen haben, nach Eingabe der Laufwerksnummern doch noch mal die Hilfe aufzurufen (Z. 2690). Jetzt müssen wir noch zwischen Zeh und Zeh unterscheiden, oder Vau und Vau, oder richtiger, den vorhandenen Unterschied in Groß – und Kleinschreibung ausmerzen. Also machen wir aus Kleinschrift Großschrift und wenn es schon Großschrift war, wird nur Rechenzeit vergeudet. So ca. 0.000002 Sekunden. In Zeile 2840 wird nun überprüft, ob per Kommandozeilenparameter gewünscht wurde, die Highspeed-SIO von Sparta DOS zu benutzen. Falls ja, wird in der Unterroutine SETSIO die Adresse der Sparta DOS SIO berechnet. Dann wird der Wert am Anfang des Programms abgespeichert (Z. 2060), wo ursprünglich die Routine des Ataris ($E459) eingetragen war. Es wird so lange probiert, Parameter von der Kommandozeile zu lesen, bis keine weiteren Parameter vorhanden sind (Z. 2890).

So, das wär’s für heute. Der Eine oder Andere von Euch wird vielleicht bemerken, dass das Listing weitergeht.

Stimmt, ich habe schon ein wenig weiter geschrieben. So sollte zumindest schon einmal eine Statusabfrage an die Laufwerke geschickt werden. Aber mehr dazu in einem eventuellen nächsten Artikel in einem der folgenden Magazine.
Euer Floppydoc

SIO2IDE

Einfaches IDEFestplatteninterface für ATARI-Computer Version 2.1 (rev 1)
Marek Mikolajewski
Danzig Februar 2002
Geschichte der Veränderungen für Version 2.X

05.02.2002
– Zugabe von Festplattenverzeichnisbedienung(neue Befehle SIO)
– Anzahlverkleinerung der benutzten Festplatten bis 7

01.02.2002
– Verbesserung der Beschreibung einiger Datenstrukturen
– Zugabe einer Funktionsbeschreibung für die Klammern INIT_ZW
– Zugabe der Dateibedienung nur für das Lesen (Read Only)

Einleitung
Das große Interesse, welche das Interface SIO2IDE Version 1.0 (letzte Version 1.6) geweckt hat, hat mich veranlasst meine Arbeit, über die folgenden Versionen dieses Bauteils fortzusetzen. Aus vielen möglichen Weiterentwicklungen habe ich mich für das Wichtigste, die Veränderungen der Bedienung der IDE Festplatte, entschieden. Der Einsatz von neuen Prozessoren der Firma Atmel Atmega161 hat die Möglichkeit erbracht, die Programmierung so zu modifizieren, dass man das angeschlossene Gerät mit der IDE-Verbindung vollständig ausnutzen kann (Festplatte, Speicherkarten CF usw.).

Die neue Interfaceversion SIO2IDE ergibt neue Möglichkeiten, von den man bisher nur träumen konnte. Der größte Vorteil des neuen Interface, ist die Möglichkeit der Benutzung der in DOS oder WIN9X formatierten Festplatten, welche an das Dateisystem FAT16 oder FAT32 angelehnt sind. Diese Lösung erlaubt es die Festplatte vollständig, bequem und sicher zu nutzen. Von der Aufbauseite des neuen Interface ist es im Ganzen mit der Vorversion vergleichbar, einer Veränderung benötigt nur der Prozessor. Ich hoffe, dass das neue Interface SIO2IDE noch lieber durch die alten guten 8-mio ATARI-Bit- Computer-Anwender benutzt wird. Interfacecharakteristik Ähnlich wie bei der Version 1.0 benutzt das neue Interface SIO2IDE den ATARIStandartkommunikationskanal. Das ist die SIOVerbindung. Die SIO-Verbindung erlaubt, aus der Sicht der Datenspeicherung, die Bedienung von bis zu 7 Festplatten (Festplattenpartitionen). Diese Anzahl ist von dem benutzten DOS abhängig, z.B. für MyDOS 4.53 beträgt diese Anzahl 8. Der Hauptvorteil dieser Lösung ist, dass die Installation des Interface kein Eingriff in das Computerinnere erfordert und das Gerät einfach aufzubauen ist.

Zusätzlich erlaubt die neue Interfaceversion:
– ganze 16-Bit Datenübertragung auf/von der IDE-Festplatte
– Benutzung der IDE-Festplatten in Arbeitsweise CHS und LBA
– Benutzung der Dateisysteme FAT16 und FAT32
– Benutzung der Dateien im ATR-Format
– Zugang zu Dateien, die in Unterverzeichnissen gespeichert sind

Interfacemodul
Das Interface ist aufgebaut in Anlehnung an
Mikrocontroller der Firma ATMEL Atmega161-8PI
(1024B RAM, 16kB FLASH), auf einseitig bedruckter
Platine mit den Abmessungen 4x7cm. Auf der Inter
faceplatine befinden sich folgende Steuerungs- und
Kontrollelemente:
– Kontrollelemente, die den Interfacezustand beschreiben
– LED signalisiert Stromeinschaltung (PWR_LED)
– LED signalisiert Empfang von Befehlen SIO (SIO_LED)
– LED signalisierend Überfüllung/Fehler der Festplatte (BSY_LED)
– LED signalisiert Festplattenaktivität (IDE_LED)
– Konfigurationsklammern
– Einschaltung/Ausschaltung der Festplatte D1 (HD1_ZW)
– Festplattenwechsel D1: und D2: (INIT_ZW)
– Auswahl der Arbeitsweise Master/Slave (MS_ZW)
– Verbindungen
– Verbindung IDE (40pin) für das Verbinden der Festplatte (IDE_IO)
– Verbindung für die Programmierung des Mikrocontrollers (ISP_IO)
– Verbindung mit Signalen SIO und Strom (SIO_IO)

Programmierung der Steuerung
Programmierung der Steuerung des Interface
SIO2IDE sichert die Realisation folgender Operationen:
– Installation und Bedienung der IDE-Festplatte (FAT16 oder FAT32)
– Abholung und Bedienung der SIO-Befehle
– Standart Befehle
– Zusätzliche Befehle
– Bedienung der Festplattenstruktur (Dateien in ATR-Format, Unterverzeichnisse)

Festplattendatenstruktur
Eine Festplatte, die durch das Interface SIO2IDE benutzt wird, hat eine logische Standartstruktur, welche durch das Betriebssystem DOS oder Win9X eingerichtet wird (Partitionstabelle, boot record, FAT, Hauptverzeichnis usw.). IO2IDE nutzt diese Festplatte in einer typischen Weise, indem es Daten in die Festplattendateien liest oder schreibt. Das Interface bedient nur Dateien in dem ATR-Standartformat. Diese Dateien werden durch SIO2IDE wie ATARI-Festplatten betrachtet, welche durch den Computer wie Festplatten D1 bis D7 betrachtet werden könnten. Konfigurationsdaten sind in Textform in der Datei SIO2IDE.CFG gespeichert. Daten für Interface SIO2IDE müssen auf der Festplatte auf folgende Art und Weise gespeichert werden.

– Startkonfiguration wird abgelesen aus der Datei SIO2IDE.CFG, welche im Hauptverzeichnis der Festpl
atte gespeichert wird
– Konfigurationsdateien und *.ATR können in Unterverzeichnissen gespeichert werden
– Dateien *.ATR, welche für die Konfiguration benutzt werden, sollten sich in einem Verzeichnis mit der Konfigurationsdatei befinden
– Wenn in diesem Unterverzeichnis die Konfigurationsdatei nicht vorhanden ist, dann werden die Dateien *.ATR nicht zugänglich sein
– Dateien *.ATR müssen defragmentiert sein (z.B.: mit Programm DEFRAG.EXE). Dateien, die nicht defragmentiert sind, werden durch SIO2IDE nicht gesehen
– Datei SIO2IDE.CFG darf nicht größer als 512B sein

Für die Kontrolle der Festplattenkonfiguration sollte man das spezielle Programm CHECKFS.EXE benutzen, welches die Dateistruktur im Hauptverzeichnis der Festplatte untersucht und die aktuellen Einstellungen darstellt. Zusätzlich können auf der Festplatte Daten, Programme und Betriebssystem aufbewahrt werden.

– CHECKFS.EXE – Kontrolle der Festplattenkonfiguration
– SCANDISK.EXE – Kontrolle der Zusammengehörigkeit des Dateisystems
– DEFRAG.EXE – Defragmentierung der Dateien auf der Festplatte Konfigurationsdatei

Jede Konfigurationsdatei SIO2IDE.CFG ist normale Textdatei, welche die Art der „Verbindung“, der Dateien *.ATR zu ATARI-Festplatte, beschreibt. Benutzer kann die Datei *.ATR in eine von sieben ATARI-Festplatten D1 bis D7 speichern. In diesem Zusammenhang sollte in die Datei folgende Zeilen eingefügt werden:
D<nr>=<Datei ATR>
Wo:
<nr> – Festplattennummer 1-7
<Datei ATR> – Dateiname ATR (Groß- Buchstaben
ohne Umlaute)

Achtung die Zeile muss mit dem Buchstaben ‘D’ beginnen. Andere Zeilen werden wie Kommentarzeilen behandelt. Die Reihenfolge der Eintragungen ist nicht von Bedeutung. Beispielsweise kann die Datei SIO2IDE. CFG folgende Daten erhalten:

// SIO2IDE v 2.1 configuration file (disks map)
//
// Syntax: D<nr>=<name>
// nr – ATARI disk number (1-7)
// name – ATR file name (without extension)
//
// Warning: Size of this file is limited to 512B
//
D1=MYDOS
D7=IMAGE001
D5=TEST01
D6=TEST02
D2=IMAGE002
// End

Nach dem Start versucht das Interface die Festplatte zu initiieren und ihre Parameter zu lesen. Als nächstes wird die Konfigurationsdatei SIO2IDE.CFG aus dem Festplattenhauptverzeichnis gelesen. Zusätzlich, wenn HD1_ZW zusammengeklammert ist, stellt das Interface niedrigen Stand auf der Linie RESET_OUT ein. Die Änderung auf hohen Stand tritt ein, wenn die Initialisierung erfolgreich abgeschlossen wurde. Erfolgreicher Start des Interface wird durch das erlöschen der BSY_LED signalisiert. In der Zeit der Startsequenz überprüft das Interface die Dateistruktur ATR und „verbindet“ die richtigen Dateien, übereinstimmend mit der Konfiguration zu ATARI-Festplatten. Nach dem erfolgreichen Start ist das Interface bereit, um SIOBefehle zu empfangen. Initialisierungsfehler des Dateisystems wird durch das Blinken der BSY_LEDDiode signalisiert.

Befehle SIO
Befehle SIO, welche durch SIO2IDE akzeptiert
werden, kann man in zwei Gruppen aufteilen:
– Standart Befehle, die den Zugang zu gespeicherten Daten auf der Festplatte ermöglichen
– zusätzliche Befehle, die speziell mit dem Ziel erarbeitet wurden, eine einfache Konfiguration des Interface SIO2IDE zu ermöglichen.

Ein Interface SIO2IDE kann bis zu 7 ATARI Festplatten verwalten. In diesem Fall sind die SIOAdressen 0x31 bis 0x37 besetzt. Es besteht die Möglichkeit ausgesuchte Festplatten mit der Hilfe von Zusatzbefehlen auszuschalten. Festplatte D1 kann man auch ausschalten, indem man die Klammer HD1_ZW heraus nimmt.

Standart Festplattenbefehle
Im folgenden ist die Liste mit den SIOStandartbefehlen, welche durch das Interface verarbeitet werden, dargestellt. Sektornummer für die Operationen W, P und R ist eine Zahl aus dem Bereich 1 bis 65535. Maximaler Wert hängt von der Festplattenpartition ab.

Befehl

Richtung

Datenlänge

Parameter

Beschreibung

0x57 ‘W’ schreiben

128/256

Sektor-Nr. Sektor au
f der Festplatte schreiben
0x50 ‘P’ schreiben

128/256

 

Sektor-Nr.

Sektor auf der Festplatte schreiben ohne Verifikation
0x52 ‘R’ lesen

128/256

Sektor-Nr. lesen des Festplattensektors
0x53 ‘S’ lesen

4

lesen des Festplattenstatus
0x4E lesen

12

lesen des Festplattenblocks PERCOM
0x4F schreiben

12

Schreiben des Festplattenblocks PERCOM
0x21 ‘!’ lesen

128/256

Festplattenformatierung

In diesem Fall ist die Länge des Datenblocks, für Sektorennummern größer als 4, gleich mit 128B oder 256B. Sektoren 1, 2 und 3 haben immer die Länge 128B. Festplattenstatus 4B ist immer gleich und erlaubt die Abmessungen des Festplattensektors (128B Single Denisity, 256B Double Density), abhängig von Dateityp ATR, zu beschreiben. Ablesen und beschreiben des PERCOMBlocks 12 B ist implementiert, mit dem Hintergedanken an DOS-Befehle, die die Festplattenparameter einstellen (z.B. Option ‘O’ MyDOS). Ablesen des PERCOM gibt die Informationen über, z.B. die Anzahl der Spuren auf der Festplatte (immer 1), Abmessungen des Sektors (128B oder 256B) und maximale Anzahl der Festplattensektoren (Abmessungen der Partition). Daten, die während der PERCOM Beschreibung verschickt werden, werden nicht durch SIO2IDE benutzt, nur der Befehl wird durch das Interface bestätigt. Festplattenformatierung (Partition) wird ähnlich wie die Beschreibung des PERCOM nur durch das Interface bestätigt. Zurück geschickt wird Datenblock 128B oder 256B, indem zwei erste Byte den Wert 0xFF haben. Diese Daten signalisieren, dass die Operation richtig durchgeführt wurde.

Zusatzbefehle SIO2IDE
Zusatzbefehle SIO2IDE werden durch das Interface akzeptiert, wenn abgeholte Einrichtungsadresse den Wert 0x71, für die Arbeitsweise als Master (MS_ZW zusammengeklammert ), oder 0x72, für die Arbeitsweise als Slave (MS_ZW nicht zusammengeklammert), hat. Diese Lösung für den Zugang zu der Interfacekonfiguration ergibt die Möglichkeit gleichzeitig zwei Festplatten SIO2IDE anzuschließen ohne, dass eine Kollision mit Standartadressen entsteht, die für ATARI-Festplatten verwendet werden. Die Liste der Zusatzbefehle ist in der folgenden Tabelle dargestellt.

Befehl

Richtung

Datenlänge

Parameter (aux1)

Beschreibung

0x11 lesen 15B Festplatten-Nr.

Lesen der Festplattenbeschreibung (Datei ATR).

0x12 schreiben 15B Festplatten-Nr.

Schreiben der Festplattenbeschreibung (Datei ATR)

0x13 lesen 15B

Lesen der ersten Dateibeschreibung ATR aus dem aktuellen Verzeichnis. Gibt Nullen raus, wenn ein Fehler vorliegt.

0x14 lesen 15B

Lesen der nächsten Dateibeschreibung ATR aus dem aktuellen Verzeichnis. Gibt Nullen aus, wenn ein Fehler vorliegt.

0x15 lesen 1B Festplatten-Nr.

Festplattenabschaltung

0x16 lesen 1B

Schreiben der aktuellen Konfiguration in die SIO2IDE.CFG-Datei im aktuellen Verzeichnis

0x17 lesen 10B

Lesen der Festplattenparameter

0x18 lesen 4B

Lesen der Dateisystemparameter

0x19 lesen 15B

Lesen der Beschreibung des ersten Unterverzeichnisses im aktuellen Verzeichnis. Gibt Nullen raus, wenn ein Fehler vorliegt.

0x1A lesen 15B

Lesen der Beschreibung des nächsten Unterverzeichnisses im aktuellen Verzeichnis. Gibt Nullen raus, wenn ein Fehler vorliegt.

0x1B schreiben 15B

Wechsel des laufenden Verzeichnisses

0x1C lesen 15B

Lesen des laufenden Verzeichnisses

0x1D lesen 15B

Initialisierung des aktuellen Verzeichnisses. Gibt initialisiertes Verzeichnis oder Nullen aus.

Befehle 0x11, 0x12 und 0x15 erlauben das Lesen und Aktualisieren der inneren Festplattentafel, die durch SIO2IDE bedient wird. Befehle 0x13 und 0x14 geben die Möglichkeit alle richtigen ATR-Dateien, die auf der Festplatte im aktiven Verzeichnis zugänglich sind, zu entnehmen. Daten, die ATARI-Festplatten, ATR-Dateien und Festplattenverzeichnisse beschreiben, haben folgendes Format:

Daten

Byte

Beschreibung

Bezeichnung Datei/Verzeichnis 0-7

Bezeichnung Datei/Verzeichnis (8 Zeichen) aufgefüllt mit Leerzeichen.

Startsektor 8-11

Zahl 32-Bit beschreibend die Nummer des ersten Datei/Verzeichnis-Sektors

Anzahl der Sektoren 12-13

Gesamte Anzahl der Sektoren in einer Datei.

Flaggen 14

Bit 7 bedeutet, dass die Datei richtiges Format hat (ATR).

Bit 6 bedeutet, dass die Sektoren die Länge 256B haben.

Bit 2 bedeutet, dass die Datei nur zu lesen ist.

Bit 1 bedeutet, dass die Struktur die Verzeichnisbeschreibung beinhaltet.

Achtung: Daten, die Dateien/Verzeichnisse beschreiben sollten, werden nur wie Daten zum Lesen benutzt. Einzige Ausnahme ist Bit 2 in Byte der Flaggen. Festplattenparameter erlauben die Beschreibung der physischen Eigenschaften der Festplatte, welche mit SIO2IDE verbunden ist(nur zum Lesen).

 

Daten

Byte

Beschreibung

Anzahl der Zylinder 0-1

Zugängliche Anzahl der Zylinder (Arbeitweise CHS).

Anzahl der Köpfe 2

Zugängliche Anzahl der Köpfe (Arbeitsweise CHS).

 

Sektoren/Spur

3-4

Anzahl Sektoren auf der Spur (Arbeitsweise CHS).

Anzahl der Sektoren 5-8

Anzahl der zugänglichen Sektoren (Arbeitsweise CHS und LBA).

Flaggen 9

Bit 7 bedeutet, dass die Festplatte in der LBA-Weise arbeitet. In der Arbeitsweise LBA ist nur die Anzahl der zugänglichen Sektoren auf der Festplatte von Bedeutung.

Aktuelle Parameter des Dateisystems beinhalten folgende Struktur (nur zum Lesen): siehe Tabelle auf der gegenüberliegenden Seite Befehle 0x15 und 0x16 üben Operation aus und wenn alles OK ist, geben sie Byte 0xFF raus. Befehle 0x19 bis 0x1C geben die Möglichkeit das aktuelle Verzeichnis auf der Festplatte durchzuschauen und zu wechseln. Um das aktuelle Verzeichnis zu initialisieren dient Befehl 0x1D. Achtung: Für korrekte Arbeit der Befehle 0x13 bis 0x16 ist unbedingt nötig, dass das aktuelle Verzeichnis, auch das korrekt initialisierte Verzeichnis, mit dem Befehl 0x1D, ist. Alle Zusatzbefehle werden durch ein spezielles Programm, das für die Interfacekonfiguration verwendet wird, benutzt (FDISK.COM). Sie können auch in anderen Programmen, die das Interface SIO2IDE bedienen, verwendet werden.

 

Daten

Byte

Beschreibung

Typ der Partition 0

Byte beschreibend den Typ der Partition

Sektoren/Klaster 1

Anzahl der Sektoren auf dem Festplattenklaster.

Anzahl der Festplatten 2

Aktuelle Anzahl „verbundener” ATARI-Festplatten.

Nummer der Version 3

Nummer der Version der Programmierung.

Aufbau und Innbetriebnahme
Wer nur einmal ein einfaches elektronisches Bauteil zusammengebaut hat, dem sollte der Aufbau SIO2IDE keine Schwierigkeiten verursachen. Die untere Beschreibung bezieht sich auf den Aufbau SIO2IDE in Anlehnung an originale Interfacedruckplatte. Das Schema der Einrichtung wurde so ausgearbeitet, dass der Aufbau des Bauteil auf einer universellen Platte sehr einfach ist (Prototyp ist auf zweiseitiger universeller Platte, mit metallisierten Löchern, entstanden). Beschreibung der Montage nimmt an, dass das Interface zusammen mit der Festplatte IDE 2.5 Zoll, im inneren des Computers ATARI 65XE oder 130XE, eingebaut wird. Selbstverständlich kann man SIO2IDE auch ohne Probleme außerhalb des Computers platzieren z.B. im Gehäuse einer Festplattenstation.

Montagetipps
Wenn man alle Teile hat, kann man mit der Montage des SIO2IDE beginnen. Ich werde hier keine Romane schreiben, wie man den Lötkolben hält. Ich nehme an, dass derjenige der sich an das Zusammenbauen setzt, weiß was er macht. Ich rate jedoch den Einbau eines Untergestells unter den Mikrocontroller (es kann in näherer Zukunft nützlich sein). Der Typ der Anschlüsse SIO_IO und ISP_IO ist frei wählbar, aber sie sollten nicht zu groß sein, damit der Einbauplatz, auf der Platte und im inneren des Computers, ausreicht. Die Verbindung mit dem ATARI-Computer sollte in Übereinstimmung mit der Beschreibung auf dem Schemata ausgeführt sein. Ich empfehle die Anlötung eines Bundes von fünf Leitungen, die am Ende einen Stecker besitzen, der direkt zu SIOATARI- Verbindung passt. Der Stecker sollte die Signalaufteilung entsprechend der Interfacedose SIO_IO besitzen.

Innbetriebnahme
Wenn die ganze Elektronik SIO2IDE „sich zusammenhält“ können wir probieren das Gerät zu installieren.

ACHTUNG: Untersuche zwei mal alle Verbindungen,
bevor du den Strom für das Gerät einschaltest.

Die erste Tätigkeit ist das Programmieren des Mikrocontrollers.
Bevor man den Mikrocontroller programmiert sollte nur noch die Programmierungsleitung, in Übereinstimmung mit ideellem Schemata vorbereitet werden. Die Programmierung ist eine einfache Tätigkeit und setzt sich zusammen aus:
– Verbindung von SIO2IDE (ISP_IO) mit dem LPT1- Anschluß des PC-Computers, die Tätigkeit wird ausgeführt bei ausgeschaltetem Strom für das Interface.
– Starten der Datei PRG.BAT, welche sich zusammen im Paket mit dem Interfaceprogramm (SIO2IDE.HEX) befindet. Nach der Innbetriebnahme sollten alle Empfehlungen nacheinander ausgeführt werden.

Ist die Programmierung des Gerätes OK verlaufen, dann können wir die eigentliche Montageprozedur und Innbetriebnahme des SIO2IDE beginnen. Zuerst sollte die vorhandene Festplatte IDE 2.5 Zoll und das Interface SIO2IDE, im inneren des ATARIComputers, eingebaut werden. Im ATARI 65XE und 130XE kann man das auf folgende Weise durchführen. (siehe nebenstehende Abbildung) Festplatte und Interface kann man auf einfache Art und Weise an das Blech, das den Monitor von der ATARI-Hauptplatte abschirmt, anschrauben. Zu diesem Zweck ist es am Besten, wenn man ein paar 2,5mm Schrauben verwendet, mit Abstandshülsen von ca. 1cm.

Wenn alles solide Eingebaut ist, muss man das Interface mit der ATARI-Festplatte und dem ATARIComputer verbinden. Zuerst verbinden wir Computer (Verbindung SIO) mit der Interfacedose SIO_IO. Nächstes Kabel, mit der Länge von ca. 10cm, verbindet Festplatte IDE mit dem Interface. Aufgrund dessen, dass SIO2IDE standardmäßig die 40pin IDE-Verbindung verwendet, sollte man einen einfachen Übergang 2,5″ für Festplatten, verwenden (Erhältlich in Computergeschäften). Die letzte Tätigkeit ist das Anschließen der +5VDC-Festplattenstromversorgung. Am Besten ist es die Leitungen zu verbinden, die aus dem Übergang zu Stromversorgung +5VDC rausgeführt sind und nach dem Einschalten der ATARI-Stromversorgung sofort zugänglich sind.

Festplatteninitialisierung
Von der ersten Innbetriebnahme sollte man die Jumper des Interface SIO2IDE richtig einstellen und die Startfestplatte vorbereiten( am Besten durch SIO2PC). Die Klammern sollten auf folgende Weise eingestellt sein:
– Jumper HD1_ZW offen (Festplatte D1 ausgeschaltet)
– Jumper INIT_ZW offen (normale Festplattenreinfolge D1: und D2:)
– J u m p e r M S _ Z W g e s c h l o s s e n (Interfacearbeitsweise als Master)

Auf der Startfestplatte D1 sollte sich das DOS (ich empfehle MyDOS 4.53) und das Programm FDISK.COM befinden. Wir schalten ATARI-Computer ein und beobachten, was passiert. Computer sollte normal starten und das Interface sollte , nach dem Festplattenstart und Dateisysteminitialisierung, keine Fehler signalisieren (BSY_LED Ausgeschaltet). Die Dateisysteminitialisierung könnte einige Augenblicke dauern, was von der Anzahl der Dateien ATR, der Größe und der Geschwindigkeit der Festplatte abhängig ist. Um festzustellen, welche Parameter unserer Festplatte und welche Dateien ATR zugänglich sind, sollte man jetzt Programm FDISK.COM starten. Das Programm erlaubt die Untersuchung, welche Dateien ATR und ATARI-Festplatten zugänglich sind. Möglich ist auch der Wechsel der „Festplattenverbindung“ und der Wechsel des aktivierten Verzeichnisses (Achtung: Interface beginnt die Arbeit immer im Hauptverzeichnis der Festplatte)

ACHTUNG: Es wird empfohlen, dass man die Festplattenparameter aufzeichnet (Ihre Länge). Diese Daten werden bei der Formatierung benötigt. Wichtiges Element der Interfacekonfiguration ist die Einstellung der Festplattensequenz. Festplattensequenz erlaubt die Beschreibung, welche Dateien ATR als ATARI-Festplatten D1 bis D7 gesehen werden. Festplattensequenz ist abhängig von der Konfiguration, die in der Datei SIO2IDE.CFG gespeichert ist. Das Programm FDISK.COM erlaubt den Wechsel der Festplattensequenz aus der ATARI Ebene und Speicherung der veränderten Datei SIO2IDE. CFG auf der Festplatte. Festplattensequenz ist ein wichtiges Element des Interface SIO2IDE, welches analog zum Wechseln von Disketten im Standartsystem zu sehen ist. Zusätzlich ist es im System, welches zwei SIO2IDE (Master und Slave) verwendet, auf einfache Art und Weise möglich, die Festplatten auf beide Interface aufzuteilen. Wir können die jetzt zugängliche Festplatten formatieren, indem wir die Empfehlungen des Betriebssystems befolgen.

Im folgenden ist für das System MyDOS 4.53, die Tätigkeitssequenz für jede Partition (Festplatte D2 bis D7) dargestellt:
– Option ‘O’ Nummer der Festplatte, als nächstes N
, Y, Y und Partitionsgröße eingeben, mit dem Ziel die Festplattenparameter für DOS einzustellen
– Option ‘I’ Nummer der Festplatte, als nächstes Y eingeben, mit dem Ziel die Festplatte zu formatieren.

ACHTUNG: Wenn auf unserer Festplatte mehr als 8 Dateien ATR sind, dann sollten die folgenden Dateien auf den Festplatten D2 bis D7 gespeichert werden. Als nächstes formatieren in Übereinstimmung mit der oberen Beschreibung.

Um die Festplatte D1 zu initialisieren sollte die ausgesuchte Datei ATR für diese Festplatte z.B. auf der Festplatte D2 gespeichert werden. Dann formatieren und als nächstes Option ‘H’ – aufspielen der DOSDateien. Zusätzlich wird das Überspielen des Programms FDISK.COM zu einer ATR-Datei empfohlen. Nach diesen Tätigkeiten ist die Festplatte fertig zum Arbeiten. Es ist noch geblieben die richtige Einstellung der Festplattensequenz. Festplatte D1 sollte mit der Partition, welche DOS beinhaltet, übereinstimmen. ACHTUNG: Alle Konfigurationstätigkeiten können auch durchgeführt werden, indem man die Festplatte an PC-Computer anschließt und unter der Benutzung eines ATARI-Computer-Emulator die Einrichtung ausführt. Bei der Gelegenheit kann man auf bequeme Weise alle Programme, die in Dateien *.ATR sind, auf die Festplatte überspielen. Man sollte dabei nicht vergessen die Daten auf der Festplatte zu defragmentieren. Jetzt können wir den Computer einschalten.

Unsere Startfestplatte können wir ausschalten und die Einstellung der Jumper HD1_ZW und INIT_ ZW ändern. Wir Schalten unser ATARI erneut ein. Computer startet wie ohne Festplatte (BASIC meldet sich). Interface SIO2IDE geht nach dem Festplattenstart in den Erwartungsmodus auf SIO-Befehle über (eingeschaltet nur Diode PWR_LED). Bedauerlich ist, dass wegen dem langsamen Festplattenstart es nicht möglich ist, dass das DOS automatisch geladen wird (Um auf DOS überzugehen, sollte man zu SELFTEST (BYA aus BASIC) übergehen und als nächstes auf der Tastatur RESET ATARI drücken. Jetzt sollte der Computer beginnen das DOS zu laden. Nach dem DOS-Start von der Festplatte können wir die Innbetriebnahme des Interface SIO2IDE als abgeschlossen betrachten.

Optionale Verbesserungen
Die Grundeinstellung des Interface SIO2IDE gibt dem Bediener vollständigen Zugang zu gesammelten Programm auf der HDD, aber es sind ein paar Schönheitsfehler dabei.
– Es ist nicht möglich, dass DOS automatisch eingelesen wird, nachdem die Stromversorgung eingeschaltet wurde.
– Die Übertragungsgeschwindigkeit ist auf 19200 „Einheiten“ begrenzt (Standart SIO ATARI)

Durch einen kleinen Eingriff in das Innere des Computers kann man diese Schönheitsfehler eliminieren. Die unten dargestellten Modifikationen beziehen sich auf ATARI-Computer der Serie XE. Modifikation des RESET-Systems Um den Start des Computers bis zu der Einschaltung der Festplatte und Initialisierung des Dateisystems zu verzögern, ist eine kleine Modifikation des ATARI Reset-Systems unumgehbar. Modifikation nutzt das nicht verwendete Türchen AND, aus dem System U18 (Endungen 8,9 und 10), und Ausgangslinie RESET_OUT, des SIO2IDE-Interface, aus. ACHTUNG: Es muss die Endung Nr.3, des Systems U17 von der ATARI-Platte, abgeschnitten und nach oben angehoben werden. Diese Tätigkeit sollte mit der größten Vorsicht geschehen, weil es einfach möglich ist das System U17 zu beschädigen. Änderungen im ATARI-Betriebssystem Es ist z.B. möglich die Funktion der Taste OPTION zu verändern. Es wäre bequem, wenn ohne das drücken der OPTION-Taste während des ATARIStarts, der Computer BASIC ausschalten und DOS laden würde.

Zweite bequeme Funktion ist die Möglichkeit des „kalten“ Computerneustarts (cold start) ohne die Ausschaltung des Computers (Achtung: Die Startprozedur SIO2IDE speziell für große Festplatten kann sehr lange dauern). Das ist speziell behilflich, wenn wir schnell, aus irgendeinem Programm, ins DOS wollen und RESET nicht funktioniert. Die einfachste Methode diese Änderungen einzuführen ist der Wechsel von OS ATARI auf ein anderes System z.B.: Qmeg+OS 4.04. Der Einsatz dieses Betriebsystems erlaubt in vollem Maße und bequem die Benutzung des Interface SIO2IDE.

Anhang
Um das Interface SIO2IDE zu bauen und bedienen
sind folgende zusätzliche Elemente notwendig:
– Ideelles- und Montageschemata (S2I_SCH_2.0.DOC)
– Interfaceprogramm (SIO2IDE.HEX)
– Interfacekonfigurationsprogramm für ATARI (FDISK.COM)
– Programm für PC für die Überprüfung der Konfiguration (CHECKFS.EXE)
– Programm für PC, um die ATR-Dateien zu erstellen (MAKEATR.EXE)

Endbemerkungen
Das Interface SIO2IDE ist kostenlos zugänglich in der Form, welche dieses Dokument beschreibt. Der Verfasser übernimmt keine Verantwortung für nicht richtiges arbeiten der angeschlossenen Programmierung und Geräte. Außerdem warte ich auf alle Anregungen betreffend SIO2IDE und Informationen über gefundene Fehler. Das erlaubt mir das SIO2IDE soweit zu verbessern, damit das Interface die führende Lösung, in dieser Interfaceklasse für den kleinen ATARI, wird.
Ich wünsch viel erfolg
Marek Mikolajewski

e-mail: marekm@aritech.com.pl
Dieser Artikel wurde von Christoph Stachowiak
aus dem polnischen übersetzt.
Das Atari Programm inkl. einer Demo befindet
sich auf der Magazindiskette.

Die PC-Programme, das Programmiertool und die Schaltpläne stehen auf der ABBUC Homepage zum Download bereit. Sollte jemand keinen Internetzugang haben, kann er eine 3.5″ Diskette mit Rückporto zur Clubzentrale schicken.

CC65-Einsteigerkurs, Teil 3

die Bibliotheksroutinen
Was die Programmiersprache C aus der Vielzahl der in den siebziger Jahren und vorher erschienenen Sprachen heraushebt, ist die definierte Ansammlung von Bibliotheksroutinen (Library). Diese Routinensammlung versorgt den C-Programmierer mit den grundlegenden Funktionen der täglichen Arbeit. Und da diese Routinen ausreichen um auch anspruchsvolle Textmodusprogramme erstellen zu können, sind diese Programme über Rechnergrenzen kompatibel. Sie lassen sich (meist) auf allen Systemen mit C-Compilern übersetzen. Dieser Standard ist nun auch genormt und wird ANSI Standard genannt. Leider ist die Welt nicht ganz Ideal, und in der Realität gibt es bei fast jedem C-Compiler Abweichungen von diesem Standard. Bei der CC65 C-Library sind die Abweichungen zum ANSI-Standard zum Teil recht groß, da sich einige Routinen auf einem 8-Bit Computer nur umständlich erstellen lassen (Umgebungsvariablen abfragen), sie keinen Sinn machen (Zeitroutinen auf Rechnern ohne Uhr) oder weil bisher noch niemand Zeit gefunden hat, diese Routinen zu schreiben. Die Atari-Library des CC65 ist die umfangreichste des CC65 Compilers, da die Atari-Library auch Dateifunktionen enthält. Im folgenden möchte ich die Standard-Library Befehle des Atari CC65 Compiler darstellen. Diese Liste erhebt keinen Anspruch auf Vollständigkeit. Auch ersetzt diese Liste kein C-Lehrbuch, sonder ist als Kurzdokumentation zu verstehen.

Beschreibung weiterer Funktionen folgt in den nächsten Teilen dieses Kurses. ASSERT (definiert in assert.h) void assert(expr) erlaubt Programmabbruch, wenn die Bedingung „expr“ fehlschlägt. Mit diesem Befehl können Fehlersituationen im Programm abgefangen werden. Beispiel:

error = formatDisk(1);
assert(error = FALSE);

ISALNUM (definiert in ctype.h)
int isalnum (int c)
testet ob „C“ ein Alphanumerisches Zeichen (ohne
Umlaute) ist (Rückgabe TRUE).
ISALPHA (definiert in ctype.h
)
int isalpha (int c)
testet ob „C“ ein Alphabethisches Zeichen (a-z,A-Z,
ohne Umlaute) ist (Rückgabe TRUE).
ISCNTRL (definiert in ctype.h)
int iscntrl (int c)
testet ob „C“ ein Steuerzeichen ist (Rückgabe TRUE).
ISDIGIT (definiert in ctype.h)
int isdigit (int c)
testet ob „C“ eine Zahl ist (Rückgabe TRUE).
ISGRAPH (definiert in ctype.h)
int isgraph (int c)
testet ob „C“ ein Grafikzeichen ist (Rückgabe TRUE).
ISLOWER (definiert in ctype.h)
int islower (int c)
testet ob „C“ ein Kleinbuchstabe (ohne Umlaute) ist
(Rückgabe TRUE).
ISPRINT (definiert in ctype.h)
int isprint (int c)
testet ob „C“ ein druckbares Zeichen (ohne Umlaute)
ist (Rückgabe TRUE).
ISPUNCT (definiert in ctype.h)
int ispunct (int c)
testet ob „C“ ein Satzzeichen ist (Rückgabe TRUE).
ISSPACE (definiert in ctype.h)
int isspace (int c)
testet ob „C“ ein Trennzeichen (Leerzeichen, TAB etc)
ist (Rückgabe TRUE).
ISUPPER (definiert in ctype.h)
int isupper (int c)
testet ob „C“ ein Grossbuchstabe (ohne Umlaute) ist
(Rückgabe TRUE).
ISXDIGIT (definiert in ctype.h)
int isxdigit (int c)
testet ob „C“ eine Hexadezimalzahl (0-F) ist (Rückgabe
TRUE).
ISBLANK (definiert in ctype.h) (Kein ANSI
Standard, CC65 und GNU C Erweiterung !!)
int isblank (int c)
testet ob „C“ ein Leerzeichen ist (Rückgabe TRUE).
TOUPPER (definiert in ctype.h)
int toupper (int c)
wandelt das Zeichen des Wertes „C“ in den entsprechenden
Grossbuchstaben um.
TOLOWER (definiert in ctype.h)
int tolower (int c)
wandelt das Zeichen des Wertes „C“ in den entsprechenden
Kleinbuchstaben um.
ERRNO (definiert in errno.h)
int errno
Gibt die Fehlernummer der letzten Funktion zurück. Die
Errorcodes sind in errno.h definiert: (siehe Kasten
rechts)
MALLOC (definiert in stdlib.h)
void* malloc (size_t size)
reserviert einen Speicherbereich von „size“ Byte. Zurückgegeben
wird ein Zeiger auf den reservierten Speicherbereich,
oder NULL, wenn ein Fehler aufgetreten ist
CALLOC (definiert in stdlib.h)
void* calloc (size_t count, size_t size)
reserviert einen Speicherbereich für ein Array von
„count“ Elementen mit „size“ Byte. Zurückgegeben wird
ein Zeiger auf den reservierten Speicherbereich, oder

ENOENT

1

No such file or directory

ENOMEM

2

Out of memory

EACCES

3

Permission denied

ENODEV

4

No such device

EMFILE

5

Too many open files

EBUSY

6

Device or resource busy

EINVAL

7

Invalid argument

ENOSPC

8

No space left on device

EEXIST

9

File exists

EAGAIN

10

Try again

EIO

11

I/O error

EINTR

12

Interrupted system call

ENOSYS

13

Function not implemented

ESPIPE

14

Illegal seek

EUNKNOWN

15

Unknown OS specific error

NULL, wenn ein Fehler aufgetreten ist
REALLOC (definiert in stdlib.h)
void* realloc (void* block, size_t size) verändert die Größe eines bereits vorher reservierten Speicherbereichs. Zurückgegeben wird ein Zeiger auf den reservierten Speicherbereich, oder NULL, wenn ein Fehler aufgetreten ist
FREE (definiert in stdlib.h)
void free (void* block) der Speicherbereich, auf den der Zeiger „block“ Zeigt wird freigegeben. Auf freigegebenen Speicherbereich darf nicht mehr zugergriffen werden!
RAND (definiert in stdlib.h)
int rand (void) eine Zufallszahl zwischen 0 und RAND_MAX (beim CC65 = 0x7FFF = 32767) wird zurückgegeben.

SRAND (definiert in stdlib.h)
int srand (unsigned seed)
diese Funktion steuert das Verhalten der Zufallszahlenerzeugung.
Ist „seed“ > 1m so wird immer eine andere
Folge von Zufallszahlen erzeugt, ist „seed“ = 1 so wird
immer die gleiche Folge von Zufallszahlen erzeugt.
ABORT (definiert in stdlib.h)
void abort (void)
Das Programm wird mit eine Fehlermeldung beendet.
Ein Fehlercode von „3“ wird an das aufrufende Programm
übergeben (wenn ein solcher Mechanismus
unterstützt wird). Auf dem Atari ist mir kein DOS bekannt
welches einen Rückgabecode auswertet.
EXIT (definiert in stdlib.h)
void exit (int ret)

Dieser Befehl beendet das Programm. Alle Dateibuffer werden geschlossen, der Wert „ret“ wird an das aufrufende Programm übergeben (siehe auf Anmerkung zu ABORT).

An dieser Stelle endet der dritte Teil des CC65 Kurses. Bitte Teilt mir unter carsten@ abbuc-raf.de mit, wenn Ihr in diesem Kurs einen Fehler entdeckt habt. Dieser Kurs wird mit Verzögerung auch im Internet erhältlich sein (unter Http://www.strotmann.de). In der nächsten Ausgabe erwarten Euch weitere Befehle aus der C-Standard-Library sowie eine Beschreibung, wie Programme von anderen Systemen mittels CC65 portiert werden können. Hierzu nehmen wir uns ein Linux-Open-Source Programm vor (kein großes komplexes, sondern ein kleines feines) und portieren es auf den Atari mittels CC65.

Bis dahin – happy coding
Euer
Carsten Strotmann

Das (vor)Letzte

Bei einer IT-Firma werden 5 Kannibalen als Programmierer angestellt. Bei der Begrüßung der Kannibalen sagt der Chef: „Ihr könnt jetzt hier arbeiten, verdient gutes Geld und könnt zum Essen in unsere Kantine gehen. Also lasst die anderen Mitarbei
ter in Ruhe.“ Die Kannibalen geloben, keine Kollegen zu belästigen. Nach vier Wochen kommt der Chef wieder und sagt: „Ihr arbeitet sehr gut. Nur uns fehlt eine Putzfrau, wisst Ihr was aus der geworden ist?“ Die Kannibalen antworten alle mit nein und schwören, mit der Sache nichts zu tun zu haben. Als der Chef wieder weg ist fragt der Boss der Kannibalen: „Wer von Euch Affen hat die Putzfrau gefressen?“ Meldet sich hinten der letzte ganz kleinlaut: „Ich war es.“ Sagt der Boss: „Du Idiot, wir ernähren uns seit vier Wochen von Teamleitern, Abteilungsleitern und Projekt-Managern, damit keiner etwas merkt und Du Depp musst die Putzfrau fressen!“

Ein kleines amerikanisches Flugzeug hat sich im dichten Nebel verflogen. Der Pilot kreist um das oberste Stockwerk eines Bürohauses, lehnt sich aus dem Cockpit und brüllt durch ein offenes Fenster: „Wo sind wir ?“ Ein Mann blickt von seinem PC auf: „In einem Flugzeug!“ Der Pilot dreht eine scharfe Kurve und landet fünf Minuten später mit dem letzten Tropfen Treibstoff auf dem Flughafen von Seattle. Die verblüfften Passagiere wollen wissen, wie der Pilot es geschafft habe, sich zu orientieren. „Ganz einfach“, sagt der Pilot. „Die Antwort auf meine Frage war kurz, korrekt und völlig nutzlos. Ich hatte also mit der Microsoft-Hotline gesprochen. Das Microsoft- Gebäude liegt 5 Meilen westlich vom Flughafen Seattle, Kurs 87 Grad.“

ABBUC e.V. PD-Neuheiten

643 MAPDA Assembler 1S/ED
Shareware. Vielleicht meldet sich mal eines der ehemaligen Mitglieder und gibt uns eine Anleitung?

644 Der Digitale Redakteur 1S/ED
Die allererste Version dieses netten Programms von Gregor Tielsch aus dem Jahr 1987. Im Vergleich mit der Version 2 und 3 ist die Entwicklung und Verbesserung der Software gut zu beobachten.

645 MAPDA Sound Demos 1S/ED
Eine Sammlung von Sounds, die Klaus Hoffmann damals für die MAPDA zusammengestellt und mit grafischen Animationen versehen hat. Da alles in TurboBASIC programmiert ist, kann man nützliche Anregungen daraus entnehmen.

645 Erweiterung zum TurboBASIC 1S/SD
Mit dieser Ergänzung wird TurboBASIC XL um einige Funktionen und Befehle erweitert. Das DOC-File ist in Deutsch und liefert alle notwendigen Informationen. Für die Blitter-Funktion benötigt man den Software-Blitter aus dem alten ATARI-magazin. Die Disk enthielt leider keinen Hinweis auf den Programmierer. Vielleicht liest er diese Zeilen und meldet sich beim ABBUC?!

646 Erweiterung zum TurboBASIC 1S/SD
Mit dieser Ergänzung wird TurboBASIC XL um einige Funktionen und Befehle erweitert. Das DOC-File ist in Deutsch und lie-fert alle notwendigen Informationen. Für die Blitter-Funktion benötigt man den Software-Blitter aus dem alten ATARI-magazin. Die Disk enthielt leider keinen Hinweis auf den Programmierer. Vielleicht liest er diese Zeilen und meldet sich beim ABBUC?!

647 ATARI DOS 2.5 US 1S/ED
Das beste DOS von ATARI in der letzten veröffentlichten Version von 1985 mit den Utilities.

648 ATARI DOS 3.0 US 1S/SD
Das Unvollendete – ein nicht ganz ausgefeiltes DOS, das trotzdem interessante Möglichkeiten bietet und in der Sammlung nicht fehlen darf.

649 Speedy System Disk 1S/SD
Die Utility-Disk vom Compy-Shop für die Speedy 1050 in all ihren Varianten. Speedy Menue, Speed Init (Game DOS), Speedy Backup V. 1.3, Sektor Kopierer HS, Disk Mapper V. 1.2, HSS-Kopierer nur für die Speedy.

ABBUC e. V. – Public Domain Software-Bibliothek
c/o Walter Lojek – Esinger Steinweg 98c – 25436 Uetersen

 

Umsetzung des Print-Magazins zu Text/HTML
Scannen, Layout, HTML Andreas Bertelmann
Rohdaten als PDF, Grafik Wolfgang Burger