Skip to content

Commit

Permalink
Cirrus: Fixed banking and hardware cursor in VGA compatible modes.
Browse files Browse the repository at this point in the history
  • Loading branch information
vruppert committed Oct 20, 2024
1 parent d5e89aa commit ffb3b43
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions bochs/iodev/display/svga_cirrus.cc
Original file line number Diff line number Diff line change
Expand Up @@ -592,7 +592,7 @@ Bit8u bx_svga_cirrus_c::mem_read(bx_phy_address addr)
}
#endif // BX_SUPPORT_PCI
if ((BX_CIRRUS_THIS sequencer.reg[0x07] & 0x01) == CIRRUS_SR7_BPP_VGA) {
if ((BX_CIRRUS_THIS control.reg[0x0b] & 0x1e) != 0) {
if ((BX_CIRRUS_THIS control.reg[0x0b] & 0x1f) != 0) {
return BX_CIRRUS_THIS vga_mem_read(addr);
} else {
return BX_CIRRUS_THIS bx_vgacore_c::mem_read(addr);
Expand Down Expand Up @@ -832,7 +832,7 @@ void bx_svga_cirrus_c::mem_write(bx_phy_address addr, Bit8u value)
}
#endif // BX_SUPPORT_PCI
if ((BX_CIRRUS_THIS sequencer.reg[0x07] & 0x01) == CIRRUS_SR7_BPP_VGA) {
if ((BX_CIRRUS_THIS control.reg[0x0b] & 0x1e) != 0) {
if ((BX_CIRRUS_THIS control.reg[0x0b] & 0x1f) != 0) {
BX_CIRRUS_THIS vga_mem_write(addr,value);
} else {
BX_CIRRUS_THIS bx_vgacore_c::mem_write(addr,value);
Expand Down Expand Up @@ -1558,7 +1558,7 @@ void bx_svga_cirrus_c::draw_hardware_cursor(unsigned xc, unsigned yc, bx_svga_ti
tile_ptr = bx_gui->graphics_tile_get(xc, yc, &w, &h) +
info->pitch * (cy0 - yc) + (info->bpp / 8) * (cx0 - xc);
if (BX_CIRRUS_THIS svga_dispbpp == 4) {
hwc_offset = 0x40000 - 16384; // VGA (TODO: check this)
hwc_offset = 0x200000 - 16384; // VGA
} else {
hwc_offset = BX_CIRRUS_THIS memsize_mask - 16383; // Cirrus
}
Expand Down

0 comments on commit ffb3b43

Please sign in to comment.