From: Toni Wilen Date: Mon, 21 Jun 2010 19:40:14 +0000 (+0300) Subject: 2200 final rc X-Git-Tag: 2200~7 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=088d3d35bf78fcc686ef272c7f4d78a5112b26ad;p=francis%2Fwinuae.git 2200 final rc --- diff --git a/akiko.cpp b/akiko.cpp index fda832f4..d2897267 100644 --- a/akiko.cpp +++ b/akiko.cpp @@ -713,7 +713,7 @@ static int sys_cddev_open (void) sys_command_close (DF_IOCTL, unitnum); return 1; } - if (!sys_command_ismedia (DF_IOCTL, unitnum, 0)) + if (sys_command_ismedia (DF_IOCTL, unitnum, 0) <= 0) cd_hunt = 1; write_log (L"using drive %s (unit %d, media %d)\n", di2->label, unitnum, di2->media_inserted); /* make sure CD audio is not playing */ @@ -788,7 +788,7 @@ static int cdrom_command_led (void) static int cdrom_command_media_status (void) { cdrom_result_buffer[0] = 0x0a; - cdrom_result_buffer[1] = sys_command_ismedia (DF_IOCTL, unitnum, 0) ? 0x83: 0x80; + cdrom_result_buffer[1] = sys_command_ismedia (DF_IOCTL, unitnum, 0) > 0 ? 0x83: 0x80; return 2; } @@ -1150,8 +1150,16 @@ static void do_hunt (void) if (sys_command_ismedia (DF_IOCTL, i, 1) > 0) break; } - if (i == MAX_TOTAL_DEVICES) - return; + if (i == MAX_TOTAL_DEVICES) { + if (unitnum >= 0 && sys_command_ismedia (DF_IOCTL, unitnum, 1) >= 0) + return; + for (i = 0; i < MAX_TOTAL_DEVICES; i++) { + if (sys_command_ismedia (DF_IOCTL, i, 1) >= 0) + break; + } + if (i == MAX_TOTAL_DEVICES) + return; + } if (unitnum >= 0) { int ou = unitnum; unitnum = -1; @@ -1288,10 +1296,16 @@ static void *akiko_thread (void *null) } if (mediacheckcounter <= 0) { - int media = sys_command_ismedia (DF_IOCTL, unitnum, 1); mediacheckcounter = 312 * 50 * 2; - if (media != lastmediastate) { - write_log (L"media changed = %d\n", media); + int media = sys_command_ismedia (DF_IOCTL, unitnum, 1); + if (media < 0) { + cd_hunt = 1; + write_log (L"CD32: device unit %d lost\n", unitnum); + media = lastmediastate = cdrom_disk = 0; + mediachanged = 1; + cdaudiostop_do (); + } else if (media != lastmediastate) { + write_log (L"CD32: media changed = %d (hunt=%d)\n", media, cd_hunt); lastmediastate = cdrom_disk = media; mediachanged = 1; cdaudiostop_do (); diff --git a/blkdev.cpp b/blkdev.cpp index 523ee268..aaa1c204 100644 --- a/blkdev.cpp +++ b/blkdev.cpp @@ -16,6 +16,8 @@ static struct device_functions *device_func[2]; static int have_ioctl; +static int openlist[MAX_TOTAL_DEVICES]; +static int forcedunit = -1; #ifdef _WIN32 @@ -53,26 +55,40 @@ static void install_driver (int flags) } #endif +int sys_command_isopen (int unitnum) +{ + return openlist[unitnum]; +} + +void sys_command_setunit (int unitnum) +{ + forcedunit = unitnum; +} + int sys_command_open (int mode, int unitnum) { + int ret = 0; if (mode == DF_SCSI || !have_ioctl) { - if (device_func[DF_SCSI] == NULL) - return 0; - return device_func[DF_SCSI]->opendev (unitnum); + if (device_func[DF_SCSI] != NULL) + ret = device_func[DF_SCSI]->opendev (unitnum); } else { - return device_func[DF_IOCTL]->opendev (unitnum); + ret = device_func[DF_IOCTL]->opendev (unitnum); } + if (ret) + openlist[unitnum]++; + return ret; } void sys_command_close (int mode, int unitnum) { if (mode == DF_SCSI || !have_ioctl) { - if (device_func[DF_SCSI] == NULL) - return; - device_func[DF_SCSI]->closedev (unitnum); + if (device_func[DF_SCSI] != NULL) + device_func[DF_SCSI]->closedev (unitnum); } else { device_func[DF_IOCTL]->closedev (unitnum); } + if (openlist[unitnum] > 0) + openlist[unitnum]--; } void device_func_reset (void) @@ -85,6 +101,7 @@ int device_func_init (int flags) int support_scsi = 0, support_ioctl = 0; int oflags = (flags & DEVICE_TYPE_SCSI) ? 0 : (1 << INQ_ROMD); + forcedunit = -1; install_driver (flags); if (device_func[DF_IOCTL]) have_ioctl = 1; @@ -254,6 +271,11 @@ int sys_command_ismedia (int mode, int unitnum, int quick) { struct device_info di; + if (forcedunit >= 0) { + if (unitnum != forcedunit) + return -1; + } + if (mode == DF_SCSI || !have_ioctl || !device_func[DF_IOCTL]->ismedia) { if (quick) return -1; diff --git a/blkdev_cdimage.cpp b/blkdev_cdimage.cpp index a41677f9..aab297c9 100644 --- a/blkdev_cdimage.cpp +++ b/blkdev_cdimage.cpp @@ -523,18 +523,25 @@ static void cdda_stop (void) static int command_pause (int unitnum, int paused) { + if (unitnum) + return 0; cdda_paused = paused; return 1; } static int command_stop (int unitnum) { + if (unitnum) + return 0; cdda_stop (); return 1; } static int command_play (int unitnum, uae_u32 start, uae_u32 end, int scan) { + if (unitnum) + return 0; + cdda_paused = 0; cdda_play_finished = 0; cdda_start = msf2lsn (start); @@ -555,6 +562,9 @@ static uae_u8 *command_qcode (int unitnum) int start, end; int status; + if (unitnum) + return NULL; + memset (buf, 0, sizeof buf); p = buf; @@ -612,6 +622,9 @@ uae_u8 *command_rawread (int unitnum, int sector, int sectorsize) { struct cdtoc *t = findtoc (§or); int offset; + + if (unitnum) + return NULL; if (!t || t->handle == NULL) return NULL; @@ -630,6 +643,9 @@ static uae_u8 *command_read (int unitnum, int sector) { struct cdtoc *t = findtoc (§or); int offset; + + if (unitnum) + return NULL; if (!t || t->handle == NULL) return NULL; cdda_stop (); @@ -648,6 +664,8 @@ static uae_u8 *command_toc (int unitnum) int i; uae_u32 msf; + if (unitnum) + return NULL; cdda_stop (); if (!tracks) return NULL; @@ -1047,14 +1065,43 @@ void cdimage_vsync (void) _tcscpy (changed_prefs.cdimagefile, newfile); newfile[0] = 0; write_log (L"CD: delayed insert '%s'\n", currprefs.cdimagefile[0] ? currprefs.cdimagefile : L""); - donotmountme = true; - int un = scsi_do_disk_device_change (); - donotmountme = false; - if (un < 0) { - device_func_init (DEVICE_TYPE_ANY); // active us again - parse_image (); - media = tracks > 0; - scsi_do_disk_change (255, 1); + if (currprefs.scsi) { + donotmountme = true; + int un = scsi_do_disk_device_change (); + donotmountme = false; + if (un < 0) { + device_func_init (DEVICE_TYPE_ANY); // activate us again + parse_image (); + media = tracks > 0; + scsi_do_disk_change (255, 1); + } + } else { + bool sel = false; + donotmountme = true; + device_func_init (DEVICE_TYPE_ANY); + for (int i = 0; i < MAX_TOTAL_DEVICES && !sel; i++) { + int opened = sys_command_isopen (i); + struct device_info *discsi, discsi2; + discsi = 0; + if (sys_command_open (DF_IOCTL, i)) { + discsi = sys_command_info (DF_IOCTL, i, &discsi2); + if (discsi && discsi->type == INQ_ROMD) { + if (!_tcsicmp (currprefs.cdimagefile, discsi->label)) { + sys_command_setunit (i); + write_log (L"Drive '%s' (unit=%d) selected (media=%d)\n", discsi->label, i, discsi->media_inserted); + sel = true; + } + } + } + } + donotmountme = false; + if (!sel) { + sys_command_setunit (0); + device_func_init (DEVICE_TYPE_ANY); // activate us again + parse_image (); + media = tracks > 0; + write_log (L"IMG_EMU (%s) selected (media=%d)\n", currprefs.cdimagefile, media); + } } #ifdef RETROPLATFORM rp_cd_image_change (0, media ? currprefs.cdimagefile : NULL); @@ -1065,7 +1112,7 @@ void cdimage_vsync (void) static int ismedia (int unitnum, int quick) { if (unitnum) - return 0; + return -1; return tracks > 0 ? 1 : 0; } diff --git a/cdtv.cpp b/cdtv.cpp index d85f8894..7949b865 100644 --- a/cdtv.cpp +++ b/cdtv.cpp @@ -367,7 +367,7 @@ static int cdrom_info (uae_u8 *out) uae_u32 size; int i; - if (!ismedia ()) + if (ismedia () <= 0) return -1; cd_motor = 1; out[0] = cdrom_toc[2]; @@ -390,7 +390,7 @@ static int read_toc (int track, int msflsn, uae_u8 *out) uae_u8 *buf = cdrom_toc, *s; int i, j; - if (!ismedia ()) + if (ismedia () <= 0) return -1; if (!out) return 0; @@ -688,8 +688,14 @@ static void *dev_thread (void *p) break; case 0x0101: { - if (ismedia () != cd_media) { - cd_media = ismedia (); + int m = ismedia (); + if (m < 0) { + write_log (L"CDTV: device lost\n"); + activate_stch = 1; + cd_hunt = 1; + cd_media = 0; + } else if (m != cd_media) { + cd_media = m; get_toc (); activate_stch = 1; if (cd_playing) @@ -883,8 +889,16 @@ static void do_hunt (void) if (sys_command_ismedia (DF_IOCTL, i, 1) > 0) break; } - if (i == MAX_TOTAL_DEVICES) - return; + if (i == MAX_TOTAL_DEVICES) { + if (unitnum >= 0 && sys_command_ismedia (DF_IOCTL, unitnum, 1) >= 0) + return; + for (i = 0; i < MAX_TOTAL_DEVICES; i++) { + if (sys_command_ismedia (DF_IOCTL, i, 1) >= 0) + break; + } + if (i == MAX_TOTAL_DEVICES) + return; + } if (unitnum >= 0) { cdaudiostop (); sys_command_close (DF_IOCTL, unitnum); diff --git a/include/blkdev.h b/include/blkdev.h index 7b618347..6c67714e 100644 --- a/include/blkdev.h +++ b/include/blkdev.h @@ -121,6 +121,8 @@ extern int device_func_init(int flags); extern void device_func_reset(void); extern int sys_command_open (int mode, int unitnum); extern void sys_command_close (int mode, int unitnum); +extern int sys_command_isopen (int unitnum); +extern void sys_command_setunit (int unitnum); extern struct device_info *sys_command_info (int mode, int unitnum, struct device_info *di); extern struct device_scsi_info *sys_command_scsi_info (int mode, int unitnum, struct device_scsi_info *di); extern void sys_command_cd_pause (int mode, int unitnum, int paused); diff --git a/od-win32/WinUAE_Install.nsi b/od-win32/WinUAE_Install.nsi index cc3ef023..93550ded 100644 --- a/od-win32/WinUAE_Install.nsi +++ b/od-win32/WinUAE_Install.nsi @@ -1,5 +1,5 @@ !define PRODUCT_NAME "WinUAE" -!define PRODUCT_VERSION "2.1.0" +!define PRODUCT_VERSION "2.2.0" !define PRODUCT_PUBLISHER "Arabuusimiehet" !define PRODUCT_WEB_SITE "http://www.winuae.net/" !define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\winuae.exe" diff --git a/od-win32/blkdev_win32_ioctl.cpp b/od-win32/blkdev_win32_ioctl.cpp index 6ed1cdba..c6102081 100644 --- a/od-win32/blkdev_win32_ioctl.cpp +++ b/od-win32/blkdev_win32_ioctl.cpp @@ -78,6 +78,27 @@ static void reseterrormode (int unitnum) static void close_device (int unitnum); static int open_device (int unitnum); +static int unitcheck (int unitnum) +{ + if (unitnum >= MAX_TOTAL_DEVICES) { + if (unitnum < 'A' || unitnum > 'Z') + return 0; + return 1; + } + if (ciw32[unitnum].drvletter == 0) + return 0; + return 1; +} + +static bool unitisopen (int unitnum) +{ + if (!unitcheck (unitnum)) + return false; + if (ciw32[unitnum].tempbuffer == NULL) + return false; + return true; +} + static int mcierr (TCHAR *str, DWORD err) { TCHAR es[1000]; @@ -449,6 +470,9 @@ static int ioctl_command_pause (int unitnum, int paused) { struct dev_info_ioctl *ciw = &ciw32[unitnum]; + if (!unitisopen (unitnum)) + return 0; + if (ciw->mciid > 0) { MCI_GENERIC_PARMS gp = { 0 }; @@ -488,6 +512,9 @@ static int ioctl_command_stop (int unitnum) { struct dev_info_ioctl *ciw = &ciw32[unitnum]; + if (!unitisopen (unitnum)) + return 0; + if (ciw->mciid > 0) { MCI_GENERIC_PARMS gp = { 0 }; @@ -530,6 +557,9 @@ static int ioctl_command_play (int unitnum, uae_u32 start, uae_u32 end, int scan { struct dev_info_ioctl *ciw = &ciw32[unitnum]; + if (!unitisopen (unitnum)) + return 0; + if (!ciw->cdda) open_mci (unitnum); @@ -606,6 +636,11 @@ static uae_u8 *ioctl_command_qcode (int unitnum) { struct dev_info_ioctl *ciw = &ciw32[unitnum]; + if (!unitisopen (unitnum)) { + write_log (L"qcode: %d no unit\n", unitnum); + return NULL; + } + if (ciw->mciid > 0) { static uae_u8 buf[4 + 12]; @@ -787,6 +822,9 @@ static uae_u8 *spti_read (int unitnum, int sector, int sectorsize) uae_u8 cmd[12] = { 0xbe, 0, 0, 0, 0, 0, 0, 0, 1, 0x10, 0, 0 }; int len = sizeof cmd; + if (!unitisopen (unitnum)) + return 0; + if (!open_createfile (unitnum, 1)) return 0; ciw32[unitnum].cd_last_pos = sector + sectorsize; @@ -865,6 +903,10 @@ static int ioctl_command_readwrite (int unitnum, int sector, int write, int bloc uae_u8 *p = ciw32[unitnum].tempbuffer; *ptr = NULL; + + if (!unitisopen (unitnum)) + return 0; + if (!open_createfile (unitnum, 0)) return 0; cdda_stop (unitnum); @@ -1013,6 +1055,9 @@ static uae_u8 *ioctl_command_toc (int unitnum) int cnt = 3; CDROM_TOC *toc = &ciw->toc; + if (!unitisopen (unitnum)) + return NULL; + if (!open_createfile (unitnum, 0)) return 0; cdda_stop (unitnum); @@ -1101,18 +1146,6 @@ error: return -1; } -static int unitcheck (int unitnum) -{ - if (unitnum >= MAX_TOTAL_DEVICES) { - if (unitnum < 'A' || unitnum > 'Z') - return 0; - return 1; - } - if (ciw32[unitnum].drvletter == 0) - return 0; - return 1; -} - /* close device handle */ void sys_cddev_close (int unitnum) { @@ -1189,6 +1222,8 @@ static int ioctl_ismedia (int unitnum, int quick) { if (!unitcheck (unitnum)) return -1; + if (!unitisopen (unitnum)) + return -1; if (quick) { struct dev_info_ioctl *ciw = &ciw32[unitnum]; return ciw->mediainserted; diff --git a/od-win32/resources/winuae_minimal.rc b/od-win32/resources/winuae_minimal.rc index 0c6f608c..23374164 100644 --- a/od-win32/resources/winuae_minimal.rc +++ b/od-win32/resources/winuae_minimal.rc @@ -28,7 +28,7 @@ LANGUAGE LANG_ENGLISH, SUBLANG_NEUTRAL IDI_APPICON ICON "winuae.ico" IDI_FLOPPY ICON "35floppy.ico" IDI_ABOUT ICON "amigainfo.ico" -IDI_HARDDISK ICON "Drive.ico" +IDI_HARDDISK ICON "drive.ico" IDI_CPU ICON "cpu.ico" IDI_GAMEPORTS ICON "joystick.ico" IDI_IOPORTS ICON "joystick.ico" @@ -38,7 +38,7 @@ IDI_MISC2 ICON "misc.ico" IDI_MOVE_UP ICON "move_up.ico" IDI_MOVE_DOWN ICON "move_dow.ico" IDI_AVIOUTPUT ICON "avioutput.ico" -IDI_DISK ICON "Drive.ico" +IDI_DISK ICON "drive.ico" IDI_FOLDER ICON "folder.ico" IDI_SOUND ICON "sound.ico" IDI_DISPLAY ICON "screen.ico" @@ -149,33 +149,37 @@ BEGIN CONTROL "Remove interlace artifacts",IDC_FLICKERFIXER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,19,139,99,10 RTEXT "Windowed:",IDC_STATIC,17,46,40,15,SS_CENTERIMAGE RTEXT "Fullscreen:",IDC_STATIC,17,19,40,15,SS_CENTERIMAGE + COMBOBOX IDC_DISPLAY_BUFFERCNT,187,47,87,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP END -IDD_MEMORY DIALOGEX 0, 0, 300, 158 +IDD_MEMORY DIALOGEX 0, 0, 300, 182 STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD EXSTYLE WS_EX_CONTEXTHELP FONT 8, "MS Sans Serif", 0, 0, 0x1 BEGIN - GROUPBOX "Memory Settings",-1,14,7,274,69 - RTEXT "Chip:",-1,24,26,20,10,SS_CENTERIMAGE + GROUPBOX "Memory Settings",IDC_STATIC,14,7,274,97 CONTROL "Slider1",IDC_CHIPMEM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,54,22,50,20 EDITTEXT IDC_CHIPRAM,105,25,34,12,ES_CENTER | ES_READONLY - RTEXT "Slow:",-1,149,26,20,10,SS_CENTERIMAGE CONTROL "Slider1",IDC_SLOWMEM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,179,22,60,20 EDITTEXT IDC_SLOWRAM,243,25,34,12,ES_CENTER | ES_READONLY - RTEXT "Fast:",IDC_FASTTEXT,24,51,20,10,SS_CENTERIMAGE CONTROL "Slider1",IDC_FASTMEM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,54,47,50,20 EDITTEXT IDC_FASTRAM,105,53,34,12,ES_CENTER | ES_READONLY - RTEXT "Z3 Fast:",IDC_Z3TEXT,139,51,30,10,SS_CENTERIMAGE CONTROL "Slider1",IDC_Z3FASTMEM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,179,47,60,20 EDITTEXT IDC_Z3FASTRAM,243,50,34,12,ES_CENTER | ES_READONLY - GROUPBOX "A3000/A4000 Advanced Memory Settings",-1,14,84,274,65 - RTEXT "Motherboard Fast RAM:",-1,40,100,129,10,SS_CENTERIMAGE - CONTROL "",IDC_MBMEM1,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,181,96,59,20 - EDITTEXT IDC_MBRAM1,244,99,34,12,ES_CENTER | ES_READONLY - RTEXT "Processor Slot Fast RAM:",-1,40,123,129,10,SS_CENTERIMAGE - CONTROL "",IDC_MBMEM2,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,181,119,59,20 - EDITTEXT IDC_MBRAM2,244,122,34,12,ES_CENTER | ES_READONLY + GROUPBOX "A3000/A4000 Advanced Memory Settings",IDC_STATIC,14,110,274,65 + RTEXT "Motherboard Fast:",IDC_STATIC,48,126,129,10,SS_CENTERIMAGE + CONTROL "",IDC_MBMEM1,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,181,122,59,20 + EDITTEXT IDC_MBRAM1,244,125,34,12,ES_CENTER | ES_READONLY + RTEXT "Processor Slot Fast:",IDC_STATIC,48,149,129,10,SS_CENTERIMAGE + CONTROL "",IDC_MBMEM2,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,181,145,59,20 + EDITTEXT IDC_MBRAM2,244,148,34,12,ES_CENTER | ES_READONLY + RTEXT "Fast:",IDC_STATIC,19,49,32,15,SS_CENTERIMAGE + RTEXT "Chip:",IDC_STATIC,19,25,32,15,SS_CENTERIMAGE + RTEXT "Slow:",IDC_STATIC,144,25,32,15,SS_CENTERIMAGE + RTEXT "Z3 Fast:",IDC_STATIC,144,49,32,15,SS_CENTERIMAGE + RTEXT "32-bit Chip:",IDC_STATIC,99,73,78,15,SS_CENTERIMAGE + CONTROL "",IDC_Z3CHIPMEM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,179,71,60,20 + EDITTEXT IDC_Z3CHIPRAM,243,76,34,12,ES_CENTER | ES_READONLY END IDD_CPU DIALOGEX 0, 0, 300, 241 @@ -189,10 +193,20 @@ BEGIN CONTROL "68030",IDC_CPU3,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,13,54,64,10 CONTROL "68040",IDC_CPU4,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,13,67,66,10 CONTROL "68060",IDC_CPU5,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,13,80,66,10 + CONTROL "24-bit addressing",IDC_COMPATIBLE24,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,10,94,73,8 CONTROL "More compatible [] Emulate 68000's prefetch registers. More compatible but slower.",IDC_COMPATIBLE, "Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,10,107,73,8 CONTROL "JIT [] Enable just-in-time CPU emulator. Significantly increases the speed of the CPU emulation. Requires 68020 or higher CPU.",IDC_JITENABLE, "Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,119,73,10 + CONTROL "68040 MMU [] 68040 MMU emulation. Not compatible with JIT.",IDC_MMUENABLE, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,132,73,10 + GROUPBOX "FPU",IDC_STATIC,5,147,81,90,BS_LEFT + CONTROL "None",IDC_FPU0,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,14,161,63,10 + CONTROL "68881",IDC_FPU1,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,14,175,63,10 + CONTROL "68882",IDC_FPU2,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,14,188,63,10 + CONTROL "CPU internal",IDC_FPU3,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,14,202,63,10 + CONTROL "More compatible [] More compatible but slower FPU emulation.",IDC_COMPATIBLE_FPU, + "Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,9,221,73,10 GROUPBOX "CPU Emulation Speed",IDC_STATIC,90,3,205,92 CONTROL "Fastest possible, but maintain chipset timing",IDC_CS_HOST, "Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_GROUP | WS_TABSTOP,95,18,195,10 @@ -200,35 +214,25 @@ BEGIN "Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_TABSTOP,95,32,195,10 CONTROL "Adjustable between CPU and chipset",IDC_CS_ADJUSTABLE, "Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_TABSTOP,95,46,195,10 + RTEXT "CPU",IDC_STATIC,96,77,17,10,SS_CENTERIMAGE CONTROL "Slider1",IDC_SPEED,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,114,71,67,20 + RTEXT "Chipset",IDC_STATIC,182,77,26,9,SS_CENTERIMAGE CONTROL "",IDC_CPUIDLE,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,219,71,69,20 + RTEXT "CPU Idle",IDC_STATIC,231,60,47,9,SS_CENTERIMAGE + GROUPBOX "Cycle-exact CPU Emulation Speed",IDC_STATIC,90,99,205,46 + RTEXT "CPU Frequency",IDC_STATIC,105,119,51,10,SS_CENTERIMAGE + COMBOBOX IDC_CPU_FREQUENCY,165,118,46,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + EDITTEXT IDC_CPU_FREQUENCY2,218,117,70,15 GROUPBOX "Advanced JIT Settings",IDC_STATIC,90,147,205,91 + RTEXT "Cache size:",IDC_STATIC,95,167,42,10,SS_CENTERIMAGE CONTROL "Slider1",IDC_CACHE,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,140,161,115,20 EDITTEXT IDC_CACHETEXT,255,166,30,12,ES_CENTER | ES_READONLY CONTROL "Hard flush",IDC_HARDFLUSH,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,100,194,63,10 - CONTROL "Constant jump",IDC_CONSTJUMP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,100,208,63,10 - CONTROL "FPU support",IDC_JITFPU,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,100,222,62,10 CONTROL "No flags",IDC_NOFLAGS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,168,194,62,10 CONTROL "Direct",IDC_TRUST0,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,235,194,52,10 + CONTROL "Constant jump",IDC_CONSTJUMP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,100,208,63,10 + CONTROL "FPU support",IDC_JITFPU,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,100,222,62,10 CONTROL "Indirect",IDC_TRUST1,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,235,208,52,10 - CONTROL "More compatible [] More compatible but slower FPU emulation.",IDC_COMPATIBLE_FPU, - "Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,9,221,73,10 - GROUPBOX "FPU",IDC_STATIC,5,147,81,90,BS_LEFT - CONTROL "24-bit addressing",IDC_COMPATIBLE24,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,10,94,73,8 - CONTROL "None",IDC_FPU0,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,14,161,63,10 - CONTROL "68881",IDC_FPU1,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,14,175,63,10 - CONTROL "68882",IDC_FPU2,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,14,188,63,10 - CONTROL "CPU internal",IDC_FPU3,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,14,202,63,10 - RTEXT "CPU Frequency",IDC_STATIC,105,119,51,10,SS_CENTERIMAGE - GROUPBOX "Cycle-exact CPU Emulation Speed",IDC_STATIC,90,99,205,46 - RTEXT "CPU",IDC_STATIC,96,77,17,10,SS_CENTERIMAGE - RTEXT "Chipset",IDC_STATIC,182,77,26,9,SS_CENTERIMAGE - RTEXT "CPU Idle",IDC_STATIC,231,60,47,9,SS_CENTERIMAGE - RTEXT "Cache size:",IDC_STATIC,95,167,42,10,SS_CENTERIMAGE - CONTROL "68040 MMU [] 68040 MMU emulation. Not compatible with JIT.",IDC_MMUENABLE, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,132,73,10 - COMBOBOX IDC_CPU_FREQUENCY,165,118,46,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - EDITTEXT IDC_CPU_FREQUENCY2,218,117,70,15 END IDD_FLOPPY DIALOGEX 0, 0, 300, 240 @@ -348,7 +352,7 @@ IDD_LOADSAVE DIALOGEX 0, 0, 302, 241 STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD FONT 8, "MS Sans Serif", 0, 0, 0x1 BEGIN - CONTROL "",IDC_CONFIGTREE,"SysTreeView32",TVS_HASLINES | TVS_DISABLEDRAGDROP | TVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP,6,3,289,153,WS_EX_CLIENTEDGE + CONTROL "",IDC_CONFIGTREE,"SysTreeView32",TVS_HASLINES | TVS_DISABLEDRAGDROP | TVS_SHOWSELALWAYS | TVS_TRACKSELECT | WS_BORDER | WS_HSCROLL | WS_TABSTOP,6,3,289,153,WS_EX_CLIENTEDGE RTEXT "Name:",IDC_STATIC,4,161,40,15,SS_CENTERIMAGE EDITTEXT IDC_EDITNAME,48,162,146,13,ES_AUTOHSCROLL RTEXT "Description:",IDC_STATIC,2,182,41,15,SS_CENTERIMAGE @@ -400,31 +404,41 @@ BEGIN COMBOBOX IDC_SAMPLERLIST,49,85,232,134,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP END -IDD_GAMEPORTS DIALOGEX 0, 0, 300, 236 +IDD_GAMEPORTS DIALOGEX 0, 0, 300, 246 STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD FONT 8, "MS Sans Serif", 0, 0, 0x1 BEGIN - COMBOBOX IDC_PORT0_JOYS,45,29,241,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_PORT1_JOYS,45,65,241,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "Swap port 0 and 1",IDC_SWAP,194,101,93,14 - RTEXT "Port 0:",IDC_STATIC,11,28,25,15,SS_CENTERIMAGE - RTEXT "Port 1:",IDC_STATIC,11,64,25,15,SS_CENTERIMAGE - LTEXT "X-Arcade layout information []#1",IDC_STATIC,64,87,106,15,SS_NOTIFY | SS_CENTERIMAGE - GROUPBOX "Mouse and Joystick settings",IDC_STATIC,4,15,292,148 - GROUPBOX "Mouse extra settings",IDC_STATIC,4,165,292,69 - RTEXT "Mouse speed:",IDC_STATIC,17,180,56,10,SS_CENTERIMAGE - EDITTEXT IDC_INPUTSPEEDM,87,180,25,12,ES_NUMBER - CONTROL "Install virtual mouse driver",IDC_PORT_TABLET,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,167,187,120,10 + GROUPBOX "Mouse and Joystick settings",IDC_STATIC,0,3,299,181 + RTEXT "Port 1:",IDC_STATIC,11,16,25,15,SS_CENTERIMAGE + COMBOBOX IDC_PORT0_JOYS,45,17,241,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_PORT0_JOYSMODE,127,35,87,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "Test [] Test Port 1 (mouse) configuration.",IDC_PORT0_TEST,218,35,34,14 + PUSHBUTTON "Remap [] Remap Port 1 configurarion.",IDC_PORT0_REMAP,256,35,31,14 + RTEXT "Port 2:",IDC_STATIC,11,52,25,15,SS_CENTERIMAGE + COMBOBOX IDC_PORT1_JOYS,45,53,241,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "Swap ports [] Swap ports 1 and 2.",IDC_SWAP,118,93,53,14 + COMBOBOX IDC_PORT1_JOYSMODE,127,70,88,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "Test [] Test Port 2 (joystick) configuration.",IDC_PORT1_TEST,218,70,34,14 + PUSHBUTTON "Remap [] Remap Port 2 configuration.",IDC_PORT1_REMAP,256,70,31,14 + LTEXT "Parallel port joystick adapter",IDC_STATIC,10,96,99,15,SS_CENTERIMAGE + LTEXT "X-Arcade layout information []#1",IDC_STATIC,184,96,109,15,SS_NOTIFY | SS_CENTERIMAGE + COMBOBOX IDC_PORT2_JOYS,45,114,241,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "Test [] Test Parallel port joystick port 1 configuration.",IDC_PORT2_TEST,196,131,44,14 + PUSHBUTTON "Remap [] Remap Parallel port joystick port 1 configurarion.",IDC_PORT2_REMAP,245,131,41,14 + COMBOBOX IDC_PORT3_JOYS,45,149,241,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "Test [] Test Parallel port joystick 2 configuration.",IDC_PORT3_TEST,196,165,44,14 + PUSHBUTTON "Remap [] Remap Parallel port joystick port 2 configurarion.",IDC_PORT3_REMAP,245,165,41,14 + GROUPBOX "Mouse extra settings",IDC_STATIC,0,186,299,60 + RTEXT "Mouse speed:",IDC_STATIC,17,200,56,10,SS_CENTERIMAGE + RTEXT "Magic Mouse cursor mode:",IDC_STATIC,17,217,138,10,SS_CENTERIMAGE + CONTROL "Install virtual mouse driver",IDC_PORT_TABLET,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,20,233,120,10 + EDITTEXT IDC_INPUTSPEEDM,87,200,25,12,ES_NUMBER + CONTROL "Magic Mouse",IDC_PORT_MOUSETRICK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,167,198,119,10 + COMBOBOX IDC_PORT_TABLET_CURSOR,167,214,119,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP CONTROL "Full tablet input emulation",IDC_PORT_TABLET_FULL, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,167,220,121,10 - CONTROL "Magic Mouse",IDC_PORT_MOUSETRICK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,167,175,119,10 - COMBOBOX IDC_PORT_TABLET_CURSOR,167,201,119,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - RTEXT "Magic Mouse cursor mode:",IDC_STATIC,17,204,138,10,SS_CENTERIMAGE - COMBOBOX IDC_PORT0_JOYSMODE,195,47,91,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_PORT1_JOYSMODE,195,82,91,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_PORT2_JOYS,45,125,241,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - LTEXT "Parallel port joystick adapter",IDC_STATIC,10,105,147,15,SS_CENTERIMAGE - COMBOBOX IDC_PORT3_JOYS,45,143,241,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,167,233,121,10 + COMBOBOX IDC_PORT0_AF,45,35,78,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_PORT1_AF,45,70,78,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP END IDD_CONTRIBUTORS DIALOGEX 0, 0, 411, 242 @@ -702,18 +716,20 @@ IDD_INPUT DIALOGEX 0, 0, 300, 242 STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD FONT 8, "MS Sans Serif", 0, 0, 0x1 BEGIN - COMBOBOX IDC_INPUTTYPE,5,5,98,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_INPUTDEVICE,109,5,167,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - CONTROL "",IDC_INPUTDEVICEDISABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,282,8,9,8 CONTROL "List1",IDC_INPUTLIST,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,5,22,290,146 + COMBOBOX IDC_INPUTTYPE,5,5,77,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_INPUTDEVICE,87,5,190,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + CONTROL "",IDC_INPUTDEVICEDISABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,282,8,9,8 COMBOBOX IDC_INPUTAMIGACNT,5,174,24,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_INPUTAMIGA,33,174,262,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_INPUTAMIGA,33,174,202,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "Test [] Test input mappings.",IDC_INPUTTEST,240,175,26,14 + PUSHBUTTON "Remap [] Find and remap quickly.",IDC_INPUTREMAP,267,175,30,14 RTEXT "Joystick dead zone (%):",-1,4,196,79,10,SS_CENTERIMAGE EDITTEXT IDC_INPUTDEADZONE,88,195,25,12,ES_NUMBER - RTEXT "Autofire rate (frames):",-1,4,212,79,10,SS_CENTERIMAGE - EDITTEXT IDC_INPUTAUTOFIRERATE,88,210,25,12,ES_NUMBER RTEXT "Digital joy-mouse speed:",-1,117,196,88,10,SS_CENTERIMAGE EDITTEXT IDC_INPUTSPEEDD,210,195,25,12,ES_NUMBER + RTEXT "Autofire rate (lines):",-1,4,212,79,10,SS_CENTERIMAGE + EDITTEXT IDC_INPUTAUTOFIRERATE,88,210,25,12,ES_NUMBER RTEXT "Analog joy-mouse speed:",-1,117,212,88,10,SS_CENTERIMAGE EDITTEXT IDC_INPUTSPEEDA,210,211,25,12,ES_NUMBER PUSHBUTTON "Copy from:",IDC_INPUTCOPY,240,195,56,14 @@ -725,7 +741,7 @@ IDD_FILTER DIALOGEX 0, 0, 296, 241 STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD FONT 8, "MS Sans Serif", 0, 0, 0x1 BEGIN - GROUPBOX "Filter Settings",-1,0,1,294,199 + GROUPBOX "Filter Settings",-1,0,1,295,134 COMBOBOX IDC_FILTERMODE,20,15,103,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_FILTERFILTER,132,15,83,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP PUSHBUTTON "Reset to defaults",IDC_FILTERDEFAULT,221,15,67,14 @@ -741,8 +757,7 @@ BEGIN RTEXT "Vert. position:",-1,5,120,55,10,SS_CENTERIMAGE CONTROL "Slider1",IDC_FILTERVO,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,99,114,151,19 EDITTEXT IDC_FILTERVOV,253,116,34,12,ES_CENTER | ES_READONLY - RTEXT "Extra settings:",-1,105,135,57,10,SS_CENTERIMAGE - CONTROL "Slider1",IDC_FILTERXL,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,99,174,151,19 + CONTROL "Slider1",IDC_FILTERXL,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,107,174,141,19 EDITTEXT IDC_FILTERXLV,253,176,34,12,ES_CENTER | ES_READONLY COMBOBOX IDC_FILTERSLR,253,151,33,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP GROUPBOX "Presets",-1,0,203,296,36 @@ -754,10 +769,12 @@ BEGIN COMBOBOX IDC_FILTERVZMULT,59,80,35,150,CBS_DROPDOWN | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_FILTERXTRA,105,151,138,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_FILTERASPECT,14,151,73,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - CONTROL "Keep aspect ratio",IDC_FILTERKEEPASPECT,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,14,168,85,10 + CONTROL "Keep aspect ratio",IDC_FILTERKEEPASPECT,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,14,168,77,10 COMBOBOX IDC_FILTERAUTOSCALE,132,36,83,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_FILTERASPECT2,14,180,73,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_FILTEROVERLAY,20,36,103,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + GROUPBOX "Aspect Ratio Correction",-1,3,138,92,65 + GROUPBOX "Extra Settings",-1,101,137,194,65 END IDD_HARDDRIVE DIALOGEX 0, 0, 380, 76 @@ -816,7 +833,7 @@ CAPTION "WinUAE Properties" FONT 8, "MS Sans Serif", 0, 0, 0x0 BEGIN GROUPBOX "",IDC_PANEL_FRAME,112,4,303,247,NOT WS_VISIBLE - CONTROL "",IDC_PANELTREE,"SysTreeView32",TVS_HASLINES | TVS_SHOWSELALWAYS | TVS_NOSCROLL | WS_BORDER | WS_HSCROLL | WS_TABSTOP,5,5,101,248,WS_EX_CLIENTEDGE + CONTROL "",IDC_PANELTREE,"SysTreeView32",TVS_HASLINES | TVS_SHOWSELALWAYS | TVS_TRACKSELECT | TVS_NOSCROLL | TVS_NOHSCROLL | WS_BORDER | WS_TABSTOP,5,5,101,248,WS_EX_CLIENTEDGE GROUPBOX "",IDC_PANEL_FRAME_OUTER,110,2,307,251 PUSHBUTTON "Reset",IDC_RESETAMIGA,5,259,47,14 PUSHBUTTON "Quit",IDC_QUITEMU,55,259,47,14 @@ -835,6 +852,7 @@ BEGIN PUSHBUTTON "...",IDC_PATHS_ROMS,281,15,11,15 LTEXT "Configuration files:",IDC_PATHS_CONFIGL,14,32,121,8,SS_CENTERIMAGE EDITTEXT IDC_PATHS_CONFIG,14,42,261,15,ES_AUTOHSCROLL + CONTROL "Cache Configuration files",IDC_PATHS_CONFIGCACHE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,177,32,97,10 PUSHBUTTON "...",IDC_PATHS_CONFIGS,281,42,11,15 LTEXT "Screenshots:",IDC_PATHS_SCREENSHOTL,14,59,260,8,SS_CENTERIMAGE EDITTEXT IDC_PATHS_SCREENSHOT,14,69,261,15,ES_AUTOHSCROLL @@ -853,7 +871,6 @@ BEGIN PUSHBUTTON "Clear registry",IDC_RESETREGISTRY,111,212,92,14 COMBOBOX IDC_PATHS_DEFAULTTYPE,111,197,163,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP PUSHBUTTON "Clear disk history",IDC_RESETDISKHISTORY,14,228,92,14 - CONTROL "Cache Configuration files",IDC_PATHS_CONFIGCACHE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,177,32,97,10 LTEXT "Rips:",IDC_PATHS_RIPSL,13,168,261,8,SS_CENTERIMAGE EDITTEXT IDC_PATHS_RIP,13,178,261,15,ES_AUTOHSCROLL PUSHBUTTON "...",IDC_PATHS_RIPS,280,178,11,15 @@ -865,7 +882,7 @@ FONT 8, "MS Sans Serif", 0, 0, 0x1 BEGIN GROUPBOX "Emulated Hardware",IDC_QUICKSTART_CONFIG,3,0,294,54 RTEXT "Model:",IDC_STATIC,5,14,50,10,SS_CENTERIMAGE - COMBOBOX IDC_QUICKSTART_MODEL,59,12,233,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_QUICKSTART_MODEL,59,12,192,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP RTEXT "Configuration:",IDC_STATIC,5,33,50,10,SS_CENTERIMAGE COMBOBOX IDC_QUICKSTART_CONFIGURATION,59,31,233,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP GROUPBOX "Compatibility vs Required CPU Power ",IDC_QUICKSTART_COMPA,3,56,294,33 @@ -892,6 +909,8 @@ BEGIN GROUPBOX "Mode",IDC_STATIC,190,211,107,27,BS_LEFT CONTROL "Start in Quickstart mode",IDC_QUICKSTARTMODE,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_TABSTOP,197,222,94,10 COMBOBOX IDC_CD0Q_TYPE,191,173,63,50,CBS_DROPDOWNLIST | NOT WS_VISIBLE | WS_VSCROLL | WS_TABSTOP + CONTROL "NTSC [] North American and Japanese display standard, 60Hz refresh rate. Other countries use PAL (50Hz. display refresh rate)",IDC_NTSC, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,256,15,35,10 END IDD_FRONTEND DIALOGEX 0, 0, 420, 242 @@ -918,9 +937,9 @@ STYLE DS_LOCALEDIT | DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAP CAPTION "Enter text..." FONT 8, "MS Sans Serif", 0, 0, 0x0 BEGIN + EDITTEXT IDC_STRINGBOXEDIT,7,17,214,14,ES_AUTOHSCROLL | ES_WANTRETURN DEFPUSHBUTTON "OK",IDOK,48,39,50,14 PUSHBUTTON "Cancel",IDCANCEL,151,39,50,14 - EDITTEXT IDC_STRINGBOXEDIT,7,17,214,14,ES_AUTOHSCROLL | ES_WANTRETURN END IDD_DEBUGGER DIALOGEX 0, 0, 454, 368 @@ -1005,6 +1024,26 @@ BEGIN GROUPBOX "Miscellaneous Expansions",IDC_STATIC,5,130,117,66 END +IDD_INPUTMAP DIALOGEX 0, 0, 300, 240 +STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD +FONT 8, "MS Sans Serif", 0, 0, 0x1 +BEGIN + CONTROL "",IDC_INPUTMAPLIST,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_NOCOLUMNHEADER | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,0,1,299,215 + EDITTEXT IDC_INPUTMAPOUT,0,222,299,14,ES_AUTOHSCROLL | WS_DISABLED +END + +IDD_INFOBOX DIALOGEX 0, 0, 420, 68 +STYLE DS_LOCALEDIT | DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +CAPTION "Scanning ROM image files..." +FONT 8, "MS Sans Serif", 0, 0, 0x0 +BEGIN + DEFPUSHBUTTON "OK",IDOK,123,50,50,14,NOT WS_VISIBLE + PUSHBUTTON "Cancel",IDCANCEL,182,50,50,14 + CTEXT "",IDC_INFOBOX_TEXT2,6,21,412,11,SS_CENTERIMAGE | SS_SUNKEN | WS_TABSTOP + CTEXT "",IDC_INFOBOX_TEXT1,6,7,412,11,SS_CENTERIMAGE | SS_SUNKEN | WS_TABSTOP + CTEXT "",IDC_INFOBOX_TEXT3,5,35,412,11,SS_CENTERIMAGE | SS_SUNKEN | WS_TABSTOP +END + ///////////////////////////////////////////////////////////////////////////// // @@ -1012,8 +1051,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 2,1,0,0 - PRODUCTVERSION 2,1,0,0 + FILEVERSION 2,2,0,0 + PRODUCTVERSION 2,2,0,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -1029,12 +1068,12 @@ BEGIN BLOCK "040904b0" BEGIN VALUE "FileDescription", "WinUAE" - VALUE "FileVersion", "2.1.0.0" + VALUE "FileVersion", "2.2.0.0" VALUE "InternalName", "WinUAE" VALUE "LegalCopyright", "© 1996-2010 under the GNU Public License (GPL)" VALUE "OriginalFilename", "WinUAE.exe" VALUE "ProductName", "WinUAE" - VALUE "ProductVersion", "2.1.0.0" + VALUE "ProductVersion", "2.2.0.0" END END BLOCK "VarFileInfo" @@ -1125,6 +1164,8 @@ BEGIN END END + + ///////////////////////////////////////////////////////////////////////////// // // DESIGNINFO @@ -1133,10 +1174,22 @@ END #ifdef APSTUDIO_INVOKED GUIDELINES DESIGNINFO BEGIN + IDD_DISPLAY, DIALOG + BEGIN + END + + IDD_MEMORY, DIALOG + BEGIN + END + IDD_CPU, DIALOG BEGIN END + IDD_LOADSAVE, DIALOG + BEGIN + END + IDD_IOPORTS, DIALOG BEGIN END @@ -1145,10 +1198,18 @@ BEGIN BEGIN END + IDD_ABOUT, DIALOG + BEGIN + END + IDD_MISC1, DIALOG BEGIN END + IDD_CHIPSET, DIALOG + BEGIN + END + IDD_INPUT, DIALOG BEGIN END @@ -1166,9 +1227,38 @@ BEGIN BEGIN END + IDD_PANEL, DIALOG + BEGIN + END + + IDD_PATHS, DIALOG + BEGIN + END + + IDD_QUICKSTART, DIALOG + BEGIN + END + IDD_FRONTEND, DIALOG BEGIN END + + IDD_PROGRESSBAR, DIALOG + BEGIN + END + + IDD_STRINGBOX, DIALOG + BEGIN + END + + IDD_INPUTMAP, DIALOG + BEGIN + TOPMARGIN, 1 + END + + IDD_INFOBOX, DIALOG + BEGIN + END END #endif // APSTUDIO_INVOKED @@ -1249,18 +1339,17 @@ BEGIN IDS_SELECTFILESYSROOT "Please select the root directory of the file system..." IDS_DEFAULTMIDIOUT "Default MIDI-Out Device" IDS_CONTRIBUTORS1 "Bernd Schmidt - The Grand-Master\nSam Jordan - Custom-chip, floppy-DMA, etc.\nMathias Ortmann - Original WinUAE Main Guy, BSD Socket support\nBrian King - Picasso96 Support, Integrated GUI for WinUAE, previous WinUAE Main Guy\nToni Wilen - Core updates, WinUAE Main Guy\nGustavo Goedert/Peter Remmers/Michael Sontheimer/Tomi Hakala/Tim Gunn/Nemo Pohle - DOS Port Stuff\nSamuel Devulder/Olaf Barthel/Sam Jordan - Amiga Ports\nKrister Bergman - XFree86 and OS/2 Port\nA. Blanchard/Ernesto Corvi - MacOS Port\nChristian Bauer - BeOS Port\nIan Stephenson - NextStep Port\nPeter Teichmann - Acorn/RiscOS Port\nStefan Reinauer - ZorroII/III AutoConfig, Serial Support\nChristian Schmitt/Chris Hames - Serial Support\nHerman ten Brugge - 68020/68881 Emulation Code\nTauno Taipaleenmaki - Various UAE-Control/UAE-Library Support\nBrett Eden/Tim Gunn/Paolo Besser/Nemo Pohle - Various Docs and Web-Sites\nGeorg Veichtlbauer - Help File coordinator, German GUI\nFulvio Leonardi - Italian translator for WinUAE\n" - IDS_CONTRIBUTORS2 "Bill Panagouleas - Hardware support\nSpecial thanks to Alexander Kneer and Tobias Abt (The Picasso96 Team)\nSteven Weiser - Postscript printing emulation idea and testing.\nPéter Tóth /Balázs Rátkai/Iván Herczeg/András Arató - Hungarian translation.\nKarsten Bock, Gavin Fance, Dirk Trowe, Christoph Meier and Christian Schindler - Freezer cartridge hardware support.\nMikko Nieminen - Demo compatibility testing.\nArabuusimiehet - [This information is on a need-to-know basis]" + IDS_CONTRIBUTORS2 "Bill Panagouleas - Hardware support\nSpecial thanks to Alexander Kneer and Tobias Abt (The Picasso96 Team)\nSteven Weiser - Postscript printing emulation idea and testing.\nPéter Tóth /Balázs Rátkai/Iván Herczeg/András Arató - Hungarian translation.\nKarsten Bock, Gavin Fance, Dirk Trowe and Christian Schindler - Freezer cartridge hardware support.\nMikko Nieminen - Demo compatibility testing.\nArabuusimiehet - [This information is on a need-to-know basis]" IDS_INVALIDPRTPORT "The printer you have in this configuration is not valid on this machine.\n" IDS_RESTOREUSS "Restore a WinUAE snapshot file" IDS_USS "WinUAE snapshot files" - IDS_WRONGOSVERSION "WinUAE is no longer supported on Windows NT. Please upgrade to either Windows 2000 or Windows XP or a later version." IDS_SELECTFLASH "Select a flash or battery-backed RAM file..." IDS_FLASH "WinUAE flash or battery-backed RAM file" IDS_INPUTHOSTWIDGET "Input source" IDS_INPUTAMIGAEVENT "Input target" IDS_INPUTAUTOFIRE "Autofire" IDS_SAVEUSS "Save a WinUAE snapshot file" - IDS_MIDIOVERFLOW "Sysexbuffer overflow. Should not happen. Please report this to\nberndroesch1@compuserve.de" + IDS_MIDIOVERFLOW "Sysexbuffer overflow. Should not happen." END STRINGTABLE @@ -1312,6 +1401,8 @@ BEGIN IDS_QS_CD "CD" IDS_QS_CD_AUTO "Autodetect" IDS_QS_CD_IMAGE "Image file" + IDS_REMAPTITLE "Input captured. F12 = Exit. F11 = Skip current event in Remap mode." + IDS_FILTER_NOOVERLAYS "No overlays available" END STRINGTABLE @@ -1354,13 +1445,13 @@ END STRINGTABLE BEGIN IDS_SOUND_FILTER_EMULATED_E "Emulated (A1200)" - IDS_INPUT_COMPATIBILITY "Compatibility mode" + IDS_INPUT_GAMEPORTS "Game Ports Panel" IDS_INPUT_CUSTOM "Configuration #%d" - IDS_INPUT_COPY_DEFAULT "Default" + IDS_INPUT_COPY_DEFAULT "GamePorts" IDS_INPUT_COPY_CUSTOM "Config #%d" IDS_3D_NO_FILTER "Point (%d-bit)" IDS_3D_BILINEAR "Bilinear (%d-bit)" - IDS_VSYNC_DEFAULT "Default" + IDS_VSYNC_DEFAULT "Default refresh rate" IDS_DRIVESOUND_NONE "No sound" IDS_DRIVESOUND_DEFAULT_A500 "A500 (WinUAE built-in)" IDS_AVIOUTPUT_NOCODEC "no codec selected" @@ -1514,6 +1605,9 @@ BEGIN IDS_PRINTER_EPSON48 "Epson Matrix Printer Emulation, 48pin" IDS_SELECTCD "Select a CD image file..." IDS_CD "CD image files" + IDS_BUFFER_SINGLE "No buffering" + IDS_BUFFER_DOUBLE "Double buffering" + IDS_BUFFER_TRIPLE "Triple buffering" END #endif // English resources diff --git a/od-win32/win32.h b/od-win32/win32.h index 6fbcf940..ffe67364 100644 --- a/od-win32/win32.h +++ b/od-win32/win32.h @@ -15,12 +15,12 @@ #define GETBDM(x) (((x) - ((x / 10000) * 10000)) / 100) #define GETBDD(x) ((x) % 100) -#define WINUAEPUBLICBETA 1 +#define WINUAEPUBLICBETA 0 #define LANG_DLL 1 -#define WINUAEBETA L"11" -#define WINUAEDATE MAKEBD(2010, 6, 20) -#define WINUAEEXTRA L"RC2" +#define WINUAEBETA L"" +#define WINUAEDATE MAKEBD(2010, 6, 22) +#define WINUAEEXTRA L"" #define WINUAEREV L"" #define IHF_WINDOWHIDDEN 6 diff --git a/od-win32/winuaechangelog.txt b/od-win32/winuaechangelog.txt index 81e65c57..e17fe08b 100644 --- a/od-win32/winuaechangelog.txt +++ b/od-win32/winuaechangelog.txt @@ -1,4 +1,21 @@ +Beta 11: (RC2) + +- DirectInput keyboard and mouse didn't work in Test/Remap mode after emulation was started +- directory filesystem GUI directory/file selection dialog remembers previous path +- floppy sound disabled channels had different volume level +- XP DX check reverted, for some reason DirectX web installer didn't install all DLLs + (including d3dx9_43.dll) when it was released originally, seems to be fixed now +- uaescsi.device: do not send media change interrupt if actual media state didn't + change (was possible when changing cdimage0 using uae-configuration), some + cd filesystem versions crash(!) in this situation..., fix media detection + when switching on the fly from SCSI mode to built-in image mounter. Note that + on the fly device changes only works properly if CDFS uses trackdisk.device-style + commands (not directscsi) and media change interrupts are enabled (not polling) +- cdimage0= in config file (nothing after '=') means enable built-in image support + without media inserted, do not detect and use physical/virtual drives +- renamed pad/joystick POV pairs (1) and (2) to (X) and (Y) + Beta 10: (RC1, official release before Midsummer) - some V(H)POSW modifications corrupted memory (AR3 for example) @@ -8,8 +25,7 @@ Beta 10: (RC1, official release before Midsummer) chunk (except body) size was more than 255 bytes - removed confusing and useless Input keyboard key numbers - GamePorts test mode list vertical centering improved -- configuration file joyportX=kbdZ/joyZ/mouseZ (where Z is larger - than max available devices) was not checked +- configuration file joyportX=kbdZ/joyZ/mouseZ (where Z is larger than max available devices) was not checked - floppy sound channel mask added, configuration file only (floppy_channel_mask), default is all channels. 1=left,2=right,4=center,8=sub,16=surleft,32=surright. - keyboard input configuration slots 2/3/4 not saved if slot 1 contained port diff --git a/scsiemul.cpp b/scsiemul.cpp index b1c6d927..35c73013 100644 --- a/scsiemul.cpp +++ b/scsiemul.cpp @@ -275,9 +275,15 @@ static int scsiemul_switchscsi (const TCHAR *name) { struct devstruct *dev = NULL; struct device_info *discsi, discsi2; - int i, j; + int i, j, opened[MAX_TOTAL_DEVICES]; + bool wasopen = false; + + for (i = 0; i < MAX_TOTAL_DEVICES; i++) + opened[i] = sys_command_isopen (i); dev = &devst[0]; + if ((dev->allow_ioctl || dev->allow_scsi) && dev->opencnt) + wasopen = true; if (dev->allow_scsi) sys_command_close (DF_SCSI, dev->unitnum); if (dev->allow_ioctl) @@ -306,7 +312,7 @@ static int scsiemul_switchscsi (const TCHAR *name) dev->drivetype = discsi->type; memcpy (&dev->di, discsi, sizeof (struct device_info)); dev->iscd = 1; - write_log (L"%s mounted as uaescsi.device:0 (SCSI=%d)\n", discsi->label, dev->allow_scsi); + write_log (L"%s mounted as uaescsi.device:0 (SCSI=%d IOCTL=%d)\n", discsi->label, dev->allow_scsi, dev->allow_ioctl); if (dev->aunit >= 0) { struct priv_devstruct *pdev = &pdevst[dev->aunit]; setpdev (pdev, dev); @@ -317,7 +323,7 @@ static int scsiemul_switchscsi (const TCHAR *name) } } } - if (devst[0].opencnt == 0) + if (opened[i] == 0 && !wasopen) sys_command_close (mode, i); } i++; @@ -334,6 +340,7 @@ static int scsiemul_switchemu (const TCHAR *name) if (!device_func_init (DEVICE_TYPE_ANY | DEVICE_TYPE_ALLOWEMU)) return -1; + int opened = sys_command_isopen (0); if (sys_command_open (DF_IOCTL, 0)) { if (discsi = sys_command_info (DF_IOCTL, 0, &discsi2)) { dev = &devst[0]; @@ -350,7 +357,7 @@ static int scsiemul_switchemu (const TCHAR *name) } dev->di.media_inserted = 0; } - if (devst[0].opencnt == 0) + if (!opened) sys_command_close (DF_IOCTL, 0); return 0; }