PicassoMode The Next Generation (pmtng)
=======================================

1. Zielsetzung

Die Benutzer der Picasso96-Software sollen eine Möglichkeit erhalten, die
Darstellungsmodi der PicassoIV auf ihre Bedürfnisse zuzuschneiden. Diese
Arbeit soll kein Fachwissen erfordern und für den Benutzer auch ohne
schriftliche Anleitung begreifbar sein. Mit geringem Aufwand soll man schnell
zu Ergebnissen kommen und die Möglichkeiten, Fehler zu machen, sollen sich in
Grenzen halten.

2. Gestaltung der Benutzeroberfläche

Die Oberfläche ist als Folge von drei, bzw. vier Einstellungs-"Seiten"
gedacht, wobei jede einzelne direkten Einfluß auf alle nachfolgenden "Seiten"
hat. Der Benutzer beginnt damit, die Eigenschaften seines Monitors anzugeben,
oder wählt ein seinem Monitor ähnliches Modell aus einer Liste von Vorgaben
aus. Die Wahl, die er hier trifft, entscheidet darüber, welche
Darstellungsmodi er auf der nächsten Seite für die Nutzung mit der
Grafikkarte zusammenstellen kann. Auf der zweiten Seite werden dem Benutzer
in einer Liste die Darstellungsmodi angeboten, die mit seiner Wahl des
Monitortyps verträglich sind. Welche Modi er aus dieser Liste auswählt,
bestimmt, welche Grafikauflösungen durch den PicassoIV-Treiber zur Verfügung
gestellt werden. Die ausgewählten Auflösungen können schließlich auf der
letzten "Seite" verändert werden. Der Benutzer geht bei der Bedienung des
Programmes in zwei Schritten von den allgemeineren zu den spezielleren
Einstellungen über. Mit den Tasten "< Zurück" und "Weiter >" läßt sich
zwischen den einzelnen Seiten hin- und herschalten.

2.1. Monitoreinstellungen (Seite 1)

Dem Benutzer wird eine Liste von Monitortypen angeboten, aus denen er ein
Modell heraussuchen kann, das seinem Monitor am ähnlichsten ist. Ständig
vorhanden sind fünf Modelle ("Generic 31 kHz Monitor" - "Generic 64 kHz
Monitor"), deren Eigenschaften fest vorgegeben sind. Die Einträge können
nicht gelöscht oder verändert werden. In der Liste erscheinen sie in weißer
Schrift, bzw. fettgedruckt. Um die Eigenschaften eines Monitortyps verändern
zu können, muß der Eintrag in schwarzer Schrift erscheinen. Dies kann man bei
den Vorgabemonitoren durch Kopieren des Eintrages erreichen.
   Veränderbar sind Modellname, die Grenzen innerhalb derer der Monitor einen
Darstellungsmodus anzeigen kann und die Minimalzeiten für die
Bildsynchronisation, die der Monitor unterstützt. Wichtig von diesen Daten
sind aber eigentlich nur die Grenzen für Zeilenfrequenz und
Bildwiederholrate. Diese Werte bestimmen direkt, welche Darstellungsmodi dem
Benutzer angeboten werden und ob zugelassen wird, daß dessen Eigenschaften in
die für den PicassoIV-Treiber gedachte Datenbank übernommen werden kann.
Werden die angegebenen Grenzen überschritten, ist eine Beschädigung des
Monitors und der Grafikkarte die Folge. Die Dauer der
Bildsynchronisationssignale ist zweitrangig; im Normalfall (siehe Menüpunkt
"Einstellungen/Synchr.Einschränkungen beachten?") beachtet das Programm diese
Daten nicht. Die wenigsten Darstellungsmodi gehorchen den vorgegebenen
Signalzeiten, obwohl Monitore keine Schwierigkeiten haben, die Auflösungen
darzustellen.
   Die Liste der Monitore kann geladen, ergänzt und gespeichert werden (im
Menü "Projekt" bei "Öffne/Monitortypen", "Hinzufügen von/Monitortypen" und
"Speichern/Monitortypen"). Die fünf Vorgabemonitore bleiben von diesen
Aktionen unberührt. Sie werden nie gespeichert oder durch andere
Listeneinträge ersetzt.
   Da die Wahl des Monitors über die angebotenen Darstellungsmodi
entscheidet, muß ein Modell gewählt werden, bevor zur nächsten Seite
weitergeschaltet werden kann. Wurde beim letzten Start des Programmes die
Modusdatenbank gespeichert, wird in der Liste der Monitore der Eintrag
markiert, der zuletzt gespeichert wurde.

2.2.1. Automatische Monitorkonfiguration (Seite 1)

Wenn PicassoIV.resource V3.4 oder eine Nachfolgeversion installiert ist, wird
PicassoModeTNG eine weitere Taste unter der Monitorliste anzeigen. Diese
Taste trägt die Aufschrift "Daten ermitteln". Wird sie gedrückt, versucht
PicassoModeTNG die Fähigkeiten des Monitors zu ermitteln. Damit dies
funktioniert, muß der Monitor das ``Display Data Channel'' Protokoll DDC2b
unterstützen und mit einem passenden Kabel an die Picasso IV angeschlossen
sein. Dieses Kabel muß mit einem blauen 15-poligen VGA-Stecker abgeschlossen
sein. Die blaue Farbe des Steckers gibt an, daß das Kabel mit dem ``Display
Data Channel'' Protokoll verwendet werden kann.

2.2. Auswahl der Grafikkarte (zwischen Seite 1 und Seite 2)

Wer mehrere Grafikkartentreiber installiert hat, wird PicassoModeTNG
verschiedene Sätze von Grafikauflösungen für die einzelnen Grafikkarten
verwenden müssen. PicassoModeTNG prüft beim Start, welche Treiber eingebunden
sind. Vor dem Umschalten auf Seite 2 wird dann nachgefragt, zu welcher
Grafikkarte der Benutzer die Grafikauflösungen bearbeiten möchte. Der
Fenstertitel zeigt den Namen der Modusdatenbank an, die gerade bearbeitet
wird.

2.3. Auswahl der Darstellungsmodi (Seite 2)

Der ausgewählte Monitortyp wird als "Filter" verwendet, um die Liste der
angebotenen Grafikauflösungen vorzusortieren. Auflösungen, die sich nicht mit
dem Monitortyp vertragen, erscheinen gar nicht erst in der Liste auf der
linken Hälfte der zweiten Seite. Auch hier gilt wieder, daß fest vorgegebene
Einträge nicht lösch- oder veränderbar sind. Man kann sie allenfalls
kopieren. Sie sind hervorgehoben durch weiße Schrift oder Fettdruck.
   Die Liste in der rechten Hälfte der Seite enthält die "Modusdatenbank",
die der PicassoIV- Treiber zur Verfügung stellt. Bei jedem Eintrag dieser
Liste kann auf dieser Seite jeweils nur der Name geändert werden. Die
Eigenschaften der Einträge lassen sich erst auf der Folgeseite bearbeiten. In
beiden Listen lassen sich Einträge kopieren und wieder entfernen. Die Listen
sind gestaffelt sortiert:

   - geringe Auflösungen erscheinen vor hohen Auflösungen
   - Modi mit weniger darstellbaren Farben werden vor denen aufgeführt,
     die mehr Farben erlauben
   - Einträge mit niedriger Bildwiederholfrequenz erscheinen vor
     Einträgen mit hoher Bildwiederholfrequenz
   - Auflösungen mit geringer Zeilenfrequenz werden vor denen
     mit hoher Zeilenfrequenz aufgeführt

Vor allen anderen Einträgen stehen immer die Auflösungen, mit denen der
integrierte Flickerfixer der PicassoIV arbeitet.
   Zwischen beiden Listen können Einträge hin- und hergeschoben werden,
diesem Zweck dienen die nach rechts und nach links zeigenden Pfeiltasten
zwischen den Listen. Verschieben bedeutet hier, daß ein Eintrag aus der einen
Liste entfernt und in die andere Liste einsortiert wird. Soll ein fest
vorgegebener Eintrag aus der linken Liste nach rechts verschoben werden, wird
er nicht aus der einen Liste entfernt, sondern in die rechte Liste kopiert.
   Der Inhalt der beiden Listen kann geladen, gespeichert und ergänzt werden.
Mit "Projekt/Öffne/Standardeinstellungen" wird die rechte Liste durch die
gespeicherte Modusdatenbank ersetzt, mit
"Projekt/Speichern/Standardeinstellungen" wird die rechte Liste gespeichert
und vermerkt, welcher Monitortyp gewählt wurde. Die anderen Menüpunkte
"Projekt/Öffne/Bildschirmmodi", "Projekt/Hinzufügen von/Bildschirmmodi" und
"Projekt/Speichern/Bildschirmmodi" beziehen sich ausschließlich auf die linke
Liste.
   Drei Menüpunkte entscheiden, wie die beiden Listen vorbereitet werden.
"Einstellungen/Synchr.Einschränkungen beachten?" legt fest, ob die
Monitoreinstellungen für die Bildsynchronisationszeiten beachtet werden
sollen. Wird dieser Filter aktiviert, ist das angelegte Raster feinmaschiger
und läßt weit weniger Moduseinträge zu. Mit "Einstellungen/Doppelte
Bildschirmmodusdaten ausfiltern?" wird eingestellt, ob identische Einträge in
der vorgegebenen Modusliste gezeigt werden sollen. Anders als die linke
Liste, deren Inhalt sich sofort ändert, sobald die Voraussetzungen für die
Übernahme von Daten in diese Liste wechseln, wird kein Filter automatisch auf
die rechte Liste angewandt. Man kann so an einzelnen Parametern des Monitors
feilen oder einen anderen Monitortyp auswählen, ohne danach vor einer leeren
Liste zu stehen. Um die Filterkriterien auch auf die rechte Liste anzuwenden,
muß ausdrücklich der Menüpunkt "Bearbeiten/Monitorfilter anwenden" aufgerufen
werden.
   Ab der zweiten Seite können alle Einstellungen gespeichert werden. Bevor
diese Seite erreichst ist, sind die dafür vorgesehenen Menüpunkte alle
gesperrt. Erst nach der Auswahl der Darstellungsmodi, auf die der
PicassoIV-Treiber Zugriff haben soll, ist es schließlich erst sinnvoll, die
getroffenen Einstellungen permanent zu speichern.
   Hinter den Namen der Modi steht immer eine Angabe über die Farbauflösung
und die Bildwiederholfrequenz und die Zeilenfrequenz. Wird der Modusname zu
lang, können diese Informationen unter Umständen nicht mehr vollständig
sichtbar sein. Damit man dennoch einen Überblick über die Daten behält,
finden sich unter den Listen zwei Felder, in denen die Eigenschaften des
markierten Darstellungsmodus angezeigt werden.
   Drückt man den Knopf "Eingeben..." (zu finden zwischen den Knöpfen
"Kopieren" und "Löschen" unter der Liste in der rechten Fensthälfte), kann
man die Höhe, Breite und Bildwiederholfrequenz eines neu zu erzeugenden
Bildschirmmodus eingeben. Zusätzlich läßt sich einstellen, ob der neue Modus
das Zeilensprungverfahren und Overscan-Rahmen verwenden soll. Bitte beachten
Sie, daß aufgrund des Verfahrens, mit dessen Hilfe aus den angegebenen Daten
die Modusparameter errechnet werden, keine Auflösung kleiner als 640x400
eingegeben werden kann.

2.4. Ändern der Eigenschaften eines Modus (Seite 3)

Die einzelnen Einträge der auf Seite 2 zusammengestellten Liste können hier
verändert werden. Die Liste kann man über das Pop-Up-Menü am oberen Rand der
Seite durchlaufen, Drücken der Tab-Taste schaltet jeweils zum nächsten
Eintrag weiter. Wird ein Eintrag gewählt, erscheinen seine Eigenschaften im
mittleren Bereich des Fensters: links können diese Eigenschaften eingestellt
werden, in der rechten Seitenhälfte wird angezeigt, was sich nach einer
Prüfung und einem Abgleich der Daten links mit den Fähigkeiten der
verwendeten Hardware ergibt. Die einstellbaren Parameter sind:

   - Anzahl Farben

     256, 65.536 oder 16 Millionen darstellbare Farben pro Bildschirm

   - Pixeltakt

     Dies ist die Geschwindigkeit, mit der der Grafikprozessor die Bildpunkte
     des Grafikspeichers in ein Signal umwandelt, das der Monitor umsetzen kann.
     Dieser Wert wirkt sich direkt auf Zeilenfrequenz und Bildwiederholfrequenz
     aus. Begrenzt wird er durch die Leistung der Grafikkarte und die Größe des
     Grafikauflösung.

   - Zeilenfrequenz ("Zeilenfrq.")

     Dieser Wert gibt an, wie schnell die Grafikkarte eine Zeile des Bildschirmspeichers
     auf dem Monitor ausgeben kann. Der Wert wirkt sich direkt auf Pixeltakt und
     Bildwiederholfrequenz aus. Begrenzt wird dieser Wert durch Größe des Bildes.

   - Bildwiederholfrequenz ("Wiederh.frq.")

     Je höher dieser Wert ist, desto ruhiger und stabiler wird das erzeugte Bild
     erscheinen und desto weniger wird es flimmern. Direkt wirkt sich dieser Wert
     auf Pixeltakt und Zeilenfrequenz aus. Auch er wird begrenzt durch die Größe
     des Bildes.

   - Bildbreite

     Hier wird direkt die Breite des Bildes eingestellt. Sie ist abhängig von der
     Höhe des Bildes und der Größe des Grafikspeichers.

   - Bildhöhe

     Hier wird direkt die Höhe des Bildes eingestellt. Sie ist abhängig von der
     Breite des Bildes und der Größe des Grafikspeichers.

   - Dauer des horizontalen/vertikalen Synchronisationssignales ("Synchr.Zeit")

     Die Dauer dieses Signales bestimmt, ob das Bild gestaucht oder gestreckt wird.
     Große Werte können zu einer Stauchung führen, kleine zu einer Streckung.
     Normalerweise wird diese Dauer aus allen anderen Eigenschaften des Modus
     abgeleitet und muß nicht gesondert eingestellt werden.

   - Polarität des horizontalen/vertikalen Synchronisationssignales

     Bestimmte ältere Monitore werten die "Richtung" des Synchronisationssignales aus
     und orientieren sich daran, wie und wann sie auf das Signal zu reagieren haben.
     Ändern der Polarität des Signales kann sich günstig auf die Bilddarstellung
     auswirken.

   - Bilddarstellung ("Anzeige")

     Unter bestimmten Bedingungen sind besondere Maßnahmen nötig, um das gewünschte Bild
     auf dem Monitor darstellen zu können. Sinkt die Bildwiederholfrequenz unter das
     verträgliche Minimum des Monitors, wird sie durch das Zeilensprungverfahren
     effektiv verdoppelt. Steigt die Frequenz über das verträgliche Maximum,
     kann sie durch effektive Verdopplung des Taktes ("Dopp. Freq.") halbiert werden.
     Das Programm aktiviert diese Maßnahmen, sobald ein Modus die Grenzen der Verträglichkeit
     des Monitors überschreitet. Dies kann zum Erfolg führen, aber auch zu Werten, die erst
     recht oder nicht mehr ganz im zulässigen Bereich des Monitors liegen.

Die Eigenschaften des Modus, wie sie in der linken Hälfte verändert wurden,
ergeben einen Satz Daten, der sich nicht immer sofort mit den Eigenschaften
der Grafikhardware vereinbaren läßt. Die Daten werden deshalb den
Erfordernissen der Hardware angepaßt und gegebenenfalls neu berechnet. Das
Ergebnis dieser Arbeit sieht man in der rechten Hälfte der Seite. Im
Idealfall sind die links und rechts angezeigten Daten identisch und für die
Grafikhardware annehmbar.
   Sind Daten nicht mit Monitor oder Grafikhardware verträglich, werden sie
vom Programm besonders hervorgehoben. Ändern Sie vorzugsweise die so
markierten Werte, um die Moduseigenschaften verwendbar zu machen.
   Sind die Daten verträglich, kann ein Testbildschirm geöffnet werden, der
die eingestellten Moduseigenschaften verwendet. Sind die Daten jedoch nicht
verträglich, bleibt der zum Öffnen des Bildschirms vorgesehene Knopf "Testen
der berechneten Daten" gesperrt. Wurden verträgliche Änderungen an den Daten
vorgenommen, können die Änderungen mit der Taste "Speichern der berechneten
Daten" in die Datenbank im Speicher übernommen werden.
   Es gibt eine "Abkürzung", um die Bildwiederholfrequenz des aktuellen
Bildschirmmodus auf das von Grafikkarte und Monitor zugelassene Maximum zu
setzen. Hierzu ist der Menüpunkt "Bildwiederholfrequenz maximieren" im Menü
"Bearbeiten" auszuwählen.
   Am Testbildschirm kann interaktiv getestet werden, wie sich Stauchen,
Strecken und Ändern der Zentrierung des Bildes auswirken. Mit den Pfeiltasten
("Cursortasten") wird das Bild positioniert; wird zusätzlich eine der
Umschalttasten für Groß- und Kleinschreibung gedrückt, wird das Bild
gestaucht und gestreckt. Die Tasten für rechts und links beeinflussen die
horizontalen Parameter, die Tasten für oben und unten die vertikalen
Parameter. Gestreckt wird mit den Tasten für rechts und oben, gestaucht mit
den Tasten für links und unten. Drückt man eine beliebige Taste, wird ein
Informationsfenster ein- und ausgeschaltet, das die aktuellen Eigenschaften
des Bildschirmes anzeigt. Stauchen und Strecken des Bildes wirken sich direkt
auf Zeilenfrequenz und Bildwiederholfrequenz aus. Drückt man die "Esc"-Taste,
werden die Änderungen an Position und Skalierung des Bildes nicht übernommen.
Drücken der "Return"-Taste übernimmt die Änderungen in den aktuellen
Modusdatensatz.

Keine Änderung in der linken Hälfte der Seite ist dauerhaft gültig: wechselt
man zu einem anderen Modus, vergißt das Programm die aktuellen Änderungen,
wenn man sie nicht vorher in die Datenbank im Speicher übernommen hat. Mit
dem Menüpunkt "Bearbeiten/Änderungen widerrufen" können die ursprünglichen
Werte der Datenbank wiederhergestellt werden. Die Datenbank im Speicher
entspricht nicht der auf Festplatte, bis sie nicht ausdrücklich dort
gespeichert wurde. Hierzu dient der Menüpunkt
"Projekt/Speichern/Standardeinstellungen".
   Wer mit den Änderungen zufrieden ist, sollte sie jetzt alle auf Festplatte
speichern (siehe Menüpunkt "Projekt/Speichern/Standardeinstellungen") und das
Programm beenden. Vor dem Verlassen wird auf jeden Fall angeboten, den
Rechner neu zu starten, da die Änderungen erst nach dem Neustart aktiv
werden.
   Die Menüpunkte "Projekt/Speichern/Bildschirmmodi" und
"Project/Save/Monitortypen" dienen einem anderen Zweck. Mit ihnen werden die
aktuellen Datenbestände in einem speziellen Exportformat gespeichert. In
diesem Format können Datenbestände leicht zu größeren Einheiten
zusammengefaßt werden. Das Ziel ist es, den Benutzern einmal eine
umfangreiche Datenbank mit Monitordaten und Bildschirmmodi anbieten zu
können.

2.5. Der "eingebaute" Flicker Fixer der Picasso IV

Bei Verwendung der Picasso IV werden die aktuellen Einstellungen des
eingebauten Flicker-Fixers ausgelesen und können wie die anderen
Bildschirmmodi geändert werden.
   Es gibt getrennte Einstellungen für den PAL- und den NTSC-Modus des
Flicker-Fixers. Höhe und Breite dieser Bildschirmmodi können nicht verändert
werden, aber Bildposition, Bildwiederholfrequenz, und Skalierung sind
veränderbar.
   PicassoModeTNG erlaubt das Erzeugen von mehreren
Bildschirmmodus-Einstellungen, die für den Flickerfixer passend wären.
Gespeichert wird jedoch nur jeweils der erste PAL-Eintrag und der jeweils
erste NTSC-Eintrag. Alle folgenden für den Flicker-Fixer passenden Modi gehen
beim Verlassen des Programmes verloren.
   Wird für den Flicker-Fixer kein Eintrag gespeichert, so werden die
Einstellungen des P4_Flickerfixer-Treibers gelöscht und beim nächsten
Systemstart wird der Flicker-Fixer wieder mit den vom Hersteller vorgegebenen
Einstellungen betrieben. Fehlt jeweils einer der PAL- oder NTSC-Einträge, so
werden die Einstellungen dieses Eintrages aus der Konfiguration des
P4_Flickerfixer-Treibers entfernt. Beim folgenden Systemstart werden dann die
vom Hersteller vorgegebenen Einstellungen für diesen Darstellungsmodus
benutzt.

3. Besonderheiten

Die bereits beschriebenen Funktionen werden durch eine Reihe besonderer
Eigenschaften des Programmes unterstützt, die die Benutzung einfacher machen
sollen:

- Die Modusdatenbanken anderer Programme wie CVMode und das alte PicassoMode können
  direkt eingelesen werden. Man kann die Daten ohne Änderung und Aufwand von der
  alten Grafikkarte übernehmen.

- Das Programm verwendet zum Exportieren von Modus- und Monitordaten ein eigenes
  Format, in dem alle Daten in Textform gespeichert werden. Diese Daten können mit nur
  wenigen Änderungen direkt für NetBSD/Amiga-Unix/X-Windows weiterverwendet werden.

- Die Picasso96-Software muß nicht notwendigerweise installiert und in Betrieb sein,
  um mit dem Programm zu experimentieren. Es kann dann nur kein Testbildschirm
  geöffnet werden und das Ändern von Moduseigenschaften ist gesperrt.
