Merge pull request #1571 from 86Box/master
Bring the branch up to par with master.
This commit is contained in:
@@ -189,6 +189,8 @@ extern void resub_cycles(int old_cycles);
|
||||
extern double isa_timing;
|
||||
extern int io_delay, framecountx;
|
||||
|
||||
extern volatile int cpu_thread_run;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
40
src/include/86box/cartridge.h
Normal file
40
src/include/86box/cartridge.h
Normal file
@@ -0,0 +1,40 @@
|
||||
/*
|
||||
* 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 PCjr cartridge emulation.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Authors: Miran Grca, <mgrca8@gmail.com>
|
||||
*
|
||||
* Copyright 2021 Miran Grca.
|
||||
*/
|
||||
#ifndef EMU_CARTRIDGE_H
|
||||
# define EMU_CARTRIDGE_H
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
extern char cart_fns[2][512];
|
||||
|
||||
|
||||
extern void cart_load(int drive, char *fn);
|
||||
extern void cart_close(int drive);
|
||||
|
||||
extern void cart_reset(void);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#endif /*EMU_CARTRIDGE_H*/
|
||||
173
src/include/86box/cassette.h
Normal file
173
src/include/86box/cassette.h
Normal file
@@ -0,0 +1,173 @@
|
||||
/*****************************************************************************
|
||||
* pce *
|
||||
*****************************************************************************/
|
||||
|
||||
/*****************************************************************************
|
||||
* File name: src/ibmpc/cassette.h *
|
||||
* Created: 2008-11-25 by Hampa Hug <hampa@hampa.ch> *
|
||||
* Copyright: (C) 2008-2019 Hampa Hug <hampa@hampa.ch> *
|
||||
*****************************************************************************/
|
||||
|
||||
/*****************************************************************************
|
||||
* This program is free software. You can redistribute it and / or modify it *
|
||||
* under the terms of the GNU General Public License version 2 as published *
|
||||
* by the Free Software Foundation. *
|
||||
* *
|
||||
* This program is distributed in the hope that it will be useful, but *
|
||||
* WITHOUT ANY WARRANTY, without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General *
|
||||
* Public License for more details. *
|
||||
*****************************************************************************/
|
||||
|
||||
|
||||
#ifndef PCE_IBMPC_CASSETTE_H
|
||||
#define PCE_IBMPC_CASSETTE_H 1
|
||||
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
|
||||
typedef struct {
|
||||
char save;
|
||||
char pcm;
|
||||
|
||||
unsigned char motor;
|
||||
|
||||
unsigned long position;
|
||||
|
||||
unsigned long position_save;
|
||||
unsigned long position_load;
|
||||
|
||||
unsigned char data_out;
|
||||
unsigned char data_inp;
|
||||
|
||||
int pcm_out_vol;
|
||||
int pcm_out_val;
|
||||
|
||||
unsigned cas_out_cnt;
|
||||
unsigned char cas_out_buf;
|
||||
|
||||
unsigned cas_inp_cnt;
|
||||
unsigned char cas_inp_buf;
|
||||
unsigned char cas_inp_bit;
|
||||
|
||||
int pcm_inp_fir[3];
|
||||
|
||||
unsigned long clk;
|
||||
|
||||
unsigned long clk_pcm;
|
||||
|
||||
unsigned long clk_out;
|
||||
unsigned long clk_inp;
|
||||
|
||||
unsigned long srate;
|
||||
|
||||
char close;
|
||||
char *fname;
|
||||
FILE *fp;
|
||||
pc_timer_t timer;
|
||||
} pc_cassette_t;
|
||||
|
||||
|
||||
void pc_cas_init (pc_cassette_t *cas);
|
||||
void pc_cas_free (pc_cassette_t *cas);
|
||||
|
||||
pc_cassette_t *pc_cas_new (void);
|
||||
void pc_cas_del (pc_cassette_t *cas);
|
||||
|
||||
/*!***************************************************************************
|
||||
* @short Set the cassette file
|
||||
* @return True on error, false otherwise
|
||||
*****************************************************************************/
|
||||
int pc_cas_set_fname (pc_cassette_t *cas, const char *fname);
|
||||
|
||||
/*!***************************************************************************
|
||||
* @short Get the cassette mode
|
||||
* @return True if in save mode, false if in load mode
|
||||
*****************************************************************************/
|
||||
int pc_cas_get_mode (const pc_cassette_t *cas);
|
||||
|
||||
/*!***************************************************************************
|
||||
* @short Set the cassette mode
|
||||
* @param save If true set save mode, otherwise set load mode
|
||||
*****************************************************************************/
|
||||
void pc_cas_set_mode (pc_cassette_t *cas, int save);
|
||||
|
||||
/*!***************************************************************************
|
||||
* @short Get the cassette pcm mode
|
||||
* @return True if in pcm mode, false if in binary mode
|
||||
*****************************************************************************/
|
||||
int pc_cas_get_pcm (const pc_cassette_t *cas);
|
||||
|
||||
/*!***************************************************************************
|
||||
* @short Set the cassette pcm mode
|
||||
* @param pcm If true set pcm mode, otherwise set binary mode
|
||||
*****************************************************************************/
|
||||
void pc_cas_set_pcm (pc_cassette_t *cas, int pcm);
|
||||
|
||||
/*!***************************************************************************
|
||||
* @short Get the pcm sample rate
|
||||
* @return The sample rate in Hz
|
||||
*****************************************************************************/
|
||||
unsigned long pc_cas_get_srate (const pc_cassette_t *cas);
|
||||
|
||||
/*!***************************************************************************
|
||||
* @short Set the pcm sample rate
|
||||
* @param pcm The sample rate in Hz
|
||||
*****************************************************************************/
|
||||
void pc_cas_set_srate (pc_cassette_t *cas, unsigned long srate);
|
||||
|
||||
/*!***************************************************************************
|
||||
* @short Rewind the cassette
|
||||
*****************************************************************************/
|
||||
void pc_cas_rewind (pc_cassette_t *cas);
|
||||
|
||||
/*!***************************************************************************
|
||||
* @short Fast forward to the end of the cassette
|
||||
*****************************************************************************/
|
||||
void pc_cas_append (pc_cassette_t *cas);
|
||||
|
||||
/*!***************************************************************************
|
||||
* @short Get the current load/save position
|
||||
*****************************************************************************/
|
||||
unsigned long pc_cas_get_position (const pc_cassette_t *cas);
|
||||
|
||||
/*!***************************************************************************
|
||||
* @short Set the current load/save position
|
||||
*****************************************************************************/
|
||||
int pc_cas_set_position (pc_cassette_t *cas, unsigned long pos);
|
||||
|
||||
/*!***************************************************************************
|
||||
* @short Set the cassette motor status
|
||||
*****************************************************************************/
|
||||
void pc_cas_set_motor (pc_cassette_t *cas, unsigned char val);
|
||||
|
||||
/*!***************************************************************************
|
||||
* @short Get the current input from the cassette
|
||||
*****************************************************************************/
|
||||
unsigned char pc_cas_get_inp (const pc_cassette_t *cas);
|
||||
|
||||
/*!***************************************************************************
|
||||
* @short Set the current output to the cassette
|
||||
*****************************************************************************/
|
||||
void pc_cas_set_out (pc_cassette_t *cas, unsigned char val);
|
||||
|
||||
void pc_cas_print_state (const pc_cassette_t *cas);
|
||||
|
||||
void pc_cas_clock (pc_cassette_t *cas, unsigned long cnt);
|
||||
void pc_cas_advance (pc_cassette_t *cas);
|
||||
|
||||
|
||||
extern pc_cassette_t * cassette;
|
||||
|
||||
extern char cassette_fname[512];
|
||||
extern char cassette_mode[512];
|
||||
extern unsigned long cassette_pos, cassette_srate;
|
||||
extern int cassette_enable;
|
||||
extern int cassette_append, cassette_pcm;
|
||||
extern int cassette_ui_writeprot;
|
||||
|
||||
extern const device_t cassette_device;
|
||||
|
||||
|
||||
#endif
|
||||
@@ -158,6 +158,9 @@ extern void config_set_mac(char *head, char *name, int val);
|
||||
extern void config_set_string(char *head, char *name, char *val);
|
||||
extern void config_set_wstring(char *head, char *name, wchar_t *val);
|
||||
|
||||
extern void * config_find_section(char *name);
|
||||
extern void config_rename_section(void *priv, char *name);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
# define EMU_HDD_H
|
||||
|
||||
|
||||
#define HDD_NUM 40 /* total of 40 images supported */
|
||||
#define HDD_NUM 88 /* total of 88 images supported */
|
||||
|
||||
|
||||
/* Hard Disk bus types. */
|
||||
|
||||
@@ -121,6 +121,10 @@
|
||||
#define IDS_2145 2145 // "You are loading an unsupported..."
|
||||
#define IDS_2146 2146 // "CPU type filtering based on..."
|
||||
#define IDS_2147 2147 // "Continue"
|
||||
#define IDS_2148 2148 // "Cassette: %s"
|
||||
#define IDS_2149 2149 // "Cassette images (*.PCM;*.RAW;*..."
|
||||
#define IDS_2150 2150 // "Cartridge %i: %ls"
|
||||
#define IDS_2151 2151 // "Cartridge images (*.JRC)\0*.JRC\0..."
|
||||
|
||||
#define IDS_4096 4096 // "Hard disk (%s)"
|
||||
#define IDS_4097 4097 // "%01i:%01i"
|
||||
@@ -161,6 +165,7 @@
|
||||
#define IDS_4132 4132 // "This could mean that the parent..."
|
||||
#define IDS_4133 4133 // "Parent and child disk timestamps..."
|
||||
#define IDS_4134 4134 // "Could not fix VHD timestamp."
|
||||
#define IDS_4135 4135 // "%01i:%02i"
|
||||
|
||||
#define IDS_4352 4352 // "MFM/RLL"
|
||||
#define IDS_4353 4353 // "XT IDE"
|
||||
@@ -228,9 +233,9 @@
|
||||
|
||||
#define IDS_LANG_ENUS IDS_7168
|
||||
|
||||
#define STR_NUM_2048 100
|
||||
#define STR_NUM_2048 104
|
||||
#define STR_NUM_3072 11
|
||||
#define STR_NUM_4096 39
|
||||
#define STR_NUM_4096 40
|
||||
#define STR_NUM_4352 6
|
||||
#define STR_NUM_4608 6
|
||||
#define STR_NUM_5120 1
|
||||
|
||||
@@ -82,6 +82,7 @@
|
||||
#define MACHINE_IDE_QUAD 0x07800000 /* sys has int quad IDE/ATAPI - mark as dual + both ter and and qua IDE/ATAPI */
|
||||
#define MACHINE_SCSI 0x08000000 /* sys has int single SCSI - mark as pri SCSI */
|
||||
#define MACHINE_SCSI_DUAL 0x18000000 /* sys has int dual SCSI - mark as both pri and sec SCSI */
|
||||
#define MACHINE_CARTRIDGE 0x20000000 /* sys has two cartridge bays */
|
||||
|
||||
#define IS_ARCH(m, a) (machines[m].flags & (a)) ? 1 : 0;
|
||||
#define IS_AT(m) ((machines[m].flags & 0x00000FC8) && !(machines[m].flags & MACHINE_PC98)) ? 1 : 0;
|
||||
|
||||
@@ -118,6 +118,7 @@ extern void nvr_at_handler(int set, uint16_t base, nvr_t *nvr);
|
||||
extern void nvr_at_sec_handler(int set, uint16_t base, nvr_t *nvr);
|
||||
extern void nvr_read_addr_set(int set, nvr_t *nvr);
|
||||
extern void nvr_wp_set(int set, int h, nvr_t *nvr);
|
||||
extern void nvr_via_wp_set(int set, int reg, nvr_t *nvr);
|
||||
extern void nvr_bank_set(int base, uint8_t bank, nvr_t *nvr);
|
||||
extern void nvr_lock_set(int base, int size, int lock, nvr_t *nvr);
|
||||
|
||||
|
||||
@@ -64,8 +64,8 @@ extern "C" {
|
||||
/* Global variables residing in the platform module. */
|
||||
extern int dopause, /* system is paused */
|
||||
doresize, /* screen resize requested */
|
||||
is_quit, /* system exit requested */
|
||||
mouse_capture; /* mouse is captured in app */
|
||||
extern volatile int is_quit; /* system exit requested */
|
||||
|
||||
#ifdef MTR_ENABLED
|
||||
extern int tracing_on;
|
||||
@@ -80,6 +80,8 @@ extern int update_icons;
|
||||
extern int unscaled_size_x, /* current unscaled size X */
|
||||
unscaled_size_y; /* current unscaled size Y */
|
||||
|
||||
extern int kbd_req_capture, hide_status_bar;
|
||||
|
||||
/* System-related functions. */
|
||||
extern char *fix_exe_path(char *str);
|
||||
extern FILE *plat_fopen(const char *path, const char *mode);
|
||||
@@ -129,6 +131,10 @@ extern void plat_power_off(void);
|
||||
|
||||
|
||||
/* Platform-specific device support. */
|
||||
extern void cassette_mount(char *fn, uint8_t wp);
|
||||
extern void cassette_eject(void);
|
||||
extern void cartridge_mount(uint8_t id, char *fn, uint8_t wp);
|
||||
extern void cartridge_eject(uint8_t id);
|
||||
extern void floppy_mount(uint8_t id, char *fn, uint8_t wp);
|
||||
extern void floppy_eject(uint8_t id);
|
||||
extern void cdrom_mount(uint8_t id, char *fn);
|
||||
@@ -150,7 +156,6 @@ typedef void event_t;
|
||||
typedef void mutex_t;
|
||||
|
||||
extern thread_t *thread_create(void (*thread_func)(void *param), void *param);
|
||||
extern void thread_kill(thread_t *arg);
|
||||
extern int thread_wait(thread_t *arg, int timeout);
|
||||
extern event_t *thread_create_event(void);
|
||||
extern void thread_set_event(event_t *arg);
|
||||
|
||||
@@ -180,78 +180,86 @@
|
||||
#define IDC_CHECK_PARALLEL3 1079
|
||||
|
||||
#define IDC_OTHER_PERIPH 1080 /* storage controllers config */
|
||||
#define IDC_COMBO_SCSI 1081
|
||||
#define IDC_CONFIGURE_SCSI 1082
|
||||
#define IDC_COMBO_HDC 1083
|
||||
#define IDC_CONFIGURE_HDC 1084
|
||||
#define IDC_CHECK_IDE_TER 1085
|
||||
#define IDC_BUTTON_IDE_TER 1086
|
||||
#define IDC_CHECK_IDE_QUA 1087
|
||||
#define IDC_BUTTON_IDE_QUA 1088
|
||||
#define IDC_COMBO_HDC 1081
|
||||
#define IDC_CONFIGURE_HDC 1082
|
||||
#define IDC_CHECK_IDE_TER 1083
|
||||
#define IDC_BUTTON_IDE_TER 1084
|
||||
#define IDC_CHECK_IDE_QUA 1085
|
||||
#define IDC_BUTTON_IDE_QUA 1086
|
||||
#define IDC_GROUP_SCSI 1087
|
||||
#define IDC_COMBO_SCSI_1 1088
|
||||
#define IDC_COMBO_SCSI_2 1089
|
||||
#define IDC_COMBO_SCSI_3 1090
|
||||
#define IDC_COMBO_SCSI_4 1091
|
||||
#define IDC_CONFIGURE_SCSI_1 1092
|
||||
#define IDC_CONFIGURE_SCSI_2 1093
|
||||
#define IDC_CONFIGURE_SCSI_3 1094
|
||||
#define IDC_CONFIGURE_SCSI_4 1095
|
||||
#define IDC_CHECK_CASSETTE 1096
|
||||
|
||||
#define IDC_HARD_DISKS 1090 /* hard disks config */
|
||||
#define IDC_LIST_HARD_DISKS 1091
|
||||
#define IDC_BUTTON_HDD_ADD_NEW 1092
|
||||
#define IDC_BUTTON_HDD_ADD 1093
|
||||
#define IDC_BUTTON_HDD_REMOVE 1094
|
||||
#define IDC_COMBO_HD_BUS 1095
|
||||
#define IDC_COMBO_HD_CHANNEL 1096
|
||||
#define IDC_COMBO_HD_ID 1097
|
||||
#define IDC_COMBO_HD_LUN 1098
|
||||
#define IDC_COMBO_HD_CHANNEL_IDE 1099
|
||||
#define IDC_HARD_DISKS 1100 /* hard disks config */
|
||||
#define IDC_LIST_HARD_DISKS 1101
|
||||
#define IDC_BUTTON_HDD_ADD_NEW 1102
|
||||
#define IDC_BUTTON_HDD_ADD 1103
|
||||
#define IDC_BUTTON_HDD_REMOVE 1104
|
||||
#define IDC_COMBO_HD_BUS 1105
|
||||
#define IDC_COMBO_HD_CHANNEL 1106
|
||||
#define IDC_COMBO_HD_ID 1107
|
||||
#define IDC_COMBO_HD_LUN 1108
|
||||
#define IDC_COMBO_HD_CHANNEL_IDE 1109
|
||||
|
||||
#define IDC_EDIT_HD_FILE_NAME 1100 /* add hard disk dialog */
|
||||
#define IDC_EDIT_HD_SPT 1101
|
||||
#define IDC_EDIT_HD_HPC 1102
|
||||
#define IDC_EDIT_HD_CYL 1103
|
||||
#define IDC_EDIT_HD_SIZE 1104
|
||||
#define IDC_COMBO_HD_TYPE 1105
|
||||
#define IDC_PBAR_IMG_CREATE 1106
|
||||
#define IDC_COMBO_HD_IMG_FORMAT 1107
|
||||
#define IDC_COMBO_HD_BLOCK_SIZE 1108
|
||||
#define IDC_EDIT_HD_FILE_NAME 1110 /* add hard disk dialog */
|
||||
#define IDC_EDIT_HD_SPT 1111
|
||||
#define IDC_EDIT_HD_HPC 1112
|
||||
#define IDC_EDIT_HD_CYL 1113
|
||||
#define IDC_EDIT_HD_SIZE 1114
|
||||
#define IDC_COMBO_HD_TYPE 1115
|
||||
#define IDC_PBAR_IMG_CREATE 1116
|
||||
#define IDC_COMBO_HD_IMG_FORMAT 1117
|
||||
#define IDC_COMBO_HD_BLOCK_SIZE 1118
|
||||
|
||||
#define IDC_REMOV_DEVICES 1110 /* floppy and cd-rom drives config */
|
||||
#define IDC_LIST_FLOPPY_DRIVES 1111
|
||||
#define IDC_COMBO_FD_TYPE 1112
|
||||
#define IDC_CHECKTURBO 1113
|
||||
#define IDC_CHECKBPB 1114
|
||||
#define IDC_LIST_CDROM_DRIVES 1115
|
||||
#define IDC_COMBO_CD_BUS 1116
|
||||
#define IDC_COMBO_CD_ID 1117
|
||||
#define IDC_COMBO_CD_LUN 1118
|
||||
#define IDC_COMBO_CD_CHANNEL_IDE 1119
|
||||
#define IDC_REMOV_DEVICES 1120 /* floppy and cd-rom drives config */
|
||||
#define IDC_LIST_FLOPPY_DRIVES 1121
|
||||
#define IDC_COMBO_FD_TYPE 1122
|
||||
#define IDC_CHECKTURBO 1123
|
||||
#define IDC_CHECKBPB 1124
|
||||
#define IDC_LIST_CDROM_DRIVES 1125
|
||||
#define IDC_COMBO_CD_BUS 1126
|
||||
#define IDC_COMBO_CD_ID 1127
|
||||
#define IDC_COMBO_CD_LUN 1128
|
||||
#define IDC_COMBO_CD_CHANNEL_IDE 1129
|
||||
|
||||
#define IDC_LIST_ZIP_DRIVES 1120 /* other removable devices config */
|
||||
#define IDC_COMBO_ZIP_BUS 1121
|
||||
#define IDC_COMBO_ZIP_ID 1122
|
||||
#define IDC_COMBO_ZIP_LUN 1123
|
||||
#define IDC_COMBO_ZIP_CHANNEL_IDE 1124
|
||||
#define IDC_CHECK250 1125
|
||||
#define IDC_COMBO_CD_SPEED 1126
|
||||
#define IDC_LIST_MO_DRIVES 1127
|
||||
#define IDC_COMBO_MO_BUS 1128
|
||||
#define IDC_COMBO_MO_ID 1129
|
||||
#define IDC_COMBO_MO_LUN 1130
|
||||
#define IDC_COMBO_MO_CHANNEL_IDE 1131
|
||||
#define IDC_COMBO_MO_TYPE 1132
|
||||
#define IDC_LIST_ZIP_DRIVES 1130 /* other removable devices config */
|
||||
#define IDC_COMBO_ZIP_BUS 1131
|
||||
#define IDC_COMBO_ZIP_ID 1132
|
||||
#define IDC_COMBO_ZIP_LUN 1133
|
||||
#define IDC_COMBO_ZIP_CHANNEL_IDE 1134
|
||||
#define IDC_CHECK250 1135
|
||||
#define IDC_COMBO_CD_SPEED 1136
|
||||
#define IDC_LIST_MO_DRIVES 1137
|
||||
#define IDC_COMBO_MO_BUS 1138
|
||||
#define IDC_COMBO_MO_ID 1139
|
||||
#define IDC_COMBO_MO_LUN 1140
|
||||
#define IDC_COMBO_MO_CHANNEL_IDE 1141
|
||||
#define IDC_COMBO_MO_TYPE 1142
|
||||
|
||||
#define IDC_CHECK_BUGGER 1140 /* other periph config */
|
||||
#define IDC_CHECK_POSTCARD 1141
|
||||
#define IDC_COMBO_ISARTC 1142
|
||||
#define IDC_CONFIGURE_ISARTC 1143
|
||||
#define IDC_COMBO_FDC 1144
|
||||
#define IDC_CONFIGURE_FDC 1145
|
||||
#define IDC_GROUP_ISAMEM 1146
|
||||
#define IDC_COMBO_ISAMEM_1 1147
|
||||
#define IDC_COMBO_ISAMEM_2 1148
|
||||
#define IDC_COMBO_ISAMEM_3 1149
|
||||
#define IDC_COMBO_ISAMEM_4 1150
|
||||
#define IDC_CONFIGURE_ISAMEM_1 1151
|
||||
#define IDC_CONFIGURE_ISAMEM_2 1152
|
||||
#define IDC_CONFIGURE_ISAMEM_3 1153
|
||||
#define IDC_CONFIGURE_ISAMEM_4 1154
|
||||
#define IDC_CHECK_BUGGER 1150 /* other periph config */
|
||||
#define IDC_CHECK_POSTCARD 1151
|
||||
#define IDC_COMBO_ISARTC 1152
|
||||
#define IDC_CONFIGURE_ISARTC 1153
|
||||
#define IDC_COMBO_FDC 1154
|
||||
#define IDC_CONFIGURE_FDC 1155
|
||||
#define IDC_GROUP_ISAMEM 1156
|
||||
#define IDC_COMBO_ISAMEM_1 1157
|
||||
#define IDC_COMBO_ISAMEM_2 1158
|
||||
#define IDC_COMBO_ISAMEM_3 1159
|
||||
#define IDC_COMBO_ISAMEM_4 1160
|
||||
#define IDC_CONFIGURE_ISAMEM_1 1161
|
||||
#define IDC_CONFIGURE_ISAMEM_2 1162
|
||||
#define IDC_CONFIGURE_ISAMEM_3 1163
|
||||
#define IDC_CONFIGURE_ISAMEM_4 1164
|
||||
|
||||
#define IDC_SLIDER_GAIN 1160 /* sound gain dialog */
|
||||
#define IDC_SLIDER_GAIN 1170 /* sound gain dialog */
|
||||
|
||||
#define IDC_EDIT_FILE_NAME 1200 /* new floppy image dialog */
|
||||
#define IDC_COMBO_DISK_SIZE 1201
|
||||
@@ -285,21 +293,21 @@
|
||||
|
||||
#define IDM_ABOUT 40001
|
||||
#define IDC_ABOUT_ICON 65535
|
||||
#define IDM_ACTION_RCTRL_IS_LALT 40010
|
||||
#define IDM_ACTION_SCREENSHOT 40011
|
||||
#define IDM_ACTION_HRESET 40012
|
||||
#define IDM_ACTION_RESET_CAD 40013
|
||||
#define IDM_ACTION_EXIT 40014
|
||||
#define IDM_ACTION_CTRL_ALT_ESC 40015
|
||||
#define IDM_ACTION_PAUSE 40016
|
||||
#define IDM_ACTION_KBD_REQ_CAPTURE 40010
|
||||
#define IDM_ACTION_RCTRL_IS_LALT 40011
|
||||
#define IDM_ACTION_SCREENSHOT 40012
|
||||
#define IDM_ACTION_HRESET 40013
|
||||
#define IDM_ACTION_RESET_CAD 40014
|
||||
#define IDM_ACTION_EXIT 40015
|
||||
#define IDM_ACTION_CTRL_ALT_ESC 40016
|
||||
#define IDM_ACTION_PAUSE 40017
|
||||
#ifdef MTR_ENABLED
|
||||
#define IDM_ACTION_BEGIN_TRACE 40017
|
||||
#define IDM_ACTION_END_TRACE 40018
|
||||
#define IDM_ACTION_TRACE 40019
|
||||
#define IDM_ACTION_BEGIN_TRACE 40018
|
||||
#define IDM_ACTION_END_TRACE 40019
|
||||
#define IDM_ACTION_TRACE 40020
|
||||
#endif
|
||||
#define IDM_CONFIG 40020
|
||||
#define IDM_CONFIG_LOAD 40021
|
||||
#define IDM_CONFIG_SAVE 40022
|
||||
#define IDM_VID_HIDE_STATUS_BAR 40021
|
||||
#define IDM_UPDATE_ICONS 40030
|
||||
#define IDM_VID_RESIZE 40040
|
||||
#define IDM_VID_REMEMBER 40041
|
||||
@@ -371,29 +379,41 @@
|
||||
* and 5 bits for Removable Disks (5 bits for ID), so we use an
|
||||
* 8bit (256 entries) space for these devices.
|
||||
*/
|
||||
#define IDM_FLOPPY_IMAGE_NEW 0x1200
|
||||
#define IDM_FLOPPY_IMAGE_EXISTING 0x1300
|
||||
#define IDM_FLOPPY_IMAGE_EXISTING_WP 0x1400
|
||||
#define IDM_FLOPPY_EXPORT_TO_86F 0x1500
|
||||
#define IDM_FLOPPY_EJECT 0x1600
|
||||
#define IDM_CASSETTE_IMAGE_NEW 0x1200
|
||||
#define IDM_CASSETTE_IMAGE_EXISTING 0x1300
|
||||
#define IDM_CASSETTE_IMAGE_EXISTING_WP 0x1400
|
||||
#define IDM_CASSETTE_RECORD 0x1500
|
||||
#define IDM_CASSETTE_PLAY 0x1600
|
||||
#define IDM_CASSETTE_REWIND 0x1700
|
||||
#define IDM_CASSETTE_FAST_FORWARD 0x1800
|
||||
#define IDM_CASSETTE_EJECT 0x1900
|
||||
|
||||
#define IDM_CDROM_MUTE 0x2200
|
||||
#define IDM_CDROM_EMPTY 0x2300
|
||||
#define IDM_CDROM_RELOAD 0x2400
|
||||
#define IDM_CDROM_IMAGE 0x2500
|
||||
#define IDM_CDROM_HOST_DRIVE 0x2600
|
||||
#define IDM_CARTRIDGE_IMAGE 0x2200
|
||||
#define IDM_CARTRIDGE_EJECT 0x2300
|
||||
|
||||
#define IDM_ZIP_IMAGE_NEW 0x3200
|
||||
#define IDM_ZIP_IMAGE_EXISTING 0x3300
|
||||
#define IDM_ZIP_IMAGE_EXISTING_WP 0x3400
|
||||
#define IDM_ZIP_EJECT 0x3500
|
||||
#define IDM_ZIP_RELOAD 0x3600
|
||||
#define IDM_FLOPPY_IMAGE_NEW 0x3200
|
||||
#define IDM_FLOPPY_IMAGE_EXISTING 0x3300
|
||||
#define IDM_FLOPPY_IMAGE_EXISTING_WP 0x3400
|
||||
#define IDM_FLOPPY_EXPORT_TO_86F 0x3500
|
||||
#define IDM_FLOPPY_EJECT 0x3600
|
||||
|
||||
#define IDM_MO_IMAGE_NEW 0x4200
|
||||
#define IDM_MO_IMAGE_EXISTING 0x4300
|
||||
#define IDM_MO_IMAGE_EXISTING_WP 0x4400
|
||||
#define IDM_MO_EJECT 0x4500
|
||||
#define IDM_MO_RELOAD 0x4600
|
||||
#define IDM_CDROM_MUTE 0x4200
|
||||
#define IDM_CDROM_EMPTY 0x4300
|
||||
#define IDM_CDROM_RELOAD 0x4400
|
||||
#define IDM_CDROM_IMAGE 0x4500
|
||||
#define IDM_CDROM_HOST_DRIVE 0x4600
|
||||
|
||||
#define IDM_ZIP_IMAGE_NEW 0x5200
|
||||
#define IDM_ZIP_IMAGE_EXISTING 0x5300
|
||||
#define IDM_ZIP_IMAGE_EXISTING_WP 0x5400
|
||||
#define IDM_ZIP_EJECT 0x5500
|
||||
#define IDM_ZIP_RELOAD 0x5600
|
||||
|
||||
#define IDM_MO_IMAGE_NEW 0x6200
|
||||
#define IDM_MO_IMAGE_EXISTING 0x6300
|
||||
#define IDM_MO_IMAGE_EXISTING_WP 0x6400
|
||||
#define IDM_MO_EJECT 0x6500
|
||||
#define IDM_MO_RELOAD 0x6600
|
||||
|
||||
|
||||
/* Next default values for new objects */
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
#ifndef EMU_SCSI_H
|
||||
#define EMU_SCSI_H
|
||||
|
||||
extern int scsi_card_current;
|
||||
extern int scsi_card_current[4];
|
||||
|
||||
extern int scsi_card_available(int card);
|
||||
#ifdef EMU_DEVICE_H
|
||||
|
||||
@@ -21,6 +21,8 @@
|
||||
|
||||
|
||||
/* Configuration. */
|
||||
#define SCSI_BUS_MAX 4 /* currently we support up to 4 controllers */
|
||||
|
||||
#define SCSI_ID_MAX 16 /* 16 on wide buses */
|
||||
#define SCSI_LUN_MAX 8 /* always 8 */
|
||||
|
||||
@@ -359,7 +361,7 @@ typedef struct {
|
||||
#define SCSI_REMOVABLE_DISK 0x8000
|
||||
#define SCSI_REMOVABLE_CDROM 0x8005
|
||||
|
||||
extern scsi_device_t scsi_devices[SCSI_ID_MAX];
|
||||
extern scsi_device_t scsi_devices[SCSI_BUS_MAX][SCSI_ID_MAX];
|
||||
|
||||
|
||||
extern int cdrom_add_error_and_subchannel(uint8_t *b, int real_sector_type);
|
||||
@@ -384,4 +386,7 @@ extern void scsi_device_identify(scsi_device_t *dev, uint8_t lun);
|
||||
extern void scsi_device_close_all(void);
|
||||
extern void scsi_device_init(void);
|
||||
|
||||
extern void scsi_reset(void);
|
||||
extern uint8_t scsi_get_bus(void);
|
||||
|
||||
#endif /*SCSI_DEVICE_H*/
|
||||
|
||||
@@ -382,7 +382,7 @@ typedef struct {
|
||||
|
||||
uint8_t callback_phase :4,
|
||||
callback_sub_phase :4,
|
||||
scsi_cmd_phase, pad,
|
||||
scsi_cmd_phase, bus,
|
||||
sync,
|
||||
parity, shram_mode,
|
||||
Geometry, Control,
|
||||
@@ -429,7 +429,7 @@ typedef struct {
|
||||
PendingInterrupt, Lock,
|
||||
target_data_len, pad0;
|
||||
|
||||
uint32_t Base, fdc_address, rom_addr, /* address of BIOS ROM */
|
||||
uint32_t Base, fdc_address, rom_addr, /* address of BIOS ROM */
|
||||
CmdParamLeft, Outgoing,
|
||||
transfer_size;
|
||||
|
||||
@@ -441,7 +441,7 @@ typedef struct {
|
||||
BIOSMailboxInit, BIOSMailboxCount,
|
||||
BIOSMailboxOutAddr, BIOSMailboxOutPosCur,
|
||||
BIOSMailboxReq,
|
||||
Residue, bus; /* Basically a copy of device flags */
|
||||
Residue, card_bus; /* Basically a copy of device flags */
|
||||
|
||||
/* 8 bytes */
|
||||
uint64_t temp_period;
|
||||
|
||||
@@ -30,9 +30,8 @@
|
||||
#define SBPRO 5 /* DSP v3.00 */
|
||||
#define SBPRO2 6 /* DSP v3.02 + OPL3 */
|
||||
#define SB16 7 /* DSP v4.05 + OPL3 */
|
||||
#define SADGOLD 8 /* AdLib Gold */
|
||||
#define SND_WSS 9 /* Windows Sound System */
|
||||
#define SND_PAS16 10 /* Pro Audio Spectrum 16 */
|
||||
#define SBAWE32 8 /* DSP v4.13 + OPL3 */
|
||||
#define SBAWE64 9 /* DSP v4.16 + OPL3 */
|
||||
|
||||
/* SB 2.0 CD version */
|
||||
typedef struct sb_ct1335_mixer_t
|
||||
|
||||
@@ -116,6 +116,7 @@ extern const device_t sb_16_pnp_device;
|
||||
extern const device_t sb_32_pnp_device;
|
||||
extern const device_t sb_awe32_device;
|
||||
extern const device_t sb_awe32_pnp_device;
|
||||
extern const device_t sb_awe64_gold_device;
|
||||
|
||||
/* Innovation SSI-2001 */
|
||||
extern const device_t ssi2001_device;
|
||||
|
||||
@@ -50,14 +50,16 @@ extern void ui_check_menu_item(int id, int checked);
|
||||
|
||||
/* Status Bar functions. */
|
||||
#define SB_ICON_WIDTH 24
|
||||
#define SB_FLOPPY 0x00
|
||||
#define SB_CDROM 0x10
|
||||
#define SB_ZIP 0x20
|
||||
#define SB_MO 0x30
|
||||
#define SB_HDD 0x40
|
||||
#define SB_NETWORK 0x50
|
||||
#define SB_SOUND 0x60
|
||||
#define SB_TEXT 0x70
|
||||
#define SB_CASSETTE 0x00
|
||||
#define SB_CARTRIDGE 0x10
|
||||
#define SB_FLOPPY 0x20
|
||||
#define SB_CDROM 0x30
|
||||
#define SB_ZIP 0x40
|
||||
#define SB_MO 0x50
|
||||
#define SB_HDD 0x60
|
||||
#define SB_NETWORK 0x70
|
||||
#define SB_SOUND 0x80
|
||||
#define SB_TEXT 0x90
|
||||
|
||||
extern wchar_t *ui_window_title(wchar_t *s);
|
||||
extern void ui_status_update(void);
|
||||
|
||||
@@ -500,8 +500,9 @@ typedef struct voodoo_t
|
||||
void *codegen_data;
|
||||
|
||||
struct voodoo_set_t *set;
|
||||
|
||||
|
||||
|
||||
uint8_t fifo_thread_run, render_thread_run[4];
|
||||
|
||||
uint8_t *vram, *changedvram;
|
||||
|
||||
void *p;
|
||||
|
||||
@@ -58,6 +58,8 @@ DECLARE_HANDLE(DPI_AWARENESS_CONTEXT);
|
||||
#define SDL_CLASS_NAME L"86BoxSDLWnd"
|
||||
#define SDL_SUB_CLASS_NAME L"86BoxSDLSubWnd"
|
||||
|
||||
#define CASSETTE_SUBMENU_NAME L"CassetteSubmenu"
|
||||
#define CARTRIDGE_SUBMENU_NAME L"CartridgeSubmenu"
|
||||
#define FLOPPY_SUBMENU_NAME L"FloppySubmenu"
|
||||
#define CDROM_SUBMENU_NAME L"CdromSubmenu"
|
||||
#define ZIP_SUBMENU_NAME L"ZIPSubmenu"
|
||||
@@ -220,10 +222,14 @@ extern wchar_t *BrowseFolder(wchar_t *saved_path, wchar_t *title);
|
||||
extern void media_menu_init();
|
||||
extern void media_menu_reset();
|
||||
extern int media_menu_proc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);
|
||||
extern HMENU media_menu_get_cassette(void);
|
||||
extern HMENU media_menu_get_cartridge(int id);
|
||||
extern HMENU media_menu_get_floppy(int id);
|
||||
extern HMENU media_menu_get_cdrom(int id);
|
||||
extern HMENU media_menu_get_zip(int id);
|
||||
extern HMENU media_menu_get_mo(int id);
|
||||
extern void media_menu_update_cassette(void);
|
||||
extern void media_menu_update_cartridge(int id);
|
||||
extern void media_menu_update_floppy(int id);
|
||||
extern void media_menu_update_cdrom(int id);
|
||||
extern void media_menu_update_zip(int id);
|
||||
|
||||
Reference in New Issue
Block a user