Added Phoenix Trio64.
S3 cards now report FPM memory - allows 4 MB on Phoenix Trio64.
This commit is contained in:
parent
0c2efae9c3
commit
b491d70a58
4 changed files with 73 additions and 2 deletions
|
|
@ -347,6 +347,7 @@ enum
|
|||
GFX_CL_GD5429, /*Cirrus Logic CL-GD5429*/
|
||||
GFX_VIRGEDX, /*S3 Virge/DX*/
|
||||
GFX_PHOENIX_TRIO32, /*S3 732/Trio32 (Phoenix)*/
|
||||
GFX_PHOENIX_TRIO64, /*S3 764/Trio64 (Phoenix)*/
|
||||
|
||||
GFX_MAX
|
||||
};
|
||||
|
|
|
|||
72
src/vid_s3.c
72
src/vid_s3.c
|
|
@ -1933,9 +1933,9 @@ static void *s3_init(char *bios_fn, int chip)
|
|||
NULL);
|
||||
|
||||
if (PCI)
|
||||
svga->crtc[0x36] = 2 | (2 << 2) | (1 << 4) | (vram_sizes[vram] << 5);
|
||||
svga->crtc[0x36] = 2 | (3 << 2) | (1 << 4) | (vram_sizes[vram] << 5);
|
||||
else
|
||||
svga->crtc[0x36] = 1 | (2 << 2) | (1 << 4) | (vram_sizes[vram] << 5);
|
||||
svga->crtc[0x36] = 1 | (3 << 2) | (1 << 4) | (vram_sizes[vram] << 5);
|
||||
svga->crtc[0x37] = 1 | (7 << 5);
|
||||
|
||||
s3_io_set(s3);
|
||||
|
|
@ -2012,6 +2012,26 @@ int s3_phoenix_trio32_available()
|
|||
return rom_present("roms/86C732P.bin");
|
||||
}
|
||||
|
||||
void *s3_phoenix_trio64_init()
|
||||
{
|
||||
s3_t *s3 = s3_init("roms/86c764x1.bin", S3_TRIO64);
|
||||
svga_t *svga = &s3->svga;
|
||||
|
||||
s3->id = 0xe1; /*Trio64*/
|
||||
s3->id_ext = s3->id_ext_pci = 0x11;
|
||||
s3->packed_mmio = 1;
|
||||
|
||||
s3->getclock = s3_trio64_getclock;
|
||||
s3->getclock_p = s3;
|
||||
|
||||
return s3;
|
||||
}
|
||||
|
||||
int s3_phoenix_trio64_available()
|
||||
{
|
||||
return rom_present("roms/86c764x1.bin");
|
||||
}
|
||||
|
||||
void s3_close(void *p)
|
||||
{
|
||||
s3_t *s3 = (s3_t *)p;
|
||||
|
|
@ -2133,6 +2153,41 @@ static device_config_t s3_phoenix_trio32_config[] =
|
|||
}
|
||||
};
|
||||
|
||||
static device_config_t s3_phoenix_trio64_config[] =
|
||||
{
|
||||
{
|
||||
.name = "memory",
|
||||
.description = "Memory size",
|
||||
.type = CONFIG_SELECTION,
|
||||
.selection =
|
||||
{
|
||||
{
|
||||
.description = "512 KB",
|
||||
.value = 0
|
||||
},
|
||||
{
|
||||
.description = "1 MB",
|
||||
.value = 1
|
||||
},
|
||||
{
|
||||
.description = "2 MB",
|
||||
.value = 2
|
||||
},
|
||||
{
|
||||
.description = "4 MB",
|
||||
.value = 4
|
||||
},
|
||||
{
|
||||
.description = ""
|
||||
}
|
||||
},
|
||||
.default_int = 2
|
||||
},
|
||||
{
|
||||
.type = -1
|
||||
}
|
||||
};
|
||||
|
||||
device_t s3_bahamas64_device =
|
||||
{
|
||||
"Paradise Bahamas 64 (S3 Vision864)",
|
||||
|
|
@ -2171,3 +2226,16 @@ device_t s3_phoenix_trio32_device =
|
|||
s3_add_status_info,
|
||||
s3_phoenix_trio32_config
|
||||
};
|
||||
|
||||
device_t s3_phoenix_trio64_device =
|
||||
{
|
||||
"Phoenix S3 Trio64",
|
||||
0,
|
||||
s3_phoenix_trio64_init,
|
||||
s3_close,
|
||||
s3_phoenix_trio64_available,
|
||||
s3_speed_changed,
|
||||
s3_force_redraw,
|
||||
s3_add_status_info,
|
||||
s3_phoenix_trio64_config
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
device_t s3_bahamas64_device;
|
||||
device_t s3_9fx_device;
|
||||
device_t s3_phoenix_trio32_device;
|
||||
device_t s3_phoenix_trio64_device;
|
||||
|
|
|
|||
|
|
@ -58,6 +58,7 @@ static VIDEO_CARD video_cards[] =
|
|||
{"OAK OTI-067", &oti067_device, GFX_OTI067},
|
||||
{"Paradise Bahamas 64 (S3 Vision864)", &s3_bahamas64_device, GFX_BAHAMAS64},
|
||||
{"Phoenix S3 Trio32", &s3_phoenix_trio32_device, GFX_PHOENIX_TRIO32},
|
||||
{"Phoenix S3 Trio64", &s3_phoenix_trio64_device, GFX_PHOENIX_TRIO64},
|
||||
{"S3 ViRGE/DX", &s3_virge_375_device, GFX_VIRGEDX},
|
||||
{"Trident TVGA8900D", &tvga8900d_device, GFX_TVGA},
|
||||
{"Tseng ET4000AX", &et4000_device, GFX_ET4000},
|
||||
|
|
|
|||
Loading…
Reference in a new issue