Merge pull request #4723 from MaxwellS04/mirocrystal_3d
Add miroCRYSTAL 3D video card
This commit is contained in:
@@ -529,6 +529,7 @@ extern const device_t s3_trio64v2_dx_onboard_pci_device;
|
||||
extern const device_t s3_virge_325_pci_device;
|
||||
extern const device_t s3_virge_325_onboard_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_stb_velocity_3d_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_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_STB_VELOCITY_3D "roms/video/s3virge/stb_velocity3d_110.BIN"
|
||||
#define ROM_VIRGE_DX "roms/video/s3virge/86c375_1.bin"
|
||||
@@ -91,6 +92,7 @@ static int dither[4][4] = {
|
||||
enum {
|
||||
S3_VIRGE_325,
|
||||
S3_DIAMOND_STEALTH3D_2000,
|
||||
S3_MIROCRYSTAL_3D,
|
||||
S3_DIAMOND_STEALTH3D_3000,
|
||||
S3_STB_VELOCITY_3D,
|
||||
S3_VIRGE_DX,
|
||||
@@ -4326,6 +4328,9 @@ s3_virge_init(const device_t *info)
|
||||
case S3_DIAMOND_STEALTH3D_2000:
|
||||
bios_fn = ROM_DIAMOND_STEALTH3D_2000;
|
||||
break;
|
||||
case S3_MIROCRYSTAL_3D:
|
||||
bios_fn = ROM_MIROCRYSTAL_3D;
|
||||
break;
|
||||
case S3_DIAMOND_STEALTH3D_3000:
|
||||
bios_fn = ROM_DIAMOND_STEALTH3D_3000;
|
||||
break;
|
||||
@@ -4420,6 +4425,7 @@ s3_virge_init(const device_t *info)
|
||||
switch (info->local) {
|
||||
case S3_VIRGE_325:
|
||||
case S3_DIAMOND_STEALTH3D_2000:
|
||||
case S3_MIROCRYSTAL_3D:
|
||||
virge->fifo_slots_num = 8;
|
||||
virge->svga.decode_mask = (4 << 20) - 1;
|
||||
virge->virge_id_high = 0x56;
|
||||
@@ -4597,6 +4603,12 @@ s3_virge_325_available(void)
|
||||
return rom_present(ROM_VIRGE_325);
|
||||
}
|
||||
|
||||
static int
|
||||
s3_mirocrystal_3d_available(void)
|
||||
{
|
||||
return rom_present(ROM_MIROCRYSTAL_3D);
|
||||
}
|
||||
|
||||
static int
|
||||
s3_virge_988_diamond_available(void)
|
||||
{
|
||||
@@ -4844,6 +4856,20 @@ const device_t s3_diamond_stealth_2000_pci_device = {
|
||||
.config = s3_virge_config
|
||||
};
|
||||
|
||||
const device_t s3_mirocrystal_3d_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_config
|
||||
};
|
||||
|
||||
const device_t s3_diamond_stealth_3000_pci_device = {
|
||||
.name = "S3 ViRGE/VX (Diamond Stealth 3D 3000) PCI",
|
||||
.internal_name = "stealth3d_3000_pci",
|
||||
|
@@ -174,6 +174,7 @@ video_cards[] = {
|
||||
{ &s3_trio64v2_dx_pci_device },
|
||||
{ &s3_virge_325_pci_device },
|
||||
{ &s3_diamond_stealth_2000_pci_device },
|
||||
{ &s3_mirocrystal_3d_pci_device },
|
||||
{ &s3_diamond_stealth_3000_pci_device },
|
||||
{ &s3_stb_velocity_3d_pci_device },
|
||||
{ &s3_virge_375_pci_device },
|
||||
|
Reference in New Issue
Block a user