Merge branch 'master' of github.com:86Box/86Box into tc1995
This commit is contained in:
@@ -21,7 +21,7 @@ System requirements and recommendations
|
|||||||
Performance may vary depending on both host and guest configuration. Most emulation logic is executed in a single thread, therefore generally systems with better IPC (instructions per clock) should be able to emulate higher clock speeds.
|
Performance may vary depending on both host and guest configuration. Most emulation logic is executed in a single thread, therefore generally systems with better IPC (instructions per clock) should be able to emulate higher clock speeds.
|
||||||
|
|
||||||
It is also recommended to use a manager application with 86Box for easier handling of multiple virtual machines.
|
It is also recommended to use a manager application with 86Box for easier handling of multiple virtual machines.
|
||||||
* [WinBox for 86Box](https://github.com/laciba96/WinBox-for-86Box) by [Laci bá'](https://github.com/laciba96)
|
* [WinBox for 86Box](https://github.com/86Box/WinBox-for-86Box) by Laci bá'
|
||||||
* The new manager with improved new user experience; installer, automatic updates of emulator files and more.
|
* The new manager with improved new user experience; installer, automatic updates of emulator files and more.
|
||||||
* [86Box Manager](https://github.com/86Box/86BoxManager) by [daviunic](https://github.com/daviunic) (Overdoze)
|
* [86Box Manager](https://github.com/86Box/86BoxManager) by [daviunic](https://github.com/daviunic) (Overdoze)
|
||||||
* The traditional 86Box manager with simple interface.
|
* The traditional 86Box manager with simple interface.
|
||||||
|
@@ -1031,8 +1031,8 @@ cdrom_readsector_raw(cdrom_t *dev, uint8_t *buffer, int sector, int ismsf, int c
|
|||||||
memset(raw_buffer, 0, 2448);
|
memset(raw_buffer, 0, 2448);
|
||||||
memset(extra_buffer, 0, 296);
|
memset(extra_buffer, 0, 296);
|
||||||
|
|
||||||
if (!(cdrom_sector_flags & 0xf0)) { /* 0x00 and 0x08 are illegal modes */
|
if ((cdrom_sector_flags & 0xf8) == 0x08) { /* 0x08 is an illegal mode */
|
||||||
cdrom_log("CD-ROM %i: [Mode 1] 0x00 and 0x08 are illegal modes\n", dev->id);
|
cdrom_log("CD-ROM %i: [Mode 1] 0x08 is an illegal mode\n", dev->id);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -561,6 +561,7 @@ load_general(void)
|
|||||||
|
|
||||||
kbd_req_capture = config_get_int(cat, "kbd_req_capture", 0);
|
kbd_req_capture = config_get_int(cat, "kbd_req_capture", 0);
|
||||||
hide_status_bar = config_get_int(cat, "hide_status_bar", 0);
|
hide_status_bar = config_get_int(cat, "hide_status_bar", 0);
|
||||||
|
hide_tool_bar = config_get_int(cat, "hide_tool_bar", 0);
|
||||||
|
|
||||||
confirm_reset = config_get_int(cat, "confirm_reset", 1);
|
confirm_reset = config_get_int(cat, "confirm_reset", 1);
|
||||||
confirm_exit = config_get_int(cat, "confirm_exit", 1);
|
confirm_exit = config_get_int(cat, "confirm_exit", 1);
|
||||||
@@ -2036,6 +2037,7 @@ config_load(void)
|
|||||||
|
|
||||||
kbd_req_capture = 0;
|
kbd_req_capture = 0;
|
||||||
hide_status_bar = 0;
|
hide_status_bar = 0;
|
||||||
|
hide_tool_bar = 0;
|
||||||
scale = 1;
|
scale = 1;
|
||||||
machine = machine_get_machine_from_internal_name("ibmpc");
|
machine = machine_get_machine_from_internal_name("ibmpc");
|
||||||
dpi_scale = 1;
|
dpi_scale = 1;
|
||||||
@@ -2222,6 +2224,11 @@ save_general(void)
|
|||||||
else
|
else
|
||||||
config_delete_var(cat, "hide_status_bar");
|
config_delete_var(cat, "hide_status_bar");
|
||||||
|
|
||||||
|
if (hide_tool_bar != 0)
|
||||||
|
config_set_int(cat, "hide_tool_bar", hide_tool_bar);
|
||||||
|
else
|
||||||
|
config_delete_var(cat, "hide_tool_bar");
|
||||||
|
|
||||||
if (confirm_reset != 1)
|
if (confirm_reset != 1)
|
||||||
config_set_int(cat, "confirm_reset", confirm_reset);
|
config_set_int(cat, "confirm_reset", confirm_reset);
|
||||||
else
|
else
|
||||||
|
@@ -90,7 +90,7 @@ extern int update_icons;
|
|||||||
extern int unscaled_size_x, /* current unscaled size X */
|
extern int unscaled_size_x, /* current unscaled size X */
|
||||||
unscaled_size_y; /* current unscaled size Y */
|
unscaled_size_y; /* current unscaled size Y */
|
||||||
|
|
||||||
extern int kbd_req_capture, hide_status_bar;
|
extern int kbd_req_capture, hide_status_bar, hide_tool_bar;
|
||||||
|
|
||||||
/* System-related functions. */
|
/* System-related functions. */
|
||||||
extern char *fix_exe_path(char *str);
|
extern char *fix_exe_path(char *str);
|
||||||
|
@@ -1623,7 +1623,18 @@ scsi_cdrom_command(scsi_common_t *sc, uint8_t *cdb)
|
|||||||
|
|
||||||
dev->sector_len -= dev->sector_pos;
|
dev->sector_len -= dev->sector_pos;
|
||||||
dev->sector_len++;
|
dev->sector_len++;
|
||||||
|
|
||||||
msf = 1;
|
msf = 1;
|
||||||
|
|
||||||
|
if ((cdb[9] & 0xf8) == 0x08) {
|
||||||
|
/* 0x08 is an illegal mode */
|
||||||
|
scsi_cdrom_invalid_field(dev);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* If all the flag bits are cleared, then treat it as a non-data command. */
|
||||||
|
if ((cdb[9] == 0x00) && ((cdb[10] & 0x07) == 0x00))
|
||||||
|
dev->sector_len = 0;
|
||||||
break;
|
break;
|
||||||
case GPCMD_READ_CD_OLD:
|
case GPCMD_READ_CD_OLD:
|
||||||
case GPCMD_READ_CD:
|
case GPCMD_READ_CD:
|
||||||
@@ -1632,6 +1643,16 @@ scsi_cdrom_command(scsi_common_t *sc, uint8_t *cdb)
|
|||||||
dev->sector_pos = (cdb[2] << 24) | (cdb[3] << 16) | (cdb[4] << 8) | cdb[5];
|
dev->sector_pos = (cdb[2] << 24) | (cdb[3] << 16) | (cdb[4] << 8) | cdb[5];
|
||||||
|
|
||||||
msf = 0;
|
msf = 0;
|
||||||
|
|
||||||
|
if ((cdb[9] & 0xf8) == 0x08) {
|
||||||
|
/* 0x08 is an illegal mode */
|
||||||
|
scsi_cdrom_invalid_field(dev);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* If all the flag bits are cleared, then treat it as a non-data command. */
|
||||||
|
if ((cdb[9] == 0x00) && ((cdb[10] & 0x07) == 0x00))
|
||||||
|
dev->sector_len = 0;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1385,6 +1385,17 @@ MPU401_InputSysex(void *p, uint8_t *buffer, uint32_t len, int abort)
|
|||||||
|
|
||||||
mpu401_log("MPU401 Input Sysex\n");
|
mpu401_log("MPU401 Input Sysex\n");
|
||||||
|
|
||||||
|
#ifdef DOSBOX_CODE
|
||||||
|
if (mpu->mode == M_UART) {
|
||||||
|
#else
|
||||||
|
if (!mpu->intelligent || mpu->mode == M_UART) {
|
||||||
|
#endif
|
||||||
|
/* UART mode input. */
|
||||||
|
for (i = 0; i < len; i++)
|
||||||
|
MPU401_QueueByte(mpu, buffer[i]);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
if (mpu->filter.sysex_in) {
|
if (mpu->filter.sysex_in) {
|
||||||
if (abort) {
|
if (abort) {
|
||||||
mpu->state.sysex_in_finished=1;
|
mpu->state.sysex_in_finished=1;
|
||||||
|
@@ -40,6 +40,7 @@ int rctrl_is_lalt;
|
|||||||
int update_icons;
|
int update_icons;
|
||||||
int kbd_req_capture;
|
int kbd_req_capture;
|
||||||
int hide_status_bar;
|
int hide_status_bar;
|
||||||
|
int hide_tool_bar;
|
||||||
int fixed_size_x = 640;
|
int fixed_size_x = 640;
|
||||||
int fixed_size_y = 480;
|
int fixed_size_y = 480;
|
||||||
extern int title_set;
|
extern int title_set;
|
||||||
|
@@ -382,8 +382,8 @@ END
|
|||||||
#define STR_ISAMEM_2 "Steckkarte 2:"
|
#define STR_ISAMEM_2 "Steckkarte 2:"
|
||||||
#define STR_ISAMEM_3 "Steckkarte 3:"
|
#define STR_ISAMEM_3 "Steckkarte 3:"
|
||||||
#define STR_ISAMEM_4 "Steckkarte 4:"
|
#define STR_ISAMEM_4 "Steckkarte 4:"
|
||||||
#define STR_BUGGER "ISABugger-Gerät:"
|
#define STR_BUGGER "ISABugger-Gerät"
|
||||||
#define STR_POSTCARD "POST-Code-Karte:"
|
#define STR_POSTCARD "POST-Code-Karte"
|
||||||
|
|
||||||
#define FONT_SIZE 9
|
#define FONT_SIZE 9
|
||||||
#define FONT_NAME "Segoe UI"
|
#define FONT_NAME "Segoe UI"
|
||||||
@@ -464,7 +464,7 @@ BEGIN
|
|||||||
IDS_2104 "Tastaturbeschleuniger konnten nicht geladen werden."
|
IDS_2104 "Tastaturbeschleuniger konnten nicht geladen werden."
|
||||||
IDS_2105 "Roheingaben konnten nicht registriert werden."
|
IDS_2105 "Roheingaben konnten nicht registriert werden."
|
||||||
IDS_2106 "%u"
|
IDS_2106 "%u"
|
||||||
IDS_2107 "%u MB (ZKS: %i, %i, %i)"
|
IDS_2107 "%u MB (CHS: %i, %i, %i)"
|
||||||
IDS_2108 "Diskette %i (%s): %ls"
|
IDS_2108 "Diskette %i (%s): %ls"
|
||||||
IDS_2109 "Alle Images (*.0??;*.1??;*.??0;*.86F;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.JSON;*.TD0;*.*FD?;*.MFM;*.XDF)\0*.0??;*.1??;*.??0;*.86F;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.JSON;*.TD0;*.*FD?;*.MFM;*.XDF\0Fortgeschrittene Sektorimages (*.IMD;*.JSON;*.TD0)\0*.IMD;*.JSON;*.TD0\0Basissektorimages (*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?)\0*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?\0Fluximages (*.FDI)\0*.FDI\0Oberflächenimages (*.86F;*.MFM)\0*.86F;*.MFM\0Alle Dateien (*.*)\0*.*\0"
|
IDS_2109 "Alle Images (*.0??;*.1??;*.??0;*.86F;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.JSON;*.TD0;*.*FD?;*.MFM;*.XDF)\0*.0??;*.1??;*.??0;*.86F;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.JSON;*.TD0;*.*FD?;*.MFM;*.XDF\0Fortgeschrittene Sektorimages (*.IMD;*.JSON;*.TD0)\0*.IMD;*.JSON;*.TD0\0Basissektorimages (*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?)\0*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?\0Fluximages (*.FDI)\0*.FDI\0Oberflächenimages (*.86F;*.MFM)\0*.86F;*.MFM\0Alle Dateien (*.*)\0*.*\0"
|
||||||
IDS_2110 "FreeType konnte nicht initialisiert werden"
|
IDS_2110 "FreeType konnte nicht initialisiert werden"
|
||||||
|
@@ -376,7 +376,7 @@ END
|
|||||||
#define STR_ZIP_DRIVES "ZIP pogoni:"
|
#define STR_ZIP_DRIVES "ZIP pogoni:"
|
||||||
#define STR_250 "ZIP 250"
|
#define STR_250 "ZIP 250"
|
||||||
|
|
||||||
#define STR_ISARTC "Ura u stvarnom vrijemenu RTC:"
|
#define STR_ISARTC "Sat stvarnog vremena (RTC):"
|
||||||
#define STR_ISAMEM "Proširenje memorije ISA"
|
#define STR_ISAMEM "Proširenje memorije ISA"
|
||||||
#define STR_ISAMEM_1 "Kartica 1:"
|
#define STR_ISAMEM_1 "Kartica 1:"
|
||||||
#define STR_ISAMEM_2 "Kartica 2:"
|
#define STR_ISAMEM_2 "Kartica 2:"
|
||||||
@@ -530,8 +530,8 @@ BEGIN
|
|||||||
IDS_2149 "Slike audio kasete (*.PCM;*.RAW;*.WAV;*.CAS)\0*.PCM;*.RAW;*.WAV;*.CAS\0Sve datoteke (*.*)\0*.*\0"
|
IDS_2149 "Slike audio kasete (*.PCM;*.RAW;*.WAV;*.CAS)\0*.PCM;*.RAW;*.WAV;*.CAS\0Sve datoteke (*.*)\0*.*\0"
|
||||||
IDS_2150 "Kaseta %i: %ls"
|
IDS_2150 "Kaseta %i: %ls"
|
||||||
IDS_2151 "Slike kasete (*.A;*.B;*.JRC)\0*.A;*.B;*.JRC\0Sve datoteke (*.*)\0*.*\0"
|
IDS_2151 "Slike kasete (*.A;*.B;*.JRC)\0*.A;*.B;*.JRC\0Sve datoteke (*.*)\0*.*\0"
|
||||||
IDS_2152 "Error initializing renderer"
|
IDS_2152 "Nije moguće inicijalizirati renderer"
|
||||||
IDS_2153 "OpenGL (3.0 Core) renderer could not be initialized. Use another renderer."
|
IDS_2153 "Nije moguće inicijalizirati OpenGL (3.0 jezgra) renderer. Molimte koristite drugi renderer."
|
||||||
END
|
END
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
STRINGTABLE DISCARDABLE
|
||||||
|
@@ -450,9 +450,6 @@ WinMain(HINSTANCE hInst, HINSTANCE hPrev, LPSTR lpszArg, int nCmdShow)
|
|||||||
{
|
{
|
||||||
char **argv = NULL;
|
char **argv = NULL;
|
||||||
int argc, i;
|
int argc, i;
|
||||||
wchar_t * AppID = L"86Box.86Box\0";
|
|
||||||
|
|
||||||
SetCurrentProcessExplicitAppUserModelID(AppID);
|
|
||||||
|
|
||||||
/* Initialize the COM library for the main thread. */
|
/* Initialize the COM library for the main thread. */
|
||||||
CoInitializeEx(NULL, COINIT_MULTITHREADED);
|
CoInitializeEx(NULL, COINIT_MULTITHREADED);
|
||||||
|
@@ -65,6 +65,7 @@ int user_resize = 0;
|
|||||||
int fixed_size_x = 0, fixed_size_y = 0;
|
int fixed_size_x = 0, fixed_size_y = 0;
|
||||||
int kbd_req_capture = 0;
|
int kbd_req_capture = 0;
|
||||||
int hide_status_bar = 0;
|
int hide_status_bar = 0;
|
||||||
|
int hide_tool_bar = 0;
|
||||||
int dpi = 96;
|
int dpi = 96;
|
||||||
|
|
||||||
extern char openfilestring[512];
|
extern char openfilestring[512];
|
||||||
@@ -92,6 +93,14 @@ static dllimp_t user32_imports[] = {
|
|||||||
{ NULL, NULL }
|
{ NULL, NULL }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* Taskbar application ID API, Windows 7+ */
|
||||||
|
void* shell32_handle = NULL;
|
||||||
|
static HRESULT (WINAPI *pSetCurrentProcessExplicitAppUserModelID)(PCWSTR AppID);
|
||||||
|
static dllimp_t shell32_imports[]= {
|
||||||
|
{ "SetCurrentProcessExplicitAppUserModelID", &pSetCurrentProcessExplicitAppUserModelID },
|
||||||
|
{ NULL, NULL }
|
||||||
|
};
|
||||||
|
|
||||||
int
|
int
|
||||||
win_get_dpi(HWND hwnd) {
|
win_get_dpi(HWND hwnd) {
|
||||||
if (user32_handle != NULL) {
|
if (user32_handle != NULL) {
|
||||||
@@ -1244,6 +1253,11 @@ ui_init(int nCmdShow)
|
|||||||
/* Load DPI related Windows 10 APIs */
|
/* Load DPI related Windows 10 APIs */
|
||||||
user32_handle = dynld_module("user32.dll", user32_imports);
|
user32_handle = dynld_module("user32.dll", user32_imports);
|
||||||
|
|
||||||
|
/* Set the application ID for the taskbar. */
|
||||||
|
shell32_handle = dynld_module("shell32.dll", shell32_imports);
|
||||||
|
if (shell32_handle)
|
||||||
|
pSetCurrentProcessExplicitAppUserModelID(L"86Box.86Box");
|
||||||
|
|
||||||
/* Set up TaskDialog configuration. */
|
/* Set up TaskDialog configuration. */
|
||||||
tdconfig.cbSize = sizeof(tdconfig);
|
tdconfig.cbSize = sizeof(tdconfig);
|
||||||
tdconfig.dwFlags = TDF_ENABLE_HYPERLINKS;
|
tdconfig.dwFlags = TDF_ENABLE_HYPERLINKS;
|
||||||
|
Reference in New Issue
Block a user