Added a way to force legacy mode as a temporary fix for the Voodoo Banshee/3 until there's a proper fix.
This commit is contained in:
@@ -154,6 +154,9 @@ typedef struct svga_t
|
|||||||
/*Force CRTC to dword mode, regardless of CR14/CR17. Required for S3 enhanced mode*/
|
/*Force CRTC to dword mode, regardless of CR14/CR17. Required for S3 enhanced mode*/
|
||||||
int force_dword_mode;
|
int force_dword_mode;
|
||||||
|
|
||||||
|
/*Force CRTC to legacy mode. Required for Voodoo Banshee/3 until there's a proper fix*/
|
||||||
|
int force_legacy_mode;
|
||||||
|
|
||||||
int remap_required;
|
int remap_required;
|
||||||
uint32_t (*remap_func)(struct svga_t *svga, uint32_t in_addr);
|
uint32_t (*remap_func)(struct svga_t *svga, uint32_t in_addr);
|
||||||
|
|
||||||
|
@@ -101,7 +101,7 @@ void svga_recalc_remap_func(svga_t *svga)
|
|||||||
{
|
{
|
||||||
int func_nr;
|
int func_nr;
|
||||||
|
|
||||||
if (svga->fb_only)
|
if (svga->fb_only || svga->force_legacy_mode)
|
||||||
func_nr = 0;
|
func_nr = 0;
|
||||||
else {
|
else {
|
||||||
if (svga->force_dword_mode)
|
if (svga->force_dword_mode)
|
||||||
|
@@ -485,9 +485,11 @@ static void banshee_recalctimings(svga_t *svga)
|
|||||||
// banshee_log("svga->hdisp=%i\n", svga->hdisp);
|
// banshee_log("svga->hdisp=%i\n", svga->hdisp);
|
||||||
|
|
||||||
svga->interlace = 0;
|
svga->interlace = 0;
|
||||||
|
svga->force_legacy_mode = 0;
|
||||||
|
|
||||||
if (banshee->vgaInit0 & VGAINIT0_EXTENDED_SHIFT_OUT)
|
if (banshee->vgaInit0 & VGAINIT0_EXTENDED_SHIFT_OUT)
|
||||||
{
|
{
|
||||||
|
svga->force_legacy_mode = 1;
|
||||||
switch (VIDPROCCFG_DESKTOP_PIX_FORMAT)
|
switch (VIDPROCCFG_DESKTOP_PIX_FORMAT)
|
||||||
{
|
{
|
||||||
case PIX_FORMAT_8:
|
case PIX_FORMAT_8:
|
||||||
@@ -664,7 +666,7 @@ static void banshee_ext_outl(uint16_t addr, uint32_t val, void *p)
|
|||||||
banshee->vgaInit1 = val;
|
banshee->vgaInit1 = val;
|
||||||
svga->write_bank = (val & 0x3ff) << 15;
|
svga->write_bank = (val & 0x3ff) << 15;
|
||||||
svga->read_bank = ((val >> 10) & 0x3ff) << 15;
|
svga->read_bank = ((val >> 10) & 0x3ff) << 15;
|
||||||
svga->packed_chain4 = !!(val && 0x00100000);
|
svga->packed_chain4 = !!(val & 0x00100000);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PLL_pllCtrl0:
|
case PLL_pllCtrl0:
|
||||||
|
Reference in New Issue
Block a user