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_spea_mercury_lite_86c928_pci_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_spea_mirage_86c805_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_MIROCRYSTAL20SD_864_VLB "roms/video/s3/Miro20SD.BIN"
|
||||
#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_PHOENIX_VISION864 "roms/video/s3/86c864p.bin"
|
||||
#define ROM_DIAMOND_STEALTH64_964 "roms/video/s3/964_107h.rom"
|
||||
@@ -117,7 +118,8 @@ enum {
|
||||
S3_NUMBER9_9FX_771,
|
||||
S3_SPEA_MERCURY_LITE_PCI,
|
||||
S3_86C805_ONBOARD,
|
||||
S3_DIAMOND_STEALTH64_968
|
||||
S3_DIAMOND_STEALTH64_968,
|
||||
S3_WINNER1000_805
|
||||
};
|
||||
|
||||
enum {
|
||||
@@ -3782,6 +3784,7 @@ s3_recalctimings(svga_t *svga)
|
||||
switch (s3->card_type) {
|
||||
case S3_MIROCRYSTAL8S_805:
|
||||
case S3_MIROCRYSTAL10SD_805:
|
||||
case S3_WINNER1000_805:
|
||||
case S3_PHOENIX_86C805:
|
||||
case S3_86C805_ONBOARD:
|
||||
svga->hdisp >>= 1;
|
||||
@@ -3950,6 +3953,7 @@ s3_recalctimings(svga_t *svga)
|
||||
switch (s3->card_type) {
|
||||
case S3_MIROCRYSTAL8S_805:
|
||||
case S3_MIROCRYSTAL10SD_805:
|
||||
case S3_WINNER1000_805:
|
||||
case S3_PHOENIX_86C805:
|
||||
case S3_86C805_ONBOARD:
|
||||
svga->hdisp >>= 1;
|
||||
@@ -4122,6 +4126,7 @@ s3_recalctimings(svga_t *svga)
|
||||
switch (s3->card_type) {
|
||||
case S3_MIROCRYSTAL8S_805:
|
||||
case S3_MIROCRYSTAL10SD_805:
|
||||
case S3_WINNER1000_805:
|
||||
case S3_PHOENIX_86C805:
|
||||
case S3_SPEA_MIRAGE_86C805:
|
||||
case S3_86C805_ONBOARD:
|
||||
@@ -9835,6 +9840,11 @@ s3_init(const device_t *info)
|
||||
chip = S3_86C801;
|
||||
video_inform(VIDEO_FLAG_TYPE_SPECIAL, &timing_s3_86c801);
|
||||
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:
|
||||
bios_fn = NULL;
|
||||
chip = S3_86C805;
|
||||
@@ -10316,6 +10326,7 @@ s3_init(const device_t *info)
|
||||
|
||||
case S3_PHOENIX_86C801:
|
||||
case S3_PHOENIX_86C805:
|
||||
case S3_WINNER1000_805:
|
||||
svga->decode_mask = (2 << 20) - 1;
|
||||
stepping = 0xa0; /*86C801/86C805*/
|
||||
s3->id = stepping;
|
||||
@@ -10585,6 +10596,12 @@ s3_phoenix_86c80x_available(void)
|
||||
return rom_present(ROM_PHOENIX_86C80X);
|
||||
}
|
||||
|
||||
static int
|
||||
s3_winner1000_805_available(void)
|
||||
{
|
||||
return rom_present(ROM_WINNER1000_805);
|
||||
}
|
||||
|
||||
static int
|
||||
s3_mirocrystal_8s_805_available(void)
|
||||
{
|
||||
@@ -10974,6 +10991,20 @@ const device_t s3_spea_mirage_86c801_isa_device = {
|
||||
.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 = {
|
||||
.name = "S3 86c805 VLB On-Board",
|
||||
.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_phoenix_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 = &tvga8900b_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
||||
{ .device = &tvga8900d_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
||||
|
||||
Reference in New Issue
Block a user