Added the STB PowerGraph 64 Video (S3 Trio64V+ VLB).
This commit is contained in:
@@ -491,6 +491,7 @@ extern const device_t s3_spea_mirage_p64_vlb_device;
|
|||||||
extern const device_t s3_phoenix_trio64_vlb_device;
|
extern const device_t s3_phoenix_trio64_vlb_device;
|
||||||
extern const device_t s3_phoenix_trio64_onboard_pci_device;
|
extern const device_t s3_phoenix_trio64_onboard_pci_device;
|
||||||
extern const device_t s3_phoenix_trio64_pci_device;
|
extern const device_t s3_phoenix_trio64_pci_device;
|
||||||
|
extern const device_t s3_stb_powergraph_64_video_vlb_device;
|
||||||
extern const device_t s3_phoenix_trio64vplus_pci_device;
|
extern const device_t s3_phoenix_trio64vplus_pci_device;
|
||||||
extern const device_t s3_phoenix_trio64vplus_onboard_pci_device;
|
extern const device_t s3_phoenix_trio64vplus_onboard_pci_device;
|
||||||
extern const device_t s3_cardex_trio64vplus_pci_device;
|
extern const device_t s3_cardex_trio64vplus_pci_device;
|
||||||
|
|||||||
@@ -63,6 +63,7 @@
|
|||||||
#define ROM_PHOENIX_TRIO64 "roms/video/s3/86c764x1.bin"
|
#define ROM_PHOENIX_TRIO64 "roms/video/s3/86c764x1.bin"
|
||||||
#define ROM_DIAMOND_STEALTH64_764 "roms/video/s3/stealt64.bin"
|
#define ROM_DIAMOND_STEALTH64_764 "roms/video/s3/stealt64.bin"
|
||||||
#define ROM_TRIO64V2_DX_VBE20 "roms/video/s3/86c775_2.bin"
|
#define ROM_TRIO64V2_DX_VBE20 "roms/video/s3/86c775_2.bin"
|
||||||
|
#define ROM_STB_POWERGRAPH_64_VIDEO "roms/video/s3/VBIOS.BIN"
|
||||||
#define ROM_PHOENIX_TRIO64VPLUS "roms/video/s3/64V1506.ROM"
|
#define ROM_PHOENIX_TRIO64VPLUS "roms/video/s3/64V1506.ROM"
|
||||||
#define ROM_CARDEX_TRIO64VPLUS "roms/video/s3/S3T64VP.VBI"
|
#define ROM_CARDEX_TRIO64VPLUS "roms/video/s3/S3T64VP.VBI"
|
||||||
#define ROM_DIAMOND_STEALTH_SE "roms/video/s3/DiamondStealthSE.VBI"
|
#define ROM_DIAMOND_STEALTH_SE "roms/video/s3/DiamondStealthSE.VBI"
|
||||||
@@ -94,6 +95,7 @@ enum {
|
|||||||
S3_AMI_86C924,
|
S3_AMI_86C924,
|
||||||
S3_TRIO64V2_DX,
|
S3_TRIO64V2_DX,
|
||||||
S3_TRIO64V2_DX_ONBOARD,
|
S3_TRIO64V2_DX_ONBOARD,
|
||||||
|
S3_STB_POWERGRAPH_64_VIDEO,
|
||||||
S3_PHOENIX_TRIO64VPLUS,
|
S3_PHOENIX_TRIO64VPLUS,
|
||||||
S3_PHOENIX_TRIO64VPLUS_ONBOARD,
|
S3_PHOENIX_TRIO64VPLUS_ONBOARD,
|
||||||
S3_CARDEX_TRIO64VPLUS,
|
S3_CARDEX_TRIO64VPLUS,
|
||||||
@@ -3079,7 +3081,8 @@ s3_in(uint16_t addr, void *priv)
|
|||||||
temp = svga->seqregs[svga->seqaddr];
|
temp = svga->seqregs[svga->seqaddr];
|
||||||
/* This is needed for the Intel Advanced/ATX's built-in S3 Trio64V+ BIOS to not
|
/* This is needed for the Intel Advanced/ATX's built-in S3 Trio64V+ BIOS to not
|
||||||
get stuck in an infinite loop. */
|
get stuck in an infinite loop. */
|
||||||
if (((s3->card_type == S3_PHOENIX_TRIO64VPLUS_ONBOARD) ||
|
if (((s3->card_type == S3_STB_POWERGRAPH_64_VIDEO) ||
|
||||||
|
(s3->card_type == S3_PHOENIX_TRIO64VPLUS_ONBOARD) ||
|
||||||
(s3->card_type == S3_CARDEX_TRIO64VPLUS)) && (svga->seqaddr == 0x17))
|
(s3->card_type == S3_CARDEX_TRIO64VPLUS)) && (svga->seqaddr == 0x17))
|
||||||
svga->seqregs[svga->seqaddr] ^= 0x01;
|
svga->seqregs[svga->seqaddr] ^= 0x01;
|
||||||
return temp;
|
return temp;
|
||||||
@@ -9478,6 +9481,7 @@ s3_reset(void *priv)
|
|||||||
|
|
||||||
case S3_PHOENIX_TRIO64:
|
case S3_PHOENIX_TRIO64:
|
||||||
case S3_PHOENIX_TRIO64_ONBOARD:
|
case S3_PHOENIX_TRIO64_ONBOARD:
|
||||||
|
case S3_STB_POWERGRAPH_64_VIDEO:
|
||||||
case S3_CARDEX_TRIO64VPLUS:
|
case S3_CARDEX_TRIO64VPLUS:
|
||||||
case S3_PHOENIX_TRIO64VPLUS:
|
case S3_PHOENIX_TRIO64VPLUS:
|
||||||
case S3_PHOENIX_TRIO64VPLUS_ONBOARD:
|
case S3_PHOENIX_TRIO64VPLUS_ONBOARD:
|
||||||
@@ -9721,6 +9725,14 @@ s3_init(const device_t *info)
|
|||||||
else
|
else
|
||||||
video_inform(VIDEO_FLAG_TYPE_SPECIAL, &timing_s3_trio64_vlb);
|
video_inform(VIDEO_FLAG_TYPE_SPECIAL, &timing_s3_trio64_vlb);
|
||||||
break;
|
break;
|
||||||
|
case S3_STB_POWERGRAPH_64_VIDEO:
|
||||||
|
bios_fn = ROM_STB_POWERGRAPH_64_VIDEO;
|
||||||
|
chip = S3_TRIO64V;
|
||||||
|
if (info->flags & DEVICE_PCI)
|
||||||
|
video_inform(VIDEO_FLAG_TYPE_SPECIAL, &timing_s3_trio64_pci);
|
||||||
|
else
|
||||||
|
video_inform(VIDEO_FLAG_TYPE_SPECIAL, &timing_s3_trio64_vlb);
|
||||||
|
break;
|
||||||
case S3_PHOENIX_TRIO64VPLUS:
|
case S3_PHOENIX_TRIO64VPLUS:
|
||||||
bios_fn = ROM_PHOENIX_TRIO64VPLUS;
|
bios_fn = ROM_PHOENIX_TRIO64VPLUS;
|
||||||
chip = S3_TRIO64V;
|
chip = S3_TRIO64V;
|
||||||
@@ -10181,6 +10193,7 @@ s3_init(const device_t *info)
|
|||||||
|
|
||||||
case S3_PHOENIX_TRIO64:
|
case S3_PHOENIX_TRIO64:
|
||||||
case S3_PHOENIX_TRIO64_ONBOARD:
|
case S3_PHOENIX_TRIO64_ONBOARD:
|
||||||
|
case S3_STB_POWERGRAPH_64_VIDEO:
|
||||||
case S3_PHOENIX_TRIO64VPLUS:
|
case S3_PHOENIX_TRIO64VPLUS:
|
||||||
case S3_PHOENIX_TRIO64VPLUS_ONBOARD:
|
case S3_PHOENIX_TRIO64VPLUS_ONBOARD:
|
||||||
case S3_CARDEX_TRIO64VPLUS:
|
case S3_CARDEX_TRIO64VPLUS:
|
||||||
@@ -10420,6 +10433,12 @@ s3_phoenix_trio64_available(void)
|
|||||||
return rom_present(ROM_PHOENIX_TRIO64);
|
return rom_present(ROM_PHOENIX_TRIO64);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
s3_stb_powergraph_64_video_available(void)
|
||||||
|
{
|
||||||
|
return rom_present(ROM_STB_POWERGRAPH_64_VIDEO);
|
||||||
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
s3_phoenix_trio64vplus_available(void)
|
s3_phoenix_trio64vplus_available(void)
|
||||||
{
|
{
|
||||||
@@ -11063,6 +11082,21 @@ const device_t s3_phoenix_trio64_pci_device = {
|
|||||||
.config = s3_standard_config
|
.config = s3_standard_config
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const device_t s3_stb_powergraph_64_video_vlb_device = {
|
||||||
|
.name = "S3 Trio64V+ (STB PowerGraph 64 Video) VLB",
|
||||||
|
.name = "S3 Trio64V+ PCI (Phoenix)",
|
||||||
|
.internal_name = "px_trio64vplus_pci",
|
||||||
|
.flags = DEVICE_VLB,
|
||||||
|
.local = S3_STB_POWERGRAPH_64_VIDEO,
|
||||||
|
.init = s3_init,
|
||||||
|
.close = s3_close,
|
||||||
|
.reset = s3_reset,
|
||||||
|
{ .available = s3_stb_powergraph_64_video_available },
|
||||||
|
.speed_changed = s3_speed_changed,
|
||||||
|
.force_redraw = s3_force_redraw,
|
||||||
|
.config = s3_standard_config
|
||||||
|
};
|
||||||
|
|
||||||
const device_t s3_phoenix_trio64vplus_onboard_pci_device = {
|
const device_t s3_phoenix_trio64vplus_onboard_pci_device = {
|
||||||
.name = "S3 Trio64V+ PCI On-Board (Phoenix)",
|
.name = "S3 Trio64V+ PCI On-Board (Phoenix)",
|
||||||
.internal_name = "px_trio64vplus_onboard_pci",
|
.internal_name = "px_trio64vplus_onboard_pci",
|
||||||
|
|||||||
@@ -254,6 +254,7 @@ video_cards[] = {
|
|||||||
{ &s3_spea_mirage_p64_vlb_device },
|
{ &s3_spea_mirage_p64_vlb_device },
|
||||||
{ &s3_phoenix_vision968_vlb_device },
|
{ &s3_phoenix_vision968_vlb_device },
|
||||||
{ &s3_phoenix_vision868_vlb_device },
|
{ &s3_phoenix_vision868_vlb_device },
|
||||||
|
{ &s3_stb_powergraph_64_video_vlb_device },
|
||||||
{ &ht216_32_standalone_device },
|
{ &ht216_32_standalone_device },
|
||||||
{ &tgui9400cxi_device },
|
{ &tgui9400cxi_device },
|
||||||
{ &tgui9440_vlb_device },
|
{ &tgui9440_vlb_device },
|
||||||
|
|||||||
Reference in New Issue
Block a user