Some fixes for the Voodoo Banshee emulation.
- Fixed display updates for color depth > 8. - Fixed compilation on MSVC (bitblt.h). - Improved error message for undocumented srcXY bits. - Fixed a GCC warning. - Updated makefile dependencies.
This commit is contained in:
parent
96f4c44cce
commit
d6f96db705
@ -136,7 +136,7 @@ svga_cirrus.o: svga_cirrus.@CPP_SUFFIX@ ../iodev.h ../../bochs.h ../../config.h
|
||||
../../gui/siminterface.h ../../cpudb.h ../../gui/paramtree.h \
|
||||
../../memory/memory-bochs.h ../../pc_system.h ../../gui/gui.h \
|
||||
../../instrument/stubs/instrument.h ../../plugin.h ../../extplugin.h \
|
||||
../../param_names.h vgacore.h svga_cirrus.h ../virt_timer.h
|
||||
../../param_names.h vgacore.h bitblt.h svga_cirrus.h ../virt_timer.h
|
||||
vga.o: vga.@CPP_SUFFIX@ ../iodev.h ../../bochs.h ../../config.h ../../osdep.h \
|
||||
../../bx_debug/debug.h ../../config.h ../../osdep.h \
|
||||
../../gui/siminterface.h ../../cpudb.h ../../gui/paramtree.h \
|
||||
@ -155,14 +155,14 @@ voodoo.o: voodoo.@CPP_SUFFIX@ ../iodev.h ../../bochs.h ../../config.h ../../osde
|
||||
../../memory/memory-bochs.h ../../pc_system.h ../../gui/gui.h \
|
||||
../../instrument/stubs/instrument.h ../../plugin.h ../../extplugin.h \
|
||||
../../param_names.h ../pci.h vgacore.h voodoo.h ../virt_timer.h \
|
||||
../../bxthread.h voodoo_types.h voodoo_data.h voodoo_main.h \
|
||||
../../bxthread.h bitblt.h voodoo_types.h voodoo_data.h voodoo_main.h \
|
||||
voodoo_func.h
|
||||
svga_cirrus.lo: svga_cirrus.@CPP_SUFFIX@ ../iodev.h ../../bochs.h ../../config.h \
|
||||
../../osdep.h ../../bx_debug/debug.h ../../config.h ../../osdep.h \
|
||||
../../gui/siminterface.h ../../cpudb.h ../../gui/paramtree.h \
|
||||
../../memory/memory-bochs.h ../../pc_system.h ../../gui/gui.h \
|
||||
../../instrument/stubs/instrument.h ../../plugin.h ../../extplugin.h \
|
||||
../../param_names.h vgacore.h svga_cirrus.h ../virt_timer.h
|
||||
../../param_names.h vgacore.h bitblt.h svga_cirrus.h ../virt_timer.h
|
||||
vga.lo: vga.@CPP_SUFFIX@ ../iodev.h ../../bochs.h ../../config.h ../../osdep.h \
|
||||
../../bx_debug/debug.h ../../config.h ../../osdep.h \
|
||||
../../gui/siminterface.h ../../cpudb.h ../../gui/paramtree.h \
|
||||
@ -181,5 +181,5 @@ voodoo.lo: voodoo.@CPP_SUFFIX@ ../iodev.h ../../bochs.h ../../config.h ../../osd
|
||||
../../memory/memory-bochs.h ../../pc_system.h ../../gui/gui.h \
|
||||
../../instrument/stubs/instrument.h ../../plugin.h ../../extplugin.h \
|
||||
../../param_names.h ../pci.h vgacore.h voodoo.h ../virt_timer.h \
|
||||
../../bxthread.h voodoo_types.h voodoo_data.h voodoo_main.h \
|
||||
../../bxthread.h bitblt.h voodoo_types.h voodoo_data.h voodoo_main.h \
|
||||
voodoo_func.h
|
||||
|
@ -100,7 +100,7 @@ IMPLEMENT_BACKWARD_BITBLT(notsrc, *dst = (~(*src)))
|
||||
IMPLEMENT_BACKWARD_BITBLT(notsrc_or_dst, *dst = (~(*src)) | (*dst))
|
||||
IMPLEMENT_BACKWARD_BITBLT(notsrc_and_notdst, *dst = (~(*src)) & (~(*dst)))
|
||||
|
||||
void bx_ternary_rop(Bit8u rop0, Bit8u *dst_ptr, Bit8u *src_ptr, Bit8u *pat_ptr,
|
||||
static void bx_ternary_rop(Bit8u rop0, Bit8u *dst_ptr, Bit8u *src_ptr, Bit8u *pat_ptr,
|
||||
int dpxsize)
|
||||
{
|
||||
Bit8u mask, inbits, outbits;
|
||||
|
@ -1968,12 +1968,11 @@ void bx_voodoo_c::banshee_blt_reg_write(Bit8u reg, Bit32u value)
|
||||
if (cmdextra_3) {
|
||||
BX_ERROR(("host to screen blt: commandExtra bit #3 undocumented effect ?"));
|
||||
}
|
||||
if ((BLT.reg[blt_srcXY] & 0x1f) != 0) {
|
||||
BX_ERROR(("host to screen blt: srcXY: start bit/byte not supported yet"));
|
||||
}
|
||||
undoc_bits = (BLT.reg[blt_srcXY] & 0x3fe0) != 0;
|
||||
if (undoc_bits) {
|
||||
BX_ERROR(("host to screen blt: srcXY: undocumented bit(s) set"));
|
||||
} else if ((BLT.reg[blt_srcXY] & 0x1f) != 0) {
|
||||
BX_ERROR(("host to screen blt: srcXY: start bit/byte not supported yet"));
|
||||
}
|
||||
if ((pxpack == 0) && !cmdextra_3) {
|
||||
pbytes = BLT.reg[blt_srcFormat] & 0x3fff;
|
||||
@ -2092,7 +2091,7 @@ void bx_voodoo_c::banshee_blt_complete()
|
||||
Bit8u vpxsize = (v->banshee.disp_bpp >> 3);
|
||||
Bit32u dstart = BLT.dst_base;
|
||||
Bit16u dpitch = BLT.dst_pitch;
|
||||
Bit8u dpxsize = BLT.dst_fmt;
|
||||
Bit8u dpxsize = (BLT.dst_fmt > 1) ? (BLT.dst_fmt - 1) : 1;
|
||||
Bit32u cmd = BLT.reg[blt_command];
|
||||
bx_bool xinc = (cmd >> 10) & 1;
|
||||
bx_bool yinc = (cmd >> 11) & 1;
|
||||
@ -2375,7 +2374,7 @@ void bx_voodoo_c::banshee_blt_screen_to_screen_pattern()
|
||||
Bit8u fgcolor[4], bgcolor[4], dstcolor[4];
|
||||
Bit8u *patcolor;
|
||||
int x, x0, x1, y, y0, y1, w, h;
|
||||
Bit8u pmask, rop0, patcol = 0, patline;
|
||||
Bit8u pmask = 0, rop0, patcol = 0, patline;
|
||||
bx_bool set;
|
||||
|
||||
BX_LOCK(render_mutex);
|
||||
|
Loading…
Reference in New Issue
Block a user