From ab71f9d3e213b3792aa40c83639ffbe4ac2739fb Mon Sep 17 00:00:00 2001 From: MaxwellS04 Date: Fri, 16 Aug 2024 20:36:26 +0700 Subject: [PATCH 1/4] Added the miroCRYSTAL 3D, based on a S3 ViRGE. --- src/include/86box/video.h | 1 + src/video/vid_s3_virge.c | 26 ++++++++++++++++++++++++++ src/video/vid_table.c | 1 + 3 files changed, 28 insertions(+) diff --git a/src/include/86box/video.h b/src/include/86box/video.h index 1037e213f..2f5a629d1 100644 --- a/src/include/86box/video.h +++ b/src/include/86box/video.h @@ -528,6 +528,7 @@ extern const device_t s3_trio64v2_dx_onboard_pci_device; /* S3 ViRGE */ extern const device_t s3_virge_325_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; diff --git a/src/video/vid_s3_virge.c b/src/video/vid_s3_virge.c index 155380480..0a6103801 100644 --- a/src/video/vid_s3_virge.c +++ b/src/video/vid_s3_virge.c @@ -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, @@ -4259,6 +4261,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; @@ -4353,6 +4358,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; @@ -4530,6 +4536,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) { @@ -4763,6 +4775,20 @@ const device_t s3_diamond_stealth_2000_pci_device = { .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 = { .name = "S3 ViRGE/VX (Diamond Stealth 3D 3000) PCI", .internal_name = "stealth3d_3000_pci", diff --git a/src/video/vid_table.c b/src/video/vid_table.c index 13639d05d..c4dee5719 100644 --- a/src/video/vid_table.c +++ b/src/video/vid_table.c @@ -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 }, From 24e2c65c409e38259e3095a5d3eebfefa49ff1a5 Mon Sep 17 00:00:00 2001 From: MaxwellS04 Date: Fri, 16 Aug 2024 20:44:51 +0700 Subject: [PATCH 2/4] Fixed a compile-breaking mistake --- src/video/vid_s3_virge.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/video/vid_s3_virge.c b/src/video/vid_s3_virge.c index 0a6103801..47332324f 100644 --- a/src/video/vid_s3_virge.c +++ b/src/video/vid_s3_virge.c @@ -4775,7 +4775,7 @@ const device_t s3_diamond_stealth_2000_pci_device = { .config = s3_virge_config }; -const device_t s3_diamond_stealth_2000_pci_device = { +const device_t s3_mirocrystal_3d_pci_device = { .name = "S3 ViRGE (miroCRYSTAL 3D) PCI", .internal_name = "mirocrystal_3d_pci", .flags = DEVICE_PCI, From a02b4e52c3dc088fd3ff471abf065ffae37d7d6a Mon Sep 17 00:00:00 2001 From: MaxwellS04 Date: Sat, 17 Aug 2024 00:53:02 +0700 Subject: [PATCH 3/4] Fixed configuration --- src/video/vid_s3_virge.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/video/vid_s3_virge.c b/src/video/vid_s3_virge.c index 47332324f..700722253 100644 --- a/src/video/vid_s3_virge.c +++ b/src/video/vid_s3_virge.c @@ -4786,7 +4786,7 @@ const device_t s3_mirocrystal_3d_pci_device = { { .available = s3_mirocrystal_3d_available }, .speed_changed = s3_virge_speed_changed, .force_redraw = s3_virge_force_redraw, - .config = s3_virge_357_config + .config = s3_virge_config }; const device_t s3_diamond_stealth_3000_pci_device = { From 52e80587fd3b779c2e3594717256298109cf0edb Mon Sep 17 00:00:00 2001 From: RichardG867 Date: Sun, 25 Aug 2024 23:41:54 -0300 Subject: [PATCH 4/4] Revert A-Trend ATC6310BXII/ATC7020BXII name change References: * https://web.archive.org/web/20010606125848/http://www.atrend.com.tw/english/product.htm * https://web.archive.org/web/20010405101351/http://www.atrend.com.tw/english/product/mainboard/ATC6310BXII.htm * https://web.archive.org/web/20020404115114/http://www.atrend.com.tw/english/product/mainboard/atc7020bxii.htm --- src/machine/machine_table.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/machine/machine_table.c b/src/machine/machine_table.c index b482951ef..c0c0e9085 100644 --- a/src/machine/machine_table.c +++ b/src/machine/machine_table.c @@ -14678,7 +14678,7 @@ const machine_t machines[] = { /* Has a Winbond W83977EF Super I/O chip with on-chip KBC with AMIKey-2 KBC firmware. */ { - .name = "[SMSC VictoryBX-66] A-Trend ATC-6310BXII", + .name = "[SMSC VictoryBX-66] A-Trend ATC6310BXII", .internal_name = "atc6310bxii", .type = MACHINE_TYPE_SLOT1, .chipset = MACHINE_CHIPSET_SMSC_VICTORYBX_66, @@ -15397,7 +15397,7 @@ const machine_t machines[] = { /* Has a Winbond W83977EF Super I/O chip with on-chip KBC with AMIKey-2 KBC firmware. */ { - .name = "[SMSC VictoryBX-66] A-Trend ATC-7020BXII", + .name = "[SMSC VictoryBX-66] A-Trend ATC7020BXII", .internal_name = "atc7020bxii", .type = MACHINE_TYPE_SOCKET370, .chipset = MACHINE_CHIPSET_SMSC_VICTORYBX_66,