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
d2037592
Commit
d2037592
authored
Mar 17, 1999
by
Jess Haas
Committed by
Alexandre Julliard
Mar 17, 1999
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixed/implemented various interrupt functions.
parent
ac593bbd
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
71 additions
and
32 deletions
+71
-32
int10.c
msdos/int10.c
+23
-29
int16.c
msdos/int16.c
+17
-2
int21.c
msdos/int21.c
+5
-1
int2f.c
msdos/int2f.c
+26
-0
No files found.
msdos/int10.c
View file @
d2037592
...
...
@@ -114,7 +114,7 @@ void WINAPI INT_Int10Handler( CONTEXT *context )
case
0x00
:
/* 40x25 */
case
0x01
:
VGA_Exit
();
TRACE
(
int10
,
"Set V
ideo Mode - Set to Text
- 0x0%x
\n
"
,
TRACE
(
int10
,
"Set V
ESA Text Mode
- 0x0%x
\n
"
,
BX_reg
(
context
));
CONSOLE_ResizeScreen
(
40
,
25
);
CONSOLE_ClearScreen
();
...
...
@@ -124,46 +124,26 @@ void WINAPI INT_Int10Handler( CONTEXT *context )
case
0x03
:
case
0x07
:
VGA_Exit
();
TRACE
(
int10
,
"Set V
ideo Mode - Set to Text
- 0x0%x
\n
"
,
TRACE
(
int10
,
"Set V
ESA Text Mode
- 0x0%x
\n
"
,
BX_reg
(
context
));
CONSOLE_ResizeScreen
(
80
,
25
);
CONSOLE_ClearScreen
();
DOSMEM_BiosData
()
->
VideoColumns
=
80
;
break
;
case
0x04
:
TRACE
(
int10
,
"Setting VGA 320x200 4-color mode
\n
"
);
VGA_SetMode
(
320
,
200
,
2
);
/* FIXME is this right/supported? */
break
;
case
0x05
:
TRACE
(
int10
,
"Setting VGA 320x200 4-color mode
\n
"
);
VGA_SetMode
(
320
,
200
,
2
);
/* FIXME is this right/supported? */
break
;
case
0x06
:
TRACE
(
int10
,
"Setting VGA 640x200 2-color mode
\n
"
);
VGA_SetMode
(
640
,
200
,
1
);
/* FIXME is this right/supported? */
break
;
case
0x0D
:
TRACE
(
int10
,
"Setting V
G
A 320x200 16-color mode
\n
"
);
TRACE
(
int10
,
"Setting V
ES
A 320x200 16-color mode
\n
"
);
VGA_SetMode
(
320
,
200
,
4
);
break
;
case
0x0E
:
TRACE
(
int10
,
"Setting V
G
A 640x200 16-color mode
\n
"
);
TRACE
(
int10
,
"Setting V
ES
A 640x200 16-color mode
\n
"
);
VGA_SetMode
(
640
,
200
,
4
);
break
;
case
0x0F
:
TRACE
(
int10
,
"Setting VGA 640x350 2-color mode
\n
"
);
VGA_SetMode
(
640
,
350
,
1
);
/* FIXME is this right/supported? */
break
;
case
0x10
:
TRACE
(
int10
,
"Setting V
G
A 640x350 16-color mode
\n
"
);
TRACE
(
int10
,
"Setting V
ES
A 640x350 16-color mode
\n
"
);
VGA_SetMode
(
640
,
350
,
4
);
break
;
case
0x11
:
TRACE
(
int10
,
"Setting VGA 640x480 2-color mode
\n
"
);
VGA_SetMode
(
640
,
480
,
1
);
/* FIXME is this right/supported? */
break
;
case
0x12
:
TRACE
(
int10
,
"Setting V
G
A 640x480 16-color mode
\n
"
);
TRACE
(
int10
,
"Setting V
ES
A 640x480 16-color mode
\n
"
);
VGA_SetMode
(
640
,
480
,
4
);
break
;
case
0x13
:
...
...
@@ -337,7 +317,6 @@ else {
AL_reg
(
context
));
CONSOLE_ResizeScreen
(
40
,
25
);
CONSOLE_ClearScreen
();
DOSMEM_BiosData
()
->
VideoMode
=
AL_reg
(
context
);
DOSMEM_BiosData
()
->
VideoColumns
=
40
;
break
;
case
0x02
:
...
...
@@ -348,18 +327,33 @@ else {
AL_reg
(
context
));
CONSOLE_ResizeScreen
(
80
,
25
);
CONSOLE_ClearScreen
();
DOSMEM_BiosData
()
->
VideoMode
=
AL_reg
(
context
);
DOSMEM_BiosData
()
->
VideoColumns
=
80
;
break
;
case
0x0D
:
TRACE
(
int10
,
"Setting VGA 320x200 16-color mode
\n
"
);
VGA_SetMode
(
320
,
200
,
4
);
break
;
case
0x0E
:
TRACE
(
int10
,
"Setting VGA 640x200 16-color mode
\n
"
);
VGA_SetMode
(
640
,
200
,
4
);
break
;
case
0x10
:
TRACE
(
int10
,
"Setting VGA 640x350 16-color mode
\n
"
);
VGA_SetMode
(
640
,
350
,
4
);
break
;
case
0x12
:
TRACE
(
int10
,
"Setting VGA 640x480 16-color mode
\n
"
);
VGA_SetMode
(
640
,
480
,
4
);
break
;
case
0x13
:
TRACE
(
int10
,
"Setting VGA 320x200 256-color mode
\n
"
);
VGA_SetMode
(
320
,
200
,
8
);
DOSMEM_BiosData
()
->
VideoMode
=
AL_reg
(
context
);
break
;
default:
FIXME
(
int10
,
"Set Video Mode (0x%x) - Not Supported
\n
"
,
AL_reg
(
context
));
}
DOSMEM_BiosData
()
->
VideoMode
=
AL_reg
(
context
);
break
;
case
0x01
:
/* SET CURSOR SHAPE */
...
...
msdos/int16.c
View file @
d2037592
...
...
@@ -68,11 +68,26 @@ void WINAPI INT_Int16Handler( CONTEXT *context )
break
;
case
0x10
:
/* Get Enhanced Keystroke */
FIXME
(
int16
,
"Get Enhanced Keystroke - Not Supported
\n
"
);
TRACE
(
int16
,
"Get Enhanced Keystroke - Partially supported
\n
"
);
/* Returns: AH = Scan code
AL = ASCII character */
CONSOLE_GetKeystroke
(
&
AH_reg
(
context
),
&
AL_reg
(
context
));
break
;
case
0x11
:
/* Check for Enhanced Keystroke */
FIXME
(
int16
,
"Check for Enhanced Keystroke - Not Supported
\n
"
);
/* Returns: ZF set if no keystroke */
/* AH = Scan code */
/* AL = ASCII character */
TRACE
(
int16
,
"Check for Enhanced Keystroke - Partially supported
\n
"
);
if
(
!
CONSOLE_CheckForKeystroke
(
&
AH_reg
(
context
),
&
AL_reg
(
context
)))
{
SET_ZFLAG
(
context
);
}
else
{
RESET_ZFLAG
(
context
);
}
break
;
case
0x12
:
/* Get Extended Shift States */
...
...
msdos/int21.c
View file @
d2037592
...
...
@@ -1149,7 +1149,6 @@ void WINAPI DOS3Call( CONTEXT *context )
case
0x26
:
/* CREATE NEW PROGRAM SEGMENT PREFIX */
case
0x27
:
/* RANDOM BLOCK READ FROM FCB FILE */
case
0x28
:
/* RANDOM BLOCK WRITE TO FCB FILE */
case
0x54
:
/* GET VERIFY FLAG */
INT_BARF
(
context
,
0x21
);
break
;
...
...
@@ -1903,6 +1902,11 @@ void WINAPI DOS3Call( CONTEXT *context )
}
break
;
case
0x54
:
/* Get Verify Flag */
TRACE
(
int21
,
"Get Verify Flag - Not Supported
\n
"
);
AL_reg
(
context
)
=
0x00
;
/* pretend we can tell. 00h = off 01h = on */
break
;
case
0x56
:
/* "RENAME" - RENAME FILE */
TRACE
(
int21
,
"RENAME %s to %s
\n
"
,
(
LPCSTR
)
CTX_SEG_OFF_TO_LIN
(
context
,
DS_reg
(
context
),
EDX_reg
(
context
)),
...
...
msdos/int2f.c
View file @
d2037592
...
...
@@ -225,6 +225,19 @@ void WINAPI INT_Int2fHandler( CONTEXT *context )
break
;
}
break
;
case
0xd2
:
switch
(
AL_reg
(
context
))
{
case
0x01
:
/* Quarterdeck RPCI - QEMM/QRAM - PCL-838.EXE functions */
if
(
BX_reg
(
context
)
==
0x5145
&&
CX_reg
(
context
)
==
0x4D4D
&&
DX_reg
(
context
)
==
0x3432
)
TRACE
(
int
,
"Check for QEMM v5.0+ (not installed)
\n
"
);
break
;
default:
INT_BARF
(
context
,
0x2f
);
break
;
}
break
;
case
0xd7
:
/* Banyan Vines */
switch
(
AL_reg
(
context
))
{
...
...
@@ -236,6 +249,19 @@ void WINAPI INT_Int2fHandler( CONTEXT *context )
break
;
}
break
;
case
0xde
:
switch
(
AL_reg
(
context
))
{
case
0x01
:
/* Quarterdeck QDPMI.SYS - DESQview */
if
(
BX_reg
(
context
)
==
0x4450
&&
CX_reg
(
context
)
==
0x4d49
&&
DX_reg
(
context
)
==
0x8f4f
)
TRACE
(
int
,
"Check for QDPMI.SYS (not installed)
\n
"
);
break
;
default:
INT_BARF
(
context
,
0x2f
);
break
;
}
break
;
case
0xfa
:
/* Watcom debugger check, returns 0x666 if installed */
break
;
default:
...
...
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