aboutsummaryrefslogtreecommitdiffstats
path: root/hw/cirrus_vga.c
diff options
context:
space:
mode:
authoraurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162>2008-05-08 12:21:27 +0000
committeraurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162>2008-05-08 12:21:27 +0000
commitca896ef389fc44c7a673d1bd2b94823e28da37a1 (patch)
treec275a7a7f58e780769da15404c7d3d40461b3ef0 /hw/cirrus_vga.c
parenta8c3320434cc0a7e8eaf3d58b56194f37d7441d3 (diff)
cirrusfb: proper "Attribute Controller Toggle Readback" register behaviour
(Marcelo Tosatti) git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4386 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'hw/cirrus_vga.c')
-rw-r--r--hw/cirrus_vga.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/hw/cirrus_vga.c b/hw/cirrus_vga.c
index 47acb32c8..4e9f98d37 100644
--- a/hw/cirrus_vga.c
+++ b/hw/cirrus_vga.c
@@ -1626,13 +1626,15 @@ cirrus_hook_read_cr(CirrusVGAState * s, unsigned reg_index, int *reg_value)
case 0x17: // Standard VGA
case 0x18: // Standard VGA
return CIRRUS_HOOK_NOT_HANDLED;
+ case 0x24: // Attribute Controller Toggle Readback (R)
+ *reg_value = (s->ar_flip_flop << 7);
+ break;
case 0x19: // Interlace End
case 0x1a: // Miscellaneous Control
case 0x1b: // Extended Display Control
case 0x1c: // Sync Adjust and Genlock
case 0x1d: // Overlay Extended Control
case 0x22: // Graphics Data Latches Readback (R)
- case 0x24: // Attribute Controller Toggle Readback (R)
case 0x25: // Part Status
case 0x27: // Part ID (R)
*reg_value = s->cr[reg_index];