Not sure if this should go here but here goes.
How the heck do you switch video banks. I remember a long time ago doing it by calling int 10 twice with the bank number (e.g. 2) in ah.
I'm trying to do this on a old Compaq Laptop using MS debug.
I know the VESA version is 2.1 which probably matters little but I cant get the banks to switch. What am i forgetting?
Any help or links appreciated.
How the heck do you switch video banks. I remember a long time ago doing it by calling int 10 twice with the bank number (e.g. 2) in ah.
I'm trying to do this on a old Compaq Laptop using MS debug.
I know the VESA version is 2.1 which probably matters little but I cant get the banks to switch. What am i forgetting?
Any help or links appreciated.
Humm, I'd google for a copy of the VESA specs - you probably need a VESA specific call rather than a plain int10, if you're dealing with a VESA mode anyway.
Other than that you could go chipset-specific, but that's a friggin' nightmare.
Other than that you could go chipset-specific, but that's a friggin' nightmare.
From Ralf
INT 10 - VESA SuperVGA BIOS - CPU VIDEO MEMORY CONTROL
AX = 4F05h
BH = subfunction
00h select video memory window
DX = window address in video memory (in granularity units)
01h get video memory window
Return: DX = window address in video memory (in gran. units)
BL = window number
00h window A
01h window B
ES = selector for memory-mapped registers (VBE 2.0+, when called from
32-bit protected mode)
Return: AL = 4Fh if function supported
AH = status
00h successful
01h failed
Note: when using an accelerated video mode under VBE/AF v1.0P, the
application must call EnableDirectAccess before switching banks if
bit 9 of the video mode attributes flag is set (see #00080)
BUG: Phoenix S3 Trio64V+ v1.02-02 reportedly returns garbage in DX for
subfunction 01h
INT 10 - VESA SuperVGA BIOS - CPU VIDEO MEMORY CONTROL
AX = 4F05h
BH = subfunction
00h select video memory window
DX = window address in video memory (in granularity units)
01h get video memory window
Return: DX = window address in video memory (in gran. units)
BL = window number
00h window A
01h window B
ES = selector for memory-mapped registers (VBE 2.0+, when called from
32-bit protected mode)
Return: AL = 4Fh if function supported
AH = status
00h successful
01h failed
Note: when using an accelerated video mode under VBE/AF v1.0P, the
application must call EnableDirectAccess before switching banks if
bit 9 of the video mode attributes flag is set (see #00080)
BUG: Phoenix S3 Trio64V+ v1.02-02 reportedly returns garbage in DX for
subfunction 01h
f0dder is right. I was looking for something like that some time ago and there are plenty of sources in the internet where you can find SVGA tutorials. By the way, I have attached some of the good tutorials I had found, to this post.
Good luck.
Good luck.
Good tutorials XCHG. I once downloaded the VBE3 specs, so here they are...
thanx guys
will see what i can do with that
Video interfacing is a nitemare all on its own.
will see what i can do with that
Video interfacing is a nitemare all on its own.