mirror of
https://github.com/86Box/86Box.git
synced 2025-01-23 17:52:01 -05:00
S3 & TVP3026: Part 2.
Reworked the pix tranfer register to allow a word in a byte transfer. Added an alternative bios selection for the SPEA Mirage 801 card (3.05I and 4.01, the latter being the default now. Added the MiroCrystal 10SD 805 VLB, Phoenix 801 ISA, MiroVideo 40SV 968 VLB/PCI, SPEA Mercury P64V 968 PCI , SPEA Mirage P64 Trio64 VLB cards. Removed some non-working S3 cards like the Trio64V+ VLB and Elsa Winner 2000 Pro X VLB (only PCI variants of these cards are now in)
This commit is contained in:
parent
2d6194aecc
commit
391c6a3571
4 changed files with 950 additions and 361 deletions
|
@ -126,7 +126,7 @@ typedef struct svga_t
|
|||
int override;
|
||||
void *p;
|
||||
|
||||
uint8_t crtc[256], gdcreg[64], attrregs[32], seqregs[256],
|
||||
uint8_t crtc[256], gdcreg[256], attrregs[32], seqregs[256],
|
||||
egapal[16],
|
||||
*vram, *changedvram;
|
||||
|
||||
|
@ -264,6 +264,10 @@ extern float stg_getclock(int clock, void *p);
|
|||
extern void tkd8001_ramdac_out(uint16_t addr, uint8_t val, void *p, svga_t *svga);
|
||||
extern uint8_t tkd8001_ramdac_in(uint16_t addr, void *p, svga_t *svga);
|
||||
|
||||
extern void tvp3026_ramdac_out(uint16_t addr, int rs2, int rs3, uint8_t val, void *p, svga_t *svga);
|
||||
extern uint8_t tvp3026_ramdac_in(uint16_t addr, int rs2, int rs3, void *p, svga_t *svga);
|
||||
extern void tvp3026_recalctimings(void *p, svga_t *svga);
|
||||
extern void tvp3026_hwcursor_draw(svga_t *svga, int displine);
|
||||
|
||||
#ifdef EMU_DEVICE_H
|
||||
extern const device_t ati68860_ramdac_device;
|
||||
|
@ -292,4 +296,5 @@ extern const device_t stg_ramdac_device;
|
|||
extern const device_t tkd8001_ramdac_device;
|
||||
extern const device_t tseng_ics5301_ramdac_device;
|
||||
extern const device_t tseng_ics5341_ramdac_device;
|
||||
extern const device_t tvp3026_ramdac_device;
|
||||
#endif
|
||||
|
|
|
@ -325,7 +325,10 @@ extern const device_t s3_diamond_stealth_vram_isa_device;
|
|||
extern const device_t s3_ami_86c924_isa_device;
|
||||
extern const device_t s3_metheus_86c928_isa_device;
|
||||
extern const device_t s3_metheus_86c928_vlb_device;
|
||||
extern const device_t s3_v7mirage_86c801_isa_device;
|
||||
extern const device_t s3_spea_mirage_86c801_isa_device;
|
||||
extern const device_t s3_spea_mirage_86c805_vlb_device;
|
||||
extern const device_t s3_mirocrystal_10sd_805_vlb_device;
|
||||
extern const device_t s3_phoenix_86c801_isa_device;
|
||||
extern const device_t s3_phoenix_86c805_vlb_device;
|
||||
extern const device_t s3_bahamas64_vlb_device;
|
||||
extern const device_t s3_bahamas64_pci_device;
|
||||
|
@ -335,10 +338,10 @@ extern const device_t s3_phoenix_trio32_vlb_device;
|
|||
extern const device_t s3_phoenix_trio32_pci_device;
|
||||
extern const device_t s3_diamond_stealth_se_vlb_device;
|
||||
extern const device_t s3_diamond_stealth_se_pci_device;
|
||||
extern const device_t s3_spea_mirage_p64_vlb_device;
|
||||
extern const device_t s3_phoenix_trio64_vlb_device;
|
||||
extern const device_t s3_phoenix_trio64_onboard_pci_device;
|
||||
extern const device_t s3_phoenix_trio64_pci_device;
|
||||
extern const device_t s3_phoenix_trio64vplus_vlb_device;
|
||||
extern const device_t s3_phoenix_trio64vplus_pci_device;
|
||||
extern const device_t s3_phoenix_trio64vplus_onboard_pci_device;
|
||||
extern const device_t s3_phoenix_vision864_pci_device;
|
||||
|
@ -349,10 +352,11 @@ extern const device_t s3_diamond_stealth64_pci_device;
|
|||
extern const device_t s3_diamond_stealth64_vlb_device;
|
||||
extern const device_t s3_diamond_stealth64_964_pci_device;
|
||||
extern const device_t s3_diamond_stealth64_964_vlb_device;
|
||||
extern const device_t s3_mirovideo_40sv_968_pci_device;
|
||||
extern const device_t s3_mirovideo_40sv_968_vlb_device;
|
||||
extern const device_t s3_spea_mercury_p64v_pci_device;
|
||||
extern const device_t s3_elsa_winner2000_pro_x_964_pci_device;
|
||||
extern const device_t s3_elsa_winner2000_pro_x_964_vlb_device;
|
||||
extern const device_t s3_elsa_winner2000_pro_x_pci_device;
|
||||
extern const device_t s3_elsa_winner2000_pro_x_vlb_device;
|
||||
extern const device_t s3_trio64v2_dx_pci_device;
|
||||
|
||||
/* S3 ViRGE */
|
||||
|
|
1234
src/video/vid_s3.c
1234
src/video/vid_s3.c
File diff suppressed because it is too large
Load diff
|
@ -53,7 +53,6 @@ static const VIDEO_CARD
|
|||
video_cards[] = {
|
||||
{ "none", NULL },
|
||||
{ "internal", NULL },
|
||||
{ "ami_s3_924", &s3_ami_86c924_isa_device },
|
||||
{ "egawonder800", &atiega_device },
|
||||
{ "mach64gx_isa", &mach64gx_isa_device },
|
||||
{ "ati28800k", &ati28800k_device },
|
||||
|
@ -79,7 +78,6 @@ video_cards[] = {
|
|||
{ "compaq_cga", &compaq_cga_device },
|
||||
{ "compaq_cga_2", &compaq_cga_2_device },
|
||||
{ "compaq_ega", &cpqega_device },
|
||||
{ "stealthvram_isa", &s3_diamond_stealth_vram_isa_device },
|
||||
{ "ega", &ega_device },
|
||||
{ "g2_gc205", &g2_gc205_device },
|
||||
{ "hercules", &hercules_device },
|
||||
|
@ -90,13 +88,11 @@ video_cards[] = {
|
|||
{ "kasan16vga", &et4000_kasan_isa_device },
|
||||
{ "mda", &mda_device },
|
||||
{ "genius", &genius_device },
|
||||
{ "metheus928_isa", &s3_metheus_86c928_isa_device },
|
||||
{ "nga", &nga_device },
|
||||
{ "ogc", &ogc_device },
|
||||
{ "oti037c", &oti037c_device },
|
||||
{ "oti067", &oti067_device },
|
||||
{ "oti077", &oti077_device },
|
||||
{ "orchid_s3_911", &s3_orchid_86c911_isa_device },
|
||||
{ "pvga1a", ¶dise_pvga1a_device },
|
||||
{ "wd90c11", ¶dise_wd90c11_device },
|
||||
{ "wd90c30", ¶dise_wd90c30_device },
|
||||
|
@ -104,8 +100,13 @@ video_cards[] = {
|
|||
{ "pgc", &pgc_device },
|
||||
{ "radius_isa", &radius_svga_multiview_isa_device },
|
||||
{ "rtg3106", &realtek_rtg3106_device },
|
||||
{ "stealthvram_isa", &s3_diamond_stealth_vram_isa_device },
|
||||
{ "orchid_s3_911", &s3_orchid_86c911_isa_device },
|
||||
{ "ami_s3_924", &s3_ami_86c924_isa_device },
|
||||
{ "metheus928_isa", &s3_metheus_86c928_isa_device },
|
||||
{ "px_86c801_isa", &s3_phoenix_86c801_isa_device },
|
||||
{ "px_s3_v7_801_isa", &s3_spea_mirage_86c801_isa_device },
|
||||
{ "sigma400", &sigma_device },
|
||||
{ "px_s3_v7_801_isa", &s3_v7mirage_86c801_isa_device },
|
||||
{ "tvga8900b", &tvga8900b_device },
|
||||
{ "tvga8900d", &tvga8900d_device },
|
||||
{ "tvga9000b", &tvga9000b_device },
|
||||
|
@ -133,28 +134,30 @@ video_cards[] = {
|
|||
{ "cl_gd5480_pci", &gd5480_pci_device },
|
||||
{ "ctl3d_banshee_pci", &creative_voodoo_banshee_device },
|
||||
{ "stealth32_pci", &et4000w32p_pci_device },
|
||||
{ "stealth64v_pci", &s3_diamond_stealth64_964_pci_device },
|
||||
{ "elsawin2kprox_964_pci", &s3_elsa_winner2000_pro_x_964_pci_device },
|
||||
{ "bahamas64_pci", &s3_bahamas64_pci_device },
|
||||
{ "px_vision864_pci", &s3_phoenix_vision864_pci_device },
|
||||
{ "stealthse_pci", &s3_diamond_stealth_se_pci_device },
|
||||
{ "px_trio32_pci", &s3_phoenix_trio32_pci_device },
|
||||
{ "stealth64d_pci", &s3_diamond_stealth64_pci_device },
|
||||
{ "n9_9fx_pci", &s3_9fx_pci_device },
|
||||
{ "px_trio64_pci", &s3_phoenix_trio64_pci_device },
|
||||
{ "elsawin2kprox_pci", &s3_elsa_winner2000_pro_x_pci_device },
|
||||
{ "mirovideo40sv_pci", &s3_mirovideo_40sv_968_pci_device },
|
||||
{ "spea_mercury64p_pci", &s3_spea_mercury_p64v_pci_device },
|
||||
{ "px_vision868_pci", &s3_phoenix_vision868_pci_device },
|
||||
{ "px_trio64vplus_pci", &s3_phoenix_trio64vplus_pci_device },
|
||||
{ "trio64v2dx_pci", &s3_trio64v2_dx_pci_device },
|
||||
{ "stealth3d_2000_pci", &s3_virge_pci_device },
|
||||
{ "stealth3d_3000_pci", &s3_virge_988_pci_device },
|
||||
{ "stealth64d_pci", &s3_diamond_stealth64_pci_device },
|
||||
{ "stealth64v_pci", &s3_diamond_stealth64_964_pci_device },
|
||||
{ "stealthse_pci", &s3_diamond_stealth_se_pci_device },
|
||||
{ "elsawin2kprox_964_pci", &s3_elsa_winner2000_pro_x_964_pci_device },
|
||||
{ "elsawin2kprox_pci", &s3_elsa_winner2000_pro_x_pci_device },
|
||||
#if defined(DEV_BRANCH) && defined(USE_MGA)
|
||||
{ "mystique", &mystique_device },
|
||||
{ "mystique_220", &mystique_220_device },
|
||||
#endif
|
||||
{ "n9_9fx_pci", &s3_9fx_pci_device },
|
||||
{ "bahamas64_pci", &s3_bahamas64_pci_device },
|
||||
{ "px_vision864_pci", &s3_phoenix_vision864_pci_device },
|
||||
{ "px_vision868_pci", &s3_phoenix_vision868_pci_device },
|
||||
{ "px_trio32_pci", &s3_phoenix_trio32_pci_device },
|
||||
{ "px_trio64_pci", &s3_phoenix_trio64_pci_device },
|
||||
{ "px_trio64vplus_pci", &s3_phoenix_trio64vplus_pci_device },
|
||||
#if defined(DEV_BRANCH) && defined(USE_S3TRIO3D2X)
|
||||
{ "trio3d2x", &s3_trio3d_2x_pci_device },
|
||||
#endif
|
||||
{ "trio64v2dx_pci", &s3_trio64v2_dx_pci_device },
|
||||
{ "virge325_pci", &s3_virge_325_pci_device },
|
||||
{ "virge375_pci", &s3_virge_375_pci_device },
|
||||
{ "virge375_vbe20_pci", &s3_virge_375_4_pci_device },
|
||||
|
@ -179,21 +182,20 @@ video_cards[] = {
|
|||
{ "cl_gd5430_vlb", &gd5430_vlb_device },
|
||||
{ "stealth3d_2000_vlb", &s3_virge_vlb_device },
|
||||
{ "stealth3d_3000_vlb", &s3_virge_988_vlb_device },
|
||||
{ "stealth64d_vlb", &s3_diamond_stealth64_vlb_device },
|
||||
{ "stealth64v_vlb", &s3_diamond_stealth64_964_vlb_device },
|
||||
{ "stealthse_vlb", &s3_diamond_stealth_se_vlb_device },
|
||||
{ "elsawin2kprox_964_vlb", &s3_elsa_winner2000_pro_x_964_vlb_device },
|
||||
{ "elsawin2kprox_vlb", &s3_elsa_winner2000_pro_x_vlb_device },
|
||||
{ "ht216_32", &ht216_32_standalone_device },
|
||||
{ "metheus928_vlb", &s3_metheus_86c928_vlb_device },
|
||||
{ "n9_9fx_vlb", &s3_9fx_vlb_device },
|
||||
{ "bahamas64_vlb", &s3_bahamas64_vlb_device },
|
||||
{ "mirocrystal10sd_vlb", &s3_mirocrystal_10sd_805_vlb_device },
|
||||
{ "px_86c805_vlb", &s3_phoenix_86c805_vlb_device },
|
||||
{ "stealth64v_vlb", &s3_diamond_stealth64_964_vlb_device },
|
||||
{ "bahamas64_vlb", &s3_bahamas64_vlb_device },
|
||||
{ "px_vision864_vlb", &s3_phoenix_vision864_vlb_device },
|
||||
{ "px_vision868_vlb", &s3_phoenix_vision868_vlb_device },
|
||||
{ "stealthse_vlb", &s3_diamond_stealth_se_vlb_device },
|
||||
{ "px_trio32_vlb", &s3_phoenix_trio32_vlb_device },
|
||||
{ "stealth64d_vlb", &s3_diamond_stealth64_vlb_device },
|
||||
{ "n9_9fx_vlb", &s3_9fx_vlb_device },
|
||||
{ "px_trio64_vlb", &s3_phoenix_trio64_vlb_device },
|
||||
{ "px_trio64vplus_vlb", &s3_phoenix_trio64vplus_vlb_device },
|
||||
{ "spea_miragep64_vlb", &s3_spea_mirage_p64_vlb_device },
|
||||
{ "px_vision868_vlb", &s3_phoenix_vision868_vlb_device },
|
||||
{ "ht216_32", &ht216_32_standalone_device },
|
||||
{ "virge325_vlb", &s3_virge_325_vlb_device },
|
||||
{ "virge375_vlb", &s3_virge_375_vlb_device },
|
||||
{ "virge375_vbe20_vlb", &s3_virge_375_4_vlb_device },
|
||||
|
|
Loading…
Add table
Reference in a new issue