home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format CD 8
/
amigaformatcd08.iso
/
readerstuff
/
michele_berionne
/
photocdaga12.lha
/
doc
/
PhotoCDAGA.dok
< prev
next >
Wrap
Text File
|
1995-10-18
|
15KB
|
406 lines
PhotoCDAGA 1.2 von Günther Röhrich
**********************************
PhotoCDAGA ist ein Anzeigeprogramm/Konverter für Bilder im PhotoCD Format. Es
basiert auf den Quelltexten zu dem Programm "hpcdtoppm" geschrieben von Hadmut
Danisch. Aus disem Grund muß ich auf seinen Copyright-Vermerk aufmerksam
machen:
hpcdtoppm (Hadmut's pcdtoppm) v0.6
Copyright (c) 1992, 1993, 1994 by Hadmut Danisch (danisch@ira.uka.de).
Permission to use and distribute this software and its
documentation for noncommercial use and without fee is hereby granted,
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in
supporting documentation. It is not allowed to sell this software in
any way. This software is not public domain.
Diese Auflagen gelten also auch für PhotoCDAGA. Aber keine Angst, Du kannst es
nach Belieben weitergeben oder verändern. Lediglich die kommerzielle Nutzung
oder Vertrieb des Programmes ist nicht gestattet. (Gegen eine Verbreitung auf
CD-ROM wie der Aminet CD dürfte ebenfalls niemand etwas dagegen haben.) Im
Zweifelsfall sollte man direkt bei Hadmut Danisch nachfragen. (Adresse siehe
unten.)
Wie schon der Name sagt ist zur Nutzung des Programms ein Amiga mit dem AGA-
Chipsatz erforderlich. Außerdem ein 68020 oder höherer Prozessor, reichlich
Speicher, sowie ein CD-ROM Laufwerk, das auch Photo-CDs lesen kann.
Die Farbanzeige erfolgt im HAM8-Modus, die Graustufenanzeige im 256-Farben-
Modus.
Die Vorteile von PhotoCDAGA:
- es kostet nichts (der wohl größte Vorteil...)
- vollständiger Quelltext ist verfügbar, kann mit allen C-Compilern auf dem
Amiga übersetzt werden
- hohe Geschwindigkeit (wurde mit gcc 2.7.0 kompiliert, ein Teil ist direkt
in Assembler geschrieben)
- hohe Bildqualität bei Verwendung von map-Dateien und des overskip-Modus
(wahrscheinlich besser als mit allen bisherigen Programmen)
- abspeichern im ppm-Format möglich zur anschließenden Konvertierung in
andere Bildformate
(z.B ins IFF-ILBM Format mit ppm2AGA oder nach JPEG mit cjpeg)
Im NETPBM-Paket sind Konverter für (fast) alle Bildformate vorhanden.
(Aminet: gfx/pbm)
Nachteile (leider):
- hoher Speicherverbrauch
- schlechter Komfort (nur Shell-Bedienung)
- keine Unterstützung höherer Auflösungen als Base (512x768)
(hier muß man auf hpcdtoppm, das Original, zurückgreifen)
An dieser Stelle noch ein großes Dankeschön an Hadmut Danisch für sein
Programm hpcdtoppm und den zugehörigen Quelltext. Ohne seine Arbeit gäbe
es auch PhotoCDAGA nicht.
Vielen Dank noch an alle die an dem GNU C-Compiler mitgewirkt haben.
***********************************************************************
So, nun geht es endlich mit der Anleitung los:
Systemvoraussetzungen:
Ein Amiga mit viel Speicher und:
- AGA Chipsatz
- 68020 oder höheren Prozessor
- OS 3.0 oder höher
- ein CD-ROM Laufwerk zum Lesen der Photo-CDs
Im Gegensatz zur Version 1.0 ist die ixemul.library nicht mehr erforderlich
und ein Stapelspeicher (Stack) von 4000 Bytes genügt jetzt auch.
ACHTUNG: In der Version 1.2 wird unter Umgehung der Systemroutinen direkt in
den Bildspeicher geschrieben, um die Geschwindigkeit zu erhöhen. Um eine
Anzeige auf Grafikkarten zu ermöglichen muß die Option -orig angegeben werden.
Es werden dann die Systemroutinen wie bei den älteren Versionen von PhotoCDAGA
verwendet.
Als Eingabe braucht man noch Bilder im Photo-CD Format. Diese haben die Endung
.PCD und sind auf den Photo-CDs im Verzeichnis PHOTO_CD/IMAGES zu finden.
(Gilt auch für fertig bespielte CD's die eventuell noch PC-Programme enthalten.)
Für die Übersicht (Option -0) ist eine sog. Overview-Datei erforderlich.
(üblicher Dateiname: PHOTO_CD/OVERVIEW.PCD)
Installation:
*************
Die Programme aus dem bin-Verzeichnis können in ein beliebiges Verzeichnis
kopiert werden, sie sollten sich aber im Suchpfad der Shell befinden.
Für die Verwendung des Shell-Skripts PhotoMap muß JPEGTMP: mit einem assign-
Befehl an ein Verzeichnis auf einer Festplatte mit ausreichend Speicherplatz
zugewiesen werden. (z.B. assign JPEGTMP: HD:T) Dieses Verzeichnis wird auch
bei der Erzeugung von map-Dateien für jpegAGA verwendet.
Am Besten schreibt man diesen Befehl in die User-Startup Datei, damit er nach
jedem Neustart ausgeführt wird.
Das Shell-Skript PhotoMap muß in das S: Verzeichnis kopiert werden. Es setzt
voraus, daß sich die Programme PhotoCDAGA sowie ppm2AGA im Suchpfad der Shell
befinden und daß ein JPEGTMP: Verzeichnis existiert. Eventuell muß man noch die
Umgebungsvariable MAPDIR setzen, siehe später.
Der Aufruf geschieht wie folgt:
*******************************
PhotoCDAGA PhotoCD-Bildname [ppm-Bildname] Optionen
PhotoCD-Bildname
****************
Das ist der Name einer Datei im PhotoCD-Format. (bzw. Overview-Datei)
(z.B cd:PHOTO_CD/IMAGES/IMG0001.PCD)
Wenn das Format nicht stimmt dann bekommt man nur Müll angezeigt.
Achtung: Manche Bilder enthalten nicht alle Auflösungen. (Wenn die Datei-
länge sehr viel kleiner als 3MB ist) Es kann sein, daß man dann die -x
Option bei der Base-Auflösung nicht verwenden kann.
ppm-Bildname
************
Name der zu erzeugenden ppm/pgm-Datei. (Nur nötig, wenn die Option -pgm oder
-ppm angegeben wurde.)
Optionen
********
-b Name
Dieser Option muß ein Name folgen. Damit wird verhindert, daß bei mehreren
CDs die gleichen map-Dateien für verschiedene Bilder verwendet werden.
(s. später) Beim Erzeugen der map-Dateien mit dem Shell-Skript PhotoMap ist
die gleiche Option dann anzugeben. Diese Option ist nur bei Farbanzeige
sinnvoll.
-x
Es wird der sog. overskip-Modus verwendet, der zu einer besseren Bild-
qualität führt. (nur bei Farbdarstellung.) Wird hierbei die Base-Auflösung
verwendet, dann dauert die Bearbeitung viel länger und es ist sehr viel
Speicher nötig. (Mit 6MB ist es gerade noch möglich.)
-s
Die Schärfe des Bildes wird erhöht. Man sollte das aber nur bei wirklich
unscharfen Bildern verwenden, damit man mehr Details erkennen kann.
-c
Das Programm versucht eine eventuelle schwarze Berandung aus dem Bild zu
entfernen.
-n
Das Bild wird nicht gedreht. Normalerweise versucht PhotoCDAGA die richtige
Orientierung selber herauszufinden, (Hoch- oder Querformat) um das Bild
korrekt anzuzeigen.
-r
Das Bild wird im Uhrzeigersinn gedreht (d.h ins Hochformat gebracht)
-l
Das Bild wird entgegen dem Uhrzeigersinn gedreht (d.h. ins Hochformat
gebracht)
-h
Das Bild wird gekippt.
-m
Alle durchgeführten Schritte bei der Dekodierung werden auf dem Bildschirm
mitgeteilt.
-c-
Das Bild wird etwas dunkler angezeigt.
-c+
Das Bild wird etwas heller angezeigt.
-pgm
Es wird eine pgm-Datei erzeugt. (d.h. 8bit-Graustufen-Format) Als zweiten
Parameter ist der Dateiname anzugeben.
-ppm
Es wird eine ppm-Datei erzeugt. (d.h. 24bit-Farbe) Als zweiten Parameter ist
der Dateiname anzugeben.
-gray
Die Anzeige erfolgt im Graustufen-Modus.
-vga
Bei der Anzeige wird der VGA-Bildschirmmodus verwendet. (Auch Multiscan
genannt.)
-orig (neu in Version 1.2)
Es werden ausschließlich Funktionen des Betriebssystems verwendet, um die
Grafikdaten in den Bildspeicher zu schreiben. Die Grafikausgabe mit dem AGA
Chipset wird dadurch langsamer. Diese Option ist nötig wenn die Ausgabe auf
einer Grafikkarte erfolgen soll.
-0 n (neu in Version 1.1)
Es wird eine Übersicht (16 Bilder) erzeugt, beginnend mit dem n-ten Bild.
Bei Graustufenanzeige (Option -gray) werden zusätzlich noch die jeweiligen
Bildnummern angezeigt. Die Eingabedatei muß eine sog. Overview-Datei sein.
(üblicherweise PHOTO_CD/OVERVIEW.PCD)
-1
Es wird die Base/16-Auflösung (128x192) angezeigt.
-2
Es wird die Base/4-Auflösung (256x348) angezeigt.
-3
Es wird die Base-Auflösung (512x768) angezeigt.
(Das ist die Voreinstellung.)
Ein vorzeitiger Abbruch ist mit CTRL-C möglich. Wird bereits ein Bild angezeigt,
dann muß man die rechte Maustaste drücken. Der Bildschirm hat eine (unsichtbare)
Ziehleiste sowie Vordergrund/Hintergrund Schalter, die voll funktionsfähig sind.
Dank der Autoscroll-Eigenschaft wird der Bildschirm automatisch verschoben, wenn
man mit dem Mauszeiger den Rand erreicht.
Will man ein PhotoCD-Bild in das normale IFF-ILBM Format umwandeln, dann muß man
als erstes eine ppm-Datei erzeugen und anschließend ppm2AGA aufrufen. Näheres
steht in der zugehörigen Anleitung.
Erzeugung der map-Dateien
*************************
Diese Dateien sind unbedingt erforderlich, damit die Anzeige in der best-
möglichen Qualität erfolgt. Sie werden im Normalfall durch das Shell-Skript
PhotoMap erzeugt, so daß man sich nicht um die Details kümmern muß.
Der Aufruf lautet:
PhotoMap PhotoCD-Datei [-b BaseName]
Bei erfolgreicher Ausführung wird eine map-Datei mit korrektem Namen erzeugt.
(auch auf PC-Dateisystemen) Man kann auch mehrere Dateien mit einem Aufruf er-
zeugen. So werden z.B. durch den Befehl
SPat PhotoMap cd:PHOTO_CD/IMAGES/#?.PCD
alle Bilder auf einer PhotoCD bearbeitet.
Falls es nicht möglich ist, die map-Datei an der gleichen Stelle wie das Bild
abzuspeichern, (das ist bei CD-ROMs immer der Fall) dann wird die map-Datei in
dem Verzeichnis abgelegt, auf das die Umgebungsvariable MAPDIR weist. PhotoCDAGA
wird sie dann ebenfalls dort suchen.
Das Setzen der Umgebungsvariablen kann z.B. erfolgen mit dem Befehl:
setenv MAPDIR HD:tempdir
Die Variable geht dann allerdings nach einem Zurücksetzen des Rechners verlo-
ren. Man kann sie dauerhaft sichern mit dem Befehl:
copy ENV:MAPDIR ENVARC:
ACHTUNG: Auf keinen Fall darf man diselbe map-Datei für mehrere verschiedene
Bilder verwenden, das führt zu einer Verschlechterung der Qualität. Wenn man
mehrere PhotoCD's hat, dann sollte man unbedingt mit der Option -b einen ver-
schiedenen Basisnamen für jede CD angeben. Die Option ist für das Skript
PhotoMap und für PhotoCDAGA anzugeben.
Wenn man z.B. eine CD mit Bilder aus Australien hat, dann erzeugt man die map-
Dateien mit dem Befehl:
SPat PhotoMap cd:PHOTO_CD/IMAGES/#?.PCD -b Australien
(Die Umgebungsvariable MAPDIR muß auch gesetzt sein!)
Anschließend kann man die Bilder anschauen mit:
PhotoCDAGA cd:PHOTO_CD/IMAGES/IMG0030.PCD -c -vga -b Australien
(Wenn genügend Speicher vorhanden ist sollte man noch -x angeben.)
Nun kommen wie üblich vorab ein paar Fragen und Antworten:
**********************************************************
(das erspart mir später die Arbeit)
F: Ich habe 6MB Speicher, aber ich kann die Optione -x in der Base-Auflösung
wegen Speichermangel nicht einsetzen.
A: Das ist gut möglich. Es empfiehlt sich, den Rechner ohne die Startup-Sequence
zu booten (d.h. man kommt direkt in die Shell) und es von dort aus zu
versuchen. (nur für Freaks...) Einige Tips:
- setpatch aufrufen
- das CD-ROM Laufwerk anmelden mit z.B. mount CD:
- assign ENV: RAM:, setenv MAPDIR xxx eingeben
- nun müßte es gehen
(eventuell vorher noch den Multiscan-Monitortreiber starten)
F: Ich habe ein CD-ROM Laufwerk x, den Kontroller y und das Dateisystem z,
warum kann ich die Photo-CDs nicht lesen ?
A: Das weiß ich leider auch nicht. Es empfiehlt sich auf jeden Fall, es mit
dem frei erhältlichen AmiCDROM-Dateisystem noch zu versuchen.
F: Manchmal erfolgt die Anzeige langsamer, als ich es gewohnt bin.
A: Wenn das Fast-RAM knapp bzw. zu sehr fragmentiert ist, dann wird für die
Pufferspeicher das Chip-RAM verwendet, was zu einer Verlangsamung führt. Zum
Defragmentieren muß ein Reset durchgeführt werden. (Oder mehr Speicher
kaufen.)
Bei sonstigen Fehlern/Wünsche/Verbesserungsvorschläge bitte ich darum, mich
zu benachrichtigen. Und nicht vergessen: Bei Fehlerbeschreibungen immer die
verwendete Konfiguration angeben. (wie unten)
Getestete Konfiguration: (meine)
Amiga 4000/030, OS 3.0, 2MB Chip, 4MB Fast
Prozesor: 68EC030/25MHz, Koprozessor: 68882/32MHz
CD-ROM Laufwerk: Mitsumi FX 001 D
Kontroller: Tandem CD+IDE
Filesysteme: TandemCacheCDFS 54.1 (12.05.95), AmiCDROM
Entstehungsgeschichte
*********************
1.0 - 20. November 1994
- erste veröffentlichte Version
1.1 - 11. April 1995
- die ixemul.library wird nicht mehr benötigt
- ein Stack von 4000 Bytes reicht jetzt aus
- eine kleine Änderung im HAM-Kodierer bewirkt, daß bei einem seitlichen
Verschieben des Bildes die Störungen am linken Rand sehr viel kleiner
werden
- besseres und schnelleres Öffnen des Bildschirms
- 16-Bilder-Übersicht hinzugefügt (Option -0 n)
1.2 - 17. Oktober 1995
- kompiliert mit gcc 2.7.0 und libnix 1.0
- es wird jetzt eine eigene, schnellere "Chunky to Planar" Routine
verwendet, dadurch wird der Bildaufbau wesentlich schneller
- mit der Option -orig werden wieder die Funktionen des Betriebssystems
verwendet werden
- in der 16-Bilder-Übersicht wird immer der "topaz 8" Zeichensatz
verwendet (wegen besserer Lesbarkeit)
Aufruf
******
Wie Du sicher gemerkt hast bietet das Programm bislang nicht sehr viel, es gibt
noch viel zu tun. Meine Zeit ist leider begrenzt. (Ich studiere derzeit Elektro-
technik an der Uni Stuttgart und habe neben der Computerei noch andere Hobbies.)
Aus diesem Grund suche ich weitere Programmierer die bereit sind, mit mir zu-
sammenzuarbeiten sowie Beta-Tester für die fertigen Programme. Wenn Du mitma-
chen willst dann melde dich bitte. Es würde mich außerdem interessieren, was
sonst noch an Optionen und Verbesserungen des Programms erwünscht ist. Die
Übersichtsfunktion ist ja noch ziehmlich primitiv, da läßt sich noch viel
machen.
Alle Zuschriften/Geschenke/Fehlerberichte/Vorschläge usw. sind an die folgenden
Adressen zu schicken:
Elektronische Post: Normale Post:
******************* *************
Guenther@studbox.uni-stuttgart.de Günther Röhrich
(Internet EMAIL) Lerchenbergstr. 4
D-73733 Esslingen
Ich habe jetzt auch eigene WWW-Seiten eingerichtet. Sie sind zu finden unter:
http://rpool1.rus.uni-stuttgart.de/~etk10325
Falls Du innerhalb von drei Wochen keine Antwort auf eine EMAIL bekommst
so versuche es über die normale Post noch einmal.
Hier noch die Adresse von Hadmut Danisch, auf dessen Quelltexten dieses
Programm aufbaut.
Hadmut Danisch (danisch@ira.uka.de , will change in future)
E.I.S.S. (European Institute for System Security)
Universitaet Karlsruhe
Am Fasanengarten 5
D-76128 Karlsruhe
Germany
FAX: +49 721 696893
Tel./FAX privat: +49 721 607306 (will change in future)