diff --git a/src/include/86box/video.h b/src/include/86box/video.h index 9315c3fdd..86b077387 100644 --- a/src/include/86box/video.h +++ b/src/include/86box/video.h @@ -530,6 +530,7 @@ extern const device_t voodoo_3_3000_agp_device; extern const device_t voodoo_3_3500_agp_ntsc_device; extern const device_t voodoo_3_3500_agp_pal_device; extern const device_t compaq_voodoo_3_3500_agp_device; +extern const device_t voodoo_3_3500_se_agp_device; extern const device_t velocity_100_agp_device; extern const device_t velocity_200_agp_device; diff --git a/src/video/vid_table.c b/src/video/vid_table.c index 0b54596cb..d8d908e24 100644 --- a/src/video/vid_table.c +++ b/src/video/vid_table.c @@ -258,6 +258,7 @@ video_cards[] = { { &voodoo_3_3500_agp_ntsc_device }, { &voodoo_3_3500_agp_pal_device }, { &compaq_voodoo_3_3500_agp_device }, + { &voodoo_3_3500_se_agp_device }, { NULL } }; // clang-format on diff --git a/src/video/vid_voodoo_banshee.c b/src/video/vid_voodoo_banshee.c index 935fc5760..7bedf661d 100644 --- a/src/video/vid_voodoo_banshee.c +++ b/src/video/vid_voodoo_banshee.c @@ -54,6 +54,7 @@ #define ROM_VOODOO3_3500_AGP_NTSC "roms/video/voodoo/35k05n.rom" #define ROM_VOODOO3_3500_AGP_PAL "roms/video/voodoo/35k05p.rom" #define ROM_VOODOO3_3500_AGP_COMPAQ "roms/video/voodoo/V3_3500_AGP_SD_2.15.05_Compaq.rom" +#define ROM_VOODOO3_3500_SE_AGP "roms/video/voodoo/V3_3500_AGP_SD_2.15.06_NTSC_Falcon_Northwest.rom" #define ROM_VELOCITY_100 "roms/video/voodoo/Velocity100.VBI" #define ROM_VELOCITY_200 "roms/video/voodoo/Velocity200sg.rom" @@ -3152,6 +3153,12 @@ compaq_v3_3500_agp_init(const device_t *info) return banshee_init_common(info, ROM_VOODOO3_3500_AGP_COMPAQ, 0, TYPE_V3_3500_COMPAQ, VOODOO_3, 1); } +static void * +v3_3500_se_agp_init(const device_t *info) +{ + return banshee_init_common(info, ROM_VOODOO3_3500_SE_AGP, 0, TYPE_V3_3500, VOODOO_3, 1); +} + static void * velocity_100_agp_init(const device_t *info) { @@ -3215,6 +3222,12 @@ compaq_v3_3500_agp_available(void) return rom_present(ROM_VOODOO3_3500_AGP_COMPAQ); } +static int +v3_3500_se_agp_available(void) +{ + return rom_present(ROM_VOODOO3_3500_SE_AGP); +} + static int velocity_100_available(void) { @@ -3425,6 +3438,20 @@ const device_t compaq_voodoo_3_3500_agp_device = { banshee_sdram_config }; +const device_t voodoo_3_3500_se_agp_device = { + .name = "Falcon Northwest Voodoo3 3500 SE", + .internal_name = "voodoo3_3500_se_agp", + .flags = DEVICE_AGP, + .local = 0, + .init = v3_3500_se_agp_init, + .close = banshee_close, + .reset = NULL, + { .available = v3_3500_se_agp_available }, + .speed_changed = banshee_speed_changed, + .force_redraw = banshee_force_redraw, + banshee_sdram_config +}; + const device_t velocity_100_agp_device = { .name = "3dfx Velocity 100", .internal_name = "velocity100_agp",