marcio wrote:I see, thanks
All that you just explained to me, did you read it somewhere or is just by experience?
Both.
The FreeVGA project documents pretty much everything, but rather poorly. Most of what I said above can be taken from it, although some things are kind of obfuscated so that you can't be sure how it will work exactly.
There's also, older, Michael Abrash' "Graphics Programming Black Book". (which is now freely available off the web). It documents less, but more of the things you are likely to encounter, and does a more thorough job of describing it (it uses one third of a book to document only part of the VGA, while freevga uses far less space to document it all).
Since VGA (emulation) is present on virtually all graphics cards, I decided it would be the first full graphics driver. Consequently I ran tests to see how much current video cards deviate from the behaviour documented in the mentioned sources. While among real cards the differences are minimal, emulators are less compatible with real cards. (virtualpc being the closest to the real thing). After several hours of experimenting, I drew up some conclusions and put them in
VGA Hardware, in an attempt to create a more verbose description of the VGA than provided by the FreeVGA project, as well as pointing out things for practical use.
In short, trying things out for yourself makes you pick up things a bit faster
JamesM wrote:He has it tattood on his right forearm. Left forearm is the ATA spec and usage examples. The multiboot spec isn't used often and so is relegated to his right shin.
I had the left one removed. Now I know close to nothing about programming harddisks