Howdy, Stranger!

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

Categories

Linear Framebuffer on ISA /VLB cards.

eikedehlingeikedehling Member Posts: 123
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

  • malduccimalducci Member Posts: 1
    : 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.







  • eikedehlingeikedehling Member Posts: 123
    : : 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

  • blipblip Member Posts: 756
    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).
  • eikedehlingeikedehling Member Posts: 123
    : 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

  • Chris BrownChris Brown USAMember Posts: 4,496 ✭✭

    _ < http://forcoder.org /> free video tutorials and ebooks about ( Perl PHP Scratch Assembly Swift Visual Basic .NET Visual Basic R C++ PL/SQL MATLAB Ruby Java Objective-C Python Delphi C# Go C JavaScript Apex Fortran ML ABAP Rust Prolog SAS Hack Clojure Alice COBOL Dart Crystal VBScript FoxPro Awk F# Julia D Erlang Scala Transact-SQL Lisp LabVIEW Logo Scheme Ada Bash Lua Kotlin ) _____

Sign In or Register to comment.