NEWMODE 1.1 AMIGA -- (C) 1992 Andreas Linnemann -- FREEWARE -- DEUTSCH FREEWARE bedeutet: Das Programm in dieser seiner Form inklusiver der Anleitung und beider Icons darf nur von Andreas Linnemann vertrieben werden. Das Copyright liegt bei Andreas Linnemann, Tom Kuhlenkamp und Stefan Schmidt. Darüber hinaus bedarf jeder kommerzielle Vertrieb der ausdrücklichen schriftlichen Genehmigung von Andreas Linnemann. Diese schriftliche Genehmigung wird hiermit Fred Fish für seine "AmigaLibDisk" erteilt. BEVOR ES LOSGEHT: WELCHEN ZWECK HAT NEWMODE?? Nun, NewMode hat einen simplen aber auch nützlichen Zweck. Es dient dazu, die Bildschirme, die mit der alten DOS1.3-Aufbauroutine geöffnet werden, mit neuen, speziellen OS2.0(oder höher)-Routinen zu öffnen. Das schließt selbstverständlich die ECS- und AA-Modi mit ein. Darüber hinaus kann NewMode einfach auf zukünftige Modi eingestellt werden. Ein vergleichbares Programm ist DoPro, das auch irgendwo bei Fred Fish zu finden ist. Ach so, jetzt kommen die eigentlichen Themen dieser Anleitung: 1 Hardware 1.1 Anforderungen 1.2 Optionen 1.3 Inkompatibilitäten 2 Software 2.1 Anforderungen 2.2 Inkompatibilitäten 2.3 Arbeitsweise 3 Installation/Start 3.1 Workbench/WBStartup 3.2 CLI/Skript 4 Aktivierung 4.1 Toolseintrag 4.2 Applikationspiktogramm 4.3 Commodity: Tastenkombination 4.4 Commodity: CX_POPUP 4.5 Noch einmal starten 4.6 Screen wird geöffnet (OpenMode!) 4.7 Bedienung 5 Modi 5.1 OpenMode 5.2 EditMode 6 Verschiedenes 6.1 Autor 6.2 Dokumantation 6.3 Tests 6.4 Noch ganz wichtig! 6.5 Adressen 7 Entwicklungsgeschichte 1 Hardware 1.1 Anforderungen Eigentlich läuft NewMode auf jedem Amiga, aber bevor ich jetzt das Blaue vom Himmel rede, muß ich doch Klartext reden und folgende Einschränkung machen: Tja, liebe 1.3-Freunde, tut uns leid aber ***** NewMode arbeitet ausschließlich unter Kickstart 2.0 oder höher! ***** Okay? Dann könnt Ihr letzten Einsdreier jetzt aufhören zu lesen. Kommt wieder, wenn Ihr OS2.0(4) (oder höher) habt. Es lohnt sich!! Die Speichermenge ist nicht so wichtig, NewMode sollte rein theoretisch (wie vertrauenserweckend) auch auf 512k laufen. Aber mal ehrlich: Habt Ihr schon mal einen 2.0-Amiga mit 512k Speicher gesehen? Empfehlen würde ich auch den neuen ECS-Agnus und die ECS-Denise. Diese beiden Chips steigern den Vorrat an Videomodi erheblich! Außerdem gibt es jetzt mit dem Amiga 4000 das neue AA-Chipset. Diese Chips würden den Vorrat an möglichen Anzeigemodi erheblich steigern. Doch funktionieren tut NewMode auch ohne diesen Luxus. 1.2 Optionen Das Programm wurde erfolgreich getest mit folgenden Konfigurationen: 2000 4.4 1MBChip,A2630 4MB,ALF3,Supra 2400 zi,ECS Denise 2000 6.2 1MBChip,A2630 4MB,OKTAGON 2008,ECS Denise,A2320 2000 6.2 1MBChip,A2630 2MB,OKTAGON 2008,ECS Denise,A2320,Supra 2MB 2000 6.x 1MBChip,A2620 2MB,A2058 4MB,ALF2-pro,A2286,X-Tension Video Pro, 500+ 8.x 2MBChip,CA2000.1 2MB,ALF2-RLL,Comptec Umbau (2000-Slots) 2000a ½MBChip,1MBFast($C00000),Supra 2MB,Kronos SCSI,A2286, 500+ 8.x 2MBChip,OKTAGON 500 500+ 8.x 1MBChip,GVP HD500+ 2MB 2000 6.x 1MBChip,Supra 2MB,Kronos SCSI,A2286 3000 x.x 1MBChip,1MBFast 1.3 Inkompatibilitäten Wir kennen (noch) keine Schwierigkeiten im Betrieb mit bestimmter Hardware. 2. Software 2.1 Anforderungen Voraussetzung ist die (selbstvertändlich) korrekt installierte Workbench 2.0 oder höher, da die Monitore angemeldet sein müssen und ModeNames mit allen ver- fügbaren Modi-Schlüsseln gestartet wurde. 2.2 Inkompatibilitäten Eventuell bringt AutoCLI 2.17 den Amiga zum Absturz, wenn der Screenblanker aktiv wird. Darum sollten Sie, wenn Sie einen Screenblanker verwenden wollen, zum Beispiel den der Workbench verwenden. 2.3 Arbeitsweise NewMode hängt sich in die Funktion OpenScreen, verbiegt diese auf seine Rou- tine, manipuliert die der Funktion übergebenen Daten und übergibt diese dann der aufrufenden Routine zur Abarbeitung. NewMode besorgt sich die Daten über dem System zur Verfügung stehenden Video- modi auf dem korrekten Wege bei jeder Aktivierung neu, so daß Änderungen dieser Resourcen sofort genutzt werden können. 3 Installation/Start 3.1 Workbench/WBStartup Von der Workbench aus wird NewMode durch einfaches Anklicken gestartet. Folgende Tooltypes werden erkannt: DONOTWAIT --- Wenn Sie NewMode von "WBStartup" aus starten, sollten Sie diesen Tooltype eintragen, damit es keine Probleme gibt. EDITINIT= --- Hier wird festgelegt, welche Möglichkeiten, NewMode von der Workbench aus zu starten, offenstehen. = APPICON - NewMode legt sein Icon auf der Workbench ab. =TOOLSENTRY - NewMode fügt den Eintrag "NewMode" in das Tools-Menü ein. = BOTH - NewMode erzeugt sowohl Eintrag als auch Icon. = NONE - NewMode unterläßt jegliche obiger Aktionen. ACT= --- Mit ACT können Sie, wie später auch im Fenster von NewMode, einstellen, bei welcher Gelegenheit NewMode sein OpenMode-Fenster öffnet. = OPEN - Entspricht "Open always". NewMode öffnet sein Fenster im OpenMode, wann immer ein neuer Screen geöffnet wird. = UNKNOWN - NewMode öffnet sein OpenMode-Fenster nur bei unbekann- ten Screens (die nicht in der Screenlist stehen). Entspricht "Only unknown" = NOT - NewMode öffnet sich nie im OpenModus. ("Stay quiet"). CONFIG= --- Mit diesem Tooltype stellen Sie den Pfad auf die Konfigurationsdatei von NewMode ein. Es muß immer der komplette Pfad mit Dateinamen angegeben werden. Vor- einestellt ist CONFIG=S:NewMode.config. SCREEN= --- Hier können Sie bestimmen ob NewMode sich (wie gewöhnlich) auf dem aktuellen Public-Screen öffnet (=WBENCH), oder ob sich NewMode auf irgendeinem beliebigen Screen öffnet (=ACTIVE). Dieser muß dann aktiv sein, wenn Sie NewMode über seine Commodity- Tastenkombination öffnen. MAXDEPTH= --- Um eine zukünftige Kompatibilität zu gewährleisten, kann man hier einen neuen Maximalwert für die Bitmap- "Tiefe" eines Screens angeben. Im Moment liegt das Maximum bei 6 Bit, es gibt aber bereits Gerüchte über Chips, die bis zu 8 Bitplanes ermöglichen. Also: Heute (im September 1992) ist der Default-Wert 6. CX_POPUP= --- Wird hier für "YES" eingetragen, poppt NewMode beim Start auf, das heißt, es öffnet sofort seinen Screen, und bei "NO" eben nicht. Voreingestellt ist "CX_POPUP=NO". CX_POPKEY= --- Damit spezifizieren Sie die Tastenkombination zum Öffnen des Editmode-Windows. Voreingestellt ist "LAlt n". Mehr Informationen zu den Tastenkombinationen entnehmen Sie bitte Ihrem Workbench-Handbuch. CX_PRIORITY= --- Für können Sie die Commodity-Priorität von NewMode einstellen. Wenn zwei Commodities die gleiche Tasten- kombination haben, wird das mit der höheren Priorität geöffnet. Voreingestellt ist "CX_PRIORITY=0" ICON_X= --- Mit spezifizieren Sie die X-Position des NewMode- Icons auf der Workbench. Wird "0" angegeben, sucht sich NewMode selbst einen Platz (Defaultwert) ICON_Y= --- Analog zu ICON_X kann man hier die Y-Position des Icons angeben. Auch hier ist 0 voreingestellt, wodurch sich NewMode selbst Platz auf der Workbench sucht. Zur permanenten Installation von NewMode kopieren Sie bitte NewMode in die Schublade "WBStartup" Ihrer Workbench. Dann wird es bei jedem Neustart neu installiert. Informationen zur Eingabe von Tooltypes entnehmen Sie bitte Ihrem Workbench-Handbuch, das würde hier doch ein paar Lichtjahre zu weit führen. 3.2 CLI/Script Sie können NewMode über das CLI einfach durch die Eingabe von "NewMode" starten. Wenn Sie Parameter eingeben wollen, die vom Vorgabe-Wert ab- weichen, listen Sie diese bitte hinter NewMode auf. Sollten in einer Angabe Leerzeichen auftauchen (meist bei der Tastenkombination CX_POPKEY), dann müssen Sie die ganze Eingabe mit Leerzeichen einschließen. Bsp: NewMode EDITINIT=APPICON "CX_POPKEY=CONTROL F1" ICON_X=50 ICON_Y=10 4 Aktivierung 4.1 Toolseintrag Wenn NewMode einmal gestartet wurde, kann man es durch Anwahl des Tools- Eintrages aktivieren. Das Fenster von NewMode öffnet sich nun im Edit-Modus. 4.2 Applikationspiktogramm Das gleiche tut ein Doppelklick auf das Icon auf der Workbench. 4.3 Commodity: Tastenkombination Ebenfalls öffnet das Ausführen der Tastenkombination das Editwindow von NewMode. 4.4 Commodity: POP up! Wenn der Tooltype "CX_POPUP=YES" gesetzt ist, öffnet NewMode sein Editmode- Window gleich beim Start von der Workbench / vom CLI 4.5 Zweiter Start Wird NewMode ein zweites Mal gestartet, stellt es fest, daß es bereits installiert ist, öffnet das Editwindows des bereits installierten Programms und verschwindet wieder, um nicht zweimal im Speicher zu stehen. 4.6 Screen wird geöffnet (OpenMode!) Wenn versucht wird, einen Screen mit der alten 1.3-Routine zu öffnen und in NewMode die entsprechenden Parameter gesetzt sind, öffnet NewMode in diesem Falle sein Fenster im OpenMode! Alle Programme, die noch unter Kickstart 1.3 lauffähig sind, benutzen die alte 1.3-Routine. 4.7 Bedienung Noch ein paar kleine Worte zur Bedienung. Normalerweise geschieht diese mit der Maus. Alle Funktionen sind auch über Tastatur zu erreichen. Normaler- weise dienen die unterstrichenen Buchstaben zur Kennzeichnung der Tastatur- bedienung. Durch die Liste (nur im EditMode) kann man mit den Cursortasten scrollen. ESC ist gleichbedeutend mit Hide und dem Close-Gadget. 5 Modi 5.1 OpenMode Befindet sich das Programm im Open-Modus, so kann man die Parameter eines Screens, der gerade geöffnet werden soll, ändern: Screen: In diesem Feld steht der Originaltitel des Screens. Diesen kann man mit NewMode nicht ändern. Listname : Hier kann ein Name für einen Screen angegeben werden, z.B. wenn dieser Screen ohne Name geöffnet wird. Dieser wird von NewMode aber nur intern verwendet und hat keinen Einfluß auf den tatsächlichen Screen-Titel. Act: Mit diesem Cycle-Gadget wird das Verhalten von NewMode eingestellt Stay quiet - NewMode wird nur manuell aktiviert Only unknown - NewMode wird aktiv, wenn ein Screen mit unbekannten Parametern geöffnet wird (der also noch nicht in der Liste steht Open always - NewMode wird bei jedem Versuch, einen Screen mit der alten 1.3-Routine zu öffnen, aktiv Bei "Stay quiet" und "Only unknown" werden dem Programm bereits bekannte Screens in der eingestellten Weise geändert, ohne das Fenster zu öffnen. Hide: Dieser Button beendet den Open-Modus, schließt das Fenster und übergibt dem Programm, das gerade gestartet wurde, die ggf.geänderten Daten über den Screen, der daraufhin geöffnet wird. Genau das gleiche macht das Close-Gadget. Save: Die Konfiguration d.h. die Liste der Screens mit ihren zugehörigen Daten wird auf dem mit CONFIG eingestellten Pfad gesichert, um beim nächsten Start zur Verfügung zu stehen. About: Es gibt einen kleinen Info über den Autor und das Programm. Quit: Ist im Open-Modus nicht verfügbar. LeftEdge,TopEdge,Width,Height: Angaben über die Größe und den Abstand des zu öffnenden Screens. Können geändert werden, soweit es sinnvoll erscheint. DetailPen,BlockPen,Depth: Zeigen die Textfarbe und die Hintergrundfarbe des Bildschirmtitels sowie die Farbtiefe des zu öffnenden Screens an und können ebenfalls geändert werden. Use Topaz 8: Unter 1.3 ist der Standard-Font für ein Fenster/einen Screen Topaz 8, da die Workbench nur mit diesem läuft. Ab 2.0 kann die WB jedoch auch mit einem anderen Zeichesatz laufen, so daß ein Programm einen falschen Zeichensatz bekäme. Mit "Use Topaz 8" weist man dem Screen den Font Topaz 8 zu. Screenmodes: Nun tritt der eigentliche Sinn von NewMode zutage. Man kann einen Screenmodus vor dem Öffnen des Screens ändern, z.B. PAL-Interlaced in NTSC-Interlaced oder NTSC-Hires-Interlaced in Productivity u.s.w. Das geht aber nur, wenn die Monitore, die zu verwenden sind, sich auch in der Schublade "Monitors" der WB befinden und von der Startup-Sequence ordnungsgemäß mit mon-start aktiviert wurden. Außerdem müssen die "ModeNames" in WBStartup alle Screenmodi enthalten. Autoscroll: Mit diesem Gadget kann man auf einem Screen, der größer ist als sein sichtbarer Teil, herumscrollen wie auf einer übergroßen Workbench. Sinnvoll ist diese Einrichtung, wenn man z.B. einen PAL:Hires-Interlaced Screen in einen Productivity Screen umwandelt, da der PAL-Screen etwas höher ist als der Productivity Screen ( 640*512 -> 640*480 ). Overscan: Mit diesem Cycle-Gadget kann man den Overscan Modus gemäß der WB-Preferences anwählen. 5.2 EditMode Das Window im Edit-Modus gleicht dem Window im Open-Modus sehr stark. Folgende Unterschiede bestehen jedoch: - Man kann das Programm mit "Quit" verlassen - Es gibt eine Tabelle mit geänderten Screens - Einzelne Einträge können per "Delete Entry" gelöscht werden - Es wird kein Screen geöffnet, nachdem "Hide" gedrückt wurde Beachten Sie bitte, daß die ganzen Angaben auf der rechten Seite (z.B. Screenmode, Farben, Höhe, Breite... für jeden Listeintrag verschieden sind. 6 Verschiedenes 6.1 Autor Das Programm wurde von Andreas Linnemann von Mai bis September 1992 ge- schrieben. Die meisten Tests wurden von ihm vorgenommen. 6.2 Dokumentation Die Dokumentation wurde von Tom Kuhlenkamp größtenteils neu erstellt, nachdem Stefan Schmidt "abgesprungen" und für keine Arbeit mehr zu haben war. 6.3 Tests Die meisten Tests wurden von Andreas Linnemann mit Hilfe von Stefan Schmidt und Tom Kuhlenkamp durchgeführt. Vielen Dank gebührt auch den Leuten, die ihr kostbares System zum Test von NewMode verwendet haben und an Sven Lange, der in vielen Fällen noch viel weiterhelfen konnte. 6.4 Noch ganz wichtig!! Bitte achten Sie darauf, daß Sie für bestimmte Modi die richtige Tiefe (Depth) einstellen. Wenn Sie einen 2-farbigen Lores-Screen in HAM haben wollen (was eigentlicht total hohl ist), müssen Sie auch die Depth auf 6 einstellen. SuperHires/Productivity läuft (im Moment) nur auf Depth 4. Entfernen Sie keine Modi aus den ModeNames, wenn gewisse Screens diese Modi bereits benutzen! NewMode weist ihnen dann den letzten Modus aus den ModeNames zu. Die Wahrscheinlichkeit, daß das in Ihrem Interesse ist, ist leider so gering wie in Verden ein Auto zu gewinnen. Im folgenden sind alle Modi aufgeführt, die in den ModeNames auftauchen müssen, wenn sie verwendet werden: Normale Schlüsselwörter: DEFAULT_MONITOR_ID 0x00000 NTSC_MONITOR_ID 0x11000 PAL_MONITOR_ID 0x21000 * Die folgenden Modi müssen mit den entsprechenden Schlüsselwörtern * * per OR-Verknüpfung verbunden werden, also ist PAL_HAM 0x21000 OR * * 0x00800 --> 0x21800 * LORES_KEY 0x00000 HIRES_KEY 0x08000 SUPER_KEY 0x08020 HAM_KEY 0x00800 LORESLACE_KEY 0x00004 HIRESLACE_KEY 0x08004 SUPERLACE_KEY 0x08024 HAMLACE_KEY 0x00804 LORESDPF_KEY 0x00400 HIRESDPF_KEY 0x08400 SUPERDPF_KEY 0x08420 LORESLACEDPF_KEY 0x00404 HIRESLACEDPF_KEY 0x08404 SUPERLACEDPF_KEY 0x08424 LORESDPF2_KEY 0x00440 HIRESDPF2_KEY 0x08440 SUPERDPF2_KEY 0x08460 LORESLACEDPF2_KEY 0x00444 HIRESLACEDPF2_KEY 0x08444 SUPERLACEDPF2_KEY 0x08464 EXTRAHALFBRITE_KEY 0x00080 EXTRAHALFBRITELACE_KEY 0x00084 VGA-Schlüsselwörter VGA_MONITOR_ID 0x31000 VGAEXTRALORES_KEY 0x31004 VGALORES_KEY 0x39004 VGAPRODUCT_KEY 0x39024 VGAHAM_KEY 0x31804 VGAEXTRALORESLACE_KEY 0x31005 VGALORESLACE_KEY 0x39005 VGAPRODUCTLACE_KEY 0x39025 VGAHAMLACE_KEY 0x31805 VGAEXTRALORESDPF_KEY 0x31404 VGALORESDPF_KEY 0x39404 VGAPRODUCTDPF_KEY 0x39424 VGAEXTRALORESLACEDPF_KEY 0x31405 VGALORESLACEDPF_KEY 0x39405 VGAPRODUCTLACEDPF_KEY 0x39425 VGAEXTRALORESDPF2_KEY 0x31444 VGALORESDPF2_KEY 0x39444 VGAPRODUCTDPF2_KEY 0x39464 VGAEXTRALORESLACEDPF2_KEY 0x31445 VGALORESLACEDPF2_KEY 0x39445 VGAPRODUCTLACEDPF2_KEY 0x39465 VGAEXTRAHALFBRITE_KEY 0x31084 VGAEXTRAHALFBRITELACE_KEY 0x31085 * A2024-Schlüsselwörter A2024_MONITOR_ID 0x41000 A2024TENHERTZ_KEY 0x41000 A2024FIFTEENHERTZ_KEY 0x49000 6.5 Adressen Natürlich sollten unsere Adressen nicht unerwähnt bleiben. Autor, Tests Anleitung, Tests Icon, Tests Andreas Linnemann Tom Kuhlenkamp Stefan Schmidt Ringstraße 26 Ritzenberger Weg 18 Meisenweg 1 W-2817 Dörverden-Barme W-2811 Blender 2817 Dörverden-Wahnebergen GERMANY GERMANY GERMANY Anregungen, Fehler-Reports und so weiter bitte an obige Adressen. /// /// /// \\\ /// \\\ /// Nur AMIGA macht es möglich! \\\ /// \\\// \\/ 7 Entwicklungsgeschichte Version Kommentar 0.1-0.8a Vor geschriebener Geschichte 0.8b Kleinere Fehler behoben 0.9 OPEN/NOT: Fehler in Tooltypes behoben Open/Edit-Mode-Anzeige im Fenstertitel Vergleich der Screens per Checksumme 0.9a Kleinere Fehler bei ACT:ONLY UNKNOWN behoben Versionsnummer in der Titelleiste 1.0 Delete Entry: Fehler behoben Hide: Fehler behoben (WBenchToBack) Enforcer hits entfernt Erste Veröffentlichung im kleinen Kreise 1.01 Commodity-Funktionen eingebaut, App-Abfragen verbessert. Cursortasten für Screen-Memory (zum auswählen eines Screens) EDITINIT=NONE da jetzt Commodity, ESC = Hide, Neue Tooltypes. Weiterhin werden jetzt die Windows, die nicht benutzt werden dürfen vollkommen blockiert (mit der Stoppuhr); Kleinere Fehler behoben; Schnellerer Windowaufbau. 1.02 Neue Argumenten-Abfrage aus der Amiga-LIB (ArgInit, usw.). Dadurch ist es jetzt möglich dieselben Argumente der ToolTypes als CLI-Argumente eizugeben. Dadurch bedingt mußte das Icon im Programm fest aufgenommen werden, damit es gefunden wird (super fehlersicher). 1.03 Endlich !! Stefan's gewünschtes AUTO-DETACH läuft einwandfrei. Nun hat der User den weltbewegenden Vorteil, daß er nicht mehr RUN eingeben braucht. Nachteil: Etwas höherer Speicherverbrauch. 1.04 Nun alle Gadgets über Tasten zu bedienen. Neue Window-Routine, sie paßt sich jetzt dem Screen-Font (bezüglich der Größe) an. 1.05 Endlich !! Die (hoffentlich) letzten Enforcer hits beseitigt (3 an der Zahl). Dadurch war ich gezwungen, das Abspeicherformat zu ändern. 1.06 Ein Fehler der neuen Routine beseitigt. 1.07 Leider kam es auf langsameren Computern (z.B. 68000) zu mir unerklärlichen Abstürzen. Ich habe Einsprungroutine jetzt neu geschrieben, viel kompakter und vor allem schneller (zum Teil in Assembler). Bis jetzt habe ich noch keine weitere Abstürze gemeldet bekommen. Weiterhin habe ich die Fehlermeldungen überarbeitet. 1.08 Problem mit dem HAM-Modus beseitigt, bessere Routine zum Blockieren des Windows. Kleinere Fehler behoben. Abfrage, wenn mehrere Programme auf NewMode zugreifen. Lösung über einen Warte-Requester mit der Blockierung der Quit-Routine. Kürzere Patch-Routine. 1.09 Fehler mit NTSC-Amigas behoben. Unbekannte Modes werden nun erkannt, und es wird eine ensprechende Fehlermeldung ausgegeben. Neue, bessere Checksummen Berechnung, dadurch war ich wieder gezwungen, das Abspeicherformat zu ändern. Da die bisherigen Versionen keine sogenannten "Final-Releases" und der Öffentlichkeit nicht zugänglich waren, sollte dieses das kleinste Übel sein. Weiterhin habe ich NewMode noch etwas überarbeitet. 1.1 Kleinigkeiten geändert, zweite Veröffentlichung Final release!!