Wie heißen diese Modis und wie spreche ich sie an?



  • Hi,

    ich hätte da mal ne Frage zu den Grafikmodis wie diese lauten:

    1. Der mit 80 zeichen nach rechts und 25 nach unten, also normaler DosModus oder wie man denn nennt

    Den habe ich bei mir wie folgt initialisierst:

    char c = (*(unsigned short*)0x410&0x30);//Detects video card type, vga or mono
    
    	if(c == 0x30) //c can be 0x00 or 0x20 for colour, 0x30 for mono
    	{
    		videomem = (unsigned short*) 0xb0000;
    		crtc_mem   = 0x3B4;	// mono
    	}
    	else
    	{
    		videomem = (unsigned short*) 0xb8000;
    		crtc_mem   = 0x3D4;	// colour
    	}
    

    Funzt prima, doch wie heißt dieser Videomodus?

    Und wie nennt sich der Modus 320x240 mit 256 Farben und wie initialisiere ich diesen? 😕



  • Hi.

    Erstmal:
    Was hat deine Anfrage mit "Assembler" zu tun, wenn du hier nur C-Code postest?

    masterzero schrieb:

    Funzt prima, doch wie heißt dieser Videomodus?

    Was du meinst hat nur indirekt etwas mit Grafik zu tun, deshalb nennt sich dieser Modus auch "Textmodus".

    Und dass das "prima" funzt, wage ich mal zu bezweifeln, da der Modus in deinem Code nicht "initialisiert" wird.
    Der Code prueft von der BIOS-Array bei 410h lediglich nach, ob ein Monochrom/Color-Adapter drin ist und setzt dann einen Pointer entweder nach B8000 oder B0000.
    Wenn also nicht bereits der Textmodus beim Start deines Codes initialisiert ist, wirst du nicht viel auf dem Bildschirm zu sehen bekommen.

    masterzero schrieb:

    Und wie nennt sich der Modus 320x240 mit 256 Farben und wie initialisiere ich diesen?

    Dieser Modus nennt sich nun "Grafikmodus", da er auch dazu gedacht ist, mittels Pixel schoene Grafiken auf den Bildschirm zu zaubern.
    Den zu initialisieren ist aber schon etwas komplizierter, da das nur ueber VESA laeuft.
    Den 320x200x256-Modus kannst du jedoch auch mit dem Interrupt 10h, Funktion 00h initialisieren. Dieser Modus hat die Nummer 13h. (ich gehe davon aus, dass du in DOS o.ae. (RM) bist)



  • den code von oben hab ich hier aus dem forum (assembler) und ich bastle unter protectedmode



  • Aha, mit dieser Information kann ich so leider gar nichts anfangen.
    Ein Link zur Quelle waere da schon aeusserst hilfreich.


Anmelden zum Antworten