28.05.2010

parent 02a1469e
...@@ -14,8 +14,7 @@ DIST_SUBDIRS = \ ...@@ -14,8 +14,7 @@ DIST_SUBDIRS = \
gui-none gui-beos gui-cocoa gui-gtk gui-muirexx \ gui-none gui-beos gui-cocoa gui-gtk gui-muirexx \
od-generic od-amiga od-beos od-linux od-macosx od-win32 \ od-generic od-amiga od-beos od-linux od-macosx od-win32 \
td-none td-amigaos td-beos td-posix td-sdl td-win32 \ td-none td-amigaos td-beos td-posix td-sdl td-win32 \
keymap \ keymap caps dms
caps dms
BUILT_SOURCES = \ BUILT_SOURCES = \
blit.h blitfunc.h blitfunc.c blittable.c \ blit.h blitfunc.h blitfunc.c blittable.c \
......
...@@ -319,8 +319,7 @@ DIST_SUBDIRS = \ ...@@ -319,8 +319,7 @@ DIST_SUBDIRS = \
gui-none gui-beos gui-cocoa gui-gtk gui-muirexx \ gui-none gui-beos gui-cocoa gui-gtk gui-muirexx \
od-generic od-amiga od-beos od-linux od-macosx od-win32 \ od-generic od-amiga od-beos od-linux od-macosx od-win32 \
td-none td-amigaos td-beos td-posix td-sdl td-win32 \ td-none td-amigaos td-beos td-posix td-sdl td-win32 \
keymap \ keymap caps dms
caps dms
BUILT_SOURCES = \ BUILT_SOURCES = \
blit.h blitfunc.h blitfunc.c blittable.c \ blit.h blitfunc.h blitfunc.c blittable.c \
......
...@@ -402,7 +402,7 @@ static int qcode_valid; ...@@ -402,7 +402,7 @@ static int qcode_valid;
static int cdrom_disk, cdrom_paused, cdrom_playing; static int cdrom_disk, cdrom_paused, cdrom_playing;
static int cdrom_command_active; static int cdrom_command_active;
static int cdrom_command_length; static int cdrom_command_length;
static int cdrom_checksum_error; static int cdrom_checksum_error, cdrom_unknown_command;
static int cdrom_data_offset, cdrom_speed, cdrom_sector_counter; static int cdrom_data_offset, cdrom_speed, cdrom_sector_counter;
static int cdrom_current_sector, cdrom_seek_delay; static int cdrom_current_sector, cdrom_seek_delay;
static int cdrom_data_end, cdrom_leadout; static int cdrom_data_end, cdrom_leadout;
...@@ -788,8 +788,8 @@ static int cdrom_command_led (void) ...@@ -788,8 +788,8 @@ static int cdrom_command_led (void)
static int cdrom_command_media_status (void) static int cdrom_command_media_status (void)
{ {
cdrom_result_buffer[0] = 10; cdrom_result_buffer[0] = 0x0a;
cdrom_result_buffer[1] = sys_command_ismedia (DF_IOCTL, unitnum, 0); cdrom_result_buffer[1] = sys_command_ismedia (DF_IOCTL, unitnum, 0) ? 0x83: 0x80;
return 2; return 2;
} }
...@@ -942,6 +942,8 @@ static void cdrom_run_command (void) ...@@ -942,6 +942,8 @@ static void cdrom_run_command (void)
uae_u8 checksum; uae_u8 checksum;
uae_u8 *pp = get_real_address (cdtx_address); uae_u8 *pp = get_real_address (cdtx_address);
if (!(cdrom_flags & CDFLAG_TXD))
return;
for (;;) { for (;;) {
if (cdrom_command_active) if (cdrom_command_active)
return; return;
...@@ -953,13 +955,20 @@ static void cdrom_run_command (void) ...@@ -953,13 +955,20 @@ static void cdrom_run_command (void)
return; return;
} }
cdrom_checksum_error = 0; cdrom_checksum_error = 0;
cdrom_unknown_command = 0;
cmd_len = command_lengths[cdrom_command & 0x0f]; cmd_len = command_lengths[cdrom_command & 0x0f];
if (cmd_len < 0) { if (cmd_len < 0) {
#if AKIKO_DEBUG_IO_CMD #if AKIKO_DEBUG_IO_CMD
write_log ("unknown command\n"); write_log ("unknown command %x\n", cdrom_command & 0x0f);
#endif #endif
cmd_len = 1; cdrom_unknown_command = 1;
cdrom_command_active = 1;
cdrom_command_length = 1;
set_status (CDINTERRUPT_TXDMADONE);
return;
} }
#if AKIKO_DEBUG_IO_CMD #if AKIKO_DEBUG_IO_CMD
write_log ("IN:"); write_log ("IN:");
#endif #endif
...@@ -1020,7 +1029,7 @@ static void cdrom_run_command_run (void) ...@@ -1020,7 +1029,7 @@ static void cdrom_run_command_run (void)
} }
if (len == 0) if (len == 0)
return; return;
if (cdrom_checksum_error) if (cdrom_checksum_error || cdrom_unknown_command)
cdrom_result_buffer[1] |= 0x80; cdrom_result_buffer[1] |= 0x80;
cdrom_start_return_data (len); cdrom_start_return_data (len);
} }
......
...@@ -558,7 +558,6 @@ static void led_vsync (void) ...@@ -558,7 +558,6 @@ static void led_vsync (void)
v = led_cycles_on * 255 / led_cycles_off; v = led_cycles_on * 255 / led_cycles_off;
else else
v = 255; v = 255;
if (v < 0) if (v < 0)
v = 0; v = 0;
if (v > 255) if (v > 255)
......
...@@ -367,7 +367,6 @@ STATIC_INLINE int comp_fp_put (uae_u32 opcode, uae_u16 extra) ...@@ -367,7 +367,6 @@ STATIC_INLINE int comp_fp_put (uae_u32 opcode, uae_u16 extra)
return -1; return -1;
} }
} }
switch (size) { switch (size) {
case 0: /* Long */ case 0: /* Long */
fmovi_mrb((uae_u32)temp_fp,sreg, clamp_bounds.l); fmovi_mrb((uae_u32)temp_fp,sreg, clamp_bounds.l);
...@@ -483,7 +482,6 @@ void comp_fscc_opp (uae_u32 opcode, uae_u16 extra) ...@@ -483,7 +482,6 @@ void comp_fscc_opp (uae_u32 opcode, uae_u16 extra)
mov_l_ri(S1,255); mov_l_ri(S1,255);
mov_l_ri(S4,0); mov_l_ri(S4,0);
switch (extra & 0x0f) { /* according to fpp.c, the 0x10 bit is ignored */ switch (extra & 0x0f) { /* according to fpp.c, the 0x10 bit is ignored */
case 0: break; /* set never */ case 0: break; /* set never */
case 1: case 1:
...@@ -614,27 +612,46 @@ void comp_fbcc_opp (uae_u32 opcode) ...@@ -614,27 +612,46 @@ void comp_fbcc_opp (uae_u32 opcode)
case 4: case 4:
mov_l_rr(S2,PC_P); mov_l_rr(S2,PC_P);
cmov_l_rr(PC_P,S1,2); cmov_l_rr(PC_P,S1,2);
cmov_l_rr(PC_P,S2,10); break; cmov_l_rr(PC_P,S2,10);
break;
case 5: case 5:
mov_l_rr(S2,PC_P); mov_l_rr(S2,PC_P);
cmov_l_rr(PC_P,S1,6); cmov_l_rr(PC_P,S1,6);
cmov_l_rr(PC_P,S2,10); break; cmov_l_rr(PC_P,S2,10);
case 6: register_branch(v1,v2,5); break; break;
case 7: register_branch(v1,v2,11); break; case 6:
case 8: register_branch(v1,v2,10); break; register_branch(v1,v2,5);
case 9: register_branch(v1,v2,4); break; break;
case 7:
register_branch(v1,v2,11);
break;
case 8:
register_branch(v1,v2,10);
break;
case 9:
register_branch(v1,v2,4);
break;
case 10: case 10:
cmov_l_rr(PC_P,S1,10); cmov_l_rr(PC_P,S1,10);
cmov_l_rr(PC_P,S1,7); break; cmov_l_rr(PC_P,S1,7);
break;
case 11: case 11:
cmov_l_rr(PC_P,S1,4); cmov_l_rr(PC_P,S1,4);
cmov_l_rr(PC_P,S1,3); break; cmov_l_rr(PC_P,S1,3);
case 12: register_branch(v1,v2,2); break; break;
case 13: register_branch(v1,v2,6); break; case 12:
register_branch(v1,v2,2);
break;
case 13:
register_branch(v1,v2,6);
break;
case 14: case 14:
cmov_l_rr(PC_P,S1,5); cmov_l_rr(PC_P,S1,5);
cmov_l_rr(PC_P,S1,10); break; cmov_l_rr(PC_P,S1,10);
case 15: mov_l_rr(PC_P,S1); break; break;
case 15:
mov_l_rr(PC_P,S1);
break;
} }
} }
...@@ -909,7 +926,8 @@ void comp_fpp_opp (uae_u32 opcode, uae_u16 extra) ...@@ -909,7 +926,8 @@ void comp_fpp_opp (uae_u32 opcode, uae_u16 extra)
abort(); abort();
} }
if (incr < 0) { // not reached if (incr < 0) {
// not reached
for (reg = 7; reg >= 0; reg--) { for (reg = 7; reg >= 0; reg--) {
if (list & 0x80) { if (list & 0x80) {
sub_l_ri(ad,4); sub_l_ri(ad,4);
......
...@@ -2678,7 +2678,7 @@ static int islinetoggle (void) ...@@ -2678,7 +2678,7 @@ static int islinetoggle (void)
static int isvsync (void) static int isvsync (void)
{ {
if (!currprefs.gfx_afullscreen || picasso_on || !currprefs.gfx_avsync) if (currprefs.gfx_afullscreen != GFX_FULLSCREEN || picasso_on || !currprefs.gfx_avsync)
return 0; return 0;
return currprefs.gfx_avsync; return currprefs.gfx_avsync;
} }
...@@ -4743,6 +4743,7 @@ STATIC_INLINE void do_sprites_1 (int num, int cycle, int hpos) ...@@ -4743,6 +4743,7 @@ STATIC_INLINE void do_sprites_1 (int num, int cycle, int hpos)
#endif #endif
s->dmastate = 0; s->dmastate = 0;
#if 0 #if 0
// roots 2.0 flower zoomer bottom part missing if this enabled
if (vpos == s->vstop) { if (vpos == s->vstop) {
spr_arm (num, 0); spr_arm (num, 0);
//return; //return;
......
...@@ -1774,7 +1774,7 @@ STATIC_INLINE void do_flush_screen (int start, int stop) ...@@ -1774,7 +1774,7 @@ STATIC_INLINE void do_flush_screen (int start, int stop)
unlockscr (); unlockscr ();
if (start <= stop) if (start <= stop)
flush_screen (start, stop); flush_screen (start, stop);
else if (currprefs.gfx_afullscreen == 1 && currprefs.gfx_avsync) else if (currprefs.gfx_afullscreen == GFX_FULLSCREEN && currprefs.gfx_avsync)
flush_screen (0, 0); /* vsync mode */ flush_screen (0, 0); /* vsync mode */
} }
......
...@@ -2120,8 +2120,6 @@ static void gen_opcode (unsigned long int opcode) ...@@ -2120,8 +2120,6 @@ static void gen_opcode (unsigned long int opcode)
if (next_cpu_level < 0) if (next_cpu_level < 0)
next_cpu_level = 0; next_cpu_level = 0;
printf ("\tuae_u16 newsr; uae_u32 newpc;\n"); printf ("\tuae_u16 newsr; uae_u32 newpc;\n");
if (using_ce020) // need some delay so that interrupts have time to clear if previous ins was move to INTREQ
printf ("\tdo_cycles_ce (6 * CYCLE_UNIT);\n");
printf ("\tfor (;;) {\n"); printf ("\tfor (;;) {\n");
printf ("\t\tuaecptr a = m68k_areg (regs, 7);\n"); printf ("\t\tuaecptr a = m68k_areg (regs, 7);\n");
printf ("\t\tuae_s16 sr = %s (a);\n", srcw); printf ("\t\tuae_s16 sr = %s (a);\n", srcw);
......
...@@ -2313,7 +2313,7 @@ int is_vsync (void) ...@@ -2313,7 +2313,7 @@ int is_vsync (void)
return 0; return 0;
} }
void toggle_fullscreen (void) void toggle_fullscreen (int mode)
{ {
} }
......
...@@ -563,7 +563,7 @@ int check_prefs_changed_gfx (void) ...@@ -563,7 +563,7 @@ int check_prefs_changed_gfx (void)
return 0; return 0;
} }
void toggle_fullscreen (void) void toggle_fullscreen (int mode)
{ {
gWin->SetFullScreenMode(0); gWin->SetFullScreenMode(0);
} }
......
...@@ -663,7 +663,7 @@ int is_vsync (void) ...@@ -663,7 +663,7 @@ int is_vsync (void)
return 0; return 0;
} }
void toggle_fullscreen (void) void toggle_fullscreen (int mode)
{ {
}; };
......
...@@ -1888,7 +1888,7 @@ int is_vsync (void) ...@@ -1888,7 +1888,7 @@ int is_vsync (void)
return vsync; return vsync;
} }
void toggle_fullscreen (void) void toggle_fullscreen (int mode)
{ {
/* FIXME: Add support for separate full-screen/windowed sizes */ /* FIXME: Add support for separate full-screen/windowed sizes */
fullscreen = 1 - fullscreen; fullscreen = 1 - fullscreen;
......
...@@ -1534,7 +1534,7 @@ int is_vsync (void) ...@@ -1534,7 +1534,7 @@ int is_vsync (void)
return 0; return 0;
} }
void toggle_fullscreen (void) void toggle_fullscreen (int mode)
{ {
#ifdef USE_DGA_EXTENSION #ifdef USE_DGA_EXTENSION
changed_prefs.gfx_afullscreen = changed_prefs.gfx_pfullscreen = !dgamode; changed_prefs.gfx_afullscreen = changed_prefs.gfx_pfullscreen = !dgamode;
......
...@@ -189,7 +189,7 @@ void gui_display (int shortcut) ...@@ -189,7 +189,7 @@ void gui_display (int shortcut)
int was_fullscreen; int was_fullscreen;
if (was_fullscreen = is_fullscreen ()) { if (was_fullscreen = is_fullscreen ()) {
toggle_fullscreen (); toggle_fullscreen (0);
if (is_fullscreen ()) { if (is_fullscreen ()) {
resume_sound (); resume_sound ();
return; return;
...@@ -199,7 +199,7 @@ void gui_display (int shortcut) ...@@ -199,7 +199,7 @@ void gui_display (int shortcut)
(new floppyFilePanel (shortcut))->run (); (new floppyFilePanel (shortcut))->run ();
if (was_fullscreen) if (was_fullscreen)
toggle_fullscreen (); toggle_fullscreen (0);
} }
resume_sound (); resume_sound ();
} }
......
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
#define COCOA_GUI_MAX_PATH 255 #define COCOA_GUI_MAX_PATH 255
/* These prototypes aren't declared in the sdlgfx header for some reason */ /* These prototypes aren't declared in the sdlgfx header for some reason */
extern void toggle_fullscreen (void); extern void toggle_fullscreen (int mode);
extern int is_fullscreen (void); extern int is_fullscreen (void);
/* Defined in SDLmain.m */ /* Defined in SDLmain.m */
...@@ -504,7 +504,7 @@ static BOOL wasFullscreen = NO; // used by ensureNotFullscreen() and restoreFull ...@@ -504,7 +504,7 @@ static BOOL wasFullscreen = NO; // used by ensureNotFullscreen() and restoreFull
- (void)goFullscreen:(id)sender - (void)goFullscreen:(id)sender
{ {
toggle_fullscreen(); toggle_fullscreen(0);
} }
- (void)toggleInhibitDisplay:(id)sender - (void)toggleInhibitDisplay:(id)sender
...@@ -523,7 +523,7 @@ int ensureNotFullscreen (void) ...@@ -523,7 +523,7 @@ int ensureNotFullscreen (void)
int result = 0; int result = 0;
if (is_fullscreen ()) { if (is_fullscreen ()) {
toggle_fullscreen (); toggle_fullscreen (0);
if (is_fullscreen ()) if (is_fullscreen ())
write_log ("Cannot activate GUI in full-screen mode\n"); write_log ("Cannot activate GUI in full-screen mode\n");
...@@ -548,7 +548,7 @@ void restoreFullscreen (void) ...@@ -548,7 +548,7 @@ void restoreFullscreen (void)
#endif #endif
if ((!is_fullscreen ()) && (wasFullscreen == YES)) if ((!is_fullscreen ()) && (wasFullscreen == YES))
toggle_fullscreen(); toggle_fullscreen(0);
wasFullscreen = NO; wasFullscreen = NO;
} }
......
...@@ -2468,7 +2468,7 @@ void gui_display (int shortcut) ...@@ -2468,7 +2468,7 @@ void gui_display (int shortcut)
/* If running fullscreen, then we must try to switched to windowed /* If running fullscreen, then we must try to switched to windowed
* mode before activating the GUI */ * mode before activating the GUI */
if (is_fullscreen ()) { if (is_fullscreen ()) {
toggle_fullscreen (); toggle_fullscreen (0);
if (is_fullscreen ()) { if (is_fullscreen ()) {
write_log ("Cannot activate GUI in full-screen mode\n"); write_log ("Cannot activate GUI in full-screen mode\n");
return; return;
......
...@@ -132,7 +132,9 @@ ...@@ -132,7 +132,9 @@
enum aks { AKS_ENTERGUI = 0x200, AKS_SCREENSHOT_FILE, AKS_SCREENSHOT_CLIPBOARD, AKS_FREEZEBUTTON, enum aks { AKS_ENTERGUI = 0x200, AKS_SCREENSHOT_FILE, AKS_SCREENSHOT_CLIPBOARD, AKS_FREEZEBUTTON,
AKS_FLOPPY0, AKS_FLOPPY1, AKS_FLOPPY2, AKS_FLOPPY3, AKS_FLOPPY0, AKS_FLOPPY1, AKS_FLOPPY2, AKS_FLOPPY3,
AKS_EFLOPPY0, AKS_EFLOPPY1, AKS_EFLOPPY2, AKS_EFLOPPY3, AKS_EFLOPPY0, AKS_EFLOPPY1, AKS_EFLOPPY2, AKS_EFLOPPY3,
AKS_TOGGLEFULLSCREEN, AKS_ENTERDEBUGGER, AKS_IRQ7, AKS_TOGGLEDEFAULTSCREEN,
AKS_TOGGLEWINDOWEDFULLSCREEN, AKS_TOGGLEFULLWINDOWFULLSCREEN, AKS_TOGGLEWINDOWFULLWINDOW,
AKS_ENTERDEBUGGER, AKS_IRQ7,
AKS_PAUSE, AKS_WARP, AKS_INHIBITSCREEN, AKS_STATEREWIND, AKS_PAUSE, AKS_WARP, AKS_INHIBITSCREEN, AKS_STATEREWIND,
AKS_VOLDOWN, AKS_VOLUP, AKS_VOLMUTE, AKS_VOLDOWN, AKS_VOLUP, AKS_VOLMUTE,
AKS_MVOLDOWN, AKS_MVOLUP, AKS_MVOLMUTE, AKS_MVOLDOWN, AKS_MVOLUP, AKS_MVOLMUTE,
......
...@@ -106,17 +106,12 @@ struct cache030 ...@@ -106,17 +106,12 @@ struct cache030
}; };
#define CACHESETS040 64 #define CACHESETS040 64
struct cache040set
{
uae_u32 data[4];
bool valid[4];
uae_u32 tag;
};
#define CACHELINES040 4 #define CACHELINES040 4
struct cache040 struct cache040
{ {
struct cache040set cs[4]; uae_u32 data[CACHELINES040][4];
int count; bool valid[CACHELINES040];
uae_u32 tag[CACHELINES040];
}; };
struct regstruct struct regstruct
...@@ -419,6 +414,7 @@ extern void compemu_reset (void); ...@@ -419,6 +414,7 @@ extern void compemu_reset (void);
#else #else
#define flush_icache(uaecptr, int) do {} while (0) #define flush_icache(uaecptr, int) do {} while (0)
#endif #endif
extern void flush_dcache (uaecptr, int);
extern void flush_mmu (uaecptr, int); extern void flush_mmu (uaecptr, int);
extern int movec_illg (int regno); extern int movec_illg (int regno);
...@@ -426,6 +422,6 @@ extern uae_u32 val_move2c (int regno); ...@@ -426,6 +422,6 @@ extern uae_u32 val_move2c (int regno);
extern void val_move2c2 (int regno, uae_u32 val); extern void val_move2c2 (int regno, uae_u32 val);
struct cpum2c { struct cpum2c {
int regno; int regno;
char *regname; TCHAR *regname;
}; };
extern struct cpum2c m2cregs[]; extern struct cpum2c m2cregs[];
...@@ -184,7 +184,7 @@ struct uae_prefs { ...@@ -184,7 +184,7 @@ struct uae_prefs {
bool gfx_autoresolution; bool gfx_autoresolution;
bool gfx_scandoubler; bool gfx_scandoubler;
int gfx_refreshrate; int gfx_refreshrate;
bool gfx_avsync, gfx_pvsync; int gfx_avsync, gfx_pvsync;
int gfx_resolution; int gfx_resolution;
int gfx_lores_mode; int gfx_lores_mode;
int gfx_linedbl; int gfx_linedbl;
......
...@@ -327,8 +327,10 @@ extern void mallocemu_free (void *ptr); ...@@ -327,8 +327,10 @@ extern void mallocemu_free (void *ptr);
#endif #endif
#include "target.h" #include "target.h"
#if !defined(RECUR)
#include "machdep/machdep.h" #include "machdep/machdep.h"
#include "gfxdep/gfx.h" #include "gfxdep/gfx.h"
#endif
extern void console_out (const char *, ...); extern void console_out (const char *, ...);
extern void console_flush (void); extern void console_flush (void);
...@@ -405,6 +407,7 @@ extern void xfree (const void*); ...@@ -405,6 +407,7 @@ extern void xfree (const void*);
#define _tcschr strchr #define _tcschr strchr
#define _tstof atof #define _tstof atof
#define _istdigit isdigit #define _istdigit isdigit
#define _istspace isspace
#define _tstoi atoi #define _tstoi atoi
#define _tcstol strtol #define _tcstol strtol
#define _wunlink unlink #define _wunlink unlink
......
...@@ -123,7 +123,7 @@ extern void graphics_notify_state (int state); ...@@ -123,7 +123,7 @@ extern void graphics_notify_state (int state);
extern void handle_events (void); extern void handle_events (void);
extern int is_fullscreen (void); extern int is_fullscreen (void);
extern int is_vsync (void); extern int is_vsync (void);
extern void toggle_fullscreen (void); extern void toggle_fullscreen (int mode);
extern void toggle_mousegrab (void); extern void toggle_mousegrab (void);
......
...@@ -467,7 +467,14 @@ void write_inputdevice_config (struct uae_prefs *p, FILE *f) ...@@ -467,7 +467,14 @@ void write_inputdevice_config (struct uae_prefs *p, FILE *f)
static int getnum (const TCHAR **pp) static int getnum (const TCHAR **pp)
{ {
const TCHAR *p = *pp; const TCHAR *p = *pp;
int v = _tstol (p); int v;
/* if (!_tcsnicmp (p, L"false", 5))
v = 0;
if (!_tcsnicmp (p, "true", 4))
v = 1;
else*/
v = _tstol (p);
while (*p != 0 && *p !='.' && *p != ',') while (*p != 0 && *p !='.' && *p != ',')
p++; p++;
...@@ -544,7 +551,7 @@ static void set_kbr_default_event (struct uae_input_device *kbr, struct uae_inpu ...@@ -544,7 +551,7 @@ static void set_kbr_default_event (struct uae_input_device *kbr, struct uae_inpu
} }
} }
static void set_kbr_default (struct uae_prefs *p, int index) static void set_kbr_default (struct uae_prefs *p, int index, int devnum)
{ {
int i, j; int i, j;
struct uae_input_device_kbr_default *trans = keyboard_default; struct uae_input_device_kbr_default *trans = keyboard_default;
...@@ -555,6 +562,8 @@ static void set_kbr_default (struct uae_prefs *p, int index) ...@@ -555,6 +562,8 @@ static void set_kbr_default (struct uae_prefs *p, int index)
if (!trans) if (!trans)
return; return;
for (j = 0; j < MAX_INPUT_DEVICES; j++) { for (j = 0; j < MAX_INPUT_DEVICES; j++) {
if (devnum >= 0 && devnum != j)
continue;
kbr = &p->keyboard_settings[index][j]; kbr = &p->keyboard_settings[index][j];
for (i = 0; i < MAX_INPUT_DEVICE_EVENTS; i++) { for (i = 0; i < MAX_INPUT_DEVICE_EVENTS; i++) {
memset (kbr, 0, sizeof (struct uae_input_device)); memset (kbr, 0, sizeof (struct uae_input_device));
...@@ -668,20 +677,27 @@ void read_inputdevice_config (struct uae_prefs *pr, char *option, char *value) ...@@ -668,20 +677,27 @@ void read_inputdevice_config (struct uae_prefs *pr, char *option, char *value)
} }
if (!_tcscmp (p2, "custom")) { if (!_tcscmp (p2, "custom")) {
int disabled; int iscustom;
p = value; p = value;
disabled = getnum (&p); iscustom = getnum (&p);
if (idnum == GAMEPORT_INPUT_SETTINGS) { if (idnum == GAMEPORT_INPUT_SETTINGS) {
clear_id (id); clear_id (id);
if (joystick < 0) if (joystick < 0)
set_kbr_default (pr, idnum); set_kbr_default (pr, idnum, devnum);
id->enabled = disabled == 0 ? 1 : 0; id->enabled = iscustom;
} }
return; return;
} }
if (!_tcscmp (p2, "empty")) { if (!_tcscmp (p2, "empty")) {
int empty;
p = value;
empty = getnum (&p);
clear_id (id); clear_id (id);
if (!empty) {
if (joystick < 0)
set_kbr_default (pr, idnum, devnum);
}
id->enabled = 1; id->enabled = 1;
if (idnum == GAMEPORT_INPUT_SETTINGS) if (idnum == GAMEPORT_INPUT_SETTINGS)
id->enabled = 0; id->enabled = 0;
...@@ -2234,8 +2250,17 @@ void inputdevice_handle_inputcode (void) ...@@ -2234,8 +2250,17 @@ void inputdevice_handle_inputcode (void)
savestate_quick ((code - AKS_STATERESTOREQUICK) / 2, 0); savestate_quick ((code - AKS_STATERESTOREQUICK) / 2, 0);
break; break;
#endif #endif
case AKS_TOGGLEFULLSCREEN: case AKS_TOGGLEDEFAULTSCREEN:
toggle_fullscreen (); toggle_fullscreen (-1);
break;
case AKS_TOGGLEWINDOWEDFULLSCREEN:
toggle_fullscreen (0);
break;
case AKS_TOGGLEFULLWINDOWFULLSCREEN:
toggle_fullscreen (1);
break;
case AKS_TOGGLEWINDOWFULLWINDOW:
toggle_fullscreen (2);
break; break;
case AKS_TOGGLEMOUSEGRAB: case AKS_TOGGLEMOUSEGRAB:
toggle_mousegrab (); toggle_mousegrab ();
...@@ -3603,11 +3628,6 @@ static void compatibility_copy (struct uae_prefs *prefs) ...@@ -3603,11 +3628,6 @@ static void compatibility_copy (struct uae_prefs *prefs)
case JSEM_MODE_DEFAULT: case JSEM_MODE_DEFAULT:
case JSEM_MODE_MOUSE: case JSEM_MODE_MOUSE:
default: default:
if (firstmouse) { // map first mouse to each available host mouse device
for (j = 0; j < MAX_INPUT_DEVICES; j++)
input_get_default_mouse (mice, j, i);
firstmouse = false;
}
input_get_default_mouse (mice, joy, i); input_get_default_mouse (mice, joy, i);
joymodes[i] = JSEM_MODE_MOUSE; joymodes[i] = JSEM_MODE_MOUSE;
break; break;
...@@ -4003,7 +4023,7 @@ void inputdevice_default_prefs (struct uae_prefs *p) ...@@ -4003,7 +4023,7 @@ void inputdevice_default_prefs (struct uae_prefs *p)
p->input_autofire_linecnt = 600; p->input_autofire_linecnt = 600;
for (i = 0; i < MAX_INPUT_SETTINGS; i++) { for (i = 0; i < MAX_INPUT_SETTINGS; i++) {
if (i != GAMEPORT_INPUT_SETTINGS) { if (i != GAMEPORT_INPUT_SETTINGS) {
set_kbr_default (p, i); set_kbr_default (p, i, -1);
for (j = 0; j < MAX_INPUT_DEVICES; j++) { for (j = 0; j < MAX_INPUT_DEVICES; j++) {
if (input_get_default_mouse (p->mouse_settings[i], j, j & 1)) if (input_get_default_mouse (p->mouse_settings[i], j, j & 1))
p->mouse_settings[i]->enabled = 1; p->mouse_settings[i]->enabled = 1;
...@@ -4014,7 +4034,7 @@ void inputdevice_default_prefs (struct uae_prefs *p) ...@@ -4014,7 +4034,7 @@ void inputdevice_default_prefs (struct uae_prefs *p)
if (p->jports[0].id != -2 || p->jports[0].id != -2) { if (p->jports[0].id != -2 || p->jports[0].id != -2) {
reset_inputdevice_slot (p, i); reset_inputdevice_slot (p, i);
} }
set_kbr_default (p, i); set_kbr_default (p, i, -1);
} }
} }
} }
......
...@@ -329,7 +329,9 @@ DEFEVENT(SPC_STATESAVE,"Quick save state",AM_K,0,0,AKS_STATESAVEQUICK) ...@@ -329,7 +329,9 @@ DEFEVENT(SPC_STATESAVE,"Quick save state",AM_K,0,0,AKS_STATESAVEQUICK)
DEFEVENT(SPC_STATERESTORE,"Quick restore state",AM_K,0,0,AKS_STATERESTOREQUICK) DEFEVENT(SPC_STATERESTORE,"Quick restore state",AM_K,0,0,AKS_STATERESTOREQUICK)
DEFEVENT(SPC_STATESAVEDIALOG,"Save state",AM_K,0,0,AKS_STATESAVEDIALOG) DEFEVENT(SPC_STATESAVEDIALOG,"Save state",AM_K,0,0,AKS_STATESAVEDIALOG)
DEFEVENT(SPC_STATERESTOREDIALOG,"Restore state",AM_K,0,0,AKS_STATERESTOREDIALOG) DEFEVENT(SPC_STATERESTOREDIALOG,"Restore state",AM_K,0,0,AKS_STATERESTOREDIALOG)
DEFEVENT(SPC_TOGGLEFULLSCREEN,"Toggle windowed/fullscreen",AM_K,0,0,AKS_TOGGLEFULLSCREEN) DEFEVENT(SPC_TOGGLEFULLSCREEN,"Toggle windowed/fullscreen",AM_K,0,0,AKS_TOGGLEWINDOWEDFULLSCREEN)
DEFEVENT(SPC_TOGGLEFULLWINDOWFULLSCREEN,"Toggle full-window/fullscreen",AM_K,0,0,AKS_TOGGLEFULLWINDOWFULLSCREEN)
DEFEVENT(SPC_TOGGLEWINDOWFULLWINDOW,"Toggle window/full-window",AM_K,0,0,AKS_TOGGLEWINDOWFULLWINDOW)
DEFEVENT(SPC_TOGGLEMOUSEGRAB,"Toggle between mouse grabbed and un-grabbed",AM_K,0,0,AKS_TOGGLEMOUSEGRAB) DEFEVENT(SPC_TOGGLEMOUSEGRAB,"Toggle between mouse grabbed and un-grabbed",AM_K,0,0,AKS_TOGGLEMOUSEGRAB)
DEFEVENT(SPC_GLPANLEFT,"Pan opengl texture to the left",AM_K,0,0,AKS_GLPANLEFT) /*Koko*/ DEFEVENT(SPC_GLPANLEFT,"Pan opengl texture to the left",AM_K,0,0,AKS_GLPANLEFT) /*Koko*/
DEFEVENT(SPC_GLPANRIGHT,"Pan opengl texture to the left",AM_K,0,0,AKS_GLPANRIGHT) /*Koko*/ DEFEVENT(SPC_GLPANRIGHT,"Pan opengl texture to the left",AM_K,0,0,AKS_GLPANRIGHT) /*Koko*/
......
This diff is collapsed.
...@@ -729,17 +729,18 @@ out1: ...@@ -729,17 +729,18 @@ out1:
dstgather = 0; dstgather = 0;
} }
#endif #endif
endofline: endofline:
/* now, we have a match */ /* now, we have a match */
if (table68k[opc].mnemo != i_ILLG) if (table68k[opc].mnemo != i_ILLG)
;//write_log ("Double match: %x: %s\n", opc, opcstr); ;//write_log ("Double match: %x: %s\n", opc, opcstr);
if (find == -1) { if (find == -1) {
for (find = 0;; find++) { for (find = 0;; find++) {
if (strcmp(mnemonic, lookuptab[find].name) == 0) { if (strcmp (mnemonic, lookuptab[find].name) == 0) {
table68k[opc].mnemo = lookuptab[find].mnemo; table68k[opc].mnemo = lookuptab[find].mnemo;
break; break;
} }
if (strlen(lookuptab[find].name) == 0) abort(); if (strlen (lookuptab[find].name) == 0)
abort();
} }
} }
else { else {
...@@ -775,7 +776,7 @@ out1: ...@@ -775,7 +776,7 @@ out1:
table68k[opc].flagdead = flagdead; table68k[opc].flagdead = flagdead;
table68k[opc].flaglive = flaglive; table68k[opc].flaglive = flaglive;
table68k[opc].isjmp = isjmp; table68k[opc].isjmp = isjmp;
nomatch: nomatch:
/* FOO! */; /* FOO! */;
} }
} }
...@@ -786,7 +787,7 @@ void read_table68k (void) ...@@ -786,7 +787,7 @@ void read_table68k (void)
int i; int i;
free (table68k); free (table68k);
table68k = (struct instr *)xmalloc (65536 * sizeof (struct instr)); table68k = xmalloc (sizeof (struct instr) * 65536);
for (i = 0; i < 65536; i++) { for (i = 0; i < 65536; i++) {
table68k[i].mnemo = i_ILLG; table68k[i].mnemo = i_ILLG;
table68k[i].handler = -1; table68k[i].handler = -1;
......
...@@ -4,7 +4,7 @@ running configure, to aid debugging if configure makes a mistake. ...@@ -4,7 +4,7 @@ running configure, to aid debugging if configure makes a mistake.
It was created by configure, which was It was created by configure, which was
generated by GNU Autoconf 2.65. Invocation command line was generated by GNU Autoconf 2.65. Invocation command line was
$ ./configure --disable-option-checking --prefix=/usr/local --with-sdl --with-sdl-gl --with-sdl-gfx --with-sdl-sound --with-caps --with-gayle --enable-drvsnd --enable-amax --enable-cd32 --enable-scsi-device --disable-jit --cache-file=/dev/null --srcdir=. $ ./configure --disable-option-checking --prefix=/usr/local --with-sdl --with-sdl-gl --with-sdl-gfx --with-sdl-sound --with-caps --with-gayle --enable-drvsnd --enable-amax --enable-cd32 --enable-scsi-device --cache-file=/dev/null --srcdir=.
## --------- ## ## --------- ##
## Platform. ## ## Platform. ##
...@@ -445,7 +445,7 @@ configure:4344: $? = 0 ...@@ -445,7 +445,7 @@ configure:4344: $? = 0
configure:4344: result: yes configure:4344: result: yes
configure:4350: checking for _doprnt configure:4350: checking for _doprnt
configure:4350: gcc -o conftest -g -O2 -Wall -W -Wno-unused conftest.c >&5 configure:4350: gcc -o conftest -g -O2 -Wall -W -Wno-unused conftest.c >&5
/tmp/cc4EAiYz.o: In function `main': /tmp/ccwoa8am.o: In function `main':
/home/gnostic/puaex/src/tools/conftest.c:67: undefined reference to `_doprnt' /home/gnostic/puaex/src/tools/conftest.c:67: undefined reference to `_doprnt'
collect2: ld returned 1 exit status collect2: ld returned 1 exit status
configure:4350: $? = 1 configure:4350: $? = 1
...@@ -533,7 +533,7 @@ configure:4364: $? = 0 ...@@ -533,7 +533,7 @@ configure:4364: $? = 0
configure:4364: result: yes configure:4364: result: yes
configure:4364: checking for strcmpi configure:4364: checking for strcmpi
configure:4364: gcc -o conftest -g -O2 -Wall -W -Wno-unused conftest.c >&5 configure:4364: gcc -o conftest -g -O2 -Wall -W -Wno-unused conftest.c >&5
/tmp/ccFh4SgP.o: In function `main': /tmp/ccvPJKzx.o: In function `main':
/home/gnostic/puaex/src/tools/conftest.c:69: undefined reference to `strcmpi' /home/gnostic/puaex/src/tools/conftest.c:69: undefined reference to `strcmpi'
collect2: ld returned 1 exit status collect2: ld returned 1 exit status
configure:4364: $? = 1 configure:4364: $? = 1
...@@ -613,7 +613,7 @@ configure: failed program was: ...@@ -613,7 +613,7 @@ configure: failed program was:
configure:4364: result: no configure:4364: result: no
configure:4364: checking for stricmp configure:4364: checking for stricmp
configure:4364: gcc -o conftest -g -O2 -Wall -W -Wno-unused conftest.c >&5 configure:4364: gcc -o conftest -g -O2 -Wall -W -Wno-unused conftest.c >&5
/tmp/ccn7jZ5T.o: In function `main': /tmp/ccIoevFC.o: In function `main':
/home/gnostic/puaex/src/tools/conftest.c:69: undefined reference to `stricmp' /home/gnostic/puaex/src/tools/conftest.c:69: undefined reference to `stricmp'
collect2: ld returned 1 exit status collect2: ld returned 1 exit status
configure:4364: $? = 1 configure:4364: $? = 1
......
...@@ -438,7 +438,7 @@ $config_links ...@@ -438,7 +438,7 @@ $config_links
Report bugs to the package provider." Report bugs to the package provider."
ac_cs_config="'--disable-option-checking' '--prefix=/usr/local' '--with-sdl' '--with-sdl-gl' '--with-sdl-gfx' '--with-sdl-sound' '--with-caps' '--with-gayle' '--enable-drvsnd' '--enable-amax' '--enable-cd32' '--enable-scsi-device' '--disable-jit' '--cache-file=/dev/null' '--srcdir=.'" ac_cs_config="'--disable-option-checking' '--prefix=/usr/local' '--with-sdl' '--with-sdl-gl' '--with-sdl-gfx' '--with-sdl-sound' '--with-caps' '--with-gayle' '--enable-drvsnd' '--enable-amax' '--enable-cd32' '--enable-scsi-device' '--cache-file=/dev/null' '--srcdir=.'"
ac_cs_version="\ ac_cs_version="\
config.status config.status
configured by ./configure, generated by GNU Autoconf 2.65, configured by ./configure, generated by GNU Autoconf 2.65,
...@@ -522,7 +522,7 @@ if $ac_cs_silent; then ...@@ -522,7 +522,7 @@ if $ac_cs_silent; then
fi fi
if $ac_cs_recheck; then if $ac_cs_recheck; then
set X '/bin/bash' './configure' '--disable-option-checking' '--prefix=/usr/local' '--with-sdl' '--with-sdl-gl' '--with-sdl-gfx' '--with-sdl-sound' '--with-caps' '--with-gayle' '--enable-drvsnd' '--enable-amax' '--enable-cd32' '--enable-scsi-device' '--disable-jit' '--cache-file=/dev/null' '--srcdir=.' $ac_configure_extra_args --no-create --no-recursion set X '/bin/bash' './configure' '--disable-option-checking' '--prefix=/usr/local' '--with-sdl' '--with-sdl-gl' '--with-sdl-gfx' '--with-sdl-sound' '--with-caps' '--with-gayle' '--enable-drvsnd' '--enable-amax' '--enable-cd32' '--enable-scsi-device' '--cache-file=/dev/null' '--srcdir=.' $ac_configure_extra_args --no-create --no-recursion
shift shift
$as_echo "running CONFIG_SHELL=/bin/bash $*" >&6 $as_echo "running CONFIG_SHELL=/bin/bash $*" >&6
CONFIG_SHELL='/bin/bash' CONFIG_SHELL='/bin/bash'
......
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