Added the miroCRYSTAL 3D, based on a S3 ViRGE.
This commit is contained in:
@@ -528,6 +528,7 @@ extern const device_t s3_trio64v2_dx_onboard_pci_device;
|
|||||||
/* S3 ViRGE */
|
/* S3 ViRGE */
|
||||||
extern const device_t s3_virge_325_pci_device;
|
extern const device_t s3_virge_325_pci_device;
|
||||||
extern const device_t s3_diamond_stealth_2000_pci_device;
|
extern const device_t s3_diamond_stealth_2000_pci_device;
|
||||||
|
extern const device_t s3_mirocrystal_3d_pci_device;
|
||||||
extern const device_t s3_diamond_stealth_3000_pci_device;
|
extern const device_t s3_diamond_stealth_3000_pci_device;
|
||||||
extern const device_t s3_stb_velocity_3d_pci_device;
|
extern const device_t s3_stb_velocity_3d_pci_device;
|
||||||
extern const device_t s3_virge_375_pci_device;
|
extern const device_t s3_virge_375_pci_device;
|
||||||
|
@@ -61,6 +61,7 @@ static int dither[4][4] = {
|
|||||||
|
|
||||||
#define ROM_VIRGE_325 "roms/video/s3virge/86c325.bin"
|
#define ROM_VIRGE_325 "roms/video/s3virge/86c325.bin"
|
||||||
#define ROM_DIAMOND_STEALTH3D_2000 "roms/video/s3virge/s3virge.bin"
|
#define ROM_DIAMOND_STEALTH3D_2000 "roms/video/s3virge/s3virge.bin"
|
||||||
|
#define ROM_MIROCRYSTAL_3D "roms/video/s3virge/miro Crystal 3D 1.02.bin"
|
||||||
#define ROM_DIAMOND_STEALTH3D_3000 "roms/video/s3virge/diamondstealth3000.vbi"
|
#define ROM_DIAMOND_STEALTH3D_3000 "roms/video/s3virge/diamondstealth3000.vbi"
|
||||||
#define ROM_STB_VELOCITY_3D "roms/video/s3virge/stb_velocity3d_110.BIN"
|
#define ROM_STB_VELOCITY_3D "roms/video/s3virge/stb_velocity3d_110.BIN"
|
||||||
#define ROM_VIRGE_DX "roms/video/s3virge/86c375_1.bin"
|
#define ROM_VIRGE_DX "roms/video/s3virge/86c375_1.bin"
|
||||||
@@ -91,6 +92,7 @@ static int dither[4][4] = {
|
|||||||
enum {
|
enum {
|
||||||
S3_VIRGE_325,
|
S3_VIRGE_325,
|
||||||
S3_DIAMOND_STEALTH3D_2000,
|
S3_DIAMOND_STEALTH3D_2000,
|
||||||
|
S3_MIROCRYSTAL_3D,
|
||||||
S3_DIAMOND_STEALTH3D_3000,
|
S3_DIAMOND_STEALTH3D_3000,
|
||||||
S3_STB_VELOCITY_3D,
|
S3_STB_VELOCITY_3D,
|
||||||
S3_VIRGE_DX,
|
S3_VIRGE_DX,
|
||||||
@@ -4259,6 +4261,9 @@ s3_virge_init(const device_t *info)
|
|||||||
case S3_DIAMOND_STEALTH3D_2000:
|
case S3_DIAMOND_STEALTH3D_2000:
|
||||||
bios_fn = ROM_DIAMOND_STEALTH3D_2000;
|
bios_fn = ROM_DIAMOND_STEALTH3D_2000;
|
||||||
break;
|
break;
|
||||||
|
case S3_MIROCRYSTAL_3D:
|
||||||
|
bios_fn = ROM_MIROCRYSTAL_3D;
|
||||||
|
break;
|
||||||
case S3_DIAMOND_STEALTH3D_3000:
|
case S3_DIAMOND_STEALTH3D_3000:
|
||||||
bios_fn = ROM_DIAMOND_STEALTH3D_3000;
|
bios_fn = ROM_DIAMOND_STEALTH3D_3000;
|
||||||
break;
|
break;
|
||||||
@@ -4353,6 +4358,7 @@ s3_virge_init(const device_t *info)
|
|||||||
switch (info->local) {
|
switch (info->local) {
|
||||||
case S3_VIRGE_325:
|
case S3_VIRGE_325:
|
||||||
case S3_DIAMOND_STEALTH3D_2000:
|
case S3_DIAMOND_STEALTH3D_2000:
|
||||||
|
case S3_MIROCRYSTAL_3D:
|
||||||
virge->fifo_slots_num = 8;
|
virge->fifo_slots_num = 8;
|
||||||
virge->svga.decode_mask = (4 << 20) - 1;
|
virge->svga.decode_mask = (4 << 20) - 1;
|
||||||
virge->virge_id_high = 0x56;
|
virge->virge_id_high = 0x56;
|
||||||
@@ -4530,6 +4536,12 @@ s3_virge_325_available(void)
|
|||||||
return rom_present(ROM_VIRGE_325);
|
return rom_present(ROM_VIRGE_325);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
s3_mirocrystal_3d_available(void)
|
||||||
|
{
|
||||||
|
return rom_present(ROM_MIROCRYSTAL_3D);
|
||||||
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
s3_virge_988_diamond_available(void)
|
s3_virge_988_diamond_available(void)
|
||||||
{
|
{
|
||||||
@@ -4763,6 +4775,20 @@ const device_t s3_diamond_stealth_2000_pci_device = {
|
|||||||
.config = s3_virge_config
|
.config = s3_virge_config
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const device_t s3_diamond_stealth_2000_pci_device = {
|
||||||
|
.name = "S3 ViRGE (miroCRYSTAL 3D) PCI",
|
||||||
|
.internal_name = "mirocrystal_3d_pci",
|
||||||
|
.flags = DEVICE_PCI,
|
||||||
|
.local = S3_MIROCRYSTAL_3D,
|
||||||
|
.init = s3_virge_init,
|
||||||
|
.close = s3_virge_close,
|
||||||
|
.reset = s3_virge_reset,
|
||||||
|
{ .available = s3_mirocrystal_3d_available },
|
||||||
|
.speed_changed = s3_virge_speed_changed,
|
||||||
|
.force_redraw = s3_virge_force_redraw,
|
||||||
|
.config = s3_virge_357_config
|
||||||
|
};
|
||||||
|
|
||||||
const device_t s3_diamond_stealth_3000_pci_device = {
|
const device_t s3_diamond_stealth_3000_pci_device = {
|
||||||
.name = "S3 ViRGE/VX (Diamond Stealth 3D 3000) PCI",
|
.name = "S3 ViRGE/VX (Diamond Stealth 3D 3000) PCI",
|
||||||
.internal_name = "stealth3d_3000_pci",
|
.internal_name = "stealth3d_3000_pci",
|
||||||
|
@@ -174,6 +174,7 @@ video_cards[] = {
|
|||||||
{ &s3_trio64v2_dx_pci_device },
|
{ &s3_trio64v2_dx_pci_device },
|
||||||
{ &s3_virge_325_pci_device },
|
{ &s3_virge_325_pci_device },
|
||||||
{ &s3_diamond_stealth_2000_pci_device },
|
{ &s3_diamond_stealth_2000_pci_device },
|
||||||
|
{ &s3_mirocrystal_3d_pci_device },
|
||||||
{ &s3_diamond_stealth_3000_pci_device },
|
{ &s3_diamond_stealth_3000_pci_device },
|
||||||
{ &s3_stb_velocity_3d_pci_device },
|
{ &s3_stb_velocity_3d_pci_device },
|
||||||
{ &s3_virge_375_pci_device },
|
{ &s3_virge_375_pci_device },
|
||||||
|
Reference in New Issue
Block a user