| | |
Vesa
![]() |
•
•
Join Date: Oct 2007
Posts: 19
Reputation:
Solved Threads: 1
Im coding on vesa mode 116h, i knw its properties like banks windows and resolution, my only problem is that i dont knw how to switch banks and dont know what the windows refer to. I also want help on the vesa service that provides the pointer to bank switch code and window code. And also, when i create a program using vesa functions must i pay the vesa committee?
You need to find yourself a good reference. I recommend Ferraro's Programmer's Guide to the EGA and VGA Cards. It's a bit out of date but all the info you need is there.
To set a bank use something like:
The bank number is of course dependent on your card's granularity, which you must look up with the appropriate function.
The window is simply the part of video memory accessed when you read or write to the host's video access memory. Many SVGAs have the ability to do "single" or "dual" mode access. That is to say, you can have a different part of video memory addressed when reading and writing. I think that all SGVA cards can do single window access, but I'm not sure about that. (It is another thing that you should set-up in your initialization).
If all this went over your head, you need to get a good reference and read it hard.
Hope this helps.
To set a bank use something like:
Assembly Syntax (Toggle Plain Text)
mov ax, 4F05 ; VESA function: mov bh, 0 ; set bank window mov bl, wnum ; window number (0 or 1) mov dx, bnum ; bank number (depends on granularity) int 10h
The window is simply the part of video memory accessed when you read or write to the host's video access memory. Many SVGAs have the ability to do "single" or "dual" mode access. That is to say, you can have a different part of video memory addressed when reading and writing. I think that all SGVA cards can do single window access, but I'm not sure about that. (It is another thing that you should set-up in your initialization).
If all this went over your head, you need to get a good reference and read it hard.
Hope this helps.
Oh yeah, you don't have to pay VESA anything to use the functions. Now if you download software from them or attempt to duplicate their code or specification that may be different...
The whole point of VESA was to provide a single standard for interfacing with an SVGA. Before VESA organized, if you wrote a program or game or anything that used SVGA features you had to provide a driver for every type of SVGA card you could imagine your user having. Remember all those old DOS games that came in 2K of files and had 15K of drivers?
The whole point of VESA was to provide a single standard for interfacing with an SVGA. Before VESA organized, if you wrote a program or game or anything that used SVGA features you had to provide a driver for every type of SVGA card you could imagine your user having. Remember all those old DOS games that came in 2K of files and had 15K of drivers?
I honestly don't remember that much about it... and you can google the info just as well as I can.
You have to gather information about video capabilities and single/dual window addressing before doing anything anyway... The table of function pointers is stored in the same place as far as I recall...
I don't think there is any advantage to using a far ptr function over an interrupt function.
Alas.
You have to gather information about video capabilities and single/dual window addressing before doing anything anyway... The table of function pointers is stored in the same place as far as I recall...
I don't think there is any advantage to using a far ptr function over an interrupt function.
Alas.
![]() |
Similar Threads
- Vesa in nasm (Assembly)
- Problem while installing linux (*nix Software)
- video cards (Monitors, Displays and Video Cards)
- Red Hat Gone Bad! (*nix Software)
- 800 by 640 pixels or more? (Assembly)
- Identifying Drivers needed (Windows 95 / 98 / Me)
- Graphics in Pixel,Mode13h:Part 1 (C++)
- The G5 iMac Thread (Mac Rumors and Reports)
- old school (Geeks' Lounge)
Other Threads in the Assembly Forum
- Previous Thread: lahf()
- Next Thread: Sgdt,lgdt,ligdt,
Views: 1818 | Replies: 4
| Thread Tools | Search this Thread |
Tag cloud for Assembly
80386 :( adress array asm assembler assembly boot bootloader buffer call compression cursor directory display div division docs dos endtask error exceptions file int10h integer intel interrupt interrupts language loop main mmx multiple newbie osdevelopment print program range read remainder string text theory tsr x86






