rustyoldguy
Mitglied
Hallo Leute!
Eigentlich gehört diese Thema hier nicht rein, aber ich weis nicht, wen ich sonst fragen könnte. Leute, ich habe auf meinen
Suse LINUX tumbleweed qemu mit qemu-kvm als Emulator laufen. Damit kann ich meine alten Programme nehmen, ohne
viel herum arbeiten zu müssen.
Früher hat qemu-kvm bei der Emulation einer Standard-VGA-Grafik-Karte keine Zicken hinsichtlich der Grafikmodi gemacht.
Ärger machen nun die Modi 0x12, 0x10, 0xeh. Egal was ich für eine Grafik-Karte emuliere. Selbst wenn ich ein Bochs-Display
einbaue, geht nichts mehr. Der Modus 0x05 ist aber nicht betroffen. Eigentlich ist der Videomodus 0x12 mit 640x480 und 16
Farben Standard. Deshalb wundere ich mich darüber. Nur Trident-Karten hat man eine etwas schwierige Programmierung
nachgesagt. Davon war ich aber weniger betroffen.
Ich starte die jeweilige Emulation über den Aufruf von qemu-kvm von der Kommandozeile aus, etwa:
qemu-kvm -cdrom $HDDPFAD/FreeDos12CD.iso -m 64 -fda $HDDPFAD/144rwrd.img -hda $HDDPFAD/freedos13.img -cpu
phenom -device sb16 -usb -device usb-mouse -boot c -vga cirrus
Bis vor kurzem hatte ich das noch nicht. Gesetzt habe ich damals die Videomodi mit Int 10h Funktion 00h, ausgelesen mit
Int 10h Funktion 0fh oder mit einem Zeiger auf den damaligen BIOS-Bereich 449h.
Liest man bei DOS-Systemen mit dem Interrupt 10H Funktion 1bh die Graka aus, so werden bei ES und DI die Segment und
Offset-Adresse eines Puffer zurück gegeben bei dem
Byte 0 die Videomodi 0 bis 7h (Bit 0 bis 1) aufzeigen, wenn gesetzt dann verfügbar. Hier Bit 3,4,7 gesetzt, also Modus 3,4,7 verfügbar-
Seltsamer Weise ist aber Modus 5h verfügbar. Obwohl das Bit nicht gesetzt ist.
Byte 1 die Videomodi 8 bis fh (Bit 0 bis 1) aufzeigen, wenn gesetzt dann verfügbar. Hier Bit 5 gesetzt also Modus dh verfügbar.
Byte 2 die Videomodi 10 bis 17h (Bit 0 bis 1) aufzeigen, wenn gesetzt dann verfügbar. Hier nichts gesetzt.
Eigentlich dachte ich, das der Modus 12h zum Standard für VGA-Grafikkarten zählten, oder war das doch nicht so?
Ich hatte damals eine Reihe davon: Trident, ATI, NVidia, jedoch immer mit diesem Modus. Teilweise lungert das Zeugs heute
noch im Bastelkeller rum.
Das mainboard und die Graka auf dem tumbleweed läuft, ist das selbe.
Der selbe Fehler tritt bei der Emulation von Win98 SE auf.
Egal mit welchem Compiler ob jetzt der uralte QC25 oder DJGPP.
Bis vor kurzem hatte ich eine Reihe von emulierten Betriebssystemen: Noveldos7, MSDOS 6.22 mit Win3.11, Haiku, SUSE tumbleweed, OS2Warp3, BEOS, FREEBSD12, Win2000prf, Winxp, Win 7 prf.
Bis auf Freedos und win98se wurden alle in "Rente" geschickt.
Nur eine CD mit Sinix habe ich bis heute nie zum Laufen gebracht.
Weis jemand genaueres seit wann dies mit den Grafikmodi so ist?
Eigentlich gehört diese Thema hier nicht rein, aber ich weis nicht, wen ich sonst fragen könnte. Leute, ich habe auf meinen
Suse LINUX tumbleweed qemu mit qemu-kvm als Emulator laufen. Damit kann ich meine alten Programme nehmen, ohne
viel herum arbeiten zu müssen.
Früher hat qemu-kvm bei der Emulation einer Standard-VGA-Grafik-Karte keine Zicken hinsichtlich der Grafikmodi gemacht.
Ärger machen nun die Modi 0x12, 0x10, 0xeh. Egal was ich für eine Grafik-Karte emuliere. Selbst wenn ich ein Bochs-Display
einbaue, geht nichts mehr. Der Modus 0x05 ist aber nicht betroffen. Eigentlich ist der Videomodus 0x12 mit 640x480 und 16
Farben Standard. Deshalb wundere ich mich darüber. Nur Trident-Karten hat man eine etwas schwierige Programmierung
nachgesagt. Davon war ich aber weniger betroffen.
Ich starte die jeweilige Emulation über den Aufruf von qemu-kvm von der Kommandozeile aus, etwa:
qemu-kvm -cdrom $HDDPFAD/FreeDos12CD.iso -m 64 -fda $HDDPFAD/144rwrd.img -hda $HDDPFAD/freedos13.img -cpu
phenom -device sb16 -usb -device usb-mouse -boot c -vga cirrus
Bis vor kurzem hatte ich das noch nicht. Gesetzt habe ich damals die Videomodi mit Int 10h Funktion 00h, ausgelesen mit
Int 10h Funktion 0fh oder mit einem Zeiger auf den damaligen BIOS-Bereich 449h.
Liest man bei DOS-Systemen mit dem Interrupt 10H Funktion 1bh die Graka aus, so werden bei ES und DI die Segment und
Offset-Adresse eines Puffer zurück gegeben bei dem
Byte 0 die Videomodi 0 bis 7h (Bit 0 bis 1) aufzeigen, wenn gesetzt dann verfügbar. Hier Bit 3,4,7 gesetzt, also Modus 3,4,7 verfügbar-
Seltsamer Weise ist aber Modus 5h verfügbar. Obwohl das Bit nicht gesetzt ist.
Byte 1 die Videomodi 8 bis fh (Bit 0 bis 1) aufzeigen, wenn gesetzt dann verfügbar. Hier Bit 5 gesetzt also Modus dh verfügbar.
Byte 2 die Videomodi 10 bis 17h (Bit 0 bis 1) aufzeigen, wenn gesetzt dann verfügbar. Hier nichts gesetzt.
Eigentlich dachte ich, das der Modus 12h zum Standard für VGA-Grafikkarten zählten, oder war das doch nicht so?
Ich hatte damals eine Reihe davon: Trident, ATI, NVidia, jedoch immer mit diesem Modus. Teilweise lungert das Zeugs heute
noch im Bastelkeller rum.
Das mainboard und die Graka auf dem tumbleweed läuft, ist das selbe.
Der selbe Fehler tritt bei der Emulation von Win98 SE auf.
Egal mit welchem Compiler ob jetzt der uralte QC25 oder DJGPP.
Bis vor kurzem hatte ich eine Reihe von emulierten Betriebssystemen: Noveldos7, MSDOS 6.22 mit Win3.11, Haiku, SUSE tumbleweed, OS2Warp3, BEOS, FREEBSD12, Win2000prf, Winxp, Win 7 prf.
Bis auf Freedos und win98se wurden alle in "Rente" geschickt.
Nur eine CD mit Sinix habe ich bis heute nie zum Laufen gebracht.
Weis jemand genaueres seit wann dies mit den Grafikmodi so ist?
Zuletzt bearbeitet: