Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
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-cw
Commits
d237f08b
Commit
d237f08b
authored
Oct 17, 2008
by
Jeremiah Flerchinger
Committed by
Alexandre Julliard
Oct 20, 2008
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
winedos: Added/stubbed/documented missing VGA registers.
parent
7808a8cb
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
94 additions
and
31 deletions
+94
-31
ioports.c
dlls/winedos/ioports.c
+30
-23
vga.c
dlls/winedos/vga.c
+64
-8
No files found.
dlls/winedos/ioports.c
View file @
d237f08b
...
...
@@ -414,29 +414,32 @@ DWORD WINAPI DOSVM_inport( int port, int size )
case
0x22e
:
res
=
(
DWORD
)
SB_ioport_in
(
port
);
break
;
case
0x3ba
:
case
0x3c0
:
case
0x3c1
:
case
0x3c2
:
case
0x3c3
:
case
0x3c4
:
case
0x3c5
:
/* VGA read registers */
case
0x3b4
:
/* CRT Controller Register - Index (MDA) */
case
0x3b5
:
/* CRT Controller Register - Other (MDA) */
case
0x3ba
:
/* General Register - Input status 1 (MDA) */
case
0x3c0
:
/* Attribute Controller - Address */
case
0x3c1
:
/* Attribute Controller - Other */
case
0x3c2
:
/* General Register - Input status 0 */
case
0x3c3
:
/* General Register - Video subsystem enable */
case
0x3c4
:
/* Sequencer Register - Address */
case
0x3c5
:
/* Sequencer Register - Other */
case
0x3c6
:
case
0x3c7
:
case
0x3c7
:
/* General Register - DAC State */
case
0x3c8
:
case
0x3c9
:
case
0x3ca
:
case
0x3ca
:
/* General Register - Feature control */
case
0x3cb
:
case
0x3cc
:
case
0x3cc
:
/* General Register - Misc output */
case
0x3cd
:
case
0x3ce
:
case
0x3cf
:
case
0x3ce
:
/* Graphics Controller Register - Address */
case
0x3cf
:
/* Graphics Controller Register - Other */
case
0x3d0
:
case
0x3d1
:
case
0x3d2
:
case
0x3d3
:
case
0x3d4
:
case
0x3d5
:
case
0x3d4
:
/* CRT Controller Register - Index (CGA) */
case
0x3d5
:
/* CRT Controller Register - Other (CGA) */
case
0x3d6
:
case
0x3d7
:
case
0x3d8
:
...
...
@@ -624,12 +627,16 @@ void WINAPI DOSVM_outport( int port, int size, DWORD value )
case
0x22c
:
SB_ioport_out
(
port
,
(
BYTE
)
value
);
break
;
case
0x3c0
:
/* VGA Write registers */
case
0x3b4
:
/* CRT Controller Register - Index (MDA) */
case
0x3b5
:
/* CRT Controller Register - Other (MDA) */
case
0x3ba
:
/* General Register - Feature Control */
case
0x3c0
:
/* Attribute Controller - Address/Other */
case
0x3c1
:
case
0x3c2
:
case
0x3c3
:
case
0x3c4
:
case
0x3c5
:
case
0x3c2
:
/* General Register - Misc output */
case
0x3c3
:
/* General Register - Video subsystem enable */
case
0x3c4
:
/* Sequencer Register - Address */
case
0x3c5
:
/* Sequencer Register - Other */
case
0x3c6
:
case
0x3c7
:
case
0x3c8
:
...
...
@@ -638,14 +645,14 @@ void WINAPI DOSVM_outport( int port, int size, DWORD value )
case
0x3cb
:
case
0x3cc
:
case
0x3cd
:
case
0x3ce
:
case
0x3cf
:
case
0x3ce
:
/* Graphics Controller Register - Address */
case
0x3cf
:
/* Graphics Controller Register - Other */
case
0x3d0
:
case
0x3d1
:
case
0x3d2
:
case
0x3d3
:
case
0x3d4
:
case
0x3d5
:
case
0x3d4
:
/* CRT Controller Register - Index (CGA) */
case
0x3d5
:
/* CRT Controller Register - Other (CGA) */
case
0x3d6
:
case
0x3d7
:
case
0x3d8
:
...
...
dlls/winedos/vga.c
View file @
d237f08b
...
...
@@ -1338,17 +1338,32 @@ static PALETTEENTRY paldat;
void
VGA_ioport_out
(
WORD
port
,
BYTE
val
)
{
switch
(
port
)
{
/* General Register - Feature Control */
case
0x3ba
:
FIXME
(
"Unsupported VGA register: general register - feature control 0x%04x (value 0x%02x)
\n
"
,
port
,
val
);
break
;
/* Attribute Controller - Address/Other */
case
0x3c0
:
if
(
vga_address_3c0
)
vga_index_3c0
=
val
;
else
FIXME
(
"Unsupported index, register 0x3c0: 0x%02x (value 0x%02x)
\n
"
,
FIXME
(
"Unsupported index,
VGA attribute controller
register 0x3c0: 0x%02x (value 0x%02x)
\n
"
,
vga_index_3c0
,
val
);
vga_address_3c0
=
!
vga_address_3c0
;
break
;
/* General Register - Misc output */
case
0x3c2
:
FIXME
(
"Unsupported VGA register: general register - misc output 0x%04x (value 0x%02x)
\n
"
,
port
,
val
);
break
;
/* General Register - Video subsystem enable */
case
0x3c3
:
FIXME
(
"Unsupported VGA register: general register - video subsystem enable 0x%04x (value 0x%02x)
\n
"
,
port
,
val
);
break
;
/* Sequencer Register - Address */
case
0x3c4
:
vga_index_3c4
=
val
;
break
;
/* Sequencer Register - Other */
case
0x3c5
:
switch
(
vga_index_3c4
)
{
case
0x04
:
/* Sequencer: Memory Mode Register */
...
...
@@ -1356,9 +1371,9 @@ void VGA_ioport_out( WORD port, BYTE val )
VGA_SetWindowStart
((
val
&
8
)
?
0
:
-
1
);
else
FIXME
(
"Memory Mode Register not supported in this mode.
\n
"
);
break
;
break
;
default:
FIXME
(
"Unsupported index, register 0x3c4: 0x%02x (value 0x%02x)
\n
"
,
FIXME
(
"Unsupported index,
VGA sequencer
register 0x3c4: 0x%02x (value 0x%02x)
\n
"
,
vga_index_3c4
,
val
);
}
break
;
...
...
@@ -1371,18 +1386,26 @@ void VGA_ioport_out( WORD port, BYTE val )
palcnt
=
0
;
}
break
;
/* Graphics Controller Register - Address */
case
0x3ce
:
vga_index_3ce
=
val
;
break
;
/* Graphics Controller Register - Other */
case
0x3cf
:
FIXME
(
"Unsupported index,
regist
er 0x3ce: 0x%02x (value 0x%02x)
\n
"
,
FIXME
(
"Unsupported index,
VGA graphics controller register - oth
er 0x3ce: 0x%02x (value 0x%02x)
\n
"
,
vga_index_3ce
,
val
);
break
;
/* CRT Controller Register - Index (MDA) */
case
0x3b4
:
/* CRT Controller Register - Index (CGA) */
case
0x3d4
:
vga_index_3d4
=
val
;
break
;
/* CRT Controller Register - Other (MDA) */
case
0x3b5
:
/* CRT Controller Register - Other (CGA) */
case
0x3d5
:
FIXME
(
"Unsupported index,
register
0x3d4: 0x%02x (value 0x%02x)
\n
"
,
FIXME
(
"Unsupported index,
VGA crt controller register 0x3b4/
0x3d4: 0x%02x (value 0x%02x)
\n
"
,
vga_index_3d4
,
val
);
break
;
default:
...
...
@@ -1395,10 +1418,22 @@ BYTE VGA_ioport_in( WORD port )
BYTE
ret
;
switch
(
port
)
{
/* Attribute Controller - Other */
case
0x3c1
:
FIXME
(
"Unsupported index, register 0x3c0: 0x%02x
\n
"
,
FIXME
(
"Unsupported index,
VGA attribute controller
register 0x3c0: 0x%02x
\n
"
,
vga_index_3c0
);
return
0xff
;
/* General Register - Input status 0 */
case
0x3c2
:
ret
=
0xff
;
FIXME
(
"Unsupported VGA register: general register - input status 0 0x%04x
\n
"
,
port
);
break
;
/* General Register - Video subsystem enable */
case
0x3c3
:
ret
=
0xff
;
FIXME
(
"Unsupported VGA register: general register - video subsystem enable 0x%04x
\n
"
,
port
);
break
;
/* Sequencer Register - Other */
case
0x3c5
:
switch
(
vga_index_3c4
)
{
case
0x04
:
/* Sequencer: Memory Mode Register */
...
...
@@ -1408,15 +1443,36 @@ BYTE VGA_ioport_in( WORD port )
vga_index_3c4
);
return
0xff
;
}
/* General Register - DAC State */
case
0x3c7
:
ret
=
0xff
;
FIXME
(
"Unsupported VGA register: general register - DAC State 0x%04x
\n
"
,
port
);
break
;
/* General Register - Feature control */
case
0x3ca
:
ret
=
0xff
;
FIXME
(
"Unsupported VGA register: general register - Feature control 0x%04x
\n
"
,
port
);
break
;
/* General Register - Misc output */
case
0x3cc
:
ret
=
0xff
;
FIXME
(
"Unsupported VGA register: general register - Feature control 0x%04x
\n
"
,
port
);
break
;
/* Graphics Controller Register - Other */
case
0x3cf
:
FIXME
(
"Unsupported index, register 0x3ce: 0x%02x
\n
"
,
vga_index_3ce
);
return
0xff
;
/* CRT Controller Register - Other (MDA) */
case
0x3b5
:
/* CRT Controller Register - Other (CGA) */
case
0x3d5
:
FIXME
(
"Unsupported index,
register
0x3d4: 0x%02x
\n
"
,
FIXME
(
"Unsupported index,
VGA crt controller register 0x3b4/
0x3d4: 0x%02x
\n
"
,
vga_index_3d4
);
return
0xff
;
/* General Register - Input status 1 (MDA) */
case
0x3ba
:
/* General Register - Input status 1 (CGA) */
case
0x3da
:
/*
* Read from this register resets register 0x3c0 address flip-flop.
...
...
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