Bona Fide OS Developer
View unanswered posts | View active topics It is currently Mon Jul 15, 2024 7:30 pm

Post new topic Reply to topic  [ 1 post ] 
 Enable full-screen mode consoles in Windows 7 32-bit 
Author Message

Joined: Sun Sep 19, 2010 9:45 am
Posts: 29
Post Enable full-screen mode consoles in Windows 7 32-bit
Look at the attached ZIP samples.

They contain .COM files capable of displaying VGA console graphics.

The procedure to enable full screen consoles in 32-bit Windows is this:

Run sysdm.cpl
Disable your graphic card's driver in Hardware tab -- Device Manager button
Run cmd
Run start from this console to open more VGA-capable ones
Press Alt+Enter to make it full screen
Press Alt+Enter again to return to Windows
Re-enable your graphic card's driver in Hardware tab -- Device Manager button

Now your open consoles or new ones
will be capable of entering full-screen mode.

If your video is trashed when returning,
just run monoff.exe from the ZIPs,
or run a Windows video mode changing program
to fix it.

The key for making the program work is to
set video mode with the BIOS first, then access
ports manually. It seems that Windows 7 blocks
the effect of port writes from the BIOS, but if we
call it first and then set VGA registers manually,
it seems that Windows 7 caches the hardware
resources that were requested by privileged BIOS
code and allows us to access them manually too
from the same process.

The consoles are left enabled for native CGA/EGA/VGA,
which means that they must be configured by a
global OS process (probably the GUI/CLI subsystem),
and then the rest of programs that we open are
allowed to access those functions due to the global
hardware permisson cache.

We need to make a skeleton to easily initialize
graphics modes for MS-DOS applications compatible
with the Windows 7 graphics console.

I learned this trick thanks to ZSNES 1.36, the only
MS-DOS graphics program that works under
Windows 7 (see the README.TXT for more infomation).

It also makes me think that if we access hardware
and other resources in this way, Windows will allow us
to access hardware that otherwise wouldn't let us
reach with such ease thanks to an apparent
permission cache per process, specially MS-DOS ones.

Running programs from the current DOS executable
is also left, to display graphics programs for which we
don't have feasible source, from our wrapper.

File comment: Main BIOS INT 10h patch to run before graphics programs. [59.85 KiB]
Downloaded 2496 times
File comment: Basic demo code for being able to enable VGA graphics under Windows 7. [57.98 KiB]
Downloaded 3001 times
File comment: Sphere points 3D-rotation demo in mode 13h that works under Windows 7. [60.27 KiB]
Downloaded 2498 times

Live Development (click image links for full size):
PC 1: ImagePC 2: Image
Fri Oct 04, 2019 12:48 pm
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 1 post ] 

Who is online

Users browsing this forum: No registered users and 1 guest

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by Vjacheslav Trushkin and tweaked by the BF Team.