2017-11-05 01:57:04 -05:00
|
|
|
/*
|
|
|
|
|
* 86Box A hypervisor and IBM PC system emulator that specializes in
|
|
|
|
|
* running old operating systems and software designed for IBM
|
|
|
|
|
* PC systems and compatibles from 1981 through fairly recent
|
|
|
|
|
* system designs based on the PCI bus.
|
|
|
|
|
*
|
|
|
|
|
* This file is part of the 86Box distribution.
|
|
|
|
|
*
|
|
|
|
|
* Definitions for the video controller module.
|
|
|
|
|
*
|
2020-03-25 00:46:02 +02:00
|
|
|
*
|
2017-11-05 01:57:04 -05:00
|
|
|
*
|
|
|
|
|
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
|
|
|
|
|
* Miran Grca, <mgrca8@gmail.com>
|
|
|
|
|
* Fred N. van Kempen, <decwiz@yahoo.com>
|
|
|
|
|
*
|
2019-12-06 03:50:54 +01:00
|
|
|
* Copyright 2008-2019 Sarah Walker.
|
|
|
|
|
* Copyright 2016-2019 Miran Grca.
|
|
|
|
|
* Copyright 2017-2019 Fred N. van Kempen.
|
2017-11-05 01:57:04 -05:00
|
|
|
*/
|
2017-10-07 00:46:54 -04:00
|
|
|
#ifndef EMU_VIDEO_H
|
|
|
|
|
# define EMU_VIDEO_H
|
|
|
|
|
|
2016-06-26 00:34:39 +02:00
|
|
|
|
|
|
|
|
#define makecol(r, g, b) ((b) | ((g) << 8) | ((r) << 16))
|
|
|
|
|
#define makecol32(r, g, b) ((b) | ((g) << 8) | ((r) << 16))
|
|
|
|
|
|
|
|
|
|
|
2017-11-05 01:57:04 -05:00
|
|
|
enum {
|
2018-09-19 20:13:32 +02:00
|
|
|
VID_NONE = 0,
|
2018-09-19 20:46:42 +02:00
|
|
|
VID_INTERNAL
|
2017-11-05 01:57:04 -05:00
|
|
|
};
|
|
|
|
|
|
2017-10-11 05:40:44 -04:00
|
|
|
enum {
|
|
|
|
|
FULLSCR_SCALE_FULL = 0,
|
|
|
|
|
FULLSCR_SCALE_43,
|
Added the IBM 5161 ISA expansion for PC and XT;
Cleaned up the parallel port emulation, added IRQ support, and made enabling/disabling per port;
Added the Award 430NX and the Intel Classic/PCI (Alfredo, 420TX);
Finished the 586MC1;
Added 8087 emulation;
Moved Cyrix 6x86'es to the Dev branch;
Sanitized/cleaned up memregs.c/h and intel.c/h;
Split the chipsets from machines and sanitized Port 92 emulation;
Added support for the 15bpp mode to the Compaq ATI 28800;
Moved the MR 386DX and 486 machines to the Dev branch;
Ported the new dynamic recompiler from PCem, but it remains in Dev branch until after v2.00;
Ported the new timer code from PCem;
Cleaned up the CPU table of unused stuff and better optimized its structure;
Ported the Open-XT and Open-AT from VARCem, the Open-AT is in the Dev branch;
Ported the XT MFM controller rewrite and adding of more controllers (incl. two RLL ones), from VARCem;
Added the AHA-1540A and the BusTek BT-542B;
Moved the Sumo SCSI-AT to the Dev branch;
Minor IDE, FDC, and floppy drive code clean-ups;
Made NCR 5380/53C400-based cards' BIOS address configurable;
Got rid of the legacy romset variable;
Unified (video) buffer and buffer32 into one and make the unified buffer 32-bit;
Added the Amstead PPC512 per PCem patch by John Elliott;
Switched memory mapping granularity from 16k to 4k (less than 1k not possible due to internal pages);
Rewrote the CL-GD 54xx blitter, fixes Win-OS/2 on the 54x6 among other thing;
Added the Image Manager 1024 and Professional Graphics Controller per PCem patch by John Elliott and work done on VARCem;
Added Headland HT-216, GC-205 and Video 7 VGA 1024i emulation based on PCem commit;
Implemented the fuction keys for the Toshiba T1000/T1200/T3100 enhancement;
Amstrad MegaPC does now works correctly with non-internal graphics card;
The SLiRP code no longer casts a packed struct type to a non-packed struct type;
The Xi8088 and PB410a no longer hang on 86Box when PS/2 mouse is not present;
The S3 Virge on BeOS is no longer broken (was broken by build #1591);
OS/2 2.0 build 6.167 now sees key presses again;
Xi8088 now work on CGA again;
86F images converted from either the old or new variants of the HxC MFM format now work correctly;
Hardware interrupts with a vector of 0xFF are now handled correctly;
OPTi 495SX boards no longer incorrectly have 64 MB maximum RAM when 32 MB is correct;
Fixed VNC keyboard input bugs;
Fixed AT RTC periodic interrupt - Chicago 58s / 73f / 73g / 81 MIDI play no longer hangs with the build's own VTD driver;
Fixed mouse polling with internal mice - Amstrad and Olivetti mice now work correctly;
Triones ATAPI DMA driver now correctly reads a file at the end of a CD image with a sectors number not divisible by 4;
Compaq Portable now works with all graphics cards;
Fixed various MDSI Genius bugs;
Added segment limit checks and improved page fault checks for several CPU instructions - Memphis 15xx WINSETUP and Chicago 58s WINDISK.CPL no longer issue a GPF, and some S3 drivers that used to have glitches, now work correctly;
Further improved the 808x emulation, also fixes the noticably choppy sound when using 808x CPU's, also fixes #355;
OS/2 installer no logner locks up on splash screen on PS/2 Model 70 and 80, fixes #400.
Fixed several Amstead bugs, GEM no longer crashes on the Amstrad 1640, fixes #391.
Ported John Elliott's Amstrad fixes and improvement from PCem, and fixed the default language so it's correctly Engliish, fixes #278, fixes #389.
Fixed a minor IDE timing bug, fixes #388.
Fixed Toshiba T1000 RAM issues, fixes #379.
Fixed EGA/(S)VGA overscan border handling, fixes #378;
Got rid of the now long useless IDE channel 2 auto-removal, fixes #370;
Fixed the BIOS files used by the AMSTRAD PC1512, fixes #366;
Ported the Unicode CD image file name fix from VARCem, fixes #365;
Fixed high density floppy disks on the Xi8088, fixes #359;
Fixed some bugs in the Hercules emulation, fixes #346, fixes #358;
Fixed the SCSI hard disk mode sense pages, fixes #356;
Removed the AMI Unknown 386SX because of impossibility to identify the chipset, closes #349;
Fixed bugs in the serial mouse emulation, fixes #344;
Compiled 86Box binaries now include all the required .DLL's, fixes #341;
Made some combo boxes in the Settings dialog slightly wider, fixes #276.
2019-09-20 14:02:30 +02:00
|
|
|
FULLSCR_SCALE_KEEPRATIO,
|
|
|
|
|
FULLSCR_SCALE_INT
|
2016-06-26 00:34:39 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
2017-11-05 01:57:04 -05:00
|
|
|
#ifdef __cplusplus
|
|
|
|
|
extern "C" {
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
2018-09-19 20:13:32 +02:00
|
|
|
enum {
|
|
|
|
|
VIDEO_ISA = 0,
|
|
|
|
|
VIDEO_MCA,
|
2020-05-06 00:23:07 +02:00
|
|
|
VIDEO_BUS,
|
|
|
|
|
VIDEO_PCI
|
2018-09-19 20:13:32 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#define VIDEO_FLAG_TYPE_CGA 0
|
|
|
|
|
#define VIDEO_FLAG_TYPE_MDA 1
|
|
|
|
|
#define VIDEO_FLAG_TYPE_SPECIAL 2
|
Added the IBM 5161 ISA expansion for PC and XT;
Cleaned up the parallel port emulation, added IRQ support, and made enabling/disabling per port;
Added the Award 430NX and the Intel Classic/PCI (Alfredo, 420TX);
Finished the 586MC1;
Added 8087 emulation;
Moved Cyrix 6x86'es to the Dev branch;
Sanitized/cleaned up memregs.c/h and intel.c/h;
Split the chipsets from machines and sanitized Port 92 emulation;
Added support for the 15bpp mode to the Compaq ATI 28800;
Moved the MR 386DX and 486 machines to the Dev branch;
Ported the new dynamic recompiler from PCem, but it remains in Dev branch until after v2.00;
Ported the new timer code from PCem;
Cleaned up the CPU table of unused stuff and better optimized its structure;
Ported the Open-XT and Open-AT from VARCem, the Open-AT is in the Dev branch;
Ported the XT MFM controller rewrite and adding of more controllers (incl. two RLL ones), from VARCem;
Added the AHA-1540A and the BusTek BT-542B;
Moved the Sumo SCSI-AT to the Dev branch;
Minor IDE, FDC, and floppy drive code clean-ups;
Made NCR 5380/53C400-based cards' BIOS address configurable;
Got rid of the legacy romset variable;
Unified (video) buffer and buffer32 into one and make the unified buffer 32-bit;
Added the Amstead PPC512 per PCem patch by John Elliott;
Switched memory mapping granularity from 16k to 4k (less than 1k not possible due to internal pages);
Rewrote the CL-GD 54xx blitter, fixes Win-OS/2 on the 54x6 among other thing;
Added the Image Manager 1024 and Professional Graphics Controller per PCem patch by John Elliott and work done on VARCem;
Added Headland HT-216, GC-205 and Video 7 VGA 1024i emulation based on PCem commit;
Implemented the fuction keys for the Toshiba T1000/T1200/T3100 enhancement;
Amstrad MegaPC does now works correctly with non-internal graphics card;
The SLiRP code no longer casts a packed struct type to a non-packed struct type;
The Xi8088 and PB410a no longer hang on 86Box when PS/2 mouse is not present;
The S3 Virge on BeOS is no longer broken (was broken by build #1591);
OS/2 2.0 build 6.167 now sees key presses again;
Xi8088 now work on CGA again;
86F images converted from either the old or new variants of the HxC MFM format now work correctly;
Hardware interrupts with a vector of 0xFF are now handled correctly;
OPTi 495SX boards no longer incorrectly have 64 MB maximum RAM when 32 MB is correct;
Fixed VNC keyboard input bugs;
Fixed AT RTC periodic interrupt - Chicago 58s / 73f / 73g / 81 MIDI play no longer hangs with the build's own VTD driver;
Fixed mouse polling with internal mice - Amstrad and Olivetti mice now work correctly;
Triones ATAPI DMA driver now correctly reads a file at the end of a CD image with a sectors number not divisible by 4;
Compaq Portable now works with all graphics cards;
Fixed various MDSI Genius bugs;
Added segment limit checks and improved page fault checks for several CPU instructions - Memphis 15xx WINSETUP and Chicago 58s WINDISK.CPL no longer issue a GPF, and some S3 drivers that used to have glitches, now work correctly;
Further improved the 808x emulation, also fixes the noticably choppy sound when using 808x CPU's, also fixes #355;
OS/2 installer no logner locks up on splash screen on PS/2 Model 70 and 80, fixes #400.
Fixed several Amstead bugs, GEM no longer crashes on the Amstrad 1640, fixes #391.
Ported John Elliott's Amstrad fixes and improvement from PCem, and fixed the default language so it's correctly Engliish, fixes #278, fixes #389.
Fixed a minor IDE timing bug, fixes #388.
Fixed Toshiba T1000 RAM issues, fixes #379.
Fixed EGA/(S)VGA overscan border handling, fixes #378;
Got rid of the now long useless IDE channel 2 auto-removal, fixes #370;
Fixed the BIOS files used by the AMSTRAD PC1512, fixes #366;
Ported the Unicode CD image file name fix from VARCem, fixes #365;
Fixed high density floppy disks on the Xi8088, fixes #359;
Fixed some bugs in the Hercules emulation, fixes #346, fixes #358;
Fixed the SCSI hard disk mode sense pages, fixes #356;
Removed the AMI Unknown 386SX because of impossibility to identify the chipset, closes #349;
Fixed bugs in the serial mouse emulation, fixes #344;
Compiled 86Box binaries now include all the required .DLL's, fixes #341;
Made some combo boxes in the Settings dialog slightly wider, fixes #276.
2019-09-20 14:02:30 +02:00
|
|
|
#define VIDEO_FLAG_TYPE_NONE 3
|
2018-09-19 20:13:32 +02:00
|
|
|
#define VIDEO_FLAG_TYPE_MASK 3
|
|
|
|
|
|
2018-02-01 03:14:55 +01:00
|
|
|
typedef struct {
|
|
|
|
|
int type;
|
|
|
|
|
int write_b, write_w, write_l;
|
|
|
|
|
int read_b, read_w, read_l;
|
|
|
|
|
} video_timings_t;
|
|
|
|
|
|
2017-10-11 05:40:44 -04:00
|
|
|
typedef struct {
|
|
|
|
|
int w, h;
|
Added the IBM 5161 ISA expansion for PC and XT;
Cleaned up the parallel port emulation, added IRQ support, and made enabling/disabling per port;
Added the Award 430NX and the Intel Classic/PCI (Alfredo, 420TX);
Finished the 586MC1;
Added 8087 emulation;
Moved Cyrix 6x86'es to the Dev branch;
Sanitized/cleaned up memregs.c/h and intel.c/h;
Split the chipsets from machines and sanitized Port 92 emulation;
Added support for the 15bpp mode to the Compaq ATI 28800;
Moved the MR 386DX and 486 machines to the Dev branch;
Ported the new dynamic recompiler from PCem, but it remains in Dev branch until after v2.00;
Ported the new timer code from PCem;
Cleaned up the CPU table of unused stuff and better optimized its structure;
Ported the Open-XT and Open-AT from VARCem, the Open-AT is in the Dev branch;
Ported the XT MFM controller rewrite and adding of more controllers (incl. two RLL ones), from VARCem;
Added the AHA-1540A and the BusTek BT-542B;
Moved the Sumo SCSI-AT to the Dev branch;
Minor IDE, FDC, and floppy drive code clean-ups;
Made NCR 5380/53C400-based cards' BIOS address configurable;
Got rid of the legacy romset variable;
Unified (video) buffer and buffer32 into one and make the unified buffer 32-bit;
Added the Amstead PPC512 per PCem patch by John Elliott;
Switched memory mapping granularity from 16k to 4k (less than 1k not possible due to internal pages);
Rewrote the CL-GD 54xx blitter, fixes Win-OS/2 on the 54x6 among other thing;
Added the Image Manager 1024 and Professional Graphics Controller per PCem patch by John Elliott and work done on VARCem;
Added Headland HT-216, GC-205 and Video 7 VGA 1024i emulation based on PCem commit;
Implemented the fuction keys for the Toshiba T1000/T1200/T3100 enhancement;
Amstrad MegaPC does now works correctly with non-internal graphics card;
The SLiRP code no longer casts a packed struct type to a non-packed struct type;
The Xi8088 and PB410a no longer hang on 86Box when PS/2 mouse is not present;
The S3 Virge on BeOS is no longer broken (was broken by build #1591);
OS/2 2.0 build 6.167 now sees key presses again;
Xi8088 now work on CGA again;
86F images converted from either the old or new variants of the HxC MFM format now work correctly;
Hardware interrupts with a vector of 0xFF are now handled correctly;
OPTi 495SX boards no longer incorrectly have 64 MB maximum RAM when 32 MB is correct;
Fixed VNC keyboard input bugs;
Fixed AT RTC periodic interrupt - Chicago 58s / 73f / 73g / 81 MIDI play no longer hangs with the build's own VTD driver;
Fixed mouse polling with internal mice - Amstrad and Olivetti mice now work correctly;
Triones ATAPI DMA driver now correctly reads a file at the end of a CD image with a sectors number not divisible by 4;
Compaq Portable now works with all graphics cards;
Fixed various MDSI Genius bugs;
Added segment limit checks and improved page fault checks for several CPU instructions - Memphis 15xx WINSETUP and Chicago 58s WINDISK.CPL no longer issue a GPF, and some S3 drivers that used to have glitches, now work correctly;
Further improved the 808x emulation, also fixes the noticably choppy sound when using 808x CPU's, also fixes #355;
OS/2 installer no logner locks up on splash screen on PS/2 Model 70 and 80, fixes #400.
Fixed several Amstead bugs, GEM no longer crashes on the Amstrad 1640, fixes #391.
Ported John Elliott's Amstrad fixes and improvement from PCem, and fixed the default language so it's correctly Engliish, fixes #278, fixes #389.
Fixed a minor IDE timing bug, fixes #388.
Fixed Toshiba T1000 RAM issues, fixes #379.
Fixed EGA/(S)VGA overscan border handling, fixes #378;
Got rid of the now long useless IDE channel 2 auto-removal, fixes #370;
Fixed the BIOS files used by the AMSTRAD PC1512, fixes #366;
Ported the Unicode CD image file name fix from VARCem, fixes #365;
Fixed high density floppy disks on the Xi8088, fixes #359;
Fixed some bugs in the Hercules emulation, fixes #346, fixes #358;
Fixed the SCSI hard disk mode sense pages, fixes #356;
Removed the AMI Unknown 386SX because of impossibility to identify the chipset, closes #349;
Fixed bugs in the serial mouse emulation, fixes #344;
Compiled 86Box binaries now include all the required .DLL's, fixes #341;
Made some combo boxes in the Settings dialog slightly wider, fixes #276.
2019-09-20 14:02:30 +02:00
|
|
|
uint32_t *dat;
|
2020-01-14 19:42:11 +01:00
|
|
|
uint32_t *line[2112];
|
2017-11-19 03:15:29 -05:00
|
|
|
} bitmap_t;
|
2016-06-26 00:34:39 +02:00
|
|
|
|
2017-10-11 05:40:44 -04:00
|
|
|
typedef struct {
|
|
|
|
|
uint8_t r, g, b;
|
2017-11-19 03:15:29 -05:00
|
|
|
} rgb_t;
|
2017-11-05 01:57:04 -05:00
|
|
|
|
2018-03-15 22:57:24 +01:00
|
|
|
typedef struct {
|
|
|
|
|
uint8_t chr[32];
|
|
|
|
|
} dbcs_font_t;
|
|
|
|
|
|
2017-11-19 03:15:29 -05:00
|
|
|
typedef rgb_t PALETTE[256];
|
2016-06-26 00:34:39 +02:00
|
|
|
|
|
|
|
|
|
2017-11-05 01:57:04 -05:00
|
|
|
extern int egareads,
|
|
|
|
|
egawrites;
|
|
|
|
|
extern int changeframecount;
|
|
|
|
|
|
2019-10-20 15:09:38 +02:00
|
|
|
extern volatile int screenshots;
|
2019-12-06 03:50:54 +01:00
|
|
|
extern bitmap_t *buffer32, *render_buffer;
|
2017-10-11 05:40:44 -04:00
|
|
|
extern PALETTE cgapal,
|
|
|
|
|
cgapal_mono[6];
|
|
|
|
|
extern uint32_t pal_lookup[256];
|
|
|
|
|
extern int video_fullscreen,
|
|
|
|
|
video_fullscreen_scale,
|
|
|
|
|
video_fullscreen_first;
|
|
|
|
|
extern int fullchange;
|
2017-12-31 06:37:19 +01:00
|
|
|
extern uint8_t fontdat[2048][8];
|
|
|
|
|
extern uint8_t fontdatm[2048][16];
|
Added the IBM 5161 ISA expansion for PC and XT;
Cleaned up the parallel port emulation, added IRQ support, and made enabling/disabling per port;
Added the Award 430NX and the Intel Classic/PCI (Alfredo, 420TX);
Finished the 586MC1;
Added 8087 emulation;
Moved Cyrix 6x86'es to the Dev branch;
Sanitized/cleaned up memregs.c/h and intel.c/h;
Split the chipsets from machines and sanitized Port 92 emulation;
Added support for the 15bpp mode to the Compaq ATI 28800;
Moved the MR 386DX and 486 machines to the Dev branch;
Ported the new dynamic recompiler from PCem, but it remains in Dev branch until after v2.00;
Ported the new timer code from PCem;
Cleaned up the CPU table of unused stuff and better optimized its structure;
Ported the Open-XT and Open-AT from VARCem, the Open-AT is in the Dev branch;
Ported the XT MFM controller rewrite and adding of more controllers (incl. two RLL ones), from VARCem;
Added the AHA-1540A and the BusTek BT-542B;
Moved the Sumo SCSI-AT to the Dev branch;
Minor IDE, FDC, and floppy drive code clean-ups;
Made NCR 5380/53C400-based cards' BIOS address configurable;
Got rid of the legacy romset variable;
Unified (video) buffer and buffer32 into one and make the unified buffer 32-bit;
Added the Amstead PPC512 per PCem patch by John Elliott;
Switched memory mapping granularity from 16k to 4k (less than 1k not possible due to internal pages);
Rewrote the CL-GD 54xx blitter, fixes Win-OS/2 on the 54x6 among other thing;
Added the Image Manager 1024 and Professional Graphics Controller per PCem patch by John Elliott and work done on VARCem;
Added Headland HT-216, GC-205 and Video 7 VGA 1024i emulation based on PCem commit;
Implemented the fuction keys for the Toshiba T1000/T1200/T3100 enhancement;
Amstrad MegaPC does now works correctly with non-internal graphics card;
The SLiRP code no longer casts a packed struct type to a non-packed struct type;
The Xi8088 and PB410a no longer hang on 86Box when PS/2 mouse is not present;
The S3 Virge on BeOS is no longer broken (was broken by build #1591);
OS/2 2.0 build 6.167 now sees key presses again;
Xi8088 now work on CGA again;
86F images converted from either the old or new variants of the HxC MFM format now work correctly;
Hardware interrupts with a vector of 0xFF are now handled correctly;
OPTi 495SX boards no longer incorrectly have 64 MB maximum RAM when 32 MB is correct;
Fixed VNC keyboard input bugs;
Fixed AT RTC periodic interrupt - Chicago 58s / 73f / 73g / 81 MIDI play no longer hangs with the build's own VTD driver;
Fixed mouse polling with internal mice - Amstrad and Olivetti mice now work correctly;
Triones ATAPI DMA driver now correctly reads a file at the end of a CD image with a sectors number not divisible by 4;
Compaq Portable now works with all graphics cards;
Fixed various MDSI Genius bugs;
Added segment limit checks and improved page fault checks for several CPU instructions - Memphis 15xx WINSETUP and Chicago 58s WINDISK.CPL no longer issue a GPF, and some S3 drivers that used to have glitches, now work correctly;
Further improved the 808x emulation, also fixes the noticably choppy sound when using 808x CPU's, also fixes #355;
OS/2 installer no logner locks up on splash screen on PS/2 Model 70 and 80, fixes #400.
Fixed several Amstead bugs, GEM no longer crashes on the Amstrad 1640, fixes #391.
Ported John Elliott's Amstrad fixes and improvement from PCem, and fixed the default language so it's correctly Engliish, fixes #278, fixes #389.
Fixed a minor IDE timing bug, fixes #388.
Fixed Toshiba T1000 RAM issues, fixes #379.
Fixed EGA/(S)VGA overscan border handling, fixes #378;
Got rid of the now long useless IDE channel 2 auto-removal, fixes #370;
Fixed the BIOS files used by the AMSTRAD PC1512, fixes #366;
Ported the Unicode CD image file name fix from VARCem, fixes #365;
Fixed high density floppy disks on the Xi8088, fixes #359;
Fixed some bugs in the Hercules emulation, fixes #346, fixes #358;
Fixed the SCSI hard disk mode sense pages, fixes #356;
Removed the AMI Unknown 386SX because of impossibility to identify the chipset, closes #349;
Fixed bugs in the serial mouse emulation, fixes #344;
Compiled 86Box binaries now include all the required .DLL's, fixes #341;
Made some combo boxes in the Settings dialog slightly wider, fixes #276.
2019-09-20 14:02:30 +02:00
|
|
|
extern uint8_t fontdatw[512][32];
|
|
|
|
|
extern uint8_t fontdat8x12[256][16];
|
|
|
|
|
extern uint8_t fontdat12x18[256][36];
|
2018-03-15 22:57:24 +01:00
|
|
|
extern dbcs_font_t *fontdatksc5601;
|
2018-03-19 04:19:19 +01:00
|
|
|
extern dbcs_font_t *fontdatksc5601_user;
|
2017-10-11 05:40:44 -04:00
|
|
|
extern uint32_t *video_6to8,
|
2019-10-01 15:14:51 +02:00
|
|
|
*video_8togs,
|
|
|
|
|
*video_8to32,
|
2017-10-11 05:40:44 -04:00
|
|
|
*video_15to32,
|
|
|
|
|
*video_16to32;
|
|
|
|
|
extern int xsize,ysize;
|
|
|
|
|
extern int enable_overscan;
|
|
|
|
|
extern int overscan_x,
|
|
|
|
|
overscan_y;
|
|
|
|
|
extern int force_43;
|
2018-02-01 03:14:55 +01:00
|
|
|
extern int video_timing_read_b,
|
|
|
|
|
video_timing_read_w,
|
|
|
|
|
video_timing_read_l;
|
|
|
|
|
extern int video_timing_write_b,
|
|
|
|
|
video_timing_write_w,
|
|
|
|
|
video_timing_write_l;
|
2017-10-11 05:40:44 -04:00
|
|
|
extern int video_res_x,
|
|
|
|
|
video_res_y,
|
|
|
|
|
video_bpp;
|
|
|
|
|
extern int vid_resize;
|
2018-10-28 08:26:07 +01:00
|
|
|
extern int cga_palette,
|
|
|
|
|
herc_blend;
|
2017-10-11 05:40:44 -04:00
|
|
|
extern int vid_cga_contrast;
|
|
|
|
|
extern int video_grayscale;
|
|
|
|
|
extern int video_graytype;
|
|
|
|
|
|
Added the IBM 5161 ISA expansion for PC and XT;
Cleaned up the parallel port emulation, added IRQ support, and made enabling/disabling per port;
Added the Award 430NX and the Intel Classic/PCI (Alfredo, 420TX);
Finished the 586MC1;
Added 8087 emulation;
Moved Cyrix 6x86'es to the Dev branch;
Sanitized/cleaned up memregs.c/h and intel.c/h;
Split the chipsets from machines and sanitized Port 92 emulation;
Added support for the 15bpp mode to the Compaq ATI 28800;
Moved the MR 386DX and 486 machines to the Dev branch;
Ported the new dynamic recompiler from PCem, but it remains in Dev branch until after v2.00;
Ported the new timer code from PCem;
Cleaned up the CPU table of unused stuff and better optimized its structure;
Ported the Open-XT and Open-AT from VARCem, the Open-AT is in the Dev branch;
Ported the XT MFM controller rewrite and adding of more controllers (incl. two RLL ones), from VARCem;
Added the AHA-1540A and the BusTek BT-542B;
Moved the Sumo SCSI-AT to the Dev branch;
Minor IDE, FDC, and floppy drive code clean-ups;
Made NCR 5380/53C400-based cards' BIOS address configurable;
Got rid of the legacy romset variable;
Unified (video) buffer and buffer32 into one and make the unified buffer 32-bit;
Added the Amstead PPC512 per PCem patch by John Elliott;
Switched memory mapping granularity from 16k to 4k (less than 1k not possible due to internal pages);
Rewrote the CL-GD 54xx blitter, fixes Win-OS/2 on the 54x6 among other thing;
Added the Image Manager 1024 and Professional Graphics Controller per PCem patch by John Elliott and work done on VARCem;
Added Headland HT-216, GC-205 and Video 7 VGA 1024i emulation based on PCem commit;
Implemented the fuction keys for the Toshiba T1000/T1200/T3100 enhancement;
Amstrad MegaPC does now works correctly with non-internal graphics card;
The SLiRP code no longer casts a packed struct type to a non-packed struct type;
The Xi8088 and PB410a no longer hang on 86Box when PS/2 mouse is not present;
The S3 Virge on BeOS is no longer broken (was broken by build #1591);
OS/2 2.0 build 6.167 now sees key presses again;
Xi8088 now work on CGA again;
86F images converted from either the old or new variants of the HxC MFM format now work correctly;
Hardware interrupts with a vector of 0xFF are now handled correctly;
OPTi 495SX boards no longer incorrectly have 64 MB maximum RAM when 32 MB is correct;
Fixed VNC keyboard input bugs;
Fixed AT RTC periodic interrupt - Chicago 58s / 73f / 73g / 81 MIDI play no longer hangs with the build's own VTD driver;
Fixed mouse polling with internal mice - Amstrad and Olivetti mice now work correctly;
Triones ATAPI DMA driver now correctly reads a file at the end of a CD image with a sectors number not divisible by 4;
Compaq Portable now works with all graphics cards;
Fixed various MDSI Genius bugs;
Added segment limit checks and improved page fault checks for several CPU instructions - Memphis 15xx WINSETUP and Chicago 58s WINDISK.CPL no longer issue a GPF, and some S3 drivers that used to have glitches, now work correctly;
Further improved the 808x emulation, also fixes the noticably choppy sound when using 808x CPU's, also fixes #355;
OS/2 installer no logner locks up on splash screen on PS/2 Model 70 and 80, fixes #400.
Fixed several Amstead bugs, GEM no longer crashes on the Amstrad 1640, fixes #391.
Ported John Elliott's Amstrad fixes and improvement from PCem, and fixed the default language so it's correctly Engliish, fixes #278, fixes #389.
Fixed a minor IDE timing bug, fixes #388.
Fixed Toshiba T1000 RAM issues, fixes #379.
Fixed EGA/(S)VGA overscan border handling, fixes #378;
Got rid of the now long useless IDE channel 2 auto-removal, fixes #370;
Fixed the BIOS files used by the AMSTRAD PC1512, fixes #366;
Ported the Unicode CD image file name fix from VARCem, fixes #365;
Fixed high density floppy disks on the Xi8088, fixes #359;
Fixed some bugs in the Hercules emulation, fixes #346, fixes #358;
Fixed the SCSI hard disk mode sense pages, fixes #356;
Removed the AMI Unknown 386SX because of impossibility to identify the chipset, closes #349;
Fixed bugs in the serial mouse emulation, fixes #344;
Compiled 86Box binaries now include all the required .DLL's, fixes #341;
Made some combo boxes in the Settings dialog slightly wider, fixes #276.
2019-09-20 14:02:30 +02:00
|
|
|
extern double cpuclock;
|
2017-10-11 05:40:44 -04:00
|
|
|
extern int emu_fps,
|
|
|
|
|
frames;
|
|
|
|
|
extern int readflash;
|
2016-06-26 00:34:39 +02:00
|
|
|
|
|
|
|
|
|
2017-10-11 05:40:44 -04:00
|
|
|
/* Function handler pointers. */
|
|
|
|
|
extern void (*video_recalctimings)(void);
|
2016-06-26 00:34:39 +02:00
|
|
|
|
2017-05-29 01:18:32 +02:00
|
|
|
|
2017-10-11 05:40:44 -04:00
|
|
|
/* Table functions. */
|
|
|
|
|
extern int video_card_available(int card);
|
|
|
|
|
extern char *video_card_getname(int card);
|
|
|
|
|
#ifdef EMU_DEVICE_H
|
2018-03-19 01:02:04 +01:00
|
|
|
extern const device_t *video_card_getdevice(int card);
|
2017-10-11 05:40:44 -04:00
|
|
|
#endif
|
|
|
|
|
extern int video_card_has_config(int card);
|
|
|
|
|
extern int video_card_getid(char *s);
|
|
|
|
|
extern char *video_get_internal_name(int card);
|
|
|
|
|
extern int video_get_video_from_internal_name(char *s);
|
2018-02-24 17:25:50 +01:00
|
|
|
extern int video_is_mda(void);
|
|
|
|
|
extern int video_is_cga(void);
|
|
|
|
|
extern int video_is_ega_vga(void);
|
2018-09-19 20:13:32 +02:00
|
|
|
extern void video_inform(int type, const video_timings_t *ptr);
|
|
|
|
|
extern int video_get_type(void);
|
2016-06-26 00:34:39 +02:00
|
|
|
|
|
|
|
|
|
2017-10-22 03:16:52 +02:00
|
|
|
extern void video_setblit(void(*blit)(int,int,int,int,int,int));
|
2018-10-28 08:26:07 +01:00
|
|
|
extern void video_blend(int x, int y);
|
2017-10-22 03:16:52 +02:00
|
|
|
extern void video_blit_memtoscreen_8(int x, int y, int y1, int y2, int w, int h);
|
2018-10-28 08:26:07 +01:00
|
|
|
extern void video_blit_memtoscreen(int x, int y, int y1, int y2, int w, int h);
|
2017-10-14 13:38:05 -04:00
|
|
|
extern void video_blit_complete(void);
|
2017-10-11 05:40:44 -04:00
|
|
|
extern void video_wait_for_blit(void);
|
|
|
|
|
extern void video_wait_for_buffer(void);
|
2016-06-26 00:34:39 +02:00
|
|
|
|
2017-11-19 03:15:29 -05:00
|
|
|
extern bitmap_t *create_bitmap(int w, int h);
|
|
|
|
|
extern void destroy_bitmap(bitmap_t *b);
|
2017-10-11 05:40:44 -04:00
|
|
|
extern void cgapal_rebuild(void);
|
2017-11-19 03:15:29 -05:00
|
|
|
extern void hline(bitmap_t *b, int x1, int y, int x2, uint32_t col);
|
2017-10-11 05:40:44 -04:00
|
|
|
extern void updatewindowsize(int x, int y);
|
2016-06-26 00:34:39 +02:00
|
|
|
|
2017-10-11 05:40:44 -04:00
|
|
|
extern void video_init(void);
|
|
|
|
|
extern void video_close(void);
|
Added the IBM 5161 ISA expansion for PC and XT;
Cleaned up the parallel port emulation, added IRQ support, and made enabling/disabling per port;
Added the Award 430NX and the Intel Classic/PCI (Alfredo, 420TX);
Finished the 586MC1;
Added 8087 emulation;
Moved Cyrix 6x86'es to the Dev branch;
Sanitized/cleaned up memregs.c/h and intel.c/h;
Split the chipsets from machines and sanitized Port 92 emulation;
Added support for the 15bpp mode to the Compaq ATI 28800;
Moved the MR 386DX and 486 machines to the Dev branch;
Ported the new dynamic recompiler from PCem, but it remains in Dev branch until after v2.00;
Ported the new timer code from PCem;
Cleaned up the CPU table of unused stuff and better optimized its structure;
Ported the Open-XT and Open-AT from VARCem, the Open-AT is in the Dev branch;
Ported the XT MFM controller rewrite and adding of more controllers (incl. two RLL ones), from VARCem;
Added the AHA-1540A and the BusTek BT-542B;
Moved the Sumo SCSI-AT to the Dev branch;
Minor IDE, FDC, and floppy drive code clean-ups;
Made NCR 5380/53C400-based cards' BIOS address configurable;
Got rid of the legacy romset variable;
Unified (video) buffer and buffer32 into one and make the unified buffer 32-bit;
Added the Amstead PPC512 per PCem patch by John Elliott;
Switched memory mapping granularity from 16k to 4k (less than 1k not possible due to internal pages);
Rewrote the CL-GD 54xx blitter, fixes Win-OS/2 on the 54x6 among other thing;
Added the Image Manager 1024 and Professional Graphics Controller per PCem patch by John Elliott and work done on VARCem;
Added Headland HT-216, GC-205 and Video 7 VGA 1024i emulation based on PCem commit;
Implemented the fuction keys for the Toshiba T1000/T1200/T3100 enhancement;
Amstrad MegaPC does now works correctly with non-internal graphics card;
The SLiRP code no longer casts a packed struct type to a non-packed struct type;
The Xi8088 and PB410a no longer hang on 86Box when PS/2 mouse is not present;
The S3 Virge on BeOS is no longer broken (was broken by build #1591);
OS/2 2.0 build 6.167 now sees key presses again;
Xi8088 now work on CGA again;
86F images converted from either the old or new variants of the HxC MFM format now work correctly;
Hardware interrupts with a vector of 0xFF are now handled correctly;
OPTi 495SX boards no longer incorrectly have 64 MB maximum RAM when 32 MB is correct;
Fixed VNC keyboard input bugs;
Fixed AT RTC periodic interrupt - Chicago 58s / 73f / 73g / 81 MIDI play no longer hangs with the build's own VTD driver;
Fixed mouse polling with internal mice - Amstrad and Olivetti mice now work correctly;
Triones ATAPI DMA driver now correctly reads a file at the end of a CD image with a sectors number not divisible by 4;
Compaq Portable now works with all graphics cards;
Fixed various MDSI Genius bugs;
Added segment limit checks and improved page fault checks for several CPU instructions - Memphis 15xx WINSETUP and Chicago 58s WINDISK.CPL no longer issue a GPF, and some S3 drivers that used to have glitches, now work correctly;
Further improved the 808x emulation, also fixes the noticably choppy sound when using 808x CPU's, also fixes #355;
OS/2 installer no logner locks up on splash screen on PS/2 Model 70 and 80, fixes #400.
Fixed several Amstead bugs, GEM no longer crashes on the Amstrad 1640, fixes #391.
Ported John Elliott's Amstrad fixes and improvement from PCem, and fixed the default language so it's correctly Engliish, fixes #278, fixes #389.
Fixed a minor IDE timing bug, fixes #388.
Fixed Toshiba T1000 RAM issues, fixes #379.
Fixed EGA/(S)VGA overscan border handling, fixes #378;
Got rid of the now long useless IDE channel 2 auto-removal, fixes #370;
Fixed the BIOS files used by the AMSTRAD PC1512, fixes #366;
Ported the Unicode CD image file name fix from VARCem, fixes #365;
Fixed high density floppy disks on the Xi8088, fixes #359;
Fixed some bugs in the Hercules emulation, fixes #346, fixes #358;
Fixed the SCSI hard disk mode sense pages, fixes #356;
Removed the AMI Unknown 386SX because of impossibility to identify the chipset, closes #349;
Fixed bugs in the serial mouse emulation, fixes #344;
Compiled 86Box binaries now include all the required .DLL's, fixes #341;
Made some combo boxes in the Settings dialog slightly wider, fixes #276.
2019-09-20 14:02:30 +02:00
|
|
|
extern void video_reset_close(void);
|
2017-11-08 16:29:54 -05:00
|
|
|
extern void video_reset(int card);
|
2017-10-20 07:00:48 +02:00
|
|
|
extern uint8_t video_force_resize_get(void);
|
|
|
|
|
extern void video_force_resize_set(uint8_t res);
|
2017-10-11 05:40:44 -04:00
|
|
|
extern void video_update_timing(void);
|
2016-07-19 23:51:00 +02:00
|
|
|
|
2017-10-11 05:40:44 -04:00
|
|
|
extern void loadfont(wchar_t *s, int format);
|
2016-06-26 00:34:39 +02:00
|
|
|
|
2017-11-18 16:39:01 +01:00
|
|
|
extern int get_actual_size_x(void);
|
|
|
|
|
extern int get_actual_size_y(void);
|
|
|
|
|
|
2017-10-11 05:40:44 -04:00
|
|
|
#ifdef ENABLE_VRAM_DUMP
|
|
|
|
|
extern void svga_dump_vram(void);
|
2016-06-26 00:34:39 +02:00
|
|
|
#endif
|
|
|
|
|
|
2018-07-15 01:41:53 +02:00
|
|
|
extern uint32_t video_color_transform(uint32_t color);
|
|
|
|
|
|
2016-06-26 00:34:39 +02:00
|
|
|
#ifdef __cplusplus
|
|
|
|
|
}
|
|
|
|
|
#endif
|
2017-02-19 16:36:43 +01:00
|
|
|
|
2017-10-07 00:46:54 -04:00
|
|
|
|
2020-02-29 19:12:23 +01:00
|
|
|
#ifdef EMU_DEVICE_H
|
|
|
|
|
/* ATi Mach64 */
|
|
|
|
|
extern const device_t mach64gx_isa_device;
|
|
|
|
|
extern const device_t mach64gx_vlb_device;
|
|
|
|
|
extern const device_t mach64gx_pci_device;
|
|
|
|
|
extern const device_t mach64vt2_device;
|
|
|
|
|
|
|
|
|
|
/* ATi 18800 */
|
|
|
|
|
extern const device_t ati18800_wonder_device;
|
|
|
|
|
extern const device_t ati18800_vga88_device;
|
|
|
|
|
extern const device_t ati18800_device;
|
|
|
|
|
|
|
|
|
|
/* ATi 28800 */
|
|
|
|
|
extern const device_t ati28800_device;
|
|
|
|
|
extern const device_t ati28800k_device;
|
|
|
|
|
extern const device_t compaq_ati28800_device;
|
|
|
|
|
#if defined(DEV_BRANCH) && defined(USE_XL24)
|
|
|
|
|
extern const device_t ati28800_wonderxl24_device;
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
/* Cirrus Logic CL-GD 54xx */
|
2020-05-12 02:00:32 +03:00
|
|
|
extern const device_t gd5401_isa_device;
|
2020-02-29 19:12:23 +01:00
|
|
|
extern const device_t gd5402_isa_device;
|
|
|
|
|
extern const device_t gd5402_onboard_device;
|
|
|
|
|
extern const device_t gd5420_isa_device;
|
|
|
|
|
#if defined(DEV_BRANCH) && defined(USE_CL5422)
|
|
|
|
|
extern const device_t gd5422_isa_device;
|
|
|
|
|
extern const device_t gd5424_vlb_device;
|
|
|
|
|
#endif
|
|
|
|
|
extern const device_t gd5426_vlb_device;
|
2020-06-25 22:43:20 +02:00
|
|
|
extern const device_t gd5426_onboard_device;
|
2020-02-29 19:12:23 +01:00
|
|
|
extern const device_t gd5428_isa_device;
|
|
|
|
|
extern const device_t gd5428_vlb_device;
|
2020-03-24 01:03:59 +01:00
|
|
|
extern const device_t gd5428_mca_device;
|
2020-06-19 14:13:11 +03:00
|
|
|
extern const device_t gd5428_a1g_device;
|
2020-02-29 19:12:23 +01:00
|
|
|
extern const device_t gd5429_isa_device;
|
|
|
|
|
extern const device_t gd5429_vlb_device;
|
|
|
|
|
extern const device_t gd5430_vlb_device;
|
|
|
|
|
extern const device_t gd5430_pci_device;
|
|
|
|
|
extern const device_t gd5434_isa_device;
|
2020-07-11 03:37:25 +02:00
|
|
|
extern const device_t gd5434_onboard_pci_device;
|
2020-02-29 19:12:23 +01:00
|
|
|
extern const device_t gd5434_vlb_device;
|
|
|
|
|
extern const device_t gd5434_pci_device;
|
|
|
|
|
extern const device_t gd5436_pci_device;
|
|
|
|
|
extern const device_t gd5440_onboard_pci_device;
|
|
|
|
|
extern const device_t gd5440_pci_device;
|
|
|
|
|
extern const device_t gd5446_pci_device;
|
|
|
|
|
extern const device_t gd5446_stb_pci_device;
|
|
|
|
|
extern const device_t gd5480_pci_device;
|
|
|
|
|
|
|
|
|
|
/* Compaq CGA */
|
|
|
|
|
extern const device_t compaq_cga_device;
|
|
|
|
|
extern const device_t compaq_cga_2_device;
|
|
|
|
|
|
|
|
|
|
/* Tseng ET4000AX */
|
|
|
|
|
extern const device_t et4000_isa_device;
|
|
|
|
|
extern const device_t et4000k_isa_device;
|
|
|
|
|
extern const device_t et4000k_tg286_isa_device;
|
2020-05-12 00:37:30 +02:00
|
|
|
extern const device_t et4000_kasan_isa_device;
|
2020-02-29 19:12:23 +01:00
|
|
|
extern const device_t et4000_mca_device;
|
|
|
|
|
|
|
|
|
|
/* Tseng ET4000-W32p */
|
|
|
|
|
extern const device_t et4000w32p_vlb_device;
|
|
|
|
|
extern const device_t et4000w32p_pci_device;
|
|
|
|
|
extern const device_t et4000w32p_cardex_vlb_device;
|
|
|
|
|
extern const device_t et4000w32p_cardex_pci_device;
|
|
|
|
|
|
|
|
|
|
/* MDSI Genius VHR */
|
|
|
|
|
extern const device_t genius_device;
|
|
|
|
|
|
|
|
|
|
/* Hercules */
|
|
|
|
|
extern const device_t hercules_device;
|
|
|
|
|
extern const device_t herculesplus_device;
|
|
|
|
|
extern const device_t incolor_device;
|
|
|
|
|
|
|
|
|
|
/* Headland GC-2xx/HT-2xx */
|
|
|
|
|
extern const device_t g2_gc205_device;
|
|
|
|
|
extern const device_t v7_vga_1024i_device;
|
|
|
|
|
extern const device_t ht216_32_pb410a_device;
|
|
|
|
|
|
|
|
|
|
/* Professional Graphics Controller */
|
|
|
|
|
extern const device_t im1024_device;
|
|
|
|
|
extern const device_t pgc_device;
|
|
|
|
|
|
2020-04-20 14:50:03 +02:00
|
|
|
#if defined(DEV_BRANCH) && defined(USE_MGA)
|
2020-02-29 19:12:23 +01:00
|
|
|
/* Matrox Mystique */
|
|
|
|
|
extern const device_t mystique_device;
|
|
|
|
|
extern const device_t mystique_220_device;
|
2020-04-20 14:50:03 +02:00
|
|
|
#endif
|
2020-02-29 19:12:23 +01:00
|
|
|
|
|
|
|
|
/* Oak OTI-0x7 */
|
|
|
|
|
extern const device_t oti037c_device;
|
|
|
|
|
extern const device_t oti067_device;
|
|
|
|
|
extern const device_t oti067_acer386_device;
|
|
|
|
|
extern const device_t oti067_ama932j_device;
|
|
|
|
|
extern const device_t oti077_device;
|
|
|
|
|
|
|
|
|
|
/* Paradise/WD (S)VGA */
|
|
|
|
|
extern const device_t paradise_pvga1a_pc2086_device;
|
|
|
|
|
extern const device_t paradise_pvga1a_pc3086_device;
|
|
|
|
|
extern const device_t paradise_pvga1a_device;
|
|
|
|
|
extern const device_t paradise_wd90c11_megapc_device;
|
|
|
|
|
extern const device_t paradise_wd90c11_device;
|
|
|
|
|
extern const device_t paradise_wd90c30_device;
|
|
|
|
|
|
|
|
|
|
/* S3 9XX/8XX/Vision/Trio */
|
2020-05-12 13:36:47 +02:00
|
|
|
extern const device_t s3_orchid_86c911_isa_device;
|
2020-07-26 01:53:46 +02:00
|
|
|
extern const device_t s3_ami_86c924_isa_device;
|
2020-05-12 13:36:47 +02:00
|
|
|
extern const device_t s3_metheus_premier_86c928_isa_device;
|
|
|
|
|
extern const device_t s3_metheus_premier_86c928_vlb_device;
|
|
|
|
|
extern const device_t s3_v7mirage_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;
|
|
|
|
|
extern const device_t s3_9fx_vlb_device;
|
|
|
|
|
extern const device_t s3_9fx_pci_device;
|
|
|
|
|
extern const device_t s3_phoenix_trio32_vlb_device;
|
|
|
|
|
extern const device_t s3_phoenix_trio32_pci_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_vision864_pci_device;
|
|
|
|
|
extern const device_t s3_phoenix_vision864_vlb_device;
|
|
|
|
|
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;
|
2020-02-29 19:12:23 +01:00
|
|
|
|
|
|
|
|
/* S3 ViRGE */
|
|
|
|
|
extern const device_t s3_virge_vlb_device;
|
|
|
|
|
extern const device_t s3_virge_pci_device;
|
|
|
|
|
extern const device_t s3_virge_988_vlb_device;
|
|
|
|
|
extern const device_t s3_virge_988_pci_device;
|
|
|
|
|
extern const device_t s3_virge_375_vlb_device;
|
|
|
|
|
extern const device_t s3_virge_375_pci_device;
|
|
|
|
|
extern const device_t s3_virge_375_4_vlb_device;
|
|
|
|
|
extern const device_t s3_virge_375_4_pci_device;
|
|
|
|
|
|
|
|
|
|
/* Sigma Color 400 */
|
|
|
|
|
extern const device_t sigma_device;
|
|
|
|
|
|
|
|
|
|
/* Trident TGUI 94x0 */
|
|
|
|
|
extern const device_t tgui9400cxi_device;
|
|
|
|
|
extern const device_t tgui9440_vlb_device;
|
|
|
|
|
extern const device_t tgui9440_pci_device;
|
|
|
|
|
|
|
|
|
|
/* IBM PS/1 (S)VGA */
|
|
|
|
|
extern const device_t ibm_ps1_2121_device;
|
|
|
|
|
|
|
|
|
|
/* Trident TVGA 8900 */
|
|
|
|
|
extern const device_t tvga8900b_device;
|
|
|
|
|
extern const device_t tvga8900d_device;
|
|
|
|
|
|
|
|
|
|
/* IBM VGA */
|
|
|
|
|
extern const device_t vga_device;
|
|
|
|
|
extern const device_t ps1vga_device;
|
|
|
|
|
extern const device_t ps1vga_mca_device;
|
|
|
|
|
|
|
|
|
|
/* 3DFX Voodoo Graphics */
|
|
|
|
|
extern const device_t voodoo_device;
|
|
|
|
|
|
|
|
|
|
/* Wyse 700 */
|
|
|
|
|
extern const device_t wy700_device;
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
2017-10-07 00:46:54 -04:00
|
|
|
#endif /*EMU_VIDEO_H*/
|