Linear Framebuffer on ISA /VLB cards.

Normally PC's have their video ram mapped to 0A0000h - 0BFFFFh. Now most videocards (even ISA / VLB ones) do have more than 128K ram ... and to use that RAM by means of bank switching somehow sucks. Since Windows/Linux somehow manage to access that RAM as one block 'linear frame buffer' There must be a way to do so ... it is just that i don't know how. I wrote a driver for MINIX to use my video card with it, but i couldn't really find any info on doing the Linear buffer trick ... Has anyone got info on how to do that ? I Guess it is some Mainboard dependant trick ?? Where do i get that info ??

Thanx, Eike.

PS: I did crawl through the 100 Meg _HELL_ of the source of Xfree86 ... got confused as to almost forget my name, but i didn't find anything :-)

SUSE LINUX 7.3 PRO - The world starts behind windows

Comments

  • : Normally PC's have their video ram mapped to 0A0000h - 0BFFFFh. Now most videocards (even ISA / VLB ones) do have more than 128K ram ... and to use that RAM by means of bank switching somehow sucks. Since Windows/Linux somehow manage to access that RAM as one block 'linear frame buffer' There must be a way to do so ... it is just that i don't know how. I wrote a driver for MINIX to use my video card with it, but i couldn't really find any info on doing the Linear buffer trick ... Has anyone got info on how to do that ? I Guess it is some Mainboard dependant trick ?? Where do i get that info ??
    :
    : Thanx, Eike.
    :
    : PS: I did crawl through the 100 Meg _HELL_ of the source of Xfree86 ... got confused as to almost forget my name, but i didn't find anything :-)
    :
    : SUSE LINUX 7.3 PRO - The world starts behind windows
    :

    Well most video cards nowadays have some sort of hardware VESA support 2.0 or 3.0 which have a linear frame buffer support. What resolution are you trying to access? ModeX has a linear frame buffer, but you have to access the memory via ports. If I remember correctly, in ModeX you can have the VGA chipset move up to 4bytes at a time from any point in the 256k standard VGA video memory to the current viewable area.







  • : : Normally PC's have their video ram mapped to 0A0000h - 0BFFFFh. Now most videocards (even ISA / VLB ones) do have more than 128K ram ... and to use that RAM by means of bank switching somehow sucks. Since Windows/Linux somehow manage to access that RAM as one block 'linear frame buffer' There must be a way to do so ... it is just that i don't know how. I wrote a driver for MINIX to use my video card with it, but i couldn't really find any info on doing the Linear buffer trick ... Has anyone got info on how to do that ? I Guess it is some Mainboard dependant trick ?? Where do i get that info ??
    : :
    : : Thanx, Eike.
    : :
    : : PS: I did crawl through the 100 Meg _HELL_ of the source of Xfree86 ... got confused as to almost forget my name, but i didn't find anything :-)
    : :
    : : SUSE LINUX 7.3 PRO - The world starts behind windows
    : :
    :
    : Well most video cards nowadays have some sort of hardware VESA support 2.0 or 3.0 which have a linear frame buffer support. What resolution are you trying to access? ModeX has a linear frame buffer, but you have to access the memory via ports. If I remember correctly, in ModeX you can have the VGA chipset move up to 4bytes at a time from any point in the 256k standard VGA video memory to the current viewable area.
    :
    Ok. there are two problems: i want to access it from within Protected mode, so there is no VESA bios to support me (i want to write a minix driver for my hardware). and: mode X still limits my card to 256K ram (exatly those 4bytes*64K), and i have 1 Mb video-ram, which i frankly would like to be able to access completely. That's why i need the framebuffer. (mode-x is just a trick to work around being in real-mode and not being able to access the whole video-ram -- as i understand it). Still: thanks for the reply.

    Eike.

    SUSE LINUX 7.3 PRO - The world starts behind windows

  • Guess what? LFB was designed for pmode operation! Also, ModeX is for plain VGAs. NonVGAs aren't supported, but VBEs do supports them (http://www.vesa.org/vbe3.pdf).
  • : Guess what? LFB was designed for pmode operation! Also, ModeX is for plain VGAs. NonVGAs aren't supported, but VBEs do supports them (http://www.vesa.org/vbe3.pdf).
    :
    Yes, i actually WANT a linear framebuffer, just i don't know how to initialise it. Of course it is for Pmode, thats what they are there for , in realmode it would be quite useless. (correct me if i'm wrong)
    And that nice VBE 3.0 thing: i'm talking about doing that on an adapter from 1993. The VBE3 is from 1998! Somehow it must be possible to map the RAM on my graphics board (Tseng ET 4000, 1 Mb ram, on an 486-66Mhz) to a memory adress area. Windows drivers don't use VBE, to set modes, i gues?? I don't care if the solution would only work on MY pc and MY board.

    Anyway, thanks for the help. What i actually look for is how to map video memory (i guess with help of the mainboard chipset's MMU) into my regular adress space.

    Eike.

    SUSE LINUX 7.3 PRO - The world starts behind windows

Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories