DOS-Programm gesucht um VESA-Modus zu erzwingen

Konfiguration, Anwendungen, Treiber und TSRs unter DOS
frank9652
Norton Commander
Beiträge: 142
Registriert: Di 27. Mär 2007, 13:03
Wohnort: Göppingen

DOS-Programm gesucht um VESA-Modus zu erzwingen

Beitrag von frank9652 »

Hallo Leute!

Ich habe mir den Asus Eee PC 1015PE mit Windows 7 gekauft.
Der Asus hat den Intel-Atom-Prozessor N450, in den der Graphikchip integriert wurde.
ich habe eine SD-Karte bootfähig gemacht, und lasse darauf meine DOS-Programme unter DOS 7.1 (China DOS) laufen.
Unter anderem auch mein 16-Bit Programm Geos (Graphische Benutzeroberfläche)
Leider erkennt Geos nur die Grafikmodi 640x480 und 800x600 / 256 Farben, 64000 Farben, und 16 Mio)
Das entspricht den VESA-Modi 101, 103, 111, 112, 114 und 115.
Ich weiß aber aus eigenen Tests, daß auch der Grafikmodus 1024x768 (256 Farben, 64000 Farben, und 16 Mio Farben) entspricht den VESA-Modi 105, 117 und 118 unterstützt werden.
Nur mein Geos und auch UNIVBE51a erkennen diese Modi nicht.

Ich suche nun ein DOS-Programm, mit dem ich vor dem Start von Geos den VESA-Modus 118 (1024x768 / 16 Mio Farben) erzwingen kann.

Gruß Frank
freecrac
DOS-Guru
Beiträge: 861
Registriert: Mi 21. Apr 2010, 11:44
Wohnort: Hamburg Horn

Re: DOS-Programm gesucht um VESA-Modus zu erzwingen

Beitrag von freecrac »

frank9652 hat geschrieben:Hallo Leute!

Ich habe mir den Asus Eee PC 1015PE mit Windows 7 gekauft.
Der Asus hat den Intel-Atom-Prozessor N450, in den der Graphikchip integriert wurde.
ich habe eine SD-Karte bootfähig gemacht, und lasse darauf meine DOS-Programme unter DOS 7.1 (China DOS) laufen.
Unter anderem auch mein 16-Bit Programm Geos (Graphische Benutzeroberfläche)
Leider erkennt Geos nur die Grafikmodi 640x480 und 800x600 / 256 Farben, 64000 Farben, und 16 Mio)
Das entspricht den VESA-Modi 101, 103, 111, 112, 114 und 115.
Moderne Grafikkarten bringen heute wenn überhaupt noch ihre eigenen Vesanummern in ihrem Bios mit, die manchmal mit den alten Nummern noch identische sind,
es aber nicht mehr sein müssen. Man ist davon abgekommen fixe Vesamodenummer zu verwenden.

"Note: Starting with VBE version 2.0, VESA will no longer define new VESA mode numbers and it will no longer be mandatory to support these old mode numbers.
OEM's who wish to add new VBE mode numbers to their implementations, must make sure that all new modes are defined with mode numbers above 0x100,
However, it is highly recommended that BIOS implementations continue to support these mode numbers for compatibility with older software and add new
mode numbers after the last VESA defined mode number). VBE 2.0-aware applications should follow the guidelines in Appendix 5 -Application Programming
Considerations - for setting a desired mode."

Die heutige übliche Methode ist es die Vesa-Modeliste aus dem Bios auszulesen und jeden dort aufgelisteten Mode auf dessen Fahigkeit zu überprüfen,
bis man die gewünschte Auflösung, Farbtiefe etc. gefunden hat. Auch ist nicht jeder unter einem Windows-Grafiktreiber verfügbare Videomode
als Vesamode verfügbar.
Ich weiß aber aus eigenen Tests, daß auch der Grafikmodus 1024x768 (256 Farben, 64000 Farben, und 16 Mio Farben) entspricht den VESA-Modi 105, 117 und 118 unterstützt werden.
Konntest du die Vesa-Modeliste denn auslesen, oder wie hast du diese Modi testen können?
Nur mein Geos und auch UNIVBE51a erkennen diese Modi nicht.

Ich suche nun ein DOS-Programm, mit dem ich vor dem Start von Geos den VESA-Modus 118 (1024x768 / 16 Mio Farben) erzwingen kann.

Gruß Frank
Geos und auch UNIVBE habe ich selber noch nie verwendet. Ich vermute das Geos selber Vesa verwendet um Videomodi einzuschalten. Korregiere mich wenn das nicht stimmt.
Wenn deine integrierte GraKa jedoch eine eigene Vesamodeliste mitbringt, dann ist es damit auch möglich die dortigen Vesamodi einzuschalten.
Ich vermute allerdings das andere Anwendungen die selber einen Videomode einschalten, dieses dann auch tun und damit den vorher eingestellten Mode ignorieren und wechseln.
Aber das ist nur eine Vermutung. Was passierrt denn wenn du vorher schon einen Videomode eingeschaltet hast und danach das Geos startest?

Wenn deine integrierte GraKa also selber ihre eigene Modeliste mitbringt und das Geos einen eingeschaltete Videomode ignoriert, dann müsste das Geos noch entsprechend verändert werden,
damit es fortan einen anderen Vesamode verwendet. Dafür könnte man Geos z.B. auf die Bytefolge 4F02h durchsuchen die man zum Einschalten von Vesamodi benötigt.
Aber es gibt auch andere Möglichkeiten in das AX-Register diese Bytefolge zu erzeugen. ZB. könnte im AH-Register(obere Byte vom AX) 4F schon vorher eingetragen worden sein
und im AL-Register(unteres Byte vom AX) eine Null reingeschrieben werden. Danach könnte man dem AL-Register eine 2 dazu addieren so das sich als Resultat davon dann im AX sich 4F02h befindet.
So gibt es einige Variationsmöglichkeiten entsprechende Werte zu erhalten. Mit etwas Glück findet man aber auch gleich 4F02h im Code. In der Nähe dürfte dann auch die verwendete Vesamodenummer
in das BX-Register geladen werden. Entweder wird das direkt vorgenommen, oder aus dem Datenbereich geladen. An dieser Stelle trägt man nun die neue Vesanummer ein.

Im vbe3.pdf von Vesa.org(Anmelden/Einloggen erforderlich) ist die Methode zum Einschalten von Veasamodi dokumentiert.
Wenn du Probleme dabei hast die dortigen Informationen richtig zu verstehen, dann helfe ich dir dabei gerne, bis du es verstanden hast.

Dirk
Zuletzt geändert von freecrac am So 26. Sep 2010, 19:57, insgesamt 4-mal geändert.
DOSferatu
DOS-Übermensch
Beiträge: 1220
Registriert: Di 25. Sep 2007, 12:05
Kontaktdaten:

Re: DOS-Programm gesucht um VESA-Modus zu erzwingen

Beitrag von DOSferatu »

Es gäbe noch eine andere Möglichkeit:
Nämlich, sozusagen einen Treiber auf den Treiber zu pflanzen. Und zwar, für den Fall, daß ein Programm davon ausgeht, daß die VESA-Modes an festen Nummern liegen und die einfach einschalten, ohne sie zu testen...

Das heißt: (mal ganz simpel) man programmiert eine TSR an INT 10h, die auf AX=4F02h und BH<>00h "reagiert" (also in dem Fall eine eigene Routine ausführt) und die bei allen anderen Werten einfach zum ursprünglichen INT 10h Vektor springt.
Diese eigene Routine macht nun folgendes:
Man rettet BH irgendwohin, löscht DORT die unteren 2 Bits des Bytes, XORt es mit BH, danach SHL BX,1.
Auf die Art hat man nun praktischerweise in BX einen Word-Index. Und mit dem holt man aus einer "Referenztabelle" (die man vorher angelegt hat!) den "richtigen" Videomode nach BX. Danach noch OR BH,Wert (wert = Das Byte, das man gerettet hat) und dann springt man zum uersprünglichen INT 10h Vektor.
Diese Referenztabelle muß man vorher anlegen, indem man einfach die Mode-Liste aufruft (mit INT 10h, AX=$4F00) und dann für jeden Mode seine Auflösung und Farbtiefe etc ermittelt (jeweils mit INT 10h, AX=$4F01 und BX=Mode-Nr (aus der mit $4F00 ermittelten Tabelle). Dann kann man die Modes mit den gewünschten Werten in so eine Referenztabelle eintragen. Jeweils am Index mit dem "falschen" Mode (also dem, den das Programm - eins, das sich auf feste Mode-Nummern verläßt) die richtige Mode-Nr - also die, die die Grafikkarte benutzt, eintragen.

Das wäre eine kurze Methode, mit der man dieses Problem auf die Schnelle lösen könnte. Man könnte das ganze natürlich noch edler machen und wirklich dann auch für $4F00, $4F01 usw den Kram so machen, daß sich alle INT 10h, AH=$4F Befehle so verhalten, als wären die Modi woanders.

Ich habe das Ganze jetzt nur mal schnell aus dem Kopf hier reingetippt, ich hab's nicht selbst ausprobiert - aber es sollte funktionieren.

Anmerkung, falls jemand nicht versteht, wieso ich da diesen Kram mit BH retten usw mache:
Nur die unteren 10 Bit von BX sind als Mode-Nummer definiert, die oberen sind, um bestimmte Dinge für den Mode zu definieren. (Beispiel: Bit 15=1 : lösche nicht den Grafikspeicher beim Einschalten des Modes. Oder Bit 14: Wenn=0, dann benutze Banked Mode, wenn =1, dann benutze Linearen Framebuffer)
freecrac
DOS-Guru
Beiträge: 861
Registriert: Mi 21. Apr 2010, 11:44
Wohnort: Hamburg Horn

Re: DOS-Programm gesucht um VESA-Modus zu erzwingen

Beitrag von freecrac »

DOSferatu hat geschrieben:Es gäbe noch eine andere Möglichkeit:
Nämlich, sozusagen einen Treiber auf den Treiber zu pflanzen. Und zwar, für den Fall, daß ein Programm davon ausgeht, daß die VESA-Modes an festen Nummern liegen und die einfach einschalten, ohne sie zu testen...

Das heißt: (mal ganz simpel) man programmiert eine TSR an INT 10h, die auf AX=4F02h und BH<>00h "reagiert" (also in dem Fall eine eigene Routine ausführt) und die bei allen anderen Werten einfach zum ursprünglichen INT 10h Vektor springt.
Diese eigene Routine macht nun folgendes:
Man rettet BH irgendwohin, löscht DORT die unteren 2 Bits des Bytes, XORt es mit BH, danach SHL BX,1.
Auf die Art hat man nun praktischerweise in BX einen Word-Index. Und mit dem holt man aus einer "Referenztabelle" (die man vorher angelegt hat!) den "richtigen" Videomode nach BX. Danach noch OR BH,Wert (wert = Das Byte, das man gerettet hat) und dann springt man zum uersprünglichen INT 10h Vektor.
Diese Referenztabelle muß man vorher anlegen, indem man einfach die Mode-Liste aufruft (mit INT 10h, AX=$4F00) und dann für jeden Mode seine Auflösung und Farbtiefe etc ermittelt (jeweils mit INT 10h, AX=$4F01 und BX=Mode-Nr (aus der mit $4F00 ermittelten Tabelle). Dann kann man die Modes mit den gewünschten Werten in so eine Referenztabelle eintragen. Jeweils am Index mit dem "falschen" Mode (also dem, den das Programm - eins, das sich auf feste Mode-Nummern verläßt) die richtige Mode-Nr - also die, die die Grafikkarte benutzt, eintragen.

Das wäre eine kurze Methode, mit der man dieses Problem auf die Schnelle lösen könnte. Man könnte das ganze natürlich noch edler machen und wirklich dann auch für $4F00, $4F01 usw den Kram so machen, daß sich alle INT 10h, AH=$4F Befehle so verhalten, als wären die Modi woanders.

Ich habe das Ganze jetzt nur mal schnell aus dem Kopf hier reingetippt, ich hab's nicht selbst ausprobiert - aber es sollte funktionieren.

Anmerkung, falls jemand nicht versteht, wieso ich da diesen Kram mit BH retten usw mache:
Nur die unteren 10 Bit von BX sind als Mode-Nummer definiert, die oberen sind, um bestimmte Dinge für den Mode zu definieren. (Beispiel: Bit 15=1 : lösche nicht den Grafikspeicher beim Einschalten des Modes. Oder Bit 14: Wenn=0, dann benutze Banked Mode, wenn =1, dann benutze Linearen Framebuffer)
Das ist wirklich eine prima Idee und diese Methode hat auch gewisse Vorteile.
So kann man gleich alle verschiedenen Anwendungen dazu bringen die jeweils richtigen Vesanummer zu verwenden und man braucht nicht die Anwendung selber manipulieren und kommt so auch mit keinem EULA, oder Gesetz in Konflikt.

Jetzt wäre noch die Frage wer damit beginnt diesen Vesapatch-Treiber(welchen Namen soll er eigentlich bekommen: Vesafix.exe?) zu programmieren. Am besten wäre es wenn der Treiber auch wieder aus dem Speicher entfernbar ist, d.h. das er als Executable auch jederzeit erneut gestartet werden kann. Dann beim zweiten Starten sich aus dem Speicher wieder entfernt, oder das man einen Parameter angeben kann um ihn zu deaktivieren. Der Treiber beginnt dann wohl beim ersten Starten damit zu Checken, ob ein VESA 2 oder 3 Bios vorhanden ist, denn sonst gibt es dort wohl auch keine Vesamode-Liste und der Treiber braucht dann auch gar nicht gestartet werden und kann sich mit einer Fehlermeldung gleich wieder beenden. Gibt es eine Möglichkeit eine Vesa 2 GraKa in einem 80286er zu betreiben, so das wir beim Programmieren nur 16Bit-Befehle verwenden sollten, oder kann man das ausschliessen so das wir auch 32Bit-Befehle verwenden können?

Der Treiber könnte beim Starten versuchen die ermittelten Werte vom Vesa-Bios(so auch die verfügbaren Vesamodi die er im Bios findet) in eine Log-Datei einzutragen, was haltet ihr davon?

Anwendungen die verschiedene Einstellungen ermöglichen können auch über eine Konfigurationsdatei eingestellt werden, brauchen wir so etwas?

Gibt es sonst noch etwas was wir berücksichtigen müssen, Vorschläge oder Hinweise?

Ich habe jetzt mal eine Anfrage(in den Newsgroups "de.comp.os.msdos" und in "de.comp.lang.assemler") gemacht, ob es einen solchen Treiber möglicherweise schon gibt.

Dirk
frank9652
Norton Commander
Beiträge: 142
Registriert: Di 27. Mär 2007, 13:03
Wohnort: Göppingen

Re: DOS-Programm gesucht um VESA-Modus zu erzwingen

Beitrag von frank9652 »

Hallo Freecrac!
freecrac hat geschrieben: Konntest du die Vesa-Modeliste denn auslesen, oder wie hast du diese Modi testen können?
Bei dem DOS-Bildbetrachter PV (PictureView) ist ein Programm dabei (VESAINFO.EXE) mit dem man die Videomodi testen konnte.
(Ist aber schon 10 Jahre alt)
http://w-wiedmann.homepage.t-online.de/homepage.htm

Hier der Output:

VESA VGA Information Test C(2000) W.Wiedmann

seems to be a VESA-VGA
VESA version: 3.0
Intel(r)PineView Graphics Chip Acceleration VGA BIOS
Mode Size Cell Organisation
0105: ------- 0x 0 0x 0 0Bit Typ0 0Pl 0bk 0k 0k at 0000 0BpL
0117: ------- 0x 0 0x 0 0Bit Typ0 0Pl 0bk 0k 0k at 0000 0BpL
0118: ------- 0x 0 0x 0 0Bit Typ0 0Pl 0bk 0k 0k at 0000 0BpL
0112: Grafic 640x 480 8x16 32Bit RGB888 16,8,0 1Bk 64K 64K at A000 2560BpL
0114: Grafic 800x 600 8x16 16Bit RGB565 11,5,0 1Bk 64K 64K at A000 1600BpL
0115: Grafic 800x 600 8x16 32Bit RGB888 16,8,0 1Bk 64K 64K at A000 3200BpL
0101: Grafic 640x 480 8x16 8Bit Typ4 1Pl 1Bk 64K 64K at A000 640BpL
0103: Grafic 800x 600 8x16 8Bit Typ4 1Pl 1Bk 64K 64K at A000 832BpL
0111: Grafic 640x 480 8x16 16Bit RGB565 11,5,0 1Bk 64K 64K at A000 1280BpL

Da auf dem Rechner auch Windows 7 drauf ist, und die CPU mit dem intergrierten Grafikchip von Intel ist, habe ich alle Informationen über den Grafikchip nach Anleitung von der Intel-Homepage aus Windows 7 herausgeholt. Leider stand da nirgends was von VESA-Modi, sondern nur eine Liste, welche Modi mit diesem Grafikchip möglich sind. -Und unter Windows 7 läuft das Teil ja auch unter 1024 x 600
Laut der Readme-Datei von UNIVBE weiß ich, daß die drei oben fehlenden Modi 105, 117 und 118 genau die sind, die ich brauche (eigentlich nur Modus 118 = 1024 x 768 /16 Mio. Farben)

Hier alle Informationen, denen ich habhaft werden konnte:

Unter Windows 7 (Hardware) wird der "Grafikchip" wie folgt ausgewiesen:

Intel(R) Graphics Media Accelerator 3150
Gerätetyp: Grafikkarte
Hersteller: Intel Corporation
Ort: PCI-Bus 0, Gerät 2, Funktion 0
Treiberdatum: 19.04.2010
Treiberversion: 8.14.10.2117
Signaturgeber: Microsoft Windows Hardware Compatibility

Unter Treiberdetails stehen noch eine Menge Systemdateien.
Aber nicht alle haben was mit der Grafikkarte zu tun, wie ihr am dritten
Dateinamen (hkcmd) erkennen könnt.
Ich habe mal die ersten drei Dateinamen unten geschrieben...

C:\windows\system32\DRIVERS\igdkmd32.sys
C:\windows\system32\hccutils.dll
C:\windows\system32\hkcmd.exe...

Ressourcen:
Speicherbereich: F7E00000-F7E7FFFF
E/A-Bereich: DC00-DC07
Speicherbereich: D0000000-DFFFFFFF
Speicherbereich: F7D00000-F7DFFFFF
IRQ: 0x00000010(16)
E/A-Bereich: 03B0-03BB
E/A-Bereich: 03C0-03DF
Speicherbereich: 000A0000-000BFFFF
------------------------------------------------------------------------
Als Monitor ist...

Nicht-PnP-Monitor (Standard)
Bildschirmaktualisierungsrate: 60 Hz
Farbtiefe: True Color (32 Bit) eingestellt.

------------------------------------------------------------------------
Über eine Anleitung von der Intel-Seite konnte ich noch folgende weitere
Daten ermitteln:

Chiptyp: Intel(R) Graphics Media Accelerator 3150
DAC-Typ: Internal
Zeichenfolge: Intel(R) GMA 3150
BIOS-Informationen: Intel Video BIOS
Insgesamt verfügbarer Grafikspeicher: 251 MB
Dedizierter Videospeicher: 0 MB
Systemvideospeicher: 64 MB
Gemeinsam genutzter Systemspeicher: 187 MB

Gültige Modi:
640 x 480, 256 Farben, 59 Hertz
640 x 480, 256 Farben, 60 Hertz
640 x 480, 256 Farben, 65 Hertz
640 x 480, High Color (16-Bit), 59 Hertz
640 x 480, High Color (16-Bit), 60 Hertz
640 x 480, High Color (16-Bit), 65 Hertz
640 x 480, True Color (32-Bit), 59 Hertz
640 x 480, True Color (32-Bit), 60 Hertz
640 x 480, True Color (32-Bit), 65 Hertz
800 x 600, 256 Farben, 60 Herz
800 x 600, 256 Farben, 65 Herz
800 x 600, High Color (16-Bit), 60 Hertz
800 x 600, High Color (16-Bit), 65 Hertz
800 x 600, True Color (32-Bit), 60 Hertz
800 x 600, True Color (32-Bit), 65 Hertz
1024 x 600, 256 Farben, 60 Herz
1024 x 600, 256 Farben, 65 Herz
1024 x 600, High Color (16-Bit), 60 Hertz
1024 x 600, High Color (16-Bit), 65 Hertz
1024 x 600, True Color (32-Bit), 60 Hertz
1024 x 600, True Color (32-Bit), 65 Hertz
1024 x 768, 256 Farben, 60 Herz
1024 x 768, 256 Farben, 65 Herz
1024 x 768, High Color (16-Bit), 60 Hertz
1024 x 768, High Color (16-Bit), 65 Hertz
1024 x 768, True Color (32-Bit), 60 Hertz
1024 x 768, True Color (32-Bit), 65 Hertz
1152 x 864, 256 Farben, 65 Herz
1152 x 864, High Color (16-Bit), 65 Hertz
1152 x 864, True Color (32-Bit), 65 Hertz

Soweit die Daten...
freecrac hat geschrieben: Wenn deine integrierte GraKa also selber ihre eigene Modeliste mitbringt und das Geos einen eingeschaltete Videomode ignoriert...
Hmm, das bringt mich auf eine Idee.
Normalerweise starte ich Geos, und wähle dann den Geos-Grafikkartentreiber, dieser wird in der Regel installiert und in die Geos.ini (Systemdatei) eingetragen.
Bei >800x600 bekomme ich die Fehlermeldung, daß keine kompatible Grafikkarte gefunden wurde.
Aber ich könnte ja mal ausprobieren, den Grafikkartentreiber 1024 x 768 händisch in die Geos.ini einzutragen.
Wenn ich Glück habe, wird die Überprüfung der Grafikkarte übersprungen, und er frisst meinen Eintrag.
freecrac hat geschrieben: Aber es gibt auch andere Möglichkeiten in das AX-Register diese Bytefolge zu erzeugen...
Oh Leute!
Von Programmierung und Registern habe ich überhaupt keine Ahnung.
Meine Idee ging eher in die Richtung, mit einem DOS-Programm den VESA-Modus 118 zu erzwingen, bevor ich Geos starte, und anschließend den Grafikkartentreiber in Geos zu laden.

Gruß Frank
frank9652
Norton Commander
Beiträge: 142
Registriert: Di 27. Mär 2007, 13:03
Wohnort: Göppingen

Re: DOS-Programm gesucht um VESA-Modus zu erzwingen

Beitrag von frank9652 »

Hallo Dirk!
Ich fürchte, du hast recht. :-(
freecrac hat geschrieben: Moderne Grafikkarten bringen heute wenn überhaupt noch ihre eigenen Vesanummern in ihrem Bios mit, die manchmal mit den alten Nummern noch identische sind,
es aber nicht mehr sein müssen. Man ist davon abgekommen fixe Vesamodenummer zu verwenden.
...und das wird auch der Grund sein, weshalb Geos bei Auflösungen > 800 x 600 "keine kompatible Grafikkarte" finden kann.
Ein Freund von mir hat mir noch mal ein Programm geschickt, mit dem ich die VESA-Modi checken konnte.
...auch dieses konnte > 800 x 600 nicht finden.
Es scheint so zu sein, daß die Auflösungen bis 800 x 600 sich an die VESA-Modi halten, und alles was darüber ist nicht.

Output des VESA-Tests:
------------------------------------------------------------------------------------------
VESA Mode Checking Utility Copyright 1992-1995 by David Manthey

Key: Mode-VESA video mode, hex Gran-window granularity (K)
Size-size of window (K) Seg-segment of window, hex
FuncPtr-hex ptr to windowing func. Scan-number of bytes per line
Res-pixel resolution
MA : bit 0-1 if mode available XC/YC : character size
bit 1-1 if extended info MP : number of memory planes
bit 2-1 if BIOS support BP : bits per pixel
bit 3-1 if color mode #B : number of banks
bit 4-1 if graphics mode MM : memory model, hex
A/B : bit 0-1 if window supported 0-text, 1-CGA, 2-Hercules
bit 1-1 if window readable 3-4 plane, 4-packed pixel
bit 2-1 if window writable BS : bank size (K)

Mode MA A B Gran Size ASeg BSeg FuncPtr Scan XRes YRes XC YC MP BP #B MM BS

101: 1B 7 0 64 64 A000 0000 C000:7A6D 640 640 480 8 16 1 8 1 04 0
103: 1B 7 0 64 64 A000 0000 C000:7A6D 832 800 600 8 16 1 8 1 04 0
105: 00 0 0 0 0 0000 0000 0000:0000 0
107: 00 0 0 0 0 0000 0000 0000:0000 0
111: 1B 7 0 64 64 A000 0000 C000:7A6D 1280 640 480 8 16 1 16 1 06 0
112: 1B 7 0 64 64 A000 0000 C000:7A6D 2560 640 480 8 16 1 32 1 06 0
114: 1B 7 0 64 64 A000 0000 C000:7A6D 1600 800 600 8 16 1 16 1 06 0
115: 1B 7 0 64 64 A000 0000 C000:7A6D 3200 800 600 8 16 1 32 1 06 0
117: 00 0 0 0 0 0000 0000 0000:0000 0
118: 00 0 0 0 0 0000 0000 0000:0000 0
11A: 00 0 0 0 0 0000 0000 0000:0000 0
11B: 00 0 0 0 0 0000 0000 0000:0000 0
13A: 00 0 0 0 0 0000 0000 0000:0000 0
13C: 00 0 0 0 0 0000 0000 0000:0000 0
14B: 00 0 0 0 0 0000 0000 0000:0000 0
14D: 00 0 0 0 0 0000 0000 0000:0000 0
15A: 00 0 0 0 0 0000 0000 0000:0000 0
15C: 00 0 0 0 0 0000 0000 0000:0000 0
160: 00 0 0 0 0 0000 0000 0000:0000 0
161: 00 0 0 0 0 0000 0000 0000:0000 0
162: 00 0 0 0 0 0000 0000 0000:0000 0
163: 00 0 0 0 0 0000 0000 0000:0000 0
164: 00 0 0 0 0 0000 0000 0000:0000 0
165: 00 0 0 0 0 0000 0000 0000:0000 0
166: 00 0 0 0 0 0000 0000 0000:0000 0
167: 00 0 0 0 0 0000 0000 0000:0000 0
168: 00 0 0 0 0 0000 0000 0000:0000 0
169: 00 0 0 0 0 0000 0000 0000:0000 0
16A: 00 0 0 0 0 0000 0000 0000:0000 0
16B: 00 0 0 0 0 0000 0000 0000:0000 0
16C: 00 0 0 0 0 0000 0000 0000:0000 0
16D: 00 0 0 0 0 0000 0000 0000:0000 0
16E: 00 0 0 0 0 0000 0000 0000:0000 0
16F: 00 0 0 0 0 0000 0000 0000:0000 0
170: 00 0 0 0 0 0000 0000 0000:0000 0
171: 00 0 0 0 0 0000 0000 0000:0000 0
1FF: 1B 7 0 64 64 A000 0000 C000:7A6D 640 640 480 8 16 1 8 1 04 0
200: 0F 7 0 64 64 A000 0000 C000:7A6D 0 132 25 8 16 1 4 1 00 0
201: 0F 7 0 64 64 A000 0000 C000:7A6D 0 132 25 8 16 1 4 1 00 0
202: 0F 7 0 64 64 A000 0000 C000:7A6D 0 132 25 8 16 1 4 1 00 0
203: 0F 7 0 64 64 A000 0000 C000:7A6D 0 132 25 8 16 1 4 1 00 0
204: 1B 7 0 64 64 A000 0000 C000:7A6D 0 360 400 8 16 1 4 1 01 0
205: 1B 7 0 64 64 A000 0000 C000:7A6D 0 360 400 8 16 1 4 1 01 0
206: 1B 7 0 64 64 A000 0000 C000:7A6D 0 720 400 8 16 1 4 1 01 0
207: 0F 7 0 64 64 A000 0000 C000:7A6D 0 132 25 8 16 1 4 1 00 0
208: 1B 7 0 64 64 A000 0000 C000:7A6D 0 108 256 8 16 4 4 1 03 0
209: 1B 7 0 64 64 A000 0000 C000:7A6D 0 54 22 8 16 4 4 1 03 0
20A: 1B 7 0 64 64 A000 0000 C000:7A6D 0 189 309 8 16 4 4 1 03 0
20B: 1B 7 0 64 64 A000 0000 C000:7A6D 0 162 40 8 16 4 4 1 03 0
20C: 1B 7 0 64 64 A000 0000 C000:7A6D 0 9 1 8 16 4 4 1 03 0
20D: 1B 7 0 64 64 A000 0000 C000:7A6D 0 360 400 8 16 4 4 1 03 0
20E: 1B 7 0 64 64 A000 0000 C000:7A6D 0 720 400 8 16 4 4 1 03 0
20F: 1B 7 0 64 64 A000 0000 C000:7A6D 0 720 350 8 16 4 4 1 03 0
210: 1B 7 0 64 64 A000 0000 C000:7A6D 0 720 350 8 16 4 4 1 03 0
211: 1B 7 0 64 64 A000 0000 C000:7A6D 0 720 480 8 16 4 4 1 03 0
212: 1B 7 0 64 64 A000 0000 C000:7A6D 0 720 480 8 16 4 4 1 03 0
213: 1B 7 0 64 64 A000 0000 C000:7A6D 0 720 400 8 16 1 8 1 05 0
230: 1B 7 0 64 64 A000 0000 C000:7A6D 640 640 480 8 16 1 8 1 04 0
232: 1B 7 0 64 64 A000 0000 C000:7A6D 832 800 600 8 16 1 8 1 04 0
234: 00 0 0 0 0 0000 0000 0000:0000 0
238: 00 0 0 0 0 0000 0000 0000:0000 0
23A: 00 0 0 0 0 0000 0000 0000:0000 0
23C: 00 0 0 0 0 0000 0000 0000:0000 0
241: 1B 7 0 64 64 A000 0000 C000:7A6D 1280 640 480 8 16 1 16 1 06 0
243: 1B 7 0 64 64 A000 0000 C000:7A6D 1600 800 600 8 16 1 16 1 06 0
245: 00 0 0 0 0 0000 0000 0000:0000 0
249: 00 0 0 0 0 0000 0000 0000:0000 0
24B: 00 0 0 0 0 0000 0000 0000:0000 0
24D: 00 0 0 0 0 0000 0000 0000:0000 0
250: 1B 7 0 64 64 A000 0000 C000:7A6D 2560 640 480 8 16 1 32 1 06 0
252: 1B 7 0 64 64 A000 0000 C000:7A6D 3200 800 600 8 16 1 32 1 06 0
254: 00 0 0 0 0 0000 0000 0000:0000 0
258: 00 0 0 0 0 0000 0000 0000:0000 0
25A: 00 0 0 0 0 0000 0000 0000:0000 0
25C: 00 0 0 0 0 0000 0000 0000:0000 0
260: 00 0 0 0 0 0000 0000 0000:0000 0
261: 00 0 0 0 0 0000 0000 0000:0000 0
262: 00 0 0 0 0 0000 0000 0000:0000 0
263: 00 0 0 0 0 0000 0000 0000:0000 0
264: 00 0 0 0 0 0000 0000 0000:0000 0
265: 00 0 0 0 0 0000 0000 0000:0000 0
266: 00 0 0 0 0 0000 0000 0000:0000 0
267: 00 0 0 0 0 0000 0000 0000:0000 0
268: 00 0 0 0 0 0000 0000 0000:0000 0
269: 00 0 0 0 0 0000 0000 0000:0000 0
26A: 00 0 0 0 0 0000 0000 0000:0000 0
26B: 00 0 0 0 0 0000 0000 0000:0000 0
26C: 00 0 0 0 0 0000 0000 0000:0000 0
26D: 00 0 0 0 0 0000 0000 0000:0000 0
26E: 00 0 0 0 0 0000 0000 0000:0000 0
26F: 00 0 0 0 0 0000 0000 0000:0000 0
270: 00 0 0 0 0 0000 0000 0000:0000 0
271: 00 0 0 0 0 0000 0000 0000:0000 0
2FF: 0F 7 0 64 64 A000 0000 C000:7A6D 0 132 25 8 16 1 4 1 00 0
301: 1B 7 0 64 64 A000 0000 C000:7A6D 640 640 480 8 16 1 8 1 04 0
303: 1B 7 0 64 64 A000 0000 C000:7A6D 832 800 600 8 16 1 8 1 04 0
305: 00 0 0 0 0 0000 0000 0000:0000 0
307: 00 0 0 0 0 0000 0000 0000:0000 0
311: 1B 7 0 64 64 A000 0000 C000:7A6D 1280 640 480 8 16 1 16 1 06 0
312: 1B 7 0 64 64 A000 0000 C000:7A6D 2560 640 480 8 16 1 32 1 06 0
314: 1B 7 0 64 64 A000 0000 C000:7A6D 1600 800 600 8 16 1 16 1 06 0
315: 1B 7 0 64 64 A000 0000 C000:7A6D 3200 800 600 8 16 1 32 1 06 0
317: 00 0 0 0 0 0000 0000 0000:0000 0
318: 00 0 0 0 0 0000 0000 0000:0000 0
31A: 00 0 0 0 0 0000 0000 0000:0000 0
31B: 00 0 0 0 0 0000 0000 0000:0000 0
33A: 00 0 0 0 0 0000 0000 0000:0000 0
33C: 00 0 0 0 0 0000 0000 0000:0000 0
34B: 00 0 0 0 0 0000 0000 0000:0000 0
34D: 00 0 0 0 0 0000 0000 0000:0000 0
35A: 00 0 0 0 0 0000 0000 0000:0000 0
35C: 00 0 0 0 0 0000 0000 0000:0000 0
360: 00 0 0 0 0 0000 0000 0000:0000 0
361: 00 0 0 0 0 0000 0000 0000:0000 0
362: 00 0 0 0 0 0000 0000 0000:0000 0
363: 00 0 0 0 0 0000 0000 0000:0000 0
364: 00 0 0 0 0 0000 0000 0000:0000 0
365: 00 0 0 0 0 0000 0000 0000:0000 0
366: 00 0 0 0 0 0000 0000 0000:0000 0
367: 00 0 0 0 0 0000 0000 0000:0000 0
368: 00 0 0 0 0 0000 0000 0000:0000 0
369: 00 0 0 0 0 0000 0000 0000:0000 0
36A: 00 0 0 0 0 0000 0000 0000:0000 0
36B: 00 0 0 0 0 0000 0000 0000:0000 0
36C: 00 0 0 0 0 0000 0000 0000:0000 0
36D: 00 0 0 0 0 0000 0000 0000:0000 0
36E: 00 0 0 0 0 0000 0000 0000:0000 0
36F: 00 0 0 0 0 0000 0000 0000:0000 0
370: 00 0 0 0 0 0000 0000 0000:0000 0
371: 00 0 0 0 0 0000 0000 0000:0000 0
3FF: 1B 7 0 64 64 A000 0000 C000:7A6D 640 640 480 8 16 1 8 1 04 0
400: 0F 7 0 64 64 A000 0000 C000:7A6D 0 132 25 8 16 1 4 1 00 0
401: 0F 7 0 64 64 A000 0000 C000:7A6D 0 132 25 8 16 1 4 1 00 0
402: 0F 7 0 64 64 A000 0000 C000:7A6D 0 132 25 8 16 1 4 1 00 0
403: 0F 7 0 64 64 A000 0000 C000:7A6D 0 132 25 8 16 1 4 1 00 0
404: 1B 7 0 64 64 A000 0000 C000:7A6D 0 360 400 8 16 1 4 1 01 0
405: 1B 7 0 64 64 A000 0000 C000:7A6D 0 360 400 8 16 1 4 1 01 0
406: 1B 7 0 64 64 A000 0000 C000:7A6D 0 720 400 8 16 1 4 1 01 0
407: 0F 7 0 64 64 A000 0000 C000:7A6D 0 132 25 8 16 1 4 1 00 0
408: 1B 7 0 64 64 A000 0000 C000:7A6D 0 108 256 8 16 4 4 1 03 0
409: 1B 7 0 64 64 A000 0000 C000:7A6D 0 54 22 8 16 4 4 1 03 0
40A: 1B 7 0 64 64 A000 0000 C000:7A6D 0 189 309 8 16 4 4 1 03 0
40B: 1B 7 0 64 64 A000 0000 C000:7A6D 0 162 40 8 16 4 4 1 03 0
40C: 1B 7 0 64 64 A000 0000 C000:7A6D 0 9 1 8 16 4 4 1 03 0
40D: 1B 7 0 64 64 A000 0000 C000:7A6D 0 360 400 8 16 4 4 1 03 0
40E: 1B 7 0 64 64 A000 0000 C000:7A6D 0 720 400 8 16 4 4 1 03 0
40F: 1B 7 0 64 64 A000 0000 C000:7A6D 0 720 350 8 16 4 4 1 03 0
410: 1B 7 0 64 64 A000 0000 C000:7A6D 0 720 350 8 16 4 4 1 03 0
411: 1B 7 0 64 64 A000 0000 C000:7A6D 0 720 480 8 16 4 4 1 03 0
412: 1B 7 0 64 64 A000 0000 C000:7A6D 0 720 480 8 16 4 4 1 03 0
413: 1B 7 0 64 64 A000 0000 C000:7A6D 0 720 400 8 16 1 8 1 05 0
430: 1B 7 0 64 64 A000 0000 C000:7A6D 640 640 480 8 16 1 8 1 04 0
432: 1B 7 0 64 64 A000 0000 C000:7A6D 832 800 600 8 16 1 8 1 04 0
434: 00 0 0 0 0 0000 0000 0000:0000 0
438: 00 0 0 0 0 0000 0000 0000:0000 0
43A: 00 0 0 0 0 0000 0000 0000:0000 0
43C: 00 0 0 0 0 0000 0000 0000:0000 0
441: 1B 7 0 64 64 A000 0000 C000:7A6D 1280 640 480 8 16 1 16 1 06 0
443: 1B 7 0 64 64 A000 0000 C000:7A6D 1600 800 600 8 16 1 16 1 06 0
445: 00 0 0 0 0 0000 0000 0000:0000 0
449: 00 0 0 0 0 0000 0000 0000:0000 0
44B: 00 0 0 0 0 0000 0000 0000:0000 0
44D: 00 0 0 0 0 0000 0000 0000:0000 0
450: 1B 7 0 64 64 A000 0000 C000:7A6D 2560 640 480 8 16 1 32 1 06 0
452: 1B 7 0 64 64 A000 0000 C000:7A6D 3200 800 600 8 16 1 32 1 06 0
454: 00 0 0 0 0 0000 0000 0000:0000 0
458: 00 0 0 0 0 0000 0000 0000:0000 0
45A: 00 0 0 0 0 0000 0000 0000:0000 0
45C: 00 0 0 0 0 0000 0000 0000:0000 0
460: 00 0 0 0 0 0000 0000 0000:0000 0
461: 00 0 0 0 0 0000 0000 0000:0000 0
462: 00 0 0 0 0 0000 0000 0000:0000 0
463: 00 0 0 0 0 0000 0000 0000:0000 0
464: 00 0 0 0 0 0000 0000 0000:0000 0
465: 00 0 0 0 0 0000 0000 0000:0000 0
466: 00 0 0 0 0 0000 0000 0000:0000 0
467: 00 0 0 0 0 0000 0000 0000:0000 0
468: 00 0 0 0 0 0000 0000 0000:0000 0
469: 00 0 0 0 0 0000 0000 0000:0000 0
46A: 00 0 0 0 0 0000 0000 0000:0000 0
46B: 00 0 0 0 0 0000 0000 0000:0000 0
46C: 00 0 0 0 0 0000 0000 0000:0000 0
46D: 00 0 0 0 0 0000 0000 0000:0000 0
46E: 00 0 0 0 0 0000 0000 0000:0000 0
46F: 00 0 0 0 0 0000 0000 0000:0000 0
470: 00 0 0 0 0 0000 0000 0000:0000 0
471: 00 0 0 0 0 0000 0000 0000:0000 0
4FF: 0F 7 0 64 64 A000 0000 C000:7A6D 0 132 25 8 16 1 4 1 00 0
501: 1B 7 0 64 64 A000 0000 C000:7A6D 640 640 480 8 16 1 8 1 04 0
503: 1B 7 0 64 64 A000 0000 C000:7A6D 832 800 600 8 16 1 8 1 04 0
505: 00 0 0 0 0 0000 0000 0000:0000 0
507: 00 0 0 0 0 0000 0000 0000:0000 0
511: 1B 7 0 64 64 A000 0000 C000:7A6D 1280 640 480 8 16 1 16 1 06 0
512: 1B 7 0 64 64 A000 0000 C000:7A6D 2560 640 480 8 16 1 32 1 06 0
514: 1B 7 0 64 64 A000 0000 C000:7A6D 1600 800 600 8 16 1 16 1 06 0
515: 1B 7 0 64 64 A000 0000 C000:7A6D 3200 800 600 8 16 1 32 1 06 0
517: 00 0 0 0 0 0000 0000 0000:0000 0
518: 00 0 0 0 0 0000 0000 0000:0000 0
51A: 00 0 0 0 0 0000 0000 0000:0000 0
51B: 00 0 0 0 0 0000 0000 0000:0000 0
53A: 00 0 0 0 0 0000 0000 0000:0000 0
53C: 00 0 0 0 0 0000 0000 0000:0000 0
54B: 00 0 0 0 0 0000 0000 0000:0000 0
54D: 00 0 0 0 0 0000 0000 0000:0000 0
55A: 00 0 0 0 0 0000 0000 0000:0000 0
55C: 00 0 0 0 0 0000 0000 0000:0000 0
560: 00 0 0 0 0 0000 0000 0000:0000 0
561: 00 0 0 0 0 0000 0000 0000:0000 0
562: 00 0 0 0 0 0000 0000 0000:0000 0
563: 00 0 0 0 0 0000 0000 0000:0000 0
564: 00 0 0 0 0 0000 0000 0000:0000 0
565: 00 0 0 0 0 0000 0000 0000:0000 0
566: 00 0 0 0 0 0000 0000 0000:0000 0
567: 00 0 0 0 0 0000 0000 0000:0000 0
568: 00 0 0 0 0 0000 0000 0000:0000 0
569: 00 0 0 0 0 0000 0000 0000:0000 0
56A: 00 0 0 0 0 0000 0000 0000:0000 0
56B: 00 0 0 0 0 0000 0000 0000:0000 0
56C: 00 0 0 0 0 0000 0000 0000:0000 0
56D: 00 0 0 0 0 0000 0000 0000:0000 0
56E: 00 0 0 0 0 0000 0000 0000:0000 0
56F: 00 0 0 0 0 0000 0000 0000:0000 0
570: 00 0 0 0 0 0000 0000 0000:0000 0
571: 00 0 0 0 0 0000 0000 0000:0000 0
5FF: 1B 7 0 64 64 A000 0000 C000:7A6D 640 640 480 8 16 1 8 1 04 0
600: 0F 7 0 64 64 A000 0000 C000:7A6D 0 132 25 8 16 1 4 1 00 0
601: 0F 7 0 64 64 A000 0000 C000:7A6D 0 132 25 8 16 1 4 1 00 0
602: 0F 7 0 64 64 A000 0000 C000:7A6D 0 132 25 8 16 1 4 1 00 0
603: 0F 7 0 64 64 A000 0000 C000:7A6D 0 132 25 8 16 1 4 1 00 0
604: 1B 7 0 64 64 A000 0000 C000:7A6D 0 360 400 8 16 1 4 1 01 0
605: 1B 7 0 64 64 A000 0000 C000:7A6D 0 360 400 8 16 1 4 1 01 0
606: 1B 7 0 64 64 A000 0000 C000:7A6D 0 720 400 8 16 1 4 1 01 0
607: 0F 7 0 64 64 A000 0000 C000:7A6D 0 132 25 8 16 1 4 1 00 0
608: 1B 7 0 64 64 A000 0000 C000:7A6D 0 108 256 8 16 4 4 1 03 0
609: 1B 7 0 64 64 A000 0000 C000:7A6D 0 54 22 8 16 4 4 1 03 0
60A: 1B 7 0 64 64 A000 0000 C000:7A6D 0 189 309 8 16 4 4 1 03 0
60B: 1B 7 0 64 64 A000 0000 C000:7A6D 0 162 40 8 16 4 4 1 03 0
60C: 1B 7 0 64 64 A000 0000 C000:7A6D 0 9 1 8 16 4 4 1 03 0
60D: 1B 7 0 64 64 A000 0000 C000:7A6D 0 360 400 8 16 4 4 1 03 0
60E: 1B 7 0 64 64 A000 0000 C000:7A6D 0 720 400 8 16 4 4 1 03 0
60F: 1B 7 0 64 64 A000 0000 C000:7A6D 0 720 350 8 16 4 4 1 03 0
610: 1B 7 0 64 64 A000 0000 C000:7A6D 0 720 350 8 16 4 4 1 03 0
611: 1B 7 0 64 64 A000 0000 C000:7A6D 0 720 480 8 16 4 4 1 03 0
612: 1B 7 0 64 64 A000 0000 C000:7A6D 0 720 480 8 16 4 4 1 03 0
613: 1B 7 0 64 64 A000 0000 C000:7A6D 0 720 400 8 16 1 8 1 05 0
630: 1B 7 0 64 64 A000 0000 C000:7A6D 640 640 480 8 16 1 8 1 04 0
632: 1B 7 0 64 64 A000 0000 C000:7A6D 832 800 600 8 16 1 8 1 04 0
634: 00 0 0 0 0 0000 0000 0000:0000 0
638: 00 0 0 0 0 0000 0000 0000:0000 0
63A: 00 0 0 0 0 0000 0000 0000:0000 0
63C: 00 0 0 0 0 0000 0000 0000:0000 0
641: 1B 7 0 64 64 A000 0000 C000:7A6D 1280 640 480 8 16 1 16 1 06 0
643: 1B 7 0 64 64 A000 0000 C000:7A6D 1600 800 600 8 16 1 16 1 06 0
645: 00 0 0 0 0 0000 0000 0000:0000 0
649: 00 0 0 0 0 0000 0000 0000:0000 0
64B: 00 0 0 0 0 0000 0000 0000:0000 0
64D: 00 0 0 0 0 0000 0000 0000:0000 0
650: 1B 7 0 64 64 A000 0000 C000:7A6D 2560 640 480 8 16 1 32 1 06 0
652: 1B 7 0 64 64 A000 0000 C000:7A6D 3200 800 600 8 16 1 32 1 06 0
654: 00 0 0 0 0 0000 0000 0000:0000 0
658: 00 0 0 0 0 0000 0000 0000:0000 0
65A: 00 0 0 0 0 0000 0000 0000:0000 0
65C: 00 0 0 0 0 0000 0000 0000:0000 0
660: 00 0 0 0 0 0000 0000 0000:0000 0
661: 00 0 0 0 0 0000 0000 0000:0000 0
662: 00 0 0 0 0 0000 0000 0000:0000 0
663: 00 0 0 0 0 0000 0000 0000:0000 0
664: 00 0 0 0 0 0000 0000 0000:0000 0
665: 00 0 0 0 0 0000 0000 0000:0000 0
666: 00 0 0 0 0 0000 0000 0000:0000 0
667: 00 0 0 0 0 0000 0000 0000:0000 0
668: 00 0 0 0 0 0000 0000 0000:0000 0
669: 00 0 0 0 0 0000 0000 0000:0000 0
66A: 00 0 0 0 0 0000 0000 0000:0000 0
66B: 00 0 0 0 0 0000 0000 0000:0000 0
66C: 00 0 0 0 0 0000 0000 0000:0000 0
66D: 00 0 0 0 0 0000 0000 0000:0000 0
66E: 00 0 0 0 0 0000 0000 0000:0000 0
66F: 00 0 0 0 0 0000 0000 0000:0000 0
670: 00 0 0 0 0 0000 0000 0000:0000 0
671: 00 0 0 0 0 0000 0000 0000:0000 0
6FF: 0F 7 0 64 64 A000 0000 C000:7A6D 0 132 25 8 16 1 4 1 00 0
701: 1B 7 0 64 64 A000 0000 C000:7A6D 640 640 480 8 16 1 8 1 04 0
703: 1B 7 0 64 64 A000 0000 C000:7A6D 832 800 600 8 16 1 8 1 04 0
705: 00 0 0 0 0 0000 0000 0000:0000 0
707: 00 0 0 0 0 0000 0000 0000:0000 0
711: 1B 7 0 64 64 A000 0000 C000:7A6D 1280 640 480 8 16 1 16 1 06 0
712: 1B 7 0 64 64 A000 0000 C000:7A6D 2560 640 480 8 16 1 32 1 06 0
714: 1B 7 0 64 64 A000 0000 C000:7A6D 1600 800 600 8 16 1 16 1 06 0
715: 1B 7 0 64 64 A000 0000 C000:7A6D 3200 800 600 8 16 1 32 1 06 0
717: 00 0 0 0 0 0000 0000 0000:0000 0
718: 00 0 0 0 0 0000 0000 0000:0000 0
71A: 00 0 0 0 0 0000 0000 0000:0000 0
71B: 00 0 0 0 0 0000 0000 0000:0000 0
73A: 00 0 0 0 0 0000 0000 0000:0000 0
73C: 00 0 0 0 0 0000 0000 0000:0000 0
74B: 00 0 0 0 0 0000 0000 0000:0000 0
74D: 00 0 0 0 0 0000 0000 0000:0000 0
75A: 00 0 0 0 0 0000 0000 0000:0000 0
75C: 00 0 0 0 0 0000 0000 0000:0000 0
760: 00 0 0 0 0 0000 0000 0000:0000 0
761: 00 0 0 0 0 0000 0000 0000:0000 0
762: 00 0 0 0 0 0000 0000 0000:0000 0
763: 00 0 0 0 0 0000 0000 0000:0000 0
764: 00 0 0 0 0 0000 0000 0000:0000 0
765: 00 0 0 0 0 0000 0000 0000:0000 0
766: 00 0 0 0 0 0000 0000 0000:0000 0
767: 00 0 0 0 0 0000 0000 0000:0000 0
768: 00 0 0 0 0 0000 0000 0000:0000 0
769: 00 0 0 0 0 0000 0000 0000:0000 0
76A: 00 0 0 0 0 0000 0000 0000:0000 0
76B: 00 0 0 0 0 0000 0000 0000:0000 0
76C: 00 0 0 0 0 0000 0000 0000:0000 0
76D: 00 0 0 0 0 0000 0000 0000:0000 0
76E: 00 0 0 0 0 0000 0000 0000:0000 0
76F: 00 0 0 0 0 0000 0000 0000:0000 0
770: 00 0 0 0 0 0000 0000 0000:0000 0
771: 00 0 0 0 0 0000 0000 0000:0000 0
7FF: 1B 7 0 64 64 A000 0000 C000:7A6D 640 640 480 8 16 1 8 1 04 0
------------------------------------------------------------------------------------------
freecrac hat geschrieben:
Die heutige übliche Methode ist es die Vesa-Modeliste aus dem Bios auszulesen und jeden dort aufgelisteten Mode auf dessen Fahigkeit zu überprüfen,
bis man die gewünschte Auflösung, Farbtiefe etc. gefunden hat.
Mit BIOS meinst du wahrscheinlich das BIOS der Grafikkarte? Im BIOS des Motherboards konnte ich nichts finden, was im entferntesten mit Grafikkarteneinstellungen zu tun hat.
freecrac hat geschrieben:
Auch ist nicht jeder unter einem Windows-Grafiktreiber verfügbare Videomode als Vesamode verfügbar.
Scheint hier der Fall zu sein, deshalb wird auch nichts gefunden.
freecrac hat geschrieben:
Geos und auch UNIVBE habe ich selber noch nie verwendet. Ich vermute das Geos selber Vesa verwendet um Videomodi einzuschalten. Korregiere mich wenn das nicht stimmt.
Ich weiß es nicht. Ich gehe aber mal davon aus.
freecrac hat geschrieben:
Wenn deine integrierte GraKa jedoch eine eigene Vesamodeliste mitbringt, dann ist es damit auch möglich die dortigen Vesamodi einzuschalten.
Ich vermute allerdings das andere Anwendungen die selber einen Videomode einschalten, dieses dann auch tun und damit den vorher eingestellten Mode ignorieren und wechseln.
Nicht relevant. Alle Anwendungen die unter Geos laufen, sind auch für Geos programmiert und laufen nirgend wo anders.
Andere Anwendungen außerhalb von Geos (außer DOS-Programmen) gibt es nicht.
Es könnte da evtl. nur ein Problem geben, wenn ich DOS-Programme aus Geos heraus starte, und anschließend wieder zu Geos zurückkehre.
Und da ich Geos auf einer bootbaren SD-Karte habe, muß ich den Rechner sowieso neu starten, wenn ich unter Windows 7 was machen will.
freecrac hat geschrieben:
Aber das ist nur eine Vermutung. Was passierrt denn wenn du vorher schon einen Videomode eingeschaltet hast und danach das Geos startest?
Mit den laufenden 800 x 600 Videomodi (als Basis) habe ich das mal durchgespielt
Unter 800 x 600 kann ich folgende Treiber unter Geos auswählen...

800 x 600 TrueColor (16 Mio. Farben)
800 x 600 64000 Farben
800 x 600 32000 Farben (Funktioniert nicht / logisch / da laut Intel-Videoliste nicht unterstützt)
800 x 600 256 Farben
800 x 600 16 Farben (Funktioniert nicht, wird nur Datenmüll auf Bildschirm angezeigt)

Ich habe nacheinander jeden einzelnen dieser Treiber unter Geos eingestellt.
Diese wurden in die Geos.ini eingetragen, und Geos neu gestartet.
Anschließend habe ich Geos wieder beendet, und habe die Auflösung in der Geos.ini per Editor auf 1024 x 768 geändert und Geos wieder neu gestartet.

800 x 600 TrueColor -> 1024 x 768 TrueColor = Geos ließ sich starten, es wird angezeigt, daß der Treiber 1024 x 768 / TrueColor benutzt wird. Von der Anzeige her wird aber als Auflösung 640 x 480 / 16 Farben verwendet.
800 x 600 64000 Farben -> 1024 x 768 64000 Farben = Geos ließ sich starten, es wird angezeigt, daß der Treiber 1024 x 768 / 64000 Farben benutzt wird. Von der Anzeige her wird aber als Auflösung 640 x 480 / 16 Farben verwendet.
800 x 600 256 Farben -> 1024 x 768 256 Farben = Geos ließ sich starten, es wird angezeigt, daß der Treiber 1024 x 768 / 256 Farben benutzt wird. Von der Anzeige her wird aber als Auflösung 640 x 480 mit Falschfarben verwendet (weiß wird als hellblau dargestellt)

Gruß Frank
frank9652
Norton Commander
Beiträge: 142
Registriert: Di 27. Mär 2007, 13:03
Wohnort: Göppingen

Re: DOS-Programm gesucht um VESA-Modus zu erzwingen

Beitrag von frank9652 »

Wenn ich das recht verstehe, dann blieben bisher alle meine Bemühungen erfolglos, weil für die Auflösung 1024 x 768 bei diesem Grafikchip keine herkömmliche VESA-Modus-Nr. definiert wurde. -Deshalb würde mein Anliegen wahrscheinlich auch nichts nützen, den VESA-Modus 118 zu erzwingen weil die originale Auflösung nicht auf diesem Modus liegt..
Die einzigste Möglichkeit wäre, das BIOS des Grafikchips zu durchsuchen, und herauszufinden wie die Einstellungen zum setzen der Auflösung 1024 x 768 / 16 Mio. Farben lautet.
Und evtl. diese Einstellungen auf den VESA-Modus 118 umzubiegen und so Geos zur Verfügung zu stellen.

Gruß Frank
Benutzeravatar
kpanic
EDLIN-Benutzer
Beiträge: 116
Registriert: Mo 27. Sep 2010, 11:07
Wohnort: Süd-Südbaden
Kontaktdaten:

Re: DOS-Programm gesucht um VESA-Modus zu erzwingen

Beitrag von kpanic »

Ganz blöde Idee:
Könnte es nicht sein, dass das Netbook (Ich denke zumindest mal, dass es eins ist), wie alle Netbooks, ein Widescreen-TFT-Panel verbaut hat, das mit 1024x600 läuft? Von daher käme es mir logisch vor, dass 1024x768 nicht unterstützt werden (weil das Panel es eh nicht darstellen kann)
Stell die Auflösung einfach auf 800x600, dann haste die volle Höhe und links und rechts schwarze Balken. Halt 4:3 auf nem 16:10-Display
freecrac
DOS-Guru
Beiträge: 861
Registriert: Mi 21. Apr 2010, 11:44
Wohnort: Hamburg Horn

Re: DOS-Programm gesucht um VESA-Modus zu erzwingen

Beitrag von freecrac »

Hallo Frank, zunächst bin ich positiv überascht das du dir so viel Mühe gibts hier alle relevanten Details zu posten.
frank9652 hat geschrieben:Mit BIOS meinst du wahrscheinlich das BIOS der Grafikkarte? Im BIOS des Motherboards konnte ich nichts finden, was im entferntesten mit Grafikkarteneinstellungen zu tun hat.
Ja genau, damit meine ich das Bios der GraKa und im speziellen der Vesa-Bios davon. Das beinhalten neben verschiedene Routinen zur Vesaprogrammierung auch diverse Tabellen mit Informationen wie z.B. die Vesamodeliste.

Dirk
frank9652
Norton Commander
Beiträge: 142
Registriert: Di 27. Mär 2007, 13:03
Wohnort: Göppingen

Re: DOS-Programm gesucht um VESA-Modus zu erzwingen

Beitrag von frank9652 »

Hallo kpanic!
kpanic hat geschrieben:Ganz blöde Idee:
Könnte es nicht sein, dass das Netbook (Ich denke zumindest mal, dass es eins ist), wie alle Netbooks, ein Widescreen-TFT-Panel verbaut hat, das mit 1024x600 läuft? Von daher käme es mir logisch vor, dass 1024x768 nicht unterstützt werden (weil das Panel es eh nicht darstellen kann)
Stell die Auflösung einfach auf 800x600, dann haste die volle Höhe und links und rechts schwarze Balken. Halt 4:3 auf nem 16:10-Display
Du liegst richtig, daß es ein Widescreen-TFT ist.
Unter Geos wird KEINE Auflösung über 800 x 600 erkannt. -Auch 1024 x 600 nicht.
Jedoch gibt es in Geos die Möglichkeit (wenn 1024 x 768 erkannt werden würde) die Oberfläche und alle Anwendungen wieder auf 1024 x 600 anzupassen.
Das habe ich so bei meinem Erstnetbook Toshiba Libretto CT110 mit 7 Zoll Bildschirm auch gemacht.
Treiber 800 x 600 eingestellt, und dann auf 800 x 480 angepaßt.

Gruß Frank
frank9652
Norton Commander
Beiträge: 142
Registriert: Di 27. Mär 2007, 13:03
Wohnort: Göppingen

Re: DOS-Programm gesucht um VESA-Modus zu erzwingen

Beitrag von frank9652 »

freecrac hat geschrieben:Hallo Frank, zunächst bin ich positiv überascht das du dir so viel Mühe gibts hier alle relevanten Details zu posten.
Na ja, wenn man Hilfe haben will, muß man auch mit Infos rüberrücken.
freecrac hat geschrieben: ...damit meine ich das Bios der GraKa und im speziellen der Vesa-Bios davon. Das beinhalten neben verschiedene Routinen zur Vesaprogrammierung auch diverse Tabellen mit Informationen wie z.B. die Vesamodeliste.
Dirk
Keine Ahnung wo und wie ich da rankommen kann. Konnte bisher da nichts finden.
Ich starte mal eine Anfrage im Eee PC Forum.

Gruß Frank
freecrac
DOS-Guru
Beiträge: 861
Registriert: Mi 21. Apr 2010, 11:44
Wohnort: Hamburg Horn

Re: DOS-Programm gesucht um VESA-Modus zu erzwingen

Beitrag von freecrac »

frank9652 hat geschrieben:Wenn ich das recht verstehe, dann blieben bisher alle meine Bemühungen erfolglos, weil für die Auflösung 1024 x 768 bei diesem Grafikchip keine herkömmliche VESA-Modus-Nr. definiert wurde. -Deshalb würde mein Anliegen wahrscheinlich auch nichts nützen, den VESA-Modus 118 zu erzwingen weil die originale Auflösung nicht auf diesem Modus liegt..
Die einzigste Möglichkeit wäre, das BIOS des Grafikchips zu durchsuchen, und herauszufinden wie die Einstellungen zum setzen der Auflösung 1024 x 768 / 16 Mio. Farben lautet.
Und evtl. diese Einstellungen auf den VESA-Modus 118 umzubiegen und so Geos zur Verfügung zu stellen.

Gruß Frank
Einen VESA-Modus 118 kann man nicht erzwingen. Jede Anwendung die einen Vesamode einschalten möchte muss dafür den Int 10h aufrufen und dabei die Modenummer im BX-Register übergeben.
Das einzige was man nun machen kann ist es, die Vesamode-Nummer beim Aufruf vom Int 10h abzufangen und durch eine Nummer zu ersetzen die unsere gewünschte Auflösung von 1024x768x24 Bit trucolor einschalten lässt und vom jeweiligen Vesabios mitgebracht wird.

Nun kommen wir aber zum nächsten Problem. Wie man in den Vesa-Modelisten der nun folgenden GraKas die ich hier mal aufliste ersehen kann, stellt nicht jede GraKa einen Vesamode mit 1024x768 und 24 Bit zur Verfügung, sondern einige nur 1024x768 mit 32 Bit.

Code: Alles auswählen

-------------------------------------
ATI 9800 PRO VESA Modi 128 MB AGP
-------------------------------------
 4    8   15  16  24  32   Matrix
-------------------------------------
109                       132 x 25
10A                       132 x 43
130                       132 x 44
     182 10D 10E 10F 120  320 x 200
     192 193 194 195 196  320 x 240
     1A2 1A3 1A4 1A5 1A6  400 x 300
     1B2 1B3 1B4 1B5 1B6  512 x 384
     1C2 1C3 1C4 1C5 1C6  640 x 350
     100 183 184 185 186  640 x 400
     101 110 111 112 121  640 x 480
102  103 113 114 115 122  800 x 600
104  105 106 107 108 123 1024 x 768
     107 119 11A 11B 124 1280 x 1024

-------------------------------------
 ATI X800 PRO VESA MODI 256 MB AGP
-------------------------------------
 4    8   15  16  24  32   Matrix
-------------------------------------
109                       132 x 25
10A                       132 x 34
130                       132 x 44
             10D     10F  320 x 200
     193     194     196  320 x 240
     1B3     1B4     1B6  512 x 384
     1C3     1C4     1C6  640 x 350
     100     184     186  640 x 400
     101     110     112  640 x 480
     133     134     136  720 x 400
     103     113     115  800 x 600
     105     116     118 1024 x 768
     153     154     156 1152 x 864
     107     119     11B 1280 x 1024
     143     144     146 1400 x 1050
     173     174     176 1600 x 1200
     1D3     1D4     1D6 1856 x 1392
     1E3     1E4     1E6 1920 x 1440

-------------------------------------
 NVIDIA GF 4 Ti4200 VESA Modi 64 MB AGP
-------------------------------------
 4    8   15  16  24  32   Matrix
-------------------------------------
108                        80 x 60
109                       132 x 25
10A                       132 x 43
10B                       132 x 50
10C                       132 x 60
     130     10E     10F  320 x 200
     134     135     136  320 x 240
     131     132     133  320 x 400
     100     13D     13E  640 x 400
     101     111     112  640 x 480
102  103     114     115  800 x 600
104  105     117     118 1024 x 768
106  107     11A         1280 x 1024
     147     148         1400 x 1050
     145     146         1600 x 1200

------------------------------------- 
 NVIDIA GF 6800 GT VESA Modi 256 MB AGP
-------------------------------------
 4    8   15  16  24  32   Matrix
-------------------------------------
     130     10E     10F  320 x 200
     134     135     136  320 x 240
     131     132     133  320 x 400
     100     13D     13E  640 x 400
     101     111     112  640 x 480
102  103     114     115  800 x 600
104  105     117     118 1024 x 768
106  107     11A     11B 1280 x 1024
     145     146         1600 x 1200
     147     148         1400 x 1050
                     152 2048 x 1536

------------------------------------- 
Vesamodi Colorfull GTX295 (alle Werte hexadezimal) PCIe
------------------------------------- 
0100 X=0280 Y=0190 8Bit
0101 X=0280 Y=01E0 8Bit
0102 X=0320 Y=0258 4Bit *
0103 X=0320 Y=0258 8Bit
0104 X=0400 Y=0300 4Bit *
0105 X=0400 Y=0300 8Bit
0106 X=0500 Y=0400 4Bit *
0107 X=0500 Y=0400 8Bit
010E X=0140 Y=00C8 10Bit
010F X=0140 Y=00C8 20Bit
0111 X=0280 Y=01E0 10Bit
0112 X=0280 Y=01E0 20Bit
0114 X=0320 Y=0258 10Bit
0115 X=0320 Y=0258 20Bit
0117 X=0400 Y=0300 10Bit
0118 X=0400 Y=0300 20Bit
011A X=0500 Y=0400 10Bit
011B X=0500 Y=0400 20Bit
0130 X=0140 Y=00C8 8Bit
0131 X=0140 Y=0190 8Bit
0132 X=0140 Y=0190 10Bit
0133 X=0140 Y=0190 20Bit
0134 X=0140 Y=00F0 8Bit
0135 X=0140 Y=00F0 10Bit
0136 X=0140 Y=00F0 20Bit
013D X=0280 Y=0190 10Bit
013E X=0280 Y=0190 20Bit
0145 X=0640 Y=04B0 8Bit
0146 X=0640 Y=04B0 10Bit
014A X=0640 Y=04B0 20Bit
0160 X=0500 Y=0320 8Bit
0161 X=0500 Y=0320 20Bit
0162 X=0300 Y=01E0 8Bit
017B X=0500 Y=02D0 20Bit
017C X=0780 Y=04B0 8Bit
017D X=0780 Y=04B0 20Bit

Alle Modi (der GTX 295) haben linear und hardware triple buffering supported
* =  mode not supported in hardware

Wie man an dieser letzten Liste erkennen kann werden von der GTX295 auch Vesamodi für Widescreen-Monitore zur Verfügung gestellt.
Und so kann ich meinen 28" widescreen LCD mit seiner nativen Auflösung von 1920x1200 auch unter DOS entweder mit 8 Bit und 265 Farben,
oder mit 32 Bit truecolor ganz ohne eine Interpolation betreiben.
Der Unterschied zwischen 24Bit und 32Bit Truecolor definiert sich hierbei über die Anzahl der Bits je Pixel. Dadurch ändert sich auch die Adressierung um die Position des Pixels zu bestimmen.
R = roter Farbanteil
G = grüner Farbanteil
B = blauer Farbanteil
X = beliebiger Wert

Die Bits für einen Pixel bei 32 Bit Truecolor: RRRRRRRR GGGGGGGG BBBBBBBB XXXXXXXX ......nächster Pixel
Beginnend in der linklen oberen Ecke des Bildschirm starten wir mit dem ersten Pixel bei der Adresse 0 und der zweite Pixel beginnt bei Adresse 4, dann Adresse 8 usw....

Die Bits für einen Pixel bei 24 Bit Truecolor: RRRRRRRR GGGGGGGG BBBBBBBB ....nächster Pixel
Beginnend in der linklen oberen Ecke des Bildschirm starten wir mit dem ersten Pixel bei der Adresse 0 und der zweite Pixel beginnt bei Adresse 3, dann Adresse 6 usw....

...

Ich bevorzuge Truecolormodi mit 32 Bit je Pixel aus dem einzigen Grund weil die Adressierung damit einfacher zu realisieren ist als mit 24 Bit je Pixel.
Das hat folgende Bewandniss: Es gibt 8 Bit Register, 16 Bit Register und 32 Bit-Register, aber keine 24 Bit Register. Auch kann man nur einen 8, 16 oder 32 bittigen Speicherzugriff mit einem Befehl machen.
Für Videomodi mit 24 Bit je Pixel braucht man daher mindestesten zwei Speicherzugriffe. Einen mit 16 Bit und einen mit 8 Bit, oder drei 8 Bit Zugriffe.
Für Videomodi mit 32 Bit je Pixel braucht man nur einen einzigen 32 Bit Zugriff um einen Pixel zu setzen.

Dirk
Zuletzt geändert von freecrac am Di 28. Sep 2010, 11:19, insgesamt 6-mal geändert.
freecrac
DOS-Guru
Beiträge: 861
Registriert: Mi 21. Apr 2010, 11:44
Wohnort: Hamburg Horn

Re: DOS-Programm gesucht um VESA-Modus zu erzwingen

Beitrag von freecrac »

kpanic hat geschrieben:Ganz blöde Idee:
Könnte es nicht sein, dass das Netbook (Ich denke zumindest mal, dass es eins ist), wie alle Netbooks, ein Widescreen-TFT-Panel verbaut hat, das mit 1024x600 läuft? Von daher käme es mir logisch vor, dass 1024x768 nicht unterstützt werden (weil das Panel es eh nicht darstellen kann)
Stell die Auflösung einfach auf 800x600, dann haste die volle Höhe und links und rechts schwarze Balken. Halt 4:3 auf nem 16:10-Display
Das könnte sein das man deswegen auf 4:3 Vesamodi verzichet. Aber man bekommt nicht unbedingt schwarze Balken links und rechts, wenn der Monitor das Bildsignal interpoliert darstellt und damit verzerrt wiedergibt.

Dirk
Zuletzt geändert von freecrac am Di 28. Sep 2010, 11:31, insgesamt 1-mal geändert.
freecrac
DOS-Guru
Beiträge: 861
Registriert: Mi 21. Apr 2010, 11:44
Wohnort: Hamburg Horn

Re: DOS-Programm gesucht um VESA-Modus zu erzwingen

Beitrag von freecrac »

frank9652 hat geschrieben:
freecrac hat geschrieben:Hallo Frank, zunächst bin ich positiv überascht das du dir so viel Mühe gibts hier alle relevanten Details zu posten.
Na ja, wenn man Hilfe haben will, muß man auch mit Infos rüberrücken.
Wenn alle so mithelfen würden, dann wäre es oft einfacher. So wie ich es beurteile ist es jedoch die Ausnahme. Damit meine ich aber nicht dieses DOS-Forum, sondern meine gesamten Erfahrungen in verschiedenen Foren und Newsgroups die ich im Laufe der Jahre gemacht habe.
Und das fängt oft schon damit an das ein Beteff für eine Anfrage gewählt wird, der das Thema nicht mal im entferntestens erraten läßt. Etwa wie "Wer kann mir helfen?". Dann fehlen oft relevante Angaben über das Umfeld.
Antwortet man dann mit einer möglichen Lösung, dann kann man froh sein wenn sich der Fragesteller überhaupt wieder zurückmeldet und ein Feedback auf die Antwort dazu gibt.
freecrac hat geschrieben: ...damit meine ich das Bios der GraKa und im speziellen der Vesa-Bios davon. Das beinhalten neben verschiedene Routinen zur Vesaprogrammierung auch diverse Tabellen mit Informationen wie z.B. die Vesamodeliste.
Dirk
Keine Ahnung wo und wie ich da rankommen kann. Konnte bisher da nichts finden.
Informationen zum Vesabios findet man im vbe3.pdf auf vesa.org und auch etwas darüber im RBIL. Die Informationen unterteilen sich in zwei Bereiche.

Die Informationen über das Vesa-Bios (AX=4F00; ES:DI=Buffer; INT 10h):

Code: Alles auswählen

VbeSignature      db 'VESA'      ; VBE Signature
VbeVersion        dw 0300h       ; VBE Version
OemStringPtr      dd ?           ; VbeFarPtr to OEM String
Capabilities      db 4 dup (?)   ; Capabilities of graphics controller
VideoModePtr      dd ?           ; VbeFarPtr to VideoModeList
TotalMemory       dw ?           ; Number of 64kb memory blocks
; Added for VBE 2.0+
OemSoftwareRev    dw ?           ; VBE implementation Software revision
OemVendorNamePtr  dd ?           ; VbeFarPtr to Vendor Name String
OemProductNamePtr dd ?           ; VbeFarPtr to Product Name String
OemProductRevPtr  dd ?           ; VbeFarPtr to Product Revision String
Reserved          db 222 dup (?) ; Reserved for VBE implementation scratch area
OemData           db 256 dup (?) ; Data Area for OEM Strings
Die modusspeszifischen Informationen für jeden Vesamode (AX=4F01; ES:DI=Buffer; INT 10h):

Code: Alles auswählen

; Mandatory information for all VBE revisions
ModeAttributes        dw ?      ; mode attributes
WinAAttributes        db ?      ; window A attributes
WinBAttributes        db ?      ; window B attributes
WinGranularity        dw ?      ; window granularity
WinSize               dw ?      ; window size
WinASegment           dw ?      ; window A start segment
WinBSegment           dw ?      ; window B start segment
WinFuncPtr            dd ?      ; real mode pointer to window function
BytesPerScanLine      dw ?      ; bytes per scan line
; Mandatory information for VBE 1.2 and above
XResolution           dw ?      ; horizontal resolution in pixels or characters
YResolution           dw ?      ; vertical resolution in pixels or characters
XCharSize             db ?      ; character cell width in pixels
YCharSize             db ?      ; character cell height in pixels
NumberOfPlanes        db ?      ; number of memory planes
BitsPerPixel          db ?      ; bits per pixel
NumberOfBanks         db ?      ; number of banks
MemoryModel           db ?      ; memory model type
BankSize              db ?      ; bank size in KB
NumberOfImagePages    db ?      ; number of images
Reserved              db 1      ; reserved for page function
; Direct Color fields (required for direct/6 and YUV/7 memory models)
RedMaskSize           db ?      ; size of direct color red mask in bits
RedFieldPosition      db ?      ; bit position of lsb of red mask
GreenMaskSize         db ?      ; size of direct color green mask in bits
GreenFieldPosition    db ?      ; bit position of lsb of green mask
BlueMaskSize          db ?      ; size of direct color blue mask in bits
BlueFieldPosition     db ?      ; bit position of lsb of blue mask
RsvdMaskSize          db ?      ; size of direct color reserved mask in bits
RsvdFieldPosition     db ?      ; bit position of lsb of reserved mask
DirectColorModeInfo   db ?      ; direct color mode attributes
; Mandatory information for VBE 2.0 and above
PhysBasePtr           dd ?      ; physical address for flat memory frame buffer
Reserved              dd 0      ; Reserved - always set to 0
Reserved              dw 0      ; Reserved - always set to 0
; Mandatory information for VBE 3.0 and above
LinBytesPerScanLine   dw ?      ; bytes per scan line for linear modes
BnkNumberOfImagePages db ?      ; number of images for banked modes
LinNumberOfImagePages db ?      ; number of images for linear modes
LinRedMaskSize        db ?      ; size of direct color red mask (linear modes)
LinRedFieldPosition   db ?      ; bit position of lsb of red mask (linear modes)
LinGreenMaskSize      db ?      ; size of direct color green mask (linear modes)
LinGreenFieldPosition db ?      ; bit position of lsb of green mask (linear modes)
LinBlueMaskSize       db ?      ; size of direct color blue mask (linear modes)
LinBlueFieldPosition  db ?      ; bit position of lsb of blue mask (linear modes)
LinRsvdMaskSize       db ?      ; size of direct color reserved mask (linear modes)
LinRsvdFieldPosition  db ?      ; bit position of lsb of reserved mask (linear modes)
MaxPixelClock         dd ?      ; maximum pixel clock (in Hz) for graphics mode
Reserved              db 189 dup (?) ; remainder of ModeInfoBlock
Die jeweiligen Angaben werden im vbe3.pdf noch genauer erklärt.
Ich starte mal eine Anfrage im Eee PC Forum.

Gruß Frank
Ich schreibe nun mal ein kleines Programm um die Vesamodeliste auszulesen. Da ich in der Vergangenheit das selber ja nicht so oft gemacht habe, habe ich bisher die dafür nötigen Befehle nur in Debug eingetippt und mir innerhalb von Debug die Informationen ausgeben lassen und dort ausgewertet und abgeschreiben um die Listen in einer Textdatei von Hand zu erstellen.

Dirk
Zuletzt geändert von freecrac am Mi 29. Sep 2010, 16:46, insgesamt 2-mal geändert.
DOSferatu
DOS-Übermensch
Beiträge: 1220
Registriert: Di 25. Sep 2007, 12:05
Kontaktdaten:

Re: DOS-Programm gesucht um VESA-Modus zu erzwingen

Beitrag von DOSferatu »

Ich habe so ein Programm schon vor Jahren mal geschrieben. Ich kanns ja mal auf meinen Webspace stellen (weil man hier ja leider keine Dinge anhängen kann).
Es ist dort zu finden:
http://www.imperial-games.de/z/testvesa.exe

Wenn man es startet, gibt es die ganze Liste aus. Außerdem wird das Ganze auch in eine TextDatei namens VESA.RES geschrieben.

Anmerkung: Mit testvesa.exe *
(bzw irgendeinem Parameter)
wird eine breitere Liste ausgegeben, die nicht mehr auf den 80 Zeichen screen paßt, aber noch mehr Daten über die Modes enthält - wird ebenfalls in VESA.RES gespeichert.
Antworten