diff --git a/src/VIDEO/vid_s3.c b/src/VIDEO/vid_s3.c index 0156f4763..cf5af510d 100644 --- a/src/VIDEO/vid_s3.c +++ b/src/VIDEO/vid_s3.c @@ -1676,8 +1676,6 @@ void s3_accel_start(int count, int cpu_input, uint32_t mix_dat, uint32_t cpu_dat if (cpu_input/* && (s3->accel.multifunc[0xa] & 0xc0) == 0x80*/) return; if (s3->accel.sy < 0) { - s3->accel.cur_x = s3->accel.cx; - s3->accel.cur_y = s3->accel.cy; return; } } @@ -1746,8 +1744,6 @@ void s3_accel_start(int count, int cpu_input, uint32_t mix_dat, uint32_t cpu_dat if (s3->accel.sy < 0) { - s3->accel.cur_x = s3->accel.cx; - s3->accel.cur_y = s3->accel.cy; return; } } diff --git a/src/WIN/86Box.rc b/src/WIN/86Box.rc index 28a4f1ca0..ce74b432f 100644 --- a/src/WIN/86Box.rc +++ b/src/WIN/86Box.rc @@ -46,6 +46,7 @@ BEGIN BEGIN MENUITEM "&Hard Reset", IDM_ACTION_HRESET MENUITEM "&Ctrl+Alt+Del\tCtrl+F12", IDM_ACTION_RESET_CAD + MENUITEM "&Ctrl+Alt+Esc", IDM_ACTION_CTRL_ALT_ESC MENUITEM SEPARATOR MENUITEM "E&xit", IDM_ACTION_EXIT END diff --git a/src/WIN/resource.h b/src/WIN/resource.h index 864d0167e..e5c181fa5 100644 --- a/src/WIN/resource.h +++ b/src/WIN/resource.h @@ -388,6 +388,7 @@ #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_CONFIG 40020 #define IDM_CONFIG_LOAD 40021 #define IDM_CONFIG_SAVE 40022 diff --git a/src/WIN/win.c b/src/WIN/win.c index c843660e5..4c19e70e1 100644 --- a/src/WIN/win.c +++ b/src/WIN/win.c @@ -1836,6 +1836,10 @@ LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM PostQuitMessage (0); /* send a WM_QUIT to the message queue */ break; + case IDM_ACTION_CTRL_ALT_ESC: + ctrl_alt_esc(); + break; + case IDM_CONFIG: win_settings_open(hwnd); break; diff --git a/src/hdd.c b/src/hdd.c index 6afd3d96d..04bf423d9 100644 --- a/src/hdd.c +++ b/src/hdd.c @@ -34,8 +34,8 @@ static struct {"Western Digital WD1007V-SE1 (ESDI)","wd1007vse1", &wd1007vse1_device, 0}, {"XTIDE", "xtide", &xtide_device, 0}, {"XTIDE (AT)", "xtide_at", &xtide_at_device, 0}, - {"XTIDE (PS/2)", "xtide_ps2",&xtide_ps2_device,0}, - {"XTIDE (AT) (PS/2)", "xtide_at_ps2",&xtide_at_ps2_device,0}, + {"XTIDE (Acculogic)", "xtide_ps2",&xtide_ps2_device,0}, + {"XTIDE (AT) (1.1.5)", "xtide_at_ps2",&xtide_at_ps2_device,0}, {"", "", NULL, 0} }; diff --git a/src/ibm.h b/src/ibm.h index b23faa0dc..ed4eb561d 100644 --- a/src/ibm.h +++ b/src/ibm.h @@ -677,6 +677,7 @@ extern int infocus; extern void onesec(void); extern void resetpc_cad(void); +extern void ctrl_alt_esc(void); extern int dump_on_exit; extern int start_in_fullscreen; diff --git a/src/pc.c b/src/pc.c index ecfefb945..d62a1cfb2 100644 --- a/src/pc.c +++ b/src/pc.c @@ -470,6 +470,17 @@ void resetpc_cad(void) pc_keyboard_send(211); /* Delete key released */ } + +void ctrl_alt_esc(void) +{ + pc_keyboard_send(29); /* Ctrl key pressed */ + pc_keyboard_send(56); /* Alt key pressed */ + pc_keyboard_send(1); /* Esc key pressed */ + pc_keyboard_send(157); /* Ctrl key released */ + pc_keyboard_send(184); /* Alt key released */ + pc_keyboard_send(129); /* Esc key released */ +} + int suppress_overscan = 0; void resetpchard_close(void) diff --git a/src/xtide.c b/src/xtide.c index 30c19180c..f5bcee364 100644 --- a/src/xtide.c +++ b/src/xtide.c @@ -199,8 +199,8 @@ device_t xtide_at_device = device_t xtide_ps2_device = { - "XTIDE (PS/2)", - DEVICE_PS2, + "XTIDE (Acculogic)", + 0, xtide_ps2_init, xtide_close, xtide_ps2_available, @@ -212,7 +212,7 @@ device_t xtide_ps2_device = device_t xtide_at_ps2_device = { - "XTIDE (AT) (PS/2)", + "XTIDE (AT) (1.1.5)", DEVICE_PS2, xtide_at_ps2_init, xtide_close,