From a6a9f7d51258e08d008cb0d02ab60e01d44bb379 Mon Sep 17 00:00:00 2001 From: Toni Wilen Date: Sun, 5 Sep 2010 18:47:03 +0300 Subject: [PATCH] 2300b15 --- disk.cpp | 132 +++++++++++------ gayle.cpp | 2 +- include/disk.h | 2 +- include/keyboard.h | 9 +- od-win32/dinput.cpp | 257 ++++++++++++++++++--------------- od-win32/hardfile_win32.cpp | 5 +- od-win32/lib/prowizard.lib | Bin 1139948 -> 1139948 bytes od-win32/lib/prowizard_x64.lib | Bin 1304832 -> 1304760 bytes od-win32/resources/resource | 4 +- od-win32/resources/winuae.rc | 12 +- od-win32/win32.cpp | 31 ++-- od-win32/win32.h | 4 +- od-win32/win32gui.cpp | 46 ++++-- od-win32/winuaechangelog.txt | 9 ++ 14 files changed, 312 insertions(+), 201 deletions(-) diff --git a/disk.cpp b/disk.cpp index e80be580..1692a035 100644 --- a/disk.cpp +++ b/disk.cpp @@ -198,12 +198,20 @@ static drive floppy[MAX_FLOPPY_DRIVES]; static TCHAR dfxhistory[2][MAX_PREVIOUS_FLOPPIES][MAX_DPATH]; static uae_u8 exeheader[]={0x00,0x00,0x03,0xf3,0x00,0x00,0x00,0x00}; -static uae_u8 bootblock[]={ +static uae_u8 bootblock_ofs[]={ 0x44,0x4f,0x53,0x00,0xc0,0x20,0x0f,0x19,0x00,0x00,0x03,0x70,0x43,0xfa,0x00,0x18, 0x4e,0xae,0xff,0xa0,0x4a,0x80,0x67,0x0a,0x20,0x40,0x20,0x68,0x00,0x16,0x70,0x00, 0x4e,0x75,0x70,0xff,0x60,0xfa,0x64,0x6f,0x73,0x2e,0x6c,0x69,0x62,0x72,0x61,0x72, 0x79 }; +static uae_u8 bootblock_ffs[]={ + 0x44, 0x4F, 0x53, 0x01, 0xE3, 0x3D, 0x0E, 0x72, 0x00, 0x00, 0x03, 0x70, 0x43, 0xFA, 0x00, 0x3E, + 0x70, 0x25, 0x4E, 0xAE, 0xFD, 0xD8, 0x4A, 0x80, 0x67, 0x0C, 0x22, 0x40, 0x08, 0xE9, 0x00, 0x06, + 0x00, 0x22, 0x4E, 0xAE, 0xFE, 0x62, 0x43, 0xFA, 0x00, 0x18, 0x4E, 0xAE, 0xFF, 0xA0, 0x4A, 0x80, + 0x67, 0x0A, 0x20, 0x40, 0x20, 0x68, 0x00, 0x16, 0x70, 0x00, 0x4E, 0x75, 0x70, 0xFF, 0x4E, 0x75, + 0x64, 0x6F, 0x73, 0x2E, 0x6C, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x00, 0x65, 0x78, 0x70, 0x61, + 0x6E, 0x73, 0x69, 0x6F, 0x6E, 0x2E, 0x6C, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x00, 0x00, 0x00, +}; #define FS_OFS_DATABLOCKSIZE 488 #define FS_FLOPPY_BLOCKSIZE 512 @@ -276,7 +284,7 @@ static void createbootblock (uae_u8 *sector, int bootable) memset (sector, 0, FS_FLOPPY_BLOCKSIZE); memcpy (sector, "DOS", 3); if (bootable) - memcpy (sector, bootblock, sizeof bootblock); + memcpy (sector, bootblock_ofs, sizeof bootblock_ofs); } static void createrootblock (uae_u8 *sector, char *disk_name) @@ -2034,18 +2042,46 @@ void DISK_ersatz_read (int tr, int sec, uaecptr dest) zfile_fread (dptr, 1, 512, floppy[0].diskfile); } +static void floppy_get_bootblock (uae_u8 *dst, bool ffs, bool bootable) +{ + strcpy ((char*)dst, "DOS"); + dst[3] = ffs ? 1 : 0; + if (bootable) + memcpy (dst, ffs ? bootblock_ffs : bootblock_ofs, ffs ? sizeof bootblock_ffs : sizeof bootblock_ofs); +} +static void floppy_get_rootblock (uae_u8 *dst, int block, const TCHAR *disk_name, drive_type adftype) +{ + dst[0+3] = 2; + dst[12+3] = 0x48; + dst[312] = dst[313] = dst[314] = dst[315] = (uae_u8)0xff; + dst[316+2] = (block + 1) >> 8; dst[316+3] = (block + 1) & 255; + char *s = ua ((disk_name && _tcslen (disk_name) > 0) ? disk_name : L"empty"); + dst[432] = strlen (s); + strcpy ((char*)dst + 433, s); + xfree (s); + dst[508 + 3] = 1; + disk_date (dst + 420); + memcpy (dst + 472, dst + 420, 3 * 4); + memcpy (dst + 484, dst + 420, 3 * 4); + disk_checksum (dst, dst + 20); + /* bitmap block */ + memset (dst + 512 + 4, 0xff, 2 * block / 8); + if (adftype == 0) + dst[512 + 0x72] = 0x3f; + else + dst[512 + 0xdc] = 0x3f; + disk_checksum (dst + 512, dst + 512); +} + /* type: 0=regular, 1=ext2adf */ /* adftype: 0=DD,1=HD,2=DD PC,3=HD PC,4=525SD */ -void disk_creatediskfile (TCHAR *name, int type, drive_type adftype, TCHAR *disk_name) +void disk_creatediskfile (const TCHAR *name, int type, drive_type adftype, const TCHAR *disk_name, bool ffs, bool bootable) { + int size = 32768; struct zfile *f; int i, l, file_size, tracks, track_len, sectors; uae_u8 *chunk = NULL; - uae_u8 tmp[3*4]; - uae_char *s; - - if (disk_name == NULL || _tcslen (disk_name) == 0) - disk_name = L"empty"; + int ddhd = 1; if (type == 1) tracks = 2 * 83; @@ -2061,64 +2097,64 @@ void disk_creatediskfile (TCHAR *name, int type, drive_type adftype, TCHAR *disk if (adftype == 1 || adftype == 3) { file_size *= 2; track_len *= 2; + ddhd = 2; } else if (adftype == 4) { file_size /= 2; tracks /= 2; } f = zfile_fopen (name, L"wb", 0); - chunk = xmalloc (uae_u8, 32768); + chunk = xmalloc (uae_u8, size); if (f && chunk) { int cylsize = sectors * 2 * 512; - memset (chunk, 0, 32768); + memset (chunk, 0, size); if (type == 0) { for (i = 0; i < file_size; i += cylsize) { memset(chunk, 0, cylsize); if (adftype <= 1) { if (i == 0) { /* boot block */ - strcpy ((char*)chunk, "DOS"); + floppy_get_bootblock (chunk, ffs, bootable); } else if (i == file_size / 2) { - int block = file_size / 1024; /* root block */ - chunk[0+3] = 2; - chunk[12+3] = 0x48; - chunk[312] = chunk[313] = chunk[314] = chunk[315] = (uae_u8)0xff; - chunk[316+2] = (block + 1) >> 8; chunk[316+3] = (block + 1) & 255; - s = ua (disk_name); - chunk[432] = strlen (s); - strcpy ((char*)chunk + 433, s); - xfree (s); - chunk[508 + 3] = 1; - disk_date (chunk + 420); - memcpy (chunk + 472, chunk + 420, 3 * 4); - memcpy (chunk + 484, chunk + 420, 3 * 4); - disk_checksum(chunk, chunk + 20); - /* bitmap block */ - memset (chunk + 512 + 4, 0xff, 2 * file_size / (1024 * 8)); - if (adftype == 0) - chunk[512 + 0x72] = 0x3f; - else - chunk[512 + 0xdc] = 0x3f; - disk_checksum(chunk + 512, chunk + 512); + floppy_get_rootblock (chunk, file_size / 1024, disk_name, adftype); } } zfile_fwrite (chunk, cylsize, 1, f); } } else { + uae_u8 root[4]; + uae_u8 rawtrack[3 * 4], dostrack[3 * 4]; l = track_len; zfile_fwrite ("UAE-1ADF", 8, 1, f); - tmp[0] = 0; tmp[1] = 0; /* flags (reserved) */ - tmp[2] = 0; tmp[3] = tracks; /* number of tracks */ - zfile_fwrite (tmp, 4, 1, f); - tmp[0] = 0; tmp[1] = 0; /* flags (reserved) */ - tmp[2] = 0; tmp[3] = 1; /* track type */ - tmp[4] = 0; tmp[5] = 0; tmp[6]=(uae_u8)(l >> 8); tmp[7] = (uae_u8)l; - tmp[8] = 0; tmp[9] = 0; tmp[10] = 0; tmp[11] = 0; - for (i = 0; i < tracks; i++) + root[0] = 0; root[1] = 0; /* flags (reserved) */ + root[2] = 0; root[3] = tracks; /* number of tracks */ + zfile_fwrite (root, 4, 1, f); + rawtrack[0] = 0; rawtrack[1] = 0; /* flags (reserved) */ + rawtrack[2] = 0; rawtrack[3] = 1; /* track type */ + rawtrack[4] = 0; rawtrack[5] = 0; rawtrack[6]=(uae_u8)(l >> 8); rawtrack[7] = (uae_u8)l; + rawtrack[8] = 0; rawtrack[9] = 0; rawtrack[10] = 0; rawtrack[11] = 0; + memcpy (dostrack, rawtrack, sizeof rawtrack); + dostrack[3] = 0; + dostrack[9] = (l * 8) >> 16; dostrack[10] = (l * 8) >> 8; dostrack[11] = (l * 8) >> 0; + bool dodos = ffs || bootable || (disk_name && _tcslen (disk_name) > 0); + for (i = 0; i < tracks; i++) { + uae_u8 tmp[3 * 4]; + memcpy (tmp, rawtrack, sizeof rawtrack); + if (dodos) + memcpy (tmp, dostrack, sizeof dostrack); zfile_fwrite (tmp, sizeof tmp, 1, f); - for (i = 0; i < tracks; i++) + } + for (i = 0; i < tracks; i++) { + memset (chunk, 0, size); + if (dodos) { + if (i == 0) + floppy_get_bootblock (chunk, ffs, bootable); + else if (i == 80) + floppy_get_rootblock (chunk, 80 * 11 * ddhd, disk_name, adftype); + } zfile_fwrite (chunk, l, 1, f); + } } } xfree (chunk); @@ -2192,7 +2228,7 @@ int disk_setwriteprotect (int num, const TCHAR *name, bool writeprotected) name2 = DISK_get_saveimagepath (name); if (needwritefile && zf2 == 0) - disk_creatediskfile (name2, 1, drvtype, NULL); + disk_creatediskfile (name2, 1, drvtype, NULL, false, false); zfile_fclose (zf2); if (writeprotected && iswritefileempty (name)) { for (i = 0; i < MAX_FLOPPY_DRIVES; i++) { @@ -2523,16 +2559,16 @@ uae_u8 DISK_status (void) return st; } -static int unformatted (drive *drv) +static bool unformatted (drive *drv) { int tr = drv->cyl * 2 + side; if (tr >= drv->num_tracks) - return 1; - if (drv->filetype == ADF_EXT2 && drv->trackdata[tr].bitlen == 0) - return 1; + return true; + if (drv->filetype == ADF_EXT2 && drv->trackdata[tr].bitlen == 0 && drv->trackdata[tr].type != TRACK_AMIGADOS) + return true; if (drv->trackdata[tr].type == TRACK_NONE) - return 1; - return 0; + return true; + return false; } /* get one bit from MFM bit stream */ diff --git a/gayle.cpp b/gayle.cpp index febb4454..347bf6be 100644 --- a/gayle.cpp +++ b/gayle.cpp @@ -194,7 +194,7 @@ STATIC_INLINE void pw (int offset, uae_u16 w) ide->secbuf[offset * 2 + 0] = (uae_u8)w; ide->secbuf[offset * 2 + 1] = w >> 8; } -static void ps (int offset, TCHAR *src, int max) +static void ps (int offset, const TCHAR *src, int max) { int i, len; char *s; diff --git a/include/disk.h b/include/disk.h index 4ec56ac4..4e30a5a6 100644 --- a/include/disk.h +++ b/include/disk.h @@ -28,7 +28,7 @@ extern void DISK_hsync (void); extern void DISK_reset (void); extern int disk_getwriteprotect (const TCHAR *name); extern int disk_setwriteprotect (int num, const TCHAR *name, bool writeprotected); -extern void disk_creatediskfile (TCHAR *name, int type, drive_type adftype, TCHAR *disk_name); +extern void disk_creatediskfile (const TCHAR *name, int type, drive_type adftype, const TCHAR *disk_name, bool ffs, bool bootable); extern void dumpdisk (void); extern int DISK_history_add (const TCHAR *name, int idx, int type, int donotcheck); extern TCHAR *DISK_history_get (int idx, int type); diff --git a/include/keyboard.h b/include/keyboard.h index fd45a90c..7ce9f6d9 100644 --- a/include/keyboard.h +++ b/include/keyboard.h @@ -124,10 +124,13 @@ #define AK_TERM_POWERUP 0xfe // KB LED stuff +#define KBLED_NUMLOCKB 0 +#define KBLED_CAPSLOCKB 1 +#define KBLED_SCROLLLOCKB 2 -#define KBLED_NUMLOCK 1 -#define KBLED_CAPSLOCK 2 -#define KBLED_SCROLLLOCK 4 +#define KBLED_NUMLOCKM (1 << KBLED_NUMLOCKB) +#define KBLED_CAPSLOCKM (1 << KBLED_CAPSLOCKB) +#define KBLED_SCROLLLOCKM (1 << KBLED_SCROLLLOCKB) enum aks { AKS_ENTERGUI = 0x200, AKS_SCREENSHOT_FILE, AKS_SCREENSHOT_CLIPBOARD, AKS_FREEZEBUTTON, AKS_FLOPPY0, AKS_FLOPPY1, AKS_FLOPPY2, AKS_FLOPPY3, diff --git a/od-win32/dinput.cpp b/od-win32/dinput.cpp index 4e705a70..f92992f2 100644 --- a/od-win32/dinput.cpp +++ b/od-win32/dinput.cpp @@ -110,7 +110,7 @@ static int num_mouse, num_keyboard, num_joystick; static int dd_inited, mouse_inited, keyboard_inited, joystick_inited; static int stopoutput; static HANDLE kbhandle = INVALID_HANDLE_VALUE; -static int oldleds, oldusedleds, newleds, oldusbleds; +static int oldleds, oldusedleds, newleds, disabledleds; static int normalmouse, supermouse, rawmouse, winmouse, winmousenumber, winmousemode, winmousewheelbuttonstart; static int normalkb, superkb, rawkb; static bool rawinput_enabled_mouse, rawinput_enabled_keyboard; @@ -136,6 +136,116 @@ int dinput_winmousemode (void) return 0; } + +static BYTE ledkeystate[256]; + +static uae_u32 get_leds (void) +{ + uae_u32 led = 0; + + GetKeyboardState (ledkeystate); + if (ledkeystate[VK_NUMLOCK] & 1) + led |= KBLED_NUMLOCKM; + if (ledkeystate[VK_CAPITAL] & 1) + led |= KBLED_CAPSLOCKM; + if (ledkeystate[VK_SCROLL] & 1) + led |= KBLED_SCROLLLOCKM; + + if (currprefs.win32_kbledmode) { + oldleds = led; + } else if (!currprefs.win32_kbledmode && kbhandle != INVALID_HANDLE_VALUE) { +#ifdef WINDDK + KEYBOARD_INDICATOR_PARAMETERS InputBuffer; + KEYBOARD_INDICATOR_PARAMETERS OutputBuffer; + ULONG DataLength = sizeof(KEYBOARD_INDICATOR_PARAMETERS); + ULONG ReturnedLength; + + memset (&InputBuffer, 0, sizeof (InputBuffer)); + memset (&OutputBuffer, 0, sizeof (OutputBuffer)); + if (!DeviceIoControl (kbhandle, IOCTL_KEYBOARD_QUERY_INDICATORS, + &InputBuffer, DataLength, &OutputBuffer, DataLength, &ReturnedLength, NULL)) + return 0; + led = 0; + if (OutputBuffer.LedFlags & KEYBOARD_NUM_LOCK_ON) + led |= KBLED_NUMLOCKM; + if (OutputBuffer.LedFlags & KEYBOARD_CAPS_LOCK_ON) + led |= KBLED_CAPSLOCKM; + if (OutputBuffer.LedFlags & KEYBOARD_SCROLL_LOCK_ON) + led |= KBLED_SCROLLLOCKM; +#endif + } + return led; +} + +static void kbevt (uae_u8 vk, uae_u8 sc) +{ + keybd_event (vk, 0, 0, 0); + keybd_event (vk, 0, KEYEVENTF_KEYUP, 0); +} + +static void set_leds (uae_u32 led) +{ + if (currprefs.win32_kbledmode) { + if ((oldleds & KBLED_NUMLOCKM) != (led & KBLED_NUMLOCKM) && !(disabledleds & KBLED_NUMLOCKM)) { + kbevt (VK_NUMLOCK, 0x45); + oldleds ^= KBLED_NUMLOCKM; + } + if ((oldleds & KBLED_CAPSLOCKM) != (led & KBLED_CAPSLOCKM) && !(disabledleds & KBLED_CAPSLOCKM)) { + kbevt (VK_CAPITAL, 0x3a); + oldleds ^= KBLED_CAPSLOCKM; + } + if ((oldleds & KBLED_SCROLLLOCKM) != (led & KBLED_SCROLLLOCKM) && !(disabledleds & KBLED_SCROLLLOCKM)) { + kbevt (VK_SCROLL, 0x46); + oldleds ^= KBLED_SCROLLLOCKM; + } + } else if (kbhandle != INVALID_HANDLE_VALUE) { +#ifdef WINDDK + KEYBOARD_INDICATOR_PARAMETERS InputBuffer; + ULONG DataLength = sizeof(KEYBOARD_INDICATOR_PARAMETERS); + ULONG ReturnedLength; + + memset (&InputBuffer, 0, sizeof (InputBuffer)); + if (led & KBLED_NUMLOCKM) + InputBuffer.LedFlags |= KEYBOARD_NUM_LOCK_ON; + if (led & KBLED_CAPSLOCKM) + InputBuffer.LedFlags |= KEYBOARD_CAPS_LOCK_ON; + if (led & KBLED_SCROLLLOCKM) + InputBuffer.LedFlags |= KEYBOARD_SCROLL_LOCK_ON; + if (!DeviceIoControl (kbhandle, IOCTL_KEYBOARD_SET_INDICATORS, + &InputBuffer, DataLength, NULL, 0, &ReturnedLength, NULL)) + write_log (L"kbleds: DeviceIoControl() failed %d\n", GetLastError()); +#endif + } +} + +static void update_leds (void) +{ + if (!currprefs.keyboard_leds_in_use) + return; + if (newleds != oldusedleds) { + oldusedleds = newleds; + set_leds (newleds); + } +} + +void indicator_leds (int num, int state) +{ + int i; + + if (!currprefs.keyboard_leds_in_use) + return; + disabledleds = 0; + for (i = 0; i < 3; i++) { + if (currprefs.keyboard_leds[i] == num + 1) { + newleds &= ~(1 << i); + if (state) + newleds |= 1 << i; + } else if (currprefs.keyboard_leds[i] <= 0) { + disabledleds |= 1 << i; + } + } +} + static int isrealbutton (struct didata *did, int num) { if (num >= did->buttons) @@ -1184,6 +1294,37 @@ static void handle_rawinput_2 (RAWINPUT *raw) if (scancode == 0xaa || scancode == 0) return; + if (!istest) { + if (h == NULL) { + // swallow led key fake messages + if (currprefs.keyboard_leds[KBLED_NUMLOCKB] > 0 && scancode == DIK_NUMLOCK) + return; + if (currprefs.keyboard_leds[KBLED_CAPSLOCKB] > 0 && scancode == DIK_CAPITAL) + return; + if (currprefs.keyboard_leds[KBLED_SCROLLLOCKB] > 0 && scancode == DIK_SCROLL) + return; + } else { + static bool ch; + if (pressed) { + if (currprefs.keyboard_leds[KBLED_NUMLOCKB] > 0 && scancode == DIK_NUMLOCK) { + oldleds ^= KBLED_NUMLOCKM; + ch = true; + } + if (currprefs.keyboard_leds[KBLED_CAPSLOCKB] > 0 && scancode == DIK_CAPITAL) { + oldleds ^= KBLED_CAPSLOCKM; + ch = true; + } + if (currprefs.keyboard_leds[KBLED_SCROLLLOCKB] > 0 && scancode == DIK_SCROLL) { + oldleds ^= KBLED_SCROLLLOCKM; + ch = true; + } + } else if (ch && isfocus ()) { + ch = false; + set_leds (newleds); + } + } + } + for (num = 0; num < num_keyboard; num++) { did = &di_keyboard[num]; if (did->connection != DIDC_RAW) @@ -1967,120 +2108,6 @@ static int get_kb_widget_type (int kb, int num, TCHAR *name, uae_u32 *code) return IDEV_WIDGET_KEY; } -static BYTE ledkeystate[256]; - -static uae_u32 get_leds (void) -{ - uae_u32 led = 0; - - GetKeyboardState (ledkeystate); - if (ledkeystate[VK_NUMLOCK] & 1) - led |= KBLED_NUMLOCK; - if (ledkeystate[VK_CAPITAL] & 1) - led |= KBLED_CAPSLOCK; - if (ledkeystate[VK_SCROLL] & 1) - led |= KBLED_SCROLLLOCK; - - if (currprefs.win32_kbledmode) { - oldusbleds = led; - } else if (!currprefs.win32_kbledmode && kbhandle != INVALID_HANDLE_VALUE) { -#ifdef WINDDK - KEYBOARD_INDICATOR_PARAMETERS InputBuffer; - KEYBOARD_INDICATOR_PARAMETERS OutputBuffer; - ULONG DataLength = sizeof(KEYBOARD_INDICATOR_PARAMETERS); - ULONG ReturnedLength; - - memset (&InputBuffer, 0, sizeof (InputBuffer)); - memset (&OutputBuffer, 0, sizeof (OutputBuffer)); - if (!DeviceIoControl (kbhandle, IOCTL_KEYBOARD_QUERY_INDICATORS, - &InputBuffer, DataLength, &OutputBuffer, DataLength, &ReturnedLength, NULL)) - return 0; - led = 0; - if (OutputBuffer.LedFlags & KEYBOARD_NUM_LOCK_ON) - led |= KBLED_NUMLOCK; - if (OutputBuffer.LedFlags & KEYBOARD_CAPS_LOCK_ON) - led |= KBLED_CAPSLOCK; - if (OutputBuffer.LedFlags & KEYBOARD_SCROLL_LOCK_ON) - led |= KBLED_SCROLLLOCK; -#endif - } - return led; -} - -static void kbevt (uae_u8 vk, uae_u8 sc) -{ - if (0) { - INPUT inp[2] = { 0 }; - int i; - - for (i = 0; i < 2; i++) { - inp[i].type = INPUT_KEYBOARD; - inp[i].ki.wVk = vk; - } - inp[1].ki.dwFlags |= KEYEVENTF_KEYUP; - SendInput (1, inp, sizeof (INPUT)); - SendInput (1, inp + 1, sizeof (INPUT)); - } else { - keybd_event (vk, 0, 0, 0); - keybd_event (vk, 0, KEYEVENTF_KEYUP, 0); - } -} - -static void set_leds (uae_u32 led) -{ - if (currprefs.win32_kbledmode) { - if ((oldusbleds & KBLED_NUMLOCK) != (led & KBLED_NUMLOCK)) - kbevt (VK_NUMLOCK, 0x45); - if ((oldusbleds & KBLED_CAPSLOCK) != (led & KBLED_CAPSLOCK)) - kbevt (VK_CAPITAL, 0x3a); - if ((oldusbleds & KBLED_SCROLLLOCK) != (led & KBLED_SCROLLLOCK)) - kbevt (VK_SCROLL, 0x46); - oldusbleds = led; - } else if (kbhandle != INVALID_HANDLE_VALUE) { -#ifdef WINDDK - KEYBOARD_INDICATOR_PARAMETERS InputBuffer; - ULONG DataLength = sizeof(KEYBOARD_INDICATOR_PARAMETERS); - ULONG ReturnedLength; - - memset (&InputBuffer, 0, sizeof (InputBuffer)); - if (led & KBLED_NUMLOCK) - InputBuffer.LedFlags |= KEYBOARD_NUM_LOCK_ON; - if (led & KBLED_CAPSLOCK) - InputBuffer.LedFlags |= KEYBOARD_CAPS_LOCK_ON; - if (led & KBLED_SCROLLLOCK) - InputBuffer.LedFlags |= KEYBOARD_SCROLL_LOCK_ON; - if (!DeviceIoControl (kbhandle, IOCTL_KEYBOARD_SET_INDICATORS, - &InputBuffer, DataLength, NULL, 0, &ReturnedLength, NULL)) - write_log (L"kbleds: DeviceIoControl() failed %d\n", GetLastError()); -#endif - } -} - -static void update_leds (void) -{ - if (!currprefs.keyboard_leds_in_use) - return; - if (newleds != oldusedleds) { - oldusedleds = newleds; - set_leds (newleds); - } -} - -void indicator_leds (int num, int state) -{ - int i; - - if (!currprefs.keyboard_leds_in_use) - return; - for (i = 0; i < 3; i++) { - if (currprefs.keyboard_leds[i] == num + 1) { - newleds &= ~(1 << i); - if (state) - newleds |= (1 << i); - } - } -} - static int init_kb (void) { int i; diff --git a/od-win32/hardfile_win32.cpp b/od-win32/hardfile_win32.cpp index 0e4f2fd0..b7625154 100644 --- a/od-win32/hardfile_win32.cpp +++ b/od-win32/hardfile_win32.cpp @@ -90,6 +90,7 @@ static void rdbdump (HANDLE h, uae_u64 offset, uae_u8 *buf, int blocksize) FILE *f; bool needfree = false; + write_log (L"creating rdb dump.. offset=%I64X blocksize=%d\n", offset, blocksize); if (buf) { blocks = (buf[132] << 24) | (buf[133] << 16) | (buf[134] << 8) | (buf[135] << 0); if (blocks < 0 || blocks > 100000) @@ -101,8 +102,10 @@ static void rdbdump (HANDLE h, uae_u64 offset, uae_u8 *buf, int blocksize) } _stprintf (name, L"rdb_dump_%d.rdb", cnt); f = _tfopen (name, L"wb"); - if (!f) + if (!f) { + write_log (L"failed to create file '%s'\n", name); return; + } for (i = 0; i <= blocks; i++) { DWORD outlen; LONG high; diff --git a/od-win32/lib/prowizard.lib b/od-win32/lib/prowizard.lib index 2881840e8a43366e094f821436693d1009bc1116..48c358c8b176a77ac70f4d26dba0aa051f935984 100644 GIT binary patch delta 7114 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 F`9JdH5FG#j delta 7211 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 J;D{Aj{|8K(M1KGP diff --git a/od-win32/lib/prowizard_x64.lib b/od-win32/lib/prowizard_x64.lib index 5827edc615f4ef4547f9a66b72cdd200e7a8f57c..6f3aeaedb5cf0d2f756a1acfa1d9bdc767af2905 100644 GIT binary patch delta 104084 zcmdSC33wF6);C@~Gu<=OStc7KtO=Pw*hvUWfB*?=fB<2WeG^1n0YOCsCM+rtf?&{c z2NZW?5oAEwg32Pu>Q%3(ETVW35D*aA^8cMWoyid3e)oN!@BKgT$3vxlb*iSPyX%}& zr_QOW$ve<}-TvZ3nGKlpuVIx|P;Rx;cfB9Iav z6GlmDu~HZ%sgDpwNqRU}7$xbMIl?GOOGXN#Y}&O!7`uG*Cn()mBaAZ1+3Y6~NIf?R z=bh4&Ny1r@UYR4D|EKizapCmQpP=LtZ-`q`o$10=HuW7TTqWtTvBFh0z0pLt%BGzM zgsV*QxlZBYWs*A~PTZ1u&JymjY3AF)T{eB1Biv=vi4DSCCYd!q5lBAzQ=0CZBh0et z!+ydnN!ufYS(1*P7iLMi^0hFn6cW8v+>)A}7a?WSsGcHZl#l)drI%bHq-^^3ng}VA zLY;=VCAC;4Ld&MdHi*!&Y1JqZT9SMv;7}_OS|){sP7=4I7QIDSN$Ocwgxx7ExFNzy z((-*GEI94X5MfsGg`J!yZc4?MMVOVsD~5|eYBW-W2dB}ABD^Hc{8EIMq&F9f@UrR4 z$s)W=^4Jy%Bp>}LO?7$-&+XFvTZN}2&AcW&Wz)uN;VGL=X9$m#B5Z3#AjS0-5rO2h z3Y~ut5oOc(_eDfWnqN^wlucXLh=`K(LtPP3k}ggc5kV<3WR$oiwd^b+Df#G6zkRo+ zNh3uhrGh4<>Ai*`vLt=JMnslP=aWR_e~_Y@yevwRFRE)r5lHtXil~w_Ww(ebo8Ep~ zM3qhZwumT7hxh$=lJ7tMP;^F&_`jcg{}UJeFI?02Kk`)n`3?B~@4wRj{LAs(!~O^Q z^rjn-N9)+D$nM9ZovW9btEv`0QTzGA_pv`Z7G4r^lV-g^dO)RZr7d^Y!MdrtLaetIU>>1z?HC}Uwg{K^1ccL!l_R+SE3rU1YcopLi_M5Gz|4Li902?!$(d^Nb-zE-}Q0U4~e5!w^3; zbBawponq1yrjkP|@m8sF)NQCVICB6Louri5m;T#J=TWB4c-$n0GQvTrLh%qshod z;UaN#xcG8rxLEvVxS0H9xL9cOh@N#kV(a}Lac!nYWN-9{jME;m))pap$3=)A`gM*F z?~jiV73W8YHCrP@-5(;v^otQlZ0TPKp#w3L-_r_aeob&m%?B`AG3{ zlPFQKYm`X5FG}p55+&Y#J4$TX7bW%`juJ5$(c;;{26w%sWflJ8t_ERQqL!#B9v0c6 zpU5nX?3)$cT4acNB1W`AUSHG@ng}brw{It{b>XVM<+RMz+xu46^wuH^&Cm7w%0i#@ z|C`b3q5;px$(3u|wF;{|V9IV&-SrD^q&1Rp+rm>hKjw_L9$}%3)Wu*tkZGn>4k!a^%x>#rF6q zIrr8UVo~9O-z&+*(>zJ;rI=QEokDCcT=kLHa7GL9NjaJMq?V}9EiXjnLT$BIZx;tf zmP_^;@rC>R4*g*i=M?rp#k)XjxFTVlLqCAxc~ucn0iTtTkA%j{Ej4t9-W=t-3(w&r zc|dbjO<@YI^*)N9sEY4^j+a*0Dhd%*xL}P}PXWp(JbF65aLXx&J^-ahh%S#z_aqgL z1?dxz_Nb<(fG(@1bf4ub3DK}{+Q(i!7if^|F&?+GvV6EMSA7>6BYm-sXk$8RzOE!Q z^R%jR>|Vp6r&ku@x58>`y?R6ydWKcgqT&mOopxx=Wsf(*y@m7FIWyj&ViUht9|H8S%=!exxqvS!;##0>im2hKcjIy^ zu4>VGcr77n%LUXn8?bkww$7_R0`wdcR|0M*?6J0lC@KE6_twR zQIu@<+VaR-wi>pO+AqA}>?%hLa zF2L17goq0kGKI&1SEgvu7BWRmpbm;w*FvVq0(wc&+FQsJgMd0K+As^5Vhm6_MH_D+ zQ%nbHFN64R z@7jIdXRhv}*1fq>j(gEIS6jL|;>XV6H_Ky8qh_fkqr}Lk6O=q=78d;8RxX`jtLffl z6XHaK5FZt4r@Y3CF+!x5mnqXAi^Cv`4;J<~<<;i^y)GjwMtJ3!*PIhbCX5cTLJWzO zXJZ^*2jHy2tkYiYZ8@#4?sdP1J6#T9-@*l_y@m!M+h2jN`8Ti*Vex8SdCnc?E!?us zq1BP+db+)Zxn~@DD+tqy!v1Hx`f#rh}6Yy{e= zDwJ5CK=ChCQLe5K)nt!ftWUH?aZKU3KfHPY&`YX<#7mC+)g2{=ZMT)zHp>Oic=&F< zkVl{KBx~O>C1Sm!u+iBldG;+^dE4>2a(>gWu7wBB&h{^Nx(w#$!fG4NtsZ#cnlY3( z86pPOx@;j+5GQ9STC9akL7beVXekyl1#$8`MeAfCQxGRZbK-g<3CXhs;T3$uwbd1I zj)hD?T$`+D7`hcQ1#xYnqOG)$DTr$!%(&oZ7Ba;@faWOLKP_a63qVa3?XrbT5e^na zpTyzAQ4GPq4S-szhH0xuT??;#TfSWBZ&X2hKeUuB7f;g4mrHNju#p-j;AI>6ba};> zLuF(Qt*yH^#)s8-gHAcPhUV3O4#$(o{N1j2_t*HYOpg#Ta_DR$-ux293^1<|DHE>Q zs=7Cz{A#2S{p7f@2K0Uu>HQ_&I=!~{qvY5mvxfGO9G9#m>)TPYN4}Pft7n2yH>e@! zIEIq5QXA;<>fzwis%nVH0Ll&;RYsvaPt_~~TE~M2>FRIfs+wA|_7i2yNynvD3zWZ@ z0#4Gd${wKD>=ot8hOVyCJ2AAC)N5;9{Ug)Eg1E`wqn@_akdfcJddF8)Z})C=10hq4 z14>Y|M+wQ9-@E!d;}zku|JO!ZYRGN-V6ILtwY*%AD?i9x%ydnG>F7Crr^T$QbPjWoRB12J;QRql6&RR&gkN2G2p(UhGI3UuBWlsD|5SO4qH(r8L`cl z=-z>s`5l@qmeac65%VB9an)I8WmXp=NA3q%zaMat+`k{Z^&;R>SuF?Dt$=5k8j5!o zC&z)RHIY3A=-$F3f6&+sm~6|gAs27A)zAjYB~%<*Lk*bnLQOqVZf@vm#r!aIrWPVE zbk*9FVG8;FGg^p0vxgS#^pScYT?nh!LZ%?~(q7RjSqMW3P(wv)WFb?KdU;gQx?0Fo z>LpFlMuSGk6psTzUE({Qv=9t&pn5!b&SQv%q;gp6EwPX(Naa8soc>z-a<`WdS#iCV_8{dd$XlD^6Kf@dNAZ&qVw-BnG9Z{=PhUj)<>Wx{lfnQA!eXcuJar!X+1z!g>1n9W9d2FfGVpgkRE zUQo?4l)qLr=YeiejaRP>j!aQQc{iW|fuUTRNW-;tD|e&+^H6 zF@-;to+4A4+Y-$#23QXC{3bGEo2{xjAJ4xxU5KF>sw0eNFz6R%$bFNwL}L|jQHGp9 z+~L&$f6tI(Z-DH^$XTnU>L8;daIcoCxouoanF~E(o7PfhwnF|)OVS&Oa(-5{!}fAZ znfH}u6&7)!Fy*YnwzQ?3kJfVf49zlER-(4Pr>p#Vj^0W_t>pNh54&lYfkvt1^pVwq z-iNG`S|P+%OP->US|P+%OJzkPwL*xkmLf$XwL*xkmLx?ZtA&s$$o}R*iqr}rQ<>ih ztV~F+0D?%COckIIrB(>BCBxPe5f`N1?T<*(rR&{@latByQrp)>^%&RxVm0QW- z16*Ehko0{8<6~q5&(nMnGPflrYO7bm2pPCX%k>|A+ZJquyuV)?Xvk?DopB-DBk_1! zRb=HIdX*4pJiL`IAeeG@M`sloX^V`h#N0t619Qh>pb*t^ssGjQw0e%)zbiS_9g^gq z{iCJ@xf1gJ&|_m7H%e7Ti82wx)vMYfhnvO&?%jAH$#@HY%G9HHA0}12b}uqp-0H!e}%M_M>3)v#&|eRJW(=Zct};Z!-fF_ zH{DtmU%~xf$Ds45Tt)M=bXQms&5DfeFmJz&5 zD2XU9_tle>@8vK^S5>4)NcS?4pH$+6Y43znKE)6RQC|T`{U&i z@)FGgUaZLaCcrP{m>c-s-vC`wgCE4GkpMlPAh!&`

luQ>O#YOHgWDTP9az*pjt1 z^61qNZ=?sx{43P{0P~Ih)s^S^M8~G`h3C+_F)J%ua^2*xF|6?qB?gJ6L85beqfRBcqUwAOQ&^WC}70?*$4GB*uiG z-+*3Iv~&xZqB{_VHMHwxAyd%oqqd@rvXCig_JK!7yC*DUidjH-Hu9~^Wr#0%1&HUI zi!5Y{`aM^O-pa0G!o5O*|+%(p7^zZ zZ{GchdpqvD_^K+|7+o0$#%Pd=S!@1oSZr zUI)OQmf($L!JEi}XM^A^Ky6__@Qz+ImEd&&f23K0HxP_=FALsNfX^$zTMe|C1&?Nr zKcaY@DvV0#kYr1|+Ov4|DHX4QEM5->#7o0WlMFzm)F;)uS-`^N#MZVpWu#0(%EJ8H z+Ssld|0PkAit$L)2>m}IYK7{iNz@4aH%0AuXWQa`D{AdV*-nO)4ua&7h)!vi77#V| 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

xN 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 diff --git a/od-win32/resources/resource b/od-win32/resources/resource index d1613508..d973831b 100644 --- a/od-win32/resources/resource +++ b/od-win32/resources/resource @@ -998,9 +998,12 @@ #define IDC_DF1ENABLE 1774 #define IDC_FS_SELECT_DIR 1774 #define IDC_FS_SELECT_FILE 1775 +#define IDC_FLOPPY_FFS 1775 #define IDC_DF2ENABLE 1776 #define IDC_FS_SELECT_EJECT 1776 #define IDC_FS_RW 1777 +#define IDC_FLOPPY_FFS2 1777 +#define IDC_FLOPPY_BOOTABLE 1777 #define IDC_DF3ENABLE 1778 #define IDC_HDF_RW 1778 #define IDC_HDFINFO 1779 @@ -1034,7 +1037,6 @@ #define IDC_DXMODE 1792 #define IDC_RTG_VBLANKRATE 1793 #define IDC_DF0WPTEXTQ 1793 -#define IDC_DXMODE2 1793 #define IDC_WINDOWEDMODE 1793 #define IDC_DF1WPTEXTQ 1794 #define IDC_INPUTMAPLIST 1797 diff --git a/od-win32/resources/winuae.rc b/od-win32/resources/winuae.rc index fa65fddc..be133cc3 100644 --- a/od-win32/resources/winuae.rc +++ b/od-win32/resources/winuae.rc @@ -265,7 +265,7 @@ BEGIN PUSHBUTTON "...",IDC_DF3,287,109,10,15 GROUPBOX "New Floppy Disk Image",IDC_SETTINGSTEXT,5,183,289,49 COMBOBOX IDC_FLOPPYTYPE,12,197,64,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "Create Standard Disk [] Creates a standard 880 or 1760 KB ADF disk image.",IDC_CREATE,81,196,97,15 + PUSHBUTTON "Create Standard Disk [] Creates a standard 880 or 1760 KB ADF disk image.",IDC_CREATE,85,196,97,15 PUSHBUTTON "Create Custom Disk [] Creates a low level (MFM) ADF disk image (about 2MB). Useful for programs that use non-standard disk formats (for example some save disks or DOS-formatted floppies)",IDC_CREATE_RAW,187,196,101,15 GROUPBOX "Floppy Drive Emulation Speed",IDC_SETTINGSTEXT2,5,144,289,35 CONTROL "",IDC_FLOPPYSPD,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,32,154,116,20 @@ -274,12 +274,14 @@ BEGIN PUSHBUTTON "Delete save image",IDC_SAVEIMAGE1,43,40,70,15,NOT WS_VISIBLE PUSHBUTTON "Delete save image",IDC_SAVEIMAGE2,43,75,70,15,NOT WS_VISIBLE PUSHBUTTON "Delete save image",IDC_SAVEIMAGE3,43,110,70,15,NOT WS_VISIBLE - EDITTEXT IDC_CREATE_NAME,81,215,97,13,ES_AUTOHSCROLL - RTEXT "Disk label:",IDC_STATIC,15,216,52,10,SS_CENTERIMAGE + EDITTEXT IDC_CREATE_NAME,85,215,97,13,ES_AUTOHSCROLL + RTEXT "Disk label:",IDC_STATIC,15,216,58,10,SS_CENTERIMAGE CONTROL "DF0:",IDC_DF0ENABLE,"Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,3,6,34,15 CONTROL "DF1:",IDC_DF1ENABLE,"Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,3,41,34,15 CONTROL "DF2:",IDC_DF2ENABLE,"Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,3,76,34,15 CONTROL "DF3:",IDC_DF3ENABLE,"Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,3,111,34,15 + CONTROL "FFS",IDC_FLOPPY_FFS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,255,214,34,15 + CONTROL "Bootblock",IDC_FLOPPY_BOOTABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,189,214,59,15 END IDD_HARDDISK DIALOGEX 0, 0, 300, 243 @@ -1213,6 +1215,10 @@ BEGIN BEGIN END + IDD_FLOPPY, DIALOG + BEGIN + END + IDD_HARDDISK, DIALOG BEGIN END diff --git a/od-win32/win32.cpp b/od-win32/win32.cpp index 3cac039d..0345a736 100644 --- a/od-win32/win32.cpp +++ b/od-win32/win32.cpp @@ -2186,9 +2186,9 @@ void logging_init (void) write_log (L"%s (%d.%d %s%s[%d])", VersionStr, osVersion.dwMajorVersion, osVersion.dwMinorVersion, osVersion.szCSDVersion, _tcslen (osVersion.szCSDVersion) > 0 ? L" " : L"", os_winnt_admin); - write_log (L" %d-bit %X.%X %d", + write_log (L" %d-bit %X.%X.%X %d", wow64 ? 64 : 32, - SystemInfo.wProcessorLevel, SystemInfo.wProcessorRevision, + SystemInfo.wProcessorArchitecture, SystemInfo.wProcessorLevel, SystemInfo.wProcessorRevision, SystemInfo.dwNumberOfProcessors); write_log (L"\n(c) 1995-2001 Bernd Schmidt - Core UAE concept and implementation." L"\n(c) 1998-2010 Toni Wilen - Win32 port, core code updates." @@ -2394,14 +2394,14 @@ static int get_aspi (int old) static void __cdecl wparse_cmdline ( - _TSCHAR *cmdstart, + const _TSCHAR *cmdstart, _TSCHAR **argv, _TSCHAR *args, int *numargs, int *numchars ) { - _TSCHAR *p; + const _TSCHAR *p; _TUCHAR c; int inquote; /* 1 = inside quotes */ int copychar; /* 1 = copy char to *args */ @@ -2571,7 +2571,7 @@ static void __cdecl wparse_cmdline ( #define MAX_ARGUMENTS 128 -static TCHAR **parseargstring (TCHAR *s) +static TCHAR **parseargstring (const TCHAR *s) { TCHAR **p; int numa, numc; @@ -2594,7 +2594,7 @@ static TCHAR **parseargstring (TCHAR *s) } -static void shellexecute (TCHAR *command) +static void shellexecute (const TCHAR *command) { STARTUPINFO si = { 0 }; PROCESS_INFORMATION pi = { 0 }; @@ -2702,7 +2702,7 @@ void target_default_options (struct uae_prefs *p, int type) p->win32_automount_removabledrives = 0; p->win32_automount_cddrives = 0; p->win32_automount_netdrives = 0; - p->win32_kbledmode = 0; + p->win32_kbledmode = 1; p->win32_uaescsimode = UAESCSI_CDEMU; p->win32_borderless = 0; p->win32_powersavedisabled = 1; @@ -2715,6 +2715,7 @@ void target_default_options (struct uae_prefs *p, int type) p->win32_commandpathstart[0] = 0; p->win32_commandpathend[0] = 0; p->win32_statusbar = 1; + p->gfx_api = 1; } if (type == 1 || type == 0) { p->win32_uaescsimode = UAESCSI_CDEMU; @@ -4269,22 +4270,24 @@ static void getstartpaths (void) fullpath (start_path_data, sizeof start_path_data / sizeof (TCHAR)); SetCurrentDirectory (start_path_data); + // use path via command line? if (!start_path_plugins[0]) { + // default path _tcscpy (start_path_plugins, start_path_data); _tcscat (start_path_plugins, WIN32_PLUGINDIR); + } + v = GetFileAttributes (start_path_plugins); + if (!start_path_plugins[0] || v == INVALID_FILE_ATTRIBUTES || !(v & FILE_ATTRIBUTE_DIRECTORY)) { + // not found, exe path? + _tcscpy (start_path_plugins, start_path_exe); + _tcscat (start_path_plugins, WIN32_PLUGINDIR); v = GetFileAttributes (start_path_plugins); if (v == INVALID_FILE_ATTRIBUTES || !(v & FILE_ATTRIBUTE_DIRECTORY)) - _tcscpy (start_path_plugins, start_path_data); - } else { - v = GetFileAttributes (start_path_plugins); - if (v == INVALID_FILE_ATTRIBUTES || !(v & FILE_ATTRIBUTE_DIRECTORY) || start_data == 0 || start_data == -2) { - _tcscpy (start_path_plugins, start_path_exe); - } + _tcscpy (start_path_plugins, start_path_data); // not found, very default path } fixtrailing (start_path_plugins); fullpath (start_path_plugins, sizeof start_path_plugins / sizeof (TCHAR)); setpathmode (path_type); - } extern void test (void); diff --git a/od-win32/win32.h b/od-win32/win32.h index 12184f17..14ab8a44 100644 --- a/od-win32/win32.h +++ b/od-win32/win32.h @@ -18,8 +18,8 @@ #define WINUAEPUBLICBETA 1 #define LANG_DLL 1 -#define WINUAEBETA L"14" -#define WINUAEDATE MAKEBD(2010, 8, 31) +#define WINUAEBETA L"15" +#define WINUAEDATE MAKEBD(2010, 9, 5) #define WINUAEEXTRA L"" #define WINUAEREV L"" diff --git a/od-win32/win32gui.cpp b/od-win32/win32gui.cpp index 626e0756..dcf47ae1 100644 --- a/od-win32/win32gui.cpp +++ b/od-win32/win32gui.cpp @@ -193,6 +193,10 @@ static bool ischecked (HWND hDlg, DWORD id) { return IsDlgButtonChecked (hDlg, id) == BST_CHECKED; } +static void setchecked (HWND hDlg, DWORD id, bool checked) +{ + CheckDlgButton (hDlg, id, checked ? BST_CHECKED : BST_UNCHECKED); +} static void setfocus (HWND hDlg, int id) { SendMessage (hDlg, WM_NEXTDLGCTL, (WPARAM)GetDlgItem (hDlg, id), TRUE); @@ -1564,7 +1568,6 @@ int scan_roms (HWND hDlg, int show) int id, i, ret, keys, cnt; UAEREG *fkey, *fkey2; TCHAR *paths[MAX_ROM_PATHS]; - HWND hwnd = 0; MSG msg; if (recursive) @@ -1577,10 +1580,13 @@ int scan_roms (HWND hDlg, int show) goto end; infoboxdialogstate = true; - hwnd = CreateDialog (hUIDLL ? hUIDLL : hInst, MAKEINTRESOURCE (IDD_INFOBOX), hDlg, InfoBoxDialogProc); - if (!hwnd) - goto end; - infoboxhwnd = hwnd; + infoboxhwnd = NULL; + if (!rp_isactive ()) { + HWND hwnd = CreateDialog (hUIDLL ? hUIDLL : hInst, MAKEINTRESOURCE (IDD_INFOBOX), hDlg, InfoBoxDialogProc); + if (!hwnd) + goto end; + infoboxhwnd = hwnd; + } cnt = 0; ret = 0; @@ -1631,8 +1637,9 @@ int scan_roms (HWND hDlg, int show) } end: - infoboxhwnd = NULL; - if (hwnd) { + if (infoboxhwnd) { + HWND hwnd = infoboxhwnd; + infoboxhwnd = NULL; DestroyWindow (hwnd); while (PeekMessage (&msg, 0, 0, 0, PM_REMOVE)) { TranslateMessage (&msg); @@ -2337,11 +2344,14 @@ int DiskSelection_2 (HWND hDlg, WPARAM wParam, int flag, struct uae_prefs *prefs TCHAR disk_name[32]; disk_name[0] = 0; disk_name[31] = 0; GetDlgItemText (hDlg, IDC_CREATE_NAME, disk_name, 30); - disk_creatediskfile (full_path, 0, (drive_type)SendDlgItemMessage (hDlg, IDC_FLOPPYTYPE, CB_GETCURSEL, 0, 0L), disk_name); + disk_creatediskfile (full_path, 0, (drive_type)SendDlgItemMessage (hDlg, IDC_FLOPPYTYPE, CB_GETCURSEL, 0, 0L), disk_name, ischecked (hDlg, IDC_FLOPPY_FFS), ischecked (hDlg, IDC_FLOPPY_BOOTABLE)); } break; case IDC_CREATE_RAW: - disk_creatediskfile (full_path, 1, (drive_type)SendDlgItemMessage (hDlg, IDC_FLOPPYTYPE, CB_GETCURSEL, 0, 0L), NULL); + TCHAR disk_name[32]; + disk_name[0] = 0; disk_name[31] = 0; + GetDlgItemText (hDlg, IDC_CREATE_NAME, disk_name, 30); + disk_creatediskfile (full_path, 1, (drive_type)SendDlgItemMessage (hDlg, IDC_FLOPPYTYPE, CB_GETCURSEL, 0, 0L), disk_name, ischecked (hDlg, IDC_FLOPPY_FFS), ischecked (hDlg, IDC_FLOPPY_BOOTABLE)); break; case IDC_LOAD: if (target_cfgfile_load (&workprefs, full_path, 0, 0) == 0) { @@ -4082,7 +4092,7 @@ static void checkautoload (HWND hDlg, struct ConfigStruct *config) ct = 0; ConfigToRegistry2 (ct, configtypepanel, -1); } - CheckDlgButton(hDlg, IDC_CONFIGAUTO, ct ? BST_CHECKED : BST_UNCHECKED); + CheckDlgButton (hDlg, IDC_CONFIGAUTO, ct ? BST_CHECKED : BST_UNCHECKED); ew (hDlg, IDC_CONFIGAUTO, configtypepanel > 0 && config && !config->Directory ? TRUE : FALSE); regqueryint (NULL, L"ConfigFile_NoAuto", &ct); CheckDlgButton(hDlg, IDC_CONFIGNOLINK, ct ? BST_CHECKED : BST_UNCHECKED); @@ -7047,7 +7057,7 @@ static void init_kickstart (HWND hDlg) ew (hDlg, IDC_FLASHCHOOSER), FALSE); #endif if (!regexiststree (NULL , L"DetectedROMs")) - scan_roms (NULL, 1); + scan_roms (NULL, rp_isactive () ? 0 : 1); } static void kickstartfilebuttons (HWND hDlg, WPARAM wParam, TCHAR *path) @@ -9810,7 +9820,7 @@ static INT_PTR CALLBACK FloppyDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPARA { static int recursive = 0; int i; - static TCHAR diskname[40] = { L"empty" }; + static TCHAR diskname[40] = { L"" }; switch (msg) { @@ -9908,6 +9918,17 @@ static INT_PTR CALLBACK FloppyDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPARA case IDC_DF3TYPE: getfloppytype (hDlg, 3); break; + case IDC_FLOPPYTYPE: + int val = SendDlgItemMessage (hDlg, IDC_FLOPPYTYPE, CB_GETCURSEL, 0, 0L); + bool afloppy = val >= 0 && val <= 1; + ew (hDlg, IDC_FLOPPY_FFS, afloppy); + ew (hDlg, IDC_FLOPPY_BOOTABLE, afloppy); + ew (hDlg, IDC_CREATE_NAME, afloppy); + if (!afloppy) { + setchecked (hDlg, IDC_FLOPPY_FFS, false); + setchecked (hDlg, IDC_FLOPPY_BOOTABLE, false); + } + break; } } switch (LOWORD (wParam)) @@ -9999,6 +10020,7 @@ static INT_PTR CALLBACK FloppyDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPARA addfloppyhistory (hDlg); break; } + GetDlgItemText (hDlg, IDC_CREATE_NAME, diskname, 30); recursive--; break; diff --git a/od-win32/winuaechangelog.txt b/od-win32/winuaechangelog.txt index 43a758f2..2bf393bb 100644 --- a/od-win32/winuaechangelog.txt +++ b/od-win32/winuaechangelog.txt @@ -1,4 +1,13 @@ +Beta 15: + +- swallow USB keyboard led mode phantom keypresses, do not touch non-enabled keyboard leds, + key pressess do not cause lost led state sync anymore. rawinput mode only. +- floppy panel disk image creator can now create FFS and bootable images, pre-formatted + extended adf ("custom floppy") will be created if label is set or FFS or bootblock is ticked. + (empty label box = label will be "empty" when creation standard adf) +- b1 plugin path detection didn't check exe location\plugins + Beta 14: - DSKSTEP and DSKSELx going inactive at the same time steps the rw-head normally -- 2.47.3