Acculogic XT-IDE adapter is no longer specific to PS/2.

Small long time S3 Trio64 fixes.
Added Ctrl-Alt-Esc shortcut, makes it easier to enter CMOS setup in some machines.
This commit is contained in:
TC1995
2017-07-16 22:07:06 +02:00
parent c1495ed91d
commit 9dd40982d4
8 changed files with 23 additions and 9 deletions

View File

@@ -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 (cpu_input/* && (s3->accel.multifunc[0xa] & 0xc0) == 0x80*/) return;
if (s3->accel.sy < 0) if (s3->accel.sy < 0)
{ {
s3->accel.cur_x = s3->accel.cx;
s3->accel.cur_y = s3->accel.cy;
return; 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) if (s3->accel.sy < 0)
{ {
s3->accel.cur_x = s3->accel.cx;
s3->accel.cur_y = s3->accel.cy;
return; return;
} }
} }

View File

@@ -46,6 +46,7 @@ BEGIN
BEGIN BEGIN
MENUITEM "&Hard Reset", IDM_ACTION_HRESET MENUITEM "&Hard Reset", IDM_ACTION_HRESET
MENUITEM "&Ctrl+Alt+Del\tCtrl+F12", IDM_ACTION_RESET_CAD MENUITEM "&Ctrl+Alt+Del\tCtrl+F12", IDM_ACTION_RESET_CAD
MENUITEM "&Ctrl+Alt+Esc", IDM_ACTION_CTRL_ALT_ESC
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "E&xit", IDM_ACTION_EXIT MENUITEM "E&xit", IDM_ACTION_EXIT
END END

View File

@@ -388,6 +388,7 @@
#define IDM_ACTION_HRESET 40012 #define IDM_ACTION_HRESET 40012
#define IDM_ACTION_RESET_CAD 40013 #define IDM_ACTION_RESET_CAD 40013
#define IDM_ACTION_EXIT 40014 #define IDM_ACTION_EXIT 40014
#define IDM_ACTION_CTRL_ALT_ESC 40015
#define IDM_CONFIG 40020 #define IDM_CONFIG 40020
#define IDM_CONFIG_LOAD 40021 #define IDM_CONFIG_LOAD 40021
#define IDM_CONFIG_SAVE 40022 #define IDM_CONFIG_SAVE 40022

View File

@@ -1836,6 +1836,10 @@ LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM
PostQuitMessage (0); /* send a WM_QUIT to the message queue */ PostQuitMessage (0); /* send a WM_QUIT to the message queue */
break; break;
case IDM_ACTION_CTRL_ALT_ESC:
ctrl_alt_esc();
break;
case IDM_CONFIG: case IDM_CONFIG:
win_settings_open(hwnd); win_settings_open(hwnd);
break; break;

View File

@@ -34,8 +34,8 @@ static struct
{"Western Digital WD1007V-SE1 (ESDI)","wd1007vse1", &wd1007vse1_device, 0}, {"Western Digital WD1007V-SE1 (ESDI)","wd1007vse1", &wd1007vse1_device, 0},
{"XTIDE", "xtide", &xtide_device, 0}, {"XTIDE", "xtide", &xtide_device, 0},
{"XTIDE (AT)", "xtide_at", &xtide_at_device, 0}, {"XTIDE (AT)", "xtide_at", &xtide_at_device, 0},
{"XTIDE (PS/2)", "xtide_ps2",&xtide_ps2_device,0}, {"XTIDE (Acculogic)", "xtide_ps2",&xtide_ps2_device,0},
{"XTIDE (AT) (PS/2)", "xtide_at_ps2",&xtide_at_ps2_device,0}, {"XTIDE (AT) (1.1.5)", "xtide_at_ps2",&xtide_at_ps2_device,0},
{"", "", NULL, 0} {"", "", NULL, 0}
}; };

View File

@@ -677,6 +677,7 @@ extern int infocus;
extern void onesec(void); extern void onesec(void);
extern void resetpc_cad(void); extern void resetpc_cad(void);
extern void ctrl_alt_esc(void);
extern int dump_on_exit; extern int dump_on_exit;
extern int start_in_fullscreen; extern int start_in_fullscreen;

View File

@@ -470,6 +470,17 @@ void resetpc_cad(void)
pc_keyboard_send(211); /* Delete key released */ 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; int suppress_overscan = 0;
void resetpchard_close(void) void resetpchard_close(void)

View File

@@ -199,8 +199,8 @@ device_t xtide_at_device =
device_t xtide_ps2_device = device_t xtide_ps2_device =
{ {
"XTIDE (PS/2)", "XTIDE (Acculogic)",
DEVICE_PS2, 0,
xtide_ps2_init, xtide_ps2_init,
xtide_close, xtide_close,
xtide_ps2_available, xtide_ps2_available,
@@ -212,7 +212,7 @@ device_t xtide_ps2_device =
device_t xtide_at_ps2_device = device_t xtide_at_ps2_device =
{ {
"XTIDE (AT) (PS/2)", "XTIDE (AT) (1.1.5)",
DEVICE_PS2, DEVICE_PS2,
xtide_at_ps2_init, xtide_at_ps2_init,
xtide_close, xtide_close,