Over the years, I’ve made a few half-hearted stabs at learning assembly language. In doing so I’ve discovered this great PC Assembly Language textbook by Paul Carter. Last October, Halfgaar and me took this free book as a starting point to rediscover the joy of programming.
Today, I’m getting reacquainted with what we did last fall. I’m also looking at some stuff that Halfgaar added without me. After fetching and merging his latest changes, I’m now greeted by the image of a nude person of the female persuasion with a somewhat psychedelic color palette.
The first goal of our assembly learning project was to have a bootable beauty, a simple disk-image of sorts which we can boot with Bochs or another emulator to display an image of a girl. Halfgaar has the lead because he crafted an 8-bit BMP image (with what he thought to be a proper color index), and he modified our code to traverse and display the image pixel by pixel.
Now I want to find out why the color palette of the image doesn’t quite match the BIOS’ palette, but, while I know the latter must be somewhere on Wikipedia, I’m having trouble finding it again… I can’t even find the nicely organized list of all the BIOS interrupts and arguments which we used to learn how to draw colored pixels. I’m left wishing that I wrote this post while I still knew where to find all this information.
Can you save me some googling, Halfgaar?
From the Wikipedia BIOS category: BIOS interrupt call and INT 10
Also: BIOS color attributes
And for the next version of the program: VESA BIOS Extensions
I love how you dare to put that image here. And I love how our hosting provider doesn’t mind 🙂
The Video Graphics Array (VGA) page on wikipedia has the palette.
Interrupt API. I don’t know if we used this, but it’s a very good one I found.
As a sidenote; the tags it has aren’t displayed. And, can’t I tag it as well?
I still need to add the tags to the new design. In my old design, they where displayed in one of the darlings which I killed. I suppose that’s part of the reason why I haven’t added them at the time. 😕
Soon, really soon; I promise!