Posted-By: auto-faq 2.4
Archive-name: de-amiga-faq/part1 Last-modified: Dienstag, den 9. März 1996 Posting-Frequency: ever fourth week Posting-Frequency: Alle vier Wochen See reader questions & answers on this topic! - Help others by sharing your knowledge Häufig gestellte Fragen (FAQ) zum Amiga [1/4] ---------------------------------------------- Es folgt eine Liste häufig gestellter Fragen (FAQ = Frequently asked questions). Sie ist vor allem für neue Anwender gedacht, aber möglicherweise finden auch erfahrene Anwender Interessantes. Dies ist Teil 1, der zweite beginnt mit Kapitel 4, der dritte mit Kapitel 5, der vierte mit Kapitel 7. Die Liste ist in Ascii-Format, damit sie von jedem gelesen werden kann. Sie ist auch in AmigaGuide-, Dvi- und html-Format (für WWW-Server) erhältlich als Teil des Amiga-FAQ-Archivs. (Datei docs/misc/AmigaFAQg.lha auf dem Aminet) Bitte beachten Sie das Folgende: - Änderungen der letzten zwei Wochen sind markiert. ! diese Zeile bzw. dieser Abschnitt wurden geändert + diese Zeile ist neu < vor dieser Zeile wurde etwas gelöscht - Ein Index ist am Ende des vierten Teils. Wenn auch dies nicht weiterhilft: Bitte schicken Sie mir eine E-Mail. Vielleicht kann ich eine Antwort in die FAQ aufnehmen. - Vorschläge, Beiträge, Kritik und Bierflaschen sind sehr willkommen. :-) Ignaz Kellerer Georg-Habel-Str. 11 81241 München (Germany) Tel. (+49) 089 / 885147 Internet: kellerer@informatik.tu-muenchen.de ==========================(Schnipp-Schnapp)=================================== Amiga-FAQ ********* Dieses Dokument enthält einige häufig gestellte Fragen und versucht, Antworten zu geben. Seine Absicht ist es, neuen Benutzern zu helfen und die Zahl der News-Artikel zu reduzieren, die erfahrene Benutzer nicht mehr sehen wollen. Bitte beachten Sie, daß viele Abschnitte bis jetzt noch fast völlig leer sind. Ich verstehe von den betreffenden Abschnitten nichts und habe nicht das Gefühl, als ob ich daran etwas ändern könnte. Damit sind Sie an der Reihe: Füllen Sie die Lücken und teilen Sie mir mit, was man hier noch aufnehmen kann! Disclaimer 1 Hardware 1 Was sind 68EC020, 68EC030 und 68LC040? 2 Was ist ein mathematischer Coprozessor (FPU) ? 3 Kann ich eine 3.5'-Festplatte im A1200 verwenden? 2 Das Betriebssystem 1 Kann ich eine andere als die eingebaute Kickstart benutzen? 2 Die grafische Oberfläche des Amiga 1 Was ist MUI? 2 Iconsammlungen und Hintergründe 3 Was entspricht unter AmigaDOS dem . (Aktuelles Directory)? 4 Der Queue-Handler PIPE: 1 Verwendung von PIPE: in einer AmigaShell 2 Das Pipe-Kommando 3 Das Pipe-Kommando in der AmigaShell 4 Die _mchar-Variable 5 Bekannte Probleme 5 ARexx, die Programm-Steuerungs-Sprache 3 Grafik 1 Was heißt Chunky- und Planar-Display? 2 Was ist Doublebuffering? 3 Was für Monitore arbeiten am Amiga 1200 oder 4000? 4 Programmierung 1 Was ist die beste Dokumentation für Programmierer? 2 Was ist CATS? 3 Wo bekomme ich die Amiga-Include-Dateien? 4 Wie werde ich Developer? 5 Was für Compiler (und Assembler) gibt es? 6 Warum funktioniert keine Esc-Sequenz? 7 Kann ich AmigaBasic auf dem A1200 verwenden? 8 Wie lokalisiere ich mein Programm? 9 Wie erhält man einen Zeiger auf das Fenster einer Konsole? 10 Was sind Pragmas? 11 Mein Compiler/Linker vermißt Symbole. 12 Wie erfahre ich, was für Funktionen es gibt? 13 Der GNU C Compiler: Allgemeine Informationen und Installation 1 Aktuelle Version 2 Hardwareanforderungen 3 Wer hat es gemacht? 4 Wo finde ich die gcc-Quelltexte? 5 Inline-Dateien 6 Wie konvertiere ich die Amiga-Libraries für den gcc? 7 Wie installiere ich den gcc? 8 Kompilieren 9 Wichtige Informationsquellen 5 Anwendungen 1 Text-Editoren 2 Was für Textverarbeitungsprogramme gibt es? 3 Desktop Publishing 4 Was ist TeX und wo bekomme ich es? 5 Gibt es PostScript-Interpreter auf dem Amiga? 6 Font Konzepte 1 Die Amiga Font Formate 2 Wo gibt es Amiga Fonts 3 Kommerzielle Font Hersteller 4 Nicht-Lateinische Zeichensaetze auf dem Amiga 5 Amiga Font Installation 6 Amiga Font Utilities 7 Das Erzeugen von Vektor-Fonts 8 Probleme und moegliche Loesungen 7 Wie bearbeite ich Nicht-Latin-Texte? 1 Japanische Editoren und Anzeigeprogramme 2 Chinesische Anzeigeprogramme 6 Online sein mit dem Amiga 7 Emulationen 1 Kann ich meinen Amiga unter Unix benutzen? 2 Ist es möglich, den Amiga als X11-Terminal zu benutzen? 3 Wie kann ich MS-Dos-Programme starten? 4 MsDos-formatierte Wechselplatten am Amiga verwenden 8 Verschiedenes 1 Gibt es eine Unix-Version von LhA? 2 Was sind Dateien, die mit ... enden? 3 Gibt es ein Programm wie Stacker, um die Hard-Disk zu packen? 4 Wo bekomme ich Fish-Disk xxx? 5 Wie füllt man die Tintenkartuschen der HPDeskjet-Drucker nach? 9 Software-Quellen und andere Informationen? 1 Dateien und Datenbanken zur frei kopierbaren Software 2 Eine Sammlung von Testberichten 3 Empfangen von Dateien von einem FTP-Server 4 Empfangen von Dateien von einem Mail-Server 5 Empfangen von Dateien von einer Mailbox 6 Die Fish-PD-Serie 1 Die Amiga-Library-Disks 2 Die Fresh-Fish-Serie 7 Wie kann ich MS-Dos-Disketten lesen und schreiben? 8 Wie transportiere ich sehr große Dateien 9 Diskussionen über Mail 10 Andere FAQ's Das Amiga-FAQ-Archiv Beiträge zur Amiga-FAQ Danksagungen Index Disclaimer ********** Diese Datei steht unter dem Copyright (C) Ignaz Kellerer Georg-Habel-Str. 11 81241 München (Deutschland) Tel. (+49) 089 / 885147 Internet: kellerer@informatik.tu-muenchen.de Es ist erlaubt, sowohl veränderte als auch unveränderte Kopien dieser Datei herzustellen und zu verteilen, vorausgesetzt, daß dabei die Bestimmungen der "GNU General Public License" eingehalten werden und die Copyright-Notiz sowie diese Erlaubnis unverändert auf allen Kopien enthalten sind. Der Autor gibt *absolut keine* Garantie, daß die hier gegebenen Antworten korrekt sind. Einige dieser Antworten sind von anderen Benutzern beigetragen worden und ich habe teilweise nicht einmal die Möglichkeit, auch nur die einfachsten Tests durchzuführen. Vorschläge, weitere Beiträge, neue Fragen und Antworten, Kritik und Beschimpfungen (oh, wie ich mein `nil:' liebe :-) sind aber sehr willkommen. Siehe Beiträge. 1 Hardware ********** Dieses Kapitel enthält Fragen zur Amiga-Hardware. 1.1 Was sind 68EC020, 68EC030 und 68LC040? ========================================== Motorola, die Herstellerfirma der 680x0-Familie, bietet auch gestutzte Versionen ihrer Prozessoren an. Diese sind etwas preisgünstiger als die Originale, weshalb Commodore auch den 68EC020 in den A1200 und den 68EC030 in den A4000/030 einbaut. Dafür können sie aber auch etwas weniger. Der Unterschied zwischen 68020 und 68EC020 ist, daß letzterer nur 16MB Speicher adressieren kann. (Das ist der Grund, warum der A1200 nur maximal 10MB RAM haben kann.) In den meisten Fällen sollte man den Unterschied aber gar nicht bemerken. Das ist beim 68EC030 anders: Viele Benutzer werden feststellen, daß der 68030 eine MMU (Memory management unit) hat und der 68EC030 nicht. (Beim 68020 gibt es noch die Möglichkeit, eine externe MMU, den 68851 nachzurüsten.) Es gibt einige wichtige Programme, die eine MMU brauchen, z.B. Enforcer (ein Hilfsprogramm zur Fehlersuche), GigaMem (ein Programm zur Emulation von virtuellem RAM) oder alle aktuellen Unix-Versionen (siehe Unix). Wer eines dieser Programme verwenden will und keinen A4000 oder A3000 hat, braucht deshalb eine Prozessorkarte mit einem 68030 oder 68040. Der 68LC040 ist ein 68040 ohne FPU. Siehe FPU. 1.2 Was ist ein mathematischer Coprozessor (FPU) ? ================================================== Die Prozessoren 68000 bis 68030 bieten ausschließlich Integer (= Ganzzahl) Arithmetik. Floating-Point (Fließkomma) Operationen werden über eine Befehlssequenz ausgeführt. Floating-Point Units (FPUs) bzw. mathematische Koprozessoren sind für diese Aufgaben optimiert. Im wesentlichen kann man drei FPU-Typen unterscheiden: Den 68881, 68882 und die interne FPU des 68040. Aufgrund der Trennung von Arithmetikeinheit und Konvertierlogik (notwenig zur Konversion anliegender Zahlenformate in das prozessoreigene 80bit-Format) ist die 68882 FPU bis zu 1.5 mal schneller als die 68881. Die interne FPU des 68040 besitzt darüber hinaus eine dreistufige Pipeline, allerdings sind in ihr nicht alle Befehle der 68881/68882 realisiert. Die fehlenden (trigonometrischen) Befehle werden per Software emuliert (z.B. über die 68040.library). Für viele Programme (Raytracing, DTP, Mathematik, TeX) existieren spezielle Coprozessorversionen. Je nach Auslastungsgrad kann damit eine Geschwindigkeitssteigerung bis zum Faktor 50 erreicht werden. Michael Kaiser (kaiser@ira.uka.de) 1.3 Kann ich eine 3.5'-Festplatte im A1200 verwenden? ===================================================== Viele Leute würden statt der im A1200 üblichen 2.5"-Festplatten lieber eine 3.5"-Festplatte verwenden, da diese viel billiger sind. Das ist auch möglich, allerdings braucht man ein spezielles Kabel, um die Festplatte an den eingebauten IDE-Controller anzuschließen. Außerdem sollte man isolierendes Material zwischen die Festplatte und die Platine schieben. Es gibt Berichte über thermische Probleme, aber ich habe nichts davon bemerkt. Einige Händler bieten für ca. 40-50DM Kabel, Isoliermaterial und Informationen an, was sicherlich empfehlenswert ist. In den üblichen Magazinen sollte man diesbezügliche Anzeigen finden. Thomas Schuh (thomas@stepout.tynet.sub.org) Grundsätzlich sollte man beim Einbau von IDE-Festplatten (egal ob 2.5" oder 3.5") bedenken, daß man außer bei den von Commodore getesteten und freigegebenen Modellen und ROM-Versionen nicht sicher sein kann, daß sie problemlos funktionieren werden. Beim A1200 sollte man zusätzlich noch berücksichtigen, daß der Einbau von 3.5"- Festplatten in diesen Rechner von Commodore nicht vorgesehen war und die hauptsächlich für den Einsatz in Notebooks konstruierten 2.5"- Festplatten einige Vorteile haben können (z. B. bei Stromverbrauch, Hitzeentwicklung oder Stoßfestigkeit), die im engen Tastaturgehäuse des A1200 mit der begrenzten Stromversorgung relevant sein könnten. Mit dem größeren Format verschlechtert sich eventuell auch die Belüftung des Rechners. Werden beim Einbau Manipulationen an den Abschirmblechen vorgenommen, sind möglicherweise auch die Bestimmungen zur Funkentstörung nicht mehr erfüllt. Kurz gesagt: könnte man 3.5"-Festplatten wirklich ohne jedes Problem im A1200 verwenden, hätte Commodore selbst bestimmt auch diese statt der etwas teureren 2.5"-Festplatten im A1200-HD verwendet. 2 Das Betriebssystem ******************** Dieses Kapitel behandelt Fragen sowohl zum Betriebssystem Kickstart als auch zur Oberfläche Workbench. 2.1 Kann ich eine andere als die eingebaute Kickstart benutzen? =============================================================== Zunächst ein paar Worte zur Legalität der Benutzung einer anderen Kickstart: Es ist *nicht* erlaubt, Kopien von Kickstarts fremder Computer zu erstellen und auf einem anderen Computer zu benutzen! (Es ist sogar fraglich, ob man das auf eigenen Maschinen darf, wenn man mehr als einen Amiga hat.) Natürlich ist es möglich und für gewisse Personen (z.B. Developer, siehe Developer) auch erlaubt. Es gibt zwei verschiedene Möglichkeiten, eine Hardware- und eine Softwarelösung. Erstere ist, eine Platine in den Computer einzubauen, die sowohl die eigene als auch eine andere Kickstart aufnehmen kann, zwischen denen man dann umschalten kann. Die Softwarelösung benötigt ein Programm (einen sogenannten Softkicker) und die Kopie der anderen Kickstart. Der Softkicker alloziert RAM, lädt die Kickstart-Kopie in dieses RAM und führt einen Reset aus. Natürlich fehlt dann nach dem Reboot unter der neuen Kickstart etwas RAM: 256KB weniger für Kickstart 1.2 oder 1.3 und 512KB für die neueren Kickstarts. Es gibt verschiedene Softkicker, von denen einige eine MMU benötigen (siehe 68EC0xx). Ich empfehle SKick 3.43 (Aminet, Directory `util/boot') empfehlen, das keine MMU braucht und viele verschiedene Kickstarts unterstützt. Die Kopie des ROM zu erzeugen ist mit einem Programm wie dem Folgendem möglich: #include <stdio.h> #define kickorig 0xf80000 /* 0xfc0000 für Kick 1.2 und 1.3 */ #define kicklen 0x080000 /* 0x040000 für Kick 1.2 und 1.3 */ void main(int argc, char*argv[]) { FILE *fh; if ((fh = fopen("kickstart.file", "w")) != NULL) { result = fwrite(kickorig, kicklen, 1, fh); } fclose(fh); } 2.2 Die grafische Oberfläche des Amiga ====================================== Die standardmäßig mitgelieferte Oberfläche "Workbench" ist nur die Grundlage zum Aufbau einer guten, angenehmen Oberfläche. Zu diesem Zweck gibt es zahlreiche Tools, die den Anwendern das Leben erleichtern. Einige von diesem findet man auf dem Aminet in den Verzeichnissen `util/#?/'. 2.2.1 Was ist MUI? ------------------ MUI besteht aus einer Reihe von shared-Libraries, die eine sehr komfortable graphische Benutzeroberfläche (GUI = graphical user interface) ermöglichen. Die generelle Idee von MUI ist es, den Programmierer nur die logische Struktur des GUI festlegen zu lassen. Das konkrete Aussehen (Fonts, Fenstergroesse, Fenster auf Workbench, eigenem oder öffentlichem Screen usw.) wird durch den Benutzer bestimmt. Für den Programmierer ist MUI erheblich einfacher und umfangreicher als die `gadtools.library'. Andererseits sind mit MUI erzeugte GUI's langsamer als die mit der gadtools.library erzeugten, vor allem auf alten 68000er-Maschinen. MUI besteht aus zwei Archiven, eines für Programmierer und eines für normale Benutzer. Quellen: Aminet, `dev/misc'. 2.2.2 Iconsammlungen und Hintergründe ------------------------------------- Die Standardicons sind in der Tat nicht schön. Daher gibt es einige praktische Iconsammlungen. Mir bekannt sind `MagicWB' und `NewIcons'. `MagicWB' ist Shareware. Die Icons sind mit allen bekannten Tricks hübsch in Pastellfarben gezeichnet. Es werden zahlreiche schöne, dezent gemalte Hintergründe mitgeliefert, die die Workbench-Fenster und MUI-Programme verschönern. Feine und gut lesbare Schriften ersetzen den klobigen topaz8-Font. Auch für den ToolManager sind viele Bildchen vorhanden. Eine Testversion von MagicWB findet man auf dem Aminet. `NewIcons' ist Freeware. Die Icons haben relativ kräftige Farben und sind schön als dreidimensionale Objekte gezeichnet, die schraeg in den Raum gestellt sind. NewIcons findet man auf dem Aminet, `util/wb/NewIcons.lha'. *F:* Wie kann ich den "Gag" bei MagicWorkbench, das Intro, das manchmal beim Booten erscheint, abstellen? *A:* In S: müßte eine Datei namens "mti.data" sein. Diese löschen. *F:* Wie kann ich NewIcons erstellen? *A:* Laut Autor von NewIcon soll ein eigener IconEd in Arbeit sein. Bis der fertig ist, bietet Iconian 2.9x (I3) als einziger die Möglichkeit, NewIcons zu erstellen. *F:* Wie kann ich es verhindern, daß manche MagicWorkbench Icons in falschen Farben auftauchen? *A:* Entweder MagicWB 2.0 registrieren, es enthält ein Tool, das die Palette patcht, oder aber eines der diversen Tools vom Aminet nehmen. 1. MagicColors 2. ShoveColors Damit habe ich die besten Erfahrungen gemacht. Es ist zu finden in Iconian, PictIcon oder in `Aminet:util/wb'). *F:* Wie kann ich den MagicWB 2 Bootscreen jedesmal anzeigen lassen? *A:* In s:user-startup direkt hinter dem Wort `MagicWB-Demon' das Wort `xen' einfügen, also: run >nil: C:MagicWB-Demon xen [...] 2.3 Was entspricht unter AmigaDOS dem . (Aktuelles Directory)? ============================================================== Unter AmigaDOS entspricht dem . (der das aktuelle Directory unter Unix und gewissen nicht-reentranten Interrupt-Handlern repräsentiert) der leere String, den man als "" schreibt. Beispiel: COPY S:Startup-Sequence "" Dies kopiert Ihre Startup-Sequence in das aktuelle Directory. Es gibt verschiedene Programme, die AmigaDOS so patchen, daß es . und .. wie unter Unix akzeptiert, z.B. UnixDirs. (Aminet, `os20/util/UnixDirsII.lha' oder Fish-Disk 837) Arno Eigenwillig (arno@yaps.dinoco.de) 2.4 Der Queue-Handler PIPE: =========================== In AmigaOS 2.04 wurde ein neuer Handler eingeführt, der es erlaubt, Daten zwischen verschiedenen Programmen auszutauschen. Dieser Handler heißt `L:Queue-Handler', ist aber besser als `PIPE:' bekannt. `PIPE:' implementiert eine echte, Unix-artige `Pipe', mit der man die Standardausgabe eines Programms als Standardeingabe eines anderen Programms verwenden kann. Es ist auch möglich, mehrere Programme über mehrere Pipes gleichzeitig zu verketten. Pipes brauchen weniger RAM für temporäre Dateien, und der Zugriff ist schneller. Allerdings unterscheidet sich `PIPE:' von Unix-Pipes in zwei wesentlichen Punkten: 1. Es handelt sich um ein Device; die Ein- und Ausgabe von Programmen muß also nicht unbedingt eine Datei sein, obwohl das meistens der Fall ist. Man kann auch `PIPE:' wie andere Devices verwenden, aber natürlich weder Directories lesen noch Seek-artige Zugriffe durchführen. 2. Es gibt keine Flush-Operation. Wenn nicht alle Daten gelesen wurden, die in `PIPE:' geschrieben wurden, dann bleiben sie stehen, bis sie evtl. von einem anderen Programm gelesen werden. Man muß also Pipes immer leeren, bevor man sie schließt. 3. Aus demselben Grund kann ein Programm blockiert werden, wenn es die interne Puffergröße überschreibt. Auch dies wird durch rechtzeitiges Leeren der Pipe vermieden. Der Handlername von PIPE: ist vollständig `PIPE:name/bufsize/bufnum', wobei `name' den verwendeten Pipekanal identifiziert und eindeutig sein sollte. Durch verschiedene Namen kann man also gleichzeitig mehrere Pipe-Kanäle öffnen. Die optionalen Argumente `bufsize' und `bufnum' geben die Größe und Anzahl der verwendeten Datenpuffer an. Meist schreibt man einfach `PIPE:name', die Vorgabegröße ist dann 4096 Bytes und die Anzahl unbegrenzt. Osma Ahvenlampi (Osma.Ahvenlampi@hut.fi) 2.4.1 Verwendung von PIPE: in einer AmigaShell ---------------------------------------------- Zunächst muß `PIPE:' natürlich mit `Mount' angemeldet sein. Dies kann durch das Kommando 1> Mount PIPE: in der Shell geschehen, ab AmigaOS 2.1 auch dadurch, daß man die Datei `PIPE' nach `DEVS:DosDrivers' schiebt. In einem AmigaShell-Fenster kann man dann folgende Kommandos eingeben: 1> Run List SYS: >PIPE:Listoutput 1> More <PIPE:Listoutput (1) Diese beiden Kommandos erzeugen also zunächst eine Liste der Dateien in `SYS:' und geben diese dann mit Hilfe des More-Kommandos aus. Man könnte auch folgendes probieren: 1> Run List SYS: NOHEAD >PIPE:Listoutput 1> Run Sort PIPE:Listoutput PIPE:Sortedoutput 1> More <PIPE:Sortedoutput Dies würde also die Liste vor der Ausgabe noch sortieren. Beachten Sie die Verwendung von `Run' außer für das jeweils letzte Programm, durch die alle Programme gleichzeitig ablaufen. Man kann auch die Programme gleichzeitig in verschiedenen Shells ablaufen lassen. Das Leeren der Pipe kann auch manuell geschehen, vorausgesetzt man kennt den Namen des verwendeten Kanals, indem man folgendes eingibt: 1> Type PIPE:name TO NIL: ---------- Footnotes ---------- (1) Dabei `1>' der Prompt der AmigaShell, die eine Eingabe erwartet. Die Nummer kann natürlich variieren. 2.4.2 Das Pipe-Kommando ----------------------- Im vorigen Beispiel ist die Verwendung von Pipes recht kompliziert, vor allem verglichen mit Unix-Pipes. Es gibt aber eine bessere Möglichkeit. Andy Finkel, der früher bei Commodore gearbeitet hat, hat auch ein Kommando `Pipe' geschrieben (was man nicht mit `PIPE:' verwechseln sollte!), das die Benutzung von Pipes stark vereinfacht. Unglücklicherweise wurde dieses Programm letzten Endes dann doch nicht in die offizielle Workbench aufgenommen, allerdings mit Billigung von Commodore veröffentlicht (Quellen: Fish-Disk 673, Aminet, `util/cli/finkelshelltools.lha'). Dieses Programm arbeitet auch unter OS3.1 noch problemlos. Die Verwendung des Pipe-Kommandos ist einfach. Man übergibt die auszuführenden Programme als Argumente an Pipe, getrennt durch das Zeichen |, z.B. 1> Pipe List SYS: | More oder 1> Pipe List: SYS: NOHEAD | Sort IN: OUT: | More Beachten Sie die Verwendung von `IN:' und `OUT:', die nötig sind, weil das Sort-Kommando nicht von der Standardeingabe lesen und nicht auf die Standardausgabe schreiben kann. Diese Devices werden durch das Kommandos Pipe simuliert. Durch die Environment-Variable _PCHAR kann man auch ein anderes Zeichen anstelle von | verwenden. 2.4.3 Das Pipe-Kommando in der AmigaShell ----------------------------------------- Es gibt ein sehr nützliches, allerdings undokumentiertes Feature der AmigaShell: Diese kennt das Pipe-Kommando! Ist die lokale Variable _PCHAR gesetzt, dann kann man Pipes sogar ohne Eingabe des Pipe-Kommandos benutzen. Die Shell erkennt das durch _PCHAR vorgegebene Zeichen und ruft für Kommandozeilen, die es enthalten, automatisch Pipe auf. Am besten wird das folgende Kommando in `s:Shell-Startup' eingetragen: 1> Set _pchar "|" (1) Man kann die vorigen Beispiele dann so ausführen: 1> List SYS: | More oder 1> List SYS: NOHEAD | Sort IN: OUT: | More Dies entspricht also völlig den Unix-Pipes. ---------- Footnotes ---------- (1) Die Anführungsstriche sind wesentlich! Wenn _PCHAR bereits gesetzt ist, wird sonst angenommen, es handele sich bereits um einen Aufruf von Pipe. Dies kann etwa dann geschehen, wenn aus einer Shell eine neue gestartet wird. 2.4.4 Die _mchar-Variable ------------------------- Die lokale Variable _mchar legt das Zeichen fest, das als Kommandotrenner dient. Setzt man also 1> Set _mchar ";" dann kann man in der Shell die Befehle hintereinanderfügen, durch den Strichpunkt getrennt. 2.4.5 Bekannte Probleme ----------------------- *F:* Ich bekomme die Fehlermeldung PIPE: Unknown command wenn ich das Kommando `List SYS: | More' ausführe, obwohl `PIPE:' mit `Mount' angemeldet ist. Was ist falsch? *A:* Die Shell sucht nach dem Kommando `Pipe' in der Fehlermeldung, nicht nach dem `PIPE:'-Device. Dieses Kommando ist also nicht im Suchpfad (meist in `C:') installiert. *F:* Ein Requester meldet Please insert volume PIPE: in any drive wenn ich eines der Kommandos aus den Beispielen ausführen will. *A:* `PIPE:' ist nicht angemeldet. Dies kann mit `Mount PIPE:' geschehen. *F:* Beim Verwenden von PIPE: gehen manchmal Zeichen verloren. Was ist los? *A:* Alle queue-handler bis einschließlich OS 3.1 haben Fehler, die eine wirklich sichere Datenübermittlung verhindern. Ein möglicher kompatibler Ersatz ist auf dem Aminet: `util/sys/HWGQueue.lha'. *F:* Wenn ich eines der Beispiele ausführe, dann eröffnet das `More'-Kommando ein Fenster, aber dort erscheint nichts/ eine Fehlermeldung erscheint/ein Filerequester erscheint. *A:* Sie verwenden ein anderes More-Kommando als das aus der Workbench. Verwenden Sie einen anderen Namen oder installieren Sie ein More, das Pipes unterstützt, z.B. das More von Commodore, Less oder Most. 2.5 ARexx, die Programm-Steuerungs-Sprache ========================================== *F:* Ich will ein Arexx-Kommando über die CLI oder ein Shellskript schicken. Das klappt aber nicht. Ich gebe zwar rx ADDRESS PORTNAME;KOMMANDO ein, jedoch ohne Erfolg. *A:* Es müssen Anführungszeichen gesetzt werden. Also: rx "ADDRESS PORTNAME;KOMMANDO". Dies verhindert auch das automatische Umwandeln des Portnamens in Großbuchstaben, falls der Portname klein geschrieben wird. 3 Grafik ******** Grafik ist eine der Stärken des Amiga. Warum hat es hier so wenig Fragen und Antworten? 3.1 Was heißt Chunky- und Planar-Display? ========================================= Einfach gesagt stehen die Bezeichnungen `chunky' und `planar' (Kürzel für `bitplanar') für verschiedene Arten, graphische Daten im RAM des Computers zu speichern. Sie sind einfach zu verstehen, aber vielleicht etwas schwierig zu erklären. Die Anzeige eines Computers besteht aus einem Netz von Pixeln. Jedes Pixel kann man sich als eine Zahl denken, die für die Farbnummer des Pixels steht. Hier ist zum Beispiel eine ganz einfache Anzeige mit 4 Farben: 00302132 Der Amiga speichert dies im `bitplanaren' Modus, d.h. es werden verschiedene sogenannte Bitplanes verwendet, in denen zu jedem Pixel genau ein Bit gehört. Für eine Zahl zwischen 0 und 3 brauchen wir 2 Bits, also auch zwei Bitplanes, die dann so aussehen: 00100110 Dies ist Bitplane 0 00101011 Dies ist Bitplane 1 -------- Nun addieren wir sie, wobei wir die zweite mit 2 00302132 multiplizieren Das ist also die gewünschte Grafik. Nun gäbe es aber natürlich auch eine andere Möglichkeit: Wir könnten die jeweils 2 Bits direkt hintereinander anordnen in sogenannten Chunks: 00 00 11 00 01 10 11 01 = 00302132 Dies ist das Prinzip des Chunky-Modus. Man kann im allgemeinen kaum sagen, daß eine dieser beiden Methoden besser oder schlechter ist. Allerdings haben natürlich beide ihre Vor- und Nachteile: Zunächst hat vielleicht jeder schon einmal gesehen, daß auf dem Amiga beim Scrollen von farbigem Text ein gewisses Flackern entsteht. Genauer gesagt ändern sich kurz die Farben. Was dabei passiert, ist, daß der Computer Bitplanes verschiebt, gleichzeitig aber dieselben Daten für die Anzeige verwendet werden. Wenn etwa gerade Bitplane 0 verschoben wurde, aber Bitplane 1 noch nicht verschoben ist, so hätten wir kurzfristig im obigen Beispiel die folgende Anzeige: 01001100 Dies ist Bitplane 0 (nach links verschoben) 00101011 Dies ist Bitplane 1 -------- Nun addieren wir sie wieder 01203122 Sobald die zweite Bitplane ebenfalls verschoben ist, stimmt wieder alles, aber kurzfristig entsteht dabei eben jenes Flackern. Bei einer Chunky-Anzeige dagegen wäre eben nur ein Teil des Bildschirms schon verschoben und ein anderer Teil noch nicht. Umgekehrt ist es im Chunky-Modus schlecht möglich, mit beliebiger Anzahl von Farben zu arbeiten: Da ein Byte 8 Bits hat, gehören etwa bei 4 Farben zu jedem Byte 4 Pixel. Man muß also stets erst berechnen an welcher Stelle des Bytes die Informationen zu einem bestimmten Pixel sitzen. Das ist aufwendig. Noch schlimmer wird die Sache bei 8 Farben: Da beginnen die Pixel noch nicht mal an der gleichen Stelle. Das ist sehr umständlich und rechenzeitaufwendig. In der Praxis gibt es daher Chunky-Anzeigen nur im 8-Bit-Modus (256 Farben) und im 24-Bit-Modus (16 Millionen Farben). Es ist allerdings möglich, daß die Anwender da gar nicht so unglücklich darüber sind... 3.2 Was ist Doublebuffering? ============================ Bei animierter Grafik entsteht das Problem, daß gleichzeitig die Daten verändert und angezeigt werden. Dabei kommt es dann unweigerlich zu einem gewissen Flackern. (siehe Chunky vs. Planar) Die Lösung des Problems ist es, quasi zwei Bildschirme zu benutzen: Der eine wird immer angezeigt. Gleichzeitig wird auf dem anderen Bildschirm, der nicht angezeigt wird, das neue Bild gezeichnet. Es gibt kein Flackern, da die Grafik-Hardware nur auf das RAM des ersten Bildschirms zugreift und der Prozessor nur auf das des zweiten. Dann wird umgeschaltet und der zweite Bildschirm angezeigt. Auf dem ersten kann jetzt gezeichnet werden. 3.3 Was für Monitore arbeiten am Amiga 1200 oder 4000? ====================================================== Monitore kann man klassifizieren nach der horizontalen Frequenz, die sie für ihre Anzeige benötigen. Fernseher und Commodore's 1084 benötigen z.B. etwa 15 kHz, VGA und SVGA benötigen mindestens etwa 30 kHz. Multisync-Monitore können verschiedene Frequenzen darstellen. Man kann also jeden dieser Monitore am A1200 verwenden, *aber*: - Mit einem gewöhnlichen VGA/SVGA-Monitor kann man nur einige Anzeige-Modi (DblPal, DblNTSC und/oder Productivity, d.h. (320|640) x (256|512|1024) Pixel) verwenden. Dies ist großartig für die Workbench und die meisten ernsthaften Anwendungen, aber manche grafikorientierten Programme, vor allem Spiele laufen fast sicher nicht: Sie benutzen nämlich die Preferences nicht, übernehmen statt dessen einfach die Maschine und gehen von einem 15 kHz Monitor aus. Ferner kann man das Bootmenü nicht verwenden: Das arbeitet nämlich ebenfalls nur mit 15 kHz. Schließlich haben VGA-Monitore keine Lautsprecher und die VGA-artigen Modi unterstützen keine Genlocks. - Das größte Problem eines 15 kHz-Monitors ist das ständige Flickern im Interlace-Modus. Ein kleiner Tip ist hier die Verwendung von NTSC anstelle von PAL. Dies erhöht die Refresh-Rate von 25 Hz auf 30 Hz, kostet allerdings einige darstellbare Zeilen. (Maximal möglich sind 482.) Die NTSC- und PAL-Modi sind aber nicht so schlecht, wie die Leute denken: Bei einem Monitor mit viel Phosphor (der also lange nachglüht) ist PAL-Laced einigermaßen akzeptabel und gibt eine Auflösung von 1448x566 in SuperHiRes. Mehr ist auf keinem AGA-Amiga möglich. - Die beste Lösung sind die Multisync-Monitore, vorausgesetzt sie unterützen die Bereiche von 15-31 kHz Horizontal- und 50-72 Vertikalfrequenz. Die 1940- und 1942-Monitore von Commodore sind nicht schlecht, allerdings etwas umständlich zu handhaben: Bei jedem Umschalten des Anzeige-Modus muß man nämlich auch die horizontale/vertikale Größe und den Offset von Hand einstellen. (1) Geeignet sind z.B. auch der Mitsubishi EUM 1491 oder der EIZO 9060S. Der Commodore 1960 hat nicht das Problem von 1940 oder 1942, ist aber auch teurer. Für einen VGA/SVGA- oder Multisync-Monitor braucht man ein Kabel, das etwa 30 DM kostet. ---------- Footnotes ---------- (1) Es gibt einen Patch, der dies auch ohne manuelle Eingriffe möglich macht. Siehe `os30/util/Monitor30Patch.lha' auf dem Aminet. User Contributions: |
Comment about this article, ask questions, or add new information about this topic: