[prev in list] [next in list] [prev in thread] [next in thread] 

List:       bochs-cvs
Subject:    [Bochs-cvs] [13919] trunk/bochs/iodev/display
From:       vruppert--- via Bochs-cvs <bochs-cvs () lists ! sourceforge ! net>
Date:       2020-08-14 16:22:59
Message-ID: 1597422179.884074.8527 () sfp-scm-3 ! v30 ! lw ! sourceforge ! com
[Download RAW message or body]

Revision: 13919
Author:   vruppert
Date:     2020-08-14 16:22:59 +0000 (Fri, 14 Aug 2020)
Log Message:
-----------
Some fixes for Banshee / Voodoo3.
- Save/restore additions for 2D desktop mode.
- Fixed pitch in 3D overlay mode for hardware cursor.
- TODO list:
  - Minor issues in explorer navigation bar of Win98SE.
  - Ugly background pattern under software cursor and XP start menu.
  - Segfault after switching to 3D mode at XP Direct3D test (Voodoo3 only).
  - Serious display issues in 16 bpp modes of XP guest (Voodoo3 only).

Modified Paths:
--------------
    trunk/bochs/iodev/display/banshee.cc
    trunk/bochs/iodev/display/voodoo.cc

Modified: trunk/bochs/iodev/display/banshee.cc
===================================================================
--- trunk/bochs/iodev/display/banshee.cc	2020-08-09 17:24:08 UTC (rev 13918)
+++ trunk/bochs/iodev/display/banshee.cc	2020-08-14 16:22:59 UTC (rev 13919)
@@ -257,6 +257,7 @@
   new bx_shadow_num_c(banshee, "disp_bpp", &v->banshee.disp_bpp);
   new bx_shadow_bool_c(banshee, "half_mode", &v->banshee.half_mode);
   new bx_shadow_bool_c(banshee, "dac_8bit", &v->banshee.dac_8bit);
+  new bx_shadow_bool_c(banshee, "desktop_tiled", &v->banshee.desktop_tiled);
   new bx_shadow_bool_c(banshee, "hwcursor_enabled", &v->banshee.hwcursor.enabled);
   new bx_shadow_bool_c(banshee, "hwcursor_mode", &v->banshee.hwcursor.mode);
   new bx_shadow_num_c(banshee, "hwcursor_addr", &v->banshee.hwcursor.addr, BASE_HEX);
@@ -264,7 +265,7 @@
   new bx_shadow_num_c(banshee, "hwcursor_y", &v->banshee.hwcursor.y, BASE_HEX);
   new bx_shadow_num_c(banshee, "hwcursor_color0", &v->banshee.hwcursor.color[0], BASE_HEX);
   new bx_shadow_num_c(banshee, "hwcursor_color1", &v->banshee.hwcursor.color[1], BASE_HEX);
-  new bx_shadow_data_c(banshee, "blt_reg", (Bit8u*)v->banshee.blt.reg, 0x20, 1);
+  new bx_shadow_data_c(banshee, "blt_reg", (Bit8u*)v->banshee.blt.reg, 0x80, 1);
   new bx_shadow_data_c(banshee, "blt_cpat", (Bit8u*)v->banshee.blt.cpat, 0x100, 1);
   new bx_shadow_bool_c(banshee, "blt_busy", &v->banshee.blt.busy);
   new bx_shadow_num_c(banshee, "blt_cmd", &v->banshee.blt.cmd);
@@ -276,7 +277,7 @@
   new bx_shadow_num_c(banshee, "blt_patsy", &v->banshee.blt.patsy);
   new bx_shadow_bool_c(banshee, "blt_clip_sel", &v->banshee.blt.clip_sel);
   new bx_shadow_num_c(banshee, "blt_rop0", &v->banshee.blt.rop0);
-  new bx_shadow_num_c(banshee, "blt_src_base", &v->banshee.blt.src_base);
+  new bx_shadow_num_c(banshee, "blt_src_base", &v->banshee.blt.src_base, BASE_HEX);
   new bx_shadow_bool_c(banshee, "blt_src_tiled", &v->banshee.blt.src_tiled);
   new bx_shadow_num_c(banshee, "blt_src_fmt", &v->banshee.blt.src_fmt);
   new bx_shadow_num_c(banshee, "blt_src_pitch", &v->banshee.blt.src_pitch);
@@ -285,7 +286,7 @@
   new bx_shadow_num_c(banshee, "blt_src_y", &v->banshee.blt.src_y);
   new bx_shadow_num_c(banshee, "blt_src_w", &v->banshee.blt.src_w);
   new bx_shadow_num_c(banshee, "blt_src_h", &v->banshee.blt.src_h);
-  new bx_shadow_num_c(banshee, "blt_dst_base", &v->banshee.blt.dst_base);
+  new bx_shadow_num_c(banshee, "blt_dst_base", &v->banshee.blt.dst_base, BASE_HEX);
   new bx_shadow_bool_c(banshee, "blt_dst_tiled", &v->banshee.blt.dst_tiled);
   new bx_shadow_num_c(banshee, "blt_dst_fmt", &v->banshee.blt.dst_fmt);
   new bx_shadow_num_c(banshee, "blt_dst_pitch", &v->banshee.blt.dst_pitch);
@@ -293,8 +294,8 @@
   new bx_shadow_num_c(banshee, "blt_dst_y", &v->banshee.blt.dst_y);
   new bx_shadow_num_c(banshee, "blt_dst_w", &v->banshee.blt.dst_w);
   new bx_shadow_num_c(banshee, "blt_dst_h", &v->banshee.blt.dst_h);
-  new bx_shadow_num_c(banshee, "blt_fgcolor", (Bit32u*)&v->banshee.blt.fgcolor);
-  new bx_shadow_num_c(banshee, "blt_bgcolor", (Bit32u*)&v->banshee.blt.bgcolor);
+  new bx_shadow_num_c(banshee, "blt_fgcolor", (Bit32u*)&v->banshee.blt.fgcolor, BASE_HEX);
+  new bx_shadow_num_c(banshee, "blt_bgcolor", (Bit32u*)&v->banshee.blt.bgcolor, BASE_HEX);
   new bx_shadow_num_c(banshee, "blt_clipx0_0", &v->banshee.blt.clipx0[0]);
   new bx_shadow_num_c(banshee, "blt_clipx0_1", &v->banshee.blt.clipx0[1]);
   new bx_shadow_num_c(banshee, "blt_clipy0_0", &v->banshee.blt.clipy0[0]);
@@ -346,6 +347,7 @@
   Bit8u *cpat0, *cpat1, *tile_ptr, *tile_ptr2, *vid_ptr;
   Bit8u ccode, pbits, pval0, pval1;
   Bit32u colour = 0, start;
+  Bit16u pitch;
   int i;
 
   if ((xc <= v->banshee.hwcursor.x) &&
@@ -355,11 +357,12 @@
 
     if ((v->banshee.io[io_vidProcCfg] & 0x181) == 0x81) {
       start = v->banshee.io[io_vidDesktopStartAddr];
+      pitch = v->banshee.io[io_vidDesktopOverlayStride] & 0x7fff;
     } else {
       start = v->fbi.rgboffs[v->fbi.frontbuf];
+      pitch = (v->banshee.io[io_vidDesktopOverlayStride] >> 16) & 0x7fff;
     }
     Bit8u *disp_ptr = &v->fbi.ram[start & v->fbi.mask];
-    Bit16u pitch = v->banshee.io[io_vidDesktopOverlayStride] & 0x7fff;
     if (v->banshee.desktop_tiled) {
       pitch *= 128;
     }

Modified: trunk/bochs/iodev/display/voodoo.cc
===================================================================
--- trunk/bochs/iodev/display/voodoo.cc	2020-08-09 17:24:08 UTC (rev 13918)
+++ trunk/bochs/iodev/display/voodoo.cc	2020-08-14 16:22:59 UTC (rev 13919)
@@ -353,6 +353,8 @@
   new bx_shadow_num_c(fbi, "frontbuf", &v->fbi.frontbuf);
   new bx_shadow_num_c(fbi, "backbuf", &v->fbi.backbuf);
   new bx_shadow_num_c(fbi, "swaps_pending", &v->fbi.swaps_pending);
+  new bx_shadow_num_c(fbi, "lfb_base", &v->fbi.lfb_base, BASE_HEX);
+  new bx_shadow_num_c(fbi, "lfb_stride", &v->fbi.lfb_stride);
   new bx_shadow_num_c(fbi, "yorigin", &v->fbi.yorigin);
   new bx_shadow_num_c(fbi, "width", &v->fbi.width);
   new bx_shadow_num_c(fbi, "height", &v->fbi.height);



_______________________________________________
Bochs-cvs mailing list
Bochs-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bochs-cvs
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic