Not logged in, Join Here! or Log In Below:  
 
News Articles Search    
 

 Home / General Programming / standard svg bios and i/o ports Account Manager
 
Archive Notice: This thread is old and no longer active. It is here for reference purposes. This thread was created on an older version of the flipcode forums, before the site closed in 2005. Please keep that in mind as you view this thread, as many of the topics and opinions may be outdated.
 
Pupil #234732

July 12, 1999, 01:23 AM

The major diff. between vga and svga is that svga needs bank switching in order to display the whole thing. My question is which I/O port is used for the bank management and how come built-in h/w BIOS does not contain bank-switching routine? Also, built-in BIOS has some crummy routines like setting the initial scan line for page-flipping(which is obviously luxurious).

 
tangent

July 15, 1999, 12:13 AM

With SVGA, there is no real standard for hardware control for those extra features. At this
point, everybody was trying to beat the next one in getting out a better card. What they did
agree on, however, was to make the cards compatible on a *software* level. This may sound bad,
but it actually isn't.

Read some articles on the VESA specifications. What it shows is that it has software calls
for bank switching. Also, VESA compliant cards are real easy to program, if you have existing
VGA routines. Each mode is basically just a higher res version of one of the existing modes.
For example, 320x200x256 color is a VGA mode. You can query the VESA driver to see what other
256 color modes it supports. The memory layout is the same, except the rows are naturally
wider. The same goes for other modes; 16 color, etc. same format as a VGA mode except wider.

The latest VESA standards that exist also has support for 16 bit and higher color resolutions.

By the way, it's been quite a while since I have looked at VESA, but back then (at least) every
video card had VESA support in BIOS or in software (as a TSR). I never did pay attention: does
Windows have auto-support for VESA? Dunno - I should check into that, I guess.
Heck, I have a Viper 550 AGP card and I just went into a dos box, fired up debug, checked for
VESA services and they are available.

Oops.. I forgot to mention.. I was naturally talking about the VESA software extensions to
VGA and *not* talking about VESA slots found on old 386 and 486 motherboards (in case some
other readers are getting confoozed)

There are third party books, however, that describe the hardware for alot of cards. I have
seen them, some are *really* quite thick. I don't know how up to date they are. If you want
direct control, check out bookstores.

 
Pupil #234732

July 20, 1999, 09:39 PM

tangent wrote:
>>Read some articles on the VESA specifications. What it shows is that it has software calls
>>for bank switching.

I looked everywhere and realized where I am. I live in Canada. That probably explains all.

>>Also, VESA compliant cards are real easy to program, if you have existing
>>VGA routines. Each mode is basically just a higher res version of one of the existing modes.
>>For example, 320x200x256 color is a VGA mode. You can query the VESA driver to see what other
>>256 color modes it supports. The memory layout is the same, except the rows are naturally
>>wider. The same goes for other modes; 16 color, etc. same format as a VGA mode except wider.
>>

You expect me to make a game on low resolusion 256 color mode in 21st century?

In fact, I got everything about VGA BIOS as well as I/O ports, and I used to have SVGA(Trident to be exact) reference and did do the bank swicthing on my own. I can not work on game programming anymore since that 1 page document is missing. I would be thankful if you, or anyone can give me the magic numbers, or the port number, register specification and the command value in the case.(i.e. all i need is exactly 2 or 3 numbers if I remember correctly)

 
tangent

July 21, 1999, 01:35 AM

tangent wrote:
>>>> Also, VESA compliant cards are real easy to program, .....
>>>> ..... The same goes for other modes; 16 color, etc. same format as a VGA mode except wider.

Pupil #234732 wrote:
>>You expect me to make a game on low resolusion 256 color mode in 21st century?

Sorry. I guess I was too wordy. You must have stopped reading at that point. The following
sentence in my reply was:

>>The latest VESA standards that exist also has support for 16 bit and higher color resolutions.

Actually, I wasn't expecting you to make any game, especially coding it specifically for one
specific chipset. Your original message *did not* ask for hardware specific information - just
a question regarding bank switching in general and how come it isn't included in bios.
There is no standard SVGA bios. VESA is was written for that very reason.

That probably explains all.

For any one else interested in programming the old fashioned way as well, here is one link to
VESA 2.0 specs: http://mirriwinni.cse.rmit.edu.au/~steve/vbe/s10.htm

but I would recommend DirectDraw over both methods: accessing hardware directly or VESA, for
all you software renderers out there.

 
This thread contains 4 messages.
 
 
Hosting by Solid Eight Studios, maker of PhotoTangler Collage Maker.