Kein Videomodus 0x12 mehr bei qemu-kvm mit VGA verfügbar

rustyoldguy

Neues 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 1x12 mit 640x480 und 16
Farben Standard. Deshalb wundere ich mich darüber.
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:

rustyoldguy

Neues Mitglied
Hab das Problemchen gelöst!
dosemu wurde installiert und emuliert den Grafikmodus 0x12 super.
Folgendes Beispiel wurde mit dem uralten qc25 Compiler mit dosemu compiliert:
Testbild.jpg

Ich hatte damals zur Arbeitserleichterung auf einer Fräsmaschine mit Heidenhain TNC 155 Steuerung
Kleine Rechenprogramme geschrieben. Aus nostalgischen Gründen habe ich diese wieder laufen lassen.
Fraesmaschine.jpg


Kleine Geschichte dazu:

Damals arbeitete ich in einer kleinen Firma mit 8 Mann. Mein damaliger Chef hatte eine Draht-Erodiermaschine mit
DIN-ISO Programmierung. Also mit G-Funktionen. Jedesmal wenn er einen Anschlusspunkt einer Kreisbahn haben wolle,
mußte ich die Fräsmaschine programmieren. Also Polarradius eingeben. Startwinkel und die Z-Achse auf die gewünschte
Position bringen. Danach notierte sich der Chef die Achsenpositionen. Da mir das dann auf den Senkel ging, programmierte
ich Ihm ein Programm das die Position errechnete. Das hätte er eigentlich mit dem Taschenrechner auch machen können.
Aber er lies sich von dieser Methode nicht abbringen. Vorher hatte ich in Amberg bei einem Zweigwerk eines Regensburger
Weltkonzerns gearbeitet, der Maschinen für die Getränkeindustrie herstellt. Das Zweigwerk wurde übrigens 1999 platt gemacht.
Dummerweise hatte ich gegenüber einem Meister einmal die Klappe zu weit aufgerissen als ich diesem im Gespräch entgegnete, das man als Meister eigentlich die Dreiecksberechnung mit Sinus Cosinus und Tangens beherrschen sollte. Das hätte ich besser bleiben lassen sollen.
Wie man in der Zerspanungstechnik Meister werden konnte ohne das zuletzt genannte zu können, ist mir heute noch ein Rätsel.
Aber Schwamm drüber. Ist 20 Jahre her. Was soll's.
Heute bin ich der Meinung das der Maschinenbau, auch Sondermaschinenbau und vor allem die Automobilindustrie inklusive der gesamte Nutzfahrzeugbranche langfristig in Deutschland keine Zukunft mehr hat. Überlegt euch lieber besser was ihr später mal werden wollt.
Inständig hoffend, mit der letzten Bemerkung keinen auf die Zehen getreten zu haben.
 
Oben Unten