Re-integrated the Amstrad machines.
This commit is contained in:
@@ -11,7 +11,7 @@
|
||||
* This is intended to be used by another SVGA driver,
|
||||
* and not as a card in it's own right.
|
||||
*
|
||||
* Version: @(#)vid_svga.c 1.0.10 2017/11/04
|
||||
* Version: @(#)vid_svga.c 1.0.11 2017/11/05
|
||||
*
|
||||
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
|
||||
* Miran Grca, <mgrca8@gmail.com>
|
||||
@@ -186,6 +186,9 @@ void svga_out(uint16_t addr, uint8_t val, void *p)
|
||||
}
|
||||
svga_recalctimings(svga);
|
||||
break;
|
||||
case 0x3C3:
|
||||
svga->enabled = (val & 0x01);
|
||||
break;
|
||||
case 0x3C4:
|
||||
svga->seqaddr = val;
|
||||
break;
|
||||
@@ -264,7 +267,8 @@ void svga_out(uint16_t addr, uint8_t val, void *p)
|
||||
svga->vgapal[svga->dac_write].g &= 0x3f;
|
||||
svga->vgapal[svga->dac_write].b &= 0x3f;
|
||||
|
||||
if ((romset == ROM_IBMPS1_2011) || (romset == ROM_IBMPS1_2121) || (romset == ROM_IBMPS2_M30_286))
|
||||
// if ((romset == ROM_IBMPS1_2011) || (romset == ROM_IBMPS1_2121) || (romset == ROM_IBMPS2_M30_286))
|
||||
if (romset == ROM_IBMPS1_2011)
|
||||
{
|
||||
svga->pallook[svga->dac_write] = makecol32((svga->vgapal[svga->dac_write].r & 0x3f) * 4, (svga->vgapal[svga->dac_write].g & 0x3f) * 4, (svga->vgapal[svga->dac_write].b & 0x3f) * 4);
|
||||
}
|
||||
@@ -273,6 +277,10 @@ void svga_out(uint16_t addr, uint8_t val, void *p)
|
||||
svga->pallook[svga->dac_write] = makecol32(video_6to8[svga->vgapal[svga->dac_write].r], video_6to8[svga->vgapal[svga->dac_write].g], video_6to8[svga->vgapal[svga->dac_write].b]);
|
||||
}
|
||||
}
|
||||
#if 1
|
||||
// FIXME: temp to see if this fixes 2401 on PS/1.
|
||||
svga->sense = (svga->vgapal[svga->dac_write].r & svga->vgapal[svga->dac_write].g & svga->vgapal[svga->dac_write].b) & 0x10;
|
||||
#endif
|
||||
svga->dac_pos = 0;
|
||||
svga->dac_write = (svga->dac_write + 1) & 255;
|
||||
break;
|
||||
@@ -414,7 +422,8 @@ uint8_t svga_in(uint16_t addr, void *p)
|
||||
case 0x3C1:
|
||||
return svga->attrregs[svga->attraddr];
|
||||
case 0x3c2:
|
||||
if ((romset == ROM_IBMPS1_2011) || (romset == ROM_IBMPS1_2121) || (romset == ROM_IBMPS1_2121_ISA) || (romset == ROM_IBMPS1_2133) || (romset == ROM_IBMPS2_M30_286) || (romset == ROM_IBMPS2_M50) || (romset == ROM_IBMPS2_M55SX) || (romset == ROM_IBMPS2_M80))
|
||||
// if ((romset == ROM_IBMPS1_2011) || (romset == ROM_IBMPS1_2121) || (romset == ROM_IBMPS1_2121_ISA) || (romset == ROM_IBMPS1_2133) || (romset == ROM_IBMPS2_M30_286) || (romset == ROM_IBMPS2_M50) || (romset == ROM_IBMPS2_M55SX) || (romset == ROM_IBMPS2_M80))
|
||||
if (romset == ROM_IBMPS1_2011)
|
||||
{
|
||||
if ((svga->vgapal[0].r + svga->vgapal[0].g + svga->vgapal[0].b) >= 0x50)
|
||||
{
|
||||
@@ -450,7 +459,11 @@ uint8_t svga_in(uint16_t addr, void *p)
|
||||
}
|
||||
}
|
||||
}
|
||||
temp = svga->sense;
|
||||
pclog("SVGAread = %02x\n", temp);
|
||||
return temp;
|
||||
case 0x3C3:
|
||||
return svga->enabled & 0x01;
|
||||
case 0x3C4:
|
||||
return svga->seqaddr;
|
||||
case 0x3C5:
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
*
|
||||
* Generic SVGA handling.
|
||||
*
|
||||
* Version: @(#)vid_svga.h 1.0.1 2017/11/04
|
||||
* Version: @(#)vid_svga.h 1.0.2 2017/11/05
|
||||
*
|
||||
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
|
||||
* Miran Grca, <mgrca8@gmail.com>
|
||||
@@ -20,6 +20,9 @@
|
||||
typedef struct svga_t
|
||||
{
|
||||
mem_mapping_t mapping;
|
||||
|
||||
int enabled;
|
||||
|
||||
|
||||
uint8_t crtcreg;
|
||||
uint8_t crtc[128];
|
||||
@@ -81,6 +84,7 @@ typedef struct svga_t
|
||||
double clock;
|
||||
uint32_t ma_latch;
|
||||
int bpp;
|
||||
int sense;
|
||||
|
||||
int64_t dispontime, dispofftime;
|
||||
int64_t vidtime;
|
||||
|
||||
@@ -60,9 +60,10 @@
|
||||
#include "vid_s3.h"
|
||||
#include "vid_s3_virge.h"
|
||||
#include "vid_tgui9440.h"
|
||||
#include "vid_ti_cf62011.h"
|
||||
#include "vid_tvga.h"
|
||||
#include "vid_vga.h"
|
||||
#include "vid_ti_cf62011.h"
|
||||
#include "vid_voodoo.h"
|
||||
#include "vid_wy700.h"
|
||||
|
||||
|
||||
@@ -161,36 +162,25 @@ video_cards[] = {
|
||||
|
||||
|
||||
void
|
||||
video_reset_card(int card)
|
||||
video_reset(int card)
|
||||
{
|
||||
/* Nothing to do if this is their internal video card. */
|
||||
if (card == GFX_NONE) return;
|
||||
if ((machines[machine].flags & MACHINE_VIDEO) &&
|
||||
(card == GFX_INTERNAL)) return;
|
||||
pclog("VIDEO: reset (romset=%d, gfxcard=%d, internal=%d)\n",
|
||||
romset, card, (machines[machine].flags & MACHINE_VIDEO)?1:0);
|
||||
|
||||
pclog("Video_reset_card(gfx=%i)\n", card);
|
||||
/* Reset the CGA palette. */
|
||||
cga_palette = 0;
|
||||
cgapal_rebuild();
|
||||
|
||||
/* Do not initialize internal cards here. */
|
||||
if ((card == GFX_NONE) || \
|
||||
(card == GFX_INTERNAL) || machines[machine].fixed_gfxcard) return;
|
||||
|
||||
/* Initialize the video card. */
|
||||
device_add(video_cards[video_old_to_new(card)].device);
|
||||
|
||||
#if 0
|
||||
case ROM_PC1512:
|
||||
device_add(&pc1512_device);
|
||||
case ROM_PC1640:
|
||||
device_add(&pc1640_device);
|
||||
case ROM_PC200:
|
||||
device_add(&pc200_device);
|
||||
case ROM_PC2086:
|
||||
device_add(¶dise_pvga1a_pc2086_device);
|
||||
case ROM_PC3086:
|
||||
device_add(¶dise_pvga1a_pc3086_device);
|
||||
case ROM_MEGAPC:
|
||||
device_add(¶dise_wd90c11_megapc_device);
|
||||
case ROM_TANDY:
|
||||
case ROM_TANDY1000HX:
|
||||
device_add(&tandy_device);
|
||||
case ROM_TANDY1000SL2:
|
||||
device_add(&tandysl_device);
|
||||
#endif
|
||||
/* Enable the Voodoo if configured. */
|
||||
if (voodoo_enabled)
|
||||
device_add(&voodoo_device);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -74,6 +74,8 @@ typedef struct {
|
||||
|
||||
rom_t bios_rom;
|
||||
|
||||
int enabled;
|
||||
|
||||
uint32_t vram_size;
|
||||
|
||||
uint8_t banking;
|
||||
@@ -89,15 +91,22 @@ vid_out(uint16_t addr, uint8_t val, void *priv)
|
||||
svga_t *svga = &ti->svga;
|
||||
uint8_t old;
|
||||
|
||||
if (((addr & 0xfff0) == 0x3d0 ||
|
||||
(addr & 0xfff0) == 0x3b0) && !(svga->miscout & 1)) addr ^= 0x60;
|
||||
#if 0
|
||||
if (((addr & 0xfff0) == 0x03d0 || (addr & 0xfff0) == 0x03b0) &&
|
||||
!(svga->miscout & 1)) addr ^= 0x60;
|
||||
#endif
|
||||
pclog("TISVGA_out(%04x, %02x)\n", addr, val);
|
||||
|
||||
switch (addr) {
|
||||
case 0x3D4:
|
||||
case 0x0102:
|
||||
ti->enabled = (val & 0x01);
|
||||
return;
|
||||
|
||||
case 0x03d4:
|
||||
svga->crtcreg = val & 0x1f;
|
||||
return;
|
||||
|
||||
case 0x3D5:
|
||||
case 0x03d5:
|
||||
if ((svga->crtcreg < 7) && (svga->crtc[0x11] & 0x80))
|
||||
return;
|
||||
if ((svga->crtcreg == 7) && (svga->crtc[0x11] & 0x80))
|
||||
@@ -115,16 +124,14 @@ vid_out(uint16_t addr, uint8_t val, void *priv)
|
||||
case 0x2100:
|
||||
ti->reg_2100 = val;
|
||||
if ((val & 7) < 4)
|
||||
svga->write_bank = 0;
|
||||
svga->read_bank = svga->write_bank = 0;
|
||||
else
|
||||
svga->write_bank = (ti->banking & 0x7) * 0x10000;
|
||||
svga->read_bank = svga->write_bank;
|
||||
svga->read_bank = svga->write_bank = (ti->banking & 0x7) * 0x10000;
|
||||
break;
|
||||
|
||||
case 0x2108:
|
||||
if ((ti->reg_2100 & 7) >= 4)
|
||||
svga->write_bank = (val & 0x7) * 0x10000;
|
||||
svga->read_bank = svga->write_bank;
|
||||
svga->read_bank = svga->write_bank = (val & 0x7) * 0x10000;
|
||||
ti->banking = val;
|
||||
break;
|
||||
|
||||
@@ -144,26 +151,36 @@ vid_in(uint16_t addr, void *priv)
|
||||
svga_t *svga = &ti->svga;
|
||||
uint8_t ret;
|
||||
|
||||
if (((addr & 0xfff0) == 0x3d0 ||
|
||||
(addr & 0xfff0) == 0x3b0) && !(svga->miscout & 1)) addr ^= 0x60;
|
||||
#if 0
|
||||
if (((addr & 0xfff0) == 0x03d0 || (addr & 0xfff0) == 0x03b0) &&
|
||||
!(svga->miscout & 1)) addr ^= 0x60;
|
||||
#endif
|
||||
|
||||
switch (addr) {
|
||||
case 0x100:
|
||||
case 0x0100:
|
||||
ret = 0xfe;
|
||||
break;
|
||||
|
||||
case 0x101:
|
||||
case 0x0101:
|
||||
ret = 0xe8;
|
||||
break;
|
||||
|
||||
case 0x3D4:
|
||||
case 0x0102:
|
||||
ret = ti->enabled;
|
||||
break;
|
||||
|
||||
case 0x03d4:
|
||||
ret = svga->crtcreg;
|
||||
break;
|
||||
|
||||
case 0x3D5:
|
||||
case 0x03d5:
|
||||
ret = svga->crtc[svga->crtcreg];
|
||||
break;
|
||||
|
||||
case 0x2100:
|
||||
ret = ti->reg_2100;
|
||||
break;
|
||||
|
||||
case 0x2108:
|
||||
ret = ti->banking;
|
||||
break;
|
||||
@@ -177,6 +194,8 @@ vid_in(uint16_t addr, void *priv)
|
||||
break;
|
||||
}
|
||||
|
||||
pclog("TISVGA_in(%04x) = %02x\n", addr, ret);
|
||||
|
||||
return(ret);
|
||||
}
|
||||
|
||||
@@ -236,9 +255,11 @@ vid_init(device_t *info)
|
||||
|
||||
pclog("VIDEO: initializing %s, %dK VRAM\n", info->name, ti->vram_size);
|
||||
|
||||
svga_init(&ti->svga, ti, ti->vram_size<<10, NULL, vid_in, vid_out, NULL, NULL);
|
||||
svga_init(&ti->svga, ti,
|
||||
ti->vram_size<<10,
|
||||
NULL, vid_in, vid_out, NULL, NULL);
|
||||
|
||||
io_sethandler(0x0100, 2, vid_in, NULL, NULL, vid_out, NULL, NULL, ti);
|
||||
io_sethandler(0x0100, 2, vid_in, NULL, NULL, NULL, NULL, NULL, ti);
|
||||
io_sethandler(0x03c0, 32, vid_in, NULL, NULL, vid_out, NULL, NULL, ti);
|
||||
io_sethandler(0x2100, 16, vid_in, NULL, NULL, vid_out, NULL, NULL, ti);
|
||||
|
||||
@@ -290,7 +311,7 @@ device_t ti_cf62011_device = {
|
||||
device_t ibm_ps1_2121_device = {
|
||||
"IBM PS/1 Model 2121 SVGA",
|
||||
0,
|
||||
256,
|
||||
512,
|
||||
vid_init, vid_close, NULL,
|
||||
NULL,
|
||||
vid_speed_changed,
|
||||
|
||||
@@ -554,17 +554,6 @@ video_close(void)
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
video_reset(void)
|
||||
{
|
||||
pclog("VIDEO: reset(rom=%d, gfx=%d, internal=%d)\n",
|
||||
romset, gfxcard, (machines[machine].flags & MACHINE_VIDEO)?1:0);
|
||||
|
||||
cga_palette = 0;
|
||||
cgapal_rebuild();
|
||||
}
|
||||
|
||||
|
||||
uint8_t
|
||||
video_force_resize_get(void)
|
||||
{
|
||||
|
||||
@@ -32,79 +32,81 @@ enum {
|
||||
GFX_CGA,
|
||||
GFX_MDA,
|
||||
GFX_HERCULES,
|
||||
GFX_EGA, /* Using IBM EGA BIOS */
|
||||
GFX_TVGA, /* Using Trident TVGA8900D BIOS */
|
||||
GFX_ET4000, /* Tseng ET4000 */
|
||||
GFX_ET4000W32_VLB, /* Tseng ET4000/W32p (Diamond Stealth 32) VLB */
|
||||
GFX_ET4000W32_PCI, /* Tseng ET4000/W32p (Diamond Stealth 32) PCI */
|
||||
GFX_BAHAMAS64_VLB, /* S3 Vision864 (Paradise Bahamas 64) VLB */
|
||||
GFX_BAHAMAS64_PCI, /* S3 Vision864 (Paradise Bahamas 64) PCI */
|
||||
GFX_N9_9FX_VLB, /* S3 764/Trio64 (Number Nine 9FX) VLB */
|
||||
GFX_N9_9FX_PCI, /* S3 764/Trio64 (Number Nine 9FX) PCI */
|
||||
GFX_VIRGE_VLB, /* S3 Virge VLB */
|
||||
GFX_VIRGE_PCI, /* S3 Virge PCI */
|
||||
GFX_TGUI9440_VLB, /* Trident TGUI9440 VLB */
|
||||
GFX_TGUI9440_PCI, /* Trident TGUI9440 PCI */
|
||||
GFX_VGA, /* IBM VGA */
|
||||
GFX_VGAEDGE16, /* ATI VGA Edge-16 (18800-1) */
|
||||
GFX_VGACHARGER, /* ATI VGA Charger (28800-5) */
|
||||
GFX_OTI067, /* Oak OTI-067 */
|
||||
GFX_MACH64GX_VLB, /* ATI Graphics Pro Turbo (Mach64) VLB */
|
||||
GFX_MACH64GX_PCI, /* ATI Graphics Pro Turbo (Mach64) PCI */
|
||||
GFX_CL_GD5429, /* Cirrus Logic CL-GD5429 */
|
||||
GFX_VIRGEDX_VLB, /* S3 Virge/DX VLB */
|
||||
GFX_VIRGEDX_PCI, /* S3 Virge/DX PCI */
|
||||
GFX_PHOENIX_TRIO32_VLB, /* S3 732/Trio32 (Phoenix) VLB */
|
||||
GFX_PHOENIX_TRIO32_PCI, /* S3 732/Trio32 (Phoenix) PCI */
|
||||
GFX_PHOENIX_TRIO64_VLB, /* S3 764/Trio64 (Phoenix) VLB */
|
||||
GFX_PHOENIX_TRIO64_PCI, /* S3 764/Trio64 (Phoenix) PCI */
|
||||
GFX_INCOLOR, /* Hercules InColor */
|
||||
GFX_COLORPLUS, /* Plantronics ColorPlus */
|
||||
GFX_WY700, /* Wyse 700 */
|
||||
GFX_GENIUS, /* MDSI Genius */
|
||||
GFX_MACH64VT2, /* ATI Mach64 VT2 */
|
||||
GFX_COMPAQ_EGA, /* Compaq EGA */
|
||||
GFX_SUPER_EGA, /* Using Chips & Technologies SuperEGA BIOS */
|
||||
GFX_COMPAQ_VGA, /* Compaq/Paradise VGA */
|
||||
GFX_CL_GD5446, /* Cirrus Logic CL-GD5446 */
|
||||
GFX_VGAWONDERXL, /* Compaq ATI VGA Wonder XL (28800-5) */
|
||||
GFX_WD90C11, /* Paradise WD90C11 Standalone */
|
||||
GFX_OTI077, /* Oak OTI-077 */
|
||||
GFX_VGAWONDERXL24, /* Compaq ATI VGA Wonder XL24 (28800-6) */
|
||||
GFX_STEALTH64_VLB, /* S3 Vision864 (Diamond Stealth 64) VLB */
|
||||
GFX_STEALTH64_PCI, /* S3 Vision864 (Diamond Stealth 64) PCI */
|
||||
GFX_PHOENIX_VISION864_VLB, /* S3 Vision864 (Phoenix) VLB */
|
||||
GFX_PHOENIX_VISION864_PCI, /* S3 Vision864 (Phoenix) PCI */
|
||||
GFX_RIVATNT, /* nVidia Riva TNT */
|
||||
GFX_RIVATNT2, /* nVidia Riva TNT2 */
|
||||
GFX_RIVA128, /* nVidia Riva 128 */
|
||||
GFX_EGA, /* Using IBM EGA BIOS */
|
||||
GFX_TVGA, /* Using Trident TVGA8900D BIOS */
|
||||
GFX_ET4000, /* Tseng ET4000 */
|
||||
GFX_ET4000W32_VLB, /* Tseng ET4000/W32p (Diamond Stealth 32) VLB */
|
||||
GFX_ET4000W32_PCI, /* Tseng ET4000/W32p (Diamond Stealth 32) PCI */
|
||||
GFX_BAHAMAS64_VLB, /* S3 Vision864 (Paradise Bahamas 64) VLB */
|
||||
GFX_BAHAMAS64_PCI, /* S3 Vision864 (Paradise Bahamas 64) PCI */
|
||||
GFX_N9_9FX_VLB, /* S3 764/Trio64 (Number Nine 9FX) VLB */
|
||||
GFX_N9_9FX_PCI, /* S3 764/Trio64 (Number Nine 9FX) PCI */
|
||||
GFX_VIRGE_VLB, /* S3 Virge VLB */
|
||||
GFX_VIRGE_PCI, /* S3 Virge PCI */
|
||||
GFX_TGUI9440_VLB, /* Trident TGUI9440 VLB */
|
||||
GFX_TGUI9440_PCI, /* Trident TGUI9440 PCI */
|
||||
GFX_VGA, /* IBM VGA */
|
||||
GFX_VGAEDGE16, /* ATI VGA Edge-16 (18800-1) */
|
||||
GFX_VGACHARGER, /* ATI VGA Charger (28800-5) */
|
||||
GFX_OTI067, /* Oak OTI-067 */
|
||||
GFX_MACH64GX_VLB, /* ATI Graphics Pro Turbo (Mach64) VLB */
|
||||
GFX_MACH64GX_PCI, /* ATI Graphics Pro Turbo (Mach64) PCI */
|
||||
GFX_CL_GD5429, /* Cirrus Logic CL-GD5429 */
|
||||
GFX_VIRGEDX_VLB, /* S3 Virge/DX VLB */
|
||||
GFX_VIRGEDX_PCI, /* S3 Virge/DX PCI */
|
||||
GFX_PHOENIX_TRIO32_VLB, /* S3 732/Trio32 (Phoenix) VLB */
|
||||
GFX_PHOENIX_TRIO32_PCI, /* S3 732/Trio32 (Phoenix) PCI */
|
||||
GFX_PHOENIX_TRIO64_VLB, /* S3 764/Trio64 (Phoenix) VLB */
|
||||
GFX_PHOENIX_TRIO64_PCI, /* S3 764/Trio64 (Phoenix) PCI */
|
||||
GFX_INCOLOR, /* Hercules InColor */
|
||||
GFX_COLORPLUS, /* Plantronics ColorPlus */
|
||||
GFX_WY700, /* Wyse 700 */
|
||||
GFX_GENIUS, /* MDSI Genius */
|
||||
GFX_MACH64VT2, /* ATI Mach64 VT2 */
|
||||
GFX_COMPAQ_EGA, /* Compaq EGA */
|
||||
GFX_SUPER_EGA, /* Using Chips & Technologies SuperEGA BIOS */
|
||||
GFX_COMPAQ_VGA, /* Compaq/Paradise VGA */
|
||||
GFX_CL_GD5446, /* Cirrus Logic CL-GD5446 */
|
||||
GFX_VGAWONDERXL, /* Compaq ATI VGA Wonder XL (28800-5) */
|
||||
GFX_WD90C11, /* Paradise WD90C11 Standalone */
|
||||
GFX_OTI077, /* Oak OTI-077 */
|
||||
GFX_VGAWONDERXL24, /* Compaq ATI VGA Wonder XL24 (28800-6) */
|
||||
GFX_STEALTH64_VLB, /* S3 Vision864 (Diamond Stealth 64) VLB */
|
||||
GFX_STEALTH64_PCI, /* S3 Vision864 (Diamond Stealth 64) PCI */
|
||||
GFX_PHOENIX_VISION864_VLB, /* S3 Vision864 (Phoenix) VLB */
|
||||
GFX_PHOENIX_VISION864_PCI, /* S3 Vision864 (Phoenix) PCI */
|
||||
GFX_RIVATNT, /* nVidia Riva TNT */
|
||||
GFX_RIVATNT2, /* nVidia Riva TNT2 */
|
||||
GFX_RIVA128, /* nVidia Riva 128 */
|
||||
GFX_HERCULESPLUS,
|
||||
GFX_VIRGEVX_VLB, /* S3 Virge/VX VLB */
|
||||
GFX_VIRGEVX_PCI, /* S3 Virge/VX PCI */
|
||||
GFX_VIRGEDX4_VLB, /* S3 Virge/DX (VBE 2.0) VLB */
|
||||
GFX_VIRGEDX4_PCI, /* S3 Virge/DX (VBE 2.0) PCI */
|
||||
GFX_OTI037, /* Oak OTI-037 */
|
||||
GFX_TRIGEM_UNK, /* Unknown TriGem graphics card w/Hangeul ROM */
|
||||
GFX_MIRO_VISION964, /* S3 Vision964 (Miro Crystal) */
|
||||
GFX_CL_GD5422, /* Cirrus Logic CL-GD5422 */
|
||||
GFX_CL_GD5430, /* Cirrus Logic CL-GD5430 */
|
||||
GFX_CL_GD5434, /* Cirrus Logic CL-GD5434 */
|
||||
GFX_CL_GD5436, /* Cirrus Logic CL-GD5436 */
|
||||
GFX_CL_GD5440, /* Cirrus Logic CL-GD5440 */
|
||||
GFX_TICF62011, /* TI CF62011 */
|
||||
GFX_VIRGEVX_VLB, /* S3 Virge/VX VLB */
|
||||
GFX_VIRGEVX_PCI, /* S3 Virge/VX PCI */
|
||||
GFX_VIRGEDX4_VLB, /* S3 Virge/DX (VBE 2.0) VLB */
|
||||
GFX_VIRGEDX4_PCI, /* S3 Virge/DX (VBE 2.0) PCI */
|
||||
GFX_OTI037, /* Oak OTI-037 */
|
||||
GFX_TRIGEM_UNK, /* Unknown TriGem graphics card w/Hangeul ROM */
|
||||
GFX_MIRO_VISION964, /* S3 Vision964 (Miro Crystal) */
|
||||
GFX_CL_GD5422, /* Cirrus Logic CL-GD5422 */
|
||||
GFX_CL_GD5430, /* Cirrus Logic CL-GD5430 */
|
||||
GFX_CL_GD5434, /* Cirrus Logic CL-GD5434 */
|
||||
GFX_CL_GD5436, /* Cirrus Logic CL-GD5436 */
|
||||
GFX_CL_GD5440, /* Cirrus Logic CL-GD5440 */
|
||||
GFX_TICF62011, /* TI CF62011 */
|
||||
|
||||
GFX_MAX
|
||||
};
|
||||
|
||||
#define MDA ((gfxcard==GFX_MDA || gfxcard==GFX_HERCULES || \
|
||||
gfxcard==GFX_HERCULESPLUS || gfxcard==GFX_INCOLOR || \
|
||||
gfxcard==GFX_GENIUS) && (romset<ROM_TANDY || romset>=ROM_IBMAT))
|
||||
gfxcard==GFX_GENIUS) && \
|
||||
(romset<ROM_TANDY || romset>=ROM_IBMAT))
|
||||
|
||||
#define VGA ((gfxcard>=GFX_TVGA) && gfxcard!=GFX_COLORPLUS && \
|
||||
gfxcard!=GFX_INCOLOR && gfxcard!=GFX_WY700 && gfxcard!=GFX_GENIUS && \
|
||||
gfxcard!=GFX_COMPAQ_EGA && gfxcard!=GFX_SUPER_EGA && \
|
||||
gfxcard!=GFX_HERCULESPLUS && romset!=ROM_PC1640 && \
|
||||
romset!=ROM_PC1512 && romset!=ROM_TANDY && romset!=ROM_PC200)
|
||||
#define VGA (((gfxcard>=GFX_TVGA) && gfxcard!=GFX_COLORPLUS && \
|
||||
gfxcard!=GFX_INCOLOR && gfxcard!=GFX_WY700 && \
|
||||
gfxcard!=GFX_GENIUS && gfxcard!=GFX_COMPAQ_EGA && \
|
||||
gfxcard!=GFX_SUPER_EGA && gfxcard!=GFX_HERCULESPLUS) && \
|
||||
(romset!=ROM_PC1640 && romset!=ROM_PC1512 && \
|
||||
romset!=ROM_TANDY && romset!=ROM_PC200))
|
||||
|
||||
enum {
|
||||
FULLSCR_SCALE_FULL = 0,
|
||||
@@ -209,8 +211,7 @@ extern void updatewindowsize(int x, int y);
|
||||
|
||||
extern void video_init(void);
|
||||
extern void video_close(void);
|
||||
extern void video_reset(void);
|
||||
extern void video_reset_card(int);
|
||||
extern void video_reset(int card);
|
||||
extern uint8_t video_force_resize_get(void);
|
||||
extern void video_force_resize_set(uint8_t res);
|
||||
extern void video_update_timing(void);
|
||||
|
||||
Reference in New Issue
Block a user