Zitat von: nooooooooos
Standart und immer gleich???Du weißt doch wie das immer ist. Immer Bedingungen einbauen, wenn so dann so, ansonsten so. ^^
09. November 2026, 18:27
Standart und immer gleich???Du weißt doch wie das immer ist. Immer Bedingungen einbauen, wenn so dann so, ansonsten so. ^^
aber wenn du wirklich je 8 bits nimmstHä?

NUR 8:8:8Wie soll ich nur machen?
Ich hab ja dann erst 24Bit aufgefüllt. Was muss ich mit den restlichen 8Bits machen?

Gespeichert
Zitat:
NUR 8:8:8
Wie soll ich nur machen?Ich hab ja dann erst 24Bit aufgefüllt. Was muss ich mit den restlichen 8Bits machen?
Und wie muss ich diese Werte dann zusammenrechnen?

also:Also wenn ich das richtig verstanden habe, dann heißt das: Ich muss die ersten 3 Byte nehmen und bevor ich das vierte nehme muss ich testen ob ich das darf (wegen NVidia oder ATI). Ist das so richtig?
wenn du 8:8:8 nimmst hast du 24 bits pro pixel, wobei es eigentlich leichter ist mit 32 pixel zurechen, weshalb es auch die Codierung 8:8:8:0 gibt, die vorsieht dass das letze byte 0 ist
ich glaub es war NVidia (oder ATI?) bei der die codierung 8:8:8:0 NICHT geht, obwohl sie eigentlich vorgeschrieben ist
dass ist das einzige was du beachten musstZitat
Zitat:
NUR 8:8:8
Wie soll ich nur machen?Ich hab ja dann erst 24Bit aufgefüllt. Was muss ich mit den restlichen 8Bits machen?
Und wie muss ich diese Werte dann zusammenrechnen?
tja dann musst du halt gut programmieren können
da musst du byteweise arbeiten, da kannst nicht einfach ein dword hernehmen
Gespeichert Und was willst du in das 4. Byte rein tun? Das bleibt immer 0.

Gespeichert mov edi, [VbeModePhysBasePtr]
mov ecx, 640 * 480
mov eax, 0xCC
rep stosd Warum wird da ein DW geschrieben obwohl vom Mode nur ein Byte erfordert wird?
??mov ax, 0x4F01
mov di, VbeModeInfoBlock
mov cx, 0x4105
and cx, 0xFFF ; Entfernt 0x4 (steht für den LFB.)
int 0x10
Das mit der vier entfernen tscheck ich ja noch, aber dann bleibt ja immernoch 0x105 und nicht 0x101?
? Und warum schreibt man den Modus nicht gleich ohne die Vier?
??dann beginnt die rote farbe (erstes byte) vom nächsten pixel!
db Pixel1_Rot
db Pixel1_Grün
db Pixel1_Blau
db Pixel2_Rot
db Pixel2_Grün
db Pixel2_Blau
um es zu verdeutlichen
mov cx, 0x4105
and cx, 0xFFF ; Entfernt 0x4 (steht für den LFB.)mov cx, [bp+0x4]
and cx, 0xFFF ; Entfernt 0x4 (steht für den LFB.)Ja, aber das entspricht doch dem 24 Bit ModusOK, dann kann ich ja in der zurückgelieferten Tabelle einfach schauen ob 24- oder 32-Bit erwartet wird.
Code: [Auswählen]
mov cx, [bp+0x4]
and cx, 0xFFF ; Entfernt 0x4 (steht für den LFB.)
mov edi, [VbeModePhysBasePtr]
mov ecx, 640 * 480
mov eax, 0xCC
rep stosd Ne, ich hab nur eine neue Adresse. Ist jetzt auch im Profil aktualisiert.Also unter nooooooooooos@hotmail.com bleibst du bei mir irendwie immer Offline.
Gruss
Noooooooooos
)