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
4324b477
Commit
4324b477
authored
Jun 03, 2000
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Delay loading of interrupt table functions until they are needed.
parent
de304909
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
26 additions
and
299 deletions
+26
-299
wprocs.spec
dlls/kernel/wprocs.spec
+0
-239
builtin.c
if1632/builtin.c
+1
-58
builtin16.h
include/builtin16.h
+0
-1
instr.c
memory/instr.c
+6
-0
interrupts.c
msdos/interrupts.c
+19
-1
No files found.
dlls/kernel/wprocs.spec
View file @
4324b477
...
...
@@ -7,263 +7,24 @@ type win16
# Interrupt vectors 0-255 are ordinals 100-355
# The 'interrupt' keyword takes care of the flags pushed on the stack by the interrupt
100 interrupt INT_Int00Handler() BUILTIN_DefaultIntHandler
101 interrupt INT_Int01Handler() BUILTIN_DefaultIntHandler
102 interrupt INT_Int02Handler() BUILTIN_DefaultIntHandler
103 interrupt INT_Int03Handler() BUILTIN_DefaultIntHandler
104 interrupt INT_Int04Handler() BUILTIN_DefaultIntHandler
105 interrupt INT_Int05Handler() BUILTIN_DefaultIntHandler
106 interrupt INT_Int06Handler() BUILTIN_DefaultIntHandler
107 interrupt INT_Int07Handler() BUILTIN_DefaultIntHandler
108 interrupt INT_Int08Handler() BUILTIN_DefaultIntHandler
109 interrupt INT_Int09Handler() BUILTIN_DefaultIntHandler
110 interrupt INT_Int0aHandler() BUILTIN_DefaultIntHandler
111 interrupt INT_Int0bHandler() BUILTIN_DefaultIntHandler
112 interrupt INT_Int0cHandler() BUILTIN_DefaultIntHandler
113 interrupt INT_Int0dHandler() BUILTIN_DefaultIntHandler
114 interrupt INT_Int0eHandler() BUILTIN_DefaultIntHandler
115 interrupt INT_Int0fHandler() BUILTIN_DefaultIntHandler
116 interrupt INT_Int10Handler() INT_Int10Handler
117 interrupt INT_Int11Handler() INT_Int11Handler
118 interrupt INT_Int12Handler() INT_Int12Handler
119 interrupt INT_Int13Handler() INT_Int13Handler
120 interrupt INT_Int14Handler() BUILTIN_DefaultIntHandler
121 interrupt INT_Int15Handler() INT_Int15Handler
122 interrupt INT_Int16Handler() BUILTIN_DefaultIntHandler
123 interrupt INT_Int17Handler() BUILTIN_DefaultIntHandler
124 interrupt INT_Int18Handler() BUILTIN_DefaultIntHandler
125 interrupt INT_Int19Handler() BUILTIN_DefaultIntHandler
126 interrupt INT_Int1aHandler() INT_Int1aHandler
127 interrupt INT_Int1bHandler() BUILTIN_DefaultIntHandler
128 interrupt INT_Int1cHandler() BUILTIN_DefaultIntHandler
129 interrupt INT_Int1dHandler() BUILTIN_DefaultIntHandler
130 interrupt INT_Int1eHandler() BUILTIN_DefaultIntHandler
131 interrupt INT_Int1fHandler() BUILTIN_DefaultIntHandler
132 interrupt INT_Int20Handler() INT_Int20Handler
133 interrupt INT_Int21Handler() DOS3Call
134 interrupt INT_Int22Handler() BUILTIN_DefaultIntHandler
135 interrupt INT_Int23Handler() BUILTIN_DefaultIntHandler
136 interrupt INT_Int24Handler() BUILTIN_DefaultIntHandler
# Note: int 25 and 26 don't pop the flags from the stack
137 register INT_Int25Handler() INT_Int25Handler
138 register INT_Int26Handler() INT_Int26Handler
139 interrupt INT_Int27Handler() BUILTIN_DefaultIntHandler
140 interrupt INT_Int28Handler() BUILTIN_DefaultIntHandler
141 interrupt INT_Int29Handler() BUILTIN_DefaultIntHandler
142 interrupt INT_Int2aHandler() INT_Int2aHandler
143 interrupt INT_Int2bHandler() BUILTIN_DefaultIntHandler
144 interrupt INT_Int2cHandler() BUILTIN_DefaultIntHandler
145 interrupt INT_Int2dHandler() BUILTIN_DefaultIntHandler
146 interrupt INT_Int2eHandler() BUILTIN_DefaultIntHandler
147 interrupt INT_Int2fHandler() INT_Int2fHandler
148 interrupt INT_Int30Handler() BUILTIN_DefaultIntHandler
149 interrupt INT_Int31Handler() INT_Int31Handler
150 interrupt INT_Int32Handler() BUILTIN_DefaultIntHandler
151 interrupt INT_Int33Handler() BUILTIN_DefaultIntHandler
152 interrupt INT_Int34Handler() BUILTIN_DefaultIntHandler
153 interrupt INT_Int35Handler() BUILTIN_DefaultIntHandler
154 interrupt INT_Int36Handler() BUILTIN_DefaultIntHandler
155 interrupt INT_Int37Handler() BUILTIN_DefaultIntHandler
156 interrupt INT_Int38Handler() BUILTIN_DefaultIntHandler
157 interrupt INT_Int39Handler() BUILTIN_DefaultIntHandler
158 interrupt INT_Int3aHandler() BUILTIN_DefaultIntHandler
159 interrupt INT_Int3bHandler() BUILTIN_DefaultIntHandler
160 interrupt INT_Int3cHandler() BUILTIN_DefaultIntHandler
161 interrupt INT_Int3dHandler() INT_Int3dHandler
162 interrupt INT_Int3eHandler() BUILTIN_DefaultIntHandler
163 interrupt INT_Int3fHandler() BUILTIN_DefaultIntHandler
164 interrupt INT_Int40Handler() BUILTIN_DefaultIntHandler
165 interrupt INT_Int41Handler() INT_Int41Handler
166 interrupt INT_Int42Handler() BUILTIN_DefaultIntHandler
167 interrupt INT_Int43Handler() BUILTIN_DefaultIntHandler
168 interrupt INT_Int44Handler() BUILTIN_DefaultIntHandler
169 interrupt INT_Int45Handler() BUILTIN_DefaultIntHandler
170 interrupt INT_Int46Handler() BUILTIN_DefaultIntHandler
171 interrupt INT_Int47Handler() BUILTIN_DefaultIntHandler
172 interrupt INT_Int48Handler() BUILTIN_DefaultIntHandler
173 interrupt INT_Int49Handler() BUILTIN_DefaultIntHandler
174 interrupt INT_Int4aHandler() BUILTIN_DefaultIntHandler
175 interrupt INT_Int4bHandler() INT_Int4bHandler
176 interrupt INT_Int4cHandler() BUILTIN_DefaultIntHandler
177 interrupt INT_Int4dHandler() BUILTIN_DefaultIntHandler
178 interrupt INT_Int4eHandler() BUILTIN_DefaultIntHandler
179 interrupt INT_Int4fHandler() BUILTIN_DefaultIntHandler
180 interrupt INT_Int50Handler() BUILTIN_DefaultIntHandler
181 interrupt INT_Int51Handler() BUILTIN_DefaultIntHandler
182 interrupt INT_Int52Handler() BUILTIN_DefaultIntHandler
183 interrupt INT_Int53Handler() BUILTIN_DefaultIntHandler
184 interrupt INT_Int54Handler() BUILTIN_DefaultIntHandler
185 interrupt INT_Int55Handler() BUILTIN_DefaultIntHandler
186 interrupt INT_Int56Handler() BUILTIN_DefaultIntHandler
187 interrupt INT_Int57Handler() BUILTIN_DefaultIntHandler
188 interrupt INT_Int58Handler() BUILTIN_DefaultIntHandler
189 interrupt INT_Int59Handler() BUILTIN_DefaultIntHandler
190 interrupt INT_Int5aHandler() BUILTIN_DefaultIntHandler
191 interrupt INT_Int5bHandler() BUILTIN_DefaultIntHandler
192 interrupt INT_Int5cHandler() NetBIOSCall16
193 interrupt INT_Int5dHandler() BUILTIN_DefaultIntHandler
194 interrupt INT_Int5eHandler() BUILTIN_DefaultIntHandler
195 interrupt INT_Int5fHandler() BUILTIN_DefaultIntHandler
196 interrupt INT_Int60Handler() BUILTIN_DefaultIntHandler
197 interrupt INT_Int61Handler() BUILTIN_DefaultIntHandler
198 interrupt INT_Int62Handler() BUILTIN_DefaultIntHandler
199 interrupt INT_Int63Handler() BUILTIN_DefaultIntHandler
200 interrupt INT_Int64Handler() BUILTIN_DefaultIntHandler
201 interrupt INT_Int65Handler() BUILTIN_DefaultIntHandler
202 interrupt INT_Int66Handler() BUILTIN_DefaultIntHandler
203 interrupt INT_Int67Handler() BUILTIN_DefaultIntHandler
204 interrupt INT_Int68Handler() BUILTIN_DefaultIntHandler
205 interrupt INT_Int69Handler() BUILTIN_DefaultIntHandler
206 interrupt INT_Int6aHandler() BUILTIN_DefaultIntHandler
207 interrupt INT_Int6bHandler() BUILTIN_DefaultIntHandler
208 interrupt INT_Int6cHandler() BUILTIN_DefaultIntHandler
209 interrupt INT_Int6dHandler() BUILTIN_DefaultIntHandler
210 interrupt INT_Int6eHandler() BUILTIN_DefaultIntHandler
211 interrupt INT_Int6fHandler() BUILTIN_DefaultIntHandler
212 interrupt INT_Int70Handler() BUILTIN_DefaultIntHandler
213 interrupt INT_Int71Handler() BUILTIN_DefaultIntHandler
214 interrupt INT_Int72Handler() BUILTIN_DefaultIntHandler
215 interrupt INT_Int73Handler() BUILTIN_DefaultIntHandler
216 interrupt INT_Int74Handler() BUILTIN_DefaultIntHandler
217 interrupt INT_Int75Handler() BUILTIN_DefaultIntHandler
218 interrupt INT_Int76Handler() BUILTIN_DefaultIntHandler
219 interrupt INT_Int77Handler() BUILTIN_DefaultIntHandler
220 interrupt INT_Int78Handler() BUILTIN_DefaultIntHandler
221 interrupt INT_Int79Handler() BUILTIN_DefaultIntHandler
222 interrupt INT_Int7aHandler() BUILTIN_DefaultIntHandler
223 interrupt INT_Int7bHandler() BUILTIN_DefaultIntHandler
224 interrupt INT_Int7cHandler() BUILTIN_DefaultIntHandler
225 interrupt INT_Int7dHandler() BUILTIN_DefaultIntHandler
226 interrupt INT_Int7eHandler() BUILTIN_DefaultIntHandler
227 interrupt INT_Int7fHandler() BUILTIN_DefaultIntHandler
228 interrupt INT_Int80Handler() BUILTIN_DefaultIntHandler
229 interrupt INT_Int81Handler() BUILTIN_DefaultIntHandler
230 interrupt INT_Int82Handler() BUILTIN_DefaultIntHandler
231 interrupt INT_Int83Handler() BUILTIN_DefaultIntHandler
232 interrupt INT_Int84Handler() BUILTIN_DefaultIntHandler
233 interrupt INT_Int85Handler() BUILTIN_DefaultIntHandler
234 interrupt INT_Int86Handler() BUILTIN_DefaultIntHandler
235 interrupt INT_Int87Handler() BUILTIN_DefaultIntHandler
236 interrupt INT_Int88Handler() BUILTIN_DefaultIntHandler
237 interrupt INT_Int89Handler() BUILTIN_DefaultIntHandler
238 interrupt INT_Int8aHandler() BUILTIN_DefaultIntHandler
239 interrupt INT_Int8bHandler() BUILTIN_DefaultIntHandler
240 interrupt INT_Int8cHandler() BUILTIN_DefaultIntHandler
241 interrupt INT_Int8dHandler() BUILTIN_DefaultIntHandler
242 interrupt INT_Int8eHandler() BUILTIN_DefaultIntHandler
243 interrupt INT_Int8fHandler() BUILTIN_DefaultIntHandler
244 interrupt INT_Int90Handler() BUILTIN_DefaultIntHandler
245 interrupt INT_Int91Handler() BUILTIN_DefaultIntHandler
246 interrupt INT_Int92Handler() BUILTIN_DefaultIntHandler
247 interrupt INT_Int93Handler() BUILTIN_DefaultIntHandler
248 interrupt INT_Int94Handler() BUILTIN_DefaultIntHandler
249 interrupt INT_Int95Handler() BUILTIN_DefaultIntHandler
250 interrupt INT_Int96Handler() BUILTIN_DefaultIntHandler
251 interrupt INT_Int97Handler() BUILTIN_DefaultIntHandler
252 interrupt INT_Int98Handler() BUILTIN_DefaultIntHandler
253 interrupt INT_Int99Handler() BUILTIN_DefaultIntHandler
254 interrupt INT_Int9aHandler() BUILTIN_DefaultIntHandler
255 interrupt INT_Int9bHandler() BUILTIN_DefaultIntHandler
256 interrupt INT_Int9cHandler() BUILTIN_DefaultIntHandler
257 interrupt INT_Int9dHandler() BUILTIN_DefaultIntHandler
258 interrupt INT_Int9eHandler() BUILTIN_DefaultIntHandler
259 interrupt INT_Int9fHandler() BUILTIN_DefaultIntHandler
260 interrupt INT_Inta0Handler() BUILTIN_DefaultIntHandler
261 interrupt INT_Inta1Handler() BUILTIN_DefaultIntHandler
262 interrupt INT_Inta2Handler() BUILTIN_DefaultIntHandler
263 interrupt INT_Inta3Handler() BUILTIN_DefaultIntHandler
264 interrupt INT_Inta4Handler() BUILTIN_DefaultIntHandler
265 interrupt INT_Inta5Handler() BUILTIN_DefaultIntHandler
266 interrupt INT_Inta6Handler() BUILTIN_DefaultIntHandler
267 interrupt INT_Inta7Handler() BUILTIN_DefaultIntHandler
268 interrupt INT_Inta8Handler() BUILTIN_DefaultIntHandler
269 interrupt INT_Inta9Handler() BUILTIN_DefaultIntHandler
270 interrupt INT_IntaaHandler() BUILTIN_DefaultIntHandler
271 interrupt INT_IntabHandler() BUILTIN_DefaultIntHandler
272 interrupt INT_IntacHandler() BUILTIN_DefaultIntHandler
273 interrupt INT_IntadHandler() BUILTIN_DefaultIntHandler
274 interrupt INT_IntaeHandler() BUILTIN_DefaultIntHandler
275 interrupt INT_IntafHandler() BUILTIN_DefaultIntHandler
276 interrupt INT_Intb0Handler() BUILTIN_DefaultIntHandler
277 interrupt INT_Intb1Handler() BUILTIN_DefaultIntHandler
278 interrupt INT_Intb2Handler() BUILTIN_DefaultIntHandler
279 interrupt INT_Intb3Handler() BUILTIN_DefaultIntHandler
280 interrupt INT_Intb4Handler() BUILTIN_DefaultIntHandler
281 interrupt INT_Intb5Handler() BUILTIN_DefaultIntHandler
282 interrupt INT_Intb6Handler() BUILTIN_DefaultIntHandler
283 interrupt INT_Intb7Handler() BUILTIN_DefaultIntHandler
284 interrupt INT_Intb8Handler() BUILTIN_DefaultIntHandler
285 interrupt INT_Intb9Handler() BUILTIN_DefaultIntHandler
286 interrupt INT_IntbaHandler() BUILTIN_DefaultIntHandler
287 interrupt INT_IntbbHandler() BUILTIN_DefaultIntHandler
288 interrupt INT_IntbcHandler() BUILTIN_DefaultIntHandler
289 interrupt INT_IntbdHandler() BUILTIN_DefaultIntHandler
290 interrupt INT_IntbeHandler() BUILTIN_DefaultIntHandler
291 interrupt INT_IntbfHandler() BUILTIN_DefaultIntHandler
292 interrupt INT_Intc0Handler() BUILTIN_DefaultIntHandler
293 interrupt INT_Intc1Handler() BUILTIN_DefaultIntHandler
294 interrupt INT_Intc2Handler() BUILTIN_DefaultIntHandler
295 interrupt INT_Intc3Handler() BUILTIN_DefaultIntHandler
296 interrupt INT_Intc4Handler() BUILTIN_DefaultIntHandler
297 interrupt INT_Intc5Handler() BUILTIN_DefaultIntHandler
298 interrupt INT_Intc6Handler() BUILTIN_DefaultIntHandler
299 interrupt INT_Intc7Handler() BUILTIN_DefaultIntHandler
300 interrupt INT_Intc8Handler() BUILTIN_DefaultIntHandler
301 interrupt INT_Intc9Handler() BUILTIN_DefaultIntHandler
302 interrupt INT_IntcaHandler() BUILTIN_DefaultIntHandler
303 interrupt INT_IntcbHandler() BUILTIN_DefaultIntHandler
304 interrupt INT_IntccHandler() BUILTIN_DefaultIntHandler
305 interrupt INT_IntcdHandler() BUILTIN_DefaultIntHandler
306 interrupt INT_IntceHandler() BUILTIN_DefaultIntHandler
307 interrupt INT_IntcfHandler() BUILTIN_DefaultIntHandler
308 interrupt INT_Intd0Handler() BUILTIN_DefaultIntHandler
309 interrupt INT_Intd1Handler() BUILTIN_DefaultIntHandler
310 interrupt INT_Intd2Handler() BUILTIN_DefaultIntHandler
311 interrupt INT_Intd3Handler() BUILTIN_DefaultIntHandler
312 interrupt INT_Intd4Handler() BUILTIN_DefaultIntHandler
313 interrupt INT_Intd5Handler() BUILTIN_DefaultIntHandler
314 interrupt INT_Intd6Handler() BUILTIN_DefaultIntHandler
315 interrupt INT_Intd7Handler() BUILTIN_DefaultIntHandler
316 interrupt INT_Intd8Handler() BUILTIN_DefaultIntHandler
317 interrupt INT_Intd9Handler() BUILTIN_DefaultIntHandler
318 interrupt INT_IntdaHandler() BUILTIN_DefaultIntHandler
319 interrupt INT_IntdbHandler() BUILTIN_DefaultIntHandler
320 interrupt INT_IntdcHandler() BUILTIN_DefaultIntHandler
321 interrupt INT_IntddHandler() BUILTIN_DefaultIntHandler
322 interrupt INT_IntdeHandler() BUILTIN_DefaultIntHandler
323 interrupt INT_IntdfHandler() BUILTIN_DefaultIntHandler
324 interrupt INT_Inte0Handler() BUILTIN_DefaultIntHandler
325 interrupt INT_Inte1Handler() BUILTIN_DefaultIntHandler
326 interrupt INT_Inte2Handler() BUILTIN_DefaultIntHandler
327 interrupt INT_Inte3Handler() BUILTIN_DefaultIntHandler
328 interrupt INT_Inte4Handler() BUILTIN_DefaultIntHandler
329 interrupt INT_Inte5Handler() BUILTIN_DefaultIntHandler
330 interrupt INT_Inte6Handler() BUILTIN_DefaultIntHandler
331 interrupt INT_Inte7Handler() BUILTIN_DefaultIntHandler
332 interrupt INT_Inte8Handler() BUILTIN_DefaultIntHandler
333 interrupt INT_Inte9Handler() BUILTIN_DefaultIntHandler
334 interrupt INT_InteaHandler() BUILTIN_DefaultIntHandler
335 interrupt INT_IntebHandler() BUILTIN_DefaultIntHandler
336 interrupt INT_IntecHandler() BUILTIN_DefaultIntHandler
337 interrupt INT_IntedHandler() BUILTIN_DefaultIntHandler
338 interrupt INT_InteeHandler() BUILTIN_DefaultIntHandler
339 interrupt INT_IntefHandler() BUILTIN_DefaultIntHandler
340 interrupt INT_Intf0Handler() BUILTIN_DefaultIntHandler
341 interrupt INT_Intf1Handler() BUILTIN_DefaultIntHandler
342 interrupt INT_Intf2Handler() BUILTIN_DefaultIntHandler
343 interrupt INT_Intf3Handler() BUILTIN_DefaultIntHandler
344 interrupt INT_Intf4Handler() BUILTIN_DefaultIntHandler
345 interrupt INT_Intf5Handler() BUILTIN_DefaultIntHandler
346 interrupt INT_Intf6Handler() BUILTIN_DefaultIntHandler
347 interrupt INT_Intf7Handler() BUILTIN_DefaultIntHandler
348 interrupt INT_Intf8Handler() BUILTIN_DefaultIntHandler
349 interrupt INT_Intf9Handler() BUILTIN_DefaultIntHandler
350 interrupt INT_IntfaHandler() BUILTIN_DefaultIntHandler
351 interrupt INT_IntfbHandler() BUILTIN_DefaultIntHandler
352 interrupt INT_IntfcHandler() BUILTIN_DefaultIntHandler
353 interrupt INT_IntfdHandler() BUILTIN_DefaultIntHandler
354 interrupt INT_IntfeHandler() BUILTIN_DefaultIntHandler
355 interrupt INT_IntffHandler() BUILTIN_DefaultIntHandler
# VxDs. The first Vxd is at 400
#
...
...
if1632/builtin.c
View file @
4324b477
...
...
@@ -17,7 +17,6 @@
#include "heap.h"
#include "module.h"
#include "miscemu.h"
#include "neexe.h"
#include "stackframe.h"
#include "user.h"
#include "process.h"
...
...
@@ -42,21 +41,11 @@ typedef struct
static
const
BUILTIN16_DESCRIPTOR
*
builtin_dlls
[
MAX_DLLS
];
static
int
nb_dlls
;
/* list of DLLs that should always be loaded at startup */
static
const
char
*
const
always_load
[]
=
{
"system"
,
"display"
,
"wprocs"
,
NULL
};
/* Ordinal number for interrupt 0 handler in WPROCS.DLL */
#define FIRST_INTERRUPT_ORDINAL 100
/***********************************************************************
* BUILTIN_DoLoadModule16
*
* Load a built-in Win16 module. Helper function for BUILTIN_LoadModule
* and BUILTIN_Init.
* Load a built-in Win16 module. Helper function for BUILTIN_LoadModule.
*/
static
HMODULE16
BUILTIN_DoLoadModule16
(
const
BUILTIN16_DESCRIPTOR
*
descr
)
{
...
...
@@ -144,38 +133,6 @@ static HMODULE16 BUILTIN_DoLoadModule16( const BUILTIN16_DESCRIPTOR *descr )
/***********************************************************************
* BUILTIN_Init
*
* Load all built-in modules marked as 'always used'.
*/
BOOL
BUILTIN_Init
(
void
)
{
WORD
vector
;
HMODULE16
hModule
;
const
char
*
const
*
ptr
=
always_load
;
while
(
*
ptr
)
{
if
(
!
BUILTIN_LoadModule
(
*
ptr
))
return
FALSE
;
ptr
++
;
}
/* Set interrupt vectors from entry points in WPROCS.DLL */
hModule
=
GetModuleHandle16
(
"WPROCS"
);
for
(
vector
=
0
;
vector
<
256
;
vector
++
)
{
FARPROC16
proc
=
NE_GetEntryPoint
(
hModule
,
FIRST_INTERRUPT_ORDINAL
+
vector
);
assert
(
proc
);
INT_SetPMHandler
(
vector
,
proc
);
}
return
TRUE
;
}
/***********************************************************************
* BUILTIN_LoadModule
*
* Load a built-in module.
...
...
@@ -288,17 +245,3 @@ void BUILTIN_RegisterDLL( const BUILTIN16_DESCRIPTOR *descr )
assert
(
nb_dlls
<
MAX_DLLS
);
builtin_dlls
[
nb_dlls
++
]
=
descr
;
}
/**********************************************************************
* BUILTIN_DefaultIntHandler
*
* Default interrupt handler.
*/
void
WINAPI
BUILTIN_DefaultIntHandler
(
CONTEXT86
*
context
)
{
WORD
ordinal
;
char
name
[
80
];
BUILTIN_GetEntryPoint16
(
CURRENT_STACK16
,
name
,
&
ordinal
);
INT_BARF
(
context
,
ordinal
-
FIRST_INTERRUPT_ORDINAL
);
}
include/builtin16.h
View file @
4324b477
...
...
@@ -81,7 +81,6 @@ typedef struct
const
void
*
rsrc
;
/* resources data */
}
BUILTIN16_DESCRIPTOR
;
extern
BOOL
BUILTIN_Init
(
void
);
extern
HMODULE16
BUILTIN_LoadModule
(
LPCSTR
name
);
extern
LPCSTR
BUILTIN_GetEntryPoint16
(
struct
_STACK16FRAME
*
frame
,
LPSTR
name
,
WORD
*
pOrd
);
extern
void
BUILTIN_RegisterDLL
(
const
BUILTIN16_DESCRIPTOR
*
descr
);
...
...
memory/instr.c
View file @
4324b477
...
...
@@ -680,6 +680,12 @@ BOOL INSTR_EmulateInstruction( CONTEXT86 *context )
{
FARPROC16
addr
=
INT_GetPMHandler
(
instr
[
1
]
);
WORD
*
stack
=
(
WORD
*
)
STACK_PTR
(
context
);
if
(
!
addr
)
{
FIXME
(
"no handler for interrupt %02x, ignoring it
\n
"
,
instr
[
1
]);
EIP_reg
(
context
)
+=
prefixlen
+
2
;
return
TRUE
;
}
/* Push the flags and return address on the stack */
*
(
--
stack
)
=
LOWORD
(
EFL_reg
(
context
));
*
(
--
stack
)
=
CS_reg
(
context
);
...
...
msdos/interrupts.c
View file @
4324b477
...
...
@@ -6,14 +6,19 @@
#include <sys/types.h>
#include "windef.h"
#include "wine/winbase16.h"
#include "miscemu.h"
#include "msdos.h"
#include "module.h"
#include "debugtools.h"
DEFAULT_DEBUG_CHANNEL
(
int
)
DEFAULT_DEBUG_CHANNEL
(
int
)
;
static
FARPROC16
INT_Vectors
[
256
];
/* Ordinal number for interrupt 0 handler in WPROCS.DLL */
#define FIRST_INTERRUPT 100
/**********************************************************************
* INT_GetPMHandler
...
...
@@ -22,6 +27,19 @@ static FARPROC16 INT_Vectors[256];
*/
FARPROC16
INT_GetPMHandler
(
BYTE
intnum
)
{
if
(
!
INT_Vectors
[
intnum
])
{
static
HMODULE16
wprocs
;
if
(
!
wprocs
)
{
if
((
wprocs
=
GetModuleHandle16
(
"wprocs"
))
<
32
)
{
ERR
(
"could not load wprocs.dll
\n
"
);
return
0
;
}
}
INT_Vectors
[
intnum
]
=
NE_GetEntryPoint
(
wprocs
,
FIRST_INTERRUPT
+
intnum
);
}
return
INT_Vectors
[
intnum
];
}
...
...
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