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:
@@ -36,9 +36,13 @@
|
||||
#define HDC_QUATERNARY_IRQ 10
|
||||
|
||||
enum {
|
||||
IDE_NONE = 0,
|
||||
IDE_HDD,
|
||||
IDE_ATAPI
|
||||
IDE_NONE = 0, /* Absent master or both. */
|
||||
IDE_HDD, /* Hard disk. */
|
||||
IDE_ATAPI, /* ATAPI device. */
|
||||
IDE_RESERVED, /* Reserved, do not use. */
|
||||
IDE_SHADOW, /* Shadow flag, do not assign on is own. */
|
||||
IDE_HDD_SHADOW, /* Shadow of a hard disk. */
|
||||
IDE_ATAPI_SHADOW /* Shadow of an ATAPI device. */
|
||||
};
|
||||
|
||||
typedef struct ide_tf_s {
|
||||
@@ -59,28 +63,26 @@ typedef struct ide_tf_s {
|
||||
uint8_t status;
|
||||
};
|
||||
uint8_t error;
|
||||
uint16_t pad;
|
||||
uint8_t sector;
|
||||
union {
|
||||
uint8_t drvsel;
|
||||
struct {
|
||||
uint8_t head :4;
|
||||
uint8_t pad :2;
|
||||
uint8_t lba :1;
|
||||
uint8_t pad0 :1;
|
||||
};
|
||||
};
|
||||
uint32_t pos;
|
||||
} ide_tf_t;
|
||||
|
||||
#ifdef _TIMER_H_
|
||||
typedef struct ide_s {
|
||||
#ifdef ANCIENT_CODE
|
||||
/* Task file. */
|
||||
uint8_t cylprecomp;
|
||||
uint8_t secount;
|
||||
uint16_t cylinder;
|
||||
uint8_t atastat;
|
||||
uint8_t error;
|
||||
uint16_t pad;
|
||||
uint32_t pos;
|
||||
#endif
|
||||
|
||||
/* The rest. */
|
||||
uint8_t selected;
|
||||
uint8_t command;
|
||||
uint8_t head;
|
||||
uint8_t sector;
|
||||
uint8_t pad;
|
||||
int type;
|
||||
int board;
|
||||
int irqstat;
|
||||
@@ -90,7 +92,6 @@ typedef struct ide_s {
|
||||
int hdd_num;
|
||||
int channel;
|
||||
int sector_pos;
|
||||
int lba;
|
||||
int reset;
|
||||
int mdma_mode;
|
||||
int do_initial_read;
|
||||
@@ -179,8 +180,7 @@ extern int ide_qua_enabled;
|
||||
|
||||
#ifdef SCSI_DEVICE_H
|
||||
extern ide_t *ide_get_drive(int ch);
|
||||
extern void ide_irq_raise(ide_t *ide);
|
||||
extern void ide_irq_lower(ide_t *ide);
|
||||
extern void ide_irq(ide_t *ide, int set, int log);
|
||||
extern void ide_allocate_buffer(ide_t *dev);
|
||||
extern void ide_atapi_attach(ide_t *dev);
|
||||
#endif
|
||||
@@ -224,6 +224,9 @@ extern uint8_t ide_read_ali_75(void);
|
||||
extern uint8_t ide_read_ali_76(void);
|
||||
|
||||
/* Legacy #define's. */
|
||||
#define ide_irq_raise(ide) ide_irq(ide, 1, 1)
|
||||
#define ide_irq_lower(ide) ide_irq(ide, 0, 1)
|
||||
|
||||
#define ide_set_base(board, port) ide_set_base_addr(board, 0, port)
|
||||
#define ide_set_side(board, port) ide_set_base_addr(board, 1, port)
|
||||
|
||||
|
||||
@@ -71,6 +71,8 @@ extern const device_t w83782d_device;
|
||||
|
||||
extern const device_t gl518sm_2c_device;
|
||||
extern const device_t gl518sm_2d_device;
|
||||
extern const device_t gl520sm_2c_device;
|
||||
extern const device_t gl520sm_2d_device;
|
||||
|
||||
extern const device_t via_vt82c686_hwm_device;
|
||||
|
||||
|
||||
@@ -54,17 +54,21 @@ typedef struct isapnp_device_config_t {
|
||||
} dma[2];
|
||||
} isapnp_device_config_t;
|
||||
|
||||
void *isapnp_add_card(uint8_t *rom, uint16_t rom_size,
|
||||
void (*config_changed)(uint8_t ld, isapnp_device_config_t *config, void *priv),
|
||||
void (*csn_changed)(uint8_t csn, void *priv),
|
||||
uint8_t (*read_vendor_reg)(uint8_t ld, uint8_t reg, void *priv),
|
||||
void (*write_vendor_reg)(uint8_t ld, uint8_t reg, uint8_t val, void *priv),
|
||||
void *priv);
|
||||
void isapnp_update_card_rom(void *priv, uint8_t *rom, uint16_t rom_size);
|
||||
void isapnp_enable_card(void *priv, uint8_t enable);
|
||||
void isapnp_set_csn(void *priv, uint8_t csn);
|
||||
void isapnp_set_device_defaults(void *priv, uint8_t ldn, const isapnp_device_config_t *config);
|
||||
void isapnp_reset_card(void *priv);
|
||||
void isapnp_reset_device(void *priv, uint8_t ld);
|
||||
extern const uint8_t isapnp_init_key[32];
|
||||
|
||||
void *isapnp_add_card(uint8_t *rom, uint16_t rom_size,
|
||||
void (*config_changed)(uint8_t ld, isapnp_device_config_t *config, void *priv),
|
||||
void (*csn_changed)(uint8_t csn, void *priv),
|
||||
uint8_t (*read_vendor_reg)(uint8_t ld, uint8_t reg, void *priv),
|
||||
void (*write_vendor_reg)(uint8_t ld, uint8_t reg, uint8_t val, void *priv),
|
||||
void *priv);
|
||||
void isapnp_update_card_rom(void *priv, uint8_t *rom, uint16_t rom_size);
|
||||
void isapnp_enable_card(void *priv, uint8_t enable);
|
||||
void isapnp_set_csn(void *priv, uint8_t csn);
|
||||
uint8_t isapnp_read_reg(void *priv, uint8_t ldn, uint8_t reg);
|
||||
void isapnp_write_reg(void *priv, uint8_t ldn, uint8_t reg, uint8_t val);
|
||||
void isapnp_set_device_defaults(void *priv, uint8_t ldn, const isapnp_device_config_t *config);
|
||||
void isapnp_reset_card(void *priv);
|
||||
void isapnp_reset_device(void *priv, uint8_t ld);
|
||||
|
||||
#endif /*EMU_ISAPNP_H*/
|
||||
|
||||
@@ -226,6 +226,7 @@ extern const device_t keyboard_xt_lxt3_device;
|
||||
# endif /*defined(DEV_BRANCH) && defined(USE_LASERXT) */
|
||||
extern const device_t keyboard_xt_olivetti_device;
|
||||
extern const device_t keyboard_xt_zenith_device;
|
||||
extern const device_t keyboard_xt_hyundai_device;
|
||||
extern const device_t keyboard_xtclone_device;
|
||||
extern const device_t keyboard_at_device;
|
||||
extern const device_t keyboard_at_siemens_device;
|
||||
|
||||
@@ -447,6 +447,7 @@ extern int machine_at_quadt386sx_init(const machine_t *);
|
||||
extern int machine_at_award286_init(const machine_t *);
|
||||
extern int machine_at_gdc212m_init(const machine_t *);
|
||||
extern int machine_at_gw286ct_init(const machine_t *);
|
||||
extern int machine_at_super286c_init(const machine_t *);
|
||||
extern int machine_at_super286tr_init(const machine_t *);
|
||||
extern int machine_at_spc4200p_init(const machine_t *);
|
||||
extern int machine_at_spc4216p_init(const machine_t *);
|
||||
@@ -600,6 +601,7 @@ extern int machine_at_p5sp4_init(const machine_t *);
|
||||
|
||||
/* m_at_socket5.c */
|
||||
extern int machine_at_plato_init(const machine_t *);
|
||||
extern int machine_at_dellplato_init(const machine_t *);
|
||||
extern int machine_at_ambradp90_init(const machine_t *);
|
||||
extern int machine_at_430nx_init(const machine_t *);
|
||||
|
||||
@@ -673,6 +675,7 @@ extern int machine_at_tx97_init(const machine_t *);
|
||||
extern int machine_at_an430tx_init(const machine_t *);
|
||||
#endif
|
||||
extern int machine_at_ym430tx_init(const machine_t *);
|
||||
extern int machine_at_thunderbolt_init(const machine_t *);
|
||||
extern int machine_at_mb540n_init(const machine_t *);
|
||||
extern int machine_at_56a5_init(const machine_t *);
|
||||
extern int machine_at_p5mms98_init(const machine_t *);
|
||||
@@ -705,6 +708,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_vs440fx_init(const machine_t *);
|
||||
extern int machine_at_gw2kvenus_init(const machine_t *);
|
||||
extern int machine_at_ap440fx_init(const machine_t *);
|
||||
extern int machine_at_mb600n_init(const machine_t *);
|
||||
extern int machine_at_8600ttc_init(const machine_t *);
|
||||
@@ -753,6 +757,7 @@ extern int machine_at_s370slm_init(const machine_t *);
|
||||
|
||||
extern int machine_at_cubx_init(const machine_t *);
|
||||
extern int machine_at_atc7020bxii_init(const machine_t *);
|
||||
extern int machine_at_m773_init(const machine_t *);
|
||||
extern int machine_at_ambx133_init(const machine_t *);
|
||||
extern int machine_at_awo671r_init(const machine_t *);
|
||||
extern int machine_at_63a1_init(const machine_t *);
|
||||
|
||||
@@ -102,6 +102,7 @@ extern void midi_in_sysex(uint8_t *buffer, uint32_t len);
|
||||
#ifdef EMU_DEVICE_H
|
||||
extern const device_t rtmidi_output_device;
|
||||
extern const device_t rtmidi_input_device;
|
||||
extern const device_t opl4_midi_device;
|
||||
# ifdef USE_FLUIDSYNTH
|
||||
extern const device_t fluidsynth_device;
|
||||
# endif
|
||||
|
||||
19
src/include/86box/net_eeprom_nmc93cxx.h
Normal file
19
src/include/86box/net_eeprom_nmc93cxx.h
Normal file
@@ -0,0 +1,19 @@
|
||||
struct nmc93cxx_eeprom_t;
|
||||
typedef struct nmc93cxx_eeprom_t nmc93cxx_eeprom_t;
|
||||
|
||||
typedef struct nmc93cxx_eeprom_params_t {
|
||||
uint16_t nwords;
|
||||
char *filename;
|
||||
uint16_t *default_content;
|
||||
} nmc93cxx_eeprom_params_t;
|
||||
|
||||
/* Read from the EEPROM. */
|
||||
uint16_t nmc93cxx_eeprom_read(nmc93cxx_eeprom_t *eeprom);
|
||||
|
||||
/* Write to the EEPROM. */
|
||||
void nmc93cxx_eeprom_write(nmc93cxx_eeprom_t *eeprom, int eecs, int eesk, int eedi);
|
||||
|
||||
/* Get EEPROM data array. */
|
||||
uint16_t *nmc93cxx_eeprom_data(nmc93cxx_eeprom_t *eeprom);
|
||||
|
||||
extern const device_t nmc93cxx_device;
|
||||
1
src/include/86box/net_rtl8139.h
Normal file
1
src/include/86box/net_rtl8139.h
Normal file
@@ -0,0 +1 @@
|
||||
extern const device_t rtl8139c_plus_device;
|
||||
3
src/include/86box/net_tulip.h
Normal file
3
src/include/86box/net_tulip.h
Normal file
@@ -0,0 +1,3 @@
|
||||
extern const device_t dec_tulip_device;
|
||||
extern const device_t dec_tulip_21140_device;
|
||||
extern const device_t dec_tulip_21140_vpc_device;
|
||||
101
src/include/86box/opl4_defines.h
Normal file
101
src/include/86box/opl4_defines.h
Normal file
@@ -0,0 +1,101 @@
|
||||
/*
|
||||
* RoboPlay for MSX
|
||||
* Copyright (C) 2020 by RoboSoft Inc.
|
||||
*
|
||||
* opl4_defines.h
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __OPL4_DEFINES_H
|
||||
#define __OPL4_DEFINES_H
|
||||
|
||||
/*
|
||||
* Register numbers
|
||||
*/
|
||||
|
||||
#define OPL4_REG_TEST0 0x00
|
||||
#define OPL4_REG_TEST1 0x01
|
||||
|
||||
#define OPL4_REG_MEMORY_CONFIGURATION 0x02
|
||||
#define OPL4_MODE_BIT 0x01
|
||||
#define OPL4_MTYPE_BIT 0x02
|
||||
#define OPL4_TONE_HEADER_MASK 0x1C
|
||||
#define OPL4_DEVICE_ID_MASK 0xE0
|
||||
|
||||
#define OPL4_REG_MEMORY_ADDRESS_HIGH 0x03
|
||||
#define OPL4_REG_MEMORY_ADDRESS_MID 0x04
|
||||
#define OPL4_REG_MEMORY_ADDRESS_LOW 0x05
|
||||
#define OPL4_REG_MEMORY_DATA 0x06
|
||||
|
||||
/*
|
||||
* Offsets to the register banks for voices. To get the
|
||||
* register number just add the voice number to the bank offset.
|
||||
*
|
||||
* Wave Table Number low bits (0x08 to 0x1F)
|
||||
*/
|
||||
#define OPL4_REG_TONE_NUMBER 0x08
|
||||
|
||||
/* Wave Table Number high bit, F-Number low bits (0x20 to 0x37) */
|
||||
#define OPL4_REG_F_NUMBER 0x20
|
||||
#define OPL4_TONE_NUMBER_BIT8 0x01
|
||||
#define OPL4_F_NUMBER_LOW_MASK 0xFE
|
||||
|
||||
/* F-Number high bits, Octave, Pseudo-Reverb (0x38 to 0x4F) */
|
||||
#define OPL4_REG_OCTAVE 0x38
|
||||
#define OPL4_F_NUMBER_HIGH_MASK 0x07
|
||||
#define OPL4_BLOCK_MASK 0xF0
|
||||
#define OPL4_PSEUDO_REVERB_BIT 0x08
|
||||
|
||||
/* Total Level, Level Direct (0x50 to 0x67) */
|
||||
#define OPL4_REG_LEVEL 0x50
|
||||
#define OPL4_TOTAL_LEVEL_MASK 0xFE
|
||||
#define OPL4_LEVEL_DIRECT_BIT 0x01
|
||||
|
||||
/* Key On, Damp, LFO RST, CH, Panpot (0x68 to 0x7F) */
|
||||
#define OPL4_REG_MISC 0x68
|
||||
#define OPL4_KEY_ON_BIT 0x80
|
||||
#define OPL4_DAMP_BIT 0x40
|
||||
#define OPL4_LFO_RESET_BIT 0x20
|
||||
#define OPL4_OUTPUT_CHANNEL_BIT 0x10
|
||||
#define OPL4_PAN_POT_MASK 0x0F
|
||||
|
||||
/* LFO, VIB (0x80 to 0x97) */
|
||||
#define OPL4_REG_LFO_VIBRATO 0x80
|
||||
#define OPL4_LFO_FREQUENCY_MASK 0x38
|
||||
#define OPL4_VIBRATO_DEPTH_MASK 0x07
|
||||
#define OPL4_CHORUS_SEND_MASK 0xC0
|
||||
|
||||
/* Attack / Decay 1 rate (0x98 to 0xAF) */
|
||||
#define OPL4_REG_ATTACK_DECAY1 0x98
|
||||
#define OPL4_ATTACK_RATE_MASK 0xF0
|
||||
#define OPL4_DECAY1_RATE_MASK 0x0F
|
||||
|
||||
/* Decay level / 2 rate (0xB0 to 0xC7) */
|
||||
#define OPL4_REG_LEVEL_DECAY2 0xB0
|
||||
#define OPL4_DECAY_LEVEL_MASK 0xF0
|
||||
#define OPL4_DECAY2_RATE_MASK 0x0F
|
||||
|
||||
/* Release rate / Rate correction (0xC8 to 0xDF) */
|
||||
#define OPL4_REG_RELEASE_CORRECTION 0xC8
|
||||
#define OPL4_RELEASE_RATE_MASK 0x0F
|
||||
#define OPL4_RATE_INTERPOLATION_MASK 0xF0
|
||||
|
||||
/* AM (0xE0 to 0xF7) */
|
||||
#define OPL4_REG_TREMOLO 0xE0
|
||||
#define OPL4_TREMOLO_DEPTH_MASK 0x07
|
||||
#define OPL4_REVERB_SEND_MASK 0xE0
|
||||
|
||||
/* Mixer */
|
||||
#define OPL4_REG_MIX_CONTROL_FM 0xF8
|
||||
#define OPL4_REG_MIX_CONTROL_PCM 0xF9
|
||||
#define OPL4_MIX_LEFT_MASK 0x07
|
||||
#define OPL4_MIX_RIGHT_MASK 0x38
|
||||
|
||||
#define OPL4_REG_ATC 0xFA
|
||||
#define OPL4_ATC_BIT 0x01
|
||||
|
||||
/* Bits in the OPL4 Status register */
|
||||
#define OPL4_STATUS_BUSY 0x01
|
||||
#define OPL4_STATUS_LOAD 0x02
|
||||
|
||||
#endif /* __OPL4_DEFINES_H */
|
||||
@@ -107,6 +107,7 @@ extern int infocus;
|
||||
extern char emu_version[200]; /* version ID string */
|
||||
extern int rctrl_is_lalt;
|
||||
extern int update_icons;
|
||||
extern int status_icons_fullscreen;
|
||||
|
||||
extern int kbd_req_capture;
|
||||
extern int hide_status_bar;
|
||||
|
||||
@@ -68,6 +68,8 @@ typedef struct scsi_disk_t {
|
||||
|
||||
extern scsi_disk_t *scsi_disk[HDD_NUM];
|
||||
|
||||
extern void scsi_disk_reset(scsi_common_t *sc);
|
||||
|
||||
extern void scsi_disk_hard_reset(void);
|
||||
extern void scsi_disk_close(void);
|
||||
|
||||
|
||||
@@ -42,6 +42,7 @@ extern const device_t fdc37c935_device;
|
||||
extern const device_t fdc37m60x_device;
|
||||
extern const device_t fdc37m60x_370_device;
|
||||
extern const device_t it8661f_device;
|
||||
extern const device_t it8671f_device;
|
||||
extern const device_t i82091aa_device;
|
||||
extern const device_t i82091aa_398_device;
|
||||
extern const device_t i82091aa_ide_pri_device;
|
||||
@@ -79,6 +80,8 @@ extern const device_t ps1_m2133_sio;
|
||||
extern const device_t sio_detect_device;
|
||||
#endif
|
||||
extern const device_t um8669f_device;
|
||||
extern const device_t um8669f_ide_device;
|
||||
extern const device_t um8669f_ide_sec_device;
|
||||
extern const device_t via_vt82c686_sio_device;
|
||||
extern const device_t w83627hf_device;
|
||||
extern const device_t w83627hf_no_hwm_device;
|
||||
|
||||
@@ -38,6 +38,7 @@ typedef struct fm_drv_t {
|
||||
void (*reset_buffer)(void *priv);
|
||||
void (*set_do_cycles)(void *priv, int8_t do_cycles);
|
||||
void *priv;
|
||||
void (*generate)(void *priv, int32_t *data, uint32_t num_samples); /* daughterboard only. */
|
||||
} fm_drv_t;
|
||||
|
||||
extern uint8_t fm_driver_get(int chip_id, fm_drv_t *drv);
|
||||
|
||||
@@ -41,7 +41,7 @@ typedef struct ibm8514_t {
|
||||
int type;
|
||||
int local;
|
||||
int bpp;
|
||||
int on;
|
||||
int on[2];
|
||||
int accel_bpp;
|
||||
|
||||
uint32_t vram_size;
|
||||
@@ -64,7 +64,7 @@ typedef struct ibm8514_t {
|
||||
struct {
|
||||
uint16_t subsys_cntl;
|
||||
uint16_t setup_md;
|
||||
uint8_t advfunc_cntl;
|
||||
uint16_t advfunc_cntl;
|
||||
uint8_t ext_advfunc_cntl;
|
||||
uint16_t cur_y;
|
||||
uint16_t cur_y_bitres;
|
||||
|
||||
Reference in New Issue
Block a user