mirror of
https://github.com/86Box/86Box.git
synced 2026-02-25 04:45:31 -07:00
Merge pull request #17 from 86Box/master
86box upstream master sync to immersicve86box master
This commit is contained in:
@@ -288,7 +288,7 @@ struct accelKey {
|
||||
char desc[64];
|
||||
char seq[64];
|
||||
};
|
||||
#define NUM_ACCELS 8
|
||||
#define NUM_ACCELS 9
|
||||
extern struct accelKey acc_keys[NUM_ACCELS];
|
||||
extern struct accelKey def_acc_keys[NUM_ACCELS];
|
||||
extern int FindAccelerator(const char *name);
|
||||
|
||||
@@ -142,9 +142,10 @@ static const struct cdrom_drive_types_s {
|
||||
/* TODO: Find an IDENTIFY and/or INQUIRY dump. */
|
||||
{ "GOLDSTAR", "GCD-R560B", "1.00", "goldstar_r560b", BUS_TYPE_IDE, 0, 6, 36, 0, 0, { 4, 2, 2, -1 } },
|
||||
{ "HITACHI", "CDR-8130", "0020", "hitachi_r8130", BUS_TYPE_IDE, 0, 16, 36, 0, 0, { 4, 2, 2, -1 } },
|
||||
{ "HITACHI", "GD-7500", "A1 ", "hitachi_7500", BUS_TYPE_IDE, 0, 40, 36, 0, 0, { 4, 2, 2, 2 } }, /* DVD. */
|
||||
{ "HITACHI", "CDR-8435", "0010", "hitachi_r8435", BUS_TYPE_IDE, 0, 32, 36, 0, 0, { 4, 2, 2, -1 } },
|
||||
{ "HITACHI", "GD-7500", "A1 ", "hitachi_7500", BUS_TYPE_IDE, 0, 40, 36, 0, 1, { 4, 2, 2, 2 } }, /* DVD. */
|
||||
{ "HL-DT-ST", "CD-ROM GCR-8526B", "1.01", "hldtst_8526b", BUS_TYPE_IDE, 0, 52, 36, 0, 0, { 4, 2, 2, 2 } },
|
||||
{ "HL-DT-ST", "DVDRAM GSA-4160", "A302", "hldtst_4160", BUS_TYPE_IDE, 0, 40, 36, 0, 0, { 4, 2, 2, 2 } },
|
||||
{ "HL-DT-ST", "DVDRAM GSA-4160", "A302", "hldtst_4160", BUS_TYPE_IDE, 0, 40, 36, 0, 1, { 4, 2, 2, 2 } },
|
||||
{ "KENWOOD", "CD-ROM UCR-421", "208E", "kenwood_421", BUS_TYPE_IDE, 0, 72, 36, 0, 0, { 4, 2, 2, 4 } },
|
||||
/*
|
||||
This is a laptop/notebook drive, as is also evident from the name:
|
||||
@@ -182,6 +183,7 @@ static const struct cdrom_drive_types_s {
|
||||
{ "TEAC", "CD-532E", "2.0A", "teac_532e", BUS_TYPE_IDE, 0, 32, 36, 0, 0, { 3, 2, 2, -1 } },
|
||||
{ "TOSHIBA", "CD-ROM XM-5302TA", "0305", "toshiba_5302ta", BUS_TYPE_IDE, 0, 4, 96, 0, 0, { 0, -1, -1, -1 } },
|
||||
{ "TOSHIBA", "CD-ROM XM-5702B", "TA70", "toshiba_5702b", BUS_TYPE_IDE, 0, 12, 96, 0, 0, { 3, 2, 1, -1 } },
|
||||
{ "TOSHIBA", "CD-ROM XM-6102B", "WA70", "toshiba_6102b", BUS_TYPE_IDE, 0, 24, 96, 0, 0, { 4, 2, 2, -1 } },
|
||||
{ "TOSHIBA", "CD-ROM XM-6202B", "1512", "toshiba_6202b", BUS_TYPE_IDE, 0, 32, 96, 0, 0, { 4, 2, 2, -1 } },
|
||||
{ "TOSHIBA", "CD-ROM XM-6402B", "1008", "toshiba_6402b", BUS_TYPE_IDE, 0, 32, 96, 0, 0, { 4, 2, 2, 2 } },
|
||||
{ "TOSHIBA", "CD-ROM XM-6702B", "1007", "toshiba_6720b", BUS_TYPE_IDE, 0, 48, 96, 0, 0, { 4, 2, 2, 2 } },
|
||||
|
||||
@@ -55,6 +55,10 @@ extern int isartc_get_from_internal_name(const char *str);
|
||||
extern const device_t *isartc_get_device(int t);
|
||||
extern int isartc_has_config(int board);
|
||||
|
||||
/* On-board RTC devices */
|
||||
extern const device_t vendex_xt_rtc_onboard_device;
|
||||
extern const device_t rtc58167_device;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -926,6 +926,7 @@ extern int machine_at_optiplexgxl_init(const machine_t *);
|
||||
extern const device_t pt2000_device;
|
||||
#endif
|
||||
extern int machine_at_pt2000_init(const machine_t *);
|
||||
extern int machine_at_morrison32_init(const machine_t *);
|
||||
extern int machine_at_pc330_65x6_init(const machine_t *);
|
||||
#ifdef EMU_DEVICE_H
|
||||
extern const device_t zappa_device;
|
||||
@@ -970,6 +971,7 @@ extern const device_t p54tp4xe_device;
|
||||
#endif
|
||||
extern int machine_at_p54tp4xe_init(const machine_t *);
|
||||
extern int machine_at_exp8551_init(const machine_t *);
|
||||
extern int machine_at_hpholly_init(const machine_t *);
|
||||
#ifdef EMU_DEVICE_H
|
||||
extern const device_t vectra52_device;
|
||||
#endif
|
||||
@@ -1024,7 +1026,11 @@ extern int machine_at_amis727_init(const machine_t *);
|
||||
extern const device_t ap5s_device;
|
||||
#endif
|
||||
extern int machine_at_ap5s_init(const machine_t *);
|
||||
extern int machine_at_fm562_init(const machine_t *);
|
||||
extern int machine_at_pc140_6260_init(const machine_t *);
|
||||
#ifdef EMU_DEVICE_H
|
||||
extern const device_t ms5124_device;
|
||||
#endif
|
||||
extern int machine_at_ms5124_init(const machine_t *);
|
||||
|
||||
/* VLSI Wildcat */
|
||||
@@ -1038,6 +1044,7 @@ extern int machine_at_p55t2p4_init(const machine_t *);
|
||||
extern void machine_at_p65up5_common_init(const machine_t *, const device_t *northbridge);
|
||||
#endif
|
||||
extern int machine_at_p65up5_cp55t2d_init(const machine_t *);
|
||||
extern int machine_at_rubyusb_init(const machine_t *);
|
||||
#ifdef EMU_DEVICE_H
|
||||
extern const device_t cu430hx_device;
|
||||
#endif
|
||||
@@ -1248,6 +1255,10 @@ extern int machine_at_ficka6130_init(const machine_t *);
|
||||
|
||||
/* VIA Apollo Pro 133 */
|
||||
extern int machine_at_p3v133_init(const machine_t *);
|
||||
#ifdef EMU_DEVICE_H
|
||||
extern const device_t ms6199va_device;
|
||||
#endif
|
||||
extern int machine_at_ms6199va_init(const machine_t *);
|
||||
|
||||
/* VIA Apollo Pro 133A */
|
||||
extern int machine_at_p3v4x_init(const machine_t *);
|
||||
@@ -1289,6 +1300,9 @@ extern int machine_at_cubx_init(const machine_t *);
|
||||
/* i440ZX */
|
||||
extern int machine_at_63a1_init(const machine_t *);
|
||||
|
||||
/* SiS 600 */
|
||||
extern int machine_at_7sbb_init(const machine_t *);
|
||||
|
||||
/* SMSC VictoryBX-66 */
|
||||
extern int machine_at_atc7020bxii_init(const machine_t *);
|
||||
extern int machine_at_m773_init(const machine_t *);
|
||||
@@ -1302,9 +1316,11 @@ extern int machine_at_p6bap_init(const machine_t *);
|
||||
/* VIA Apollo Pro 133A */
|
||||
extern int machine_at_6via90ap_init(const machine_t *);
|
||||
extern int machine_at_cuv4xls_init(const machine_t *);
|
||||
|
||||
/* SiS 600 */
|
||||
extern int machine_at_7sbb_init(const machine_t *);
|
||||
#ifdef EMU_DEVICE_H
|
||||
extern const device_t ms6318_device;
|
||||
#endif
|
||||
extern int machine_at_ms6318_init(const machine_t *);
|
||||
extern int machine_at_cairo5_init(const machine_t *);
|
||||
|
||||
/* m_at_misc.c */
|
||||
extern int machine_at_vpc2007_init(const machine_t *);
|
||||
@@ -1446,6 +1462,10 @@ extern int machine_xt_pb8810_init(const machine_t *);
|
||||
extern int machine_xt_sansx16_init(const machine_t *);
|
||||
extern int machine_xt_pcxt_init(const machine_t *);
|
||||
#ifdef EMU_DEVICE_H
|
||||
extern const device_t to16_device;
|
||||
#endif
|
||||
extern int machine_xt_to16_init(const machine_t *);
|
||||
#ifdef EMU_DEVICE_H
|
||||
extern const device_t vendex_device;
|
||||
#endif
|
||||
extern int machine_xt_vendex_init(const machine_t *);
|
||||
|
||||
@@ -132,6 +132,7 @@ extern int update_icons;
|
||||
extern int kbd_req_capture;
|
||||
extern int hide_status_bar;
|
||||
extern int hide_tool_bar;
|
||||
extern int fullscreen_ui_visible;
|
||||
|
||||
/* System-related functions. */
|
||||
extern FILE *plat_fopen(const char *path, const char *mode);
|
||||
|
||||
@@ -8,9 +8,11 @@
|
||||
*
|
||||
* Definitions for AC'97 audio emulation.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Authors: RichardG, <richardg867@gmail.com>
|
||||
*
|
||||
* Copyright 2021 RichardG.
|
||||
* Copyright 2021-2025 RichardG.
|
||||
*/
|
||||
#ifndef SOUND_AC97_H
|
||||
#define SOUND_AC97_H
|
||||
@@ -19,23 +21,26 @@
|
||||
|
||||
/* Misc support bits (misc_flags). Most of these are not part of any
|
||||
registers, but control enabling/disabling of registers and bits. */
|
||||
#define AC97_MASTER_6B (1 << 0) /* register 02 bits [13,5] (ML5/MR5) */
|
||||
#define AC97_AUXOUT (1 << 1) /* register 04 */
|
||||
#define AC97_AUXOUT_6B (1 << 2) /* register 04 bits [13,5] (ML5/MR5) */
|
||||
#define AC97_MONOOUT (1 << 3) /* register 06 */
|
||||
#define AC97_MONOOUT_6B (1 << 4) /* register 06 bit 5 (MM5) */
|
||||
#define AC97_PCBEEP (1 << 5) /* register 0A */
|
||||
#define AC97_PCBEEP_GEN (1 << 6) /* register 0A bits [12:5] (F[7:0]) */
|
||||
#define AC97_PHONE (1 << 9) /* register 0C */
|
||||
#define AC97_VIDEO (1 << 10) /* register 14 */
|
||||
#define AC97_AUXIN (1 << 11) /* register 16 */
|
||||
#define AC97_AUDIO (1 << 0) /* audio codec */
|
||||
#define AC97_MODEM (1 << 1) /* modem codec */
|
||||
#define AC97_MASTER_6B (1 << 2) /* register 02 bits [13,5] (ML5/MR5) */
|
||||
#define AC97_AUXOUT (1 << 3) /* register 04 */
|
||||
#define AC97_AUXOUT_6B (1 << 4) /* register 04 bits [13,5] (ML5/MR5) */
|
||||
#define AC97_MONOOUT (1 << 5) /* register 06 */
|
||||
#define AC97_MONOOUT_6B (1 << 6) /* register 06 bit 5 (MM5) */
|
||||
#define AC97_PCBEEP (1 << 9) /* register 0A */
|
||||
#define AC97_PCBEEP_GEN (1 << 10) /* register 0A bits [12:5] (F[7:0]) */
|
||||
#define AC97_PHONE (1 << 11) /* register 0C */
|
||||
#define AC97_VIDEO (1 << 12) /* register 14 */
|
||||
#define AC97_AUXIN (1 << 13) /* register 16 */
|
||||
#define AC97_POP (1 << 15) /* register 20 bit 15 (POP) - definition shared with General Purpose bits */
|
||||
#define AC97_MS (1 << 8) /* register 20 bit 8 (MS) - definition shared with General Purpose bits */
|
||||
#define AC97_LPBK (1 << 7) /* register 20 bit 7 (LPBK) - definition shared with General Purpose bits */
|
||||
#define AC97_DSA (1 << 12) /* register 28 bits [5:4] (DSA[1:0]) */
|
||||
#define AC97_LFE_6B (1 << 13) /* register 36 bit 13 (LFE5) */
|
||||
#define AC97_CENTER_6B (1 << 14) /* register 36 bit 5 (CNT5) */
|
||||
#define AC97_SURR_6B (1 << 16) /* register 38 bits [13,5] (LSR5/RSR5) */
|
||||
#define AC97_DSA (1 << 14) /* register 28 bits [5:4] (DSA[1:0]) */
|
||||
#define AC97_LFE_6B (1 << 16) /* register 36 bit 13 (LFE5) */
|
||||
#define AC97_CENTER_6B (1 << 17) /* register 36 bit 5 (CNT5) */
|
||||
#define AC97_SURR_6B (1 << 18) /* register 38 bits [13,5] (LSR5/RSR5) */
|
||||
#define AC97_GAIN_3B (1 << 19) /* registers [1C:1E] (audio) or [46:4A] (modem) bits [8,0] are always 0 (spec violation?) if this is set */
|
||||
|
||||
/* Reset bits (reset_flags), register 00. */
|
||||
#define AC97_MICPCM (1 << 0)
|
||||
@@ -89,6 +94,14 @@
|
||||
#define AC97_PRK (1 << 13)
|
||||
#define AC97_PRL (1 << 14)
|
||||
|
||||
/* Extended Modem ID bits, register 3C. */
|
||||
#define AC97_LIN1 (1 << 0)
|
||||
#define AC97_LIN2 (1 << 1)
|
||||
#define AC97_HSET (1 << 2)
|
||||
#define AC97_CID1 (1 << 3)
|
||||
#define AC97_CID2 (1 << 4)
|
||||
#define AC97_CIDR (1 << 7) /* special case: not part of register 3C, but rather 56 bit 13 */
|
||||
|
||||
/* Codec IDs. */
|
||||
#define AC97_CODEC_AD1881 AC97_VENDOR_ID('A', 'D', 'S', 0x40)
|
||||
#define AC97_CODEC_AK4540 AC97_VENDOR_ID('A', 'D', 'S', 0x40)
|
||||
@@ -100,6 +113,7 @@
|
||||
#define AC97_CODEC_TR28023 AC97_VENDOR_ID('T', 'R', 'A', 0x03)
|
||||
#define AC97_CODEC_W83971D AC97_VENDOR_ID('W', 'E', 'C', 0x01)
|
||||
#define AC97_CODEC_WM9701A AC97_VENDOR_ID('W', 'M', 'L', 0x00)
|
||||
#define AC97_CODEC_SI3036 AC97_VENDOR_ID('S', 'I', 'L', 0x22)
|
||||
|
||||
typedef struct ac97_vendor_reg_t {
|
||||
uint8_t page; /* for paged registers [60:6F], 0 otherwise */
|
||||
@@ -115,6 +129,8 @@ typedef struct ac97_codec_t {
|
||||
uint8_t vendor_reg_page_max;
|
||||
const ac97_vendor_reg_t *vendor_regs;
|
||||
uint16_t *vendor_reg_pages;
|
||||
uint16_t gpi;
|
||||
uint16_t gpo;
|
||||
} ac97_codec_t;
|
||||
|
||||
extern uint16_t ac97_codec_readw(ac97_codec_t *dev, uint8_t reg);
|
||||
@@ -122,22 +138,21 @@ extern void ac97_codec_writew(ac97_codec_t *dev, uint8_t reg, uint16_
|
||||
extern void ac97_codec_reset(void *priv);
|
||||
extern void ac97_codec_getattn(void *priv, uint8_t reg, int *l, int *r);
|
||||
extern uint32_t ac97_codec_getrate(void *priv, uint8_t reg);
|
||||
extern void ac97_codec_setgpi(void *priv, uint16_t gpi);
|
||||
extern void ac97_codec_setgpo(void *priv, uint16_t gpo);
|
||||
extern const device_t *ac97_codec_get(uint32_t id);
|
||||
|
||||
extern void ac97_via_set_slot(void *priv, int slot, int irq_pin);
|
||||
extern uint8_t ac97_via_read_status(void *priv, uint8_t modem);
|
||||
extern void ac97_via_write_control(void *priv, uint8_t modem, uint8_t val);
|
||||
extern uint8_t ac97_via_read_status(void *priv);
|
||||
extern void ac97_via_write_control(void *priv, uint8_t val);
|
||||
extern void ac97_via_remap_audio_sgd(void *priv, uint16_t new_io_base, uint8_t enable);
|
||||
extern void ac97_via_remap_modem_sgd(void *priv, uint16_t new_io_base, uint8_t enable);
|
||||
extern void ac97_via_remap_audio_codec(void *priv, uint16_t new_io_base, uint8_t enable);
|
||||
extern void ac97_via_remap_modem_codec(void *priv, uint16_t new_io_base, uint8_t enable);
|
||||
|
||||
extern ac97_codec_t **ac97_codec;
|
||||
extern ac97_codec_t **ac97_modem_codec;
|
||||
extern int ac97_codec_count;
|
||||
extern int ac97_modem_codec_count;
|
||||
extern int ac97_codec_id;
|
||||
extern int ac97_modem_codec_id;
|
||||
|
||||
#ifdef EMU_DEVICE_H
|
||||
extern const device_t ad1881_device;
|
||||
@@ -151,6 +166,9 @@ extern const device_t stac9721_device;
|
||||
extern const device_t tr28023_device;
|
||||
extern const device_t w83971d_device;
|
||||
extern const device_t wm9701a_device;
|
||||
#ifdef USE_SOFTMODEM
|
||||
extern const device_t si3036_device;
|
||||
#endif
|
||||
|
||||
extern const device_t ac97_via_device;
|
||||
#endif
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
# define FLAG_512K_MASK 512
|
||||
# define FLAG_NO_SHIFT3 1024 /* Needed for Bochs VBE. */
|
||||
# define FLAG_PRECISETIME 2048 /* Needed for Copper demo if on dynarec. */
|
||||
# define FLAG_PANNING_ATI 4096
|
||||
struct monitor_t;
|
||||
|
||||
typedef struct hwcursor_t {
|
||||
@@ -136,6 +137,7 @@ typedef struct svga_t {
|
||||
int ps_bit_bug;
|
||||
int ati_4color;
|
||||
int vblankend;
|
||||
int panning_blank;
|
||||
int render_line_offset;
|
||||
int start_retrace_latch;
|
||||
int vga_mode;
|
||||
|
||||
Reference in New Issue
Block a user