Commit 4def703f authored by GnoStiC's avatar GnoStiC

puae 2.3.1

parent deea891e
...@@ -97,7 +97,7 @@ noinst_HEADERS = \ ...@@ -97,7 +97,7 @@ noinst_HEADERS = \
include/audio.h include/autoconf.h \ include/audio.h include/autoconf.h \
include/blitter.h include/blkdev.h \ include/blitter.h include/blkdev.h \
include/bsdsocket.h include/caps.h \ include/bsdsocket.h include/caps.h \
include/catweasel.h include/cdrom.h \ include/catweasel.h \
include/cia.h \ include/cia.h \
include/commpipe.h include/compemu.h \ include/commpipe.h include/compemu.h \
include/cpu_prefetch.h include/custom.h \ include/cpu_prefetch.h include/custom.h \
...@@ -126,7 +126,7 @@ noinst_HEADERS = \ ...@@ -126,7 +126,7 @@ noinst_HEADERS = \
include/osemu.h include/picasso96.h \ include/osemu.h include/picasso96.h \
include/readcpu.h include/savestate.h \ include/readcpu.h include/savestate.h \
include/scsidev.h include/serial.h \ include/scsidev.h include/serial.h \
include/sinctable.h include/sana2.h \ include/sana2.h \
include/sleep.h include/sysdeps.h \ include/sleep.h include/sysdeps.h \
include/traps.h \ include/traps.h \
include/tui.h include/uae.h \ include/tui.h include/uae.h \
......
#include "sysconfig.h" #include "sysconfig.h"
#include "sysdeps.h" #include "sysdeps.h"
#include "cdrom.h"
/* CDROM MODE 1 EDC/ECC code (from Reed-Solomon library by Heiko Eissfeldt) */ /* CDROM MODE 1 EDC/ECC code (from Reed-Solomon library by Heiko Eissfeldt) */
......
...@@ -28,11 +28,11 @@ ...@@ -28,11 +28,11 @@
*/ */
struct sdl_raw_keymap struct sdl_raw_keymap
{ {
int sdl_gfx_driver; int sdl_gfx_driver;
const char *name; const char *name;
const struct uaekey_hostmap *keymap; const struct uaekey_hostmap *keymap;
struct uae_hotkeyseq *hotkeys; struct uae_hotkeyseq *hotkeys;
const int *modtable; const int *modtable;
}; };
static struct uae_input_device_kbr_default *keyboard = 0; static struct uae_input_device_kbr_default *keyboard = 0;
...@@ -64,33 +64,33 @@ static const struct sdl_raw_keymap keymaps[] = { ...@@ -64,33 +64,33 @@ static const struct sdl_raw_keymap keymaps[] = {
struct uae_input_device_kbr_default *get_default_raw_keymap (int type) struct uae_input_device_kbr_default *get_default_raw_keymap (int type)
{ {
const struct sdl_raw_keymap *k = &keymaps[0]; const struct sdl_raw_keymap *k = &keymaps[0];
if (!keyboard) { if (!keyboard) {
free (keyboard); free (keyboard);
keyboard = 0; keyboard = 0;
} }
while (k->sdl_gfx_driver != type && k->sdl_gfx_driver != 0) while (k->sdl_gfx_driver != type && k->sdl_gfx_driver != 0)
k++; k++;
if (k->keymap) { if (k->keymap) {
write_log ("Found %s raw keyboard mapping\n", k->name); write_log ("Found %s raw keyboard mapping\n", k->name);
modkeytable = k->modtable; modkeytable = k->modtable;
keyboard = uaekey_make_default_kbr (k->keymap); keyboard = uaekey_make_default_kbr (k->keymap);
} }
return keyboard; return keyboard;
} }
struct uae_hotkeyseq *get_default_raw_hotkeys (void) struct uae_hotkeyseq *get_default_raw_hotkeys (void)
{ {
const struct sdl_raw_keymap *k = &keymaps[0]; const struct sdl_raw_keymap *k = &keymaps[0];
while (k->sdl_gfx_driver != get_sdlgfx_type()) while (k->sdl_gfx_driver != get_sdlgfx_type())
k++; k++;
return k->hotkeys; return k->hotkeys;
} }
...@@ -142,5 +142,5 @@ int modifier_hack (int *scancode, int *pressed) ...@@ -142,5 +142,5 @@ int modifier_hack (int *scancode, int *pressed)
} else } else
result = 0; result = 0;
return result; return result;
} }
...@@ -1402,6 +1402,13 @@ void handle_events (void) ...@@ -1402,6 +1402,13 @@ void handle_events (void)
} /* end switch() */ } /* end switch() */
} /* end while() */ } /* end while() */
//abant
inputdevicefunc_keyboard.read ();
inputdevicefunc_mouse.read ();
inputdevicefunc_joystick.read ();
inputdevice_handle_inputcode ();
check_prefs_changed_gfx ();
#ifdef PICASSO96 #ifdef PICASSO96
# ifdef USE_GL # ifdef USE_GL
if (!currprefs.use_gl) { if (!currprefs.use_gl) {
...@@ -2056,7 +2063,7 @@ static const char *get_kb_uniquename (unsigned int kb) ...@@ -2056,7 +2063,7 @@ static const char *get_kb_uniquename (unsigned int kb)
return "DEFKEYB1"; return "DEFKEYB1";
} }
static unsigned int get_kb_widget_num (unsigned int kb) static unsigned int get_kb_widget_num (unsigned int kb)
{ {
return 255; // fix me return 255; // fix me
} }
......
...@@ -428,8 +428,10 @@ static BOOL wasFullscreen = NO; // used by ensureNotFullscreen() and restoreFull ...@@ -428,8 +428,10 @@ static BOOL wasFullscreen = NO; // used by ensureNotFullscreen() and restoreFull
{ {
changed_prefs.jports[1].id = [((NSMenuItem*)sender) tag]; changed_prefs.jports[1].id = [((NSMenuItem*)sender) tag];
if( changed_prefs.jports[1].id != currprefs.jports[1].id ) if (changed_prefs.jports[1].id != currprefs.jports[1].id) {
inputdevice_config_change(); inputdevice_updateconfig (&changed_prefs);
inputdevice_config_change();
}
} }
- (void)swapGamePorts:(id)sender - (void)swapGamePorts:(id)sender
......
...@@ -74,8 +74,8 @@ static GtkWidget *z3size_widget[10]; ...@@ -74,8 +74,8 @@ static GtkWidget *z3size_widget[10];
#ifdef PICASSO96 #ifdef PICASSO96
static GtkWidget *p96size_widget[7]; static GtkWidget *p96size_widget[7];
#endif #endif
static GtkWidget *rom_text_widget, *key_text_widget; static GtkWidget *rom_text_widget;
static GtkWidget *rom_change_widget, *key_change_widget; static GtkWidget *rom_change_widget;
static GtkWidget *sstate_text_widget, *sstate_change_widget, *sstate_load_widget, *sstate_save_widget; static GtkWidget *sstate_text_widget, *sstate_change_widget, *sstate_load_widget, *sstate_save_widget;
static GtkWidget *floppy_widget[4]; static GtkWidget *floppy_widget[4];
...@@ -199,7 +199,6 @@ enum uae_commands { ...@@ -199,7 +199,6 @@ enum uae_commands {
UAECMD_EJECTDISK, UAECMD_EJECTDISK,
UAECMD_INSERTDISK, UAECMD_INSERTDISK,
UAECMD_SELECT_ROM, UAECMD_SELECT_ROM,
UAECMD_SELECT_KEY,
UAECMD_SAVESTATE_LOAD, UAECMD_SAVESTATE_LOAD,
UAECMD_SAVESTATE_SAVE UAECMD_SAVESTATE_SAVE
}; };
...@@ -341,9 +340,6 @@ static void set_mem_state (void) ...@@ -341,9 +340,6 @@ static void set_mem_state (void)
gtk_label_set_text (GTK_LABEL (rom_text_widget), changed_prefs.romfile[0]!='\0' ? gtk_label_set_text (GTK_LABEL (rom_text_widget), changed_prefs.romfile[0]!='\0' ?
changed_prefs.romfile : currprefs.romfile); changed_prefs.romfile : currprefs.romfile);
gtk_label_set_text (GTK_LABEL (key_text_widget), changed_prefs.keyfile[0]!='\0' ?
changed_prefs.keyfile : currprefs.keyfile);
} }
#ifdef JIT #ifdef JIT
...@@ -565,7 +561,6 @@ static void update_buttons (void) ...@@ -565,7 +561,6 @@ static void update_buttons (void)
gtk_widget_set_sensitive (hdpanel, !running && !paused); gtk_widget_set_sensitive (hdpanel, !running && !paused);
gtk_widget_set_sensitive (memorypanel, !running && !paused); gtk_widget_set_sensitive (memorypanel, !running && !paused);
gtk_widget_set_sensitive (rom_change_widget, !running && !paused); gtk_widget_set_sensitive (rom_change_widget, !running && !paused);
gtk_widget_set_sensitive (key_change_widget, !running && !paused);
// gtk_widget_set_sensitive (sstate_change_widget, !running && !paused); // gtk_widget_set_sensitive (sstate_change_widget, !running && !paused);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (pause_uae_widget), paused); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (pause_uae_widget), paused);
...@@ -844,7 +839,7 @@ static void on_pause_clicked (GtkWidget *widget, gpointer data) ...@@ -844,7 +839,7 @@ static void on_pause_clicked (GtkWidget *widget, gpointer data)
} }
static char *gui_romname, *gui_keyname; static char *gui_romname;
static char *gui_sstate_name; static char *gui_sstate_name;
static void disc_changed (FloppyFileEntry *ffe, gpointer p) static void disc_changed (FloppyFileEntry *ffe, gpointer p)
...@@ -946,38 +941,6 @@ static void did_romchange (GtkWidget *w, gpointer data) ...@@ -946,38 +941,6 @@ static void did_romchange (GtkWidget *w, gpointer data)
filesel_set_path (rom_selector, currprefs.path_rom.path[0]); filesel_set_path (rom_selector, currprefs.path_rom.path[0]);
} }
static GtkWidget *key_selector;
static void did_close_key (gpointer gdata)
{
gtk_widget_set_sensitive (key_change_widget, 1);
}
static void did_key_select (GtkObject *o)
{
const char *s = gtk_file_selection_get_filename (GTK_FILE_SELECTION (key_selector));
if (quit_gui)
return;
gtk_widget_set_sensitive (key_change_widget, 1);
uae_sem_wait (&gui_sem);
gui_keyname = strdup (s);
uae_sem_post (&gui_sem);
gtk_label_set_text (GTK_LABEL (key_text_widget), gui_keyname);
write_comm_pipe_int (&from_gui_pipe, UAECMD_SELECT_KEY, 0);
gtk_widget_destroy (key_selector);
}
static void did_keychange (GtkWidget *w, gpointer data)
{
gtk_widget_set_sensitive (key_change_widget, 0);
key_selector = make_file_selector ("Select a Kickstart key file", did_key_select, did_close_key);
filesel_set_path (key_selector, currprefs.path_rom.path[0]);
}
static void add_empty_vbox (GtkWidget *tobox) static void add_empty_vbox (GtkWidget *tobox)
{ {
GtkWidget *thing = gtk_vbox_new (FALSE, 0); GtkWidget *thing = gtk_vbox_new (FALSE, 0);
...@@ -1295,7 +1258,7 @@ static void on_cpuidle_changed (void) ...@@ -1295,7 +1258,7 @@ static void on_cpuidle_changed (void)
DEBUG_LOG ("called\n"); DEBUG_LOG ("called\n");
changed_prefs.cpu_idle = CPUSPEEDPANEL (cspanel)->cpuidle; changed_prefs.cpu_idle = CPUSPEEDPANEL (cspanel)->cpuidle;
DEBUG_LOG ("cpu_idle=%d\n", changed_prefs.cpu_idle); DEBUG_LOG ("cpu_idle=%d\n", changed_prefs.cpu_idle);
} }
...@@ -1413,32 +1376,32 @@ static void make_cpu_widgets2 (GtkWidget *vbox) ...@@ -1413,32 +1376,32 @@ static void make_cpu_widgets2 (GtkWidget *vbox)
//cpu emulation //cpu emulation
newbox = make_radio_group_box ("CPU", cpu_labels, cpu_widget, 0, cpu_changed); newbox = make_radio_group_box ("CPU", cpu_labels, cpu_widget, 0, cpu_changed);
gtk_widget_show (newbox); gtk_widget_show (newbox);
gtk_box_pack_start (GTK_BOX (hbox), newbox, FALSE, TRUE, 0); gtk_box_pack_start (GTK_BOX (hbox), newbox, FALSE, TRUE, 0);
newbox2 = gtk_check_button_new_with_label ("24-bit addressing"); newbox2 = gtk_check_button_new_with_label ("24-bit addressing");
gtk_widget_show (newbox2); gtk_widget_show (newbox2);
gtk_box_pack_start (GTK_BOX (newbox), newbox2, FALSE, TRUE, 0); gtk_box_pack_start (GTK_BOX (newbox), newbox2, FALSE, TRUE, 0);
newbox2 = gtk_check_button_new_with_label ("More compatible"); newbox2 = gtk_check_button_new_with_label ("More compatible");
gtk_widget_show (newbox2); gtk_widget_show (newbox2);
gtk_box_pack_start (GTK_BOX (newbox), newbox2, FALSE, TRUE, 0); gtk_box_pack_start (GTK_BOX (newbox), newbox2, FALSE, TRUE, 0);
newbox = gtk_check_button_new_with_label ("JIT"); newbox = gtk_check_button_new_with_label ("JIT");
gtk_widget_show (newbox); gtk_widget_show (newbox);
gtk_box_pack_start (GTK_BOX (hbox), newbox, FALSE, TRUE, 0); gtk_box_pack_start (GTK_BOX (hbox), newbox, FALSE, TRUE, 0);
newbox = gtk_check_button_new_with_label ("68040 MMU"); newbox = gtk_check_button_new_with_label ("68040 MMU");
gtk_widget_show (newbox); gtk_widget_show (newbox);
gtk_box_pack_start (GTK_BOX (hbox), newbox, FALSE, TRUE, 0); gtk_box_pack_start (GTK_BOX (hbox), newbox, FALSE, TRUE, 0);
//fpu mode //fpu mode
newbox = make_radio_group_box ("FPU", fpu_labels, fpu_widget, 0, fpu_changed); newbox = make_radio_group_box ("FPU", fpu_labels, fpu_widget, 0, fpu_changed);
gtk_widget_show (newbox); gtk_widget_show (newbox);
gtk_box_pack_start (GTK_BOX (hbox), newbox, FALSE, TRUE, 0); gtk_box_pack_start (GTK_BOX (hbox), newbox, FALSE, TRUE, 0);
newbox = gtk_check_button_new_with_label ("More compatible"); newbox = gtk_check_button_new_with_label ("More compatible");
gtk_widget_show (newbox); gtk_widget_show (newbox);
gtk_box_pack_start (GTK_BOX (hbox), newbox, FALSE, TRUE, 0); gtk_box_pack_start (GTK_BOX (hbox), newbox, FALSE, TRUE, 0);
} }
static void make_sound_widgets (GtkWidget *vbox) static void make_sound_widgets (GtkWidget *vbox)
...@@ -1525,19 +1488,6 @@ static void make_mem_widgets (GtkWidget *vbox) ...@@ -1525,19 +1488,6 @@ static void make_mem_widgets (GtkWidget *vbox)
gtk_signal_connect (GTK_OBJECT (thing), "clicked", (GtkSignalFunc) did_romchange, 0); gtk_signal_connect (GTK_OBJECT (thing), "clicked", (GtkSignalFunc) did_romchange, 0);
} }
{
GtkWidget *buttonbox = make_file_container ("ROM key file for Cloanto Amiga Forever:", vbox);
GtkWidget *thing = gtk_button_new_with_label ("Change");
/* Current file display */
key_text_widget = make_file_widget (buttonbox);
gtk_box_pack_start (GTK_BOX (buttonbox), thing, FALSE, TRUE, 0);
gtk_widget_show (thing);
key_change_widget = thing;
gtk_signal_connect (GTK_OBJECT (thing), "clicked", (GtkSignalFunc) did_keychange, 0);
}
gtk_widget_show (hbox); gtk_widget_show (hbox);
add_centered_to_vbox (vbox, hbox); add_centered_to_vbox (vbox, hbox);
...@@ -1976,6 +1926,7 @@ static void make_hd_widgets (GtkWidget *dvbox) ...@@ -1976,6 +1926,7 @@ static void make_hd_widgets (GtkWidget *dvbox)
// "Volume", "File/Directory", "R/O", "Heads", "Cyl.", "Sec.", "Rsrvd", "Size", "Blksize" // "Volume", "File/Directory", "R/O", "Heads", "Cyl.", "Sec.", "Rsrvd", "Size", "Blksize"
// }; // };
frame = gtk_frame_new (NULL); frame = gtk_frame_new (NULL);
gtk_widget_show (frame); gtk_widget_show (frame);
gtk_box_pack_start (GTK_BOX (dvbox), frame, TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX (dvbox), frame, TRUE, TRUE, 0);
...@@ -2394,25 +2345,18 @@ void gui_handle_events (void) ...@@ -2394,25 +2345,18 @@ void gui_handle_events (void)
free (gui_romname); free (gui_romname);
uae_sem_post (&gui_sem); uae_sem_post (&gui_sem);
break; break;
case UAECMD_SELECT_KEY:
uae_sem_wait (&gui_sem);
strncpy (changed_prefs.keyfile, gui_keyname, 255);
changed_prefs.keyfile[255] = '\0';
free (gui_keyname);
uae_sem_post (&gui_sem);
break;
case UAECMD_SAVESTATE_LOAD: case UAECMD_SAVESTATE_LOAD:
uae_sem_wait (&gui_sem); uae_sem_wait (&gui_sem);
savestate_initsave (gui_sstate_name, 0, 0, 0); savestate_initsave (gui_sstate_name, 0, 0, 0);
savestate_state = STATE_DORESTORE; savestate_state = STATE_DORESTORE;
write_log ("Restoring state from '%s'...\n", gui_sstate_name); write_log ("Restoring state from '%s'...\n", gui_sstate_name);
uae_sem_post (&gui_sem); uae_sem_post (&gui_sem);
break; break;
case UAECMD_SAVESTATE_SAVE: case UAECMD_SAVESTATE_SAVE:
uae_sem_wait (&gui_sem); uae_sem_wait (&gui_sem);
savestate_initsave (gui_sstate_name, 0, 0, 0); savestate_initsave (gui_sstate_name, 0, 0, 0);
save_state (gui_sstate_name, "puae"); save_state (gui_sstate_name, "puae");
write_log ("Saved state to '%s'...\n", gui_sstate_name); write_log ("Saved state to '%s'...\n", gui_sstate_name);
uae_sem_post (&gui_sem); uae_sem_post (&gui_sem);
break; break;
/* case UAECMD_START: /* case UAECMD_START:
......
extern void encode_l2 (uae_u8 *p, int address);
/* /*
* UAE - The Un*x Amiga Emulator * UAE - The Un*x Amiga Emulator
* *
* custom chip support * custom chip support
* *
* (c) 1995 Bernd Schmidt * (c) 1995 Bernd Schmidt
*/ */
#include "machdep/rpt.h" #include "machdep/rpt.h"
......
...@@ -319,7 +319,6 @@ struct uae_prefs { ...@@ -319,7 +319,6 @@ struct uae_prefs {
uae_u32 romextfile2addr; uae_u32 romextfile2addr;
TCHAR romextfile2[MAX_DPATH]; TCHAR romextfile2[MAX_DPATH];
TCHAR romextident[256]; TCHAR romextident[256];
TCHAR keyfile[256];
TCHAR flashfile[MAX_DPATH]; TCHAR flashfile[MAX_DPATH];
#ifdef ACTION_REPLAY #ifdef ACTION_REPLAY
TCHAR cartfile[MAX_DPATH]; TCHAR cartfile[MAX_DPATH];
......
#ifndef _SINCTABLE_H_
#define _SINCTABLE_H_
#define SINC_QUEUE_MAX_AGE 2048
extern const int winsinc_integral[5][SINC_QUEUE_MAX_AGE];
#endif
...@@ -5863,4 +5863,4 @@ void clear_inputstate (void) ...@@ -5863,4 +5863,4 @@ void clear_inputstate (void)
vertclear[i] = 1; vertclear[i] = 1;
} }
} }
#endif #endif
\ No newline at end of file
...@@ -284,32 +284,29 @@ static struct uae_input_device_kbr_default keytrans[] = { ...@@ -284,32 +284,29 @@ static struct uae_input_device_kbr_default keytrans[] = {
{ -1, 0 } { -1, 0 }
}; };
/* static int kb_np[] = { DIK_NUMPAD4, -1, DIK_NUMPAD6, -1, DIK_NUMPAD8, -1, DIK_NUMPAD2, -1, DIK_NUMPAD0, DIK_NUMPAD5, -1, DIK_DECIMAL, -1, DIK_NUMPADENTER, -1, -1 };
static int kb_np[] = { UAEKEY_NUMPAD4, -1, UAEKEY_NUMPAD6, -1, UAEKEY_NUMPAD8, -1, UAEKEY_NUMPAD2, -1, UAEKEY_NUMPAD0, UAEKEY_NUMPAD5, -1, UAEKEY_NUMPAD_PERIOD, UAEKEY_NUMPAD_DIVIDE, UAEKEY_NUMPAD_ENTER, -1, -1 }; static int kb_ck[] = { DIK_LEFT, -1, DIK_RIGHT, -1, DIK_UP, -1, DIK_DOWN, -1, DIK_RCONTROL, DIK_RMENU, -1, DIK_RSHIFT, -1, -1 };
//static int kb_np[] = { AK_NP4, -1, AK_NP6, -1, AK_NP8, -1, AK_NP2, -1, UAEKEY_NUMPAD0, UAEKEY_NUMPAD5, -1, UAEKEY_NUMPADPERIOD, UAEKEY_NUMPADDIV, UAEKEY_ENTER, -1, -1 }; static int kb_se[] = { DIK_A, -1, DIK_D, -1, DIK_W, -1, DIK_S, -1, DIK_LMENU, -1, DIK_LSHIFT, -1, -1 };
static int kb_ck[] = { UAEKEY_CURSOR_LEFT, -1, UAEKEY_CURSOR_RIGHT, -1, UAEKEY_CURSOR_UP, -1, UAEKEY_CURSOR_DOWN, -1, UAEKEY_RIGHT_CTRL, UAEKEY_RIGHT_ALT, -1, UAEKEY_LEFT_SHIFT, -1, -1 }; static int kb_np3[] = { DIK_NUMPAD4, -1, DIK_NUMPAD6, -1, DIK_NUMPAD8, -1, DIK_NUMPAD2, -1, DIK_NUMPAD0, DIK_NUMPAD5, -1, DIK_DECIMAL, -1, DIK_NUMPADENTER, -1, -1 };
static int kb_se[] = { UAEKEY_A, -1, UAEKEY_D, -1, UAEKEY_W, -1, UAEKEY_S, -1, UAEKEY_LEFT_ALT, -1, UAEKEY_RIGHT_SHIFT, -1, -1 }; static int kb_ck3[] = { DIK_LEFT, -1, DIK_RIGHT, -1, DIK_UP, -1, DIK_DOWN, -1, DIK_RCONTROL, -1, DIK_RSHIFT, -1, DIK_RMENU, -1, -1 };
static int kb_cd32_np[] = { UAEKEY_NUMPAD4, -1, UAEKEY_NUMPAD6, -1, UAEKEY_NUMPAD8, -1, UAEKEY_NUMPAD2, -1, UAEKEY_NUMPAD1, -1, UAEKEY_NUMPAD3, -1, UAEKEY_NUMPAD7, -1, UAEKEY_NUMPAD9, -1, UAEKEY_PERIOD, -1, UAEKEY_NUMPAD_MINUS, -1, UAEKEY_NUMPAD_MULTIPLY, -1, -1 }; static int kb_se3[] = { DIK_A, -1, DIK_D, -1, DIK_W, -1, DIK_S, -1, DIK_LMENU, -1, DIK_LSHIFT, -1, DIK_LCONTROL, -1, -1 };
static int kb_cd32_ck[] = { UAEKEY_CURSOR_LEFT, -1, UAEKEY_CURSOR_RIGHT, -1, UAEKEY_CURSOR_UP, -1, UAEKEY_CURSOR_DOWN, -1, UAEKEY_NUMPAD1, -1, UAEKEY_NUMPAD3, -1, UAEKEY_NUMPAD7, -1, UAEKEY_NUMPAD9, -1, UAEKEY_NUMPAD_DIVIDE, -1, UAEKEY_NUMPAD_MINUS, -1, UAEKEY_NUMPAD_MULTIPLY, -1, -1 };
static int kb_cd32_se[] = { UAEKEY_A, -1, UAEKEY_D, -1, UAEKEY_W, -1, UAEKEY_S, -1, UAEKEY_NUMPAD1, -1, UAEKEY_NUMPAD3, -1, UAEKEY_NUMPAD7, -1, UAEKEY_NUMPAD9, -1, UAEKEY_NUMPAD_DIVIDE, -1, UAEKEY_NUMPAD_MINUS, -1, UAEKEY_NUMPAD_MULTIPLY, -1, -1 }; static int kb_cd32_np[] = { DIK_NUMPAD4, -1, DIK_NUMPAD6, -1, DIK_NUMPAD8, -1, DIK_NUMPAD2, -1, DIK_NUMPAD0, DIK_NUMPAD5, DIK_NUMPAD1, -1, DIK_DECIMAL, DIK_NUMPAD3, -1, DIK_NUMPAD7, -1, DIK_NUMPAD9, -1, DIK_DIVIDE, -1, DIK_SUBTRACT, -1, DIK_MULTIPLY, -1, -1 };
static int kb_xa1[] = { UAEKEY_NUMPAD4, -1, UAEKEY_NUMPAD6, -1, UAEKEY_NUMPAD8, -1, UAEKEY_NUMPAD2, UAEKEY_NUMPAD5, -1, UAEKEY_LEFT_CTRL, -1, UAEKEY_LEFT_ALT, -1, UAEKEY_SPACE, -1, -1 }; static int kb_cd32_ck[] = { DIK_LEFT, -1, DIK_RIGHT, -1, DIK_UP, -1, DIK_DOWN, -1, DIK_RCONTROL, -1, DIK_RMENU, -1, DIK_NUMPAD7, -1, DIK_NUMPAD9, -1, DIK_DIVIDE, -1, DIK_SUBTRACT, -1, DIK_MULTIPLY, -1, -1 };
static int kb_xa2[] = { UAEKEY_D, -1, UAEKEY_G, -1, UAEKEY_R, -1, UAEKEY_F, -1, UAEKEY_A, -1, UAEKEY_S, -1, UAEKEY_Q, -1 }; static int kb_cd32_se[] = { DIK_A, -1, DIK_D, -1, DIK_W, -1, DIK_S, -1, -1, DIK_LMENU, -1, DIK_LSHIFT, -1, DIK_NUMPAD7, -1, DIK_NUMPAD9, -1, DIK_DIVIDE, -1, DIK_SUBTRACT, -1, DIK_MULTIPLY, -1, -1 };
static int kb_arcadia[] = { UAEKEY_F2, -1, UAEKEY_1, -1, UAEKEY_2, -1, UAEKEY_5, -1, UAEKEY_6, -1, -1 };
static int kb_arcadiaxa[] = { UAEKEY_1, -1, UAEKEY_2, -1, UAEKEY_3, -1, UAEKEY_4, -1, UAEKEY_6, -1, UAEKEY_LEFTBRACKET, UAEKEY_LEFT_SHIFT, -1, UAEKEY_RIGHTBRACKET, -1, UAEKEY_C, -1, UAEKEY_5, -1, UAEKEY_Z, -1, UAEKEY_X, -1, -1 }; static int kb_cdtv[] = { DIK_NUMPAD1, -1, DIK_NUMPAD3, -1, DIK_NUMPAD7, -1, DIK_NUMPAD9, -1, -1 };
static int *kbmaps[] = { kb_np, kb_ck, kb_se, kb_cd32_np, kb_cd32_ck, kb_cd32_se, kb_xa1, kb_xa2, kb_arcadia, kb_arcadiaxa };
*/ static int kb_xa1[] = { DIK_NUMPAD4, -1, DIK_NUMPAD6, -1, DIK_NUMPAD8, -1, DIK_NUMPAD2, DIK_NUMPAD5, -1, DIK_LCONTROL, -1, DIK_LMENU, -1, DIK_SPACE, -1, -1 };
//static int kb_np[] = { INPUTEVENT_KEY_NP_4, -1, INPUTEVENT_KEY_NP_6, -1, INPUTEVENT_KEY_NP_8, -1, INPUTEVENT_KEY_NP_2, -1, INPUTEVENT_KEY_NP_0, INPUTEVENT_KEY_NP_5, -1, INPUTEVENT_KEY_NP_PERIOD, INPUTEVENT_KEY_NP_DIV, INPUTEVENT_KEY_ENTER, -1, -1 }; static int kb_xa2[] = { DIK_D, -1, DIK_G, -1, DIK_R, -1, DIK_F, -1, DIK_A, -1, DIK_S, -1, DIK_Q, -1 };
static int kb_np[] = { 260, -1, AK_NP6, -1, 264, -1, AK_NP2, -1, INPUTEVENT_KEY_NP_0, 261, -1, INPUTEVENT_KEY_NP_PERIOD, INPUTEVENT_KEY_NP_DIV, INPUTEVENT_KEY_ENTER, -1, -1 }; static int kb_arcadia[] = { DIK_F2, -1, DIK_1, -1, DIK_2, -1, DIK_5, -1, DIK_6, -1, -1 };
static int kb_ck[] = { INPUTEVENT_KEY_CURSOR_LEFT, -1, INPUTEVENT_KEY_CURSOR_RIGHT, -1, INPUTEVENT_KEY_CURSOR_UP, -1, INPUTEVENT_KEY_CURSOR_DOWN, -1, INPUTEVENT_KEY_CTRL, INPUTEVENT_KEY_ALT_RIGHT, -1, INPUTEVENT_KEY_SHIFT_LEFT, -1, -1 }; static int kb_arcadiaxa[] = { DIK_1, -1, DIK_2, -1, DIK_3, -1, DIK_4, -1, DIK_6, -1, DIK_LBRACKET, DIK_LSHIFT, -1, DIK_RBRACKET, -1, DIK_C, -1, DIK_5, -1, DIK_Z, -1, DIK_X, -1, -1 };
static int kb_se[] = { INPUTEVENT_KEY_A, -1, INPUTEVENT_KEY_D, -1, INPUTEVENT_KEY_W, -1, INPUTEVENT_KEY_S, -1, INPUTEVENT_KEY_ALT_LEFT, -1, INPUTEVENT_KEY_SHIFT_RIGHT, -1, -1 };
static int kb_cd32_np[] = { INPUTEVENT_KEY_NP_4, -1, INPUTEVENT_KEY_NP_6, -1, INPUTEVENT_KEY_NP_8, -1, INPUTEVENT_KEY_NP_2, -1, INPUTEVENT_KEY_NP_1, -1, INPUTEVENT_KEY_NP_3, -1, INPUTEVENT_KEY_NP_7, -1, INPUTEVENT_KEY_NP_9, -1, INPUTEVENT_KEY_PERIOD, -1, INPUTEVENT_KEY_NP_SUB, -1, INPUTEVENT_KEY_NP_MUL, -1, -1 }; static int *kbmaps[] = {
static int kb_cd32_ck[] = { INPUTEVENT_KEY_CURSOR_LEFT, -1, INPUTEVENT_KEY_CURSOR_RIGHT, -1, INPUTEVENT_KEY_CURSOR_UP, -1, INPUTEVENT_KEY_CURSOR_DOWN, -1, INPUTEVENT_KEY_NP_1, -1, INPUTEVENT_KEY_NP_3, -1, INPUTEVENT_KEY_NP_7, -1, INPUTEVENT_KEY_NP_9, -1, INPUTEVENT_KEY_NP_DIV, -1, INPUTEVENT_KEY_NP_SUB, -1, INPUTEVENT_KEY_NP_MUL, -1, -1 }; kb_np, kb_ck, kb_se, kb_np3, kb_ck3, kb_se3,
static int kb_cd32_se[] = { INPUTEVENT_KEY_A, -1, INPUTEVENT_KEY_D, -1, INPUTEVENT_KEY_W, -1, INPUTEVENT_KEY_S, -1, INPUTEVENT_KEY_NP_1, -1, INPUTEVENT_KEY_NP_3, -1, INPUTEVENT_KEY_NP_7, -1, INPUTEVENT_KEY_NP_9, -1, INPUTEVENT_KEY_NP_DIV, -1, INPUTEVENT_KEY_NP_SUB, -1, INPUTEVENT_KEY_NP_MUL, -1, -1 }; kb_cd32_np, kb_cd32_ck, kb_cd32_se,
static int kb_xa1[] = { INPUTEVENT_KEY_NP_4, -1, INPUTEVENT_KEY_NP_6, -1, INPUTEVENT_KEY_NP_8, -1, INPUTEVENT_KEY_NP_2, INPUTEVENT_KEY_NP_5, -1, INPUTEVENT_KEY_CTRL, -1, INPUTEVENT_KEY_ALT_LEFT, -1, INPUTEVENT_KEY_SPACE, -1, -1 }; kb_xa1, kb_xa2, kb_arcadia, kb_arcadiaxa, kb_cdtv
static int kb_xa2[] = { INPUTEVENT_KEY_D, -1, INPUTEVENT_KEY_G, -1, INPUTEVENT_KEY_R, -1, INPUTEVENT_KEY_F, -1, INPUTEVENT_KEY_A, -1, INPUTEVENT_KEY_S, -1, INPUTEVENT_KEY_Q, -1 }; };
static int kb_arcadia[] = { INPUTEVENT_KEY_F2, -1, INPUTEVENT_KEY_1, -1, INPUTEVENT_KEY_2, -1, INPUTEVENT_KEY_5, -1, INPUTEVENT_KEY_6, -1, -1 };
static int kb_arcadiaxa[] = { INPUTEVENT_KEY_1, -1, INPUTEVENT_KEY_2, -1, INPUTEVENT_KEY_3, -1, INPUTEVENT_KEY_4, -1, INPUTEVENT_KEY_6, -1, INPUTEVENT_KEY_LEFTBRACKET, INPUTEVENT_KEY_SHIFT_LEFT, -1, INPUTEVENT_KEY_RIGHTBRACKET, -1, INPUTEVENT_KEY_C, -1, INPUTEVENT_KEY_5, -1, INPUTEVENT_KEY_Z, -1, INPUTEVENT_KEY_X, -1, -1 };
static int *kbmaps[] = { kb_np, kb_ck, kb_se, kb_cd32_np, kb_cd32_ck, kb_cd32_se, kb_xa1, kb_xa2, kb_arcadia, kb_arcadiaxa };
/* /*
* Build a default key translation table using the * Build a default key translation table using the
......
...@@ -97,9 +97,9 @@ static void show_version_full (void) ...@@ -97,9 +97,9 @@ static void show_version_full (void)
show_version (); show_version ();
hr (); hr ();
write_log ("Copyright 1995-2002 Bernd Schmidt\n"); write_log ("Copyright 1995-2002 Bernd Schmidt\n");
write_log (" 1999-2010 Toni Wilen\n"); write_log (" 1999-2011 Toni Wilen\n");
write_log (" 2003-2007 Richard Drummond\n"); write_log (" 2003-2007 Richard Drummond\n");
write_log (" 2006-2010 Mustafa 'GnoStiC' Tufan\n\n"); write_log (" 2006-2011 Mustafa 'GnoStiC' Tufan\n\n");
write_log ("See the source for a full list of contributors.\n"); write_log ("See the source for a full list of contributors.\n");
write_log ("This is free software; see the file COPYING for copying conditions. There is NO\n"); write_log ("This is free software; see the file COPYING for copying conditions. There is NO\n");
write_log ("warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"); write_log ("warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n");
...@@ -821,7 +821,7 @@ static int real_main2 (int argc, TCHAR **argv) ...@@ -821,7 +821,7 @@ static int real_main2 (int argc, TCHAR **argv)
{ {
#ifdef USE_SDL #ifdef USE_SDL
int result = (SDL_Init (SDL_INIT_TIMER | /*SDL_INIT_AUDIO |*/ SDL_INIT_JOYSTICK | SDL_INIT_NOPARACHUTE) == 0); int result = (SDL_Init (SDL_INIT_TIMER | SDL_INIT_JOYSTICK | SDL_INIT_NOPARACHUTE) == 0);
if (result) if (result)
atexit (SDL_Quit); atexit (SDL_Quit);
#endif #endif
......
/* /*
* A collection of ugly and random junk brought in from Win32 * A collection of ugly and random stuff brought in from Win32
* which desparately needs to be tidied up * which desparately needs to be tidied up
* *
* *
...@@ -28,8 +28,8 @@ ...@@ -28,8 +28,8 @@
#define FALSE 0 #define FALSE 0
static int logging_started; static int logging_started;
#define LOG_BOOT "puaebootlog.txt" #define LOG_BOOT "puae_bootlog.txt"
#define LOG_NORMAL "puaelog.txt" #define LOG_NORMAL "puae_log.txt"
static int tablet; static int tablet;
static int axmax, aymax, azmax; static int axmax, aymax, azmax;
...@@ -63,6 +63,8 @@ static int data_in_serdatr; /* new data received */ ...@@ -63,6 +63,8 @@ static int data_in_serdatr; /* new data received */
// --- dinput.cpp START --- // --- dinput.cpp START ---
int rawkeyboard = -1; int rawkeyboard = -1;
static bool rawinput_enabled_mouse, rawinput_enabled_keyboard;
int no_rawinput; int no_rawinput;
void getgfxoffset (int *dxp, int *dyp, int *mxp, int *myp) void getgfxoffset (int *dxp, int *dyp, int *mxp, int *myp)
...@@ -75,7 +77,7 @@ void getgfxoffset (int *dxp, int *dyp, int *mxp, int *myp) ...@@ -75,7 +77,7 @@ void getgfxoffset (int *dxp, int *dyp, int *mxp, int *myp)
int is_tablet (void) int is_tablet (void)
{ {
return tablet ? 1 : 0; return tablet ? 1 : 0;
} }
int vsync_switchmode (int hz, int oldhz) int vsync_switchmode (int hz, int oldhz)
...@@ -340,7 +342,6 @@ uae_u32 emulib_target_getcpurate (uae_u32 v, uae_u32 *low) ...@@ -340,7 +342,6 @@ uae_u32 emulib_target_getcpurate (uae_u32 v, uae_u32 *low)
t1 = (double)_tstart.tv_sec + (double)_tstart.tv_usec/(1000*1000); t1 = (double)_tstart.tv_sec + (double)_tstart.tv_usec/(1000*1000);
t2 = (double)_tend.tv_sec + (double)_tend.tv_usec/(1000*1000); t2 = (double)_tend.tv_sec + (double)_tend.tv_usec/(1000*1000);
return t2-t1; return t2-t1;
*/ */
#endif #endif
} }
...@@ -493,9 +494,6 @@ static int testwritewatch (void) ...@@ -493,9 +494,6 @@ static int testwritewatch (void)
void machdep_free (void) void machdep_free (void)
{ {
#ifdef LOGITECHLCD
lcd_close ();
#endif
} }
void target_run (void) void target_run (void)
...@@ -506,15 +504,13 @@ void target_run (void) ...@@ -506,15 +504,13 @@ void target_run (void)
// --- dinput.cpp --- // --- dinput.cpp ---
int input_get_default_keyboard (int i) int input_get_default_keyboard (int i)
{ {
if (rawkeyboard > 0) { if (rawinput_enabled_keyboard) {
if (i == 0) return 1;
return 0; } else {
return 1; if (i == 0)
} else { return 1;
if (i == 0) return 0;
return 1; }
return 0;
}
} }
// --- unicode.cpp --- // --- unicode.cpp ---
...@@ -589,6 +585,7 @@ int target_cfgfile_load (struct uae_prefs *p, char *filename, int type, int isde ...@@ -589,6 +585,7 @@ int target_cfgfile_load (struct uae_prefs *p, char *filename, int type, int isde
v = 1; v = 1;
return v; return v;
} }
// --- win32gfx.c // --- win32gfx.c
int screen_is_picasso = 0; int screen_is_picasso = 0;
struct uae_filter *usedfilter; struct uae_filter *usedfilter;
...@@ -763,18 +760,26 @@ TCHAR* buf_out (TCHAR *buffer, int *bufsize, const TCHAR *format, ...) ...@@ -763,18 +760,26 @@ TCHAR* buf_out (TCHAR *buffer, int *bufsize, const TCHAR *format, ...)
// dinput // dinput
void setid (struct uae_input_device *uid, int i, int slot, int sub, int port, int evt) void setid (struct uae_input_device *uid, int i, int slot, int sub, int port, int evt)
{ {
uid[i].eventid[slot][sub] = evt; // wrong place!
uid[i].port[slot][sub] = port + 1; uid->eventid[slot][SPARE_SUB_EVENT] = uid->eventid[slot][sub];
uid->flags[slot][SPARE_SUB_EVENT] = uid->flags[slot][sub];
uid->port[slot][SPARE_SUB_EVENT] = MAX_JPORTS + 1;
xfree (uid->custom[slot][SPARE_SUB_EVENT]);
uid->custom[slot][SPARE_SUB_EVENT] = uid->custom[slot][sub];
uid->custom[slot][sub] = NULL;
uid[i].eventid[slot][sub] = evt;
uid[i].port[slot][sub] = port + 1;
} }
void setid_af (struct uae_input_device *uid, int i, int slot, int sub, int port, int evt, int af) void setid_af (struct uae_input_device *uid, int i, int slot, int sub, int port, int evt, int af)
{ {
setid (uid, i, slot, sub, port, evt); setid (uid, i, slot, sub, port, evt);
uid[i].flags[slot][sub] &= ~(ID_FLAG_AUTOFIRE | ID_FLAG_TOGGLE); uid[i].flags[slot][sub] &= ~(ID_FLAG_AUTOFIRE | ID_FLAG_TOGGLE);
if (af >= JPORT_AF_NORMAL) if (af >= JPORT_AF_NORMAL)
uid[i].flags[slot][sub] |= ID_FLAG_AUTOFIRE; uid[i].flags[slot][sub] |= ID_FLAG_AUTOFIRE;
if (af == JPORT_AF_TOGGLE) if (af == JPORT_AF_TOGGLE)
uid[i].flags[slot][sub] |= ID_FLAG_TOGGLE; uid[i].flags[slot][sub] |= ID_FLAG_TOGGLE;
} }
// win32.c // win32.c
...@@ -951,7 +956,7 @@ static uae_u8 di_keycodes[MAX_INPUT_DEVICES][MAX_KEYCODES]; ...@@ -951,7 +956,7 @@ static uae_u8 di_keycodes[MAX_INPUT_DEVICES][MAX_KEYCODES];
int ispressed (int key) int ispressed (int key)
{ {
int i; unsigned int i;
for (i = 0; i < MAX_INPUT_DEVICES; i++) { for (i = 0; i < MAX_INPUT_DEVICES; i++) {
if (di_keycodes[i][key]) if (di_keycodes[i][key])
return 1; return 1;
...@@ -1018,26 +1023,26 @@ static int np[] = { ...@@ -1018,26 +1023,26 @@ static int np[] = {
void my_kbd_handler (int keyboard, int scancode, int newstate) void my_kbd_handler (int keyboard, int scancode, int newstate)
{ {
int code = 0; int code = 0;
int scancode_new; int scancode_new;
static int swapperdrive = 0; static int swapperdrive = 0;
if (scancode == specialkeycode ()) if (scancode == specialkeycode ())
return; return;
/* if (scancode == DIK_F11 && currprefs.win32_ctrl_F11_is_quit && ctrlpressed ()) /* if (scancode == DIK_F11 && currprefs.win32_ctrl_F11_is_quit && ctrlpressed ())
code = AKS_QUIT;*/ code = AKS_QUIT;*/
scancode_new = scancode; scancode_new = scancode;
/* if (!specialpressed () && inputdevice_iskeymapped (keyboard, scancode)) if (!specialpressed () && inputdevice_iskeymapped (keyboard, scancode))
scancode = 0;*/ scancode = 0;
// GUI must be always available // GUI must be always available
/* if (scancode_new == DIK_F12 && currprefs.win32_guikey < 0) /* if (scancode_new == DIK_F12 && currprefs.win32_guikey < 0)
scancode = scancode_new; scancode = scancode_new;
if (scancode_new == currprefs.win32_guikey && scancode_new != DIK_F12) if (scancode_new == currprefs.win32_guikey && scancode_new != DIK_F12)
scancode = scancode_new;*/ scancode = scancode_new;*/
// write_log ("kbd = %d, scancode = %d, state = %d\n", keyboard, scancode, newstate ); // write_log ("kbd1 = %d, scancode = %d (0x%02x), state = %d\n", keyboard, scancode, scancode, newstate);
if (newstate == 0 && code == 0) { if (newstate == 0 && code == 0) {
switch (scancode) switch (scancode)
...@@ -1050,7 +1055,6 @@ void my_kbd_handler (int keyboard, int scancode, int newstate) ...@@ -1050,7 +1055,6 @@ void my_kbd_handler (int keyboard, int scancode, int newstate)
if (newstate && code == 0) { if (newstate && code == 0) {
if (scancode == DIK_F12 /*|| scancode == currprefs.win32_guikey*/) { if (scancode == DIK_F12 /*|| scancode == currprefs.win32_guikey*/) {
if (ctrlpressed ()) { if (ctrlpressed ()) {
code = AKS_TOGGLEDEFAULTSCREEN; code = AKS_TOGGLEDEFAULTSCREEN;
...@@ -1211,7 +1215,8 @@ void my_kbd_handler (int keyboard, int scancode, int newstate) ...@@ -1211,7 +1215,8 @@ void my_kbd_handler (int keyboard, int scancode, int newstate)
if (specialpressed ()) if (specialpressed ())
return; return;
// write_log ("kbd = %d, scancode = %d, state = %d\n", keyboard, scancode, newstate ); // write_log ("kbd2 = %d, scancode = %d (0x%02x), state = %d\n", keyboard, scancode, scancode, newstate);
inputdevice_translatekeycode (keyboard, scancode, newstate); inputdevice_translatekeycode (keyboard, scancode, newstate);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment