|
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: