mirror of
https://github.com/86Box/86Box.git
synced 2026-02-25 04:45:31 -07:00
Merge remote-tracking branch 'upstream/master' into feature/ich2
This commit is contained in:
@@ -33,7 +33,7 @@
|
||||
|
||||
/* Recently used images */
|
||||
#define MAX_PREV_IMAGES 4
|
||||
#define MAX_IMAGE_PATH_LEN 256
|
||||
#define MAX_IMAGE_PATH_LEN 2048
|
||||
|
||||
/* Default language 0xFFFF = from system, 0x409 = en-US */
|
||||
#define DEFAULT_LANGUAGE 0x0409
|
||||
@@ -125,6 +125,7 @@ extern int gfxcard[2]; /* (C) graphics/video card */
|
||||
extern char video_shader[512]; /* (C) video */
|
||||
extern int bugger_enabled; /* (C) enable ISAbugger */
|
||||
extern int postcard_enabled; /* (C) enable POST card */
|
||||
extern int unittester_enabled; /* (C) enable unit tester device */
|
||||
extern int isamem_type[]; /* (C) enable ISA mem cards */
|
||||
extern int isartc_type; /* (C) enable ISA RTC card */
|
||||
extern int sound_is_float; /* (C) sound uses FP values */
|
||||
|
||||
@@ -178,6 +178,8 @@ extern const device_t vlsi_scamp_device;
|
||||
extern const device_t wd76c10_device;
|
||||
|
||||
/* Miscellaneous Hardware */
|
||||
extern const device_t nec_mate_unk_device;
|
||||
|
||||
extern const device_t phoenix_486_jumper_device;
|
||||
extern const device_t phoenix_486_jumper_pci_device;
|
||||
|
||||
|
||||
@@ -202,6 +202,8 @@ extern const char *device_get_bios_file(const device_t *dev, const char *interna
|
||||
|
||||
extern int device_is_valid(const device_t *, int m);
|
||||
|
||||
extern const device_t* device_context_get_device(void);
|
||||
|
||||
extern int device_get_config_int(const char *name);
|
||||
extern int device_get_config_int_ex(const char *s, int dflt_int);
|
||||
extern int device_get_config_hex16(const char *name);
|
||||
|
||||
@@ -65,76 +65,85 @@ typedef struct fdc_t {
|
||||
uint8_t st0;
|
||||
uint8_t swap;
|
||||
uint8_t dtl;
|
||||
|
||||
uint8_t swwp;
|
||||
uint8_t disable_write;
|
||||
uint8_t st5;
|
||||
uint8_t st6;
|
||||
uint8_t error;
|
||||
uint8_t params[8];
|
||||
uint8_t res[11];
|
||||
uint8_t specify[2];
|
||||
uint8_t config;
|
||||
uint8_t pretrk;
|
||||
uint8_t power_down;
|
||||
|
||||
uint8_t head;
|
||||
uint8_t lastdrive;
|
||||
uint8_t sector;
|
||||
uint8_t drive;
|
||||
uint8_t rate;
|
||||
uint8_t tc;
|
||||
uint8_t pnum;
|
||||
uint8_t ptot;
|
||||
|
||||
uint8_t reset_stat;
|
||||
uint8_t seek_dir;
|
||||
uint8_t perp;
|
||||
uint8_t format_state;
|
||||
uint8_t format_n;
|
||||
uint8_t step;
|
||||
uint8_t noprec;
|
||||
uint8_t data_ready;
|
||||
|
||||
uint8_t paramstogo;
|
||||
uint8_t enh_mode;
|
||||
uint8_t dma;
|
||||
uint8_t densel_polarity;
|
||||
uint8_t densel_force;
|
||||
uint8_t fifo;
|
||||
uint8_t tfifo;
|
||||
uint8_t fifobufpos;
|
||||
|
||||
uint8_t drv2en;
|
||||
uint8_t gap;
|
||||
uint8_t enable_3f1;
|
||||
uint8_t format_sectors;
|
||||
uint8_t mfm;
|
||||
uint8_t deleted;
|
||||
uint8_t wrong_am;
|
||||
uint8_t sc;
|
||||
|
||||
uint8_t fintr;
|
||||
uint8_t rw_drive;
|
||||
|
||||
uint8_t lock;
|
||||
uint8_t specify[2];
|
||||
|
||||
uint8_t res[11];
|
||||
|
||||
uint8_t eot[4];
|
||||
uint8_t rwc[4];
|
||||
uint8_t params[8];
|
||||
uint8_t fifobuf[16];
|
||||
|
||||
uint16_t pcn[4];
|
||||
|
||||
uint16_t base_address;
|
||||
uint16_t rw_track;
|
||||
|
||||
int head;
|
||||
int sector;
|
||||
int drive;
|
||||
int lastdrive;
|
||||
int pcn[4];
|
||||
int eot[4];
|
||||
int rw_track;
|
||||
int pos;
|
||||
int pnum;
|
||||
int ptot;
|
||||
int rate;
|
||||
int reset_stat;
|
||||
int lock;
|
||||
int perp;
|
||||
int format_state;
|
||||
int format_n;
|
||||
int step;
|
||||
int seek_dir;
|
||||
int tc;
|
||||
int noprec;
|
||||
int bit_rate; /* Should be 250 at start. */
|
||||
|
||||
int data_ready;
|
||||
int inread;
|
||||
int bitcell_period;
|
||||
int enh_mode;
|
||||
int rwc[4];
|
||||
int drvrate[4];
|
||||
int boot_drive;
|
||||
int dma;
|
||||
int densel_polarity;
|
||||
int densel_force;
|
||||
int fifo;
|
||||
int tfifo;
|
||||
int fifobufpos;
|
||||
int drv2en;
|
||||
|
||||
int gap;
|
||||
int enable_3f1;
|
||||
int format_sectors;
|
||||
int max_track;
|
||||
int mfm;
|
||||
int deleted;
|
||||
int wrong_am;
|
||||
int sc;
|
||||
int satisfying_sectors;
|
||||
int fintr;
|
||||
int rw_drive;
|
||||
|
||||
int flags;
|
||||
int interrupt;
|
||||
|
||||
int irq; /* Should be 6 by default. */
|
||||
int dma_ch; /* Should be 2 by default. */
|
||||
int irq; /* Should be 6 by default. */
|
||||
int dma_ch; /* Should be 2 by default. */
|
||||
|
||||
int bit_rate; /* Should be 250 at start. */
|
||||
int paramstogo;
|
||||
int drvrate[4];
|
||||
|
||||
sector_id_t read_track_sector;
|
||||
sector_id_t format_sector_id;
|
||||
@@ -183,6 +192,7 @@ extern int fdc_get_compare_condition(fdc_t *fdc);
|
||||
extern int fdc_is_deleted(fdc_t *fdc);
|
||||
extern int fdc_is_sk(fdc_t *fdc);
|
||||
extern void fdc_set_wrong_am(fdc_t *fdc);
|
||||
extern void fdc_set_power_down(fdc_t *fdc, uint8_t power_down);
|
||||
extern int fdc_get_drive(fdc_t *fdc);
|
||||
extern int fdc_get_perp(fdc_t *fdc);
|
||||
extern int fdc_get_format_n(fdc_t *fdc);
|
||||
|
||||
@@ -60,6 +60,9 @@ extern const device_t ide_vlb_2ch_device; /* vlb_ide_2ch */
|
||||
extern const device_t ide_pci_device; /* pci_ide */
|
||||
extern const device_t ide_pci_2ch_device; /* pci_ide_2ch */
|
||||
|
||||
extern const device_t ide_ali1489_device; /* ALi M1489 */
|
||||
extern const device_t ide_ali5213_device; /* ALi M5213 */
|
||||
|
||||
extern const device_t ide_cmd640_vlb_device; /* CMD PCI-640B VLB */
|
||||
extern const device_t ide_cmd640_vlb_178_device; /* CMD PCI-640B VLB (Port 178h) */
|
||||
extern const device_t ide_cmd640_vlb_pri_device; /* CMD PCI-640B VLB (Only primary channel) */
|
||||
|
||||
@@ -188,6 +188,8 @@ extern void ide_atapi_attach(ide_t *dev);
|
||||
extern void *ide_xtide_init(void);
|
||||
extern void ide_xtide_close(void);
|
||||
|
||||
extern void ide_drives_set_shadow(void);
|
||||
|
||||
extern void ide_writew(uint16_t addr, uint16_t val, void *priv);
|
||||
extern void ide_write_devctl(uint16_t addr, uint8_t val, void *priv);
|
||||
extern void ide_writeb(uint16_t addr, uint8_t val, void *priv);
|
||||
|
||||
@@ -159,8 +159,8 @@ typedef struct hard_disk_t {
|
||||
char fn[1024]; /* Name of current image file */
|
||||
char vhd_parent[1041]; /* Differential VHD parent file */
|
||||
|
||||
uint32_t res0;
|
||||
uint32_t pad1;
|
||||
uint32_t seek_pos;
|
||||
uint32_t seek_len;
|
||||
uint32_t base;
|
||||
uint32_t spt;
|
||||
uint32_t hpc; /* Physical geometry parameters */
|
||||
|
||||
@@ -639,6 +639,7 @@ extern int machine_at_8500tuc_init(const machine_t *);
|
||||
extern int machine_at_p55t2s_init(const machine_t *);
|
||||
|
||||
extern int machine_at_p5vxb_init(const machine_t *);
|
||||
extern int machine_at_dell_430vx_init(const machine_t *);
|
||||
extern int machine_at_gw2kte_init(const machine_t *);
|
||||
|
||||
extern int machine_at_ap5s_init(const machine_t *);
|
||||
@@ -686,6 +687,7 @@ extern int machine_at_ficpa2012_init(const machine_t *);
|
||||
|
||||
extern int machine_at_r534f_init(const machine_t *);
|
||||
extern int machine_at_ms5146_init(const machine_t *);
|
||||
extern int machine_at_cb52x_si_init(const machine_t *);
|
||||
|
||||
extern int machine_at_m560_init(const machine_t *);
|
||||
extern int machine_at_ms5164_init(const machine_t *);
|
||||
@@ -707,6 +709,7 @@ extern int machine_at_aurora_init(const machine_t *);
|
||||
|
||||
extern int machine_at_686nx_init(const machine_t *);
|
||||
extern int machine_at_acerv60n_init(const machine_t *);
|
||||
extern int machine_at_lgibm440fx_init(const machine_t *);
|
||||
extern int machine_at_vs440fx_init(const machine_t *);
|
||||
extern int machine_at_gw2kvenus_init(const machine_t *);
|
||||
extern int machine_at_ap440fx_init(const machine_t *);
|
||||
@@ -727,9 +730,12 @@ extern int machine_at_kn97_init(const machine_t *);
|
||||
extern int machine_at_lx6_init(const machine_t *);
|
||||
extern int machine_at_spitfire_init(const machine_t *);
|
||||
|
||||
extern int machine_at_mate_nx_ma30d_23d_init(const machine_t *);
|
||||
|
||||
extern int machine_at_p6i440e2_init(const machine_t *);
|
||||
|
||||
extern int machine_at_p2bls_init(const machine_t *);
|
||||
extern int machine_at_lgibm440bx_init(const machine_t *);
|
||||
extern int machine_at_p3bf_init(const machine_t *);
|
||||
extern int machine_at_bf6_init(const machine_t *);
|
||||
extern int machine_at_ax6bc_init(const machine_t *);
|
||||
@@ -852,6 +858,7 @@ extern int machine_xt_pc700_init(const machine_t *);
|
||||
extern int machine_xt_pc500_init(const machine_t *);
|
||||
extern int machine_xt_vendex_init(const machine_t *);
|
||||
extern int machine_xt_znic_init(const machine_t *);
|
||||
extern int machine_xt_glabios_init(const machine_t *);
|
||||
extern int machine_xt_super16t_init(const machine_t *);
|
||||
extern int machine_xt_super16te_init(const machine_t *);
|
||||
extern int machine_xt_top88_init(const machine_t *);
|
||||
|
||||
@@ -71,6 +71,7 @@
|
||||
#define FLAG_CONFIG_M1_IO_ON 0x00000020
|
||||
#define FLAG_NO_IRQ_STEERING 0x00000040
|
||||
#define FLAG_NO_BRIDGES 0x00000080
|
||||
#define FLAG_TRC_CONTROLS_CPURST 0x00000100
|
||||
|
||||
#define FLAG_MECHANISM_MASK FLAG_MECHANISM_1 | FLAG_MECHANISM_2
|
||||
#define FLAG_MASK 0x0000007f
|
||||
|
||||
@@ -149,6 +149,7 @@ extern uint32_t plat_language_code(char *langcode);
|
||||
extern void plat_language_code_r(uint32_t lcid, char *outbuf, int len);
|
||||
extern void plat_get_cpu_string(char *outbuf, uint8_t len);
|
||||
extern double plat_get_dpi(void);
|
||||
extern void plat_set_thread_name(void *thread, const char *name);
|
||||
|
||||
/* Resource management. */
|
||||
extern void set_language(uint32_t id);
|
||||
|
||||
@@ -46,7 +46,8 @@
|
||||
#ifndef PRINTER_H
|
||||
#define PRINTER_H
|
||||
|
||||
#define FONT_FILE_DOTMATRIX "dotmatrix.ttf"
|
||||
#define FONT_FILE_DOTMATRIX "dotmatrix.otf"
|
||||
#define FONT_FILE_DOTMATRIX_ITALIC "dotmatrix_italic.otf"
|
||||
|
||||
#define FONT_FILE_ROMAN "roman.ttf"
|
||||
#define FONT_FILE_SANSSERIF "sansserif.ttf"
|
||||
|
||||
@@ -26,6 +26,6 @@
|
||||
#define SCSI_PCSCSI_H
|
||||
|
||||
extern const device_t dc390_pci_device;
|
||||
extern const device_t ncr53c90_mca_device;
|
||||
extern const device_t ncr53c90a_mca_device;
|
||||
|
||||
#endif /*SCSI_BUSLOGIC_H*/
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
extern void vt82c686_sio_write(uint8_t addr, uint8_t val, void *priv);
|
||||
|
||||
extern const device_t acc3221_device;
|
||||
extern const device_t ali5105_device;
|
||||
extern const device_t ali5123_device;
|
||||
extern const device_t f82c710_device;
|
||||
extern const device_t f82c606_device;
|
||||
|
||||
@@ -28,7 +28,7 @@ extern "C" {
|
||||
# define event_t plat_event_t
|
||||
# define mutex_t plat_mutex_t
|
||||
|
||||
# define thread_create plat_thread_create
|
||||
# define thread_create_named plat_thread_create_named
|
||||
# define thread_wait plat_thread_wait
|
||||
# define thread_create_event plat_thread_create_event
|
||||
# define thread_set_event plat_thread_set_event
|
||||
@@ -48,7 +48,8 @@ typedef void thread_t;
|
||||
typedef void event_t;
|
||||
typedef void mutex_t;
|
||||
|
||||
extern thread_t *thread_create(void (*thread_func)(void *param), void *param);
|
||||
#define thread_create(thread_func, param) thread_create_named((thread_func), (param), #thread_func)
|
||||
extern thread_t *thread_create_named(void (*thread_func)(void *param), void *param, const char *name);
|
||||
extern int thread_wait(thread_t *arg);
|
||||
extern event_t *thread_create_event(void);
|
||||
extern void thread_set_event(event_t *arg);
|
||||
|
||||
37
src/include/86box/unittester.h
Normal file
37
src/include/86box/unittester.h
Normal file
@@ -0,0 +1,37 @@
|
||||
/*
|
||||
* 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.
|
||||
*
|
||||
* Debug device for assisting in unit testing.
|
||||
* See doc/specifications/86box-unit-tester.md for more info.
|
||||
* If modifying the protocol, you MUST modify the specification
|
||||
* and increment the version number.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Authors: GreaseMonkey, <thematrixeatsyou+86b@gmail.com>
|
||||
*
|
||||
* Copyright 2024 GreaseMonkey.
|
||||
*/
|
||||
|
||||
#ifndef UNITTESTER_H
|
||||
#define UNITTESTER_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Global variables. */
|
||||
extern const device_t unittester_device;
|
||||
|
||||
/* Functions. */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /*UNITTESTER_H*/
|
||||
@@ -67,13 +67,14 @@ typedef struct ibm8514_t {
|
||||
uint16_t advfunc_cntl;
|
||||
uint8_t ext_advfunc_cntl;
|
||||
uint16_t cur_y;
|
||||
uint16_t cur_y_bitres;
|
||||
uint16_t cur_x;
|
||||
uint16_t cur_x_bitres;
|
||||
int16_t destx;
|
||||
int16_t desty;
|
||||
int16_t desty_axstp;
|
||||
int16_t destx_distp;
|
||||
int16_t err_term;
|
||||
int16_t maj_axis_pcnt;
|
||||
int16_t maj_axis_pcnt_no_limit;
|
||||
uint16_t cmd;
|
||||
uint16_t cmd_back;
|
||||
uint16_t short_stroke;
|
||||
@@ -100,7 +101,9 @@ typedef struct ibm8514_t {
|
||||
int sys_cnt2;
|
||||
int temp_cnt;
|
||||
int16_t cx;
|
||||
int16_t cx_back;
|
||||
int16_t cy;
|
||||
int16_t oldcx;
|
||||
int16_t oldcy;
|
||||
int16_t sx;
|
||||
int16_t sy;
|
||||
@@ -133,6 +136,7 @@ typedef struct ibm8514_t {
|
||||
int fill_state;
|
||||
int xdir;
|
||||
int ydir;
|
||||
int linedraw;
|
||||
uint32_t ge_offset;
|
||||
} accel;
|
||||
|
||||
|
||||
@@ -66,6 +66,7 @@ typedef struct cga_t {
|
||||
int composite;
|
||||
int snow_enabled;
|
||||
int rgb_type;
|
||||
int double_type;
|
||||
} cga_t;
|
||||
|
||||
void cga_init(cga_t *cga);
|
||||
|
||||
@@ -109,6 +109,8 @@ typedef struct ega_t {
|
||||
int bpp;
|
||||
int index;
|
||||
int remap_required;
|
||||
int actual_type;
|
||||
int chipset;
|
||||
|
||||
uint32_t charseta;
|
||||
uint32_t charsetb;
|
||||
@@ -143,7 +145,7 @@ typedef struct ega_t {
|
||||
extern const device_t ega_device;
|
||||
extern const device_t cpqega_device;
|
||||
extern const device_t sega_device;
|
||||
extern const device_t atiega_device;
|
||||
extern const device_t atiega800p_device;
|
||||
extern const device_t iskra_ega_device;
|
||||
extern const device_t et2000_device;
|
||||
#endif
|
||||
|
||||
@@ -128,6 +128,8 @@ typedef struct svga_t {
|
||||
int hblank_sub;
|
||||
int hblank_end_val;
|
||||
int hblank_end_len;
|
||||
int packed_4bpp;
|
||||
int ati_4color;
|
||||
|
||||
/*The three variables below allow us to implement memory maps like that seen on a 1MB Trio64 :
|
||||
0MB-1MB - VRAM
|
||||
@@ -231,6 +233,7 @@ typedef struct svga_t {
|
||||
uint8_t dac_status;
|
||||
uint8_t dpms;
|
||||
uint8_t dpms_ui;
|
||||
uint8_t color_2bpp;
|
||||
uint8_t ksc5601_sbyte_mask;
|
||||
uint8_t ksc5601_udc_area_msb[2];
|
||||
|
||||
@@ -246,6 +249,11 @@ typedef struct svga_t {
|
||||
addresses are shifted to match*/
|
||||
int packed_chain4;
|
||||
|
||||
/*Disable 8bpp blink mode - some cards support it, some don't, it's a weird mode
|
||||
If mode 13h appears in a reddish-brown background (0x88) with dark green text (0x8F),
|
||||
you should set this flag when entering that mode*/
|
||||
int disable_blink;
|
||||
|
||||
/*Force CRTC to dword mode, regardless of CR14/CR17. Required for S3 enhanced mode*/
|
||||
int force_dword_mode;
|
||||
|
||||
@@ -263,6 +271,15 @@ typedef struct svga_t {
|
||||
/* Pointer to monitor */
|
||||
monitor_t *monitor;
|
||||
|
||||
/* Enable LUT mapping of >= 24 bpp modes. */
|
||||
int lut_map;
|
||||
|
||||
/* Override the horizontal blanking stuff. */
|
||||
int hoverride;
|
||||
|
||||
/* Return a 32 bpp color from a 15/16 bpp color. */
|
||||
uint32_t (*conv_16to32)(struct svga_t *svga, uint16_t color, uint8_t bpp);
|
||||
|
||||
void * dev8514;
|
||||
void * xga;
|
||||
} svga_t;
|
||||
@@ -275,7 +292,7 @@ extern uint8_t ibm8514_ramdac_in(uint16_t port, void *priv);
|
||||
extern void ibm8514_ramdac_out(uint16_t port, uint8_t val, void *priv);
|
||||
extern int ibm8514_cpu_src(svga_t *svga);
|
||||
extern int ibm8514_cpu_dest(svga_t *svga);
|
||||
extern void ibm8514_accel_out_pixtrans(svga_t *svga, uint16_t port, uint16_t val, int len);
|
||||
extern void ibm8514_accel_out_pixtrans(svga_t *svga, uint16_t port, uint32_t val, int len);
|
||||
extern void ibm8514_short_stroke_start(int count, int cpu_input, uint32_t mix_dat, uint32_t cpu_dat, svga_t *svga, uint8_t ssv, int len);
|
||||
extern void ibm8514_accel_start(int count, int cpu_input, uint32_t mix_dat, uint32_t cpu_dat, svga_t *svga, int len);
|
||||
|
||||
@@ -329,6 +346,8 @@ enum {
|
||||
RAMDAC_8BIT
|
||||
};
|
||||
|
||||
uint32_t svga_lookup_lut_ram(svga_t* svga, uint32_t val);
|
||||
|
||||
/* We need a way to add a device with a pointer to a parent device so it can attach itself to it, and
|
||||
possibly also a second ATi 68860 RAM DAC type that auto-sets SVGA render on RAM DAC render change. */
|
||||
extern void ati68860_ramdac_out(uint16_t addr, uint8_t val, void *priv, svga_t *svga);
|
||||
@@ -388,11 +407,13 @@ extern float stg_getclock(int clock, void *priv);
|
||||
extern void tkd8001_ramdac_out(uint16_t addr, uint8_t val, void *priv, svga_t *svga);
|
||||
extern uint8_t tkd8001_ramdac_in(uint16_t addr, void *priv, svga_t *svga);
|
||||
|
||||
extern void tvp3026_ramdac_out(uint16_t addr, int rs2, int rs3, uint8_t val, void *priv, svga_t *svga);
|
||||
extern uint8_t tvp3026_ramdac_in(uint16_t addr, int rs2, int rs3, void *priv, svga_t *svga);
|
||||
extern void tvp3026_recalctimings(void *priv, svga_t *svga);
|
||||
extern void tvp3026_hwcursor_draw(svga_t *svga, int displine);
|
||||
extern float tvp3026_getclock(int clock, void *priv);
|
||||
extern void tvp3026_ramdac_out(uint16_t addr, int rs2, int rs3, uint8_t val, void *priv, svga_t *svga);
|
||||
extern uint8_t tvp3026_ramdac_in(uint16_t addr, int rs2, int rs3, void *priv, svga_t *svga);
|
||||
extern uint32_t tvp3026_conv_16to32(svga_t* svga, uint16_t color, uint8_t bpp);
|
||||
extern void tvp3026_recalctimings(void *priv, svga_t *svga);
|
||||
extern void tvp3026_hwcursor_draw(svga_t *svga, int displine);
|
||||
extern float tvp3026_getclock(int clock, void *priv);
|
||||
extern void tvp3026_gpio(uint8_t (*read)(uint8_t cntl, void *priv), void (*write)(uint8_t cntl, uint8_t data, void *priv), void *cb_priv, void *priv);
|
||||
|
||||
# ifdef EMU_DEVICE_H
|
||||
extern const device_t ati68860_ramdac_device;
|
||||
|
||||
@@ -53,6 +53,7 @@ extern void svga_render_4bpp_lowres(svga_t *svga);
|
||||
extern void svga_render_4bpp_highres(svga_t *svga);
|
||||
extern void svga_render_8bpp_lowres(svga_t *svga);
|
||||
extern void svga_render_8bpp_highres(svga_t *svga);
|
||||
extern void svga_render_8bpp_incompatible_highres(svga_t *svga);
|
||||
extern void svga_render_8bpp_tseng_lowres(svga_t *svga);
|
||||
extern void svga_render_8bpp_tseng_highres(svga_t *svga);
|
||||
extern void svga_render_8bpp_gs_lowres(svga_t *svga);
|
||||
|
||||
@@ -32,6 +32,9 @@ using atomic_int = std::atomic_int;
|
||||
|
||||
#define makecol(r, g, b) ((b) | ((g) << 8) | ((r) << 16))
|
||||
#define makecol32(r, g, b) ((b) | ((g) << 8) | ((r) << 16))
|
||||
#define getcolr(color) (((color) >> 16) & 0xFF)
|
||||
#define getcolg(color) (((color) >> 8) & 0xFF)
|
||||
#define getcolb(color) ((color) & 0xFF)
|
||||
|
||||
enum {
|
||||
VID_NONE = 0,
|
||||
@@ -431,12 +434,12 @@ extern const device_t ht216_32_standalone_device;
|
||||
extern const device_t im1024_device;
|
||||
extern const device_t pgc_device;
|
||||
|
||||
# if defined(DEV_BRANCH) && defined(USE_MGA)
|
||||
/* Matrox MGA */
|
||||
extern const device_t millennium_device;
|
||||
extern const device_t mystique_device;
|
||||
extern const device_t mystique_220_device;
|
||||
# endif
|
||||
extern const device_t millennium_ii_device;
|
||||
extern const device_t productiva_g100_device;
|
||||
|
||||
/* Oak OTI-0x7 */
|
||||
extern const device_t oti037c_device;
|
||||
@@ -485,6 +488,7 @@ 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_pci_device;
|
||||
extern const device_t s3_phoenix_trio64vplus_onboard_pci_device;
|
||||
extern const device_t s3_cardex_trio64vplus_pci_device;
|
||||
extern const device_t s3_mirocrystal_20sv_964_vlb_device;
|
||||
extern const device_t s3_mirocrystal_20sv_964_pci_device;
|
||||
extern const device_t s3_mirocrystal_20sd_864_vlb_device;
|
||||
|
||||
Reference in New Issue
Block a user