Is it possible to take completely a video card from Windows for a while? I mean, bare metal level take over, reprogram it fully starting at the VGA registers, then later give back the card to Windows? Might sound extreme, but would like to have complete control over it (basically to be able to reprogram it fully, any registers etc; like getting into VGA 80x25 text mode with direct MMIO at 0xB8000 and/or to be able to reprogram the GPU registers to do GPU-specific code from bare metal level).
If there is no known clean method, I know that Vista / Windows 7 can recover automatically if the video card driver crashes for some reasons. Can we force such a crash, without rebooting the system?
The only way I can think of doing this is that you install your driver via normal pnp mechanisms on the device, do your thing, and then restore the old driver. That will giv you control, but still probably not let you go to VGA mode. What is the bigger problem you are trying to solve?
Is it possible to take completely a video card from Windows for a while? I mean, bare metal level take over, reprogram it fully starting at the VGA registers, then later give back the card to Windows? Might sound extreme, but would like to have complete control over it (basically to be able to reprogram it fully, any registers etc; like getting into VGA 80x25 text mode with direct MMIO at 0xB8000 and/or to be able to reprogram the GPU registers to do GPU-specific code from bare metal level).
If there is no known clean method, I know that Vista / Windows 7 can recover automatically if the video card driver crashes for some reasons. Can we force such a crash, without rebooting the system?
What are you trying do here/why do you want to do this?
Mm
On Jul 19, 2012 9:33 AM, wrote:
> Hi, > > Is it possible to take completely a video card from Windows for a while? I > mean, bare metal level take over, reprogram it fully starting at the VGA > registers, then later give back the card to Windows? Might sound extreme, > but would like to have complete control over it (basically to be able to > reprogram it fully, any registers etc; like getting into VGA 80x25 text > mode with direct MMIO at 0xB8000 and/or to be able to reprogram the GPU > registers to do GPU-specific code from bare metal level). > > If there is no known clean method, I know that Vista / Windows 7 can > recover automatically if the video card driver crashes for some reasons. > Can we force such a crash, without rebooting the system? > > thank you, > > SUN > > — > NTDEV is sponsored by OSR > > For our schedule of WDF, WDM, debugging and other seminars visit: > http://www.osr.com/seminars > > To unsubscribe, visit the List Server section of OSR Online at > http://www.osronline.com/page.cfm?name=ListServer >
Having spent far too much time programming CGA, EGA, and VGA at the
bare-metal leve in the late 1980sl, I cannot imagine ever wanting to do
this again.
Anyone who thinks that this trick will “make it impossible to capture what
is on the screen” has lost touch with all forms of reality. If it’s that
important, that means it is valuable. If it is valuable, someone will be
willing to invest the time to circumvent your code. Sadly, for the case
of VGA, such code is truly trivial.
The Trusted Computer Base (TCB) effort has been concerned with this, and
the OP might well look into the state of the art. The last time I cared
was in 2002, when mastodons still roamed the BIOS.
joe
Is it possible to take completely a video card from Windows for a while? I mean, bare metal level take over, reprogram it fully starting at the VGA registers, then later give back the card to Windows? Might sound extreme, but would like to have complete control over it (basically to be able to reprogram it fully, any registers etc; like getting into VGA 80x25 text mode with direct MMIO at 0xB8000 and/or to be able to reprogram the GPU registers to do GPU-specific code from bare metal level).
This is what a full-screen DOS box does. Start a command shell and
press Alt-Enter. That just disabled the main graphics driver, enabled a
VGA driver, and did a VGA mode 3 by pounding the registers at 3CX and 3DX.
Now, a 32-bit app cannot go write to VGA registers or write to memory at
0xB8000. A 16-bit app can do it, and a kernel driver can do it.
–
Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.
On Fri, Jul 20, 2012 at 10:19 AM, Tim Roberts wrote:
> xxxxx@yahoo.com wrote: > > Is it possible to take completely a video card from Windows for a while? > I mean, bare metal level take over, reprogram it fully starting at the VGA > registers, then later give back the card to Windows? Might sound extreme, > but would like to have complete control over it (basically to be able to > reprogram it fully, any registers etc; like getting into VGA 80x25 text > mode with direct MMIO at 0xB8000 and/or to be able to reprogram the GPU > registers to do GPU-specific code from bare metal level). > > This is what a full-screen DOS box does. Start a command shell and > press Alt-Enter. That just disabled the main graphics driver, enabled a > VGA driver, and did a VGA mode 3 by pounding the registers at 3CX and 3DX. > > Now, a 32-bit app cannot go write to VGA registers or write to memory at > 0xB8000. A 16-bit app can do it, and a kernel driver can do it. > > – > Tim Roberts, xxxxx@probo.com > Providenza & Boekelheide, Inc. > > > — > NTDEV is sponsored by OSR > > For our schedule of WDF, WDM, debugging and other seminars visit: > http://www.osr.com/seminars > > To unsubscribe, visit the List Server section of OSR Online at > http://www.osronline.com/page.cfm?name=ListServer >