Autor Thema: VESA -> LinearFrameBuffer  (Gelesen 4683 mal)

joachim_neu

  • Beiträge: 1 228
    • Profil anzeigen
    • http://www.joachim-neu.de
Gespeichert
« 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
http://www.joachim-neu.de | http://www.orbitalpirates.de | http://www.middleageworld.de

System: 256 RAM, GeForce 2 MX 400, AMD Athlon XP 1600+, Windows XP, 1x Diskette, 1x DVD-ROM, 1x CD-R(W) Brenner,...

Roshl

  • Beiträge: 1 128
    • Profil anzeigen
    • http://www.lowlevel.net.tc
Gespeichert
« Antwort #1 am: 27. January 2005, 17:57 »
der effekt ist der selbe^^
[schild=1]Wieder ein wertvoller(?) Beitrag von Roshl[/schild]

TeeJay

  • Beiträge: 630
    • Profil anzeigen
    • http://www.jay-code.de
Gespeichert
« Antwort #2 am: 27. January 2005, 18:03 »
Ob ADD oder OR ist in diesem Fall egal. Das Ergebnis ist das selbe :)
----------------------
Redakteur bei LowLevel

joachim_neu

  • Beiträge: 1 228
    • Profil anzeigen
    • http://www.joachim-neu.de
Gespeichert
« Antwort #3 am: 27. January 2005, 20:00 »
das währe allerdings äußerst komisch, denn ich kann MenuetOS mit LinearFrameBuffer auf gleicher auflösung laufen lassen!
http://www.joachim-neu.de | http://www.orbitalpirates.de | http://www.middleageworld.de

System: 256 RAM, GeForce 2 MX 400, AMD Athlon XP 1600+, Windows XP, 1x Diskette, 1x DVD-ROM, 1x CD-R(W) Brenner,...

clemensoft

  • Beiträge: 92
    • Profil anzeigen
    • http://www.clemensoft.de
Gespeichert
« Antwort #4 am: 27. January 2005, 20:20 »
Auflösung != Modusnummer
Weil:
-Farbtiefe
-Frequenz ;Kann sein, kann aber auch nicht sein!
-etc

joachim_neu

  • Beiträge: 1 228
    • Profil anzeigen
    • http://www.joachim-neu.de
Gespeichert
« Antwort #5 am: 27. January 2005, 21:14 »
Zitat von: clemensoft
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!)...
http://www.joachim-neu.de | http://www.orbitalpirates.de | http://www.middleageworld.de

System: 256 RAM, GeForce 2 MX 400, AMD Athlon XP 1600+, Windows XP, 1x Diskette, 1x DVD-ROM, 1x CD-R(W) Brenner,...

Another Stupid Coder

  • Beiträge: 749
    • Profil anzeigen
Gespeichert
« Antwort #6 am: 28. January 2005, 10:45 »
Probier's doch einfach mal mit dem Modus 0x4100 ...der sollte LFB supporten :)

Roshl

  • Beiträge: 1 128
    • Profil anzeigen
    • http://www.lowlevel.net.tc
Gespeichert
« Antwort #7 am: 28. January 2005, 12:08 »
TJ wir sollten uns absprechen wer antwortet, wir sagen ziemlich oft genau das selbe, fast hintereinander^^
[schild=1]Wieder ein wertvoller(?) Beitrag von Roshl[/schild]

joachim_neu

  • Beiträge: 1 228
    • Profil anzeigen
    • http://www.joachim-neu.de
Gespeichert
« Antwort #8 am: 28. January 2005, 13:14 »
Zitat von: Another Stupid Coder
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!
http://www.joachim-neu.de | http://www.orbitalpirates.de | http://www.middleageworld.de

System: 256 RAM, GeForce 2 MX 400, AMD Athlon XP 1600+, Windows XP, 1x Diskette, 1x DVD-ROM, 1x CD-R(W) Brenner,...

joachim_neu

  • Beiträge: 1 228
    • Profil anzeigen
    • http://www.joachim-neu.de
Gespeichert
« Antwort #9 am: 28. January 2005, 23:51 »
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!
http://www.joachim-neu.de | http://www.orbitalpirates.de | http://www.middleageworld.de

System: 256 RAM, GeForce 2 MX 400, AMD Athlon XP 1600+, Windows XP, 1x Diskette, 1x DVD-ROM, 1x CD-R(W) Brenner,...

joachim_neu

  • Beiträge: 1 228
    • Profil anzeigen
    • http://www.joachim-neu.de
Gespeichert
« Antwort #10 am: 29. January 2005, 00:01 »
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://www.joachim-neu.de | http://www.orbitalpirates.de | http://www.middleageworld.de

System: 256 RAM, GeForce 2 MX 400, AMD Athlon XP 1600+, Windows XP, 1x Diskette, 1x DVD-ROM, 1x CD-R(W) Brenner,...

elfish_rider

  • Beiträge: 293
    • Profil anzeigen
Gespeichert
« Antwort #11 am: 29. January 2005, 08:38 »
http://lowlevel.brainsware.org/forum/viewtopic.php?t=477

Grafikkartenregister für die Cursorpos. (funzt bei mir zwar immer noch nicht)

 

Einloggen