Commit 850759c4 authored by mtufan's avatar mtufan

puae 2.3.2

parent 45efada1
This diff is collapsed.
...@@ -3616,7 +3616,7 @@ static void BPLCON0 (int hpos, uae_u16 v) ...@@ -3616,7 +3616,7 @@ static void BPLCON0 (int hpos, uae_u16 v)
if (! (currprefs.chipset_mask & CSMASK_ECS_DENISE)) if (! (currprefs.chipset_mask & CSMASK_ECS_DENISE))
v &= ~0x00F1; v &= ~0x00F1;
else if (! (currprefs.chipset_mask & CSMASK_AGA)) else if (! (currprefs.chipset_mask & CSMASK_AGA))
v &= ~0x00B1; v &= ~0x00B0;
v &= ~(0x0200 | 0x0100 | 0x0080 | 0x0020); v &= ~(0x0200 | 0x0100 | 0x0080 | 0x0020);
#if SPRBORDER #if SPRBORDER
......
...@@ -1197,7 +1197,8 @@ static uae_u32 gayle2_read (uaecptr addr) ...@@ -1197,7 +1197,8 @@ static uae_u32 gayle2_read (uaecptr addr)
addr &= 0xffff; addr &= 0xffff;
if (addr == 0x1000) { if (addr == 0x1000) {
/* Gayle ID */ /* Gayle ID */
if (gayle_id_cnt == 0 || gayle_id_cnt == 1 || gayle_id_cnt == 3 || ((currprefs.chipset_mask & CSMASK_AGA) && gayle_id_cnt == 7)) if (gayle_id_cnt == 0 || gayle_id_cnt == 1 || gayle_id_cnt == 3 || ((currprefs.chipset_mask & CSMASK_AGA) && gayle_id_cnt == 7) ||
(currprefs.cs_cd32cd && !currprefs.cs_ide && !currprefs.cs_pcmcia && gayle_id_cnt == 2))
v = 0x80; v = 0x80;
else else
v = 0x00; v = 0x00;
......
This diff is collapsed.
...@@ -37,6 +37,7 @@ struct strlist { ...@@ -37,6 +37,7 @@ struct strlist {
#define MAX_INPUT_SETTINGS 4 #define MAX_INPUT_SETTINGS 4
#define GAMEPORT_INPUT_SETTINGS 3 // last slot is for gameport panel mappings #define GAMEPORT_INPUT_SETTINGS 3 // last slot is for gameport panel mappings
#define MAX_INPUT_SUB_EVENT 4 #define MAX_INPUT_SUB_EVENT 4
#define MAX_INPUT_SUB_EVENT_ALL 5
#define SPARE_SUB_EVENT 4 #define SPARE_SUB_EVENT 4
// this better be here than in sound.h -mustafa. // this better be here than in sound.h -mustafa.
...@@ -50,10 +51,10 @@ struct strlist { ...@@ -50,10 +51,10 @@ struct strlist {
struct uae_input_device { struct uae_input_device {
TCHAR *name; TCHAR *name;
TCHAR *configname; TCHAR *configname;
uae_s16 eventid[MAX_INPUT_DEVICE_EVENTS][MAX_INPUT_SUB_EVENT + 1]; uae_s16 eventid[MAX_INPUT_DEVICE_EVENTS][MAX_INPUT_SUB_EVENT_ALL];
TCHAR *custom[MAX_INPUT_DEVICE_EVENTS][MAX_INPUT_SUB_EVENT + 1]; TCHAR *custom[MAX_INPUT_DEVICE_EVENTS][MAX_INPUT_SUB_EVENT_ALL];
uae_u16 flags[MAX_INPUT_DEVICE_EVENTS][MAX_INPUT_SUB_EVENT + 1]; uae_u16 flags[MAX_INPUT_DEVICE_EVENTS][MAX_INPUT_SUB_EVENT_ALL];
uae_s8 port[MAX_INPUT_DEVICE_EVENTS][MAX_INPUT_SUB_EVENT + 1]; uae_s8 port[MAX_INPUT_DEVICE_EVENTS][MAX_INPUT_SUB_EVENT_ALL];
uae_s16 extra[MAX_INPUT_DEVICE_EVENTS]; uae_s16 extra[MAX_INPUT_DEVICE_EVENTS];
uae_s8 enabled; uae_s8 enabled;
}; };
...@@ -152,6 +153,7 @@ struct uae_prefs { ...@@ -152,6 +153,7 @@ struct uae_prefs {
int config_version; int config_version;
TCHAR config_hardware_path[MAX_DPATH]; TCHAR config_hardware_path[MAX_DPATH];
TCHAR config_host_path[MAX_DPATH]; TCHAR config_host_path[MAX_DPATH];
TCHAR config_window_title[256];
bool illegal_mem; bool illegal_mem;
bool use_serial; bool use_serial;
......
...@@ -350,7 +350,7 @@ static void kbrlabel (TCHAR *s) ...@@ -350,7 +350,7 @@ static void kbrlabel (TCHAR *s)
} }
} }
static void write_config2 (struct zfile *f, int idnum, int i, int offset, TCHAR *tmp1, struct uae_input_device *id) static void write_config2 (struct zfile *f, int idnum, int i, int offset, const TCHAR *extra, struct uae_input_device *id)
{ {
TCHAR tmp2[200], tmp3[200], *p; TCHAR tmp2[200], tmp3[200], *p;
int evt, got, j, k; int evt, got, j, k;
...@@ -360,6 +360,7 @@ static void write_config2 (struct zfile *f, int idnum, int i, int offset, TCHAR ...@@ -360,6 +360,7 @@ static void write_config2 (struct zfile *f, int idnum, int i, int offset, TCHAR
int *slotorder; int *slotorder;
int io = i + offset; int io = i + offset;
tmp2[0] = 0;
p = tmp2; p = tmp2;
got = 0; got = 0;
...@@ -404,7 +405,7 @@ static void write_config2 (struct zfile *f, int idnum, int i, int offset, TCHAR ...@@ -404,7 +405,7 @@ static void write_config2 (struct zfile *f, int idnum, int i, int offset, TCHAR
} }
} }
if (p > tmp2) { if (p > tmp2) {
_stprintf (tmp3, "input.%d.%s%d", idnum + 1, tmp1, i); _stprintf (tmp3, "input.%d.%s%d", idnum + 1, extra, i);
cfgfile_write_str (f, tmp3, tmp2); cfgfile_write_str (f, tmp3, tmp2);
} }
} }
...@@ -460,8 +461,8 @@ static void write_kbr_config (struct zfile *f, int idnum, int devnum, struct uae ...@@ -460,8 +461,8 @@ static void write_kbr_config (struct zfile *f, int idnum, int devnum, struct uae
i++; i++;
continue; continue;
} }
tmp2[0] = 0;
p = tmp2; p = tmp2;
p[0] = 0;
for (j = 0; j < MAX_INPUT_SUB_EVENT; j++) { for (j = 0; j < MAX_INPUT_SUB_EVENT; j++) {
TCHAR *custom = kbr->custom[i][slotorder[j]]; TCHAR *custom = kbr->custom[i][slotorder[j]];
evt = kbr->eventid[i][slotorder[j]]; evt = kbr->eventid[i][slotorder[j]];
...@@ -583,7 +584,7 @@ static void reset_inputdevice_settings (struct uae_input_device *uid) ...@@ -583,7 +584,7 @@ static void reset_inputdevice_settings (struct uae_input_device *uid)
{ {
unsigned int l,i; unsigned int l,i;
for (l = 0; l < MAX_INPUT_DEVICE_EVENTS; l++) { for (l = 0; l < MAX_INPUT_DEVICE_EVENTS; l++) {
for (i = 0; i < MAX_INPUT_SUB_EVENT; i++) { for (i = 0; i < MAX_INPUT_SUB_EVENT_ALL; i++) {
uid->eventid[l][i] = 0; uid->eventid[l][i] = 0;
uid->flags[l][i] = 0; uid->flags[l][i] = 0;
xfree (uid->custom[l][i]); xfree (uid->custom[l][i]);
...@@ -665,7 +666,7 @@ static void clear_id (struct uae_input_device *id) ...@@ -665,7 +666,7 @@ static void clear_id (struct uae_input_device *id)
#ifndef _DEBUG #ifndef _DEBUG
int i, j; int i, j;
for (i = 0; i < MAX_INPUT_DEVICE_EVENTS; i++) { for (i = 0; i < MAX_INPUT_DEVICE_EVENTS; i++) {
for (j = 0; j < MAX_INPUT_SUB_EVENT; j++) for (j = 0; j < MAX_INPUT_SUB_EVENT_ALL; j++)
xfree (id->custom[i][j]); xfree (id->custom[i][j]);
} }
#endif #endif
...@@ -5856,7 +5857,6 @@ uae_u8 *save_inputstate (int *len, uae_u8 *dstptr) ...@@ -5856,7 +5857,6 @@ uae_u8 *save_inputstate (int *len, uae_u8 *dstptr)
uae_u8 *restore_inputstate (uae_u8 *src) uae_u8 *restore_inputstate (uae_u8 *src)
{ {
unsigned int i, j; unsigned int i, j;
for (i = 0; i < MAX_JPORTS; i++) { for (i = 0; i < MAX_JPORTS; i++) {
joydir[i] = restore_u16 (); joydir[i] = restore_u16 ();
joybutton[i] = restore_u16 (); joybutton[i] = restore_u16 ();
......
...@@ -404,6 +404,13 @@ void fixup_prefs (struct uae_prefs *p) ...@@ -404,6 +404,13 @@ void fixup_prefs (struct uae_prefs *p)
p->cs_ramseyrev = 0x0f; p->cs_ramseyrev = 0x0f;
p->cs_mbdmac = 0; p->cs_mbdmac = 0;
} }
} else if (p->cs_compatible == 0) {
if (p->cs_ide == IDE_A4000) {
if (p->cs_fatgaryrev < 0)
p->cs_fatgaryrev = 0;
if (p->cs_ramseyrev < 0)
p->cs_ramseyrev = 0x0f;
}
} }
fixup_prefs_dimensions (p); fixup_prefs_dimensions (p);
......
...@@ -265,7 +265,6 @@ static bool check_trace (void) ...@@ -265,7 +265,6 @@ static bool check_trace (void)
static bool get_trace (uaecptr addr, int accessmode, int size, uae_u32 *data) static bool get_trace (uaecptr addr, int accessmode, int size, uae_u32 *data)
{ {
unsigned int i; unsigned int i;
int mode = accessmode | (size << 4); int mode = accessmode | (size << 4);
for (i = 0; i < cputrace.memoryoffset; i++) { for (i = 0; i < cputrace.memoryoffset; i++) {
struct cputracememory *ctm = &cputrace.ctm[i]; struct cputracememory *ctm = &cputrace.ctm[i];
......
...@@ -30,7 +30,7 @@ int nr_cpuop_funcs; ...@@ -30,7 +30,7 @@ int nr_cpuop_funcs;
struct mnemolookup lookuptab[] = { struct mnemolookup lookuptab[] = {
{ i_ILLG, "ILLEGAL", "ILLEGAL" }, { i_ILLG, "ILLEGAL", "ILLEGAL" },
{ i_OR, "OR", "OR" }, { i_OR, "OR", "OR" },
{ i_CHK, "CHK", "CHK" }, { i_CHK, "CHK", "CHK" },
{ i_CHK2, "CHK2", "CHK2" }, { i_CHK2, "CHK2", "CHK2" },
{ i_AND, "AND", "AND" }, { i_AND, "AND", "AND" },
......
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