diff options
author | Jaroslav Hensl <jara@hensl.cz> | 2024-09-23 22:52:54 +0200 |
---|---|---|
committer | Jaroslav Hensl <jara@hensl.cz> | 2024-09-23 22:52:54 +0200 |
commit | b5a7e91089671879227f4ce231cd06e9e6a24f18 (patch) | |
tree | 393d0286241d1fe3a3c5990ab75797d7fe19f24a | |
parent | c69714384db657e4e1215fad53678c77532d236d (diff) | |
download | vmdisp9x-b5a7e91089671879227f4ce231cd06e9e6a24f18.tar.gz |
DOS: dont pass calls to DIB/VXD when fullscreen DOS mode is actived
-rw-r--r-- | makefile | 2 | ||||
-rw-r--r-- | scrsw.c | 2 | ||||
-rw-r--r-- | vxd_svga.c | 14 | ||||
-rw-r--r-- | vxd_svga.h | 10 |
4 files changed, 17 insertions, 11 deletions
@@ -12,7 +12,7 @@ OBJS += & INCS = -I$(%WATCOM)\h\win -Iddk -Ivmware
-VER_BUILD = 82
+VER_BUILD = 83
FLAGS = -DDRV_VER_BUILD=$(VER_BUILD)
@@ -168,6 +168,7 @@ void SwitchToBgnd( void ) #endif
lpDriverPDevice->deFlags |= BUSY; /// @todo Does this need to be a locked op?
+ wEnabled = 0;
}
/* Called from INT 2Fh hook when the device is switching to the
@@ -186,6 +187,7 @@ void SwitchToFgnd( void ) if( lpDriverPDevice->deFlags & BUSY )
RestoreDesktopMode(); /* Will clear the BUSY flag. */
RepaintScreen();
+ wEnabled = 1;
}
/* This minidriver does not currently disable or enable switching.
@@ -110,15 +110,7 @@ static char SVGA_vxd_name[] = "vmwsmini.vxd"; static char SVGA_conf_disable_multisample[] = "NoMultisample";
static char SVGA_conf_async_mobs[] = "AsyncMOBs";
-typedef struct _svga_saved_state_t
-{
- BOOL enabled;
- DWORD width;
- DWORD height;
- DWORD bpp;
-} svga_saved_state_t;
-
-static svga_saved_state_t svga_saved_state = {FALSE};
+svga_saved_state_t svga_saved_state = {FALSE};
/**
* Notify virtual HW that is some work to do
@@ -1059,6 +1051,8 @@ void SVGA_query_vector(DWORD type, DWORD index_start, DWORD count, DWORD *out) void SVGA_HW_enable()
{
+ dbg_printf("SVGA_HW_enable()\n");
+
if(hda->width > 0 && hda->height > 0)
{
SVGA_WriteReg(SVGA_REG_ENABLE, TRUE);
@@ -1071,7 +1065,7 @@ void SVGA_HW_enable() void SVGA_HW_disable()
{
- dbg_printf(dbg_disable);
+ dbg_printf("SVGA_HW_disable()\n");
SVGA_CB_stop();
@@ -68,4 +68,14 @@ void SVGA_CMB_wait_update(); void mob_cb_alloc();
void *mob_cb_get();
+typedef struct _svga_saved_state_t
+{
+ BOOL enabled;
+ DWORD width;
+ DWORD height;
+ DWORD bpp;
+} svga_saved_state_t;
+
+extern svga_saved_state_t svga_saved_state;
+
#endif /* __VXD_SVGA_H__INCLUDED__ */
|