Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
ab635b21
Commit
ab635b21
authored
Nov 14, 1998
by
Ulrich Weigand
Committed by
Alexandre Julliard
Nov 14, 1998
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added stubs for several VxDs / interrupts.
parent
980992a3
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
146 additions
and
5 deletions
+146
-5
wprocs.spec
if1632/wprocs.spec
+4
-1
Makefile.in
msdos/Makefile.in
+1
-0
int2f.c
msdos/int2f.c
+6
-0
int41.c
msdos/int41.c
+50
-0
vxd.c
msdos/vxd.c
+85
-4
No files found.
if1632/wprocs.spec
View file @
ab635b21
...
...
@@ -85,7 +85,7 @@ type win16
162 register INT_Int3eHandler(word) BUILTIN_DefaultIntHandler
163 register INT_Int3fHandler(word) BUILTIN_DefaultIntHandler
164 register INT_Int40Handler(word) BUILTIN_DefaultIntHandler
165 register INT_Int41Handler(word)
BUILTIN_DefaultInt
Handler
165 register INT_Int41Handler(word)
INT_Int41
Handler
166 register INT_Int42Handler(word) BUILTIN_DefaultIntHandler
167 register INT_Int43Handler(word) BUILTIN_DefaultIntHandler
168 register INT_Int44Handler(word) BUILTIN_DefaultIntHandler
...
...
@@ -285,10 +285,13 @@ type win16
405 register VXD_Timer() VXD_Timer
409 register VXD_Reboot() VXD_Reboot
410 register VXD_VDD() VXD_VDD
412 register VXD_VMD() VXD_VMD
414 register VXD_Comm() VXD_Comm
#415 register VXD_Printer() VXD_Printer
423 register VXD_Shell() VXD_Shell
433 register VXD_PageFile() VXD_PageFile
438 register VXD_APM() VXD_APM
445 register VXD_Win32s() VXD_Win32s
451 register VXD_ConfigMG() VXD_ConfigMG
455 register VXD_Enable() VXD_Enable
1490 register VXD_TimerAPI() VXD_TimerAPI
msdos/Makefile.in
View file @
ab635b21
...
...
@@ -27,6 +27,7 @@ C_SRCS = \
int2a.c
\
int2f.c
\
int3d.c
\
int41.c
\
int4b.c
\
int5c.c
\
interrupts.c
\
...
...
msdos/int2f.c
View file @
ab635b21
...
...
@@ -158,6 +158,8 @@ void WINAPI INT_Int2fHandler( CONTEXT *context )
break
;
/* not installed */
case
0x12
:
/* realtime compression interface */
break
;
/* not installed */
case
0x32
:
/* patch IO.SYS (???) */
break
;
/* we have no IO.SYS, so we can't patch it :-/ */
default:
INT_BARF
(
context
,
0x2f
);
}
...
...
@@ -252,6 +254,10 @@ static void do_int2f_16( CONTEXT *context )
CX_reg
(
context
)
=
(
GetWinFlags
()
&
WF_ENHANCED
)
?
3
:
2
;
break
;
case
0x0b
:
/* Identify Windows-aware TSRs */
/* we don't have any pre-Windows TSRs */
break
;
case
0x11
:
/* Get Shell Parameters - (SHELL= in CONFIG.SYS) */
/* We can mock this up. But not today... */
FIXME
(
int
,
"Get Shell Parameters
\n
"
);
...
...
msdos/int41.c
0 → 100644
View file @
ab635b21
/*
* DOS interrupt 41h handler -- Windows Kernel Debugger
*
* Check debugsys.inc from the DDK for docu.
*/
#include "miscemu.h"
/***********************************************************************
* INT_Int41Handler
*
*/
void
WINAPI
INT_Int41Handler
(
CONTEXT
*
context
)
{
if
(
ISV86
(
context
)
)
{
/* Real-mode debugger services */
switch
(
AX_reg
(
context
)
)
{
default:
INT_BARF
(
context
,
0x41
);
break
;
}
}
else
{
/* Protected-mode debugger services */
switch
(
AX_reg
(
context
)
)
{
case
0x50
:
case
0x150
:
case
0x51
:
case
0x52
:
case
0x152
:
case
0x59
:
case
0x5a
:
case
0x5b
:
case
0x5c
:
case
0x5d
:
/* Notifies the debugger of a lot of stuff. We simply ignore it
for now, but some of the info might actually be useful ... */
break
;
default:
INT_BARF
(
context
,
0x41
);
break
;
}
}
}
msdos/vxd.c
View file @
ab635b21
...
...
@@ -134,7 +134,7 @@ void VXD_VDD ( CONTEXT *context )
{
unsigned
service
=
AX_reg
(
context
);
TRACE
(
vxd
,
"[%04x] V
MM
\n
"
,
(
UINT16
)
service
);
TRACE
(
vxd
,
"[%04x] V
DD
\n
"
,
(
UINT16
)
service
);
switch
(
service
)
{
...
...
@@ -149,6 +149,27 @@ void VXD_VDD ( CONTEXT *context )
}
/***********************************************************************
* VXD_VMD
*/
void
VXD_VMD
(
CONTEXT
*
context
)
{
unsigned
service
=
AX_reg
(
context
);
TRACE
(
vxd
,
"[%04x] VMD
\n
"
,
(
UINT16
)
service
);
switch
(
service
)
{
case
0x0000
:
/* version */
AX_reg
(
context
)
=
VXD_WinVersion
();
RESET_CFLAG
(
context
);
break
;
default:
VXD_BARF
(
context
,
"VMD"
);
}
}
/***********************************************************************
* VXD_Shell
*/
void
WINAPI
VXD_Shell
(
CONTEXT
*
context
)
...
...
@@ -170,7 +191,6 @@ void WINAPI VXD_Shell( CONTEXT *context )
case
0x0003
:
case
0x0004
:
case
0x0005
:
TRACE
(
vxd
,
"VxD Shell: EDX = %08lx
\n
"
,
EDX_reg
(
context
));
VXD_BARF
(
context
,
"shell"
);
break
;
...
...
@@ -200,9 +220,28 @@ void WINAPI VXD_Shell( CONTEXT *context )
case
0x0014
:
case
0x0015
:
case
0x0016
:
VXD_BARF
(
context
,
"SHELL"
);
break
;
/* the new Win95 shell API */
case
0x0100
:
/* get version */
AX_reg
(
context
)
=
VXD_WinVersion
();
break
;
case
0x0104
:
/* retrieve Hook_Properties list */
case
0x0105
:
/* call Hook_Properties callbacks */
VXD_BARF
(
context
,
"SHELL"
);
break
;
case
0x0106
:
/* install timeout callback */
TRACE
(
vxd
,
"VxD Shell: ignoring shell callback (%ld sec.)
\n
"
,
EBX_reg
(
context
)
);
SET_CFLAG
(
context
);
break
;
case
0x0107
:
/* get version of any VxD */
default:
TRACE
(
vxd
,
"VxD Shell: EDX = %08lx
\n
"
,
EDX_reg
(
context
));
VXD_BARF
(
context
,
"shell"
);
VXD_BARF
(
context
,
"SHELL"
);
break
;
}
}
...
...
@@ -322,6 +361,48 @@ void VXD_ConfigMG ( CONTEXT *context )
}
/***********************************************************************
* VXD_Enable
*/
void
VXD_Enable
(
CONTEXT
*
context
)
{
unsigned
service
=
AX_reg
(
context
);
TRACE
(
vxd
,
"[%04x] Enable
\n
"
,
(
UINT16
)
service
);
switch
(
service
)
{
case
0x0000
:
/* version */
AX_reg
(
context
)
=
VXD_WinVersion
();
RESET_CFLAG
(
context
);
break
;
default:
VXD_BARF
(
context
,
"ENABLE"
);
}
}
/***********************************************************************
* VXD_APM
*/
void
VXD_APM
(
CONTEXT
*
context
)
{
unsigned
service
=
AX_reg
(
context
);
TRACE
(
vxd
,
"[%04x] APM
\n
"
,
(
UINT16
)
service
);
switch
(
service
)
{
case
0x0000
:
/* version */
AX_reg
(
context
)
=
VXD_WinVersion
();
RESET_CFLAG
(
context
);
break
;
default:
VXD_BARF
(
context
,
"APM"
);
}
}
/***********************************************************************
* VXD_Win32s
*
* This is an implementation of the services of the Win32s VxD.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment