flat assembler
Message board for the users of flat assembler.

Index > DOS > How to directly access SVGA

Author
Thread Post new topic Reply to topic
me239



Joined: 06 Jan 2011
Posts: 200
me239 24 Apr 2011, 05:55
Hello, I recently tried some SVGA programming, but I soon found how slow bank switching is with BIOS interrupts. Is there any way I can speak directly to the monitor port to switch banks? Thanks Smile
Post 24 Apr 2011, 05:55
View user's profile Send private message Reply with quote
neville



Joined: 13 Jul 2008
Posts: 507
Location: New Zealand
neville 24 Apr 2011, 10:51
Yes I agree bank switching is very slow.

Not sure about direct register/port access, but if the video card supports linear frame buffering (LFB) that is the way to go. The LFB is mapped to the top of 32-bit memory space, and the video mode starts with 4 e.g. 4103h is mode 103 in LFB mode.

_________________
FAMOS - the first memory operating system
Post 24 Apr 2011, 10:51
View user's profile Send private message Visit poster's website Reply with quote
me239



Joined: 06 Jan 2011
Posts: 200
me239 25 Apr 2011, 00:15
neville wrote:
Yes I agree bank switching is very slow.

Not sure about direct register/port access, but if the video card supports linear frame buffering (LFB) that is the way to go. The LFB is mapped to the top of 32-bit memory space, and the video mode starts with 4 e.g. 4103h is mode 103 in LFB mode.
Yes, but how do operating systems like Windows handle such fast graphics all in high resolution SVGA?
Post 25 Apr 2011, 00:15
View user's profile Send private message Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 20355
Location: In your JS exploiting you and your system
revolution 25 Apr 2011, 01:56
me239 wrote:
Yes, but how do operating systems like Windows handle such fast graphics all in high resolution SVGA?
With a driver specifically written for the card. Windows doesn't use the BIOS.
Post 25 Apr 2011, 01:56
View user's profile Send private message Visit poster's website Reply with quote
me239



Joined: 06 Jan 2011
Posts: 200
me239 25 Apr 2011, 02:18
revolution wrote:
me239 wrote:
Yes, but how do operating systems like Windows handle such fast graphics all in high resolution SVGA?
With a driver specifically written for the card. Windows doesn't use the BIOS.
But doesn't the BIOS speak directly to the driver? How could I pass the BIOS and go straight to the video card?
Post 25 Apr 2011, 02:18
View user's profile Send private message Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 20355
Location: In your JS exploiting you and your system
revolution 25 Apr 2011, 02:32
The BIOS does not "speak to the driver". The BIOS accesses the video card directly. A driver also accesses the video card directly. If you have a driver for your card then you don't need to use the BIOS.

If you have the specs for your card then you can access the card directly also. But the hard part is getting the full specs.
Post 25 Apr 2011, 02:32
View user's profile Send private message Visit poster's website Reply with quote
JohnFound



Joined: 16 Jun 2003
Posts: 3499
Location: Bulgaria
JohnFound 25 Apr 2011, 07:56
Every video card have some ROM that contains so called Video BIOS. The problem is that usually this video BIOS supports only very small amount of the cards features. The modern video cards supports it only for compatibility purposes. The full speed/features of the video card can be use only by some code, working directly with the hardware - i.e. driver.
However, the specifications for this hardware is often hard or impossible to be obtained. The manufacturers often release drivers only for Windows and recently for Linux.
Actually the tragedy of all new OSes is the lack of video drivers. This was a problem for Linux for many years. (now is more or less fixed).
Post 25 Apr 2011, 07:56
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
vid
Verbosity in development


Joined: 05 Sep 2003
Posts: 7105
Location: Slovakia
vid 25 Apr 2011, 09:21
Quote:
Every video card have some ROM that contains so called Video BIOS. The problem is that usually this video BIOS supports only very small amount of the cards features. The modern video cards supports it only for compatibility purposes.

Specifically for graphics during booting, and for Windows without proper driver installed (in such case it is quite common to use bank-switched mode).
Post 25 Apr 2011, 09:21
View user's profile Send private message Visit poster's website AIM Address MSN Messenger ICQ Number Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.