mirror of
https://github.com/86Box/86Box.git
synced 2026-02-22 01:25:33 -07:00
Merge remote-tracking branch 'upstream/master' into feature/ich2
This commit is contained in:
@@ -199,7 +199,7 @@ 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;
|
||||
|
||||
#if defined(DEV_BRANCH) && defined(USE_OLIVETTI)
|
||||
#ifdef USE_OLIVETTI
|
||||
extern const device_t olivetti_eva_device;
|
||||
#endif
|
||||
#endif /* USE_OLIVETTI */
|
||||
#endif /*EMU_CHIPSET_H*/
|
||||
|
||||
@@ -69,28 +69,80 @@ extern uint8_t fifo8_pop(Fifo8 *fifo);
|
||||
/**
|
||||
* fifo8_pop_buf:
|
||||
* @fifo: FIFO to pop from
|
||||
* @max: maximum number of bytes to pop
|
||||
* @num: actual number of returned bytes
|
||||
* @dest: the buffer to write the data into (can be NULL)
|
||||
* @destlen: size of @dest and maximum number of bytes to pop
|
||||
*
|
||||
* Pop a number of elements from the FIFO up to a maximum of max. The buffer
|
||||
* Pop a number of elements from the FIFO up to a maximum of @destlen.
|
||||
* The popped data is copied into the @dest buffer.
|
||||
* Care is taken when the data wraps around in the ring buffer.
|
||||
*
|
||||
* Returns: number of bytes popped.
|
||||
*/
|
||||
extern uint32_t fifo8_pop_buf(Fifo8 *fifo, uint8_t *dest, uint32_t destlen);
|
||||
|
||||
/**
|
||||
* fifo8_pop_bufptr:
|
||||
* @fifo: FIFO to pop from
|
||||
* @max: maximum number of bytes to pop
|
||||
* @numptr: pointer filled with number of bytes returned (can be NULL)
|
||||
*
|
||||
* New code should prefer to use fifo8_pop_buf() instead of fifo8_pop_bufptr().
|
||||
*
|
||||
* Pop a number of elements from the FIFO up to a maximum of @max. The buffer
|
||||
* containing the popped data is returned. This buffer points directly into
|
||||
* the FIFO backing store and data is invalidated once any of the fifo8_* APIs
|
||||
* are called on the FIFO.
|
||||
* the internal FIFO backing store and data (without checking for overflow!)
|
||||
* and is invalidated once any of the fifo8_* APIs are called on the FIFO.
|
||||
*
|
||||
* The function may return fewer bytes than requested when the data wraps
|
||||
* around in the ring buffer; in this case only a contiguous part of the data
|
||||
* is returned.
|
||||
*
|
||||
* The number of valid bytes returned is populated in *num; will always return
|
||||
* at least 1 byte. max must not be 0 or greater than the number of bytes in
|
||||
* the FIFO.
|
||||
* The number of valid bytes returned is populated in *@numptr; will always
|
||||
* return at least 1 byte. max must not be 0 or greater than the number of
|
||||
* bytes in the FIFO.
|
||||
*
|
||||
* Clients are responsible for checking the availability of requested data
|
||||
* using fifo8_num_used().
|
||||
*
|
||||
* Returns: A pointer to popped data.
|
||||
*/
|
||||
extern const uint8_t *fifo8_pop_buf(Fifo8 *fifo, uint32_t max, uint32_t *num);
|
||||
extern const uint8_t *fifo8_pop_bufptr(Fifo8 *fifo, uint32_t max, uint32_t *numptr);
|
||||
|
||||
/**
|
||||
* fifo8_peek_bufptr: read upto max bytes from the fifo
|
||||
* @fifo: FIFO to read from
|
||||
* @max: maximum number of bytes to peek
|
||||
* @numptr: pointer filled with number of bytes returned (can be NULL)
|
||||
*
|
||||
* Peek into a number of elements from the FIFO up to a maximum of @max.
|
||||
* The buffer containing the data peeked into is returned. This buffer points
|
||||
* directly into the FIFO backing store. Since data is invalidated once any
|
||||
* of the fifo8_* APIs are called on the FIFO, it is the caller responsibility
|
||||
* to access it before doing further API calls.
|
||||
*
|
||||
* The function may return fewer bytes than requested when the data wraps
|
||||
* around in the ring buffer; in this case only a contiguous part of the data
|
||||
* is returned.
|
||||
*
|
||||
* The number of valid bytes returned is populated in *@numptr; will always
|
||||
* return at least 1 byte. max must not be 0 or greater than the number of
|
||||
* bytes in the FIFO.
|
||||
*
|
||||
* Clients are responsible for checking the availability of requested data
|
||||
* using fifo8_num_used().
|
||||
*
|
||||
* Returns: A pointer to peekable data.
|
||||
*/
|
||||
extern const uint8_t *fifo8_peek_bufptr(Fifo8 *fifo, uint32_t max, uint32_t *numptr);
|
||||
|
||||
/**
|
||||
* fifo8_drop:
|
||||
* @fifo: FIFO to drop bytes
|
||||
* @len: number of bytes to drop
|
||||
*
|
||||
* Drop (consume) bytes from a FIFO.
|
||||
*/
|
||||
extern void fifo8_drop(Fifo8 *fifo, uint32_t len);
|
||||
|
||||
/**
|
||||
* fifo8_reset:
|
||||
|
||||
@@ -222,9 +222,9 @@ extern const device_t keyboard_xt86_device;
|
||||
extern const device_t keyboard_xt_compaq_device;
|
||||
extern const device_t keyboard_xt_t1x00_device;
|
||||
extern const device_t keyboard_tandy_device;
|
||||
# if defined(DEV_BRANCH) && defined(USE_LASERXT)
|
||||
# ifdef USE_LASERXT
|
||||
extern const device_t keyboard_xt_lxt3_device;
|
||||
# endif /*defined(DEV_BRANCH) && defined(USE_LASERXT) */
|
||||
# endif /* 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;
|
||||
@@ -272,6 +272,7 @@ extern uint8_t keyboard_get_shift(void);
|
||||
extern void keyboard_get_states(uint8_t *cl, uint8_t *nl, uint8_t *sl);
|
||||
extern void keyboard_set_states(uint8_t cl, uint8_t nl, uint8_t sl);
|
||||
extern int keyboard_recv(uint16_t key);
|
||||
extern int keyboard_recv_ui(uint16_t key);
|
||||
extern int keyboard_isfsenter(void);
|
||||
extern int keyboard_isfsenter_up(void);
|
||||
extern int keyboard_isfsexit(void);
|
||||
|
||||
@@ -438,9 +438,9 @@ extern int machine_at_ibmxt286_init(const machine_t *);
|
||||
extern int machine_at_siemens_init(const machine_t *); // Siemens PCD-2L. N82330 discrete machine. It segfaults in some places
|
||||
|
||||
extern int machine_at_wellamerastar_init(const machine_t *); // Wells American A*Star with custom award BIOS
|
||||
#if defined(DEV_BRANCH) && defined(USE_OPEN_AT)
|
||||
#ifdef USE_OPEN_AT
|
||||
extern int machine_at_openat_init(const machine_t *);
|
||||
#endif
|
||||
#endif /* USE_OPEN_AT */
|
||||
|
||||
/* m_at_286_386sx.c */
|
||||
extern int machine_at_tg286m_init(const machine_t *);
|
||||
@@ -469,9 +469,9 @@ extern int machine_at_deskmaster286_init(const machine_t *);
|
||||
extern int machine_at_pc8_init(const machine_t *);
|
||||
extern int machine_at_3302_init(const machine_t *);
|
||||
|
||||
#if defined(DEV_BRANCH) && defined(USE_OLIVETTI)
|
||||
#ifdef USE_OLIVETTI
|
||||
extern int machine_at_m290_init(const machine_t *);
|
||||
#endif
|
||||
#endif /* USE_OLIVETTI */
|
||||
|
||||
extern int machine_at_shuttle386sx_init(const machine_t *);
|
||||
extern int machine_at_adi386sx_init(const machine_t *);
|
||||
@@ -727,9 +727,9 @@ extern int machine_at_i430vx_init(const machine_t *);
|
||||
extern int machine_at_ma23c_init(const machine_t *);
|
||||
extern int machine_at_nupro592_init(const machine_t *);
|
||||
extern int machine_at_tx97_init(const machine_t *);
|
||||
#if defined(DEV_BRANCH) && defined(USE_AN430TX)
|
||||
#ifdef USE_AN430TX
|
||||
extern int machine_at_an430tx_init(const machine_t *);
|
||||
#endif
|
||||
#endif /* USE_AN430TX */
|
||||
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 *);
|
||||
@@ -896,7 +896,7 @@ extern int machine_ps2_model_70_type4_init(const machine_t *);
|
||||
|
||||
/* m_tandy.c */
|
||||
extern int tandy1k_eeprom_read(void);
|
||||
extern int machine_tandy_init(const machine_t *);
|
||||
extern int machine_tandy1000sx_init(const machine_t *);
|
||||
extern int machine_tandy1000hx_init(const machine_t *);
|
||||
extern int machine_tandy1000sl2_init(const machine_t *);
|
||||
|
||||
@@ -947,10 +947,10 @@ extern int machine_xt_compaq_deskpro_init(const machine_t *);
|
||||
extern int machine_xt_compaq_portable_init(const machine_t *);
|
||||
|
||||
/* m_xt_laserxt.c */
|
||||
#if defined(DEV_BRANCH) && defined(USE_LASERXT)
|
||||
#ifdef USE_LASERXT
|
||||
extern int machine_xt_laserxt_init(const machine_t *);
|
||||
extern int machine_xt_lxt3_init(const machine_t *);
|
||||
#endif
|
||||
#endif /* USE_LASERXT */
|
||||
|
||||
/* m_xt_philips.c */
|
||||
extern int machine_xt_p3105_init(const machine_t *);
|
||||
|
||||
@@ -104,18 +104,18 @@ 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;
|
||||
# if defined(DEV_BRANCH) && defined(USE_OPL4ML)
|
||||
# ifdef USE_OPL4ML
|
||||
extern const device_t opl4_midi_device;
|
||||
# endif
|
||||
# endif /* USE_OPL4ML */
|
||||
# ifdef USE_FLUIDSYNTH
|
||||
extern const device_t fluidsynth_device;
|
||||
# endif
|
||||
# endif /* USE_FLUIDSYNTH */
|
||||
# ifdef USE_MUNT
|
||||
extern const device_t mt32_old_device;
|
||||
extern const device_t mt32_new_device;
|
||||
extern const device_t cm32l_device;
|
||||
extern const device_t cm32ln_device;
|
||||
# endif
|
||||
# endif /* USE_MUNT */
|
||||
#endif
|
||||
|
||||
#endif /*EMU_SOUND_MIDI_H*/
|
||||
|
||||
@@ -71,8 +71,10 @@ extern const device_t mouse_mssystems_device;
|
||||
extern const device_t mouse_msserial_device;
|
||||
extern const device_t mouse_ltserial_device;
|
||||
extern const device_t mouse_ps2_device;
|
||||
# ifdef USE_WACOM
|
||||
extern const device_t mouse_wacom_device;
|
||||
extern const device_t mouse_wacom_artpad_device;
|
||||
# endif
|
||||
extern const device_t mouse_mtouch_device;
|
||||
#endif
|
||||
|
||||
|
||||
@@ -19,6 +19,8 @@
|
||||
#ifndef EMU_PIT_H
|
||||
#define EMU_PIT_H
|
||||
|
||||
#define NUM_COUNTERS 3
|
||||
|
||||
typedef struct ctr_t {
|
||||
uint8_t m;
|
||||
uint8_t ctrl;
|
||||
@@ -68,7 +70,7 @@ typedef struct PIT {
|
||||
int clock;
|
||||
pc_timer_t callback_timer;
|
||||
|
||||
ctr_t counters[3];
|
||||
ctr_t counters[NUM_COUNTERS];
|
||||
|
||||
uint8_t ctrl;
|
||||
|
||||
|
||||
@@ -68,7 +68,7 @@ typedef struct ctrf_t {
|
||||
|
||||
typedef struct pitf_t {
|
||||
int flags;
|
||||
ctrf_t counters[3];
|
||||
ctrf_t counters[NUM_COUNTERS];
|
||||
|
||||
uint8_t ctrl;
|
||||
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
#ifndef SCSI_PCSCSI_H
|
||||
#define SCSI_PCSCSI_H
|
||||
|
||||
extern const device_t am53c974_pci_device;
|
||||
extern const device_t dc390_pci_device;
|
||||
extern const device_t ncr53c90a_mca_device;
|
||||
|
||||
|
||||
@@ -83,9 +83,9 @@ extern const device_t prime3b_ide_device;
|
||||
extern const device_t prime3c_device;
|
||||
extern const device_t prime3c_ide_device;
|
||||
extern const device_t ps1_m2133_sio;
|
||||
#if defined(DEV_BRANCH) && defined(USE_SIO_DETECT)
|
||||
#ifdef USE_SIO_DETECT
|
||||
extern const device_t sio_detect_device;
|
||||
#endif
|
||||
#endif /* USE_SIO_DETECT */
|
||||
extern const device_t um8663af_device;
|
||||
extern const device_t um8663af_ide_device;
|
||||
extern const device_t um8663af_sec_device;
|
||||
|
||||
@@ -20,6 +20,9 @@ typedef struct sn76489_t {
|
||||
int freqhi[4];
|
||||
int vol[4];
|
||||
uint32_t shift;
|
||||
uint32_t white_noise_tap_1;
|
||||
uint32_t white_noise_tap_2;
|
||||
uint32_t feedback_mask;
|
||||
uint8_t noise;
|
||||
int lasttone;
|
||||
uint8_t firstdat;
|
||||
|
||||
@@ -87,6 +87,7 @@ typedef struct svga_t {
|
||||
int dac_b;
|
||||
int vtotal;
|
||||
int dispend;
|
||||
int vdisp;
|
||||
int vsyncstart;
|
||||
int split;
|
||||
int vblankstart;
|
||||
|
||||
@@ -330,9 +330,9 @@ extern const device_t ati28800k_device;
|
||||
extern const device_t ati28800k_spc4620p_device;
|
||||
extern const device_t ati28800k_spc6033p_device;
|
||||
extern const device_t compaq_ati28800_device;
|
||||
# if defined(DEV_BRANCH) && defined(USE_XL24)
|
||||
# ifdef USE_XL24
|
||||
extern const device_t ati28800_wonderxl24_device;
|
||||
# endif
|
||||
# endif /* USE_XL24 */
|
||||
|
||||
/* Bochs */
|
||||
extern const device_t bochs_svga_device;
|
||||
@@ -448,7 +448,7 @@ extern const device_t mystique_220_device;
|
||||
extern const device_t millennium_ii_device;
|
||||
#ifdef USE_G100
|
||||
extern const device_t productiva_g100_device;
|
||||
#endif
|
||||
#endif /* USE_G100 */
|
||||
|
||||
/* Oak OTI-0x7 */
|
||||
extern const device_t oti037c_device;
|
||||
|
||||
Reference in New Issue
Block a user