str = cfgfile_subst_path (p->path_rom, UNEXPANDED, p->romextfile);
cfgfile_write (f, "kickstart_ext_rom_file=%s\n", str);
free (str);
- str = cfgfile_subst_path (p->path_rom, UNEXPANDED, p->keyfile);
- cfgfile_write (f, "kickstart_key_file=%s\n", str);
- free (str);
str = cfgfile_subst_path (p->path_rom, UNEXPANDED, p->flashfile);
cfgfile_write (f, "flash_file=%s\n", str);
free (str);
return 1;
if (cfgfile_string (option, value, "kickstart_rom_file", p->romfile, 256)
|| cfgfile_string (option, value, "kickstart_ext_rom_file", p->romextfile, 256)
- || cfgfile_string (option, value, "kickstart_key_file", p->keyfile, 256)
|| cfgfile_string (option, value, "flash_file", p->flashfile, 256)
|| cfgfile_string (option, value, "cart_file", p->cartfile, 256)
|| cfgfile_string (option, value, "pci_devices", p->pci_devices, 256))
subst (p->path_floppy, p->df[i], sizeof p->df[i]);
subst (p->path_rom, p->romfile, sizeof p->romfile);
subst (p->path_rom, p->romextfile, sizeof p->romextfile);
- subst (p->path_rom, p->keyfile, sizeof p->keyfile);
return 1;
}
case '2': strncpy (p->df[2], arg, 255); p->df[2][255] = 0; break;
case '3': strncpy (p->df[3], arg, 255); p->df[3][255] = 0; break;
case 'r': strncpy (p->romfile, arg, 255); p->romfile[255] = 0; break;
- case 'K': strncpy (p->keyfile, arg, 255); p->keyfile[255] = 0; break;
+ case 'K': strncpy (p->romextfile, arg, 255); p->romextfile[255] = 0; break;
case 'p': strncpy (p->prtname, arg, 255); p->prtname[255] = 0; break;
/* case 'I': strncpy (p->sername, arg, 255); p->sername[255] = 0; currprefs.use_serial = 1; break; */
case 'm': case 'M': parse_filesys_spec (c == 'M', arg); break;
strcpy (p->df[3], "df3.adf");
configure_rom (p, roms, 0);
- strcpy (p->keyfile, "");
strcpy (p->romextfile, "");
strcpy (p->flashfile, "");
strcpy (p->cartfile, "");
p->gfxmem_size = 0x00000000;
strcpy (p->romfile, "");
- strcpy (p->keyfile, "");
strcpy (p->romextfile, "");
strcpy (p->flashfile, "");
strcpy (p->cartfile, "");
char dfxlist[MAX_SPARE_DRIVES][256];
char romfile[256];
char romextfile[256];
- char keyfile[256];
char flashfile[256];
char cartfile[256];
char pci_devices[256];
static int load_kickstart (void)
{
struct zfile *f = zfile_fopen (currprefs.romfile, "rb");
- char tmprom[512], tmpkey[512];
+ char tmprom[512];
strcpy (tmprom, currprefs.romfile);
- strcpy (tmpkey, currprefs.keyfile);
if (f == NULL) {
strcpy (currprefs.romfile, "roms/kick.rom");
f = zfile_fopen (currprefs.romfile, "rb");
return 1;
err:
strcpy (currprefs.romfile, tmprom);
- strcpy (currprefs.keyfile, tmpkey);
return 0;
}
allocate_memory ();
if (strcmp (currprefs.romfile, changed_prefs.romfile) != 0
- || strcmp (currprefs.romextfile, changed_prefs.romextfile) != 0
- || strcmp (currprefs.keyfile, changed_prefs.keyfile) != 0)
+ || strcmp (currprefs.romextfile, changed_prefs.romextfile) != 0)
{
ersatzkickfile = 0;
a1000_handle_kickstart (0);
a1000_kickstart_mode = 0;
memcpy (currprefs.romfile, changed_prefs.romfile, sizeof currprefs.romfile);
memcpy (currprefs.romextfile, changed_prefs.romextfile, sizeof currprefs.romextfile);
- memcpy (currprefs.keyfile, changed_prefs.keyfile, sizeof currprefs.keyfile);
if (savestate_state != STATE_RESTORE)
clearexec ();
load_extendedkickstart ();
memset (kickmemory, 0, kickmem_size);
kickmem_bank.baseaddr = kickmemory;
currprefs.romfile[0] = 0;
- currprefs.keyfile[0] = 0;
+ currprefs.romextfile[0] = 0;
#ifdef AUTOCONFIG
init_ersatz_rom (kickmemory);
ersatzkickfile = 1;
#define IDC_CS_CACHE_TEXT 1582
#define IDC_FORCE 1583
#define IDC_COLLISIONS 1584
+#define IDC_CS_JIT 1584
+#define IDC_JITENABLE 1584
#define IDC_DISASSEMBLY 1585
#define IDC_CTRLF11 1586
#define IDC_FASTCOPPER 1588
#define IDC_DF1WPQ 1686
#define IDC_EJECT1Q 1687
#define IDC_DF1TEXTQ 1688
-#define IDC_DF0Q2 1689
-#define IDC_DF1Q2 1690
#define ID__FLOPPYDRIVES 40004
#define ID_FLOPPYDRIVES_DF0 40005
#define ID_ST_CONFIGURATION 40010
COMBOBOX IDC_ROMFILE2,89,31,186,75,CBS_DROPDOWN | CBS_AUTOHSCROLL |
CBS_SORT | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "...",IDC_ROMCHOOSER2,280,30,10,15
- RTEXT "Cartridge ROM File:",IDC_FLASHTEXT2,8,53,75,10
- COMBOBOX IDC_CARTFILE,89,50,186,75,CBS_DROPDOWN | CBS_AUTOHSCROLL |
+ RTEXT "Cartridge ROM File:",IDC_FLASHTEXT2,8,93,75,10
+ COMBOBOX IDC_CARTFILE,89,90,186,75,CBS_DROPDOWN | CBS_AUTOHSCROLL |
CBS_SORT | WS_VSCROLL | WS_TABSTOP
- PUSHBUTTON "...",IDC_CARTCHOOSER,280,50,10,15
+ PUSHBUTTON "...",IDC_CARTCHOOSER,280,90,10,15
GROUPBOX "Misc settings:",-1,5,76,290,57
- RTEXT "Flash RAM File:",IDC_FLASHTEXT,8,90,75,10
- EDITTEXT IDC_FLASHFILE,89,88,185,15,ES_AUTOHSCROLL
- PUSHBUTTON "...",IDC_FLASHCHOOSER,280,88,10,15
+ RTEXT "Flash RAM File:",IDC_FLASHTEXT,8,112,75,10
+ EDITTEXT IDC_FLASHFILE,89,110,185,15,ES_AUTOHSCROLL
+ PUSHBUTTON "...",IDC_FLASHCHOOSER,280,110,10,15
CONTROL "MAPROM emulation",IDC_MAPROM,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,104,114,80,10
+ WS_TABSTOP,95,54,80,10
CONTROL "ShapeShifter support",IDC_KICKSHIFTER,"Button",
- BS_AUTOCHECKBOX | WS_TABSTOP,196,114,80,10
+ BS_AUTOCHECKBOX | WS_TABSTOP,187,54,80,10
END
IDD_DISPLAY DIALOGEX 0, 0, 300, 194
WS_BORDER
END
-IDD_CPU DIALOGEX 0, 0, 300, 175
+IDD_CPU DIALOGEX 0, 0, 300, 191
STYLE DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD
FONT 8, "MS Sans Serif", 0, 0, 0x0
BEGIN
- GROUPBOX "CPU Type:",IDC_STATIC,5,5,80,134,BS_LEFT
+ GROUPBOX "CPU Type:",IDC_STATIC,5,5,81,166,BS_LEFT
CONTROL "68000",IDC_CPU0,"Button",BS_AUTORADIOBUTTON | WS_GROUP |
WS_TABSTOP,10,18,34,10
CONTROL "68010",IDC_CPU1,"Button",BS_AUTORADIOBUTTON |
CONTROL "68040",IDC_CPU6,"Button",BS_AUTORADIOBUTTON |
WS_TABSTOP,10,108,36,10
CONTROL "More compatible",IDC_COMPATIBLE,"Button",
- BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,10,123,
+ BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,10,130,
70,10
GROUPBOX "CPU Emulation Speed:",IDC_STATIC,90,5,205,86
CONTROL "Fastest possible, but maintain chipset timing",
WS_TABSTOP
CONTROL "",IDC_CPUIDLE,"msctls_trackbar32",TBS_AUTOTICKS |
TBS_TOP | WS_TABSTOP,219,66,69,20
- GROUPBOX "JIT Settings:",IDC_STATIC,90,94,205,76
+ GROUPBOX "Advanced JIT settings:",IDC_STATIC,90,92,205,79
RTEXT "Cache Size:",IDC_CS_CACHE_TEXT,95,109,45,10,
SS_CENTERIMAGE | WS_TABSTOP
CONTROL "Slider1",IDC_CACHE,"msctls_trackbar32",TBS_AUTOTICKS |
TBS_TOP | WS_TABSTOP,140,104,115,20
EDITTEXT IDC_CACHETEXT,255,109,30,12,ES_CENTER | ES_READONLY
CONTROL "Hard Flush",IDC_HARDFLUSH,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,100,127,60,10
+ WS_TABSTOP,100,128,60,10
CONTROL "Const Jump",IDC_CONSTJUMP,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,100,141,60,10
+ WS_TABSTOP,100,142,60,10
CONTROL "FPU Support",IDC_JITFPU,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,100,154,60,10
+ WS_TABSTOP,100,155,60,10
CONTROL "Force Settings",IDC_FORCE,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,165,127,61,10
+ WS_TABSTOP,165,128,61,10
CONTROL "No Flags",IDC_NOFLAGS,"Button",BS_AUTOCHECKBOX |
- WS_TABSTOP,165,141,60,10
+ WS_TABSTOP,165,142,60,10
CONTROL "Direct",IDC_TRUST0,"Button",BS_AUTORADIOBUTTON |
- WS_GROUP | WS_TABSTOP,230,127,34,10
+ WS_GROUP | WS_TABSTOP,230,128,34,10
CONTROL "Indirect",IDC_TRUST1,"Button",BS_AUTORADIOBUTTON |
- WS_TABSTOP,230,141,45,10
+ WS_TABSTOP,230,142,45,10
CONTROL "After Picasso96",IDC_TRUST2,"Button",BS_AUTORADIOBUTTON |
- WS_TABSTOP,230,154,64,10
+ WS_TABSTOP,230,155,64,10
+ CONTROL "JIT",IDC_JITENABLE,"Button",BS_AUTOCHECKBOX |
+ WS_TABSTOP,10,145,60,10
END
IDD_FLOPPY DIALOGEX 0, 0, 300, 230
CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
GROUPBOX "Disk Drive",IDC_QUICKSTART_DF,5,126,294,87
LTEXT "Disk Drive DF0:",IDC_STATIC,12,141,56,10,SS_CENTERIMAGE
- PUSHBUTTON "Select Disk Image",IDC_DF0QQ,79,138,84,15
- RTEXT "Write Protected",IDC_STATIC,168,142,58,10,
+ PUSHBUTTON "Select Disk Image",IDC_DF0QQ,79,138,98,15
+ RTEXT "Write Protected",IDC_STATIC,182,142,58,10,
SS_CENTERIMAGE
CONTROL "",IDC_DF0WPQ,"Button",BS_AUTOCHECKBOX | BS_MULTILINE |
- WS_TABSTOP,233,140,10,15
- PUSHBUTTON "Eject",IDC_EJECT0Q,248,139,30,15
- PUSHBUTTON "...",IDC_DF0Q2,282,139,10,15
+ WS_TABSTOP,247,140,10,15
+ PUSHBUTTON "Eject",IDC_EJECT0Q,262,139,30,15
COMBOBOX IDC_DF0TEXTQ,11,157,282,75,CBS_DROPDOWN |
CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
COMBOBOX IDC_DF1TEXTQ,11,193,282,75,CBS_DROPDOWN |
CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
CONTROL "",IDC_DF1WPQ,"Button",BS_AUTOCHECKBOX | BS_MULTILINE |
- WS_TABSTOP,233,176,10,15
- PUSHBUTTON "Eject",IDC_EJECT1Q,248,175,30,15
- PUSHBUTTON "...",IDC_DF1Q2,282,175,10,15
+ WS_TABSTOP,247,176,10,15
+ PUSHBUTTON "Eject",IDC_EJECT1Q,262,175,30,15
CONTROL "Start in Quickstart-mode",IDC_QUICKSTARTMODE,"Button",
BS_AUTOCHECKBOX | BS_LEFT | WS_TABSTOP,202,221,94,10
COMBOBOX IDC_QUICKSTART_HOSTCONFIG,67,103,225,50,CBS_DROPDOWNLIST |
GROUPBOX "Host configuration",IDC_QUICKSTART_HOST,5,91,294,33
RTEXT "Configuration:",IDC_STATIC,7,105,55,10,SS_CENTERIMAGE
LTEXT "Disk Drive DF1:",IDC_STATIC,12,179,56,10,SS_CENTERIMAGE
- PUSHBUTTON "Select Disk Image",IDC_DF1QQ,79,175,84,15
- RTEXT "Write Protected",IDC_STATIC,168,178,58,10,
+ PUSHBUTTON "Select Disk Image",IDC_DF1QQ,79,175,98,15
+ RTEXT "Write Protected",IDC_STATIC,182,178,58,10,
SS_CENTERIMAGE
END
#ifdef APSTUDIO_INVOKED
GUIDELINES DESIGNINFO
BEGIN
+ IDD_CPU, DIALOG
+ BEGIN
+ BOTTOMMARGIN, 175
+ END
+
IDD_HARDDISK, DIALOG
BEGIN
BOTTOMMARGIN, 175
IDD_QUICKSTART, DIALOG
BEGIN
RIGHTMARGIN, 299
- BOTTOMMARGIN, 223
END
END
#endif // APSTUDIO_INVOKED
extern int manual_palette_refresh_needed;
extern int mouseactive, focus;
#define WINUAEBETA 1
-#define WINUAEBETASTR " Beta 1.5"
+#define WINUAEBETASTR " Beta 2"
extern void my_kbd_handler (int, int, int);
extern void clearallkeys(void);
ok = 1;
}
if (ok) strcat (p, "available"); else strcat (p, "unavailable");
-
+/*
ok = 0;
strcat (p, "\nCDTV: ");
roms[0] = 20; roms[1] = 21; roms[2] = 22; roms[3] = -1;
ok = 1;
}
if (ok) strcat (p, "available"); else strcat (p, "unavailable");
-
+*/
pre_gui_message (p);
free (p);
}
break;
case IDC_DF0:
case IDC_DF0QQ:
- case IDC_DF0Q2:
SetDlgItemText (hDlg, IDC_DF0TEXT, full_path);
strcpy( prefs->df[0], full_path );
DISK_history_add (full_path, -1);
break;
case IDC_DF1:
case IDC_DF1QQ:
- case IDC_DF1Q2:
SetDlgItemText (hDlg, IDC_DF1TEXT, full_path);
strcpy( prefs->df[1], full_path );
DISK_history_add (full_path, -1);
"Medium compatibility, very fast CPU emulation",
"Low compatibility, very fast CPU emulation"
},
+/*
{ "CDTV",
"High compatibility (incomplete)",
"Medium compatibility (incomplete)",
"Low compatiblity (incomplete)"
},
+*/
{ 0 }
};
char *name;
};
static struct amigaconfig aconf[] = {
- { 0, "", "KS 1.3, ECS Agnus, 0.5M Chip + 0.5M Slow" },
+ { 0, "", "KS 1.3, ECS Agnus, 0.5M Chip + 0.5M Slow (most common)" },
{ 0, "", "KS 1.3, OCS Agnus, 0.5M Chip" },
{ 0, "", "KS 1.3, ECS Agnus, 1.0M Chip" },
{ 0, "", "KS 1.2, OCS Agnus, 0.5M Chip" },
{ 2, "", "2.0M Chip + 4.0M Fast" },
{ 3, "", "CD32" },
-
+/*
{ 4, "", "CDTV" },
-
+*/
{ -1 }
};
case IDC_DF0WPQ:
case IDC_EJECT0Q:
case IDC_DF0QQ:
- case IDC_DF0Q2:
case IDC_DF1TEXTQ:
case IDC_DF1WPQ:
case IDC_EJECT1Q:
case IDC_DF1QQ:
- case IDC_DF1Q2:
ret = FloppyDlgProc (hDlg, msg, wParam, lParam);
break;
}
BOOL enable = FALSE, enable2 = FALSE;
BOOL cpu_based_enable = FALSE;
- EnableWindow (GetDlgItem (hDlg, IDC_COMPATIBLE), !workprefs.cpu_cycle_exact && !workprefs.cachesize);
/* These four items only get enabled when adjustable CPU style is enabled */
EnableWindow (GetDlgItem (hDlg, IDC_SPEED), workprefs.m68k_speed > 0);
EnableWindow (GetDlgItem (hDlg, IDC_CS_CPU_TEXT), workprefs.m68k_speed > 0);
EnableWindow( GetDlgItem( hDlg, IDC_CONSTJUMP ), enable2 );
EnableWindow( GetDlgItem( hDlg, IDC_JITFPU ), enable2 );
EnableWindow( GetDlgItem( hDlg, IDC_NOFLAGS ), enable2 );
- EnableWindow( GetDlgItem( hDlg, IDC_CS_CACHE_TEXT ), cpu_based_enable );
- EnableWindow( GetDlgItem( hDlg, IDC_CACHE ), cpu_based_enable );
- EnableWindow( GetDlgItem( hDlg, IDC_CACHETEXT ), cpu_based_enable );
+ EnableWindow( GetDlgItem( hDlg, IDC_CS_CACHE_TEXT ), cpu_based_enable && workprefs.cachesize );
+ EnableWindow( GetDlgItem( hDlg, IDC_CACHE ), cpu_based_enable && workprefs.cachesize );
+ EnableWindow( GetDlgItem( hDlg, IDC_CACHETEXT ), cpu_based_enable && workprefs.cachesize );
EnableWindow( GetDlgItem( hDlg, IDC_FORCE ), enable );
+ EnableWindow( GetDlgItem( hDlg, IDC_JITENABLE ), cpu_based_enable );
+ EnableWindow (GetDlgItem (hDlg, IDC_COMPATIBLE), !workprefs.cpu_cycle_exact && !workprefs.cachesize);
#ifdef JIT
if( enable )
CheckDlgButton( hDlg, IDC_JITFPU, workprefs.compfpu );
CheckDlgButton( hDlg, IDC_HARDFLUSH, workprefs.comp_hardflush );
CheckDlgButton( hDlg, IDC_CONSTJUMP, workprefs.comp_constjump );
+ CheckDlgButton( hDlg, IDC_JITENABLE, workprefs.cachesize > 0);
}
static void values_from_cpudlg (HWND hDlg)
{
- int newcpu, newtrust, oldcache;
+ int newcpu, newtrust, oldcache, jitena;
workprefs.cpu_compatible = workprefs.cpu_cycle_exact | (IsDlgButtonChecked (hDlg, IDC_COMPATIBLE) ? 1 : 0);
workprefs.m68k_speed = IsDlgButtonChecked (hDlg, IDC_CS_HOST) ? -1
workprefs.comp_hardflush = IsDlgButtonChecked( hDlg, IDC_HARDFLUSH );
workprefs.comp_constjump = IsDlgButtonChecked( hDlg, IDC_CONSTJUMP );
+#ifdef JIT
oldcache = workprefs.cachesize;
+ jitena = IsDlgButtonChecked (hDlg, IDC_JITENABLE) ? 1 : 0;
workprefs.cachesize = SendMessage(GetDlgItem(hDlg, IDC_CACHE), TBM_GETPOS, 0, 0) * 1024;
-#ifdef JIT
+ if (!jitena)
+ workprefs.cachesize = 0;
+ else if (jitena && !oldcache)
+ workprefs.cachesize = 8192;
if (oldcache == 0 && workprefs.cachesize > 0)
canbang = 1;
#endif
SetDlgItemText (hDlg, IDC_FLOPPYSPDTEXT, txt);
}
-#define BUTTONSPERFLOPPY 6
+#define BUTTONSPERFLOPPY 5
static int floppybuttons[][BUTTONSPERFLOPPY] = {
- { IDC_DF0TEXT,IDC_DF0,IDC_EJECT0,IDC_DF0TYPE,IDC_DF0WP,-1 },
- { IDC_DF1TEXT,IDC_DF1,IDC_EJECT1,IDC_DF1TYPE,IDC_DF1WP,-1 },
- { IDC_DF2TEXT,IDC_DF2,IDC_EJECT2,IDC_DF2TYPE,IDC_DF2WP,-1 },
- { IDC_DF3TEXT,IDC_DF3,IDC_EJECT3,IDC_DF3TYPE,IDC_DF3WP,-1 }
+ { IDC_DF0TEXT,IDC_DF0,IDC_EJECT0,IDC_DF0TYPE,IDC_DF0WP },
+ { IDC_DF1TEXT,IDC_DF1,IDC_EJECT1,IDC_DF1TYPE,IDC_DF1WP },
+ { IDC_DF2TEXT,IDC_DF2,IDC_EJECT2,IDC_DF2TYPE,IDC_DF2WP },
+ { IDC_DF3TEXT,IDC_DF3,IDC_EJECT3,IDC_DF3TYPE,IDC_DF3WP }
};
static int floppybuttonsq[][BUTTONSPERFLOPPY] = {
- { IDC_DF0TEXTQ,IDC_DF0Q2,IDC_EJECT0Q,-1,IDC_DF0WPQ,IDC_DF0QQ },
- { IDC_DF1TEXTQ,IDC_DF1Q2,IDC_EJECT1Q,-1,IDC_DF1WPQ,IDC_DF1QQ },
- { -1,-1,-1,-1,-1,-1 },
- { -1,-1,-1,-1,-1,-1 }
+ { IDC_DF0TEXTQ,IDC_DF0QQ,IDC_EJECT0Q,-1,IDC_DF0WPQ },
+ { IDC_DF1TEXTQ,IDC_DF1QQ,IDC_EJECT1Q,-1,IDC_DF1WPQ },
+ { -1,-1,-1,-1,-1 },
+ { -1,-1,-1,-1,-1 }
};
static void addfloppytype (HWND hDlg, int n)
int f_driveq = floppybuttonsq[n][1];
int f_ejectq = floppybuttonsq[n][2];
int f_wpq = floppybuttonsq[n][4];
- int f_driveqq = floppybuttonsq[n][5];
int nn = workprefs.dfxtype[n] + 1;
int state, i, chk;
EnableWindow(GetDlgItem(hDlg, f_drive), state);
if (f_driveq >= 0)
EnableWindow(GetDlgItem(hDlg, f_driveq), state);
- if (f_driveqq >= 0)
- EnableWindow(GetDlgItem(hDlg, f_driveqq), state);
chk = disk_getwriteprotect (workprefs.df[n]) && state == TRUE ? BST_CHECKED : 0;
CheckDlgButton(hDlg, f_wp, chk);
if (f_wpq >= 0)
break;
case IDC_DF0:
case IDC_DF0QQ:
- case IDC_DF0Q2:
DiskSelection (hDlg, wParam, 0, &workprefs, 0);
disk_insert (0, workprefs.df[0]);
addfloppytype (hDlg, 0);
break;
case IDC_DF1:
case IDC_DF1QQ:
- case IDC_DF1Q2:
DiskSelection (hDlg, wParam, 0, &workprefs, 0);
disk_insert (1, workprefs.df[1]);
addfloppytype (hDlg, 1);
case ZFILE_ROM:
strcpy (prefs->romfile, file);
break;
- case ZFILE_KEY:
- strcpy (prefs->keyfile, file);
- break;
case ZFILE_NVR:
strcpy (prefs->flashfile, file);
break;