Zu Trident mit monochromer Ausgabe

Hier dürfen auch unregistrierte Besucher posten.
Antworten
Kroklion

Zu Trident mit monochromer Ausgabe

Beitrag von Kroklion »

Dieses Problem tritt nach meiner Erfahrung auf, wenn der Prozessor zu schnell ist. Ja, auch BIOS-Code ist vor diesen Problemen nicht gefeit. Die alten Trident-Karten sind auch nicht die Einzigen. "Video 7 Arrow" schaltet auch auf schwarz/weiß, manche OTI-8Bit-ISA-Karten verweigern komplett. Die Grenze liegt irgendwo beim 486er (Cache?).
freecrac
DOS-Guru
Beiträge: 861
Registriert: Mi 21. Apr 2010, 11:44
Wohnort: Hamburg Horn

Re: Zu Trident mit monochromer Ausgabe

Beitrag von freecrac »

Kroklion hat geschrieben:Dieses Problem tritt nach meiner Erfahrung auf, wenn der Prozessor zu schnell ist. Ja, auch BIOS-Code ist vor diesen Problemen nicht gefeit. Die alten Trident-Karten sind auch nicht die Einzigen. "Video 7 Arrow" schaltet auch auf schwarz/weiß, manche OTI-8Bit-ISA-Karten verweigern komplett. Die Grenze liegt irgendwo beim 486er (Cache?).
Antworten die Karten nicht schnell genug auf Anfragen vom BIOS, oder wie kann ich mir das Problem genau vorstellen?

Dirk
Gast

Re: Zu Trident mit monochromer Ausgabe

Beitrag von Gast »

freecrac hat geschrieben: Antworten die Karten nicht schnell genug auf Anfragen vom BIOS, oder wie kann ich mir das Problem genau vorstellen?
Wahrscheinlich das Übliche - eine Warteschleife läuft aus, bevor das erwartete Ereignis eintritt.

Vor DDC gab es zwei verschiedene Methoden, einen Monochrom-Monitor zu erkennen. Die Eine mit den Pins 11 und 12, die Andere erkennt, ob an Pin3 (Blau) eine Verbindung besteht. Die zweite Methode ist programmtechnisch aufwendig, da man blaue Zeilen ausgeben und den richtigen Zeitpunkt für die Messung abwarten muss.

Ich habe ein kleines Programm geschrieben, das die Farbe einschaltet. Ist auch nützlich, wenn man mal' wieder vergessen hat, den Monitor einzustecken. Ich glaube, das kommt in meine autoexec.bat :)

Code: Alles auswählen

// This program switches a VGA card back to color display when
// it initialized in monochrome mode. Useful for buggy VGA BIOSes,
// incompatible monitor plugs or when you forgot to plug in the 
// monitor once again.

// For Open Watcom 1.8.

#include <i86.h>
#include <string.h>

static char far* const control = (char far*) 0x487;
static char far* const options = (char far*) 0x489;

int main(int argc, const char** val) {
	union REGPACK regs;
	int cursor_pos;
	memset( &regs, 0, sizeof(union REGPACK) );

	// set color monitor dcc
	regs.w.ax=0x1a01;
	regs.h.bl=8;
	intr(0x10, &regs);

	// disable gray-scale summing
	regs.w.ax=0x1201;
	regs.h.bl=0x33;
	intr(0x10, &regs);

	// set color monitor in BDA
	*control &= ~2;
	*options &= ~4;

	// save cursor position
	regs.w.ax=0x300;
	regs.h.bh=0;
	intr(0x10, &regs);
	cursor_pos = regs.w.dx;

	// set video mode
	regs.w.ax=0x83;
	intr(0x10, &regs);

	// restore cursor position
	regs.w.ax=0x200;
	regs.h.bh=0;
	regs.w.dx = cursor_pos;
	intr(0x10, &regs);

	return 0;
}
So, jetzt aber genug mit dem Falschposten.
freecrac
DOS-Guru
Beiträge: 861
Registriert: Mi 21. Apr 2010, 11:44
Wohnort: Hamburg Horn

Re: Zu Trident mit monochromer Ausgabe

Beitrag von freecrac »

Gast hat geschrieben:
freecrac hat geschrieben: Antworten die Karten nicht schnell genug auf Anfragen vom BIOS, oder wie kann ich mir das Problem genau vorstellen?
Wahrscheinlich das Übliche - eine Warteschleife läuft aus, bevor das erwartete Ereignis eintritt.
Ok, das kann ich mir vorstellen. Danke.

Dirk
Antworten