Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

BIOS video routine question

Name: Anonymous 2012-11-28 16:18

I was looking at https://singularity.svn.codeplex.com/svn/base/boot/SingLdrPc/blentry16.asm
and I'm confused by the BlInitializeVideo function.
Particularly this call to the bios video routines:
        mov     ax, 1202h       ; LINES_400_CONFIGURATION
        mov     bx, 0301h       ; SELECT_SCAN_LINE
        int     10h

That code sets AH=12h, AL=02h, BH=03h, BL=01h, right?
From the comments, it seems to be calling Int 10/AH=12h/BL=30h, listed here http://www.ctyme.com/intr/rb-0167.htm

Does anyone know what's going on in this code? Is there some funky bios thing going on or am I misunderstanding something?

Name: >>6 2012-11-29 0:32

>>4
And yeah, this is a funky BIOS thing. Calling int 10h like that code is doing will initialize the VGA adapter to a known state so you can write stuff to the screen without loading a real video driver.

The only other approach that is more or less guaranteed to work on every PC in the world is to bang on the VGA registers directly. It takes more code, but it's faster and potentially more reliable than relying on the BIOS.

Name: Cudder !MhMRSATORI!fR8duoqGZdD/iE5 2012-11-29 4:55

It's probably a bug, one that doesn't have much effect. The default is usually 720x400 80x25 mode anyway.

The e/b/inElpin VGABIOS code I have doesn't implement that function. At first I thought it might be vendor-specific; you could try checking MSVPC's BIOS to see if it was added for that environmnet.

Name: Anonymous 2012-11-29 21:54

Elpin VGABIOS code I have

Cudder, how did you get that?

>>7,10,13 Same person, and we have been trolled constantly

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List