vga register map

Hello outthere,
I am a really beginner in PC-Programming
and when I have learned to programm the C64 in assembler
many years ago, everything was much easier by using
the great book "C64 for insider" with all I/O-Ports
discribed and commented bit for bit ...

so my stupid questions are:
* where do I get a complete map of VGA I/O-Ports from?
* how is it possible to access to full
xga (1024x768 x 24) memory (especially
from protected mode) by memorybanking?
* are there any VGA-Card BIOS-Routines useable after
I have switched to the protected mode?
* what the hell is neccessary to get full VGA control
(pixel access, block transfer,
sprites e.g. at least)
if I want to create a bootable floppy-disk -
system that comes out without any OS-Routines
and runs in the protected mode?
* by the way - the mouse must be controlled be too,
and the sound-card, and all IDE-Devices, ... ,
- but how?

I want to build a tiny OS that provides me with all
basic functions I need for small applications.


  • First of all that's alot of ?. Now let's try and answer some of them, first you can not use the port in pmode like you did with c64, as each graphic card is differant.
    You can use vesa, but you need to set it up in realmode and swich back from pmode for mode change etc, or set up v86 (not easy).

    But you may be in look as i am making a OS like you need, i have made a vesa2 demo with asm code that set up vesa, goes to pmode and as a function for swiching back to realmode for mode swiching etc.
    You can get it from here:

    called ""


    "Programmer's Guide to the EGA, VGA, and Super VGA Cards (3rd Edition)"

    Everything you'll ever want to know about the VGA/EGA hardware.

    VESA provides a protected mode interface, although you should be aware that not all modern video cards properly support VESA. You can get the complete standard from here:
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!