Zu Trident mit monochromer Ausgabe

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smileys
:-) ;-) 8-) :-( :arrow: :idea: :like: :keen:
Mehr Smileys anzeigen

BBCode ist ausgeschaltet
Smileys sind eingeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Zu Trident mit monochromer Ausgabe

Re: Zu Trident mit monochromer Ausgabe

von freecrac » Do 27. Mai 2010, 06:12

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

Re: Zu Trident mit monochromer Ausgabe

von Gast » Mi 26. Mai 2010, 18:17

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.

Re: Zu Trident mit monochromer Ausgabe

von freecrac » Mi 26. Mai 2010, 11:32

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

Zu Trident mit monochromer Ausgabe

von Kroklion » Mo 24. Mai 2010, 13:19

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?).

Nach oben