Commit 42fc925ec0df2cb8d924bec1c9fb782c12bd8364
1 parent
6f15b608
VBE 4 bit bank selection fix (Volker Rupper)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2181 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
5 additions
and
1 deletions
hw/vga.c
| @@ -447,7 +447,11 @@ static void vbe_ioport_write_data(void *opaque, uint32_t addr, uint32_t val) | @@ -447,7 +447,11 @@ static void vbe_ioport_write_data(void *opaque, uint32_t addr, uint32_t val) | ||
| 447 | } | 447 | } |
| 448 | break; | 448 | break; |
| 449 | case VBE_DISPI_INDEX_BANK: | 449 | case VBE_DISPI_INDEX_BANK: |
| 450 | - val &= s->vbe_bank_mask; | 450 | + if (s->vbe_regs[VBE_DISPI_INDEX_BPP] == 4) { |
| 451 | + val &= (s->vbe_bank_mask >> 2); | ||
| 452 | + } else { | ||
| 453 | + val &= s->vbe_bank_mask; | ||
| 454 | + } | ||
| 451 | s->vbe_regs[s->vbe_index] = val; | 455 | s->vbe_regs[s->vbe_index] = val; |
| 452 | s->bank_offset = (val << 16); | 456 | s->bank_offset = (val << 16); |
| 453 | break; | 457 | break; |