Fixed check for unimplemented CMDFIFO and return for now if write would be
valid. The hRetrace value can be set now, since Bochs no longer crashes. TODO: Implement enough of the FIFO stuff to make the Win9x driver for the Voodoo2 work.
This commit is contained in:
parent
495607d162
commit
78ff38fcf3
@ -624,9 +624,7 @@ Bit32u bx_voodoo_c::get_retrace(bx_bool hv)
|
||||
Bit32u time_in_line = (Bit32u)(time_in_frame % BX_VOODOO_THIS s.vdraw.htotal_usec);
|
||||
Bit32u hpixel = (Bit32u)(time_in_line * BX_VOODOO_THIS s.vdraw.htime_to_pixel);
|
||||
if (time_in_line < BX_VOODOO_THIS s.vdraw.hsync_usec) {
|
||||
// This code seems to be okay, but Voodoo driver gets confused in next stage
|
||||
// and finally causes a segfault.
|
||||
// value |= ((hpixel + 1) << 16);
|
||||
value |= ((hpixel + 1) << 16);
|
||||
}
|
||||
}
|
||||
return value;
|
||||
|
@ -1331,12 +1331,13 @@ void register_w(Bit32u offset, Bit32u data)
|
||||
return;
|
||||
}
|
||||
if ((FBIINIT7_CMDFIFO_ENABLE(v->reg[fbiInit7].u)) &&
|
||||
((offset & 0x200000) > 0)) {
|
||||
((offset & 0x80000) > 0)) {
|
||||
if (!(v->regaccess[regnum] & REGISTER_WRITETHRU)) {
|
||||
BX_ERROR(("Invalid attempt to write %s", v->regnames[regnum]));
|
||||
return;
|
||||
}
|
||||
BX_ERROR(("Writing to CMDFIFO not supported yet"));
|
||||
return;
|
||||
}
|
||||
|
||||
switch (regnum) {
|
||||
@ -2382,7 +2383,7 @@ Bit32u register_r(Bit32u offset)
|
||||
return 0;
|
||||
}
|
||||
if ((FBIINIT7_CMDFIFO_ENABLE(v->reg[fbiInit7].u)) &&
|
||||
((offset & 0x200000) > 0)) {
|
||||
((offset & 0x80000) > 0)) {
|
||||
BX_ERROR(("Invalid attempt to read from CMDFIFO"));
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user