diff --git a/bochs/iodev/display/svga_cirrus.cc b/bochs/iodev/display/svga_cirrus.cc index 5f6f8d9cb..09d650703 100644 --- a/bochs/iodev/display/svga_cirrus.cc +++ b/bochs/iodev/display/svga_cirrus.cc @@ -1300,6 +1300,28 @@ void bx_svga_cirrus_c::update(void) } else if (info.is_indexed) { switch (BX_CIRRUS_THIS svga_dispbpp) { case 4: + for (yc=0, yti = 0; ycgraphics_tile_get(xc, yc, &w, &h); + for (r=0; r>= 1; + row_addr = BX_CIRRUS_THIS s.CRTC.start_addr + (y * pitch); + tile_ptr2 = tile_ptr; + for (c=0; cgraphics_tile_update_in_place(xc, yc, w, h); + SET_TILE_UPDATED(BX_CIRRUS_THIS, xti, yti, 0); + } + } + } + break; case 15: case 16: case 24: