Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
wine
Manage
Activity
Members
Labels
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container Registry
Model registry
Operate
Terraform modules
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Johnny Cai
wine
Commits
d2037592
Commit
d2037592
authored
26 years ago
by
Jess Haas
Committed by
Alexandre Julliard
26 years ago
Browse files
Options
Downloads
Patches
Plain Diff
Fixed/implemented various interrupt functions.
parent
ac593bbd
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
msdos/int10.c
+23
-29
23 additions, 29 deletions
msdos/int10.c
msdos/int16.c
+17
-2
17 additions, 2 deletions
msdos/int16.c
msdos/int21.c
+5
-1
5 additions, 1 deletion
msdos/int21.c
msdos/int2f.c
+26
-0
26 additions, 0 deletions
msdos/int2f.c
with
71 additions
and
32 deletions
msdos/int10.c
+
23
−
29
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 */
...
...
This diff is collapsed.
Click to expand it.
msdos/int16.c
+
17
−
2
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 */
...
...
This diff is collapsed.
Click to expand it.
msdos/int21.c
+
5
−
1
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
)),
...
...
This diff is collapsed.
Click to expand it.
msdos/int2f.c
+
26
−
0
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:
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment