Added ISA-specific 86c805 (ELSA Winner 1000)
Ported from my ELSA_Winner_Series branch.
This commit is contained in:
@@ -488,6 +488,7 @@ extern const device_t s3_metheus_86c928_isa_device;
|
|||||||
extern const device_t s3_metheus_86c928_vlb_device;
|
extern const device_t s3_metheus_86c928_vlb_device;
|
||||||
extern const device_t s3_spea_mercury_lite_86c928_pci_device;
|
extern const device_t s3_spea_mercury_lite_86c928_pci_device;
|
||||||
extern const device_t s3_spea_mirage_86c801_isa_device;
|
extern const device_t s3_spea_mirage_86c801_isa_device;
|
||||||
|
extern const device_t s3_winner1000_805_isa_device;
|
||||||
extern const device_t s3_86c805_onboard_vlb_device;
|
extern const device_t s3_86c805_onboard_vlb_device;
|
||||||
extern const device_t s3_spea_mirage_86c805_vlb_device;
|
extern const device_t s3_spea_mirage_86c805_vlb_device;
|
||||||
extern const device_t s3_mirocrystal_8s_805_vlb_device;
|
extern const device_t s3_mirocrystal_8s_805_vlb_device;
|
||||||
|
|||||||
@@ -54,6 +54,7 @@
|
|||||||
#define ROM_MIROCRYSTAL20SV_964_PCI "roms/video/s3/mirocrystal.VBI"
|
#define ROM_MIROCRYSTAL20SV_964_PCI "roms/video/s3/mirocrystal.VBI"
|
||||||
#define ROM_MIROCRYSTAL20SD_864_VLB "roms/video/s3/Miro20SD.BIN"
|
#define ROM_MIROCRYSTAL20SD_864_VLB "roms/video/s3/Miro20SD.BIN"
|
||||||
#define ROM_PHOENIX_86C80X "roms/video/s3/805.VBI"
|
#define ROM_PHOENIX_86C80X "roms/video/s3/805.VBI"
|
||||||
|
#define ROM_WINNER1000_805 "roms/video/s3/v01_05_00-C.BIN.bin"
|
||||||
#define ROM_PARADISE_BAHAMAS64 "roms/video/s3/bahamas64.bin"
|
#define ROM_PARADISE_BAHAMAS64 "roms/video/s3/bahamas64.bin"
|
||||||
#define ROM_PHOENIX_VISION864 "roms/video/s3/86c864p.bin"
|
#define ROM_PHOENIX_VISION864 "roms/video/s3/86c864p.bin"
|
||||||
#define ROM_DIAMOND_STEALTH64_964 "roms/video/s3/964_107h.rom"
|
#define ROM_DIAMOND_STEALTH64_964 "roms/video/s3/964_107h.rom"
|
||||||
@@ -117,7 +118,8 @@ enum {
|
|||||||
S3_NUMBER9_9FX_771,
|
S3_NUMBER9_9FX_771,
|
||||||
S3_SPEA_MERCURY_LITE_PCI,
|
S3_SPEA_MERCURY_LITE_PCI,
|
||||||
S3_86C805_ONBOARD,
|
S3_86C805_ONBOARD,
|
||||||
S3_DIAMOND_STEALTH64_968
|
S3_DIAMOND_STEALTH64_968,
|
||||||
|
S3_WINNER1000_805
|
||||||
};
|
};
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
@@ -3782,6 +3784,7 @@ s3_recalctimings(svga_t *svga)
|
|||||||
switch (s3->card_type) {
|
switch (s3->card_type) {
|
||||||
case S3_MIROCRYSTAL8S_805:
|
case S3_MIROCRYSTAL8S_805:
|
||||||
case S3_MIROCRYSTAL10SD_805:
|
case S3_MIROCRYSTAL10SD_805:
|
||||||
|
case S3_WINNER1000_805:
|
||||||
case S3_PHOENIX_86C805:
|
case S3_PHOENIX_86C805:
|
||||||
case S3_86C805_ONBOARD:
|
case S3_86C805_ONBOARD:
|
||||||
svga->hdisp >>= 1;
|
svga->hdisp >>= 1;
|
||||||
@@ -3950,6 +3953,7 @@ s3_recalctimings(svga_t *svga)
|
|||||||
switch (s3->card_type) {
|
switch (s3->card_type) {
|
||||||
case S3_MIROCRYSTAL8S_805:
|
case S3_MIROCRYSTAL8S_805:
|
||||||
case S3_MIROCRYSTAL10SD_805:
|
case S3_MIROCRYSTAL10SD_805:
|
||||||
|
case S3_WINNER1000_805:
|
||||||
case S3_PHOENIX_86C805:
|
case S3_PHOENIX_86C805:
|
||||||
case S3_86C805_ONBOARD:
|
case S3_86C805_ONBOARD:
|
||||||
svga->hdisp >>= 1;
|
svga->hdisp >>= 1;
|
||||||
@@ -4122,6 +4126,7 @@ s3_recalctimings(svga_t *svga)
|
|||||||
switch (s3->card_type) {
|
switch (s3->card_type) {
|
||||||
case S3_MIROCRYSTAL8S_805:
|
case S3_MIROCRYSTAL8S_805:
|
||||||
case S3_MIROCRYSTAL10SD_805:
|
case S3_MIROCRYSTAL10SD_805:
|
||||||
|
case S3_WINNER1000_805:
|
||||||
case S3_PHOENIX_86C805:
|
case S3_PHOENIX_86C805:
|
||||||
case S3_SPEA_MIRAGE_86C805:
|
case S3_SPEA_MIRAGE_86C805:
|
||||||
case S3_86C805_ONBOARD:
|
case S3_86C805_ONBOARD:
|
||||||
@@ -9835,6 +9840,11 @@ s3_init(const device_t *info)
|
|||||||
chip = S3_86C801;
|
chip = S3_86C801;
|
||||||
video_inform(VIDEO_FLAG_TYPE_SPECIAL, &timing_s3_86c801);
|
video_inform(VIDEO_FLAG_TYPE_SPECIAL, &timing_s3_86c801);
|
||||||
break;
|
break;
|
||||||
|
case S3_WINNER1000_805:
|
||||||
|
bios_fn = ROM_WINNER1000_805;
|
||||||
|
chip = S3_86C805;
|
||||||
|
video_inform(VIDEO_FLAG_TYPE_SPECIAL, &timing_s3_86c805);
|
||||||
|
break;
|
||||||
case S3_86C805_ONBOARD:
|
case S3_86C805_ONBOARD:
|
||||||
bios_fn = NULL;
|
bios_fn = NULL;
|
||||||
chip = S3_86C805;
|
chip = S3_86C805;
|
||||||
@@ -10316,6 +10326,7 @@ s3_init(const device_t *info)
|
|||||||
|
|
||||||
case S3_PHOENIX_86C801:
|
case S3_PHOENIX_86C801:
|
||||||
case S3_PHOENIX_86C805:
|
case S3_PHOENIX_86C805:
|
||||||
|
case S3_WINNER1000_805:
|
||||||
svga->decode_mask = (2 << 20) - 1;
|
svga->decode_mask = (2 << 20) - 1;
|
||||||
stepping = 0xa0; /*86C801/86C805*/
|
stepping = 0xa0; /*86C801/86C805*/
|
||||||
s3->id = stepping;
|
s3->id = stepping;
|
||||||
@@ -10585,6 +10596,12 @@ s3_phoenix_86c80x_available(void)
|
|||||||
return rom_present(ROM_PHOENIX_86C80X);
|
return rom_present(ROM_PHOENIX_86C80X);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
s3_winner1000_805_available(void)
|
||||||
|
{
|
||||||
|
return rom_present(ROM_WINNER1000_805);
|
||||||
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
s3_mirocrystal_8s_805_available(void)
|
s3_mirocrystal_8s_805_available(void)
|
||||||
{
|
{
|
||||||
@@ -10974,6 +10991,20 @@ const device_t s3_spea_mirage_86c801_isa_device = {
|
|||||||
.config = s3_9fx_config
|
.config = s3_9fx_config
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const device_t s3_winner1000_805_isa_device = {
|
||||||
|
.name = "S3 86c805 ISA (ELSA Winner 1000)",
|
||||||
|
.internal_name = "winner1000_805_isa",
|
||||||
|
.flags = DEVICE_ISA16,
|
||||||
|
.local = S3_WINNER1000_805,
|
||||||
|
.init = s3_init,
|
||||||
|
.close = s3_close,
|
||||||
|
.reset = s3_reset,
|
||||||
|
.available = s3_winner1000_805_available,
|
||||||
|
.speed_changed = s3_speed_changed,
|
||||||
|
.force_redraw = s3_force_redraw,
|
||||||
|
.config = s3_9fx_config
|
||||||
|
};
|
||||||
|
|
||||||
const device_t s3_86c805_onboard_vlb_device = {
|
const device_t s3_86c805_onboard_vlb_device = {
|
||||||
.name = "S3 86c805 VLB On-Board",
|
.name = "S3 86c805 VLB On-Board",
|
||||||
.internal_name = "px_s3_805_onboard_vlb",
|
.internal_name = "px_s3_805_onboard_vlb",
|
||||||
|
|||||||
@@ -115,6 +115,7 @@ video_cards[] = {
|
|||||||
{ .device = &s3_metheus_86c928_isa_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
{ .device = &s3_metheus_86c928_isa_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
||||||
{ .device = &s3_phoenix_86c801_isa_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
{ .device = &s3_phoenix_86c801_isa_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
||||||
{ .device = &s3_spea_mirage_86c801_isa_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
{ .device = &s3_spea_mirage_86c801_isa_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
||||||
|
{ .device = &s3_winner1000_805_isa_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
||||||
{ .device = &sigma_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
{ .device = &sigma_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
||||||
{ .device = &tvga8900b_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
{ .device = &tvga8900b_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
||||||
{ .device = &tvga8900d_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
{ .device = &tvga8900d_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
||||||
|
|||||||
Reference in New Issue
Block a user