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.
|
||||
|
||||
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.
|
||||
* [86Box Manager](https://github.com/86Box/86BoxManager) by [daviunic](https://github.com/daviunic) (Overdoze)
|
||||
* 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(extra_buffer, 0, 296);
|
||||
|
||||
if (!(cdrom_sector_flags & 0xf0)) { /* 0x00 and 0x08 are illegal modes */
|
||||
cdrom_log("CD-ROM %i: [Mode 1] 0x00 and 0x08 are illegal modes\n", dev->id);
|
||||
if ((cdrom_sector_flags & 0xf8) == 0x08) { /* 0x08 is an illegal mode */
|
||||
cdrom_log("CD-ROM %i: [Mode 1] 0x08 is an illegal mode\n", dev->id);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@@ -561,6 +561,7 @@ load_general(void)
|
||||
|
||||
kbd_req_capture = config_get_int(cat, "kbd_req_capture", 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_exit = config_get_int(cat, "confirm_exit", 1);
|
||||
@@ -2036,6 +2037,7 @@ config_load(void)
|
||||
|
||||
kbd_req_capture = 0;
|
||||
hide_status_bar = 0;
|
||||
hide_tool_bar = 0;
|
||||
scale = 1;
|
||||
machine = machine_get_machine_from_internal_name("ibmpc");
|
||||
dpi_scale = 1;
|
||||
@@ -2222,6 +2224,11 @@ save_general(void)
|
||||
else
|
||||
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)
|
||||
config_set_int(cat, "confirm_reset", confirm_reset);
|
||||
else
|
||||
|
@@ -90,7 +90,7 @@ 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;
|
||||
extern int kbd_req_capture, hide_status_bar, hide_tool_bar;
|
||||
|
||||
/* System-related functions. */
|
||||
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++;
|
||||
|
||||
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;
|
||||
case GPCMD_READ_CD_OLD:
|
||||
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];
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
|
@@ -1385,6 +1385,17 @@ MPU401_InputSysex(void *p, uint8_t *buffer, uint32_t len, int abort)
|
||||
|
||||
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 (abort) {
|
||||
mpu->state.sysex_in_finished=1;
|
||||
|
@@ -40,6 +40,7 @@ int rctrl_is_lalt;
|
||||
int update_icons;
|
||||
int kbd_req_capture;
|
||||
int hide_status_bar;
|
||||
int hide_tool_bar;
|
||||
int fixed_size_x = 640;
|
||||
int fixed_size_y = 480;
|
||||
extern int title_set;
|
||||
|
@@ -382,8 +382,8 @@ END
|
||||
#define STR_ISAMEM_2 "Steckkarte 2:"
|
||||
#define STR_ISAMEM_3 "Steckkarte 3:"
|
||||
#define STR_ISAMEM_4 "Steckkarte 4:"
|
||||
#define STR_BUGGER "ISABugger-Gerät:"
|
||||
#define STR_POSTCARD "POST-Code-Karte:"
|
||||
#define STR_BUGGER "ISABugger-Gerät"
|
||||
#define STR_POSTCARD "POST-Code-Karte"
|
||||
|
||||
#define FONT_SIZE 9
|
||||
#define FONT_NAME "Segoe UI"
|
||||
@@ -464,7 +464,7 @@ BEGIN
|
||||
IDS_2104 "Tastaturbeschleuniger konnten nicht geladen werden."
|
||||
IDS_2105 "Roheingaben konnten nicht registriert werden."
|
||||
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_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"
|
||||
|
@@ -376,7 +376,7 @@ END
|
||||
#define STR_ZIP_DRIVES "ZIP pogoni:"
|
||||
#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_1 "Kartica 1:"
|
||||
#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_2150 "Kaseta %i: %ls"
|
||||
IDS_2151 "Slike kasete (*.A;*.B;*.JRC)\0*.A;*.B;*.JRC\0Sve datoteke (*.*)\0*.*\0"
|
||||
IDS_2152 "Error initializing renderer"
|
||||
IDS_2153 "OpenGL (3.0 Core) renderer could not be initialized. Use another renderer."
|
||||
IDS_2152 "Nije moguće inicijalizirati renderer"
|
||||
IDS_2153 "Nije moguće inicijalizirati OpenGL (3.0 jezgra) renderer. Molimte koristite drugi renderer."
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
|
@@ -450,9 +450,6 @@ WinMain(HINSTANCE hInst, HINSTANCE hPrev, LPSTR lpszArg, int nCmdShow)
|
||||
{
|
||||
char **argv = NULL;
|
||||
int argc, i;
|
||||
wchar_t * AppID = L"86Box.86Box\0";
|
||||
|
||||
SetCurrentProcessExplicitAppUserModelID(AppID);
|
||||
|
||||
/* Initialize the COM library for the main thread. */
|
||||
CoInitializeEx(NULL, COINIT_MULTITHREADED);
|
||||
|
@@ -65,6 +65,7 @@ int user_resize = 0;
|
||||
int fixed_size_x = 0, fixed_size_y = 0;
|
||||
int kbd_req_capture = 0;
|
||||
int hide_status_bar = 0;
|
||||
int hide_tool_bar = 0;
|
||||
int dpi = 96;
|
||||
|
||||
extern char openfilestring[512];
|
||||
@@ -92,6 +93,14 @@ static dllimp_t user32_imports[] = {
|
||||
{ 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
|
||||
win_get_dpi(HWND hwnd) {
|
||||
if (user32_handle != NULL) {
|
||||
@@ -1244,6 +1253,11 @@ ui_init(int nCmdShow)
|
||||
/* Load DPI related Windows 10 APIs */
|
||||
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. */
|
||||
tdconfig.cbSize = sizeof(tdconfig);
|
||||
tdconfig.dwFlags = TDF_ENABLE_HYPERLINKS;
|
||||
|
Reference in New Issue
Block a user