Lowlevel
Lowlevel => Lowlevel-Coding => Thema gestartet von: joachim_neu am 27. January 2005, 15:06
-
hallo, everybody!
da bin ich wieder, mit einem neuen problem ;-) diesmal gehts (wie das Topic schon sagt) um den LFB bei VESA. ich setze meinen modus mit folgendem code:
;vesamode setzen
mov bx,[vesa_mode]
add bx,0x4000
mov ax,0x4F02
int 0x10
"vesa_mode" ist dabei eine variable, die ich davor durch prioritätisches heraussuchen festgelegt hab. und dazu addiere ich dann 0x4000 für den LFB. bochs macht (mal wieder) keinen terror, aber mein echter PC schon. auf dem geht das ganze dann, allerdings bekomme ich für den BasePhysPtr immer die adresse auf das 1. fenster, also als währe es bankswitchig...
ich hoffe auf hilfe,
J!N
-
der effekt ist der selbe^^
-
Ob ADD oder OR ist in diesem Fall egal. Das Ergebnis ist das selbe :)
-
das währe allerdings äußerst komisch, denn ich kann MenuetOS mit LinearFrameBuffer auf gleicher auflösung laufen lassen!
-
Auflösung != Modusnummer
Weil:
-Farbtiefe
-Frequenz ;Kann sein, kann aber auch nicht sein!
-etc
-
Auflösung != Modusnummer
Weil:
-Farbtiefe
-Frequenz ;Kann sein, kann aber auch nicht sein!
-etc
das schon, aber die farbtiefe war auch gleich (1 byte pro farbe!)...
-
Probier's doch einfach mal mit dem Modus 0x4100 ...der sollte LFB supporten :)
-
TJ wir sollten uns absprechen wer antwortet, wir sagen ziemlich oft genau das selbe, fast hintereinander^^
-
Probier's doch einfach mal mit dem Modus 0x4100 ...der sollte LFB supporten :)
supportet der immer LFB?
EDIT: der hat bei mir garnet funktioniert! ich hab als farbe lauter 0x04 geschrieben (rot) und unter bochs gings, aber in real net. da ging nichmal irgendwas. keine farbe, garnix!
-
so, ich habe jetzt in meinen code ein test eingebaut, damit der testet, ob LFB überhaupt geht. das macht er so:
;modeinfos auslesen
mov si,0x50
mov ds,si
xor si,si
lodsw
and ax,0000000010000000b
cmp ax,0000000010000000b
jne near vesa_error
er setzt also die register richtig auf die startaddy des infoblocks, holt sich dann ein word, schaut ob das 7. bit gesetzt ist und springt zur fehlerroutine, wenn es nicht gesetzt ist.
ERGEBNISS: er springt nicht, sondern führt weiter aus, woraus ich schließe, dass es gehen müsste!
-
hallo,
sagt jemand Port 0x3D4 was? scheint ein port für die grafikkarte oder so zu sein, jedenfalls sieht es so aus, als mache MenuetOS damit seinen bankswitch im PM!
-
http://lowlevel.brainsware.org/forum/viewtopic.php?t=477
Grafikkartenregister für die Cursorpos. (funzt bei mir zwar immer noch nicht)