From: Toni Wilen Date: Sun, 26 Aug 2012 11:18:48 +0000 (+0300) Subject: 2500b13 X-Git-Tag: 2500~18 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=f4e416cf973393c317ab02c012285fcda62a9a1f;p=francis%2Fwinuae.git 2500b13 --- diff --git a/audio.cpp b/audio.cpp index 7e10af13..fb59a377 100644 --- a/audio.cpp +++ b/audio.cpp @@ -318,12 +318,14 @@ typedef uae_s8 sample8_t; #define DO_CHANNEL_1(v, c) do { (v) *= audio_channel[c].vol; } while (0) #define SBASEVAL16(logn) ((logn) == 1 ? SOUND16_BASE_VAL >> 1 : SOUND16_BASE_VAL) -STATIC_INLINE int FINISH_DATA (int data, int bits, int logn) +STATIC_INLINE int FINISH_DATA (int data, int bits) { - if (14 - bits + logn > 0) { - data >>= 14 - bits + logn; + if (bits == 16) { + return data; + } else if (bits - 16 > 0) { + data >>= bits - 16; } else { - int shift = bits - 14 - logn; + int shift = 16 - bits; int right = data & ((1 << shift) - 1); data <<= shift; data |= right; @@ -529,7 +531,8 @@ static void sinc_prehandler (unsigned long best_evtime) for (i = 0; i < 4; i++) { acd = &audio_channel[i]; - output = (acd->current_sample * acd->vol) & acd->adk_mask; + int vol = acd->vol; + output = (acd->current_sample * vol) & acd->adk_mask; /* if output state changes, record the state change and also * write data into sinc queue for mixing in the BLEP */ @@ -570,12 +573,12 @@ STATIC_INLINE void samplexx_sinc_handler (int *datasp) int offsetpos = acd->sinc_queue_head & (SINC_QUEUE_LENGTH - 1); for (j = 0; j < SINC_QUEUE_LENGTH; j += 1) { int age = acd->sinc_queue_time - acd->sinc_queue[offsetpos].time; - if (age >= SINC_QUEUE_MAX_AGE) + if (age >= SINC_QUEUE_MAX_AGE || age < 0) break; sum -= winsinc[age] * acd->sinc_queue[offsetpos].output; offsetpos = (offsetpos + 1) & (SINC_QUEUE_LENGTH - 1); } - v = sum >> 17; + v = sum >> 15; if (v > 32767) v = 32767; else if (v < -32768) @@ -590,7 +593,7 @@ static void sample16i_sinc_handler (void) samplexx_sinc_handler (datas); data1 = datas[0] + datas[3] + datas[1] + datas[2]; - data1 = FINISH_DATA (data1, 16, 2); + data1 = FINISH_DATA (data1, 18); set_sound_buffers (); PUT_SOUND_WORD_MONO (data1); check_sound_buffers (); @@ -616,7 +619,7 @@ void sample16_handler (void) data0 += data2; data0 += data3; data = SBASEVAL16(2) + data0; - data = FINISH_DATA (data, 16, 2); + data = FINISH_DATA (data, 16); set_sound_buffers (); PUT_SOUND_WORD_MONO (data); check_sound_buffers (); @@ -630,7 +633,7 @@ static void sample16i_anti_handler (void) samplexx_anti_handler (datas); data1 = datas[0] + datas[3] + datas[1] + datas[2]; - data1 = FINISH_DATA (data1, 16, 2); + data1 = FINISH_DATA (data1, 16); set_sound_buffers (); PUT_SOUND_WORD_MONO (data1); check_sound_buffers (); @@ -682,7 +685,7 @@ static void sample16i_rh_handler (void) ratio = ((audio_channel[3].evtime % delta) << 8) / delta; data0 += (data3 * (256 - ratio) + data3p * ratio) >> 8; data = SBASEVAL16(2) + data0; - data = FINISH_DATA (data, 16, 2); + data = FINISH_DATA (data, 16); set_sound_buffers (); PUT_SOUND_WORD_MONO (data); check_sound_buffers (); @@ -754,7 +757,7 @@ static void sample16i_crux_handler (void) data0 += data3; data0 += data1; data = SBASEVAL16(2) + data0; - data = FINISH_DATA (data, 16, 2); + data = FINISH_DATA (data, 16); set_sound_buffers (); PUT_SOUND_WORD_MONO (data); check_sound_buffers (); @@ -786,10 +789,10 @@ void sample16ss_handler (void) data2 &= audio_channel[2].adk_mask; data3 &= audio_channel[3].adk_mask; - data0 = FINISH_DATA (data0, 16, 0); - data1 = FINISH_DATA (data1, 16, 0); - data2 = FINISH_DATA (data2, 16, 0); - data3 = FINISH_DATA (data3, 16, 0); + data0 = FINISH_DATA (data0, 14); + data1 = FINISH_DATA (data1, 14); + data2 = FINISH_DATA (data2, 14); + data3 = FINISH_DATA (data3, 14); set_sound_buffers (); put_sound_word_left (data0); put_sound_word_right (data1); @@ -809,10 +812,10 @@ void sample16ss_anti_handler (void) int datas[4]; samplexx_anti_handler (datas); - data0 = FINISH_DATA (datas[0], 16, 0); - data1 = FINISH_DATA (datas[1], 16, 0); - data2 = FINISH_DATA (datas[2], 16, 0); - data3 = FINISH_DATA (datas[3], 16, 0); + data0 = FINISH_DATA (datas[0], 14); + data1 = FINISH_DATA (datas[1], 14); + data2 = FINISH_DATA (datas[2], 14); + data3 = FINISH_DATA (datas[3], 14); set_sound_buffers (); put_sound_word_left (data0); put_sound_word_right (data1); @@ -830,8 +833,8 @@ static void sample16si_anti_handler (void) samplexx_anti_handler (datas); data1 = datas[0] + datas[3]; data2 = datas[1] + datas[2]; - data1 = FINISH_DATA (data1, 16, 1); - data2 = FINISH_DATA (data2, 16, 1); + data1 = FINISH_DATA (data1, 15); + data2 = FINISH_DATA (data2, 15); set_sound_buffers (); put_sound_word_left (data1); put_sound_word_right (data2); @@ -844,10 +847,10 @@ void sample16ss_sinc_handler (void) int datas[4]; samplexx_sinc_handler (datas); - data0 = FINISH_DATA (datas[0], 16, 0); - data1 = FINISH_DATA (datas[1], 16, 0); - data2 = FINISH_DATA (datas[2], 16, 0); - data3 = FINISH_DATA (datas[3], 16, 0); + data0 = FINISH_DATA (datas[0], 16); + data1 = FINISH_DATA (datas[1], 16); + data2 = FINISH_DATA (datas[2], 16); + data3 = FINISH_DATA (datas[3], 16); set_sound_buffers (); put_sound_word_left (data0); put_sound_word_right (data1); @@ -865,8 +868,8 @@ static void sample16si_sinc_handler (void) samplexx_sinc_handler (datas); data1 = datas[0] + datas[3]; data2 = datas[1] + datas[2]; - data1 = FINISH_DATA (data1, 16, 1); - data2 = FINISH_DATA (data2, 16, 1); + data1 = FINISH_DATA (data1, 17); + data2 = FINISH_DATA (data2, 17); set_sound_buffers (); put_sound_word_left (data1); put_sound_word_right (data2); @@ -892,9 +895,9 @@ void sample16s_handler (void) data0 += data3; data1 += data2; data2 = SBASEVAL16(1) + data0; - data2 = FINISH_DATA (data2, 16, 1); + data2 = FINISH_DATA (data2, 15); data3 = SBASEVAL16(1) + data1; - data3 = FINISH_DATA (data3, 16, 1); + data3 = FINISH_DATA (data3, 15); set_sound_buffers (); put_sound_word_left (data2); put_sound_word_right (data3); @@ -965,9 +968,9 @@ static void sample16si_crux_handler (void) data1 += data2; data0 += data3; data2 = SBASEVAL16(1) + data0; - data2 = FINISH_DATA (data2, 16, 1); + data2 = FINISH_DATA (data2, 15); data3 = SBASEVAL16(1) + data1; - data3 = FINISH_DATA (data3, 16, 1); + data3 = FINISH_DATA (data3, 15); set_sound_buffers (); put_sound_word_left (data2); put_sound_word_right (data3); @@ -1019,9 +1022,9 @@ static void sample16si_rh_handler (void) ratio = ((audio_channel[3].evtime % delta) << 8) / delta; data0 += (data3 * (256 - ratio) + data3p * ratio) >> 8; data2 = SBASEVAL16(1) + data0; - data2 = FINISH_DATA (data2, 16, 1); + data2 = FINISH_DATA (data2, 15); data3 = SBASEVAL16(1) + data1; - data3 = FINISH_DATA (data3, 16, 1); + data3 = FINISH_DATA (data3, 15); set_sound_buffers (); put_sound_word_left (data2); put_sound_word_right (data3); @@ -1105,7 +1108,7 @@ static void audio_deactivate (void) return; gui_data.sndbuf_status = 3; gui_data.sndbuf = 0; - reset_sound (); + pause_sound_buffer (); clear_sound_buffers (); audio_event_reset (); } diff --git a/cfgfile.cpp b/cfgfile.cpp index 3664984b..3f1a87c7 100644 --- a/cfgfile.cpp +++ b/cfgfile.cpp @@ -881,6 +881,7 @@ void cfgfile_save_options (struct zfile *f, struct uae_prefs *p, int type) cfgfile_dwrite (f, _T("gfx_filter_blur"), _T("%d"), p->gfx_filter_blur); cfgfile_dwrite (f, _T("gfx_filter_noise"), _T("%d"), p->gfx_filter_noise); cfgfile_dwrite_bool (f, _T("gfx_filter_bilinear"), p->gfx_filter_bilinear != 0); + cfgfile_dwrite (f, _T("gfx_filter_keep_autoscale_aspect"), _T("%d"), p->gfx_filter_keep_autoscale_aspect); cfgfile_dwrite_str (f, _T("gfx_filter_keep_aspect"), aspects[p->gfx_filter_keep_aspect]); cfgfile_dwrite_str (f, _T("gfx_filter_autoscale"), autoscale[p->gfx_filter_autoscale]); cfgfile_dwrite (f, _T("gfx_filter_aspect_ratio"), _T("%d:%d"), @@ -1535,6 +1536,7 @@ static int cfgfile_parse_host (struct uae_prefs *p, TCHAR *option, TCHAR *value) || cfgfile_intval (option, value, _T("gfx_luminance"), &p->gfx_luminance, 1) || cfgfile_intval (option, value, _T("gfx_contrast"), &p->gfx_contrast, 1) || cfgfile_intval (option, value, _T("gfx_gamma"), &p->gfx_gamma, 1) + || cfgfile_intval (option, value, _T("gfx_filter_keep_autoscale_aspect"), &p->gfx_filter_keep_autoscale_aspect, 1) || cfgfile_string (option, value, _T("gfx_filter_mask"), p->gfx_filtermask, sizeof p->gfx_filtermask / sizeof (TCHAR)) || cfgfile_intval (option, value, _T("filesys_max_size"), &p->filesys_limit, 1) @@ -4255,6 +4257,7 @@ void default_prefs (struct uae_prefs *p, int type) p->gfx_filter_scanlineratio = (1 << 4) | 1; p->gfx_filter_keep_aspect = 0; p->gfx_filter_autoscale = AUTOSCALE_STATIC_AUTO; + p->gfx_filter_keep_autoscale_aspect = 0; p->gfx_filteroverlay_overscan = 0; _tcscpy (p->floppyslots[0].df, _T("df0.adf")); diff --git a/cia.cpp b/cia.cpp index 72dfcffb..b664527e 100644 --- a/cia.cpp +++ b/cia.cpp @@ -1841,6 +1841,14 @@ static void save_cia_prepare (void) compute_passed_time (); } +void restore_cia_start (void) +{ + /* Fixes very old statefiles without keyboard state */ + kbstate = 3; + setcapslockstate (0); + kblostsynccnt = 0; +} + void restore_cia_finish (void) { eventtab[ev_cia].oldcycles = get_cycles (); @@ -2022,10 +2030,12 @@ uae_u8 *restore_keyboard (uae_u8 *src) restore_u8 (); restore_u8 (); restore_u8 (); - if (!(v & 1)) - kbstate = 3; kbcode = restore_u8 (); kblostsynccnt = restore_u16 (); + if (!(v & 1)) { + kbstate = 3; + kblostsynccnt = 0; + } return src; } diff --git a/custom.cpp b/custom.cpp index 8192df5e..8388f613 100644 --- a/custom.cpp +++ b/custom.cpp @@ -250,7 +250,7 @@ static bool bpl1dat_written, bpl1dat_early, bpl1dat_written_at_least_once; static uae_s16 bpl1mod, bpl2mod; static uaecptr prevbpl[2][MAXVPOS][8]; static uaecptr bplpt[8], bplptx[8]; -static bool brdblank_prevframe[MAXVPOS]; +static bool brdblank_prevframe[MAXVPOS * 2 + 2]; /*static int blitcount[256]; blitter debug */ @@ -1907,15 +1907,19 @@ static void start_bpl_dma (int hpos, int hstart) plfstrt_sprite = plfstrt; fetch_start (hpos); fetch_cycle = 0; - last_fetch_hpos = hstart; - cycle_diagram_shift = last_fetch_hpos; - reset_bpl_vars (); ddfstate = DIW_waiting_stop; compute_toscr_delay (last_fetch_hpos, bplcon1); /* If someone already wrote BPL1DAT, clear the area between that point and the real fetch start. */ + if (bpl1dat_written_at_least_once && hstart > last_fetch_hpos) { + update_fetch_x (hstart, fetchmode); + bpl1dat_written_at_least_once = false; + } else { + reset_bpl_vars (); + } +#if 0 if (!nodraw ()) { if (thisline_decision.plfleft >= 0) { out_nbits = (plfstrt - thisline_decision.plfleft) << (1 + toscr_res); @@ -1924,6 +1928,9 @@ static void start_bpl_dma (int hpos, int hstart) } update_toscr_planes (); } +#endif + last_fetch_hpos = hstart; + cycle_diagram_shift = hstart; } /* this may turn on datafetch if program turns dma on during the ddf */ @@ -2661,6 +2668,7 @@ static void finish_decisions (void) if (brdblank_prevframe[vpos] != thisline_decision.brdblank_seen) { changed = 1; brdblank_prevframe[vpos] = thisline_decision.brdblank_seen; + //write_log (_T("%d.%d "), vpos, thisline_decision.brdblank_seen); } if (changed) { @@ -2959,13 +2967,13 @@ void compute_framesync (void) int res2, vres2; res2 = currprefs.gfx_resolution; - if (doublescan) + if (doublescan > 0) res2++; if (res2 > RES_MAX) res2 = RES_MAX; vres2 = currprefs.gfx_vresolution; - if (doublescan && !islace) + if (doublescan > 0 && !islace) vres2--; if (vres2 < 0) @@ -3102,7 +3110,9 @@ void init_hz (bool fullinit) htotal = MAXHPOS - 1; maxhpos = htotal + 1; vblank_hz = 227.0 * 312.0 * 50.0 / (maxvpos * maxhpos); - minfirstline = vsstop; + minfirstline = vsstop > vbstop ? vsstop : vbstop; + if (minfirstline > maxvpos / 2) + minfirstline = vsstop > vsstop ? vbstop : vsstop; if (minfirstline < 2) minfirstline = 2; if (minfirstline >= maxvpos) @@ -3271,8 +3281,9 @@ static uae_u32 REGPARAM2 timehack_helper (TrapContext *context) /* * register functions */ -STATIC_INLINE uae_u16 DENISEID (void) +STATIC_INLINE uae_u16 DENISEID (int *missing) { + *missing = 0; if (currprefs.cs_deniserev >= 0) return currprefs.cs_deniserev; #ifdef AGA @@ -3284,6 +3295,8 @@ STATIC_INLINE uae_u16 DENISEID (void) #endif if (currprefs.chipset_mask & CSMASK_ECS_DENISE) return 0xFFFC; + if (currprefs.cpu_model == 68000 && (currprefs.cpu_compatible || currprefs.cpu_cycle_exact)) + *missing = 1; return 0xFFFF; } STATIC_INLINE uae_u16 DMACONR (int hpos) @@ -6865,6 +6878,7 @@ static uae_u32 REGPARAM2 custom_lgeti (uaecptr addr) STATIC_INLINE uae_u32 REGPARAM2 custom_wget_1 (int hpos, uaecptr addr, int noput) { uae_u16 v; + int missing; #ifdef JIT special_mem |= S_READ; #endif @@ -6889,7 +6903,11 @@ STATIC_INLINE uae_u32 REGPARAM2 custom_wget_1 (int hpos, uaecptr addr, int noput case 0x01A: v = DSKBYTR (hpos); break; case 0x01C: v = INTENAR (); break; case 0x01E: v = INTREQR (); break; - case 0x07C: v = DENISEID (); break; + case 0x07C: + v = DENISEID (&missing); + if (missing) + goto writeonly; + break; #ifdef AGA case 0x180: case 0x182: case 0x184: case 0x186: case 0x188: case 0x18A: @@ -6898,11 +6916,14 @@ STATIC_INLINE uae_u32 REGPARAM2 custom_wget_1 (int hpos, uaecptr addr, int noput case 0x1A4: case 0x1A6: case 0x1A8: case 0x1AA: case 0x1AC: case 0x1AE: case 0x1B0: case 0x1B2: case 0x1B4: case 0x1B6: case 0x1B8: case 0x1BA: case 0x1BC: case 0x1BE: + if (!(currprefs.chipset_mask & CSMASK_AGA)) + goto writeonly; v = COLOR_READ ((addr & 0x3E) / 2); break; #endif default: +writeonly: /* OCS/ECS: * reading write-only register causes write with last value in chip * bus (custom registers, chipram, slowram) @@ -7447,7 +7468,7 @@ extern uae_u16 serper; uae_u8 *save_custom (int *len, uae_u8 *dstptr, int full) { uae_u8 *dstbak, *dst; - int i; + int i, dummy; uae_u32 dskpt; uae_u16 dsklen, dsksync, dskbytr; @@ -7516,7 +7537,7 @@ uae_u8 *save_custom (int *len, uae_u8 *dstptr, int full) SW (0); /* 076 ? */ SW (0); /* 078 ? */ SW (0); /* 07A ? */ - SW (DENISEID ()); /* 07C DENISEID/LISAID */ + SW (DENISEID (&dummy)); /* 07C DENISEID/LISAID */ SW (dsksync); /* 07E DSKSYNC */ SL (cop1lc); /* 080-083 COP1LC */ SL (cop2lc); /* 084-087 COP2LC */ @@ -7810,7 +7831,7 @@ uae_u8 *save_custom_event_delay (int *len, uae_u8 *dstptr) uae_u8 *dstbak, *dst; int cnt = 0; - for (int i = ev2_misc; i < ev2_max; i++) { + for (int i = ev2_misc; i < ev2_max; i++) { struct ev2 *e = &eventtab2[i]; if (e->active && e->handler == send_interrupt_do) { cnt++; @@ -7826,7 +7847,7 @@ uae_u8 *save_custom_event_delay (int *len, uae_u8 *dstptr) save_u32 (1); save_u8 (cnt); - for (int i = ev2_misc; i < ev2_max; i++) { + for (int i = ev2_misc; i < ev2_max; i++) { struct ev2 *e = &eventtab2[i]; if (e->active && e->handler == send_interrupt_do) { save_u8 (1); diff --git a/disk.cpp b/disk.cpp index eca83f16..fc447993 100644 --- a/disk.cpp +++ b/disk.cpp @@ -1169,7 +1169,7 @@ static int drive_empty (drive * drv) if (drv->catweasel) return catweasel_disk_changed (drv->catweasel) == 0; #endif - return drv->diskfile == 0; + return drv->diskfile == 0 && drv->dskchange_time >= 0; } static void drive_step (drive * drv, int step_direction) @@ -2513,7 +2513,7 @@ void DISK_vsync (void) drv->dskready = true; } /* delay until new disk image is inserted */ - if (drv->dskchange_time) { + if (drv->dskchange_time > 0) { drv->dskchange_time--; if (drv->dskchange_time == 0) { drive_insert (drv, &currprefs, i, drv->newname, false); @@ -3787,7 +3787,9 @@ uae_u8 *restore_disk (int num,uae_u8 *src) drive_insert (floppy + num, &currprefs, num, changed_prefs.floppyslots[num].df, false); if (drive_empty (floppy + num)) drv->dskchange = true; - } + } else { + drv->dskchange_time = -1; + } } } } diff --git a/drawing.cpp b/drawing.cpp index 49e96f78..dce3af60 100644 --- a/drawing.cpp +++ b/drawing.cpp @@ -340,7 +340,7 @@ extern int lof_store; #define MAX_DISPLAY_W 362 #define MAX_DISPLAY_H 283 -static int gclow, gcloh, gclox, gcloy; +static int gclow, gcloh, gclox, gcloy, gclorealh; void get_custom_topedge (int *x, int *y) { @@ -356,6 +356,7 @@ void get_custom_topedge (int *x, int *y) static void reset_custom_limits (void) { gclow = gcloh = gclox = gcloy = 0; + gclorealh = -1; } void set_custom_limits (int w, int h, int dx, int dy) @@ -384,7 +385,7 @@ void set_custom_limits (int w, int h, int dx, int dy) notice_screen_contents_lost (); } -int get_custom_limits (int *pw, int *ph, int *pdx, int *pdy) +int get_custom_limits (int *pw, int *ph, int *pdx, int *pdy, int *prealh) { int w, h, dx, dy, y1, y2, dbl1, dbl2; int ret = 0; @@ -399,6 +400,7 @@ int get_custom_limits (int *pw, int *ph, int *pdx, int *pdy) *ph = gfxvidinfo.outbuffer->outheight; *pdx = 0; *pdy = 0; + *prealh = -1; return 1; } @@ -406,6 +408,7 @@ int get_custom_limits (int *pw, int *ph, int *pdx, int *pdy) *ph = gcloh; *pdx = gclox; *pdy = gcloy; + *prealh = gclorealh; if (gclow > 0 && gcloh > 0) ret = -1; @@ -480,6 +483,15 @@ int get_custom_limits (int *pw, int *ph, int *pdx, int *pdy) if (dx < 0) dx = 0; + *prealh = -1; + if (!programmedmode && first_planes_vpos) { + int th = (maxvpos - minfirstline) * 95 / 100; + if (th > h) { + th = xshift (th, dbl1); + *prealh = th; + } + } + dy = xshift (dy, dbl2); h = xshift (h, dbl1); @@ -521,6 +533,7 @@ int get_custom_limits (int *pw, int *ph, int *pdx, int *pdy) gcloh = h; gclox = dx; gcloy = dy; + gclorealh = *prealh; *pw = w; *ph = h; *pdx = dx; @@ -2696,7 +2709,7 @@ void finish_drawing_frame (void) hposblank = 0; pfield_draw_line (vb, line, where2, amiga2aspect_line_map[i1 + 1]); } - +#if 0 /* clear possible old garbage at the bottom if emulated area become smaller */ for (i = last_max_ypos; i < vb->outheight; i++) { int i1 = i + min_ypos_for_screen; @@ -2708,7 +2721,7 @@ void finish_drawing_frame (void) if (where2 < 0) continue; - hposblank = i > last_max_ypos ;// + AMIGA_HEIGHT_EXTRA; + hposblank = i > last_max_ypos || i >= max_ypos_thisframe; xlinebuffer = vb->linemem; if (xlinebuffer == 0) @@ -2719,7 +2732,7 @@ void finish_drawing_frame (void) linestate[line] = LINE_UNDECIDED; do_flush_line (vb, where2); } - +#endif if (currprefs.leds_on_screen) { int slx, sly; statusline_getpos (&slx, &sly, vb->outwidth, vb->outheight); diff --git a/filesys.cpp b/filesys.cpp index 85a057a7..06854aa0 100644 --- a/filesys.cpp +++ b/filesys.cpp @@ -1963,7 +1963,7 @@ static TCHAR *get_nname (Unit *unit, a_inode *base, TCHAR *rel, TCHAR **modified return 0; /* A file called "." (or whatever else is invalid on this filesystem) * does not exist, as far as the Amiga side is concerned. */ - if (fsdb_name_invalid (rel)) + if (fsdb_name_invalid_dir (rel)) return 0; /* See if we have a file that has the same name as the aname we are @@ -3642,7 +3642,7 @@ static int action_examine_all_do (Unit *unit, uaecptr lock, ExAllKey *eak, uaecp ok = isofs_readdir (d->isod, fn, &uniq); else ok = 0; - } while (ok && d->fstype == FS_DIRECTORY && fsdb_name_invalid (fn)); + } while (ok && d->fstype == FS_DIRECTORY && fsdb_name_invalid_dir (fn)); if (!ok) return 0; } else { @@ -3915,7 +3915,7 @@ static void populate_directory (Unit *unit, a_inode *base) ok = isofs_readdir (d->isod, fn, &uniq); else ok = 0; - } while (ok && d->fstype == FS_DIRECTORY && fsdb_name_invalid (fn)); + } while (ok && d->fstype == FS_DIRECTORY && fsdb_name_invalid_dir (fn)); if (!ok) break; /* This calls init_child_aino, which will notice that the parent is diff --git a/include/drawing.h b/include/drawing.h index 2f4ab3b7..fa7c4ef7 100644 --- a/include/drawing.h +++ b/include/drawing.h @@ -272,7 +272,7 @@ extern bool notice_interlace_seen (bool); extern void notice_resolution_seen (int, bool); extern void frame_drawn (void); extern void redraw_frame (void); -extern int get_custom_limits (int *pw, int *ph, int *pdx, int *pdy); +extern int get_custom_limits (int *pw, int *ph, int *pdx, int *pdy, int *prealh); extern void set_custom_limits (int w, int h, int dx, int dy); extern void get_custom_topedge (int *x, int *y); extern void putpixel (uae_u8 *buf, int bpp, int x, xcolnr c8, int opaq); diff --git a/include/fsdb.h b/include/fsdb.h index 921e9be4..850e9766 100644 --- a/include/fsdb.h +++ b/include/fsdb.h @@ -113,11 +113,12 @@ extern void fsdb_dir_writeback (a_inode *); extern int fsdb_used_as_nname (a_inode *base, const TCHAR *); extern a_inode *fsdb_lookup_aino_aname (a_inode *base, const TCHAR *); extern a_inode *fsdb_lookup_aino_nname (a_inode *base, const TCHAR *); -extern int fsdb_exists (TCHAR *nname); +extern int fsdb_exists (const TCHAR *nname); extern int same_aname (const TCHAR *an1, const TCHAR *an2); /* Filesystem-dependent functions. */ extern int fsdb_name_invalid (const TCHAR *n); +extern int fsdb_name_invalid_dir (const TCHAR *n); extern int fsdb_fill_file_attrs (a_inode *, a_inode *); extern int fsdb_set_file_attrs (a_inode *); extern int fsdb_mode_representable_p (const a_inode *, int); diff --git a/include/inputdevice.h b/include/inputdevice.h index 75f6865f..25891f8a 100644 --- a/include/inputdevice.h +++ b/include/inputdevice.h @@ -72,7 +72,7 @@ struct inputevent { int data; }; -#define MAX_INPUT_QUALIFIERS (8+4) +#define MAX_INPUT_QUALIFIERS (8 + 5) /* event flags */ #define ID_FLAG_AUTOFIRE 1 @@ -84,22 +84,23 @@ struct inputevent { #define ID_FLAG_GAMEPORTSCUSTOM_MASK (ID_FLAG_GAMEPORTSCUSTOM1 | ID_FLAG_GAMEPORTSCUSTOM2) #define ID_FLAG_AUTOFIRE_MASK (ID_FLAG_TOGGLE | ID_FLAG_INVERTTOGGLE | ID_FLAG_AUTOFIRE) -#define ID_FLAG_QUALIFIER1 0x00000100000000 -#define ID_FLAG_QUALIFIER1_R 0x00000200000000 -#define ID_FLAG_QUALIFIER2 0x00000400000000 -#define ID_FLAG_QUALIFIER3 0x00001000000000 -#define ID_FLAG_QUALIFIER4 0x00004000000000 -#define ID_FLAG_QUALIFIER5 0x00010000000000 -#define ID_FLAG_QUALIFIER6 0x00040000000000 -#define ID_FLAG_QUALIFIER7 0x00100000000000 -#define ID_FLAG_QUALIFIER8 0x00400000000000 -#define ID_FLAG_QUALIFIER_SPECIAL 0x01000000000000 -#define ID_FLAG_QUALIFIER_SPECIAL_R 0x02000000000000 -#define ID_FLAG_QUALIFIER_SHIFT 0x04000000000000 -#define ID_FLAG_QUALIFIER_CONTROL 0x10000000000000 -#define ID_FLAG_QUALIFIER_ALT 0x40000000000000 -#define ID_FLAG_QUALIFIER_MASK 0xffffff00000000 -#define ID_FLAG_QUALIFIER_MASK_R 0xaaaaaa00000000 +#define ID_FLAG_QUALIFIER1 0x000000100000000 +#define ID_FLAG_QUALIFIER1_R 0x000000200000000 +#define ID_FLAG_QUALIFIER2 0x000000400000000 +#define ID_FLAG_QUALIFIER3 0x000001000000000 +#define ID_FLAG_QUALIFIER4 0x000004000000000 +#define ID_FLAG_QUALIFIER5 0x000010000000000 +#define ID_FLAG_QUALIFIER6 0x000040000000000 +#define ID_FLAG_QUALIFIER7 0x000100000000000 +#define ID_FLAG_QUALIFIER8 0x000400000000000 +#define ID_FLAG_QUALIFIER_SPECIAL 0x001000000000000 +#define ID_FLAG_QUALIFIER_SPECIAL_R 0x002000000000000 +#define ID_FLAG_QUALIFIER_SHIFT 0x004000000000000 +#define ID_FLAG_QUALIFIER_CONTROL 0x010000000000000 +#define ID_FLAG_QUALIFIER_ALT 0x040000000000000 +#define ID_FLAG_QUALIFIER_WIN 0x100000000000000 +#define ID_FLAG_QUALIFIER_MASK 0xfffffff00000000 +#define ID_FLAG_QUALIFIER_MASK_R 0xaaaaaaa00000000 #define IDEV_WIDGET_NONE 0 #define IDEV_WIDGET_BUTTON 1 @@ -113,19 +114,20 @@ struct inputevent { #define IDEV_MAPPED_INVERTTOGGLE 8 #define IDEV_MAPPED_GAMEPORTSCUSTOM1 16 #define IDEV_MAPPED_GAMEPORTSCUSTOM2 32 -#define IDEV_MAPPED_QUALIFIER1 0x00000100000000 -#define IDEV_MAPPED_QUALIFIER2 0x00000400000000 -#define IDEV_MAPPED_QUALIFIER3 0x00001000000000 -#define IDEV_MAPPED_QUALIFIER4 0x00004000000000 -#define IDEV_MAPPED_QUALIFIER5 0x00010000000000 -#define IDEV_MAPPED_QUALIFIER6 0x00040000000000 -#define IDEV_MAPPED_QUALIFIER7 0x00100000000000 -#define IDEV_MAPPED_QUALIFIER8 0x00400000000000 -#define IDEV_MAPPED_QUALIFIER_SPECIAL 0x01000000000000 -#define IDEV_MAPPED_QUALIFIER_SHIFT 0x04000000000000 -#define IDEV_MAPPED_QUALIFIER_CONTROL 0x10000000000000 -#define IDEV_MAPPED_QUALIFIER_ALT 0x40000000000000 -#define IDEV_MAPPED_QUALIFIER_MASK 0xffffff00000000 +#define IDEV_MAPPED_QUALIFIER1 0x000000100000000 +#define IDEV_MAPPED_QUALIFIER2 0x000000400000000 +#define IDEV_MAPPED_QUALIFIER3 0x000001000000000 +#define IDEV_MAPPED_QUALIFIER4 0x000004000000000 +#define IDEV_MAPPED_QUALIFIER5 0x000010000000000 +#define IDEV_MAPPED_QUALIFIER6 0x000040000000000 +#define IDEV_MAPPED_QUALIFIER7 0x000100000000000 +#define IDEV_MAPPED_QUALIFIER8 0x000400000000000 +#define IDEV_MAPPED_QUALIFIER_SPECIAL 0x001000000000000 +#define IDEV_MAPPED_QUALIFIER_SHIFT 0x004000000000000 +#define IDEV_MAPPED_QUALIFIER_CONTROL 0x010000000000000 +#define IDEV_MAPPED_QUALIFIER_ALT 0x040000000000000 +#define IDEV_MAPPED_QUALIFIER_WIN 0x100000000000000 +#define IDEV_MAPPED_QUALIFIER_MASK 0xfffffff00000000 #define ID_BUTTON_OFFSET 0 #define ID_BUTTON_TOTAL 32 diff --git a/include/keyboard.h b/include/keyboard.h index 8ee9b3dc..b51cf941 100644 --- a/include/keyboard.h +++ b/include/keyboard.h @@ -168,7 +168,7 @@ enum aks { AKS_ENTERGUI = 0x200, AKS_SCREENSHOT_FILE, AKS_SCREENSHOT_CLIPBOARD, AKS_QUALIFIER1, AKS_QUALIFIER2, AKS_QUALIFIER3, AKS_QUALIFIER4, AKS_QUALIFIER5, AKS_QUALIFIER6, AKS_QUALIFIER7, AKS_QUALIFIER8, AKS_QUALIFIER_SPECIAL, AKS_QUALIFIER_SHIFT, AKS_QUALIFIER_CONTROL, - AKS_QUALIFIER_ALT + AKS_QUALIFIER_ALT, AKS_QUALIFIER_WIN }; #define AKS_FIRST AKS_ENTERGUI diff --git a/include/options.h b/include/options.h index 02ad4e69..49b7d6c6 100644 --- a/include/options.h +++ b/include/options.h @@ -8,8 +8,8 @@ */ #define UAEMAJOR 2 -#define UAEMINOR 4 -#define UAESUBREV 2 +#define UAEMINOR 5 +#define UAESUBREV 0 typedef enum { KBD_LANG_US, KBD_LANG_DK, KBD_LANG_DE, KBD_LANG_SE, KBD_LANG_FR, KBD_LANG_IT, KBD_LANG_ES } KbdLang; @@ -298,6 +298,7 @@ struct uae_prefs { int gfx_filter_saturation, gfx_filter_luminance, gfx_filter_contrast, gfx_filter_gamma; int gfx_filter_keep_aspect, gfx_filter_aspect; int gfx_filter_autoscale; + int gfx_filter_keep_autoscale_aspect; bool immediate_blits; int waiting_blits; @@ -486,6 +487,7 @@ struct uae_prefs { TCHAR win32_parjoyport0[MAX_DPATH]; TCHAR win32_parjoyport1[MAX_DPATH]; TCHAR win32_guipage[32]; + bool win32_filesystem_mangle_reserved_names; int statecapturerate, statecapturebuffersize; diff --git a/include/savestate.h b/include/savestate.h index c74007e4..2ea9e22f 100644 --- a/include/savestate.h +++ b/include/savestate.h @@ -113,6 +113,7 @@ extern void restore_audio_finish (void); extern uae_u8 *restore_cia (int, uae_u8 *); extern uae_u8 *save_cia (int, int *, uae_u8 *); extern void restore_cia_finish (void); +extern void restore_cia_start (void); extern uae_u8 *restore_expansion (uae_u8 *); extern uae_u8 *save_expansion (int *, uae_u8 *); diff --git a/inputdevice.cpp b/inputdevice.cpp index a1319bf0..ac079510 100644 --- a/inputdevice.cpp +++ b/inputdevice.cpp @@ -635,12 +635,23 @@ static TCHAR *getstring (const TCHAR **pp) int i; static TCHAR str[CONFIG_BLEN]; const TCHAR *p = *pp; + bool quoteds = false; + bool quotedd = false; if (*p == 0) return 0; i = 0; - while (*p != 0 && *p !='.' && *p != ',' && i < 1000 - 1) + while (*p != 0 && i < 1000 - 1) { + if (*p == '\"') + quotedd = quotedd ? false : true; + if (*p == '\'') + quoteds = quoteds ? false : true; + if (!quotedd && !quoteds) { + if (*p == '.' || *p == ',') + break; + } str[i++] = *p++; + } if (*p == '.' || *p == ',') p++; str[i] = 0; @@ -3431,17 +3442,33 @@ static bool process_custom_event (struct uae_input_device *id, int offset, int s if (!id) return false; - slotoffset = sub / 4; + slotoffset = sub & ~3; + sub &= 3; flags = id->flags[offset][slotoffset]; qual = flags & ID_FLAG_QUALIFIER_MASK; + custom = id->custom[offset][slotoffset]; int af = flags & ID_FLAG_AUTOFIRE_MASK; - // check that slots 0 and 2 have same qualifiers, only allow toggle if both are same and neither has autofire - if ((id->flags[offset][slotoffset + 2] & ID_FLAG_QUALIFIER_MASK) != qual || - (id->custom[offset][slotoffset] == NULL && id->custom[offset][slotoffset + 2] == NULL) || - (id->flags[offset][slotoffset + 2] & ID_FLAG_AUTOFIRE_MASK) || (af & ID_FLAG_AUTOFIRE_MASK)) { + for (idx = 1; idx < 4; idx++) { + uae_u64 flags2 = id->flags[offset][slotoffset + idx]; + TCHAR *custom2 = id->custom[offset][slotoffset + idx]; + + // all slots must have same qualifier + if ((flags2 & ID_FLAG_QUALIFIER_MASK) != qual) + break; + // no slot must have autofire + if ((flags2 & ID_FLAG_AUTOFIRE_MASK) || (flags & ID_FLAG_AUTOFIRE_MASK)) + break; + } + // at least slot 0 and 2 must have custom + if (custom == NULL || id->custom[offset][slotoffset + 2] == NULL) + idx = -1; + + if (idx < 4) { id->flags[offset][slotoffset] &= ~(ID_FLAG_CUSTOMEVENT_TOGGLED1 | ID_FLAG_CUSTOMEVENT_TOGGLED2); - if (checkqualifiers (id->eventid[offset][slotoffset + sub], id->flags[offset][slotoffset + sub], qualmask, NULL)) { + int evt2 = id->eventid[offset][slotoffset + sub]; + uae_u64 flags2 = id->flags[offset][slotoffset + sub]; + if (checkqualifiers (evt2, flags2, qualmask, NULL)) { custom = id->custom[offset][slotoffset + sub]; if (state && custom) { if (autofire) @@ -5432,6 +5459,13 @@ static int put_event_data (const struct inputdevice_functions *id, int devnum, i if ((flags & (mask1 | mask2)) == (mask1 | mask2)) flags &= ~mask2; } + if (custom && custom[0] == 0) { + custom = NULL; + eventid = 0; + } + if (eventid <= 0 && !custom) { + flags = 0; + } ret = -1; if (type == IDEV_WIDGET_BUTTON || type == IDEV_WIDGET_BUTTONAXIS) { diff --git a/inputevents.def b/inputevents.def index 1ecd01ad..eee649d4 100644 --- a/inputevents.def +++ b/inputevents.def @@ -1,6 +1,6 @@ /* joystick/mouse port 1 */ -DEFEVENT(JOYPORT1_START,_T("Joystick port 1"), AM_INFO, 0,1,0) +DEFEVENT(JOYPORT1_START,_T("[Joystick port 1]"), AM_INFO, 0,1,0) DEFEVENT(MOUSE1_FIRST, _T(""), AM_DUMMY, 0,0,0) @@ -52,7 +52,7 @@ DEFEVENT(JOY1_CD32_BLUE,_T("Joy1 CD32 Blue"),AM_K,4,1,JOYBUTTON_CD32_BLUE) /* joystick/mouse port 2 */ -DEFEVENT(JOYPORT2_START,_T("Joystick port 2"), AM_INFO, 0,2,0) +DEFEVENT(JOYPORT2_START,_T("[Joystick port 2]"), AM_INFO, 0,2,0) DEFEVENT(MOUSE2_FIRST, _T(""), AM_DUMMY, 0,0,0) @@ -103,7 +103,7 @@ DEFEVENT(LIGHTPEN_DOWN,_T("Lightpen Down"),AM_K,1,5,DIR_DOWN) /* parallel port joystick adapter */ -DEFEVENT(PAR_JOY1_START, _T("Parallel port joystick adapter"), AM_INFO, 0,3,0) +DEFEVENT(PAR_JOY1_START, _T("[Parallel port joystick adapter]"), AM_INFO, 0,3,0) DEFEVENT(PAR_JOY1_HORIZ,_T("Parallel Joy1 Horizontal"),AM_JOY_AXIS,0,3,DIR_LEFT|DIR_RIGHT) DEFEVENT(PAR_JOY1_VERT,_T("Parallel Joy1 Vertical"),AM_JOY_AXIS,0,3,DIR_UP|DIR_DOWN) @@ -137,7 +137,7 @@ DEFEVENT(PAR_JOY_END, _T(""), AM_DUMMY, 0,0,0) /* qualifiers */ -DEFEVENT(SPC_QUALIFIER_START,_T("Qualifiers"),AM_INFO, 0,0,0) +DEFEVENT(SPC_QUALIFIER_START,_T("[Qualifiers]"),AM_INFO, 0,0,0) DEFEVENT(SPC_QUALIFIER1,_T("Qualifier 1"),AM_KK,0,0,AKS_QUALIFIER1) DEFEVENT(SPC_QUALIFIER2,_T("Qualifier 2"),AM_KK,0,0,AKS_QUALIFIER2) @@ -151,12 +151,13 @@ DEFEVENT(SPC_QUALIFIER_SPECIAL,_T("Qualifier Special"),AM_KK,0,0,AKS_QUALIFIER_S DEFEVENT(SPC_QUALIFIER_SHIFT,_T("Qualifier Shift"),AM_KK,0,0,AKS_QUALIFIER_SHIFT) DEFEVENT(SPC_QUALIFIER_CONTROL,_T("Qualifier Control"),AM_KK,0,0,AKS_QUALIFIER_CONTROL) DEFEVENT(SPC_QUALIFIER_ALT,_T("Qualifier Alt"),AM_KK,0,0,AKS_QUALIFIER_ALT) +DEFEVENT(SPC_QUALIFIER_WIN,_T("Qualifier Win"),AM_KK,0,0,AKS_QUALIFIER_WIN) DEFEVENT(SPC_QUALIFIER_END, _T(""), AM_DUMMY, 0,0,0) /* keys */ -DEFEVENT(KEY_START,_T("Keyboard"),AM_INFO, 0,0,0) +DEFEVENT(KEY_START,_T("[Keyboard]"),AM_INFO, 0,0,0) DEFEVENT(KEY_F1,_T("F1"),AM_K,0,0,AK_F1) DEFEVENT(KEY_F2,_T("F2"),AM_K,0,0,AK_F2) @@ -315,6 +316,8 @@ DEFEVENT(KEY_7F,_T("Keycode 0x7F"),AM_K,0,0,0x7f) /* special */ +DEFEVENT(SPC_START,_T("[Miscellaneous]"),AM_INFO,0,0,0) + DEFEVENT(SPC_CUSTOM_EVENT,_T(""),AM_K,0,0,0) DEFEVENT(SPC_ENTERGUI,_T("Enter GUI"),AM_K,0,0,AKS_ENTERGUI) DEFEVENT(SPC_SCREENSHOT,_T("Screenshot (file)"),AM_K,0,0,AKS_SCREENSHOT_FILE) diff --git a/main.cpp b/main.cpp index 149f6ea8..9f4839c7 100644 --- a/main.cpp +++ b/main.cpp @@ -498,6 +498,8 @@ void fixup_prefs (struct uae_prefs *p) #endif if (p->maprom && !p->address_space_24) p->maprom = 0x0f000000; + if ((p->maprom & 0xff000000) && p->address_space_24) + p->maprom = 0x00e00000; if (p->tod_hack && p->cs_ciaatod == 0) p->cs_ciaatod = p->ntscmode ? 2 : 1; diff --git a/memory.cpp b/memory.cpp index 2c95acdb..7a8882f2 100644 --- a/memory.cpp +++ b/memory.cpp @@ -2516,8 +2516,8 @@ void memory_reset (void) protect_roms (true); } - if (cloanto_rom && currprefs.maprom < 0x01000000) - currprefs.maprom = changed_prefs.maprom = 0; + if ((cloanto_rom || extendedkickmem_size) && currprefs.maprom && currprefs.maprom < 0x01000000) + currprefs.maprom = changed_prefs.maprom = 0x00a80000; map_banks (&custom_bank, 0xC0, 0xE0 - 0xC0, 0); map_banks (&cia_bank, 0xA0, 32, 0); @@ -2592,7 +2592,7 @@ void memory_reset (void) map_banks (&kickmem_bank, 0xF8, 8, 0); if (currprefs.maprom) - map_banks (&kickram_bank, currprefs.maprom >> 16, 8, 0); + map_banks (&kickram_bank, currprefs.maprom >> 16, extendedkickmem2_size ? 32 : (extendedkickmem_size ? 16 : 8), 0); /* map beta Kickstarts at 0x200000/0xC00000/0xF00000 */ if (kickmemory[0] == 0x11 && kickmemory[2] == 0x4e && kickmemory[3] == 0xf9 && kickmemory[4] == 0x00) { uae_u32 addr = kickmemory[5]; diff --git a/od-win32/fsdb_mywin32.cpp b/od-win32/fsdb_mywin32.cpp index 992d23db..ad895270 100644 --- a/od-win32/fsdb_mywin32.cpp +++ b/od-win32/fsdb_mywin32.cpp @@ -33,48 +33,79 @@ int my_setcurrentdir (const TCHAR *curdir, TCHAR *oldcur) int ret = 0; if (oldcur) ret = GetCurrentDirectory (MAX_DPATH, oldcur); - if (curdir) - ret = SetCurrentDirectory (curdir); + if (curdir) { + const TCHAR *namep; + TCHAR path[MAX_DPATH]; + + if (currprefs.win32_filesystem_mangle_reserved_names == false) { + _tcscpy (path, PATHPREFIX); + _tcscat (path, curdir); + namep = path; + } else { + namep = curdir; + } + ret = SetCurrentDirectory (namep); + } return ret; } int my_mkdir (const TCHAR *name) { - return CreateDirectory (name, NULL) == 0 ? -1 : 0; + const TCHAR *namep; + TCHAR path[MAX_DPATH]; + + if (currprefs.win32_filesystem_mangle_reserved_names == false) { + _tcscpy (path, PATHPREFIX); + _tcscat (path, name); + namep = path; + } else { + namep = name; + } + return CreateDirectory (namep, NULL) == 0 ? -1 : 0; } static int recycle (const TCHAR *name) { - DWORD dirattr = GetFileAttributes (name); + DWORD dirattr = GetFileAttributesSafe (name); bool isdir = dirattr != INVALID_FILE_ATTRIBUTES && (dirattr & FILE_ATTRIBUTE_DIRECTORY); + const TCHAR *namep; + TCHAR path[MAX_DPATH]; + + if (currprefs.win32_filesystem_mangle_reserved_names == false) { + _tcscpy (path, PATHPREFIX); + _tcscat (path, name); + namep = path; + } else { + namep = name; + } - if (currprefs.win32_norecyclebin || isdir) { + if (currprefs.win32_norecyclebin || isdir || currprefs.win32_filesystem_mangle_reserved_names == false) { if (isdir) - return RemoveDirectory (name) ? 0 : -1; + return RemoveDirectory (namep) ? 0 : -1; else - return DeleteFile (name) ? 0 : -1; + return DeleteFile (namep) ? 0 : -1; } else { SHFILEOPSTRUCT fos; HANDLE h; - h = CreateFile (name, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, + h = CreateFile (namep, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); if (h != INVALID_HANDLE_VALUE) { LARGE_INTEGER size; if (GetFileSizeEx (h, &size)) { if (size.QuadPart == 0) { CloseHandle (h); - return DeleteFile (name) ? 0 : -1; + return DeleteFile (namep) ? 0 : -1; } } CloseHandle (h); } /* name must be terminated by \0\0 */ - TCHAR *p = xcalloc (TCHAR, _tcslen (name) + 2); + TCHAR *p = xcalloc (TCHAR, _tcslen (namep) + 2); int v; - _tcscpy (p, name); + _tcscpy (p, namep); memset (&fos, 0, sizeof (fos)); fos.wFunc = FO_DELETE; fos.pFrom = p; @@ -136,7 +167,21 @@ int my_unlink (const TCHAR *name) int my_rename (const TCHAR *oldname, const TCHAR *newname) { - return MoveFile (oldname, newname) == 0 ? -1 : 0; + const TCHAR *onamep, *nnamep; + TCHAR opath[MAX_DPATH], npath[MAX_DPATH]; + + if (currprefs.win32_filesystem_mangle_reserved_names == false) { + _tcscpy (opath, PATHPREFIX); + _tcscat (opath, oldname); + onamep = opath; + _tcscpy (npath, PATHPREFIX); + _tcscat (npath, newname); + nnamep = npath; + } else { + onamep = oldname; + nnamep = newname; + } + return MoveFile (onamep, nnamep) == 0 ? -1 : 0; } struct my_opendir_s { @@ -154,7 +199,10 @@ struct my_opendir_s *my_opendir (const TCHAR *name, const TCHAR *mask) struct my_opendir_s *mod; TCHAR tmp[MAX_DPATH]; - _tcscpy (tmp, name); + tmp[0] = 0; + if (currprefs.win32_filesystem_mangle_reserved_names == false) + _tcscpy (tmp, PATHPREFIX); + _tcscat (tmp, name); _tcscat (tmp, _T("\\")); _tcscat (tmp, mask); mod = xmalloc (struct my_opendir_s, 1); @@ -239,19 +287,50 @@ unsigned int my_write (struct my_openfile_s *mos, void *b, unsigned int size) return written; } -static DWORD GetFileAttributesSafe (const TCHAR *name) +BOOL SetFileAttributesSafe (const TCHAR *name, DWORD attr) +{ + DWORD last; + BOOL ret; + const TCHAR *namep; + TCHAR path[MAX_DPATH]; + + last = SetErrorMode (SEM_FAILCRITICALERRORS); + if (currprefs.win32_filesystem_mangle_reserved_names == false) { + _tcscpy (path, PATHPREFIX); + _tcscat (path, name); + namep = path; + } else { + namep = name; + } + ret = SetFileAttributes (namep, attr); + SetErrorMode (last); + return ret; +} + +DWORD GetFileAttributesSafe (const TCHAR *name) { DWORD attr, last; + const TCHAR *namep; + TCHAR path[MAX_DPATH]; last = SetErrorMode (SEM_FAILCRITICALERRORS); - attr = GetFileAttributes (name); + if (currprefs.win32_filesystem_mangle_reserved_names == false) { + _tcscpy (path, PATHPREFIX); + _tcscat (path, name); + namep = path; + } else { + namep = name; + } + attr = GetFileAttributes (namep); SetErrorMode (last); return attr; } int my_existsfile (const TCHAR *name) { - DWORD attr = GetFileAttributesSafe (name); + DWORD attr; + + attr = GetFileAttributesSafe (name); if (attr == INVALID_FILE_ATTRIBUTES) return 0; if (!(attr & FILE_ATTRIBUTE_DIRECTORY)) @@ -261,7 +340,9 @@ int my_existsfile (const TCHAR *name) int my_existsdir (const TCHAR *name) { - DWORD attr = GetFileAttributesSafe (name); + DWORD attr; + + attr = GetFileAttributesSafe (name); if (attr == INVALID_FILE_ATTRIBUTES) return 0; if (attr & FILE_ATTRIBUTE_DIRECTORY) @@ -278,7 +359,16 @@ struct my_openfile_s *my_open (const TCHAR *name, int flags) DWORD CreationDisposition = OPEN_EXISTING; DWORD FlagsAndAttributes = FILE_ATTRIBUTE_NORMAL; DWORD attr; - + const TCHAR *namep; + TCHAR path[MAX_DPATH]; + + if (currprefs.win32_filesystem_mangle_reserved_names == false) { + _tcscpy (path, PATHPREFIX); + _tcscat (path, name); + namep = path; + } else { + namep = name; + } mos = xmalloc (struct my_openfile_s, 1); if (!mos) return NULL; @@ -295,20 +385,19 @@ struct my_openfile_s *my_open (const TCHAR *name, int flags) } if (flags & O_RDWR) DesiredAccess = GENERIC_READ | GENERIC_WRITE; - if (CreationDisposition == CREATE_ALWAYS && attr != INVALID_FILE_ATTRIBUTES && - (attr & (FILE_ATTRIBUTE_SYSTEM | FILE_ATTRIBUTE_HIDDEN))) - SetFileAttributes (name, FILE_ATTRIBUTE_NORMAL); - h = CreateFile (name, DesiredAccess, ShareMode, NULL, CreationDisposition, FlagsAndAttributes, NULL); + if (CreationDisposition == CREATE_ALWAYS && attr != INVALID_FILE_ATTRIBUTES && (attr & (FILE_ATTRIBUTE_SYSTEM | FILE_ATTRIBUTE_HIDDEN))) + SetFileAttributesSafe (name, FILE_ATTRIBUTE_NORMAL); + h = CreateFile (namep, DesiredAccess, ShareMode, NULL, CreationDisposition, FlagsAndAttributes, NULL); if (h == INVALID_HANDLE_VALUE) { DWORD err = GetLastError(); if (err == ERROR_ACCESS_DENIED && (DesiredAccess & GENERIC_WRITE)) { DesiredAccess &= ~GENERIC_WRITE; - h = CreateFile (name, DesiredAccess, ShareMode, NULL, CreationDisposition, FlagsAndAttributes, NULL); + h = CreateFile (namep, DesiredAccess, ShareMode, NULL, CreationDisposition, FlagsAndAttributes, NULL); if (h == INVALID_HANDLE_VALUE) err = GetLastError(); } if (h == INVALID_HANDLE_VALUE) { - write_log (_T("failed to open '%s' %x %x err=%d\n"), name, DesiredAccess, CreationDisposition, err); + write_log (_T("failed to open '%s' %x %x err=%d\n"), namep, DesiredAccess, CreationDisposition, err); xfree (mos); mos = NULL; goto err; @@ -316,7 +405,7 @@ struct my_openfile_s *my_open (const TCHAR *name, int flags) } mos->h = h; err: - //write_log (_T("open '%s' = %x\n"), name, mos ? mos->h : 0); + //write_log (_T("open '%s' = %x\n"), namep, mos ? mos->h : 0); return mos; } @@ -325,22 +414,31 @@ int my_truncate (const TCHAR *name, uae_u64 len) HANDLE hFile; BOOL bResult = FALSE; int result = -1; - - if ((hFile = CreateFile (name, GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, + const TCHAR *namep; + TCHAR path[MAX_DPATH]; + + if (currprefs.win32_filesystem_mangle_reserved_names == false) { + _tcscpy (path, PATHPREFIX); + _tcscat (path, name); + namep = path; + } else { + namep = name; + } + if ((hFile = CreateFile (namep, GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL ) ) != INVALID_HANDLE_VALUE ) { LARGE_INTEGER li; li.QuadPart = len; li.LowPart = SetFilePointer (hFile, li.LowPart, &li.HighPart, FILE_BEGIN); if (li.LowPart == INVALID_SET_FILE_POINTER && GetLastError () != NO_ERROR) { - write_log (_T("truncate: SetFilePointer() failure for %s to posn %d\n"), name, len); + write_log (_T("truncate: SetFilePointer() failure for %s to posn %d\n"), namep, len); } else { if (SetEndOfFile (hFile) == TRUE) result = 0; } CloseHandle (hFile); } else { - write_log (_T("truncate: CreateFile() failed to open %s\n"), name); + write_log (_T("truncate: CreateFile() failed to open %s\n"), namep); } return result; } diff --git a/od-win32/fsdb_win32.cpp b/od-win32/fsdb_win32.cpp index 270a71be..4f4128ae 100644 --- a/od-win32/fsdb_win32.cpp +++ b/od-win32/fsdb_win32.cpp @@ -59,14 +59,16 @@ static TCHAR *make_uaefsdbpath (const TCHAR *dir, const TCHAR *name) len = _tcslen (dir) + 1 + 1; if (name) len += 1 + _tcslen (name); + if (currprefs.win32_filesystem_mangle_reserved_names == false) + len += _tcslen (PATHPREFIX); len += 1 + _tcslen (FSDB_FILE); p = xmalloc (TCHAR, len); if (!p) return NULL; if (name) - _stprintf (p, _T("%s\\%s:%s"), dir, name, FSDB_FILE); + _stprintf (p, _T("%s%s\\%s:%s"), currprefs.win32_filesystem_mangle_reserved_names == false ? PATHPREFIX : _T(""), dir, name, FSDB_FILE); else - _stprintf (p, _T("%s:%s"), dir, FSDB_FILE); + _stprintf (p, _T("%s%s:%s"), currprefs.win32_filesystem_mangle_reserved_names == false ? PATHPREFIX : _T(""), dir, FSDB_FILE); return p; } @@ -131,13 +133,24 @@ static int write_uaefsdb (const TCHAR *dir, uae_u8 *fsdb) FILETIME t1, t2, t3; int time_valid = FALSE; int ret = 0; + const TCHAR *namep; + TCHAR path[MAX_DPATH]; + + if (currprefs.win32_filesystem_mangle_reserved_names == false) { + _tcscpy (path, PATHPREFIX); + _tcscat (path, dir); + namep = path; + } else { + namep = dir; + } p = make_uaefsdbpath (dir, NULL); - dirattr = GetFileAttributes (dir); + + dirattr = GetFileAttributesSafe (dir); dirflag = FILE_ATTRIBUTE_NORMAL; if (dirattr != INVALID_FILE_ATTRIBUTES && (dirattr & FILE_ATTRIBUTE_DIRECTORY)) dirflag = FILE_FLAG_BACKUP_SEMANTICS; /* argh... */ - h = CreateFile (dir, GENERIC_READ, 0, + h = CreateFile (namep, GENERIC_READ, 0, NULL, OPEN_EXISTING, dirflag, NULL); if (h != INVALID_HANDLE_VALUE) { if (GetFileTime (h, &t1, &t2, &t3)) @@ -188,7 +201,7 @@ end: if (attr != INVALID_FILE_ATTRIBUTES) SetFileAttributes (p, attr); if (time_valid) { - h = CreateFile (dir, GENERIC_WRITE, 0, + h = CreateFile (namep, GENERIC_WRITE, 0, NULL, OPEN_EXISTING, dirflag, NULL); if (h != INVALID_HANDLE_VALUE) { SetFileTime (h, &t1, &t2, &t3); @@ -258,7 +271,7 @@ static a_inode *aino_from_buf (a_inode *base, uae_u8 *buf, int *winmode) aino->has_dbentry = 0; aino->dirty = 0; aino->db_offset = 0; - if((mode = GetFileAttributes (aino->nname)) == INVALID_FILE_ATTRIBUTES) { + if((mode = GetFileAttributesSafe (aino->nname)) == INVALID_FILE_ATTRIBUTES) { write_log (_T("xGetFileAttributes('%s') failed! error=%d, aino=%p\n"), aino->nname, GetLastError (), aino); return aino; @@ -268,7 +281,7 @@ static a_inode *aino_from_buf (a_inode *base, uae_u8 *buf, int *winmode) } /* Return nonzero for any name we can't create on the native filesystem. */ -static int fsdb_name_invalid_2 (const TCHAR *n) +static int fsdb_name_invalid_2 (const TCHAR *n, int dir) { int i; static char s1[MAX_DPATH]; @@ -279,6 +292,17 @@ static int fsdb_name_invalid_2 (const TCHAR *n) TCHAR d = (c == '\0' ? c : n[3]); int l = _tcslen (n), ll; + /* the reserved fsdb filename */ + if (_tcscmp (n, FSDB_FILE) == 0) + return -1; + + if (dir) { + if (n[0] == '.' && l == 1) + return -1; + if (n[0] == '.' && n[1] == '.' && l == 2) + return -1; + } + if (a >= 'a' && a <= 'z') a -= 32; if (b >= 'a' && b <= 'z') @@ -286,22 +310,24 @@ static int fsdb_name_invalid_2 (const TCHAR *n) if (c >= 'a' && c <= 'z') c -= 32; - /* reserved dos devices */ - ll = 0; - if (a == 'A' && b == 'U' && c == 'X') ll = 3; /* AUX */ - if (a == 'C' && b == 'O' && c == 'N') ll = 3; /* CON */ - if (a == 'P' && b == 'R' && c == 'N') ll = 3; /* PRN */ - if (a == 'N' && b == 'U' && c == 'L') ll = 3; /* NUL */ - if (a == 'L' && b == 'P' && c == 'T' && (d >= '0' && d <= '9')) ll = 4; /* LPT# */ - if (a == 'C' && b == 'O' && c == 'M' && (d >= '0' && d <= '9')) ll = 4; /* COM# */ - /* AUX.anything, CON.anything etc.. are also illegal names */ - if (ll && (l == ll || (l > ll && n[ll] == '.'))) - return 1; + if (currprefs.win32_filesystem_mangle_reserved_names) { + /* reserved dos devices */ + ll = 0; + if (a == 'A' && b == 'U' && c == 'X') ll = 3; /* AUX */ + if (a == 'C' && b == 'O' && c == 'N') ll = 3; /* CON */ + if (a == 'P' && b == 'R' && c == 'N') ll = 3; /* PRN */ + if (a == 'N' && b == 'U' && c == 'L') ll = 3; /* NUL */ + if (a == 'L' && b == 'P' && c == 'T' && (d >= '0' && d <= '9')) ll = 4; /* LPT# */ + if (a == 'C' && b == 'O' && c == 'M' && (d >= '0' && d <= '9')) ll = 4; /* COM# */ + /* AUX.anything, CON.anything etc.. are also illegal names */ + if (ll && (l == ll || (l > ll && n[ll] == '.'))) + return 1; - /* spaces and periods at the end are a no-no */ - i = l - 1; - if (n[i] == '.' || n[i] == ' ') - return -1; + /* spaces and periods at the end are a no-no */ + i = l - 1; + if (n[i] == '.' || n[i] == ' ') + return 1; + } /* these characters are *never* allowed */ for (i = 0; i < NUM_EVILCHARS; i++) { @@ -309,10 +335,6 @@ static int fsdb_name_invalid_2 (const TCHAR *n) return 1; } - /* the reserved fsdb filename */ - if (_tcscmp (n, FSDB_FILE) == 0) - return -1; - s1[0] = 0; s2[0] = 0; ua_fs_copy (s1, MAX_DPATH, n, -1); @@ -325,7 +347,16 @@ static int fsdb_name_invalid_2 (const TCHAR *n) int fsdb_name_invalid (const TCHAR *n) { - int v = fsdb_name_invalid_2 (n); + int v = fsdb_name_invalid_2 (n, 0); + if (v <= 0) + return v; + write_log (_T("FILESYS: '%s' illegal filename\n"), n); + return v; +} + +int fsdb_name_invalid_dir (const TCHAR *n) +{ + int v = fsdb_name_invalid_2 (n, 1); if (v <= 0) return v; write_log (_T("FILESYS: '%s' illegal filename\n"), n); @@ -337,11 +368,9 @@ uae_u32 filesys_parse_mask(uae_u32 mask) return mask ^ 0xf; } -int fsdb_exists (TCHAR *nname) +int fsdb_exists (const TCHAR *nname) { - if (GetFileAttributes(nname) == INVALID_FILE_ATTRIBUTES) - return 0; - return 1; + return GetFileAttributesSafe (nname) != INVALID_FILE_ATTRIBUTES; } /* For an a_inode we have newly created based on a filename we found on the @@ -352,7 +381,7 @@ int fsdb_fill_file_attrs (a_inode *base, a_inode *aino) uae_u8 fsdb[UAEFSDB2_LEN]; int reset = 0; - if((mode = GetFileAttributes(aino->nname)) == INVALID_FILE_ATTRIBUTES) { + if((mode = GetFileAttributesSafe (aino->nname)) == INVALID_FILE_ATTRIBUTES) { write_log (_T("GetFileAttributes('%s') failed! error=%d, aino=%p dir=%d\n"), aino->nname, GetLastError(), aino, aino->dir); return 0; @@ -415,7 +444,7 @@ int fsdb_set_file_attrs (a_inode *aino) tmpmask = filesys_parse_mask (aino->amigaos_mode); - mode = GetFileAttributes (aino->nname); + mode = GetFileAttributesSafe (aino->nname); if (mode == INVALID_FILE_ATTRIBUTES) return ERROR_OBJECT_NOT_AROUND; mode &= FILE_ATTRIBUTE_READONLY | FILE_ATTRIBUTE_ARCHIVE | FILE_ATTRIBUTE_SYSTEM | FILE_ATTRIBUTE_HIDDEN; @@ -429,7 +458,7 @@ int fsdb_set_file_attrs (a_inode *aino) mode |= FILE_ATTRIBUTE_SYSTEM; if (tmpmask & A_FIBF_HIDDEN) mode |= FILE_ATTRIBUTE_HIDDEN; - SetFileAttributes (aino->nname, mode); + SetFileAttributesSafe (aino->nname, mode); aino->dirty = 1; if (aino->volflags & MYVOLUMEINFO_STREAMS) { @@ -523,9 +552,20 @@ TCHAR *fsdb_search_dir (const TCHAR *dirname, TCHAR *rel) WIN32_FIND_DATA fd; HANDLE h; TCHAR *tmp, *p = 0; - + const TCHAR *namep; + TCHAR path[MAX_DPATH]; + tmp = build_nname (dirname, rel); - h = FindFirstFile (tmp, &fd); + if (!tmp) + return NULL; + if (currprefs.win32_filesystem_mangle_reserved_names == false) { + _tcscpy (path, PATHPREFIX); + _tcscat (path, tmp); + namep = path; + } else { + namep = tmp; + } + h = FindFirstFile (namep, &fd); if (h != INVALID_HANDLE_VALUE) { if (_tcscmp (fd.cFileName, rel) == 0) p = rel; @@ -544,11 +584,22 @@ static a_inode *custom_fsdb_lookup_aino (a_inode *base, const TCHAR *aname, int HANDLE h; WIN32_FIND_DATA fd; static a_inode dummy; + const TCHAR *namep; + TCHAR path[MAX_DPATH]; tmp1 = build_nname (base->nname, UAEFSDB_BEGINSX); if (!tmp1) return NULL; - h = FindFirstFile (tmp1, &fd); + + if (currprefs.win32_filesystem_mangle_reserved_names == false) { + _tcscpy (path, PATHPREFIX); + _tcscat (path, tmp1); + namep = path; + } else { + namep = tmp1; + } + + h = FindFirstFile (namep, &fd); if (h != INVALID_HANDLE_VALUE) { do { if (read_uaefsdb (base->nname, fd.cFileName, fsdb)) { diff --git a/od-win32/keyboard_win32.cpp b/od-win32/keyboard_win32.cpp index 16286797..9887e0e5 100644 --- a/od-win32/keyboard_win32.cpp +++ b/od-win32/keyboard_win32.cpp @@ -126,11 +126,11 @@ static struct uae_input_device_kbr_default keytrans_amiga[] = { { DIK_LSHIFT, INPUTEVENT_KEY_SHIFT_LEFT, 0, INPUTEVENT_SPC_QUALIFIER_SHIFT }, { DIK_LCONTROL, INPUTEVENT_KEY_CTRL, 0, INPUTEVENT_SPC_QUALIFIER_CONTROL }, - { DIK_LWIN, INPUTEVENT_KEY_AMIGA_LEFT }, + { DIK_LWIN, INPUTEVENT_KEY_AMIGA_LEFT, 0, INPUTEVENT_SPC_QUALIFIER_WIN }, { DIK_LMENU, INPUTEVENT_KEY_ALT_LEFT, 0, INPUTEVENT_SPC_QUALIFIER_ALT }, { DIK_RMENU, INPUTEVENT_KEY_ALT_RIGHT, 0, INPUTEVENT_SPC_QUALIFIER_ALT }, - { DIK_RWIN, INPUTEVENT_KEY_AMIGA_RIGHT }, - { DIK_APPS, INPUTEVENT_KEY_AMIGA_RIGHT }, + { DIK_RWIN, INPUTEVENT_KEY_AMIGA_RIGHT, 0, INPUTEVENT_SPC_QUALIFIER_WIN }, + { DIK_APPS, INPUTEVENT_KEY_AMIGA_RIGHT, 0, INPUTEVENT_SPC_QUALIFIER_WIN }, { DIK_RCONTROL, INPUTEVENT_KEY_CTRL, 0, INPUTEVENT_SPC_QUALIFIER_CONTROL }, { DIK_RSHIFT, INPUTEVENT_KEY_SHIFT_RIGHT, 0, INPUTEVENT_SPC_QUALIFIER_SHIFT }, diff --git a/od-win32/posixemu.cpp b/od-win32/posixemu.cpp index db0e5c13..9b90fef7 100644 --- a/od-win32/posixemu.cpp +++ b/od-win32/posixemu.cpp @@ -118,9 +118,19 @@ int posixemu_stat (const TCHAR *name, struct _stat64 *statbuf) FILETIME ft, lft; HANDLE h; BY_HANDLE_FILE_INFORMATION fi; + const TCHAR *namep; + TCHAR path[MAX_DPATH]; + + if (currprefs.win32_filesystem_mangle_reserved_names == false) { + _tcscpy (path, PATHPREFIX); + _tcscat (path, name); + namep = path; + } else { + namep = name; + } // FILE_FLAG_BACKUP_SEMANTICS = can also "open" directories - h = CreateFile (name, 0, FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_BACKUP_SEMANTICS, NULL); + h = CreateFile (namep, 0, FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_BACKUP_SEMANTICS, NULL); if (h == INVALID_HANDLE_VALUE) { write_log (_T("Stat CreateFile(%s) failed: %d\n"), name, GetLastError ()); return -1; @@ -135,7 +145,7 @@ int posixemu_stat (const TCHAR *name, struct _stat64 *statbuf) ft = fi.ftLastWriteTime; statbuf->st_size = ((uae_u64)fi.nFileSizeHigh << 32) | fi.nFileSizeLow; } else { - write_log (_T("GetFileInformationByHandle(%s) failed: %d\n"), name, GetLastError ()); + write_log (_T("GetFileInformationByHandle(%s) failed: %d\n"), namep, GetLastError ()); return -1; } @@ -157,7 +167,7 @@ int posixemu_chmod (const TCHAR *name, int mode) attr |= FILE_ATTRIBUTE_READONLY; if (mode & FILEFLAG_ARCHIVE) attr |= FILE_ATTRIBUTE_ARCHIVE; - if (SetFileAttributes (name,attr)) + if (SetFileAttributesSafe (name,attr)) return 1; return -1; } @@ -182,8 +192,18 @@ static int setfiletime (const TCHAR *name, unsigned int days, int minute, int ti { FILETIME LocalFileTime, FileTime; HANDLE hFile; + const TCHAR *namep; + TCHAR path[MAX_DPATH]; + + if (currprefs.win32_filesystem_mangle_reserved_names == false) { + _tcscpy (path, PATHPREFIX); + _tcscat (path, name); + namep = path; + } else { + namep = name; + } - if ((hFile = CreateFile (name, GENERIC_WRITE,FILE_SHARE_READ | FILE_SHARE_WRITE,NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_BACKUP_SEMANTICS, NULL)) == INVALID_HANDLE_VALUE) + if ((hFile = CreateFile (namep, GENERIC_WRITE,FILE_SHARE_READ | FILE_SHARE_WRITE,NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_BACKUP_SEMANTICS, NULL)) == INVALID_HANDLE_VALUE) return 0; for (;;) { diff --git a/od-win32/resources/resource b/od-win32/resources/resource index 0f34f691..bbb7dad7 100644 --- a/od-win32/resources/resource +++ b/od-win32/resources/resource @@ -6,6 +6,7 @@ #define IDS_DISK 2 #define IDS_DISPLAY 3 #define IDC_HARDDRIVE_IMAGE 3 +#define IDC_LISTDIALOG_CLEAR 3 #define IDS_HARDDISK 4 #define IDS_FLOPPY 5 #define IDS_ABOUT 6 @@ -363,6 +364,10 @@ #define IDS_WSTYLE_MINIMAL 383 #define IDS_WSTYLE_STANDARD 384 #define IDS_WSTYLE_EXTENDED 385 +#define IDD_LIST 386 +#define IDS_MISCLISTITEMS1 386 +#define IDS_MISCLISTITEMS2 387 +#define IDS_MISCLISTITEMS3 388 #define IDS_QS_MODELS 1000 #define IDS_QS_MODEL_A500 1001 #define IDS_QS_MODEL_A500P 1002 @@ -539,6 +544,9 @@ #define IDC_SAVEIMAGE2 1287 #define IDC_PROWIZARD 1288 #define IDC_SAVEIMAGE3 1288 +#define IDC_GUI_FONT 1288 +#define IDC_GUI_DEFAULT 1289 +#define IDC_GUI_LISTFONT 1290 #define IDC_PORT0_JOYSC 1302 #define IDC_PORT0_KBDA 1303 #define IDC_PORT0_KBDB 1304 @@ -664,6 +672,7 @@ #define IDC_DF0WP 1519 #define IDC_OCS 1520 #define IDC_HDFLOPPY 1520 +#define IDC_SETTINGSTEXT3 1520 #define IDC_ECS_AGNUS 1521 #define IDC_ECS_DENISE 1522 #define IDC_ECS 1523 @@ -682,11 +691,12 @@ #define IDC_MINIMIZED_PAUSE 1531 #define IDC_STATEREC_RECORD 1532 #define IDC_KBLED_USB 1533 -#define IDC_STATEREC_CAPTURE2 1533 #define IDC_ACTIVE_PAUSE 1534 +#define IDC_KBLED_USB2 1534 #define IDC_ACTIVE_NOSOUND 1535 #define IDC_STATECLEAR 1536 #define IDC_SER_SHARED 1553 +#define IDC_GUI_RESIZE 1553 #define IDC_SER_CTSRTS 1554 #define IDC_SER_DIRECT 1555 #define IDC_PSPRINTER 1556 @@ -823,6 +833,8 @@ #define IDC_SOUNDCALIBRATE 1641 #define IDC_ACTIVE_PRIORITY 1642 #define IDC_SOUNDDRIVE 1642 +#define IDC_KBLED4 1642 +#define IDC_GUI_SIZE 1642 #define IDC_INACTIVE_PRIORITY 1643 #define IDC_ACTIVE_PRI 1644 #define IDC_MINIMIZED_PRIORITY 1645 @@ -938,6 +950,7 @@ #define IDC_SOUND_AUTO 1709 #define IDC_FILTERKEEPASPECT 1709 #define IDC_CS_RTC 1710 +#define IDC_FILTERKEEPAUTOSCALEASPECT 1710 #define IDC_CS_CIAA_TOD1 1711 #define IDC_CS_CIAA_TOD2 1712 #define IDC_CS_EXT 1712 @@ -1083,6 +1096,7 @@ #define IDC_MISCLIST 1810 #define IDC_STATENAME 1811 #define IDC_SAMPLER_STEREO 1812 +#define IDC_LISTDIALOG_LIST 1813 #define ID__FLOPPYDRIVES 40004 #define ID_FLOPPYDRIVES_DF0 40005 #define ID_ST_CONFIGURATION 40010 @@ -1131,9 +1145,9 @@ #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_NO_MFC 1 #define _APS_3D_CONTROLS 1 -#define _APS_NEXT_RESOURCE_VALUE 386 +#define _APS_NEXT_RESOURCE_VALUE 387 #define _APS_NEXT_COMMAND_VALUE 40050 -#define _APS_NEXT_CONTROL_VALUE 1813 +#define _APS_NEXT_CONTROL_VALUE 1814 #define _APS_NEXT_SYMED_VALUE 101 #endif #endif diff --git a/od-win32/resources/winuae.exe.manifest b/od-win32/resources/winuae.exe.manifest index f9701443..b66e65d5 100644 --- a/od-win32/resources/winuae.exe.manifest +++ b/od-win32/resources/winuae.exe.manifest @@ -1,5 +1,5 @@  - + + + + true + + diff --git a/od-win32/resources/winuae.rc b/od-win32/resources/winuae.rc index 900d5f94..ee25b8c9 100644 --- a/od-win32/resources/winuae.rc +++ b/od-win32/resources/winuae.rc @@ -85,373 +85,376 @@ END // Dialog // -IDD_KICKSTART DIALOGEX 0, 0, 300, 176 +IDD_KICKSTART DIALOGEX 0, 0, 396, 195 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 "System ROM Settings",-1,5,0,290,93 + GROUPBOX "System ROM Settings",-1,1,0,394,93 LTEXT "Main ROM file:",IDC_ROMTEXT,14,13,263,10 - COMBOBOX IDC_ROMFILE,12,26,263,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "...",IDC_KICKCHOOSER,280,25,10,15 + COMBOBOX IDC_ROMFILE,12,26,361,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "...",IDC_KICKCHOOSER,376,25,10,15 LTEXT "Extended ROM file:",IDC_ROMFILE2TEXT,14,43,263,10 - COMBOBOX IDC_ROMFILE2,12,56,263,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "...",IDC_ROMCHOOSER2,280,55,10,15 + COMBOBOX IDC_ROMFILE2,12,56,361,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "...",IDC_ROMCHOOSER2,376,55,10,15 CONTROL "MapROM emulation [] Creates a BlizKick-compatible memory area.",IDC_MAPROM, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,95,77,87,10 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,87,77,104,12 CONTROL "ShapeShifter support [] Patches the system ROM for ShapeShifter compatibility.",IDC_KICKSHIFTER, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,187,77,87,10 - GROUPBOX "Miscellaneous",-1,5,99,290,75 - LTEXT "Cartridge ROM file:",IDC_FLASHTEXT2,12,110,265,10 - COMBOBOX IDC_CARTFILE,12,123,263,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "...",IDC_CARTCHOOSER,280,122,10,15 - LTEXT "Flash RAM file:",IDC_FLASHTEXT,12,142,265,10 - EDITTEXT IDC_FLASHFILE,12,155,262,13,ES_AUTOHSCROLL - PUSHBUTTON "...",IDC_FLASHCHOOSER,280,154,10,15 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,195,77,106,13 + GROUPBOX "Miscellaneous",-1,1,98,394,90 + LTEXT "Cartridge ROM file:",IDC_FLASHTEXT2,12,112,265,10 + COMBOBOX IDC_CARTFILE,12,125,361,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "...",IDC_CARTCHOOSER,376,124,10,15 + LTEXT "Flash RAM file:",IDC_FLASHTEXT,12,144,265,10 + EDITTEXT IDC_FLASHFILE,12,157,361,12,ES_AUTOHSCROLL + PUSHBUTTON "...",IDC_FLASHCHOOSER,376,156,10,15 END -IDD_DISPLAY DIALOGEX 0, 0, 300, 235 +IDD_DISPLAY DIALOGEX 0, 0, 396, 272 STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD FONT 8, "MS Sans Serif", 0, 0, 0x1 BEGIN - GROUPBOX "Screen",IDC_SCREENRESTEXT,4,0,292,67,BS_LEFT - COMBOBOX IDC_DISPLAYSELECT,10,10,279,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_RESOLUTION,59,27,68,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_REFRESHRATE,187,27,102,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - EDITTEXT IDC_XSIZE,59,48,48,12,ES_NUMBER - EDITTEXT IDC_YSIZE,114,48,47,12,ES_NUMBER - GROUPBOX "Settings",IDC_SETTINGSTEXT,4,73,209,137 - CONTROL "Blacker than black",IDC_BLACKER_THAN_BLACK,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_TABSTOP,11,125,92,10 - LTEXT "Refresh:",IDC_REFRESHTEXT,11,173,28,8 - CONTROL "Slider1",IDC_FRAMERATE,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,40,168,99,20 - GROUPBOX "Centering",IDC_STATIC,221,73,75,49 - CONTROL "Horizontal",IDC_XCENTER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,229,87,49,10 - CONTROL "Vertical",IDC_YCENTER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,229,103,49,10 - GROUPBOX "Line Mode",IDC_LINEMODE,222,126,74,84 - CONTROL "Normal",IDC_LM_NORMAL,"Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_GROUP | WS_TABSTOP,231,148,44,10 - CONTROL "Double",IDC_LM_DOUBLED,"Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_TABSTOP,231,164,45,10 - CONTROL "Scanlines",IDC_LM_SCANLINES,"Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_TABSTOP,231,180,46,10 - COMBOBOX IDC_DA_MODE,4,218,58,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - CONTROL "",IDC_DA_SLIDER,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,67,214,96,20 - LTEXT "FPS adj.:",IDC_REFRESH2TEXT,9,193,32,8 - CONTROL "",IDC_FRAMERATE2,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,40,188,99,20 - EDITTEXT IDC_RATE2TEXT,143,192,46,12,ES_AUTOHSCROLL - COMBOBOX IDC_RESOLUTIONDEPTH,134,27,46,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - CONTROL "Filtered low resolution",IDC_LORES_SMOOTHED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,120,125,89,10 - COMBOBOX IDC_SCREENMODE_NATIVE,39,85,63,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_SCREENMODE_RTG,39,103,63,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - RTEXT "Native:",IDC_STATIC,9,85,23,15,SS_CENTERIMAGE - RTEXT "RTG:",IDC_STATIC,8,101,24,15,SS_CENTERIMAGE - PUSHBUTTON "Reset to defaults",IDC_DA_RESET,221,218,75,14 - RTEXT "Resolution:",IDC_STATIC,27,152,59,15,SS_CENTERIMAGE - COMBOBOX IDC_LORES,103,152,102,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - CONTROL "Remove interlace artifacts",IDC_FLICKERFIXER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,139,99,10 - RTEXT "Windowed:",IDC_STATIC,13,46,40,15,SS_CENTERIMAGE - RTEXT "Fullscreen:",IDC_STATIC,11,27,40,15,SS_CENTERIMAGE - COMBOBOX IDC_DISPLAY_BUFFERCNT,187,47,102,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - CONTROL "Resolution autoswitch",IDC_AUTORESOLUTION,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,120,139,89,10 - EDITTEXT IDC_DA_TEXT,167,218,46,12,ES_AUTOHSCROLL | ES_READONLY - COMBOBOX IDC_SCREENMODE_NATIVE2,108,85,99,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_SCREENMODE_RTG2,108,103,99,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_RATE2BOX,143,173,60,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - CONTROL "",IDC_RATE2ENABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,194,193,8,10 -END - -IDD_MEMORY DIALOGEX 0, 0, 300, 205 + GROUPBOX "Screen",IDC_SCREENRESTEXT,1,0,393,77,BS_LEFT + COMBOBOX IDC_DISPLAYSELECT,10,10,375,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_RESOLUTION,59,30,76,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_REFRESHRATE,266,30,119,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + EDITTEXT IDC_XSIZE,59,53,56,12,ES_NUMBER + EDITTEXT IDC_YSIZE,122,53,56,12,ES_NUMBER + GROUPBOX "Settings",IDC_SETTINGSTEXT,1,86,283,144 + CONTROL "Blacker than black",IDC_BLACKER_THAN_BLACK,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_TABSTOP,11,140,142,10 + RTEXT "Refresh:",IDC_REFRESHTEXT,11,190,57,8 + CONTROL "Slider1",IDC_FRAMERATE,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,71,185,99,20 + GROUPBOX "Centering",IDC_STATIC,289,86,105,49 + CONTROL "Horizontal",IDC_XCENTER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,300,100,90,10 + CONTROL "Vertical",IDC_YCENTER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,300,116,90,10 + GROUPBOX "Line Mode",IDC_LINEMODE,290,139,104,90 + CONTROL "Normal",IDC_LM_NORMAL,"Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_GROUP | WS_TABSTOP,299,161,90,10 + CONTROL "Double",IDC_LM_DOUBLED,"Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_TABSTOP,299,177,90,10 + CONTROL "Scanlines",IDC_LM_SCANLINES,"Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_TABSTOP,299,193,90,10 + COMBOBOX IDC_DA_MODE,15,245,71,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + CONTROL "",IDC_DA_SLIDER,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,96,241,96,20 + RTEXT "FPS adj.:",IDC_REFRESH2TEXT,9,211,61,8 + CONTROL "",IDC_FRAMERATE2,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,71,206,99,20 + EDITTEXT IDC_RATE2TEXT,181,210,46,12,ES_AUTOHSCROLL + COMBOBOX IDC_RESOLUTIONDEPTH,144,30,62,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + CONTROL "Filtered low resolution",IDC_LORES_SMOOTHED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,159,140,116,10 + COMBOBOX IDC_SCREENMODE_NATIVE,69,98,63,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_SCREENMODE_RTG,69,118,63,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + RTEXT "Native:",IDC_STATIC,9,98,56,15,SS_CENTERIMAGE + RTEXT "RTG:",IDC_STATIC,8,115,57,15,SS_CENTERIMAGE + PUSHBUTTON "Reset to defaults",IDC_DA_RESET,289,245,106,14 + RTEXT "Resolution:",IDC_STATIC,27,170,110,10,SS_CENTERIMAGE + COMBOBOX IDC_LORES,142,169,127,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + CONTROL "Remove interlace artifacts",IDC_FLICKERFIXER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,154,142,10 + RTEXT "Windowed:",IDC_STATIC,2,51,51,15,SS_CENTERIMAGE + RTEXT "Fullscreen:",IDC_STATIC,3,30,51,15,SS_CENTERIMAGE + COMBOBOX IDC_DISPLAY_BUFFERCNT,266,53,119,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + CONTROL "Resolution autoswitch",IDC_AUTORESOLUTION,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,159,154,116,10 + EDITTEXT IDC_DA_TEXT,205,245,56,12,ES_AUTOHSCROLL | ES_READONLY + COMBOBOX IDC_SCREENMODE_NATIVE2,142,98,127,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_SCREENMODE_RTG2,142,118,127,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_RATE2BOX,181,190,60,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + CONTROL "",IDC_RATE2ENABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,232,211,8,10 +END + +IDD_MEMORY DIALOGEX 0, 0, 396, 206 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",IDC_STATIC,14,7,274,117 - 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 - 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 - 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 - 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",IDC_STATIC,14,131,274,65 - RTEXT "Motherboard Fast:",IDC_STATIC,48,147,129,10,SS_CENTERIMAGE - CONTROL "",IDC_MBMEM1,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,181,143,59,20 - EDITTEXT IDC_MBRAM1,244,146,34,12,ES_CENTER | ES_READONLY - RTEXT "Processor Slot Fast:",IDC_STATIC,48,170,129,10,SS_CENTERIMAGE - CONTROL "",IDC_MBMEM2,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,181,166,59,20 - EDITTEXT IDC_MBRAM2,244,169,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,136,74,41,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 - CONTROL "Autoconfig Fast RAM",IDC_FASTMEMAUTOCONFIG,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,29,76,101,10 - EDITTEXT IDC_MAX32RAM,29,98,249,12,ES_CENTER | ES_READONLY -END - -IDD_CPU DIALOGEX 0, 0, 300, 241 + GROUPBOX "Memory Settings",IDC_STATIC,1,7,393,117 + CONTROL "Slider1",IDC_CHIPMEM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,68,22,60,20 + EDITTEXT IDC_CHIPRAM,135,25,40,12,ES_CENTER | ES_READONLY + CONTROL "Slider1",IDC_SLOWMEM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,248,22,60,20 + EDITTEXT IDC_SLOWRAM,311,25,40,12,ES_CENTER | ES_READONLY + CONTROL "Slider1",IDC_FASTMEM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,68,47,60,20 + EDITTEXT IDC_FASTRAM,135,53,40,12,ES_CENTER | ES_READONLY + CONTROL "Slider1",IDC_Z3FASTMEM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,248,47,60,20 + EDITTEXT IDC_Z3FASTRAM,311,50,40,12,ES_CENTER | ES_READONLY + GROUPBOX "A3000/A4000 Advanced Memory Settings",IDC_STATIC,1,131,393,65 + RTEXT "Motherboard Fast:",IDC_STATIC,44,149,129,10,SS_CENTERIMAGE + CONTROL "",IDC_MBMEM1,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,177,145,60,20 + EDITTEXT IDC_MBRAM1,240,148,40,12,ES_CENTER | ES_READONLY + RTEXT "Processor Slot Fast:",IDC_STATIC,44,172,129,10,SS_CENTERIMAGE + CONTROL "",IDC_MBMEM2,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,177,168,60,20 + EDITTEXT IDC_MBRAM2,240,171,40,12,ES_CENTER | ES_READONLY + RTEXT "Fast:",IDC_STATIC,8,49,60,15,SS_CENTERIMAGE + RTEXT "Chip:",IDC_STATIC,7,25,60,15,SS_CENTERIMAGE + RTEXT "Slow:",IDC_STATIC,179,25,66,15,SS_CENTERIMAGE + RTEXT "Z3 Fast:",IDC_STATIC,179,49,66,15,SS_CENTERIMAGE + RTEXT "32-bit Chip:",IDC_STATIC,180,74,66,15,SS_CENTERIMAGE + CONTROL "",IDC_Z3CHIPMEM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,248,71,60,20 + EDITTEXT IDC_Z3CHIPRAM,311,76,40,12,ES_CENTER | ES_READONLY + CONTROL "Autoconfig Fast RAM",IDC_FASTMEMAUTOCONFIG,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,51,76,124,10 + EDITTEXT IDC_MAX32RAM,14,99,366,12,ES_CENTER | ES_READONLY +END + +IDD_CPU DIALOGEX 0, 0, 396, 288 STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD FONT 8, "MS Sans Serif", 0, 0, 0x0 BEGIN - GROUPBOX "CPU",IDC_STATIC,5,1,81,144,BS_LEFT - CONTROL "68000",IDC_CPU0,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,13,15,63,10 - CONTROL "68010",IDC_CPU1,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,13,28,65,10 - CONTROL "68020",IDC_CPU2,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,13,41,63,10 - 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 + GROUPBOX "CPU",IDC_STATIC,1,1,99,160,BS_LEFT + CONTROL "68000",IDC_CPU0,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,8,15,63,10 + CONTROL "68010",IDC_CPU1,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,8,29,63,10 + CONTROL "68020",IDC_CPU2,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,8,42,63,10 + CONTROL "68030",IDC_CPU3,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,8,56,63,10 + CONTROL "68040",IDC_CPU4,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,8,70,63,10 + CONTROL "68060",IDC_CPU5,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,8,84,63,10 + CONTROL "24-bit addressing",IDC_COMPATIBLE24,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,8,101,87,11 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 + "Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,8,115,87,11 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 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,128,87,11 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 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,142,87,11 + GROUPBOX "FPU",IDC_STATIC,1,167,99,91,BS_LEFT + CONTROL "None",IDC_FPU0,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,8,182,87,10 + CONTROL "68881",IDC_FPU1,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,8,196,87,10 + CONTROL "68882",IDC_FPU2,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,8,209,87,10 + CONTROL "CPU internal",IDC_FPU3,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,8,223,87,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",IDC_CS_HOST,"Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_GROUP | WS_TABSTOP,95,18,195,10 + "Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,8,242,87,10 + GROUPBOX "CPU Emulation Speed",IDC_STATIC,110,3,284,96 + CONTROL "Fastest possible",IDC_CS_HOST,"Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_GROUP | WS_TABSTOP,115,18,195,10 CONTROL "Approximate A500/A1200 or cycle-exact",IDC_CS_68000, - "Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_TABSTOP,95,32,195,10 - CONTROL "Slider1",IDC_SPEED,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,96,51,192,20 - CONTROL "",IDC_CPUIDLE,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,219,71,69,20 - CTEXT "CPU Idle",IDC_STATIC,179,76,35,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_CPUTEXT,144,75,30,12,ES_CENTER | ES_READONLY - CONTROL "Hard flush",IDC_HARDFLUSH,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,100,194,63,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 - EDITTEXT IDC_CACHETEXT,259,166,30,12,ES_CENTER | ES_READONLY - CTEXT "CPU Speed",IDC_STATIC,93,76,43,9,SS_CENTERIMAGE -END - -IDD_FLOPPY DIALOGEX 0, 0, 300, 240 + "Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_TABSTOP,115,32,195,10 + CONTROL "Slider1",IDC_SPEED,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,116,51,192,20 + CONTROL "",IDC_CPUIDLE,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,282,71,69,21 + RTEXT "CPU Idle",IDC_STATIC,213,76,62,9 + GROUPBOX "Cycle-exact CPU Emulation Speed",IDC_STATIC,110,105,284,55 + RTEXT "CPU Frequency",IDC_STATIC,113,129,67,10,SS_CENTERIMAGE + COMBOBOX IDC_CPU_FREQUENCY,189,128,46,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + EDITTEXT IDC_CPU_FREQUENCY2,242,127,70,15 + GROUPBOX "Advanced JIT Settings",IDC_STATIC,110,167,284,91 + RTEXT "Cache size:",IDC_STATIC,117,187,66,10,SS_CENTERIMAGE + CONTROL "Slider1",IDC_CACHE,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,186,181,115,20 + EDITTEXT IDC_CPUTEXT,178,75,30,12,ES_CENTER | ES_READONLY + CONTROL "Hard flush",IDC_HARDFLUSH,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,120,214,84,11 + CONTROL "No flags",IDC_NOFLAGS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,217,214,68,11 + CONTROL "Direct",IDC_TRUST0,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,289,214,72,10 + CONTROL "Constant jump",IDC_CONSTJUMP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,120,228,84,11 + CONTROL "FPU support",IDC_JITFPU,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,120,242,84,11 + CONTROL "Indirect",IDC_TRUST1,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,289,228,72,10 + EDITTEXT IDC_CACHETEXT,305,186,30,12,ES_CENTER | ES_READONLY + RTEXT "CPU Speed",IDC_STATIC,115,76,55,9,SS_CENTERIMAGE +END + +IDD_FLOPPY DIALOGEX 0, 0, 396, 261 STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD FONT 8, "MS Sans Serif", 0, 0, 0x0 BEGIN - COMBOBOX IDC_DF0TEXT,2,22,296,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_DF0TYPE,115,6,57,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - RTEXT "Write-protected",IDC_STATIC,174,8,59,10,SS_CENTERIMAGE - CONTROL "",IDC_DF0WP,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,238,4,10,15 - PUSHBUTTON "Eject",IDC_EJECT0,253,4,30,15 - PUSHBUTTON "...",IDC_DF0,287,4,10,15 - COMBOBOX IDC_DF1TEXT,2,58,296,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_DF1TYPE,115,42,57,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - RTEXT "Write-protected",IDC_STATIC,174,43,59,10,SS_CENTERIMAGE - CONTROL "",IDC_DF1WP,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,238,40,10,15 - PUSHBUTTON "Eject",IDC_EJECT1,253,40,30,15 - PUSHBUTTON "...",IDC_DF1,287,40,10,15 - COMBOBOX IDC_DF2TEXT,2,93,296,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_DF2TYPE,115,77,57,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - RTEXT "Write-protected",IDC_STATIC,174,77,59,10,SS_CENTERIMAGE - CONTROL "",IDC_DF2WP,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,238,75,9,15 - PUSHBUTTON "Eject",IDC_EJECT2,253,75,30,15 - PUSHBUTTON "...",IDC_DF2,287,75,10,15 - COMBOBOX IDC_DF3TEXT,2,128,296,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_DF3TYPE,115,112,57,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - RTEXT "Write-protected",IDC_STATIC,174,113,59,10,SS_CENTERIMAGE - CONTROL "",IDC_DF3WP,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,238,111,9,15 - PUSHBUTTON "Eject",IDC_EJECT3,253,110,30,15 - 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,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 - EDITTEXT IDC_FLOPPYSPDTEXT,183,157,101,12,ES_CENTER | ES_READONLY - PUSHBUTTON "Delete save image",IDC_SAVEIMAGE0,43,5,70,15,NOT WS_VISIBLE - 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,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 + COMBOBOX IDC_DF0TEXT,6,31,384,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_DF0TYPE,180,14,65,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + RTEXT "Write-protected",IDC_STATIC,249,17,74,10,SS_CENTERIMAGE + CONTROL "",IDC_DF0WP,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,328,13,10,15 + PUSHBUTTON "Eject",IDC_EJECT0,345,12,30,15 + PUSHBUTTON "...",IDC_DF0,379,12,10,15 + COMBOBOX IDC_DF1TEXT,6,68,383,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_DF1TYPE,180,51,65,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + RTEXT "Write-protected",IDC_STATIC,249,53,74,10,SS_CENTERIMAGE + CONTROL "",IDC_DF1WP,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,328,50,10,15 + PUSHBUTTON "Eject",IDC_EJECT1,345,49,30,15 + PUSHBUTTON "...",IDC_DF1,379,49,10,15 + COMBOBOX IDC_DF2TEXT,6,104,384,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_DF2TYPE,180,87,65,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + RTEXT "Write-protected",IDC_STATIC,250,88,73,10,SS_CENTERIMAGE + CONTROL "",IDC_DF2WP,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,328,86,9,15 + PUSHBUTTON "Eject",IDC_EJECT2,345,85,30,15 + PUSHBUTTON "...",IDC_DF2,379,85,10,15 + COMBOBOX IDC_DF3TEXT,6,140,383,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_DF3TYPE,180,123,65,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + RTEXT "Write-protected",IDC_STATIC,250,125,73,10,SS_CENTERIMAGE + CONTROL "",IDC_DF3WP,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,328,123,9,15 + PUSHBUTTON "Eject",IDC_EJECT3,345,121,30,15 + PUSHBUTTON "...",IDC_DF3,379,121,10,15 + GROUPBOX "New Floppy Disk Image",IDC_SETTINGSTEXT,1,211,393,49 + COMBOBOX IDC_FLOPPYTYPE,58,225,64,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "Create Standard Disk [] Creates a standard 880 or 1760 KB ADF disk image.",IDC_CREATE,131,224,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,235,224,101,15 + GROUPBOX "Floppy Drive Emulation Speed",IDC_SETTINGSTEXT2,1,170,393,35 + CONTROL "",IDC_FLOPPYSPD,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,71,180,116,20 + EDITTEXT IDC_FLOPPYSPDTEXT,222,183,101,12,ES_CENTER | ES_READONLY + PUSHBUTTON "Delete save image",IDC_SAVEIMAGE0,97,13,78,15,NOT WS_VISIBLE + PUSHBUTTON "Delete save image",IDC_SAVEIMAGE1,97,49,78,15,NOT WS_VISIBLE + PUSHBUTTON "Delete save image",IDC_SAVEIMAGE2,97,85,78,15,NOT WS_VISIBLE + PUSHBUTTON "Delete save image",IDC_SAVEIMAGE3,97,121,78,15,NOT WS_VISIBLE + EDITTEXT IDC_CREATE_NAME,130,243,97,13,ES_AUTOHSCROLL + RTEXT "Disk label:",IDC_STATIC,60,244,58,10,SS_CENTERIMAGE + CONTROL "DF0:",IDC_DF0ENABLE,"Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,7,14,34,15 + CONTROL "DF1:",IDC_DF1ENABLE,"Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,7,51,34,15 + CONTROL "DF2:",IDC_DF2ENABLE,"Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,7,87,34,15 + CONTROL "DF3:",IDC_DF3ENABLE,"Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,7,123,34,15 + CONTROL "FFS",IDC_FLOPPY_FFS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,300,242,34,15 + CONTROL "Bootblock",IDC_FLOPPY_BOOTABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,234,242,59,15 + GROUPBOX "Floppy Drives",IDC_SETTINGSTEXT3,1,0,393,163 +END + +IDD_HARDDISK DIALOGEX 0, 0, 396, 318 STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD EXSTYLE WS_EX_CONTEXTHELP FONT 8, "MS Sans Serif", 0, 0, 0x1 BEGIN - CONTROL "List1",IDC_VOLUMELIST,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,5,0,290,116 - PUSHBUTTON "Add &Directory or Archive...",IDC_NEW_FS,10,121,103,15 - PUSHBUTTON "Add &Hardfile...",IDC_NEW_HF,130,121,74,15 - PUSHBUTTON "Add Ha&rd Drive...",IDC_NEW_HD,220,121,75,15 - PUSHBUTTON "Remove",IDC_REMOVE,235,141,60,15 - PUSHBUTTON "&Properties",IDC_EDIT,235,158,60,15 - CONTROL "Add PC drives at startup",IDC_MAPDRIVES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,5,140,100,10 - CONTROL "Disable UAEFSDB-support",IDC_NOUAEFSDB,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,110,140,119,10 - CONTROL "Don't use Windows Recycle Bin",IDC_NORECYCLEBIN,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,110,152,121,10 - CONTROL "Include network drives..",IDC_MAPDRIVES_NET,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,5,164,101,10 - CONTROL "CDFS automount CD/DVD drives",IDC_MAPDRIVES_CD,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,5,176,136,10 + CONTROL "List1",IDC_VOLUMELIST,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,1,2,393,153 + PUSHBUTTON "Add &Directory or Archive...",IDC_NEW_FS,1,157,128,15 + PUSHBUTTON "Add &Hardfile...",IDC_NEW_HF,135,157,126,15 + PUSHBUTTON "Add Ha&rd Drive...",IDC_NEW_HD,267,157,127,15 + PUSHBUTTON "Remove",IDC_REMOVE,334,176,60,15 + PUSHBUTTON "&Properties",IDC_EDIT,267,176,60,15 + CONTROL "Add PC drives at startup",IDC_MAPDRIVES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,206,201,11 + CONTROL "Disable UAEFSDB-support",IDC_NOUAEFSDB,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,222,206,167,11 + CONTROL "Don't use Windows Recycle Bin",IDC_NORECYCLEBIN,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,222,219,167,11 + CONTROL "Include network drives..",IDC_MAPDRIVES_NET,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,233,201,11 + CONTROL "CDFS automount CD/DVD drives",IDC_MAPDRIVES_CD,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,247,201,11 CONTROL "Automount removable drives [] Windows side insert or removal will immediately mount/remove it on Amiga side.",IDC_MAPDRIVES_AUTO, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,110,164,115,10 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,222,233,167,11 CONTROL "Include removable drives..",IDC_MAPDRIVES_REMOVABLE, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,5,152,100,10 - COMBOBOX IDC_CD_TEXT,5,224,289,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "Eject",IDC_CD_EJECT,265,204,30,15 - PUSHBUTTON "Select image file",IDC_CD_SELECT,90,204,98,15 - COMBOBOX IDC_CD_TYPE,194,205,63,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - LTEXT "CD drive/image",IDC_STATIC,5,206,70,10,SS_CENTERIMAGE + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,219,201,11 + COMBOBOX IDC_CD_TEXT,5,301,386,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "Eject",IDC_CD_EJECT,360,282,30,15 + PUSHBUTTON "Select image file",IDC_CD_SELECT,177,282,98,15 + COMBOBOX IDC_CD_TYPE,282,283,71,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "CD drive/image",IDC_STATIC,5,284,70,10,SS_CENTERIMAGE CONTROL "Limit size of directory drives to 1G [] Workaround for example old installers that calculate free space incorrectly if drive is large.",IDC_MAPDRIVES_LIMIT, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,5,188,136,10 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,222,247,167,11 + GROUPBOX "Options",IDC_STATIC,1,191,393,76 + GROUPBOX "Optical media options",IDC_STATIC,1,270,393,48 END -IDD_SOUND DIALOGEX 0, 0, 300, 237 +IDD_SOUND DIALOGEX 0, 0, 396, 288 STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD FONT 8, "MS Sans Serif", 0, 0, 0x1 BEGIN - COMBOBOX IDC_SOUNDCARDLIST,5,3,291,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - GROUPBOX "Sound Emulation",IDC_SOUNDSETTINGS,5,20,120,85 - CONTROL "Disabled",IDC_SOUND0,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,13,35,101,10 - CONTROL "Disabled, but emulated",IDC_SOUND1,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,13,53,102,10 - CONTROL "Enabled",IDC_SOUND2,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,13,71,102,10 - GROUPBOX "Volume",IDC_STATIC,132,20,164,31 - CONTROL "",IDC_SOUNDVOLUME,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,137,29,105,20 - EDITTEXT IDC_SOUNDVOLUME2,247,32,40,12,ES_CENTER | ES_READONLY - GROUPBOX "Sound Buffer Size",IDC_STATIC,132,59,164,31 - CONTROL "Slider1",IDC_SOUNDBUFFERRAM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,137,67,105,19 - EDITTEXT IDC_SOUNDBUFFERMEM,247,70,40,12,ES_CENTER | ES_READONLY - GROUPBOX "Settings",IDC_SOUNDINTERPOLATION2,6,106,290,60 - LTEXT "Frequency:",IDC_SOUNDFREQTXT,11,140,53,8,SS_CENTERIMAGE - COMBOBOX IDC_SOUNDFREQ,13,149,51,75,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP - LTEXT "Audio filter:",IDC_SOUNDFILTERTXT,209,140,77,8,SS_CENTERIMAGE - COMBOBOX IDC_SOUNDFILTER,209,149,80,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - LTEXT "Channel mode:",IDC_SOUNDSTEREOTXT,11,116,57,8,SS_CENTERIMAGE - COMBOBOX IDC_SOUNDSTEREO,13,125,122,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - LTEXT "Interpolation:",IDC_SOUNDINTERPOLATIONTXT,209,116,75,8,SS_CENTERIMAGE - COMBOBOX IDC_SOUNDINTERPOLATION,209,125,80,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - LTEXT "Stereo separation:",IDC_SOUNDSTEREOSEPTXT,141,116,63,8,SS_CENTERIMAGE - COMBOBOX IDC_SOUNDSTEREOSEP,142,125,62,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - LTEXT "Stereo delay:",IDC_SOUNDSTEREOMIXTXT,141,140,63,8,SS_CENTERIMAGE - COMBOBOX IDC_SOUNDSTEREOMIX,142,149,62,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - GROUPBOX "Floppy Drive Sound Emulation",IDC_STATIC,6,172,220,60 - CONTROL "",IDC_SOUNDDRIVEVOLUME,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,14,186,107,19 - EDITTEXT IDC_SOUNDDRIVEVOLUME2,124,188,40,12,ES_CENTER | ES_READONLY - COMBOBOX IDC_SOUNDDRIVE,173,187,46,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_SOUNDDRIVESELECT,18,209,202,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_SOUNDSWAP,73,149,62,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - LTEXT "Swap channels:",IDC_SOUNDSWAPTXT,74,140,61,8,SS_CENTERIMAGE - CONTROL "Automatic switching",IDC_SOUND_AUTO,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,14,89,103,10 - CONTROL "DirectSound",IDC_SOUND_DS,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,235,181,55,10 - CONTROL "WASAPI",IDC_SOUND_WASAPI,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,235,193,53,10 - CONTROL "OpenAL",IDC_SOUND_OPENAL,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,235,205,53,10 - CONTROL "PortAudio",IDC_SOUND_PORTAUDIO,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,235,217,58,10 - GROUPBOX "Drivers",IDC_STATIC,230,172,66,60 -END - -IDD_LOADSAVE DIALOGEX 0, 0, 302, 241 + COMBOBOX IDC_SOUNDCARDLIST,1,1,393,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + GROUPBOX "Sound Emulation",IDC_SOUNDSETTINGS,1,19,178,86 + CONTROL "Disabled",IDC_SOUND0,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,13,35,152,10 + CONTROL "Disabled, but emulated",IDC_SOUND1,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,13,53,152,10 + CONTROL "Enabled",IDC_SOUND2,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,13,71,152,10 + GROUPBOX "Volume",IDC_STATIC,185,19,209,41 + CONTROL "",IDC_SOUNDVOLUME,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,207,32,105,20 + EDITTEXT IDC_SOUNDVOLUME2,323,35,48,12,ES_CENTER | ES_READONLY + GROUPBOX "Sound Buffer Size",IDC_STATIC,185,63,209,41 + CONTROL "Slider1",IDC_SOUNDBUFFERRAM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,207,79,105,20 + EDITTEXT IDC_SOUNDBUFFERMEM,323,82,48,12,ES_CENTER | ES_READONLY + GROUPBOX "Settings",IDC_SOUNDINTERPOLATION2,1,107,393,72 + LTEXT "Frequency:",IDC_SOUNDFREQTXT,22,147,58,8,SS_CENTERIMAGE + COMBOBOX IDC_SOUNDFREQ,24,157,55,75,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP + LTEXT "Audio filter:",IDC_SOUNDFILTERTXT,279,147,98,8,SS_CENTERIMAGE + COMBOBOX IDC_SOUNDFILTER,279,157,96,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "Channel mode:",IDC_SOUNDSTEREOTXT,22,119,128,8,SS_CENTERIMAGE + COMBOBOX IDC_SOUNDSTEREO,24,129,135,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "Interpolation:",IDC_SOUNDINTERPOLATIONTXT,279,119,98,8,SS_CENTERIMAGE + COMBOBOX IDC_SOUNDINTERPOLATION,279,129,96,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "Stereo separation:",IDC_SOUNDSTEREOSEPTXT,180,119,84,8,SS_CENTERIMAGE + COMBOBOX IDC_SOUNDSTEREOSEP,181,129,74,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "Stereo delay:",IDC_SOUNDSTEREOMIXTXT,180,147,83,8,SS_CENTERIMAGE + COMBOBOX IDC_SOUNDSTEREOMIX,181,157,74,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + GROUPBOX "Floppy Drive Sound Emulation",IDC_STATIC,1,185,278,73 + CONTROL "",IDC_SOUNDDRIVEVOLUME,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,20,201,107,19 + EDITTEXT IDC_SOUNDDRIVEVOLUME2,144,203,48,12,ES_CENTER | ES_READONLY + COMBOBOX IDC_SOUNDDRIVE,205,203,66,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_SOUNDDRIVESELECT,18,229,253,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_SOUNDSWAP,86,157,74,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "Swap channels:",IDC_SOUNDSWAPTXT,85,147,81,8,SS_CENTERIMAGE + CONTROL "Automatic switching",IDC_SOUND_AUTO,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,13,89,152,10 + CONTROL "DirectSound",IDC_SOUND_DS,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,292,199,98,10 + CONTROL "WASAPI",IDC_SOUND_WASAPI,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,292,212,98,10 + CONTROL "OpenAL",IDC_SOUND_OPENAL,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,292,225,98,10 + CONTROL "PortAudio",IDC_SOUND_PORTAUDIO,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,292,238,98,10 + GROUPBOX "Drivers",IDC_STATIC,285,185,109,73 +END + +IDD_LOADSAVE DIALOGEX 0, 0, 396, 318 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 | 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 - EDITTEXT IDC_EDITDESCRIPTION,48,183,146,13,ES_AUTOHSCROLL - RTEXT "Link:",IDC_STATIC,4,204,40,15,SS_CENTERIMAGE - COMBOBOX IDC_CONFIGLINK,48,205,93,150,CBS_DROPDOWN | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - CONTROL "Ignore link",IDC_CONFIGNOLINK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,146,207,48,10 - EDITTEXT IDC_EDITPATH,199,161,49,15,ES_AUTOHSCROLL | WS_DISABLED - CONTROL "Autoload",IDC_CONFIGAUTO,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,253,163,42,10 - GROUPBOX "Additional Information",IDC_STATIC,199,179,96,38,BS_LEFT - PUSHBUTTON "View",IDC_VIEWINFO,208,195,37,15 - PUSHBUTTON "Set",IDC_SETINFO,250,195,37,15 - PUSHBUTTON "Load",IDC_QUICKLOAD,5,225,44,15 - PUSHBUTTON "Save",IDC_QUICKSAVE,54,225,44,15 - PUSHBUTTON "Load From...",IDC_LOAD,121,225,49,15 - PUSHBUTTON "Delete",IDC_DELETE,251,225,44,15 - PUSHBUTTON "Save As...",IDC_SAVE,175,225,44,15 -END - -IDD_IOPORTS DIALOGEX 0, 0, 305, 245 + CONTROL "",IDC_CONFIGTREE,"SysTreeView32",TVS_HASLINES | TVS_DISABLEDRAGDROP | TVS_SHOWSELALWAYS | TVS_TRACKSELECT | WS_BORDER | WS_HSCROLL | WS_TABSTOP,1,5,393,227,WS_EX_CLIENTEDGE + RTEXT "Name:",IDC_STATIC,4,241,47,8,SS_CENTERIMAGE + EDITTEXT IDC_EDITNAME,55,239,230,13,ES_AUTOHSCROLL + RTEXT "Description:",IDC_STATIC,1,262,50,8,SS_CENTERIMAGE + EDITTEXT IDC_EDITDESCRIPTION,55,260,230,13,ES_AUTOHSCROLL + RTEXT "Link:",IDC_STATIC,4,284,47,8,SS_CENTERIMAGE + COMBOBOX IDC_CONFIGLINK,55,282,168,150,CBS_DROPDOWN | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + CONTROL "Ignore link",IDC_CONFIGNOLINK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,228,283,58,12 + EDITTEXT IDC_EDITPATH,289,238,49,15,ES_AUTOHSCROLL | WS_DISABLED + CONTROL "Autoload",IDC_CONFIGAUTO,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,343,240,51,12 + GROUPBOX "Additional Information",IDC_STATIC,289,256,105,38,BS_LEFT + PUSHBUTTON "View",IDC_VIEWINFO,297,272,41,15 + PUSHBUTTON "Set",IDC_SETINFO,348,272,41,15 + PUSHBUTTON "Load",IDC_QUICKLOAD,1,301,60,15 + PUSHBUTTON "Save",IDC_QUICKSAVE,65,301,60,15 + PUSHBUTTON "Load From...",IDC_LOAD,162,301,60,15 + PUSHBUTTON "Delete",IDC_DELETE,335,301,60,15 + PUSHBUTTON "Save As...",IDC_SAVE,226,301,60,15 +END + +IDD_IOPORTS DIALOGEX 0, 0, 396, 275 STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD FONT 8, "MS Sans Serif", 0, 0, 0x1 BEGIN - GROUPBOX "Parallel Port",IDC_STATIC,5,2,291,120 - RTEXT "Printer:",IDC_STATIC,12,15,25,15,SS_CENTERIMAGE - COMBOBOX IDC_PRINTERLIST,49,15,232,134,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "Flush print job",IDC_FLUSHPRINTER,114,51,58,12 - RTEXT "Autoflush [] Time in seconds after a pending print job is automatically flushed.",IDC_PRINTERAUTOFLUSHTXT,176,49,76,15,SS_NOTIFY | SS_CENTERIMAGE - EDITTEXT IDC_PRINTERAUTOFLUSH,255,50,25,12,ES_NUMBER - RTEXT "Type:",IDC_STATIC,15,33,21,15,SS_CENTERIMAGE - EDITTEXT IDC_PS_PARAMS,114,67,167,12,ES_AUTOHSCROLL - GROUPBOX "Serial Port",IDC_STATIC,4,124,292,48 - COMBOBOX IDC_SERIAL,49,136,232,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - CONTROL "Shared",IDC_SER_SHARED,"Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,15,155,48,12 - CONTROL "RTS/CTS",IDC_SER_CTSRTS,"Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,75,155,55,12 - RTEXT "Out:",IDC_MIDI,10,186,19,15,SS_CENTERIMAGE - COMBOBOX IDC_MIDIOUTLIST,36,187,108,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - RTEXT "In:",IDC_MIDI2,150,185,22,15,SS_CENTERIMAGE - COMBOBOX IDC_MIDIINLIST,181,187,108,134,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + GROUPBOX "Parallel Port",IDC_STATIC,1,1,393,131 + RTEXT "Printer:",IDC_STATIC,6,17,57,15,SS_CENTERIMAGE + COMBOBOX IDC_PRINTERLIST,67,18,317,134,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "Flush print job",IDC_FLUSHPRINTER,147,57,58,12 + RTEXT "Autoflush [] Time in seconds after a pending print job is automatically flushed.",IDC_PRINTERAUTOFLUSHTXT,209,55,137,15,SS_NOTIFY | SS_CENTERIMAGE + EDITTEXT IDC_PRINTERAUTOFLUSH,351,57,33,12,ES_NUMBER + RTEXT "Type:",IDC_STATIC,7,39,57,15,SS_CENTERIMAGE + EDITTEXT IDC_PS_PARAMS,148,74,236,12,ES_AUTOHSCROLL + GROUPBOX "Serial Port",IDC_STATIC,1,137,393,51 + COMBOBOX IDC_SERIAL,67,150,317,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + CONTROL "Shared",IDC_SER_SHARED,"Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,32,171,66,12 + CONTROL "RTS/CTS",IDC_SER_CTSRTS,"Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,106,171,66,12 + RTEXT "Out:",IDC_MIDI,22,202,32,15,SS_CENTERIMAGE + COMBOBOX IDC_MIDIOUTLIST,58,204,145,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + RTEXT "In:",IDC_MIDI2,204,201,31,15,SS_CENTERIMAGE + COMBOBOX IDC_MIDIINLIST,239,203,145,134,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP CONTROL "Direct []Use when emulating serial-link games on two PCs running WinUAE",IDC_SER_DIRECT, - "Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,135,155,65,12 - CONTROL "uaeserial.device",IDC_UAESERIAL,"Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,200,155,78,12 - COMBOBOX IDC_PRINTERTYPELIST,49,33,232,134,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - RTEXT "Ghostscript extra parameters:",IDC_STATIC,10,66,102,15,SS_CENTERIMAGE - GROUPBOX "MIDI",IDC_STATIC,5,175,291,34,BS_LEFT - GROUPBOX "Protection Dongle",IDC_STATIC,5,212,292,31,BS_LEFT - COMBOBOX IDC_DONGLELIST,50,223,232,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - RTEXT "Sampler:",IDC_STATIC,12,85,31,15,SS_CENTERIMAGE - COMBOBOX IDC_SAMPLERLIST,49,86,232,134,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - CONTROL "Stereo sampler",IDC_SAMPLER_STEREO,"Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,205,104,75,12 -END - -IDD_GAMEPORTS DIALOGEX 0, 0, 300, 246 + "Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,181,171,83,12 + CONTROL "uaeserial.device",IDC_UAESERIAL,"Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,275,171,108,12 + COMBOBOX IDC_PRINTERTYPELIST,67,40,317,134,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + RTEXT "Ghostscript extra parameters:",IDC_STATIC,8,73,136,15,SS_CENTERIMAGE + GROUPBOX "MIDI",IDC_STATIC,1,191,393,34,BS_LEFT + GROUPBOX "Protection Dongle",IDC_STATIC,1,227,393,41,BS_LEFT + COMBOBOX IDC_DONGLELIST,58,245,232,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + RTEXT "Sampler:",IDC_STATIC,6,94,57,15,SS_CENTERIMAGE + COMBOBOX IDC_SAMPLERLIST,67,95,317,134,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + CONTROL "Stereo sampler",IDC_SAMPLER_STEREO,"Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,68,113,149,12 +END + +IDD_GAMEPORTS DIALOGEX 0, 0, 396, 288 STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD FONT 8, "MS Sans Serif", 0, 0, 0x1 BEGIN - 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 + GROUPBOX "Mouse and Joystick settings",IDC_STATIC,1,3,393,211 + RTEXT "Port 1:",IDC_STATIC,4,18,37,15,SS_CENTERIMAGE + COMBOBOX IDC_PORT0_JOYS,45,19,342,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_PORT0_JOYSMODE,128,38,106,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "Test [] Test Port 1 (mouse) configuration.",IDC_PORT0_TEST,313,37,36,14 + PUSHBUTTON "Remap [] Remap Port 1 configurarion.",IDC_PORT0_REMAP,352,37,36,14 + RTEXT "Port 2:",IDC_STATIC,6,56,35,15,SS_CENTERIMAGE + COMBOBOX IDC_PORT1_JOYS,45,57,342,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "Swap ports [] Swap ports 1 and 2.",IDC_SWAP,45,100,78,12 + COMBOBOX IDC_PORT1_JOYSMODE,128,74,106,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "Test [] Test Port 2 (joystick) configuration.",IDC_PORT1_TEST,313,74,36,14 + PUSHBUTTON "Remap [] Remap Port 2 configuration.",IDC_PORT1_REMAP,352,74,36,14 + LTEXT "Emulated parallel port joystick adapter",IDC_STATIC,10,124,179,15,SS_CENTERIMAGE + RTEXT "X-Arcade layout information []#1",IDC_STATIC,217,124,170,15,SS_NOTIFY | SS_CENTERIMAGE + COMBOBOX IDC_PORT2_JOYS,45,142,342,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "Test [] Test Parallel port joystick port 1 configuration.",IDC_PORT2_TEST,313,159,36,14 + PUSHBUTTON "Remap [] Remap Parallel port joystick port 1 configurarion.",IDC_PORT2_REMAP,352,159,36,14 + COMBOBOX IDC_PORT3_JOYS,45,178,342,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "Test [] Test Parallel port joystick 2 configuration.",IDC_PORT3_TEST,313,194,36,14 + PUSHBUTTON "Remap [] Remap Parallel port joystick port 2 configurarion.",IDC_PORT3_REMAP,352,194,36,14 + GROUPBOX "Mouse extra settings",IDC_STATIC,1,219,393,68 + RTEXT "Mouse speed:",IDC_STATIC,19,237,82,10,SS_CENTERIMAGE + RTEXT "Magic Mouse cursor mode:",IDC_STATIC,45,254,138,10,SS_CENTERIMAGE + CONTROL "Install virtual mouse driver",IDC_PORT_TABLET,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,48,270,136,11 + EDITTEXT IDC_INPUTSPEEDM,115,237,25,13,ES_NUMBER + CONTROL "Magic Mouse",IDC_PORT_MOUSETRICK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,195,235,160,11 + COMBOBOX IDC_PORT_TABLET_CURSOR,195,251,119,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP CONTROL "Full tablet input emulation",IDC_PORT_TABLET_FULL, - "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 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,195,270,160,11 + COMBOBOX IDC_PORT0_AF,45,37,78,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_PORT1_AF,45,74,78,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP END IDD_CONTRIBUTORS DIALOGEX 0, 0, 411, 242 @@ -463,463 +466,474 @@ BEGIN CONTROL "",IDC_CONTRIBUTORS,"RICHEDIT",TCS_HOTTRACK | TCS_VERTICAL | TCS_RAGGEDRIGHT | TCS_OWNERDRAWFIXED | TCS_MULTISELECT | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP,4,5,404,214 END -IDD_ABOUT DIALOGEX 0, 0, 300, 191 +IDD_ABOUT DIALOGEX 0, 0, 345, 258 STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD FONT 8, "MS Sans Serif", 0, 0, 0x0 BEGIN - CONTROL "",IDC_RICHEDIT1,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,45,10,210,15 - CONTROL "",IDC_RICHEDIT2,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,20,30,260,13 - PUSHBUTTON "Contributors",IDC_CONTRIBUTORS,110,59,80,15 - CONTROL "",IDC_UAEHOME,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,20,128,80,15 - CONTROL "",IDC_PICASSOHOME,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | NOT WS_VISIBLE | WS_DISABLED,206,55,80,20 - CONTROL "",IDC_AMIGAHOME,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,109,98,80,20 - CONTROL "",IDC_WINUAEHOME,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,200,98,80,15 - CONTROL "",IDC_AIABHOME,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | NOT WS_VISIBLE | WS_DISABLED,17,59,80,15 - CONTROL "",IDC_THEROOTS,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,110,153,80,15 - CONTROL "",IDC_CAPS,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,200,128,80,15 - CONTROL "",IDC_ABIME,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,110,128,80,15 - CONTROL "",IDC_CLOANTOHOME,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,20,98,80,20 - CONTROL "",IDC_AMIGASYS,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,20,153,80,15 - CONTROL "",IDC_AMIKIT,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,200,153,80,15 -END - -IDD_MISC1 DIALOGEX 0, 0, 300, 237 + CONTROL "",IDC_RICHEDIT1,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,65,10,210,21 + CONTROL "",IDC_RICHEDIT2,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,43,41,260,20 + PUSHBUTTON "Contributors",IDC_CONTRIBUTORS,132,100,80,15 + CONTROL "",IDC_UAEHOME,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,7,196,106,24 + CONTROL "",IDC_PICASSOHOME,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | NOT WS_VISIBLE | WS_DISABLED,213,122,106,24 + CONTROL "",IDC_AMIGAHOME,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,120,161,106,24 + CONTROL "",IDC_WINUAEHOME,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,232,161,106,24 + CONTROL "",IDC_AIABHOME,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | NOT WS_VISIBLE | WS_DISABLED,24,122,106,24 + CONTROL "",IDC_THEROOTS,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,121,225,106,24 + CONTROL "",IDC_CAPS,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,232,196,106,24 + CONTROL "",IDC_ABIME,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,121,196,106,24 + CONTROL "",IDC_CLOANTOHOME,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,7,161,106,24 + CONTROL "",IDC_AMIGASYS,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,7,225,106,24 + CONTROL "",IDC_AMIKIT,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,232,225,106,24 +END + +IDD_MISC1 DIALOGEX 0, 0, 396, 318 STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD FONT 8, "MS Sans Serif", 0, 0, 0x1 BEGIN - GROUPBOX "Miscellaneous Options",IDC_STATIC,169,2,128,131 - GROUPBOX "Keyboard LEDs",IDC_STATIC,3,207,294,29 - COMBOBOX IDC_KBLED1,10,218,56,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_KBLED2,78,218,56,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_KBLED3,145,218,56,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - GROUPBOX "State Files",IDC_STATIC,3,168,293,38 - PUSHBUTTON "Load state...",IDC_DOLOADSTATE,178,183,55,14 - PUSHBUTTON "Save state...",IDC_DOSAVESTATE,237,183,55,14 - CONTROL "USB mode",IDC_KBLED_USB,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,217,219,64,10 - COMBOBOX IDC_SCSIMODE,194,26,80,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_LANGUAGE,197,146,77,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - GROUPBOX "Language",IDC_STATIC,169,133,127,33 - COMBOBOX IDC_DD_SURFACETYPE,194,114,79,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - CTEXT "DirectDraw:",IDC_STATIC,175,101,117,10,SS_CENTERIMAGE - CTEXT "SCSI and CD/DVD access:",IDC_STATIC,175,12,117,10,SS_CENTERIMAGE - CTEXT "Graphics API:",IDC_STATIC,175,72,117,10,SS_CENTERIMAGE - COMBOBOX IDC_DXMODE,194,85,79,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - CTEXT "Windowed style:",IDC_STATIC,175,42,117,10,SS_CENTERIMAGE - COMBOBOX IDC_WINDOWEDMODE,194,56,79,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - CONTROL "",IDC_MISCLIST,"SysListView32",LVS_REPORT | LVS_ALIGNLEFT | LVS_NOCOLUMNHEADER | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,3,5,162,161 - EDITTEXT IDC_STATENAME,8,183,144,13,ES_AUTOHSCROLL | ES_READONLY | NOT WS_TABSTOP - CONTROL "",IDC_STATECLEAR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,158,185,9,10 -END - -IDD_HARDFILE DIALOGEX 0, 0, 299, 249 + GROUPBOX "Miscellaneous Options",IDC_STATIC,266,2,128,138 + GROUPBOX "Keyboard LEDs",IDC_STATIC,1,284,393,34 + COMBOBOX IDC_KBLED1,10,297,64,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_KBLED2,97,297,64,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_KBLED3,184,297,64,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + GROUPBOX "State Files",IDC_STATIC,1,244,393,38 + PUSHBUTTON "Load state...",IDC_DOLOADSTATE,257,259,65,14 + PUSHBUTTON "Save state...",IDC_DOSAVESTATE,325,259,65,14 + CONTROL "USB mode",IDC_KBLED_USB,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,264,298,64,11 + COMBOBOX IDC_SCSIMODE,291,28,79,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_LANGUAGE,273,168,114,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + GROUPBOX "GUI",IDC_STATIC,266,144,128,93 + COMBOBOX IDC_DD_SURFACETYPE,291,119,79,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + CTEXT "DirectDraw:",IDC_STATIC,272,106,117,10,SS_CENTERIMAGE + CTEXT "SCSI and CD/DVD access:",IDC_STATIC,272,14,117,10,SS_CENTERIMAGE + CTEXT "Graphics API:",IDC_STATIC,272,76,117,10,SS_CENTERIMAGE + COMBOBOX IDC_DXMODE,291,89,79,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + CTEXT "Windowed style:",IDC_STATIC,272,45,117,10,SS_CENTERIMAGE + COMBOBOX IDC_WINDOWEDMODE,291,59,79,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + CONTROL "",IDC_MISCLIST,"SysListView32",LVS_REPORT | LVS_ALIGNLEFT | LVS_NOCOLUMNHEADER | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,3,5,258,232 + EDITTEXT IDC_STATENAME,8,259,231,13,ES_AUTOHSCROLL | ES_READONLY | NOT WS_TABSTOP + CONTROL "",IDC_STATECLEAR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,244,261,9,10 + CTEXT "Language:",IDC_STATIC,271,154,117,10,SS_CENTERIMAGE + PUSHBUTTON "GUI Font...",IDC_GUI_FONT,272,185,54,14 + PUSHBUTTON "Set default",IDC_GUI_DEFAULT,272,204,54,14 + PUSHBUTTON "List Font...",IDC_GUI_LISTFONT,333,185,54,14 + COMBOBOX IDC_GUI_SIZE,333,205,54,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + CONTROL "Resizeable GUI",IDC_GUI_RESIZE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,273,222,114,11 +END + +IDD_HARDFILE DIALOGEX 0, 0, 396, 245 STYLE DS_LOCALEDIT | DS_SETFONT | DS_MODALFRAME | DS_SETFOREGROUND | DS_3DLOOK | DS_CENTER | DS_CENTERMOUSE | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU EXSTYLE WS_EX_ACCEPTFILES CAPTION "Hardfile Settings" FONT 8, "MS Sans Serif", 0, 0, 0x0 BEGIN - GROUPBOX "Settings",IDC_STATIC,10,5,280,146 + GROUPBOX "Settings",IDC_STATIC,2,5,392,146 RTEXT "Path:",IDC_HARDFILE_DIR_TEXT,25,18,22,10 - EDITTEXT IDC_PATH_NAME,52,15,213,15,ES_AUTOHSCROLL - PUSHBUTTON "...",IDC_SELECTOR,271,15,11,15 + EDITTEXT IDC_PATH_NAME,52,15,325,15,ES_AUTOHSCROLL + PUSHBUTTON "...",IDC_SELECTOR,380,14,11,15 RTEXT "FileSys:",IDC_HARDFILE_FILESYS_TEXT,13,38,34,10 - EDITTEXT IDC_PATH_FILESYS,52,35,213,15,ES_AUTOHSCROLL - PUSHBUTTON "...",IDC_FILESYS_SELECTOR,271,35,11,15 + EDITTEXT IDC_PATH_FILESYS,52,35,325,15,ES_AUTOHSCROLL + PUSHBUTTON "...",IDC_FILESYS_SELECTOR,380,34,11,15 RTEXT "Device:",IDC_HARDFILE_DEVICE_TEXT,16,58,31,10 - EDITTEXT IDC_HARDFILE_DEVICE,52,55,66,15,ES_AUTOHSCROLL - RTEXT "Boot priority:",IDC_HARDFILE_BOOTPRI_TEXT,20,94,48,8 - EDITTEXT IDC_HARDFILE_BOOTPRI,73,90,44,15 - CONTROL "Read/write",IDC_HDF_RW,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,53,74,64,10 - PUSHBUTTON "Enable RDB mode",IDC_HDF_RDB,174,55,92,14 - RTEXT "Surfaces:",IDC_SURFACES_TEXT,118,94,32,10 - EDITTEXT IDC_HEADS,155,90,40,15,ES_NUMBER - RTEXT "Reserved:",IDC_RESERVED_TEXT,197,94,35,10 - EDITTEXT IDC_RESERVED,237,90,40,15,ES_NUMBER - RTEXT "Sectors:",IDC_SECTORS_TEXT,120,113,30,10 - EDITTEXT IDC_SECTORS,155,111,40,15,ES_NUMBER - RTEXT "Block size:",IDC_BLOCKSIZE_TEXT,197,113,35,10 - EDITTEXT IDC_BLOCKSIZE,237,111,40,15,ES_NUMBER - GROUPBOX "New hard disk image file",IDC_STATIC,10,156,280,62 - PUSHBUTTON "Create",IDC_HF_CREATE,23,171,80,14 - EDITTEXT IDC_HF_SIZE,119,171,61,15,ES_NUMBER - PUSHBUTTON "OK",IDOK,102,226,50,14 - PUSHBUTTON "Cancel",IDCANCEL,158,226,50,14 - EDITTEXT IDC_HF_DOSTYPE,119,194,61,15 - COMBOBOX IDC_HF_TYPE,23,195,80,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_HDF_CONTROLLER,73,112,44,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - RTEXT "DOS type",IDC_STATIC,187,196,32,10,SS_CENTERIMAGE - RTEXT "MB",IDC_STATIC,185,174,17,10,SS_CENTERIMAGE - RTEXT "HD Controller:",IDC_STATIC,16,113,52,10,SS_CENTERIMAGE - CONTROL "Bootable",IDC_HDF_AUTOBOOT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,136,74,53,10 + EDITTEXT IDC_HARDFILE_DEVICE,52,55,121,15,ES_AUTOHSCROLL + RTEXT "Boot priority:",IDC_HARDFILE_BOOTPRI_TEXT,26,94,78,10 + EDITTEXT IDC_HARDFILE_BOOTPRI,109,90,44,15 + CONTROL "Read/write",IDC_HDF_RW,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,53,74,67,10 + PUSHBUTTON "Enable RDB mode",IDC_HDF_RDB,285,55,92,14 + RTEXT "Surfaces:",IDC_SURFACES_TEXT,160,94,48,10 + EDITTEXT IDC_HEADS,213,90,40,15,ES_NUMBER + RTEXT "Reserved:",IDC_RESERVED_TEXT,262,94,50,10 + EDITTEXT IDC_RESERVED,317,90,40,15,ES_NUMBER + RTEXT "Sectors:",IDC_SECTORS_TEXT,160,113,48,10 + EDITTEXT IDC_SECTORS,213,111,40,15,ES_NUMBER + RTEXT "Block size:",IDC_BLOCKSIZE_TEXT,261,113,50,10 + EDITTEXT IDC_BLOCKSIZE,317,111,40,15,ES_NUMBER + GROUPBOX "New hard disk image file",IDC_STATIC,2,155,392,62 + PUSHBUTTON "Create",IDC_HF_CREATE,58,171,80,14 + EDITTEXT IDC_HF_SIZE,154,171,61,15,ES_NUMBER + PUSHBUTTON "OK",IDOK,147,226,50,14 + PUSHBUTTON "Cancel",IDCANCEL,203,226,50,14 + EDITTEXT IDC_HF_DOSTYPE,154,194,61,15 + COMBOBOX IDC_HF_TYPE,58,195,80,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_HDF_CONTROLLER,109,112,44,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + LTEXT "DOS type",IDC_STATIC,222,196,51,10,SS_CENTERIMAGE + LTEXT "MB",IDC_STATIC,220,174,53,10,SS_CENTERIMAGE + RTEXT "HD Controller:",IDC_STATIC,26,113,78,10,SS_CENTERIMAGE + CONTROL "Bootable",IDC_HDF_AUTOBOOT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,136,74,67,10 CONTROL "Do not mount",IDC_HDF_DONOTMOUNT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,217,74,67,10 - EDITTEXT IDC_HDFINFO,16,131,268,12,ES_CENTER | ES_READONLY - CONTROL "Sparse file",IDC_HF_SPARSE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,220,168,62,10 - CONTROL "Dynamic HDF",IDC_HF_DYNAMIC,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,220,180,62,10 + EDITTEXT IDC_HDFINFO,5,131,385,12,ES_CENTER | ES_READONLY + CONTROL "Sparse file",IDC_HF_SPARSE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,280,180,87,10 + CONTROL "Dynamic HDF",IDC_HF_DYNAMIC,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,280,192,87,10 END -IDD_FILESYS DIALOGEX 15, 25, 299, 111 +IDD_FILESYS DIALOGEX 15, 25, 396, 111 STYLE DS_LOCALEDIT | DS_SETFONT | DS_MODALFRAME | DS_SETFOREGROUND | DS_3DLOOK | DS_CENTER | DS_CENTERMOUSE | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Volume Settings" FONT 8, "MS Sans Serif", 0, 0, 0x0 BEGIN - LTEXT "Device name:",-1,11,7,54,10 - EDITTEXT IDC_VOLUME_DEVICE,65,5,104,15,ES_AUTOHSCROLL - LTEXT "Volume label:",-1,13,28,54,10 - EDITTEXT IDC_VOLUME_NAME,65,25,104,15,ES_AUTOHSCROLL - LTEXT "Path:",-1,38,49,44,10 - EDITTEXT IDC_PATH_NAME,65,46,227,15,ES_AUTOHSCROLL - PUSHBUTTON "Select Directory",IDC_FS_SELECT_DIR,65,66,103,15 - CONTROL "Read/write",IDC_FS_RW,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,174,7,55,10 - RTEXT "Boot priority:",IDC_VOLUME_BOOTPRI_TEXT,178,28,49,8 - EDITTEXT IDC_VOLUME_BOOTPRI,236,25,30,15 - PUSHBUTTON "OK",IDOK,65,91,48,15 - PUSHBUTTON "Cancel",IDCANCEL,120,91,48,15 - PUSHBUTTON "Select Archive or Plain File",IDC_FS_SELECT_FILE,190,66,103,15 - PUSHBUTTON "Eject",IDC_FS_SELECT_EJECT,230,91,62,15 - CONTROL "Bootable",IDC_FS_AUTOBOOT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,236,7,53,10 -END - -IDD_SETINFO DIALOGEX 0, 0, 229, 85 + RTEXT "Device name:",-1,4,7,65,10 + EDITTEXT IDC_VOLUME_DEVICE,73,5,104,15,ES_AUTOHSCROLL + RTEXT "Volume label:",-1,6,28,63,10 + EDITTEXT IDC_VOLUME_NAME,73,25,104,15,ES_AUTOHSCROLL + RTEXT "Path:",-1,5,49,64,10 + EDITTEXT IDC_PATH_NAME,73,45,315,17,ES_AUTOHSCROLL + PUSHBUTTON "Select Directory",IDC_FS_SELECT_DIR,72,66,123,15 + CONTROL "Read/write",IDC_FS_RW,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,259,7,67,10 + RTEXT "Boot priority:",IDC_VOLUME_BOOTPRI_TEXT,276,28,49,8 + EDITTEXT IDC_VOLUME_BOOTPRI,336,25,30,15 + PUSHBUTTON "OK",IDOK,72,90,62,15 + PUSHBUTTON "Cancel",IDCANCEL,138,90,62,15 + PUSHBUTTON "Select Archive or Plain File",IDC_FS_SELECT_FILE,197,66,123,15 + PUSHBUTTON "Eject",IDC_FS_SELECT_EJECT,258,90,62,15 + CONTROL "Bootable",IDC_FS_AUTOBOOT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,336,7,56,10 +END + +IDD_SETINFO DIALOGEX 0, 0, 396, 85 STYLE DS_LOCALEDIT | DS_SETFONT | DS_MODALFRAME | DS_SETFOREGROUND | DS_3DLOOK | DS_CENTER | DS_CENTERMOUSE | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Additional Information Settings" FONT 8, "MS Sans Serif", 0, 0, 0x0 BEGIN - RTEXT "Path:",-1,5,20,24,15,SS_CENTERIMAGE - EDITTEXT IDC_PATH_NAME,35,20,169,15,ES_AUTOHSCROLL - PUSHBUTTON "...",IDC_SELECTOR,210,20,10,15 - PUSHBUTTON "OK",IDOK,120,65,48,15 - PUSHBUTTON "Cancel",IDCANCEL,175,65,48,15 + RTEXT "Path:",-1,5,20,36,15,SS_CENTERIMAGE + EDITTEXT IDC_PATH_NAME,46,20,324,15,ES_AUTOHSCROLL + PUSHBUTTON "...",IDC_SELECTOR,376,20,10,15 + PUSHBUTTON "OK",IDOK,146,57,48,15 + PUSHBUTTON "Cancel",IDCANCEL,201,57,48,15 END -IDD_CHIPSET DIALOGEX 0, 65490, 300, 188 +IDD_CHIPSET DIALOGEX 0, 0, 302, 172 STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD FONT 8, "MS Sans Serif", 0, 0, 0x0 BEGIN - GROUPBOX "Chipset",IDC_STATIC,14,11,145,111 + GROUPBOX "Chipset",IDC_STATIC,1,0,160,111 CONTROL "OCS [] Original chipset. A1000 and most A500s.",IDC_OCS, - "Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,37,26,51,10 + "Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,9,15,73,10 CONTROL "ECS Agnus [] Enhanced chipset (ECS Agnus chip only). CDTV and later A500 and A2000 hardware revisions.",IDC_ECS_AGNUS, - "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,37,42,55,10 + "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,9,31,73,10 CONTROL "ECS Denise [] Enhanced chipset (ECS Denise chip only). Normally paired with ECS Agnus.",IDC_ECS_DENISE, - "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,100,42,55,10 + "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,86,31,72,10 CONTROL "Full ECS [] Full ECS chipset (ECS Agnus and ECS Denise chips). A500+, A600 and A3000.",IDC_ECS, - "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,37,58,52,10 + "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,9,47,73,10 CONTROL "AGA [] Advanced Graphics Architecture chipset. A1200, A4000 and CD32.",IDC_AGA, - "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,100,26,51,10 + "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,86,15,72,10 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,100,58,50,10 - GROUPBOX "Options",IDC_STATIC,168,11,114,111 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,86,47,72,10 + GROUPBOX "Options",IDC_STATIC,167,0,133,111 CONTROL "Immediate Blitter [] Faster but less compatible blitter emulation.",IDC_BLITIMM, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,179,27,96,10 - GROUPBOX "Collision Level",IDC_STATIC,14,128,267,48 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,180,16,116,10 + GROUPBOX "Collision Level",IDC_STATIC,1,116,299,48 CONTROL "None [] Collision hardware emulation disabled.",IDC_COLLISION0, - "Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,37,144,59,10 + "Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,9,132,101,10 CONTROL "Sprites only [] Emulate only sprite vs. sprite collisions.",IDC_COLLISION1, - "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,37,159,62,10 + "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,9,147,101,10 CONTROL "Sprites and Sprites vs. Playfield [] Recommended collision emulation level.",IDC_COLLISION2, - "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,100,144,161,10 + "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,115,132,181,10 CONTROL "Full [] 100% collision hardware emulation. Only very few games need this option. Slowest.",IDC_COLLISION3, - "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,100,159,119,10 + "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,115,147,181,10 CONTROL "Genlock connected [] Allow boot sequence to detect genlock. Genlock is not emulated.",IDC_GENLOCK, - "Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,179,53,100,10 - COMBOBOX IDC_CS_EXT,100,101,49,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - RTEXT "Chipset Extra",IDC_STATIC,25,100,52,15,SS_CENTERIMAGE - COMBOBOX IDC_MONITOREMU,178,87,98,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - RTEXT "External display hardware:",IDC_STATIC,174,67,100,15,SS_CENTERIMAGE + "Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,180,42,116,10 + COMBOBOX IDC_CS_EXT,86,90,49,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + RTEXT "Chipset Extra",IDC_STATIC,11,89,71,15,SS_CENTERIMAGE + COMBOBOX IDC_MONITOREMU,184,78,98,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + CTEXT "External display hardware:",IDC_STATIC,174,59,117,15,SS_CENTERIMAGE CONTROL "Wait for Blitter [] Compatibility hack for programs that don't wait for the blitter correctly, causing graphics corruption if CPU is too fast.",IDC_BLITWAIT, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,179,40,96,10 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,180,29,116,10 CONTROL "Cycle-exact [] The most compatible A500/A1200 emulation mode. Very fast PC recommended.",IDC_CYCLEEXACT, - "Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,35,80,100,10 + "Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,9,69,139,10 END -IDD_CHIPSET2 DIALOGEX 0, 65490, 300, 247 +IDD_CHIPSET2 DIALOGEX 0, 0, 396, 288 STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD FONT 8, "MS Sans Serif", 0, 0, 0x0 BEGIN - GROUPBOX "Battery Backed Up Real Time Clock",IDC_STATIC,11,24,275,29 - CONTROL "None",IDC_CS_RTC1,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,19,36,55,10 - CONTROL "MSM6242B",IDC_CS_RTC2,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,90,36,52,10 - CONTROL "RF5C01A",IDC_CS_RTC3,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,159,36,46,10 - EDITTEXT IDC_CS_RTCADJUST,215,34,64,13,ES_AUTOHSCROLL - GROUPBOX "CIA-A TOD Clock Source",IDC_STATIC,11,56,275,29 - CONTROL "Vertical Sync",IDC_CS_CIAA_TOD1,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,19,68,63,10 - CONTROL "Power Supply 50Hz",IDC_CS_CIAA_TOD2,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,90,68,85,10 - CONTROL "Power Supply 60Hz",IDC_CS_CIAA_TOD3,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,186,68,88,10 - CONTROL "ROM Mirror (A8)",IDC_CS_KSMIRROR_A8,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,94,146,86,10 - CONTROL "A1000 Boot RAM/ROM",IDC_CS_A1000RAM,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,94,95,88,10 - CONTROL "CD32 CD",IDC_CS_CD32CD,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,108,76,10 - CONTROL "CD32 C2P",IDC_CS_CD32C2P,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,94,108,87,10 - CONTROL "CD32 NVRAM",IDC_CS_CD32NVRAM,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,187,108,97,10 - CONTROL "CDTV CD",IDC_CS_CDTVCD,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,121,76,10 - CONTROL "CDTV SRAM",IDC_CS_CDTVRAM,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,94,120,87,10 - CONTROL "CDTV SRAM Expansion",IDC_CS_CDTVRAMEXP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,187,120,102,10 - CONTROL "A600/A1200 IDE",IDC_CS_IDE1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,133,77,10 - CONTROL "A4000/A4000T IDE",IDC_CS_IDE2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,94,133,88,10 - CONTROL "Ramsey revision:",IDC_CS_RAMSEY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,216,71,10 - EDITTEXT IDC_CS_RAMSEYREV,91,214,45,13,ES_AUTOHSCROLL - CONTROL "Fat Gary revision:",IDC_CS_FATGARY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,229,71,10 - EDITTEXT IDC_CS_FATGARYREV,91,228,45,13,ES_AUTOHSCROLL - CONTROL "A3000 SCSI",IDC_CS_DMAC,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,94,188,76,10 + GROUPBOX "Battery Backed Up Real Time Clock",IDC_STATIC,1,24,393,29 + CONTROL "None",IDC_CS_RTC1,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,40,36,81,10 + CONTROL "MSM6242B",IDC_CS_RTC2,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,129,36,77,10 + CONTROL "RF5C01A",IDC_CS_RTC3,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,210,36,67,10 + EDITTEXT IDC_CS_RTCADJUST,279,34,64,13,ES_AUTOHSCROLL + GROUPBOX "CIA-A TOD Clock Source",IDC_STATIC,1,56,393,29 + CONTROL "Vertical Sync",IDC_CS_CIAA_TOD1,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,41,68,86,10 + CONTROL "Power Supply 50Hz",IDC_CS_CIAA_TOD2,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,133,68,109,10 + CONTROL "Power Supply 60Hz",IDC_CS_CIAA_TOD3,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,249,68,116,10 + CONTROL "ROM Mirror (A8)",IDC_CS_KSMIRROR_A8,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,127,157,121,11 + CONTROL "A1000 Boot RAM/ROM",IDC_CS_A1000RAM,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,127,102,121,11 + CONTROL "CD32 CD",IDC_CS_CD32CD,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,116,104,11 + CONTROL "CD32 C2P",IDC_CS_CD32C2P,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,127,116,121,11 + CONTROL "CD32 NVRAM",IDC_CS_CD32NVRAM,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,264,116,125,11 + CONTROL "CDTV CD",IDC_CS_CDTVCD,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,130,105,11 + CONTROL "CDTV SRAM",IDC_CS_CDTVRAM,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,127,129,121,11 + CONTROL "CDTV SRAM Expansion",IDC_CS_CDTVRAMEXP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,264,129,125,11 + CONTROL "A600/A1200 IDE",IDC_CS_IDE1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,143,104,11 + CONTROL "A4000/A4000T IDE",IDC_CS_IDE2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,127,143,121,11 + CONTROL "Ramsey revision:",IDC_CS_RAMSEY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,34,248,97,11 + EDITTEXT IDC_CS_RAMSEYREV,136,247,45,13,ES_AUTOHSCROLL + CONTROL "Fat Gary revision:",IDC_CS_FATGARY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,34,262,97,11 + EDITTEXT IDC_CS_FATGARYREV,136,262,45,13,ES_AUTOHSCROLL + CONTROL "A3000 SCSI",IDC_CS_DMAC,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,127,202,121,11 CONTROL "Compatible Settings",IDC_CS_COMPATIBLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,8,234,10 - CONTROL "DF0: ID Hardware",IDC_CS_DF0IDHW,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,187,95,101,10 - CONTROL "Agnus/Alice revision:",IDC_CS_AGNUS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,147,216,81,10 - EDITTEXT IDC_CS_AGNUSREV,232,214,45,13,ES_AUTOHSCROLL - CONTROL "Denise/Lisa revision:",IDC_CS_DENISE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,147,229,81,10 - EDITTEXT IDC_CS_DENISEREV,232,228,45,13,ES_AUTOHSCROLL - CONTROL "A590/A2091 SCSI",IDC_CS_A2091,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,188,76,10 - CONTROL "A4000T SCSI",IDC_CS_DMAC2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,187,188,100,10 - LTEXT "A4091/A4000T SCSI not yet implemented.",IDC_STATIC,17,174,159,8,SS_CENTERIMAGE - CONTROL "PCMCIA",IDC_CS_PCMCIA,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,187,133,105,10 - CONTROL "A4091 SCSI",IDC_CS_A4091,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,200,76,10 - CONTROL "CDTV SCSI",IDC_CS_CDTVSCSI,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,94,200,76,10 - CONTROL "Include host SCSI devices",IDC_CS_SCSIMODE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,187,200,104,10 - CONTROL "C00000 is Fast RAM",IDC_CS_SLOWISFAST,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,187,146,105,10 - CONTROL "ROM Mirror (E0)",IDC_CS_KSMIRROR_E0,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,146,76,10 - CONTROL "CIA ROM Overlay",IDC_CS_CIAOVERLAY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,95,75,10 - CONTROL "KB Reset Warning",IDC_CS_RESETWARNING,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,159,77,10 - CONTROL "No-EHB Denise",IDC_CS_NOEHB,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,94,159,87,10 - CONTROL "A1000 Agnus (8361/8367)",IDC_CS_DIPAGNUS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,187,159,107,10 -END - -IDD_AVIOUTPUT DIALOGEX 0, 0, 288, 236 + CONTROL "DF0: ID Hardware",IDC_CS_DF0IDHW,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,264,102,125,11 + CONTROL "Agnus/Alice revision:",IDC_CS_AGNUS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,200,248,107,11 + EDITTEXT IDC_CS_AGNUSREV,311,247,45,13,ES_AUTOHSCROLL + CONTROL "Denise/Lisa revision:",IDC_CS_DENISE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,200,262,107,11 + EDITTEXT IDC_CS_DENISEREV,311,262,45,13,ES_AUTOHSCROLL + CONTROL "A590/A2091 SCSI",IDC_CS_A2091,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,202,104,11 + CONTROL "A4000T SCSI",IDC_CS_DMAC2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,264,202,125,11 + LTEXT "A4091/A4000T SCSI not yet implemented.",IDC_STATIC,17,187,247,8,SS_CENTERIMAGE + CONTROL "PCMCIA",IDC_CS_PCMCIA,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,264,143,125,11 + CONTROL "A4091 SCSI",IDC_CS_A4091,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,215,104,11 + CONTROL "CDTV SCSI",IDC_CS_CDTVSCSI,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,127,215,121,11 + CONTROL "Include host SCSI devices",IDC_CS_SCSIMODE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,264,215,125,11 + CONTROL "C00000 is Fast RAM",IDC_CS_SLOWISFAST,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,264,157,125,11 + CONTROL "ROM Mirror (E0)",IDC_CS_KSMIRROR_E0,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,157,104,11 + CONTROL "CIA ROM Overlay",IDC_CS_CIAOVERLAY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,102,104,11 + CONTROL "KB Reset Warning",IDC_CS_RESETWARNING,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,171,104,11 + CONTROL "No-EHB Denise",IDC_CS_NOEHB,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,127,171,121,11 + CONTROL "A1000 Agnus (8361/8367)",IDC_CS_DIPAGNUS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,264,171,125,11 + GROUPBOX "Chipset Features",IDC_STATIC,1,88,393,146 + GROUPBOX "Chipset Revision",IDC_STATIC,1,236,393,46 +END + +IDD_AVIOUTPUT DIALOGEX 0, 0, 396, 260 STYLE DS_LOCALEDIT | DS_SETFONT | DS_CONTROL | WS_CHILD FONT 8, "MS Sans Serif", 0, 0, 0x1 BEGIN - GROUPBOX "Output Properties",IDC_STATIC,5,0,274,115 - EDITTEXT IDC_AVIOUTPUT_FILETEXT,15,15,226,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER,WS_EX_CLIENTEDGE - PUSHBUTTON "...",IDC_AVIOUTPUT_FILE,249,15,19,12 - CONTROL "Audio",IDC_AVIOUTPUT_AUDIO,"Button",BS_AUTOCHECKBOX | BS_PUSHLIKE | BS_FLAT | WS_TABSTOP,15,33,39,14 - CONTROL "",IDC_AVIOUTPUT_AUDIO_STATIC,"Static",SS_LEFTNOWORDWRAP | SS_CENTERIMAGE | SS_SUNKEN | WS_GROUP,59,34,209,13 - CONTROL "Video",IDC_AVIOUTPUT_VIDEO,"Button",BS_AUTOCHECKBOX | BS_PUSHLIKE | BS_FLAT | WS_TABSTOP,15,50,39,14 - CONTROL "",IDC_AVIOUTPUT_VIDEO_STATIC,"Static",SS_LEFTNOWORDWRAP | SS_CENTERIMAGE | SS_SUNKEN | WS_GROUP,59,51,209,13 + GROUPBOX "Output Properties",IDC_STATIC,1,0,393,123 + EDITTEXT IDC_AVIOUTPUT_FILETEXT,15,15,342,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER,WS_EX_CLIENTEDGE + PUSHBUTTON "...",IDC_AVIOUTPUT_FILE,362,15,23,12 + CONTROL "Audio",IDC_AVIOUTPUT_AUDIO,"Button",BS_AUTOCHECKBOX | BS_PUSHLIKE | BS_FLAT | WS_TABSTOP,15,34,66,14 + CONTROL "",IDC_AVIOUTPUT_AUDIO_STATIC,"Static",SS_LEFTNOWORDWRAP | SS_CENTERIMAGE | SS_SUNKEN | WS_GROUP,88,35,298,13 + CONTROL "Video",IDC_AVIOUTPUT_VIDEO,"Button",BS_AUTOCHECKBOX | BS_PUSHLIKE | BS_FLAT | WS_TABSTOP,15,52,66,14 + CONTROL "",IDC_AVIOUTPUT_VIDEO_STATIC,"Static",SS_LEFTNOWORDWRAP | SS_CENTERIMAGE | SS_SUNKEN | WS_GROUP,87,53,298,13 CONTROL "Disable frame rate limit",IDC_AVIOUTPUT_FRAMELIMITER, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,69,122,10 - CONTROL "AVI output enabled",IDC_AVIOUTPUT_ACTIVATED,"Button",BS_AUTORADIOBUTTON | BS_PUSHLIKE | BS_FLAT,15,94,108,14 - PUSHBUTTON "Save screenshot",IDC_SCREENSHOT,16,129,77,14 - GROUPBOX "Ripper",IDC_STATIC,5,115,274,49 - PUSHBUTTON "Pro Wizard 1.62",IDC_PROWIZARD,192,129,77,14,WS_DISABLED - CONTROL "Sample ripper",IDC_SAMPLERIPPER_ACTIVATED,"Button",BS_AUTORADIOBUTTON | BS_PUSHLIKE | BS_FLAT,192,146,77,14 - GROUPBOX "Re-recorder",IDC_STATIC,5,165,274,70 - CONTROL "Play recording",IDC_STATEREC_PLAY,"Button",BS_AUTORADIOBUTTON | BS_PUSHLIKE | BS_FLAT,15,177,77,14 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,72,176,10 + CONTROL "AVI output enabled",IDC_AVIOUTPUT_ACTIVATED,"Button",BS_AUTORADIOBUTTON | BS_PUSHLIKE | BS_FLAT,15,100,144,14 + PUSHBUTTON "Save screenshot",IDC_SCREENSHOT,53,140,87,14 + GROUPBOX "Ripper",IDC_STATIC,1,126,393,53 + PUSHBUTTON "Pro Wizard 1.62",IDC_PROWIZARD,245,140,87,14,WS_DISABLED + CONTROL "Sample ripper",IDC_SAMPLERIPPER_ACTIVATED,"Button",BS_AUTORADIOBUTTON | BS_PUSHLIKE | BS_FLAT,245,159,87,14 + GROUPBOX "Re-recorder",IDC_STATIC,1,182,393,70 + CONTROL "Play recording",IDC_STATEREC_PLAY,"Button",BS_AUTORADIOBUTTON | BS_PUSHLIKE | BS_FLAT,53,194,87,14 CONTROL "Disable sound output",IDC_AVIOUTPUT_NOSOUNDOUTPUT, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,81,123,10 - CONTROL "Disable sound sync",IDC_AVIOUTPUT_NOSOUNDSYNC,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,147,81,120,10 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,85,176,10 + CONTROL "Disable sound sync",IDC_AVIOUTPUT_NOSOUNDSYNC,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,210,85,171,10 CONTROL "Capture before filtering",IDC_AVIOUTPUT_ORIGINALSIZE, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,147,69,120,10 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,210,72,171,10 CONTROL "Take screenshot before filtering",IDC_SCREENSHOT_ORIGINALSIZE, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,148,162,10 - RTEXT "Recording rate (seconds):",IDC_STATIC,12,218,86,10,SS_CENTERIMAGE | WS_TABSTOP - COMBOBOX IDC_STATEREC_RATE,103,216,38,65,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP - RTEXT "Recording buffers:",IDC_STATIC,148,218,75,10,SS_CENTERIMAGE | WS_TABSTOP - COMBOBOX IDC_STATEREC_BUFFERSIZE,229,216,38,65,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP - CONTROL "Re-recording enabled",IDC_STATEREC_RECORD,"Button",BS_AUTORADIOBUTTON | BS_PUSHLIKE | BS_FLAT,160,177,108,14 - PUSHBUTTON "Save recording",IDC_STATEREC_SAVE,160,195,108,14 - CONTROL "Automatic replay",IDC_STATEREC_AUTOPLAY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,200,129,10 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,54,161,162,10 + RTEXT "Recording rate (seconds):",IDC_STATIC,15,235,121,10,SS_CENTERIMAGE | WS_TABSTOP + COMBOBOX IDC_STATEREC_RATE,141,233,38,65,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP + RTEXT "Recording buffers:",IDC_STATIC,195,235,91,10,SS_CENTERIMAGE | WS_TABSTOP + COMBOBOX IDC_STATEREC_BUFFERSIZE,291,233,38,65,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP + CONTROL "Re-recording enabled",IDC_STATEREC_RECORD,"Button",BS_AUTORADIOBUTTON | BS_PUSHLIKE | BS_FLAT,214,194,118,14 + PUSHBUTTON "Save recording",IDC_STATEREC_SAVE,214,212,118,14 + CONTROL "Automatic replay",IDC_STATEREC_AUTOPLAY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,54,217,129,10 END -IDD_INPUT DIALOGEX 0, 0, 300, 242 +IDD_INPUT DIALOGEX 0, 0, 396, 318 STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD FONT 8, "MS Sans Serif", 0, 0, 0x1 BEGIN - 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,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 "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 - COMBOBOX IDC_INPUTCOPYFROM,240,211,55,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "Swap 1<>2",IDC_INPUTSWAP,240,226,56,14 -END - -IDD_FILTER DIALOGEX 0, 0, 296, 241 + CONTROL "List1",IDC_INPUTLIST,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,5,22,390,220 + COMBOBOX IDC_INPUTTYPE,5,4,106,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_INPUTDEVICE,116,4,192,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + CONTROL "",IDC_INPUTDEVICEDISABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,384,7,9,10 + COMBOBOX IDC_INPUTAMIGACNT,5,248,24,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_INPUTAMIGA,33,248,286,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "Test [] Test input mappings.",IDC_INPUTTEST,324,248,34,14 + PUSHBUTTON "Remap [] Find and remap quickly.",IDC_INPUTREMAP,361,248,34,14 + RTEXT "Joystick dead zone (%):",-1,5,271,106,10,SS_CENTERIMAGE + EDITTEXT IDC_INPUTDEADZONE,116,270,29,12,ES_NUMBER + RTEXT "Digital joy-mouse speed:",-1,147,271,108,10,SS_CENTERIMAGE + EDITTEXT IDC_INPUTSPEEDD,260,270,29,12,ES_NUMBER + RTEXT "Autofire rate (lines):",-1,5,288,106,10,SS_CENTERIMAGE + EDITTEXT IDC_INPUTAUTOFIRERATE,116,286,29,12,ES_NUMBER + RTEXT "Analog joy-mouse speed:",-1,147,288,108,10,SS_CENTERIMAGE + EDITTEXT IDC_INPUTSPEEDA,260,287,29,12,ES_NUMBER + PUSHBUTTON "Copy from:",IDC_INPUTCOPY,324,268,70,14 + COMBOBOX IDC_INPUTCOPYFROM,324,285,70,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "Swap 1<>2",IDC_INPUTSWAP,324,301,70,14 + RTEXT "Device enabled",-1,313,6,66,11,SS_CENTERIMAGE +END + +IDD_FILTER DIALOGEX 0, 0, 396, 288 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,295,134 - COMBOBOX IDC_FILTERMODE,20,15,149,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_FILTERFILTER,176,15,39,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "Reset to defaults",IDC_FILTERDEFAULT,221,15,67,14 - RTEXT "Horiz. size:",-1,7,61,46,10,SS_CENTERIMAGE - CONTROL "Slider1",IDC_FILTERHZ,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,99,54,152,19 - EDITTEXT IDC_FILTERHZV,253,56,34,12,ES_CENTER | ES_READONLY - RTEXT "Vert. size:",-1,7,81,46,10,SS_CENTERIMAGE - CONTROL "Slider1",IDC_FILTERVZ,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,99,74,152,19 - EDITTEXT IDC_FILTERVZV,253,76,34,12,ES_CENTER | ES_READONLY - RTEXT "Horiz. position:",-1,5,101,55,10,SS_CENTERIMAGE - CONTROL "Slider1",IDC_FILTERHO,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,99,94,151,19 - EDITTEXT IDC_FILTERHOV,253,96,34,12,ES_CENTER | ES_READONLY - 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 - 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 - COMBOBOX IDC_FILTERPRESETS,8,217,119,150,CBS_DROPDOWN | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "Load",IDC_FILTERPRESETLOAD,132,216,47,14 - PUSHBUTTON "Save",IDC_FILTERPRESETSAVE,184,216,47,14 - PUSHBUTTON "Delete",IDC_FILTERPRESETDELETE,236,216,47,14 - COMBOBOX IDC_FILTERHZMULT,59,60,35,150,CBS_DROPDOWN | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - 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,77,10 - COMBOBOX IDC_FILTERAUTOSCALE,204,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,92,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 - COMBOBOX IDC_FILTEROVERLAYTYPE,20,36,63,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP -END - -IDD_HARDDRIVE DIALOGEX 0, 0, 380, 76 + GROUPBOX "Filter Settings",-1,1,1,393,146 + COMBOBOX IDC_FILTERMODE,20,15,188,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_FILTERFILTER,215,15,63,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "Reset to defaults",IDC_FILTERDEFAULT,283,15,106,14 + RTEXT "Horiz. size:",-1,7,63,81,10,SS_CENTERIMAGE + CONTROL "Slider1",IDC_FILTERHZ,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,147,56,152,19 + EDITTEXT IDC_FILTERHZV,316,58,42,12,ES_CENTER | ES_READONLY + RTEXT "Vert. size:",-1,7,84,81,10,SS_CENTERIMAGE + CONTROL "Slider1",IDC_FILTERVZ,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,147,77,152,19 + EDITTEXT IDC_FILTERVZV,316,79,42,12,ES_CENTER | ES_READONLY + RTEXT "Horiz. position:",-1,5,105,81,10,SS_CENTERIMAGE + CONTROL "Slider1",IDC_FILTERHO,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,147,98,151,19 + EDITTEXT IDC_FILTERHOV,316,100,42,12,ES_CENTER | ES_READONLY + RTEXT "Vert. position:",-1,5,125,81,10,SS_CENTERIMAGE + CONTROL "Slider1",IDC_FILTERVO,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,147,119,151,19 + EDITTEXT IDC_FILTERVOV,316,121,42,12,ES_CENTER | ES_READONLY + CONTROL "Slider1",IDC_FILTERXL,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,179,195,141,19 + EDITTEXT IDC_FILTERXLV,327,197,41,12,ES_CENTER | ES_READONLY + COMBOBOX IDC_FILTERSLR,327,172,41,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + GROUPBOX "Presets",-1,1,245,393,36 + COMBOBOX IDC_FILTERPRESETS,13,260,183,150,CBS_DROPDOWN | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "Load",IDC_FILTERPRESETLOAD,205,259,55,14 + PUSHBUTTON "Save",IDC_FILTERPRESETSAVE,265,259,55,14 + PUSHBUTTON "Delete",IDC_FILTERPRESETDELETE,325,259,55,14 + COMBOBOX IDC_FILTERHZMULT,92,62,35,150,CBS_DROPDOWN | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_FILTERVZMULT,92,83,35,150,CBS_DROPDOWN | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_FILTERXTRA,177,172,138,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_FILTERASPECT,14,169,99,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,204,126,11 + COMBOBOX IDC_FILTERAUTOSCALE,284,36,104,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_FILTERASPECT2,14,220,99,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_FILTEROVERLAY,134,36,145,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + GROUPBOX "Aspect Ratio Correction",-1,1,152,144,89 + GROUPBOX "Extra Settings",-1,154,152,240,89 + COMBOBOX IDC_FILTEROVERLAYTYPE,20,36,108,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + CONTROL "Keep autoscale aspect",IDC_FILTERKEEPAUTOSCALEASPECT, + "Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,14,189,126,11 +END + +IDD_HARDDRIVE DIALOGEX 0, 0, 396, 74 STYLE DS_LOCALEDIT | DS_SETFONT | DS_MODALFRAME | DS_SETFOREGROUND | DS_3DLOOK | DS_CENTER | DS_CENTERMOUSE | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Harddrive Settings" FONT 8, "MS Sans Serif", 0, 0, 0x0 BEGIN LTEXT "Hard drive:",IDC_STATIC,7,11,80,10 - COMBOBOX IDC_HARDDRIVE,49,9,325,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - CONTROL "Read/write",IDC_HDF_RW,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,161,51,55,10 - DEFPUSHBUTTON "Add hard drive",IDOK,231,48,65,14 - PUSHBUTTON "Cancel",IDCANCEL,319,48,54,14 - DEFPUSHBUTTON "Create hard disk image file",IDC_HARDDRIVE_IMAGE,49,30,115,14 - EDITTEXT IDC_PATH_NAME,183,27,97,15,ES_AUTOHSCROLL | NOT WS_VISIBLE - COMBOBOX IDC_HDF_CONTROLLER,102,50,41,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - RTEXT "HD Controller:",IDC_STATIC,42,51,52,10,SS_CENTERIMAGE + COMBOBOX IDC_HARDDRIVE,49,9,339,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + CONTROL "Read/write",IDC_HDF_RW,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,172,52,60,10 + DEFPUSHBUTTON "Add hard drive",IDOK,236,49,73,14 + PUSHBUTTON "Cancel",IDCANCEL,316,49,73,14 + DEFPUSHBUTTON "Create hard disk image file",IDC_HARDDRIVE_IMAGE,49,29,115,14 + EDITTEXT IDC_PATH_NAME,183,29,97,15,ES_AUTOHSCROLL | NOT WS_VISIBLE + COMBOBOX IDC_HDF_CONTROLLER,91,51,61,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + RTEXT "HD Controller:",IDC_STATIC,12,52,65,10,SS_CENTERIMAGE END -IDD_MISC2 DIALOGEX 0, 0, 300, 244 +IDD_MISC2 DIALOGEX 0, 0, 396, 263 STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD FONT 8, "MS Sans Serif", 0, 0, 0x1 BEGIN - GROUPBOX "When Active",IDC_STATIC,8,7,88,81 - CTEXT "Run at priority:",IDC_ACTIVE_PRI,14,17,77,10,SS_CENTERIMAGE | WS_TABSTOP - COMBOBOX IDC_ACTIVE_PRIORITY,14,29,76,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - GROUPBOX "When Inactive",IDC_STATIC,102,7,92,81 - CTEXT "Run at priority:",IDC_INACTIVE_PRI,109,17,75,10,SS_CENTERIMAGE | WS_TABSTOP - COMBOBOX IDC_INACTIVE_PRIORITY,109,29,76,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - CONTROL "Pause emulation",IDC_INACTIVE_PAUSE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,109,61,69,10 - CONTROL "Disable sound",IDC_INACTIVE_NOSOUND,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,109,74,79,10 - GROUPBOX "When Minimized",IDC_STATIC,199,7,92,81 - CTEXT "Run at priority:",IDC_MINIMIZED_PRI,207,18,75,10,SS_CENTERIMAGE | WS_TABSTOP - COMBOBOX IDC_MINIMIZED_PRIORITY,207,29,76,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - CONTROL "Pause emulation",IDC_MINIMIZED_PAUSE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,207,61,69,10 - CONTROL "Disable sound",IDC_MINIMIZED_NOSOUND,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,207,74,79,10 - CONTROL "",IDC_ASSOCIATELIST,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,19,104,164,100 - GROUPBOX "File Extension Associations",IDC_STATIC,8,93,186,138 - PUSHBUTTON "Deassociate all",IDC_ASSOCIATE_OFF,108,210,75,14 - PUSHBUTTON "Associate all",IDC_ASSOCIATE_ON,19,210,75,14 - CONTROL "Pause emulation",IDC_ACTIVE_PAUSE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,61,69,10 - CONTROL "Disable sound",IDC_ACTIVE_NOSOUND,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,74,79,10 - CTEXT "Mouse uncaptured:",IDC_STATIC,18,44,72,15,SS_CENTERIMAGE -END - -IDD_DISK DIALOGEX 0, 0, 300, 242 + GROUPBOX "When Active",IDC_STATIC,1,7,125,91 + CTEXT "Run at priority:",IDC_ACTIVE_PRI,10,18,108,10,SS_CENTERIMAGE | WS_TABSTOP + COMBOBOX IDC_ACTIVE_PRIORITY,10,33,108,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + GROUPBOX "When Inactive",IDC_STATIC,133,7,126,90 + CTEXT "Run at priority:",IDC_INACTIVE_PRI,144,18,107,10,SS_CENTERIMAGE | WS_TABSTOP + COMBOBOX IDC_INACTIVE_PRIORITY,144,33,108,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + CONTROL "Pause emulation",IDC_INACTIVE_PAUSE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,143,67,109,10 + CONTROL "Disable sound",IDC_INACTIVE_NOSOUND,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,143,81,109,10 + GROUPBOX "When Minimized",IDC_STATIC,269,7,125,89 + CTEXT "Run at priority:",IDC_MINIMIZED_PRI,278,19,109,10,SS_CENTERIMAGE | WS_TABSTOP + COMBOBOX IDC_MINIMIZED_PRIORITY,278,33,108,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + CONTROL "Pause emulation",IDC_MINIMIZED_PAUSE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,280,67,108,10 + CONTROL "Disable sound",IDC_MINIMIZED_NOSOUND,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,280,81,108,10 + CONTROL "",IDC_ASSOCIATELIST,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,9,124,238,108 + GROUPBOX "File Extension Associations",IDC_STATIC,0,107,260,155 + PUSHBUTTON "Deassociate all",IDC_ASSOCIATE_OFF,125,240,85,14 + PUSHBUTTON "Associate all",IDC_ASSOCIATE_ON,36,240,85,14 + CONTROL "Pause emulation",IDC_ACTIVE_PAUSE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,67,109,10 + CONTROL "Disable sound",IDC_ACTIVE_NOSOUND,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,81,109,10 + CTEXT "Mouse uncaptured:",IDC_STATIC,10,50,101,15,SS_CENTERIMAGE +END + +IDD_DISK DIALOGEX 0, 0, 396, 318 STYLE DS_LOCALEDIT | DS_SETFONT | DS_SETFOREGROUND | DS_3DLOOK | DS_CONTROL | DS_CENTER | DS_CENTERMOUSE | WS_CHILD FONT 8, "MS Sans Serif", 0, 0, 0x0 BEGIN - CONTROL "",IDC_DISKLIST,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,4,4,292,198 - PUSHBUTTON "Remove floppy disk image",IDC_DISKLISTREMOVE,156,223,101,15 - COMBOBOX IDC_DISKTEXT,3,205,293,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "Insert floppy disk image",IDC_DISKLISTINSERT,41,223,101,15 + CONTROL "",IDC_DISKLIST,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,1,4,393,275 + PUSHBUTTON "Remove floppy disk image",IDC_DISKLISTREMOVE,202,299,121,15 + COMBOBOX IDC_DISKTEXT,1,281,393,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "Insert floppy disk image",IDC_DISKLISTINSERT,72,299,121,15 END -IDD_PANEL DIALOGEX 0, 0, 420, 278 +IDD_PANEL DIALOGEX 0, 0, 530, 345 STYLE DS_LOCALEDIT | DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU EXSTYLE WS_EX_ACCEPTFILES | WS_EX_CONTROLPARENT 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_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 - DEFPUSHBUTTON "OK",IDOK,260,259,50,14 - PUSHBUTTON "Cancel",IDCANCEL,313,259,50,14 - PUSHBUTTON "Help",IDHELP,366,259,50,14,WS_DISABLED - PUSHBUTTON "Restart",IDC_RESTARTEMU,106,259,47,14,NOT WS_VISIBLE + GROUPBOX "",IDC_PANEL_FRAME,121,5,402,318,NOT WS_VISIBLE + CONTROL "",IDC_PANELTREE,"SysTreeView32",TVS_HASLINES | TVS_SHOWSELALWAYS | TVS_TRACKSELECT | TVS_NOHSCROLL | WS_BORDER | WS_TABSTOP,3,5,110,321,WS_EX_CLIENTEDGE + GROUPBOX "",IDC_PANEL_FRAME_OUTER,118,2,409,324 + PUSHBUTTON "Reset",IDC_RESETAMIGA,3,328,47,14 + PUSHBUTTON "Quit",IDC_QUITEMU,55,328,47,14 + DEFPUSHBUTTON "OK",IDOK,377,328,47,14 + PUSHBUTTON "Cancel",IDCANCEL,429,328,47,14 + PUSHBUTTON "Help",IDHELP,481,328,47,14,WS_DISABLED + PUSHBUTTON "Restart",IDC_RESTARTEMU,107,328,47,14,NOT WS_VISIBLE END -IDD_PATHS DIALOGEX 0, 0, 300, 243 +IDD_PATHS DIALOGEX 0, 0, 396, 274 STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD FONT 8, "MS Sans Serif", 0, 0, 0x1 BEGIN - LTEXT "System ROMs:",IDC_PATHS_ROML,14,4,260,8,SS_CENTERIMAGE - EDITTEXT IDC_PATHS_ROM,14,15,261,15,ES_AUTOHSCROLL - 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 - PUSHBUTTON "...",IDC_PATHS_SCREENSHOTS,281,69,11,15 - LTEXT "State files:",IDC_PATHS_STATEFILEL,14,86,260,8,SS_CENTERIMAGE - EDITTEXT IDC_PATHS_SAVESTATE,14,96,261,15,ES_AUTOHSCROLL - PUSHBUTTON "...",IDC_PATHS_SAVESTATES,281,96,11,15 - LTEXT "Videos:",IDC_PATHS_AVIOUTPUTL,14,113,260,8,SS_CENTERIMAGE - EDITTEXT IDC_PATHS_AVIOUTPUT,14,123,261,15,ES_AUTOHSCROLL - PUSHBUTTON "...",IDC_PATHS_AVIOUTPUTS,281,123,11,15 - LTEXT "Saveimages:",IDC_PATHS_SAVEIMAGEL,14,140,261,8,SS_CENTERIMAGE - EDITTEXT IDC_PATHS_SAVEIMAGE,14,151,261,15,ES_AUTOHSCROLL - PUSHBUTTON "...",IDC_PATHS_SAVEIMAGES,281,151,11,15 - PUSHBUTTON "Reset to defaults",IDC_PATHS_DEFAULT,14,196,92,14 - PUSHBUTTON "Rescan ROMs",IDC_ROM_RESCAN,14,212,92,14 - 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 - 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 - CONTROL "Use relative paths",IDC_PATHS_RELATIVE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,113,230,161,10 -END - -IDD_QUICKSTART DIALOGEX 0, 0, 300, 242 + LTEXT "System ROMs:",IDC_PATHS_ROML,3,2,260,8,SS_CENTERIMAGE + EDITTEXT IDC_PATHS_ROM,3,13,377,15,ES_AUTOHSCROLL + PUSHBUTTON "...",IDC_PATHS_ROMS,384,13,11,15 + LTEXT "Configuration files:",IDC_PATHS_CONFIGL,3,32,164,8,SS_CENTERIMAGE + EDITTEXT IDC_PATHS_CONFIG,3,44,377,15,ES_AUTOHSCROLL + CONTROL "Cache Configuration files",IDC_PATHS_CONFIGCACHE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,177,31,197,11 + PUSHBUTTON "...",IDC_PATHS_CONFIGS,384,43,11,15 + LTEXT "Screenshots:",IDC_PATHS_SCREENSHOTL,3,62,260,8,SS_CENTERIMAGE + EDITTEXT IDC_PATHS_SCREENSHOT,3,73,377,15,ES_AUTOHSCROLL + PUSHBUTTON "...",IDC_PATHS_SCREENSHOTS,384,72,11,15 + LTEXT "State files:",IDC_PATHS_STATEFILEL,3,91,260,8,SS_CENTERIMAGE + EDITTEXT IDC_PATHS_SAVESTATE,3,102,377,15,ES_AUTOHSCROLL + PUSHBUTTON "...",IDC_PATHS_SAVESTATES,384,101,11,15 + LTEXT "Videos:",IDC_PATHS_AVIOUTPUTL,3,120,260,8,SS_CENTERIMAGE + EDITTEXT IDC_PATHS_AVIOUTPUT,3,131,377,15,ES_AUTOHSCROLL + PUSHBUTTON "...",IDC_PATHS_AVIOUTPUTS,384,130,11,15 + LTEXT "Saveimages:",IDC_PATHS_SAVEIMAGEL,3,149,260,8,SS_CENTERIMAGE + EDITTEXT IDC_PATHS_SAVEIMAGE,3,161,377,15,ES_AUTOHSCROLL + PUSHBUTTON "...",IDC_PATHS_SAVEIMAGES,384,160,11,15 + PUSHBUTTON "Reset to defaults",IDC_PATHS_DEFAULT,2,219,92,14 + PUSHBUTTON "Rescan ROMs",IDC_ROM_RESCAN,2,236,92,14 + PUSHBUTTON "Clear registry",IDC_RESETREGISTRY,99,236,92,14 + COMBOBOX IDC_PATHS_DEFAULTTYPE,99,220,163,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "Clear disk history",IDC_RESETDISKHISTORY,2,253,92,14 + LTEXT "Rips:",IDC_PATHS_RIPSL,3,179,260,8,SS_CENTERIMAGE + EDITTEXT IDC_PATHS_RIP,3,190,377,15,ES_AUTOHSCROLL + PUSHBUTTON "...",IDC_PATHS_RIPS,383,189,11,15 + CONTROL "Use relative paths",IDC_PATHS_RELATIVE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,101,255,161,11 +END + +IDD_QUICKSTART DIALOGEX 0, 0, 396, 262 STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD 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,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 - RTEXT "Best compatibility",IDC_STATIC,13,70,67,10,SS_CENTERIMAGE - CONTROL "",IDC_QUICKSTART_COMPATIBILITY,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,95,65,115,21 - RTEXT "Low compatibility",IDC_STATIC,215,70,63,10,SS_CENTERIMAGE - GROUPBOX "Host Configuration",IDC_QUICKSTART_HOST,3,91,294,33 - RTEXT "Configuration:",IDC_STATIC,5,105,55,10,SS_CENTERIMAGE - COMBOBOX IDC_QUICKSTART_HOSTCONFIG,65,103,225,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - GROUPBOX "Emulated Drives",IDC_QUICKSTART_DF,3,126,294,84 - CONTROL "Floppy drive DF0:",IDC_DF0QENABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,136,72,15 - PUSHBUTTON "Select image file",IDC_DF0QQ,85,136,98,15 - RTEXT "Write-protected",IDC_DF0WPTEXTQ,185,139,56,10,SS_CENTERIMAGE - CONTROL "",IDC_DF0WPQ,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,246,137,10,15 - PUSHBUTTON "Eject",IDC_EJECT0Q,261,136,30,15 - COMBOBOX IDC_DF0TEXTQ,9,154,282,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP - CONTROL "Floppy drive DF1:",IDC_DF1QENABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,172,71,15 - PUSHBUTTON "Select image file",IDC_DF1QQ,85,172,98,15 - RTEXT "Write-protected",IDC_DF1WPTEXTQ,185,175,55,10,SS_CENTERIMAGE - CONTROL "",IDC_DF1WPQ,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,246,173,10,15 - PUSHBUTTON "Eject",IDC_EJECT1Q,261,172,30,15 - COMBOBOX IDC_DF1TEXTQ,9,190,282,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "Set configuration",IDC_QUICKSTART_SETCONFIG,9,219,72,15,NOT WS_VISIBLE - 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 + GROUPBOX "Emulated Hardware",IDC_QUICKSTART_CONFIG,1,0,393,54 + RTEXT "Model:",IDC_STATIC,5,14,68,10,SS_CENTERIMAGE + COMBOBOX IDC_QUICKSTART_MODEL,77,12,263,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + RTEXT "Configuration:",IDC_STATIC,5,33,68,10,SS_CENTERIMAGE + COMBOBOX IDC_QUICKSTART_CONFIGURATION,77,31,310,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + GROUPBOX "Compatibility vs Required CPU Power ",IDC_QUICKSTART_COMPA,1,58,393,33 + RTEXT "Best compatibility",IDC_STATIC,20,73,98,10,SS_CENTERIMAGE + CONTROL "",IDC_QUICKSTART_COMPATIBILITY,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,145,68,115,21 + LTEXT "Low compatibility",IDC_STATIC,279,74,92,10,SS_CENTERIMAGE + GROUPBOX "Host Configuration",IDC_QUICKSTART_HOST,1,96,393,35 + RTEXT "Configuration:",IDC_STATIC,5,109,68,10,SS_CENTERIMAGE + COMBOBOX IDC_QUICKSTART_HOSTCONFIG,77,107,310,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + GROUPBOX "Emulated Drives",IDC_QUICKSTART_DF,1,135,393,93 + CONTROL "Floppy drive DF0:",IDC_DF0QENABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,148,77,15 + PUSHBUTTON "Select image file",IDC_DF0QQ,93,148,98,15 + RTEXT "Write-protected",IDC_DF0WPTEXTQ,196,151,69,10,SS_CENTERIMAGE + CONTROL "",IDC_DF0WPQ,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,270,149,10,15 + PUSHBUTTON "Eject",IDC_EJECT0Q,358,148,30,15 + COMBOBOX IDC_DF0TEXTQ,9,167,379,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP + CONTROL "Floppy drive DF1:",IDC_DF1QENABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,186,77,15 + PUSHBUTTON "Select image file",IDC_DF1QQ,93,186,98,15 + RTEXT "Write-protected",IDC_DF1WPTEXTQ,195,189,69,10,SS_CENTERIMAGE + CONTROL "",IDC_DF1WPQ,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,270,185,10,15 + PUSHBUTTON "Eject",IDC_EJECT1Q,358,186,30,15 + COMBOBOX IDC_DF1TEXTQ,9,204,379,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "Set configuration",IDC_QUICKSTART_SETCONFIG,9,239,88,15,NOT WS_VISIBLE + GROUPBOX "Mode",IDC_STATIC,250,231,144,28,BS_LEFT + CONTROL "Start in Quickstart mode",IDC_QUICKSTARTMODE,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_TABSTOP,259,242,131,12 + COMBOBOX IDC_CD0Q_TYPE,199,187,74,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 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,347,14,35,12 END IDD_FRONTEND DIALOGEX 0, 0, 420, 242 @@ -931,24 +945,24 @@ BEGIN GROUPBOX "",IDC_FE_SCREENSHOT,249,7,160,128 END -IDD_PROGRESSBAR DIALOGEX 0, 0, 229, 58 +IDD_PROGRESSBAR DIALOGEX 0, 0, 396, 58 STYLE DS_LOCALEDIT | DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Processing..." FONT 8, "MS Sans Serif", 0, 0, 0x0 BEGIN - PUSHBUTTON "Cancel",IDCANCEL,88,40,50,14 - CONTROL "",IDC_PROGRESSBAR,"msctls_progress32",PBS_SMOOTH | WS_BORDER,7,19,215,14 - CTEXT "x",IDC_PROGRESSBAR_TEXT,23,5,187,10,SS_CENTERIMAGE | WS_TABSTOP + PUSHBUTTON "Cancel",IDCANCEL,169,40,58,14 + CONTROL "",IDC_PROGRESSBAR,"msctls_progress32",PBS_SMOOTH | WS_BORDER,7,19,381,14 + CTEXT "x",IDC_PROGRESSBAR_TEXT,14,5,368,10,SS_CENTERIMAGE | WS_TABSTOP END -IDD_STRINGBOX DIALOGEX 0, 0, 229, 107 -STYLE DS_LOCALEDIT | DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +IDD_STRINGBOX DIALOGEX 0, 0, 396, 209 +STYLE DS_LOCALEDIT | DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Enter text..." FONT 8, "MS Sans Serif", 0, 0, 0x0 BEGIN - EDITTEXT IDC_STRINGBOXEDIT,7,8,214,65,ES_MULTILINE - DEFPUSHBUTTON "OK",IDOK,48,84,50,14 - PUSHBUTTON "Cancel",IDCANCEL,151,84,50,14 + EDITTEXT IDC_STRINGBOXEDIT,6,8,383,176,ES_MULTILINE + DEFPUSHBUTTON "OK",IDOK,120,190,50,14 + PUSHBUTTON "Cancel",IDCANCEL,224,190,50,14 END IDD_DEBUGGER DIALOGEX 0, 0, 454, 368 @@ -997,56 +1011,56 @@ BEGIN CTEXT "Enter address",IDC_DBG_ADDRINPUTTXT,20,1,100,10,SS_CENTERIMAGE | WS_TABSTOP END -IDD_EXPANSION DIALOGEX 0, 0, 300, 230 +IDD_EXPANSION DIALOGEX 0, 0, 396, 278 STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD FONT 8, "MS Sans Serif", 0, 0, 0x1 BEGIN - RTEXT "Memory: [] Graphics card memory. Required for RTG (Picasso96) emulation.",IDC_GFXCARDTEXT,25,35,53,10,SS_NOTIFY | SS_CENTERIMAGE + RTEXT "Memory: [] Graphics card memory. Required for RTG (Picasso96) emulation.",IDC_GFXCARDTEXT,2,35,76,10,SS_NOTIFY | SS_CENTERIMAGE CONTROL "",IDC_P96MEM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,88,31,60,20 - EDITTEXT IDC_P96RAM,152,34,34,12,ES_CENTER | ES_READONLY - GROUPBOX "RTG Graphics Card",IDC_STATIC,5,1,291,157 + EDITTEXT IDC_P96RAM,152,34,40,12,ES_CENTER | ES_READONLY + GROUPBOX "RTG Graphics Card",IDC_STATIC,1,0,393,189 CONTROL "Scale if smaller than display size setting",IDC_RTG_SCALE, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,25,65,162,10 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,25,67,212,10 CONTROL "Match host and RTG color depth if possible",IDC_RTG_MATCH_DEPTH, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,25,53,163,10 - COMBOBOX IDC_RTG_8BIT,211,21,68,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_RTG_16BIT,211,36,68,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_RTG_24BIT,211,51,68,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_RTG_32BIT,211,66,68,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,25,54,212,10 + COMBOBOX IDC_RTG_8BIT,296,23,82,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_RTG_16BIT,296,40,82,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_RTG_24BIT,296,58,82,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_RTG_32BIT,296,75,82,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP CONTROL "Always scale in windowed mode",IDC_RTG_SCALE_ALLOW, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,25,77,162,10 - COMBOBOX IDC_RTG_SCALE_ASPECTRATIO,211,138,68,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - CTEXT "Aspect ratio:",IDC_STATIC,215,125,60,10,SS_CENTERIMAGE - CTEXT "Refresh rate:",IDC_STATIC,28,125,64,10,SS_CENTERIMAGE - COMBOBOX IDC_RTG_VBLANKRATE,21,138,68,150,CBS_DROPDOWN | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,25,80,212,10 + COMBOBOX IDC_RTG_SCALE_ASPECTRATIO,282,162,84,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + CTEXT "Aspect ratio:",IDC_STATIC,282,149,83,10,SS_CENTERIMAGE + CTEXT "Refresh rate:",IDC_STATIC,30,149,83,10,SS_CENTERIMAGE + COMBOBOX IDC_RTG_VBLANKRATE,29,162,84,150,CBS_DROPDOWN | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP CONTROL "bsdsocket.library [] bsdsocket network library emulation.",IDC_SOCKETS, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,142,180,120,10 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,202,216,187,11 CONTROL "uaenet.device [] Sana 2 compatible network device emulation. WinPcap required.",IDC_SANA2, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,142,192,77,10 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,202,229,187,11 CONTROL "A2065 Z2 [] A2065 Ethernet Zorro II card emulation. WinPcap required.",IDC_A2065, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,233,192,57,10 - GROUPBOX "Network",IDC_STATIC,126,162,169,66 - COMBOBOX IDC_NETDEVICE,132,208,156,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - CONTROL "uaescsi.device",IDC_SCSIDEVICE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,192,102,10 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,202,242,187,11 + GROUPBOX "Network",IDC_STATIC,181,198,213,80 + COMBOBOX IDC_NETDEVICE,202,257,156,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + CONTROL "uaescsi.device",IDC_SCSIDEVICE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,229,147,11 CONTROL "Catweasel Z2 emulation [] Catweasel MK2 Zorro II card emulation. Physical Windows compatible Catweasel card and drivers required.",IDC_CATWEASEL, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,180,101,10 - GROUPBOX "Miscellaneous Expansions",IDC_STATIC,5,162,117,66 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,216,147,11 + GROUPBOX "Miscellaneous Expansions",IDC_STATIC,1,198,172,80 COMBOBOX IDC_RTG_Z2Z3,26,14,68,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - CTEXT "Buffer mode:",IDC_STATIC,112,125,81,10,SS_CENTERIMAGE - COMBOBOX IDC_RTG_BUFFERCNT,111,138,84,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - CTEXT "Color modes:",IDC_STATIC,215,9,62,10,SS_CENTERIMAGE - COMBOBOX IDC_RTG_DISPLAYSELECT,11,106,279,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + CTEXT "Buffer mode:",IDC_STATIC,154,149,83,10,SS_CENTERIMAGE + COMBOBOX IDC_RTG_BUFFERCNT,153,162,84,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + CTEXT "Color modes:",IDC_STATIC,295,9,83,10,SS_CENTERIMAGE + COMBOBOX IDC_RTG_DISPLAYSELECT,11,125,371,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP CONTROL "Hardware vertical blank interrupt",IDC_RTG_VBINTERRUPT, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,25,89,142,10 - CONTROL "Hardware sprite emulation",IDC_RTG_HWSPRITE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,185,89,102,10 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,25,93,212,10 + CONTROL "Hardware sprite emulation",IDC_RTG_HWSPRITE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,25,107,212,10 END -IDD_INPUTMAP DIALOGEX 0, 0, 300, 240 +IDD_INPUTMAP DIALOGEX 0, 0, 396, 318 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 + CONTROL "",IDC_INPUTMAPLIST,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_NOCOLUMNHEADER | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,1,1,393,298 + EDITTEXT IDC_INPUTMAPOUT,1,304,393,14,ES_AUTOHSCROLL | WS_DISABLED END IDD_INFOBOX DIALOGEX 0, 0, 420, 68 @@ -1054,11 +1068,22 @@ STYLE DS_LOCALEDIT | DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAP 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 + DEFPUSHBUTTON "OK",IDOK,147,51,58,14,NOT WS_VISIBLE + PUSHBUTTON "Cancel",IDCANCEL,214,51,58,14 + CTEXT "",IDC_INFOBOX_TEXT2,4,21,412,11,SS_CENTERIMAGE | SS_SUNKEN | WS_TABSTOP + CTEXT "",IDC_INFOBOX_TEXT1,4,7,412,11,SS_CENTERIMAGE | SS_SUNKEN | WS_TABSTOP + CTEXT "",IDC_INFOBOX_TEXT3,4,35,412,11,SS_CENTERIMAGE | SS_SUNKEN | WS_TABSTOP +END + +IDD_LIST DIALOGEX 0, 0, 316, 206 +STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Select Qualifiers" +FONT 8, "MS Shell Dlg", 400, 0, 0x1 +BEGIN + DEFPUSHBUTTON "OK",IDOK,205,185,50,14 + PUSHBUTTON "Cancel",IDCANCEL,259,185,50,14 + CONTROL "",IDC_LISTDIALOG_LIST,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,7,7,302,171 + DEFPUSHBUTTON "Clear",IDC_LISTDIALOG_CLEAR,6,185,50,14 END @@ -1068,8 +1093,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 2,4,2,0 - PRODUCTVERSION 2,4,2,0 + FILEVERSION 2,5,0,0 + PRODUCTVERSION 2,5,0,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -1085,12 +1110,12 @@ BEGIN BLOCK "040904b0" BEGIN VALUE "FileDescription", "WinUAE" - VALUE "FileVersion", "2.4.2.0" + VALUE "FileVersion", "2.5.0.0" VALUE "InternalName", "WinUAE" VALUE "LegalCopyright", "© 1996-2012 under the GNU Public License (GPL)" VALUE "OriginalFilename", "WinUAE.exe" VALUE "ProductName", "WinUAE" - VALUE "ProductVersion", "2.4.2.0" + VALUE "ProductVersion", "2.5.0.0" END END BLOCK "VarFileInfo" @@ -1214,8 +1239,13 @@ IDB_LCD160X43 BITMAP "lcd.bmp" #ifdef APSTUDIO_INVOKED GUIDELINES DESIGNINFO BEGIN + IDD_KICKSTART, DIALOG + BEGIN + END + IDD_DISPLAY, DIALOG BEGIN + BOTTOMMARGIN, 270 END IDD_MEMORY, DIALOG @@ -1244,14 +1274,16 @@ BEGIN IDD_IOPORTS, DIALOG BEGIN - RIGHTMARGIN, 300 - BOTTOMMARGIN, 240 END IDD_GAMEPORTS, DIALOG BEGIN END + IDD_CONTRIBUTORS, DIALOG + BEGIN + END + IDD_ABOUT, DIALOG BEGIN END @@ -1268,8 +1300,13 @@ BEGIN BEGIN END + IDD_SETINFO, DIALOG + BEGIN + END + IDD_CHIPSET, DIALOG BEGIN + BOTTOMMARGIN, 162 END IDD_CHIPSET2, DIALOG @@ -1286,7 +1323,7 @@ BEGIN IDD_FILTER, DIALOG BEGIN - BOTTOMMARGIN, 237 + BOTTOMMARGIN, 286 END IDD_HARDDRIVE, DIALOG @@ -1323,7 +1360,14 @@ BEGIN IDD_STRINGBOX, DIALOG BEGIN - BOTTOMMARGIN, 58 + END + + IDD_DEBUGGER, DIALOG + BEGIN + END + + IDD_DBGMEMINPUT, DIALOG + BEGIN END IDD_EXPANSION, DIALOG @@ -1338,6 +1382,14 @@ BEGIN IDD_INFOBOX, DIALOG BEGIN END + + IDD_LIST, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 309 + TOPMARGIN, 7 + BOTTOMMARGIN, 199 + END END #endif // APSTUDIO_INVOKED @@ -1462,14 +1514,14 @@ BEGIN IDS_PRI_LOW "Low" IDS_OLDRTGLIBRARY "The installed LIBS:Picasso96/rtg.library (%d.%d) should be updated.\nA newer version is included in the ""Amiga Programs"" directory\n of the WinUAE distribution archive.\n\nNewer library version fixes graphics problems and increases performance." IDS_DEFAULT_AF "Amiga Forever" - IDS_DEFAULT_WINUAE "WinUAE default (old)" + IDS_DEFAULT_WINUAE "WinUAE default (EXE directory)" END STRINGTABLE BEGIN IDS_SOUND_STEREO2 "Cloned Stereo (4 Channels)" IDS_INPUT_CUSTOMEVENT "" - IDS_DEFAULT_NEWWINUAE "WinUAE default (new)" + IDS_DEFAULT_NEWWINUAE "WinUAE default (User directory)" IDS_SOUND_CLONED51 "Cloned Stereo (5.1)" IDS_SOUND_51 "5.1 Channels" IDS_AUTOMATIC "Automatic" @@ -1724,6 +1776,9 @@ STRINGTABLE BEGIN IDS_WSTYLE_STANDARD "Standard" IDS_WSTYLE_EXTENDED "Extended" + IDS_MISCLISTITEMS1 "Untrap = middle button\nShow GUI on startup\nUse CTRL-F11 to quit\nDon't show taskbar button\nDon't show notification icon\n" + IDS_MISCLISTITEMS2 "Always on top\nDisable screensaver\nSynchronize clock\nFaster RTG\nClipboard sharing\nAllow native code\n" + IDS_MISCLISTITEMS3 "Native on-screen display\nRTG on-screen display\nCreate winuaelog.txt log\nLog illegal memory accesses\nBlank unused displays\nStart mouse uncaptured\nStart minimized\nMinimize when focus is lost\n" END #endif // English resources diff --git a/od-win32/sounddep/sound.cpp b/od-win32/sounddep/sound.cpp index 6275bef3..a06cfcd2 100644 --- a/od-win32/sounddep/sound.cpp +++ b/od-win32/sounddep/sound.cpp @@ -728,7 +728,7 @@ static int _cdecl portAudioCallback (const void *inputBuffer, void *outputBuffer int bytestocopy; int diff; - if (!framesPerBuffer || !s->pafinishsb) + if (!framesPerBuffer || !s->pafinishsb || sdp->deactive) return paContinue; if (!s->pacallbacksize) @@ -1702,8 +1702,15 @@ static void restart_sound_buffer2 (struct sound_data *sd) cf (s->writepos); } +void pause_sound_buffer (void) +{ + sdp->deactive = true; + reset_sound (); +} + void restart_sound_buffer (void) { + sdp->deactive = false; restart_sound_buffer2 (sdp); } diff --git a/od-win32/sounddep/sound.h b/od-win32/sounddep/sound.h index 908e0975..aff844c7 100644 --- a/od-win32/sounddep/sound.h +++ b/od-win32/sounddep/sound.h @@ -13,6 +13,7 @@ extern uae_u16 *paula_sndbufpt; extern int paula_sndbufsize; extern void finish_sound_buffer (void); extern void restart_sound_buffer (void); +extern void pause_sound_buffer (void); extern int init_sound (void); extern void close_sound (void); extern int setup_sound (void); @@ -33,6 +34,7 @@ struct sound_dp; struct sound_data { int waiting_for_buffer; + int deactive; int devicetype; int obtainedfreq; int paused; diff --git a/od-win32/win32.cpp b/od-win32/win32.cpp index 012fcdc0..6846894d 100644 --- a/od-win32/win32.cpp +++ b/od-win32/win32.cpp @@ -158,6 +158,7 @@ static int recapture; static int focus; int mouseactive; int minimized; +int monitor_off; static int mm_timerres; static int timermode, timeon; @@ -683,6 +684,7 @@ static void setmouseactive2 (int active, bool allowpause) } void setmouseactive (int active) { + monitor_off = 0; setmouseactive2 (active, true); } @@ -693,6 +695,7 @@ static void winuae_active (HWND hWnd, int minimized) struct threadpriorities *pri; write_log (_T("winuae_active(%d)\n"), minimized); + monitor_off = 0; /* without this returning from hibernate-mode causes wrong timing */ timeend (); @@ -733,7 +736,6 @@ static void winuae_active (HWND hWnd, int minimized) lcd_priority (1); #endif clipboard_active (hAmigaWnd, 1); - SetThreadExecutionState (ES_CONTINUOUS | ES_DISPLAY_REQUIRED); #if USETHREADCHARACTERICS if (os_vista && AVTask == NULL) { DWORD taskIndex = 0; @@ -967,6 +969,7 @@ static LRESULT CALLBACK AmigaWindowProc (HWND hWnd, UINT message, WPARAM wParam, switch (message) { case WM_INPUT: + monitor_off = 0; handle_rawinput (lParam); DefWindowProc (hWnd, message, wParam, lParam); return 0; @@ -1189,6 +1192,8 @@ static LRESULT CALLBACK AmigaWindowProc (HWND hWnd, UINT message, WPARAM wParam, case WM_MOUSEMOVE: { int wm = dinput_winmouse (); + + monitor_off = 0; mx = (signed short) LOWORD (lParam); my = (signed short) HIWORD (lParam); @@ -1345,10 +1350,15 @@ static LRESULT CALLBACK AmigaWindowProc (HWND hWnd, UINT message, WPARAM wParam, case WM_SYSCOMMAND: switch (wParam & 0xfff0) // Check System Calls { + // SetThreadExecutionState handles this now case SC_SCREENSAVE: // Screensaver Trying To Start? + break; case SC_MONITORPOWER: // Monitor Trying To Enter Powersave? - - // SetThreadExecutionState handles this now + write_log (_T("SC_MONITORPOWER=%d"), lParam); + if ((int)lParam < 0) + monitor_off = 0; + else if ((int)lParam > 0) + monitor_off = 1; break; default: @@ -1875,7 +1885,7 @@ void handle_events (void) { MSG msg; int was_paused = 0; - static int cnt; + static int cnt1, cnt2; if (hStatusWnd && guijoychange && window_led_joy_start > 0) { guijoychange = false; @@ -1903,10 +1913,18 @@ void handle_events (void) #ifdef RETROPLATFORM rp_vsync (); #endif - cnt = 0; + cnt1 = 0; while (checkIPC (globalipc, &currprefs)); if (quit_program) break; + cnt2--; + if (cnt2 <= 0) { + if (currprefs.win32_powersavedisabled) + SetThreadExecutionState (ES_CONTINUOUS | ES_DISPLAY_REQUIRED); + else + SetThreadExecutionState (ES_CONTINUOUS); + cnt2 = 10; + } } #if 0 while (PeekMessage (&msg, 0, 0, 0, PM_REMOVE)) { @@ -1920,11 +1938,19 @@ void handle_events (void) sound_closed = 0; manual_painting_needed--; } - cnt--; - if (cnt <= 0) { + cnt1--; + if (cnt1 <= 0) { figure_processor_speed (); flush_log (); - cnt = 50 * 5; + cnt1 = 50 * 5; + cnt2--; + if (cnt2 <= 0) { + if (currprefs.win32_powersavedisabled) + SetThreadExecutionState (ES_CONTINUOUS | ES_DISPLAY_REQUIRED); + else + SetThreadExecutionState (ES_CONTINUOUS); + cnt2 = 5; + } } } @@ -2904,7 +2930,7 @@ void target_default_options (struct uae_prefs *p, int type) p->win32_uaescsimode = UAESCSI_CDEMU; p->win32_borderless = 0; p->win32_blankmonitors = false; - p->win32_powersavedisabled = 1; + p->win32_powersavedisabled = true; p->sana2 = 0; p->win32_rtgmatchdepth = 1; p->win32_rtgscaleifsmall = 1; @@ -2932,6 +2958,7 @@ void target_default_options (struct uae_prefs *p, int type) p->win32_automount_cddrives = 0; p->win32_automount_netdrives = 0; p->picasso96_modeflags = RGBFF_CLUT | RGBFF_R5G6B5PC | RGBFF_B8G8R8A8; + p->win32_filesystem_mangle_reserved_names = true; } } @@ -3035,6 +3062,7 @@ void target_save_options (struct zfile *f, struct uae_prefs *p) cfgfile_target_dwrite_str (f, _T("parjoyport0"), p->win32_parjoyport0); cfgfile_target_dwrite_str (f, _T("parjoyport1"), p->win32_parjoyport1); cfgfile_target_dwrite_str (f, _T("gui_page"), p->win32_guipage); + cfgfile_target_dwrite_bool (f, _T("filesystem_mangle_reserved_names"), p->win32_filesystem_mangle_reserved_names); } static int fetchpri (int pri, int defpri) @@ -3107,6 +3135,7 @@ int target_parse_option (struct uae_prefs *p, const TCHAR *option, const TCHAR * || cfgfile_string (option, value, _T("gui_page"), p->win32_guipage, sizeof p->win32_guipage / sizeof (TCHAR)) || cfgfile_intval (option, value, _T("guikey"), &p->win32_guikey, 1) || cfgfile_intval (option, value, _T("kbledmode"), &p->win32_kbledmode, 1) + || cfgfile_yesno (option, value, _T("filesystem_mangle_reserved_names"), &p->win32_filesystem_mangle_reserved_names) || cfgfile_intval (option, value, _T("cpu_idle"), &p->cpu_idle, 1)); if (cfgfile_yesno (option, value, _T("rtg_match_depth"), &p->win32_rtgmatchdepth)) @@ -5862,13 +5891,11 @@ void fpux_restore (int *v) #endif } -typedef BOOL (CALLBACK* SETPROCESSDPIAWARE)(void); typedef BOOL (CALLBACK* CHANGEWINDOWMESSAGEFILTER)(UINT, DWORD); int PASCAL wWinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nCmdShow) { - SETPROCESSDPIAWARE pSetProcessDPIAware; DWORD_PTR sys_aff; HANDLE thread; @@ -5908,12 +5935,7 @@ int PASCAL wWinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdL pChangeWindowMessageFilter(WM_DROPFILES, MSGFLT_ADD); #endif - pSetProcessDPIAware = (SETPROCESSDPIAWARE)GetProcAddress ( - GetModuleHandle (_T("user32.dll")), "SetProcessDPIAware"); - if (pSetProcessDPIAware) - pSetProcessDPIAware (); log_open (NULL, 0, 0); - __try { WinMain2 (hInstance, hPrevInstance, lpCmdLine, nCmdShow); diff --git a/od-win32/win32.h b/od-win32/win32.h index 8ec6dc96..4569364b 100644 --- a/od-win32/win32.h +++ b/od-win32/win32.h @@ -19,8 +19,8 @@ #define LANG_DLL 1 //#define WINUAEBETA _T("") -#define WINUAEBETA _T("12") -#define WINUAEDATE MAKEBD(2012, 8, 14) +#define WINUAEBETA _T("13") +#define WINUAEDATE MAKEBD(2012, 8, 26) #define WINUAEEXTRA _T("") //#define WINUAEEXTRA _T("AmiKit Preview") #define WINUAEREV _T("") @@ -37,6 +37,7 @@ extern int manual_painting_needed; extern int manual_palette_refresh_needed; extern int mouseactive; extern int minimized; +extern int monitor_off; extern int ignore_messages_all; extern void *globalipc, *serialipc; @@ -195,4 +196,8 @@ struct assext { struct assext exts[]; void associate_file_extensions (void); +#define PATHPREFIX _T("\\\\?\\") +DWORD GetFileAttributesSafe (const TCHAR *name); +BOOL SetFileAttributesSafe (const TCHAR *name, DWORD attr); + #endif diff --git a/od-win32/win32_scaler.cpp b/od-win32/win32_scaler.cpp index 46acb13e..9c6e25b2 100644 --- a/od-win32/win32_scaler.cpp +++ b/od-win32/win32_scaler.cpp @@ -147,7 +147,8 @@ void getfilterrect2 (RECT *sr, RECT *dr, RECT *zr, int dst_width, int dst_height bool specialmode = !isnativevidbuf (); float mrmx, mrmy, mrsx, mrsy; int extraw2; - + bool doautoaspect = false; + float autoaspectratio; int filter_horiz_zoom = currprefs.gfx_filter_horiz_zoom; int filter_vert_zoom = currprefs.gfx_filter_vert_zoom; @@ -232,7 +233,7 @@ void getfilterrect2 (RECT *sr, RECT *dr, RECT *zr, int dst_width, int dst_height bool scl = false; if (scalemode) { - int cw, ch, cx, cy, cv; + int cw, ch, cx, cy, cv, crealh = 0; static int oxmult, oymult; filterxmult = 1000 / scale; @@ -276,7 +277,7 @@ void getfilterrect2 (RECT *sr, RECT *dr, RECT *zr, int dst_width, int dst_height } if (scalemode == AUTOSCALE_INTEGER_AUTOSCALE) - ok = get_custom_limits (&cw, &ch, &cx, &cy); + ok = get_custom_limits (&cw, &ch, &cx, &cy, &crealh); if (scalemode == AUTOSCALE_INTEGER || ok == false) getmanualpos (&cx, &cy, &cw, &ch); @@ -330,11 +331,11 @@ void getfilterrect2 (RECT *sr, RECT *dr, RECT *zr, int dst_width, int dst_height } else if (scalemode == AUTOSCALE_CENTER || scalemode == AUTOSCALE_RESIZE) { - cv = get_custom_limits (&cw, &ch, &cx, &cy); + cv = get_custom_limits (&cw, &ch, &cx, &cy, &crealh); } else { - cv = get_custom_limits (&cw, &ch, &cx, &cy); + cv = get_custom_limits (&cw, &ch, &cx, &cy, &crealh); if (cv) { set_custom_limits (cw, ch, cx, cy); scl = true; @@ -344,6 +345,12 @@ void getfilterrect2 (RECT *sr, RECT *dr, RECT *zr, int dst_width, int dst_height if (!scl) set_custom_limits (-1, -1, -1, -1); + + autoaspectratio = 0; + if (currprefs.gfx_filter_keep_autoscale_aspect && crealh > 0 && (scalemode == AUTOSCALE_NORMAL || scalemode == AUTOSCALE_INTEGER_AUTOSCALE)) { + autoaspectratio = ((float)crealh / ch); + doautoaspect = true; + } if (currprefs.gfx_api == 0) { if (cx < 0) @@ -450,11 +457,14 @@ void getfilterrect2 (RECT *sr, RECT *dr, RECT *zr, int dst_width, int dst_height filteroffsetx = -zr->left / scale; filteroffsety = -zr->top / scale; + bool aspect = false; + int diffx = dr->right - dr->left; + int diffy = dr->bottom - dr->top; + + xmult = 1.0; + ymult = 1.0; + if (currprefs.gfx_filter_keep_aspect || currprefs.gfx_filter_aspect != 0) { - int diffx = dr->right - dr->left; - int diffy = dr->bottom - dr->top; - float xmult = 1.0; - float ymult = 1.0; if (currprefs.gfx_filter_keep_aspect) { if (currprefs.ntscmode) { @@ -470,6 +480,19 @@ void getfilterrect2 (RECT *sr, RECT *dr, RECT *zr, int dst_width, int dst_height dstratio = dstratio * 0.95; } } + aspect = true; + + } else if (doautoaspect) { + + aspect = true; + + } + + if (aspect) { + + if (doautoaspect) { + srcratio *= autoaspectratio; + } if (srcratio > dstratio) { ymult = ymult * srcratio / dstratio; @@ -500,6 +523,7 @@ void getfilterrect2 (RECT *sr, RECT *dr, RECT *zr, int dst_width, int dst_height } cont: + if (!filter_horiz_zoom_mult && !filter_vert_zoom_mult) { sizeoffset (dr, zr, extraw, extrah); diff --git a/od-win32/win32gfx.cpp b/od-win32/win32gfx.cpp index 0aeb1cb8..4a409fcf 100644 --- a/od-win32/win32gfx.cpp +++ b/od-win32/win32gfx.cpp @@ -930,7 +930,7 @@ bool render_screen (bool immediate) bool v = false; render_ok = false; - if (minimized || picasso_on || dx_islost ()) + if (minimized || picasso_on || monitor_off || dx_islost ()) return render_ok; flushymin = 0; flushymax = currentmode->amiga_height; @@ -1744,7 +1744,7 @@ int check_prefs_changed_gfx (void) currprefs.gfx_ycenter = changed_prefs.gfx_ycenter; currprefs.gfx_filter_autoscale = changed_prefs.gfx_filter_autoscale; - get_custom_limits (NULL, NULL, NULL, NULL); + get_custom_limits (NULL, NULL, NULL, NULL, NULL); fixup_prefs_dimensions (&changed_prefs); return 1; diff --git a/od-win32/win32gui.cpp b/od-win32/win32gui.cpp index 8aeac117..01206bf7 100644 --- a/od-win32/win32gui.cpp +++ b/od-win32/win32gui.cpp @@ -91,6 +91,10 @@ #include "rp.h" #endif +#define GUI_SCALE_DEFAULT 90 +#define MIN_GUI_INTERNAL_WIDTH 512 +#define MIN_GUI_INTERNAL_HEIGHT 400 + #define ARCHIVE_STRING _T("*.zip;*.7z;*.rar;*.lha;*.lzh;*.lzx") #define DISK_FORMAT_STRING _T("(*.adf;*.adz;*.gz;*.dms;*.fdi;*.ipf;*.exe)\0*.adf;*.adz;*.gz;*.dms;*.fdi;*.ipf;*.exe;*.ima;*.wrp;*.dsq;*.st;") ARCHIVE_STRING _T("\0") @@ -132,6 +136,7 @@ extern int mouseactive; TCHAR config_filename[256] = _T(""); static TCHAR stored_path[MAX_DPATH]; +static int gui_size_changed; #define Error(x) MessageBox (NULL, (x), _T("WinUAE Error"), MB_OK) @@ -1763,7 +1768,9 @@ int target_cfgfile_load (struct uae_prefs *p, const TCHAR *filename, int type, i return v; } -static int gui_width = 640, gui_height = 480; +static int gui_width, gui_height; +static bool gui_resize; +// Internal panel max size: 396, 318 static int mm = 0; static void m (void) @@ -1812,9 +1819,6 @@ void gui_display (int shortcut) w = currprefs.gfx_size.width; h = currprefs.gfx_size.height; } - scaleresource_setmaxsize (-1, -1); - if (w > 0 && h > 0) - scaleresource_setmaxsize (w, h); manual_painting_needed++; /* So that WM_PAINT will refresh the display */ flush_log (); @@ -3346,6 +3350,10 @@ static void getqualifiername (TCHAR *p, uae_u64 mask) _tcscpy (p, _T("Alt")); } else if (mask == (IDEV_MAPPED_QUALIFIER_ALT << 1)) { _tcscpy (p, _T("Alt [R]")); + } else if (mask == IDEV_MAPPED_QUALIFIER_WIN) { + _tcscpy (p, _T("Win")); + } else if (mask == (IDEV_MAPPED_QUALIFIER_WIN << 1)) { + _tcscpy (p, _T("Win [R]")); } else { int j; uae_u64 i; @@ -3757,8 +3765,12 @@ void InitializeListView (HWND hDlg) } else if (lv_type == LV_MISC1) { + int itemids[] = { IDS_MISCLISTITEMS1, IDS_MISCLISTITEMS2, IDS_MISCLISTITEMS3, -1 }; + int itemoffset = 0; + int itemcnt = 0; listview_column_width[0] = 150; for (i = 0; misclist[i].name; i++) { + TCHAR tmpentry[MAX_DPATH], itemname[MAX_DPATH]; struct miscentry *me = &misclist[i]; int type = me->type; bool checked = false; @@ -3768,9 +3780,36 @@ void InitializeListView (HWND hDlg) } else if (me->i) { checked = ((*me->i) & me->imask) != 0; } + _tcscpy (itemname, me->name); + + for (;;) { + if (itemids[itemcnt] < 0) + break; + WIN32GUI_LoadUIString (itemids[itemcnt], tmpentry, sizeof tmpentry / sizeof (TCHAR)); + TCHAR *p = tmpentry; + for (int j = 0; j < itemoffset; j++) { + p = _tcschr (p, '\n'); + if (!p || p[1] == 0) { + p = NULL; + itemoffset = 0; + itemcnt++; + break; + } + p++; + } + if (!p) + continue; + TCHAR *p2 = _tcschr (p, '\n'); + if (p2) { + *p2 = 0; + _tcscpy (itemname, p); + } + itemoffset++; + break; + } lvstruct.mask = LVIF_TEXT | LVIF_PARAM; - lvstruct.pszText = me->name; + lvstruct.pszText = itemname; lvstruct.lParam = 0; lvstruct.iItem = i; lvstruct.iSubItem = 0; @@ -4578,6 +4617,9 @@ static void SetupRichText(HWND hDlg, urlinfo *url) { CHARFORMAT CharFormat; CharFormat.cbSize = sizeof (CharFormat); + int my; + + scaleresource_getmult (NULL, &my); SetDlgItemText (hDlg, url->id, url->display); SendDlgItemMessage (hDlg, url->id, EM_GETCHARFORMAT, 0, (LPARAM)&CharFormat); @@ -7737,7 +7779,16 @@ static void misc_lang (HWND hDlg) } } SendDlgItemMessage (hDlg, IDC_LANGUAGE, CB_SETCURSEL, idx, 0); + + SendDlgItemMessage (hDlg, IDC_GUI_SIZE, CB_RESETCONTENT, 0, 0); + SendDlgItemMessage (hDlg, IDC_GUI_SIZE, CB_ADDSTRING, 0, (LPARAM)_T("Select")); + SendDlgItemMessage (hDlg, IDC_GUI_SIZE, CB_ADDSTRING, 0, (LPARAM)_T("110%")); + SendDlgItemMessage (hDlg, IDC_GUI_SIZE, CB_ADDSTRING, 0, (LPARAM)_T("100%")); + SendDlgItemMessage (hDlg, IDC_GUI_SIZE, CB_ADDSTRING, 0, (LPARAM)_T(" 90%")); + SendDlgItemMessage (hDlg, IDC_GUI_SIZE, CB_ADDSTRING, 0, (LPARAM)_T(" 80%")); + SendDlgItemMessage (hDlg, IDC_GUI_SIZE, CB_SETCURSEL, 0, 0); } + static void misc_setlang (int v) { int i; @@ -7767,6 +7818,12 @@ static void misc_setlang (int v) exit_gui(0); } +static void misc_gui_font (HWND hDlg, int fonttype) +{ + if (scaleresource_choosefont (hDlg, fonttype)) + gui_size_changed = 1; +} + static void values_to_miscdlg (HWND hDlg) { TCHAR tmp[MAX_DPATH]; @@ -7777,6 +7834,7 @@ static void values_to_miscdlg (HWND hDlg) misc_kbled (hDlg, IDC_KBLED2, workprefs.keyboard_leds[1]); misc_kbled (hDlg, IDC_KBLED3, workprefs.keyboard_leds[2]); CheckDlgButton (hDlg, IDC_KBLED_USB, workprefs.win32_kbledmode); + CheckDlgButton (hDlg, IDC_GUI_RESIZE, gui_resize); misc_scsi (hDlg); misc_lang (hDlg); @@ -7936,7 +7994,7 @@ static INT_PTR MiscDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam) if (HIWORD (wParam) == CBN_SELENDOK) { v = SendDlgItemMessage (hDlg, IDC_LANGUAGE, CB_GETCURSEL, 0, 0L); if (v != CB_ERR) - misc_setlang(v); + misc_setlang (v); } break; case IDC_DXMODE: @@ -7979,6 +8037,32 @@ static INT_PTR MiscDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam) switch(wParam) { + case IDC_GUI_DEFAULT: + scaleresource_setdefaults (); + v = SendDlgItemMessage (hDlg, IDC_GUI_SIZE, CB_GETCURSEL, 0, 0L); + if (v != CB_ERR) { + if (v == 0) { + v = GUI_SCALE_DEFAULT; + } else { + v--; + v = 110 - v * 10; + } + gui_width = GUI_INTERNAL_WIDTH * v / 100; + gui_height = GUI_INTERNAL_HEIGHT * v / 100; + scaleresource_setmult (guiDlg, gui_width, gui_height); + gui_size_changed = 1; + } + break; + case IDC_GUI_FONT: + misc_gui_font (hDlg, 0); + break; + case IDC_GUI_LISTFONT: + misc_gui_font (hDlg, 1); + break; + case IDC_GUI_RESIZE: + gui_resize = ischecked (hDlg, IDC_GUI_RESIZE); + gui_size_changed = 2; + break; case IDC_ASSOCIATE_ON: for (i = 0; exts[i].ext; i++) exts[i].enabled = 1; @@ -9727,16 +9811,21 @@ static void harddiskdlg_volume_notify (HWND hDlg, NM_LISTVIEW *nmlistview) } } -static void hilitehd (void) +static void hilitehd (HWND hDlg) { int total = ListView_GetItemCount (cachedlist); - if (total <= 0) + if (total <= 0) { + ew (hDlg, IDC_EDIT, FALSE); + ew (hDlg, IDC_REMOVE, FALSE); return; + } if (clicked_entry < 0) clicked_entry = 0; if (clicked_entry >= total) clicked_entry = total; ListView_SetItemState (cachedlist, clicked_entry, LVIS_SELECTED | LVIS_FOCUSED, LVIS_SELECTED | LVIS_FOCUSED); + ew (hDlg, IDC_EDIT, TRUE); + ew (hDlg, IDC_REMOVE, TRUE); } static INT_PTR CALLBACK HarddiskDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam) @@ -9760,7 +9849,7 @@ static INT_PTR CALLBACK HarddiskDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPA addfloppyhistory_2 (hDlg, 0, IDC_CD_TEXT, HISTORY_CD); addcdtype (hDlg, IDC_CD_TYPE); InitializeListView (hDlg); - hilitehd (); + hilitehd (hDlg); break; case WM_MOUSEMOVE: @@ -9774,7 +9863,7 @@ static INT_PTR CALLBACK HarddiskDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPA move_filesys_unitconfig (&workprefs, draggeditems[0], item); InitializeListView (hDlg); clicked_entry = item; - hilitehd (); + hilitehd (hDlg); } xfree (draggeditems); break; @@ -9824,16 +9913,16 @@ static INT_PTR CALLBACK HarddiskDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPA { case 10001: clicked_entry--; - hilitehd (); + hilitehd (hDlg); break; case 10002: clicked_entry++; - hilitehd (); + hilitehd (hDlg); break; default: if (harddiskdlg_button (hDlg, wParam)) { InitializeListView (hDlg); - hilitehd (); + hilitehd (hDlg); } break; } @@ -11696,6 +11785,7 @@ static void init_inputdlg_2 (HWND hDlg) WIN32GUI_LoadUIString (IDS_INPUT_CUSTOMEVENT, tmp1, MAX_DPATH); SendDlgItemMessage (hDlg, IDC_INPUTAMIGA, CB_ADDSTRING, 0, (LPARAM)tmp1); index = 0; af = 0; port = 0; + input_selected_event = -1; if (input_selected_widget >= 0) { inputdevice_get_mapping (input_selected_device, input_selected_widget, NULL, &port, name1, custom1, input_selected_sub_num); cnt = 2; @@ -11714,6 +11804,7 @@ static void init_inputdlg_2 (HWND hDlg) if (index >= 0) { SendDlgItemMessage (hDlg, IDC_INPUTAMIGA, CB_SETCURSEL, index, 0); SendDlgItemMessage (hDlg, IDC_INPUTAMIGACNT, CB_SETCURSEL, input_selected_sub_num, 0); + input_selected_event = index; } } if (input_selected_widget < 0 || workprefs.input_selected_setting == GAMEPORT_INPUT_SETTINGS || port > 0) { @@ -11811,6 +11902,7 @@ static void doinputcustom (HWND hDlg, int newcustom) &flags, NULL, NULL, custom1, input_selected_sub_num); if (_tcslen (custom1) > 0 || newcustom) { if (askinputcustom (hDlg, custom1, sizeof custom1 / sizeof (TCHAR), IDS_SB_CUSTOMEVENT)) { + if (custom1[0]) inputdevice_set_mapping (input_selected_device, input_selected_widget, NULL, custom1, flags, -1, input_selected_sub_num); } @@ -11842,6 +11934,7 @@ static void values_from_inputdlg (HWND hDlg, int inputchange) { int doselect = 0; LRESULT item; + bool iscustom = false; item = SendDlgItemMessage (hDlg, IDC_INPUTAMIGACNT, CB_GETCURSEL, 0, 0L); if (item != CB_ERR && input_selected_sub_num != item) { @@ -11853,7 +11946,7 @@ static void values_from_inputdlg (HWND hDlg, int inputchange) } item = SendDlgItemMessage (hDlg, IDC_INPUTTYPE, CB_GETCURSEL, 0, 0L); - if(item != CB_ERR) { + if (item != CB_ERR) { if (item != workprefs.input_selected_setting) { workprefs.input_selected_setting = (int)item; input_selected_widget = -1; @@ -11864,7 +11957,7 @@ static void values_from_inputdlg (HWND hDlg, int inputchange) } } item = SendDlgItemMessage (hDlg, IDC_INPUTDEVICE, CB_GETCURSEL, 0, 0L); - if(item != CB_ERR) { + if (item != CB_ERR) { if (item != input_selected_device) { input_selected_device = (int)item; input_selected_widget = -1; @@ -11876,22 +11969,26 @@ static void values_from_inputdlg (HWND hDlg, int inputchange) } } item = SendDlgItemMessage (hDlg, IDC_INPUTAMIGA, CB_GETCURSEL, 0, 0L); - if(item != CB_ERR) { + if (item != CB_ERR) { if (item != input_selected_event) { + uae_u64 flags; + TCHAR custom[MAX_DPATH]; input_selected_event = (int)item; doselect = 1; - if (item == 1) { + inputdevice_get_mapping (input_selected_device, input_selected_widget, + &flags, NULL, 0, custom, input_selected_sub_num); + if (item == 1 && custom[0] == 0) { doinputcustom (hDlg, 1); + iscustom = true; } } } if (inputchange && doselect && input_selected_device >= 0 && input_selected_event >= 0) { uae_u64 flags; - bool iscustom = false; TCHAR custom[MAX_DPATH]; - if (eventnames[input_selected_event] && !_tcscmp (inputdevice_get_eventinfo (INPUTEVENT_SPC_CUSTOM_EVENT)->name, eventnames[input_selected_event])) { + if (!iscustom && eventnames[input_selected_event] && !_tcscmp (inputdevice_get_eventinfo (INPUTEVENT_SPC_CUSTOM_EVENT)->name, eventnames[input_selected_event])) { doinputcustom (hDlg, 1); iscustom = true; } @@ -12414,15 +12511,155 @@ static int genericpopupmenu (HWND hwnd, TCHAR **items, int *flags, int num) return item - 1; } +static void qualifierlistview (HWND list) +{ + uae_u64 flags; + int evt; + TCHAR name[256]; + TCHAR custom[MAX_DPATH]; + + evt = inputdevice_get_mapping (input_selected_device, input_selected_widget, + &flags, NULL, name, custom, input_selected_sub_num); + + ListView_DeleteAllItems (list); + + for (int i = 0; i < MAX_INPUT_QUALIFIERS; i++) { + TCHAR tmp[MAX_DPATH]; + getqualifiername (tmp, IDEV_MAPPED_QUALIFIER1 << (i * 2)); + + LV_ITEM lvi = { 0 }; + lvi.mask = LVIF_TEXT | LVIF_PARAM; + lvi.pszText = tmp; + lvi.lParam = 0; + lvi.iItem = i; + lvi.iSubItem = 0; + ListView_InsertItem (list, &lvi); + + _tcscpy (tmp, _T("-")); + if (flags & (IDEV_MAPPED_QUALIFIER1 << (i * 2))) + _tcscpy (tmp, _T("*")); + else if (flags & (IDEV_MAPPED_QUALIFIER1 << (i * 2 + 1))) + _tcscpy (tmp, _T("R")); + + ListView_SetItemText (list, i, 1, tmp); + + } +} + +static INT_PTR CALLBACK QualifierProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam) +{ + static int recursive = 0; + HWND list = GetDlgItem (hDlg, IDC_LISTDIALOG_LIST); + + + switch (msg) + { + case WM_INITDIALOG: + { + recursive++; + + int lvflags = LVS_EX_DOUBLEBUFFER | LVS_EX_ONECLICKACTIVATE | LVS_EX_UNDERLINEHOT | LVS_EX_FULLROWSELECT; + ListView_SetExtendedListViewStyleEx (list, lvflags , lvflags); + + LV_COLUMN lvc = { 0 }; + + lvc.mask = LVCF_FMT | LVCF_TEXT | LVCF_WIDTH | LVCF_SUBITEM; + lvc.iSubItem = 0; + lvc.fmt = LVCFMT_LEFT; + lvc.pszText = _T("Qualifier"); + lvc.cx = 150; + ListView_InsertColumn (list, 0, &lvc); + lvc.mask = LVCF_FMT | LVCF_TEXT | LVCF_WIDTH | LVCF_SUBITEM; + lvc.iSubItem = 1; + lvc.fmt = LVCFMT_LEFT; + lvc.pszText = _T("Selection"); + lvc.cx = 150; + ListView_InsertColumn (list, 1, &lvc); + + + qualifierlistview (list); + + recursive--; + } + return TRUE; + + case WM_NOTIFY: + if (((LPNMHDR) lParam)->idFrom == IDC_LISTDIALOG_LIST) + { + uae_u64 flags; + int evt; + TCHAR name[256]; + TCHAR custom[MAX_DPATH]; + int column, entry; + NM_LISTVIEW *nmlistview = (NM_LISTVIEW *) lParam; + list = nmlistview->hdr.hwndFrom; + switch (nmlistview->hdr.code) + { + case NM_RCLICK: + case NM_CLICK: + entry = listview_entry_from_click (list, &column); + if (entry >= 0) { + uae_u64 mask = IDEV_MAPPED_QUALIFIER1 << (entry * 2); + evt = inputdevice_get_mapping (input_selected_device, input_selected_widget, + &flags, NULL, name, custom, input_selected_sub_num); + if (evt <= 0) + name[0] = 0; + if (flags & mask) { + flags &= ~(mask | (mask << 1)); + flags |= mask << 1; + } else if (flags & (mask << 1)) { + flags &= ~(mask | (mask << 1)); + } else { + flags &= ~(mask | (mask << 1)); + flags |= mask; + } + inputdevice_set_mapping (input_selected_device, input_selected_widget, + name, custom, flags, -1, input_selected_sub_num); + qualifierlistview (list); + } + } + } + break; + case WM_COMMAND: + if (recursive) + break; + recursive++; + + switch(wParam) + { + case IDC_LISTDIALOG_CLEAR: + { + uae_u64 flags; + int evt; + TCHAR name[256]; + TCHAR custom[MAX_DPATH]; + evt = inputdevice_get_mapping (input_selected_device, input_selected_widget, + &flags, NULL, name, custom, input_selected_sub_num); + flags &= ~IDEV_MAPPED_QUALIFIER_MASK; + inputdevice_set_mapping (input_selected_device, input_selected_widget, + name, custom, flags, -1, input_selected_sub_num); + qualifierlistview (list); + break; + } + case IDOK: + EndDialog (hDlg, 1); + break; + case IDCANCEL: + EndDialog (hDlg, 0); + break; + } + recursive--; + break; + } + return FALSE; +} + static void input_qualifiers (HWND hDlg) { uae_u64 flags; - int evt, item; + int evt; TCHAR name[256]; TCHAR custom[MAX_DPATH]; - TCHAR *names[MAX_INPUT_QUALIFIERS * 2]; - int mflags[MAX_INPUT_QUALIFIERS * 2]; - TCHAR tmp[MAX_DPATH]; if (input_selected_device < 0 || input_selected_widget < 0) return; @@ -12431,23 +12668,15 @@ static void input_qualifiers (HWND hDlg) if (evt <= 0) name[0] = 0; - for (int i = 0; i < MAX_INPUT_QUALIFIERS * 2; i++) { - getqualifiername (tmp, IDEV_MAPPED_QUALIFIER1 << i); - mflags[i] = 0; - if (flags & (IDEV_MAPPED_QUALIFIER1 << i)) - mflags[i] = 1; - names[i] = my_strdup (tmp); - } - item = genericpopupmenu (hDlg, names, mflags, MAX_INPUT_QUALIFIERS * 2); + CustomDialogBox (IDD_LIST, hDlg, QualifierProc); +#if 0 + int item = genericpopupmenu (hDlg, names, mflags, MAX_INPUT_QUALIFIERS * 2); if (item >= 0) flags ^= IDEV_MAPPED_QUALIFIER1 << item; inputdevice_set_mapping (input_selected_device, input_selected_widget, name, custom, flags, -1, input_selected_sub_num); - - for (int i = 0; i < MAX_INPUT_QUALIFIERS * 2; i++) { - xfree (names[i]); - } +#endif } static void input_toggletoggle (void) { @@ -12663,6 +12892,7 @@ static void enable_for_hw3ddlg (HWND hDlg) ew (hDlg, IDC_FILTERKEEPASPECT, v); ew (hDlg, IDC_FILTERASPECT, v); ew (hDlg, IDC_FILTERASPECT2, v && workprefs.gfx_filter_keep_aspect); + ew (hDlg, IDC_FILTERKEEPAUTOSCALEASPECT, (workprefs.gfx_filter_autoscale == AUTOSCALE_NORMAL || workprefs.gfx_filter_autoscale == AUTOSCALE_INTEGER_AUTOSCALE)); ew (hDlg, IDC_FILTEROVERLAY, workprefs.gfx_api); ew (hDlg, IDC_FILTEROVERLAYTYPE, workprefs.gfx_api); @@ -12805,6 +13035,7 @@ static void values_to_hw3ddlg (HWND hDlg) (workprefs.gfx_filter_aspect == 16 * 256 + 10) ? 6 : 0, 0); CheckDlgButton (hDlg, IDC_FILTERKEEPASPECT, workprefs.gfx_filter_keep_aspect); + CheckDlgButton (hDlg, IDC_FILTERKEEPAUTOSCALEASPECT, workprefs.gfx_filter_keep_autoscale_aspect != 0); SendDlgItemMessage (hDlg, IDC_FILTERASPECT2, CB_SETCURSEL, workprefs.gfx_filter_keep_aspect, 0); @@ -13293,6 +13524,14 @@ static INT_PTR CALLBACK hw3dDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM updatedisplayarea (); WIN32GFX_WindowMove (); } + case IDC_FILTERKEEPAUTOSCALEASPECT: + { + workprefs.gfx_filter_keep_autoscale_aspect = currprefs.gfx_filter_keep_autoscale_aspect = ischecked (hDlg, IDC_FILTERKEEPAUTOSCALEASPECT) ? 10 : 0; + enable_for_hw3ddlg (hDlg); + values_to_hw3ddlg (hDlg); + updatedisplayarea (); + WIN32GFX_WindowMove (); + } break; default: if (HIWORD (wParam) == CBN_SELCHANGE || HIWORD (wParam) == CBN_KILLFOCUS) { @@ -13981,20 +14220,30 @@ static BOOL CALLBACK childenumproc (HWND hwnd, LPARAM lParam) return 1; } -#define PANEL_X 174 -#define PANEL_Y 12 -#define PANEL_WIDTH 456 -#define PANEL_HEIGHT 396 +static void getguisize (HWND hDlg, int *width, int *height) +{ + RECT r; + + GetClientRect (hDlg, &r); + *width = r.right; + *height = r.bottom; +} static HWND updatePanel (int id) { HWND hDlg = guiDlg; static HWND hwndTT; + static bool first = true; RECT r1c, r1w, r2c, r2w, r3c, r3w; - int w, h, pw, ph, x , y, i; + int w, h, x , y, i, pw, ph; int fullpanel; struct newresource *tres; + if (first) { + first = false; + getguisize (hDlg, &gui_width, &gui_height); + } + if (cachedlist) { if (lv_old_type >= 0) lv_oldidx[lv_old_type] = ListView_GetTopIndex (cachedlist); @@ -14041,16 +14290,19 @@ static HWND updatePanel (int id) return NULL; } - fullpanel = ppage[id].fullpanel; GetWindowRect (GetDlgItem (hDlg, IDC_PANEL_FRAME), &r1w); GetClientRect (GetDlgItem (hDlg, IDC_PANEL_FRAME), &r1c); GetWindowRect (hDlg, &r2w); GetClientRect (hDlg, &r2c); gui_width = r2c.right; gui_height = r2c.bottom; - tres = scaleresource (ppage[id].nres, hDlg); + + fullpanel = ppage[id].fullpanel; + tres = scaleresource (ppage[id].nres, hDlg, -1); panelDlg = CreateDialogIndirectParam (tres->inst, tres->resource, hDlg, ppage[id].dlgproc, id); freescaleresource(tres); + scaleresource_setfont (panelDlg); + GetWindowRect (hDlg, &r3w); GetClientRect (panelDlg, &r3c); x = r1w.left - r2w.left; @@ -14069,6 +14321,7 @@ static HWND updatePanel (int id) SetWindowPos (panelDlg, HWND_TOP, x + (pw - w) / 2, y + (ph - h) / 2, 0, 0, SWP_NOSIZE | SWP_NOOWNERZORDER); } + ShowWindow (GetDlgItem (hDlg, IDC_PANEL_FRAME), SW_HIDE); ShowWindow (GetDlgItem (hDlg, IDC_PANEL_FRAME_OUTER), !fullpanel ? SW_SHOW : SW_HIDE); ShowWindow (GetDlgItem (hDlg, IDC_PANELTREE), !fullpanel ? SW_SHOW : SW_HIDE); @@ -14216,7 +14469,7 @@ static bool dodialogmousemove (void) { if (full_property_sheet || isfullscreen () <= 0) return false; - if (currprefs.gfx_size_fs.width >= 640 && currprefs.gfx_size.height >= 480) + if (currprefs.gfx_size_fs.width >= gui_width && currprefs.gfx_size.height >= gui_height) return false; struct MultiDisplay *mdc = getdisplay (&currprefs); for (int i = 0; Displays[i].monitorid; i++) { @@ -14253,7 +14506,7 @@ static void centerWindow (HWND hDlg) SetForegroundWindow (hDlg); pt1.x = x + 100; pt1.y = y + (GetSystemMetrics (SM_CYMENU) + GetSystemMetrics (SM_CYBORDER)) / 2; - pt2.x = x + 640 - 100; + pt2.x = x + gui_width - 100; pt2.y = pt1.y; if (MonitorFromPoint (pt1, MONITOR_DEFAULTTONULL) == NULL && MonitorFromPoint (pt2, MONITOR_DEFAULTTONULL) == NULL) { if (isfullscreen () > 0) { @@ -14521,9 +14774,40 @@ static INT_PTR CALLBACK DialogProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM l { static int recursive = 0; static int waitfornext; + static int oldwidth, oldheight; switch (msg) { + case WM_SIZING: + { + if (!recursive) { + RECT *r = (RECT*)lParam; + if (r->right - r->left < MIN_GUI_INTERNAL_WIDTH) + r->right = r->left + MIN_GUI_INTERNAL_WIDTH; + if (r->bottom - r->top < MIN_GUI_INTERNAL_HEIGHT) + r->bottom = r->top + MIN_GUI_INTERNAL_HEIGHT; + return FALSE; + } + break; + } + case WM_ENTERSIZEMOVE: + if (!recursive) { + getguisize (hDlg, &oldwidth, &oldheight); + return FALSE; + } + break; + case WM_EXITSIZEMOVE: + if (!recursive) { + int w, h; + getguisize (hDlg, &w, &h); + if (w != oldwidth || h != oldheight) { + gui_width = w; + gui_height = h; + gui_size_changed = 1; + } + return FALSE; + } + break; case WM_DEVICECHANGE: { DEV_BROADCAST_HDR *pBHdr = (DEV_BROADCAST_HDR *)lParam; @@ -14564,6 +14848,7 @@ static INT_PTR CALLBACK DialogProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM l case WM_INITDIALOG: waitfornext = 0; guiDlg = hDlg; + scaleresource_setfont (hDlg); SendMessage (hDlg, WM_SETICON, ICON_SMALL, (LPARAM)LoadIcon (GetModuleHandle (NULL), MAKEINTRESOURCE(IDI_APPICON))); if (full_property_sheet) { TCHAR tmp[100]; @@ -14701,7 +14986,7 @@ INT_PTR CustomDialogBox (int templ, HWND hDlg, DLGPROC proc) res = getresource (templ); if (!res) return h; - r = scaleresource (res, hDlg); + r = scaleresource (res, hDlg, -1); if (r) { h = DialogBoxIndirect (r->inst, r->resource, hDlg, proc); freescaleresource (r); @@ -14720,7 +15005,7 @@ HWND CustomCreateDialog (int templ, HWND hDlg, DLGPROC proc) res = getresource (templ); if (!res) return h; - r = scaleresource (res, hDlg); + r = scaleresource (res, hDlg, -1); if (r) { h = CreateDialogIndirect (r->inst, r->resource, hDlg, proc); freescaleresource (r); @@ -14902,74 +15187,127 @@ static int GetSettings (int all_options, HWND hwnd) currentpage = LOADSAVE_ID; } - if (all_options || !configstore) - CreateConfigStore (NULL, FALSE); - - dialogreturn = -1; - hAccelTable = NULL; - DragAcceptFiles (hwnd, TRUE); - if (first) - write_log (_T("Entering GUI idle loop\n")); - - scaleresource_setmaxsize (800, 600); - tres = scaleresource (panelresource, hwnd); - dhwnd = CreateDialogIndirect (tres->inst, tres->resource, hwnd, DialogProc); - dialog_rect.top = dialog_rect.left = 0; - dialog_rect.right = tres->width; - dialog_rect.bottom = tres->height; - freescaleresource (tres); - psresult = 0; - if (dhwnd != NULL) { - MSG msg; - DWORD v; - - setguititle (dhwnd); - ShowWindow (dhwnd, SW_SHOW); - MapDialogRect (dhwnd, &dialog_rect); + int fmultx = 0, fmulty = 0; + for (;;) { + int v = 0; + gui_width = GUI_INTERNAL_WIDTH * 90 / 100; + gui_height = GUI_INTERNAL_HEIGHT * 90 / 100; + regqueryint (NULL, _T("GUIResize"), &v); + gui_resize = v != 0; + if (full_property_sheet || isfullscreen () == 0) { + regqueryint (NULL, _T("GUISizeX"), &gui_width); + regqueryint (NULL, _T("GUISizeY"), &gui_height); + scaleresource_init (_T("")); + } else if (isfullscreen () < 0) { + regqueryint (NULL, _T("GUISizeFWX"), &gui_width); + regqueryint (NULL, _T("GUISizeFWY"), &gui_height); + scaleresource_init (_T("FW")); + } else if (isfullscreen () > 0) { + regqueryint (NULL, _T("GUISizeFSX"), &gui_width); + regqueryint (NULL, _T("GUISizeFSY"), &gui_height); + scaleresource_init (_T("FS")); + } + if (gui_width < MIN_GUI_INTERNAL_WIDTH) + gui_width = MIN_GUI_INTERNAL_WIDTH; + if (gui_height < MIN_GUI_INTERNAL_HEIGHT) + gui_height = MIN_GUI_INTERNAL_HEIGHT; + + if (all_options || !configstore) + CreateConfigStore (NULL, FALSE); - hGUIWnd = dhwnd; + dialogreturn = -1; + hAccelTable = NULL; + DragAcceptFiles (hwnd, TRUE); + if (first) + write_log (_T("Entering GUI idle loop\n")); - for (;;) { - HANDLE IPChandle; - IPChandle = geteventhandleIPC (globalipc); - if (globalipc && IPChandle != INVALID_HANDLE_VALUE) { - MsgWaitForMultipleObjects (1, &IPChandle, FALSE, INFINITE, QS_ALLINPUT); - while (checkIPC (globalipc, &workprefs)); - } else { - WaitMessage(); - } - dialogmousemove (dhwnd); - while ((v = PeekMessage (&msg, NULL, 0, 0, PM_REMOVE))) { - if (dialogreturn >= 0) - break; - if (v == -1) - continue; - if (!IsWindow (dhwnd)) - continue; - if (hAccelTable && panelDlg && !rawmode) { - if (TranslateAccelerator (panelDlg, hAccelTable, &msg)) - continue; + if (fmultx > 0) + scaleresource_setmult (hwnd, -fmultx, -fmulty); + else + scaleresource_setmult (hwnd, gui_width, gui_height); + tres = scaleresource (panelresource, hwnd, gui_resize); + dhwnd = CreateDialogIndirect (tres->inst, tres->resource, hwnd, DialogProc); + dialog_rect.top = dialog_rect.left = 0; + dialog_rect.right = tres->width; + dialog_rect.bottom = tres->height; + freescaleresource (tres); + psresult = 0; + if (dhwnd != NULL) { + MSG msg; + DWORD v; + + setguititle (dhwnd); + ShowWindow (dhwnd, SW_SHOW); + MapDialogRect (dhwnd, &dialog_rect); + + hGUIWnd = dhwnd; + + for (;;) { + HANDLE IPChandle; + IPChandle = geteventhandleIPC (globalipc); + if (globalipc && IPChandle != INVALID_HANDLE_VALUE) { + MsgWaitForMultipleObjects (1, &IPChandle, FALSE, INFINITE, QS_ALLINPUT); + while (checkIPC (globalipc, &workprefs)); + } else { + WaitMessage(); } - if (rawmode) { - if (msg.message == WM_INPUT) { - handlerawinput (msg.hwnd, msg.message, msg.wParam, msg.lParam); + dialogmousemove (dhwnd); + while ((v = PeekMessage (&msg, NULL, 0, 0, PM_REMOVE))) { + if (dialogreturn >= 0) + break; + if (v == -1) + continue; + if (!IsWindow (dhwnd)) continue; + if (hAccelTable && panelDlg && !rawmode) { + if (TranslateAccelerator (panelDlg, hAccelTable, &msg)) + continue; } - // eat all accelerators - if (msg.message == WM_KEYDOWN || msg.message == WM_MOUSEMOVE || msg.message == WM_MOUSEWHEEL - || msg.message == WM_MOUSEHWHEEL || msg.message == WM_LBUTTONDOWN) + if (rawmode) { + if (msg.message == WM_INPUT) { + handlerawinput (msg.hwnd, msg.message, msg.wParam, msg.lParam); + continue; + } + // eat all accelerators + if (msg.message == WM_KEYDOWN || msg.message == WM_MOUSEMOVE || msg.message == WM_MOUSEWHEEL + || msg.message == WM_MOUSEHWHEEL || msg.message == WM_LBUTTONDOWN) + continue; + } + // IsDialogMessage() eats WM_INPUT messages?!?! + if (!rawmode && IsDialogMessage (dhwnd, &msg)) continue; + TranslateMessage (&msg); + DispatchMessage (&msg); + } + if (dialogreturn >= 0) + break; + if (gui_size_changed > 0 && gui_size_changed < 10) { + if (gui_size_changed == 2) { + scaleresource_getmult (&fmultx, &fmulty); + } else { + fmultx = fmulty = 0; + } + gui_size_changed = 10; + SendMessage (dhwnd, WM_COMMAND, IDCANCEL, 0); } - // IsDialogMessage() eats WM_INPUT messages?!?! - if (!rawmode && IsDialogMessage (dhwnd, &msg)) - continue; - TranslateMessage (&msg); - DispatchMessage (&msg); } - if (dialogreturn >= 0) - break; + psresult = dialogreturn; + } + if (!gui_size_changed) + break; + if (full_property_sheet || isfullscreen () == 0) { + regsetint (NULL, _T("GUISizeX"), gui_width); + regsetint (NULL, _T("GUISizeY"), gui_height); + } else if (isfullscreen () < 0) { + regsetint (NULL, _T("GUISizeFWX"), gui_width); + regsetint (NULL, _T("GUISizeFWY"), gui_height); + } else if (isfullscreen () > 0) { + regsetint (NULL, _T("GUISizeFSX"), gui_width); + regsetint (NULL, _T("GUISizeFSY"), gui_height); } - psresult = dialogreturn; + regsetint (NULL, _T("GUIResize"), gui_resize ? 1 : 0); + gui_size_changed = 0; + quit_program = 0; } hGUIWnd = NULL; diff --git a/od-win32/win32gui.h b/od-win32/win32gui.h index 654ec5bf..7adb5741 100644 --- a/od-win32/win32gui.h +++ b/od-win32/win32gui.h @@ -27,12 +27,21 @@ struct newresource int width, height; }; -extern struct newresource *scaleresource(struct newresource *res, HWND); -extern void freescaleresource(struct newresource*); -extern void scaleresource_setmaxsize(int w, int h); +#define GUI_INTERNAL_WIDTH 800 +#define GUI_INTERNAL_HEIGHT 600 +#define GUI_INTERNAL_FONT 8 + +extern struct newresource *scaleresource (struct newresource *res, HWND, int); +extern void freescaleresource (struct newresource*); +extern void scaleresource_setmult (HWND hDlg, int w, int h); +extern void scaleresource_getmult (int *mx, int *my); extern HWND CustomCreateDialog (int templ, HWND hDlg, DLGPROC proc); extern INT_PTR CustomDialogBox (int templ, HWND hDlg, DLGPROC proc); -extern struct newresource *getresource(int tmpl); -extern struct newresource *resourcefont(struct newresource*, TCHAR *font, int size); +extern struct newresource *getresource (int tmpl); +extern struct newresource *resourcefont (struct newresource*, TCHAR *font, int size); +extern void scaleresource_init (const TCHAR*); +extern int scaleresource_choosefont (HWND hDlg, int fonttype); +extern void scaleresource_setdefaults (void); +extern void scaleresource_setfont (HWND hDlg); #endif diff --git a/od-win32/win32gui_extra.cpp b/od-win32/win32gui_extra.cpp index 8d6a05b8..cfb7b5aa 100644 --- a/od-win32/win32gui_extra.cpp +++ b/od-win32/win32gui_extra.cpp @@ -25,7 +25,23 @@ #include "win32.h" #include "win32gui.h" -static int max_w = 800, max_h = 600, mult = 100, pointsize; +#define MAX_GUI_FONTS 2 +#define DEFAULT_FONTSIZE 8 + +static double multx, multy; + +static TCHAR fontname_gui[32], fontname_list[32]; +static int fontsize_gui = DEFAULT_FONTSIZE; +static int fontsize_list = DEFAULT_FONTSIZE; +static int fontstyle_gui = 0; +static int fontstyle_list = 0; +static int fontweight_gui = FW_REGULAR; +static int fontweight_list = FW_REGULAR; + +static int listviews[16]; +static int listviewcnt; +static HFONT listviewfont; +static const TCHAR *fontprefix; #include typedef struct { @@ -78,6 +94,22 @@ static wchar_t wfont_old[] = _T("MS Sans Serif"); static TCHAR font_vista[] = _T("Segoe UI"); static TCHAR font_xp[] = _T("Tahoma"); +static int align (double f) +{ + int v = (int)(f + 0.5); + return v; +} + +static int mmx (int v) +{ + return align ((v * multx) / 100.0 + 0.5); +} +static int mmy (int v) +{ + return align ((v * multy) / 100.0 + 0.5); +} + + static BYTE *skiptextone (BYTE *s) { s -= sizeof (WCHAR); @@ -110,31 +142,49 @@ static BYTE *todword (BYTE *p) return p; } -static void modifytemplate (DLGTEMPLATEEX *d, DLGTEMPLATEEX_END *d2, int id, int mult) +static void modifytemplate (DLGTEMPLATEEX *d, DLGTEMPLATEEX_END *d2, int id) { - - d->cx = d->cx * mult / 100; - d->cy = d->cy * mult / 100; + d->cx = mmx (d->cx); + d->cy = mmy (d->cy); } static void modifytemplatefont (DLGTEMPLATEEX *d, DLGTEMPLATEEX_END *d2) { - wchar_t *p = NULL; - - if (font_vista_ok) - p = wfont_vista; - else - p = wfont_xp; - if (p && !wcscmp (d2->typeface, wfont_old)) - wcscpy (d2->typeface, p); + if (!wcscmp (d2->typeface, wfont_old)) { + wcscpy (d2->typeface, fontname_gui); + d2->pointsize = fontsize_gui; + d2->italic = (fontstyle_gui & ITALIC_FONTTYPE) != 0; + d2->weight = fontweight_gui; + } } -static void modifyitem (DLGTEMPLATEEX *d, DLGTEMPLATEEX_END *d2, DLGITEMTEMPLATEEX *dt, int id, int mult) +static void modifyitem (DLGTEMPLATEEX *d, DLGTEMPLATEEX_END *d2, DLGITEMTEMPLATEEX *dt, int id) { - dt->cy = dt->cy * mult / 100; - dt->cx = dt->cx * mult / 100; - dt->y = dt->y * mult / 100; - dt->x = dt->x * mult / 100; + bool noyscale = false; + + if (dt->windowClass[0] != 0xffff && (!_tcsicmp (dt->windowClass, WC_LISTVIEWW) || !_tcsicmp (dt->windowClass, WC_TREEVIEWW))) + listviews[listviewcnt++] = dt->id; + + if (multy >= 89 && multy <= 111) { + int wc = 0; + + if (dt->windowClass[0] == 0xffff) + wc = dt->windowClass[1]; + + if (wc == 0x0080 && dt->cy <= 20) // button + noyscale = true; + if (wc == 0x0085) // checkbox + noyscale = true; + if (wc == 0x0081 && dt->cy <= 20) // edit box + noyscale = true; + } + + if (!noyscale) + dt->cy = mmy (dt->cy); + + dt->cx = mmx (dt->cx); + dt->y = mmy (dt->y); + dt->x = mmx (dt->x); } static INT_PTR CALLBACK DummyProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam) @@ -153,7 +203,7 @@ static INT_PTR CALLBACK DummyProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM lP return FALSE; } -struct newresource *scaleresource (struct newresource *res, HWND parent) +struct newresource *scaleresource (struct newresource *res, HWND parent, int resize) { DLGTEMPLATEEX *d; DLGTEMPLATEEX_END *d2; @@ -162,6 +212,8 @@ struct newresource *scaleresource (struct newresource *res, HWND parent) int i; struct newresource *ns; + listviewcnt = 0; + d = (DLGTEMPLATEEX*)res->resource; d2 = (DLGTEMPLATEEX_END*)res->resource; @@ -174,10 +226,19 @@ struct newresource *scaleresource (struct newresource *res, HWND parent) ns->inst = res->inst; ns->size = res->size; ns->tmpl = res->tmpl; - ns->resource = (LPCDLGTEMPLATEW)xmalloc (uae_u8, ns->size); + ns->resource = (LPCDLGTEMPLATEW)xmalloc (uae_u8, ns->size + 32); memcpy ((void*)ns->resource, res->resource, ns->size); d = (DLGTEMPLATEEX*)ns->resource; + + if (resize > 0) { + d->style &= ~DS_MODALFRAME; + d->style |= WS_THICKFRAME; + } else if (resize == 0) { + d->style |= DS_MODALFRAME; + d->style &= ~WS_THICKFRAME; + } + d2 = (DLGTEMPLATEEX_END*)ns->resource; p = (BYTE*)d + sizeof (DLGTEMPLATEEX); p = skiptext (p); @@ -198,11 +259,11 @@ struct newresource *scaleresource (struct newresource *res, HWND parent) if (p != p2) memmove (p, p2, ns->size - (p2 - (BYTE*)ns->resource)); - modifytemplate(d, d2, ns->tmpl, mult); + modifytemplate(d, d2, ns->tmpl); for (i = 0; i < d->cDlgItems; i++) { dt = (DLGITEMTEMPLATEEX*)p; - modifyitem (d, d2, dt, ns->tmpl, mult); + modifyitem (d, d2, dt, ns->tmpl); p += sizeof (DLGITEMTEMPLATEEX); p = skiptextone (p); p = skiptext (p); @@ -222,11 +283,241 @@ void freescaleresource (struct newresource *ns) xfree (ns); } -void scaleresource_setmaxsize (int w, int h) +static void openfont (bool force) +{ + HDC hdc; + int size; + + if (listviewfont && !force) + return; + if (listviewfont) + DeleteObject (listviewfont); + + hdc = GetDC (NULL); + + size = -MulDiv (fontsize_list, GetDeviceCaps (hdc, LOGPIXELSY), 72); + listviewfont = CreateFont (size, 0, 0, 0, fontweight_list, (fontstyle_list & ITALIC_FONTTYPE) != 0, 0, 0, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_DONTCARE, fontname_list); + + ReleaseDC (NULL, hdc); +} + +void scaleresource_setfont (HWND hDlg) +{ + if (!listviewcnt || (!_tcscmp (fontname_gui, fontname_list) && fontsize_gui == fontsize_list && fontstyle_gui == fontstyle_list && fontweight_gui == fontweight_list)) + return; + openfont (false); + if (!listviewfont) + return; + for (int i = 0; i < listviewcnt; i++) { + SendMessage (GetDlgItem (hDlg, listviews[i]), WM_SETFONT, WPARAM(listviewfont), FALSE); + } +} + +static void setdeffont (void) +{ + _tcscpy (fontname_gui, font_vista_ok ? wfont_vista : wfont_xp); + fontsize_gui = DEFAULT_FONTSIZE; + fontstyle_gui = 0; + fontweight_gui = FW_REGULAR; + _tcscpy (fontname_list, font_vista_ok ? wfont_vista : wfont_xp); + fontsize_list = DEFAULT_FONTSIZE; + fontstyle_list = 0; + fontweight_list = FW_REGULAR; +} + +static TCHAR *fontreg[2] = { _T("GUIFont"), _T("GUIListFont") }; + +static void regsetfont (UAEREG *reg, const TCHAR *prefix, const TCHAR *name, const TCHAR *fontname, int fontsize, int fontstyle, int fontweight) +{ + TCHAR tmp[256], tmp2[256]; + + _stprintf (tmp, _T("%s:%d:%d:%d"), fontname, fontsize, fontstyle, fontweight); + _stprintf (tmp2, _T("%s%s"), name, prefix); + regsetstr (reg, tmp2, tmp); +} +static void regqueryfont (UAEREG *reg, const TCHAR *prefix, const TCHAR *name, TCHAR *fontname, int *pfontsize, int *pfontstyle, int *pfontweight) +{ + TCHAR tmp2[256], tmp[256], *p1, *p2, *p3, *p4; + int size; + int fontsize, fontstyle, fontweight; + + _tcscpy (tmp2, name); + _tcscat (tmp2, prefix); + size = sizeof tmp / sizeof (TCHAR); + if (!regquerystr (reg, tmp2, tmp, &size)) + return; + p1 = _tcschr (tmp, ':'); + if (!p1) + return; + *p1++ = 0; + p2 = _tcschr (p1, ':'); + if (!p2) + return; + *p2++ = 0; + p3 = _tcschr (p2, ':'); + if (!p3) + return; + *p3++ = 0; + p4 = _tcschr (p3, ':'); + if (p4) + *p4 = 0; + + _tcscpy (fontname, tmp); + fontsize = _tstoi (p1); + fontstyle = _tstoi (p2); + fontweight = _tstoi (p3); + + if (fontsize == 0) + fontsize = 8; + if (fontsize < 5) + fontsize = 5; + if (fontsize > 20) + fontsize = 20; + *pfontsize = fontsize; + + *pfontstyle = fontstyle; + + *pfontweight = fontweight; +} + +void scaleresource_setdefaults (void) +{ + setdeffont (); + for (int i = 0; i < MAX_GUI_FONTS; i++) { + TCHAR tmp[256]; + _stprintf (tmp, _T("%s%s"), fontreg[i], fontprefix); + regdelete (NULL, tmp); + } + openfont (true); +} + +static int lpx, lpy; + +void scaleresource_init (const TCHAR *prefix) { if (os_vista) font_vista_ok = 1; - max_w = w; - max_h = h; - mult = 100; + + fontprefix = prefix; + + HDC hdc = GetDC (NULL); + lpx = GetDeviceCaps (hdc, LOGPIXELSX); + lpy = GetDeviceCaps (hdc, LOGPIXELSY); + ReleaseDC (NULL, hdc); + + setdeffont (); + + regqueryfont (NULL, fontprefix, fontreg[0], fontname_gui, &fontsize_gui, &fontstyle_gui, &fontweight_gui); + regqueryfont (NULL, fontprefix, fontreg[1], fontname_list, &fontsize_list, &fontstyle_list, &fontweight_list); + + openfont (true); +} + +static void sizefont (HWND hDlg, const TCHAR *name, int size, int style, int weight, int *width, int *height) +{ + /* ARGH!!! */ + + HDC hdc = GetDC (hDlg); + size = -MulDiv (size, lpy, 72); + HFONT font = CreateFont (size, 0, 0, 0, weight, + (style & ITALIC_FONTTYPE) != 0, 0, 0, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_DONTCARE, name); + HFONT hFontOld = (HFONT)SelectObject (hdc, font); + TEXTMETRIC tm; + SIZE fsize; + GetTextMetrics (hdc, &tm); + GetTextExtentPoint32 (hdc, _T("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"), 52, &fsize); + *width = (fsize.cx / 26 + 1) / 2; + *height = MulDiv (tm.tmHeight, 72, lpy); + SelectObject (hdc, hFontOld); + DeleteObject (font); + ReleaseDC (hDlg, hdc); +} + +void scaleresource_setmult (HWND hDlg, int w, int h) +{ + int width, height, width2, height2; + + if (w < 0) { + multx = -w; + multy = -h; + return; + } + + sizefont (hDlg, fontname_gui, fontsize_gui, fontstyle_gui, fontweight_gui, &width, &height); + sizefont (hDlg, wfont_old, 8, REGULAR_FONTTYPE, FW_REGULAR, &width2, &height2); + + h += GetSystemMetrics (SM_CYBORDER) * 2 + GetSystemMetrics (SM_CYCAPTION); + w += GetSystemMetrics (SM_CXSIZEFRAME) * 2; + + multx = (w * width2) * 100.0 / (GUI_INTERNAL_WIDTH * width); + multy = (h * height2) * 100.0 / (GUI_INTERNAL_HEIGHT * height); + + multx = MulDiv (multx, 96, lpx); + multy = MulDiv (multy, 96, lpy); +} + +void scaleresource_getmult (int *mx, int *my) +{ + if (mx) + *mx = (int)(multx + 0.5); + if (my) + *my = (int)(multy + 0.5); +} + + +int scaleresource_choosefont (HWND hDlg, int fonttype) +{ + CHOOSEFONT cf = { 0 }; + LOGFONT lf = { 0 }; + HDC hdc; + TCHAR *fontname[2]; + int *fontsize[2], *fontstyle[2], *fontweight[2]; + int lm; + + fontname[0] = fontname_gui; + fontname[1] = fontname_list; + fontsize[0] = &fontsize_gui; + fontsize[1] = &fontsize_list; + fontstyle[0] = &fontstyle_gui; + fontstyle[1] = &fontstyle_list; + fontweight[0] = &fontweight_gui; + fontweight[1] = &fontweight_list; + + cf.lStructSize = sizeof cf; + cf.hwndOwner = hDlg; + cf.Flags = CF_FORCEFONTEXIST | CF_INITTOLOGFONTSTRUCT | CF_NOSCRIPTSEL | CF_SCREENFONTS; + cf.lpLogFont = &lf; + cf.nFontType = REGULAR_FONTTYPE; + cf.iPointSize = *fontsize[fonttype]; + + hdc = GetDC (NULL); + lm = GetDeviceCaps (hdc, LOGPIXELSY); + + _tcscpy (lf.lfFaceName, fontname[fonttype]); + lf.lfHeight = -MulDiv (*fontsize[fonttype], lm, 72); + lf.lfWeight = *fontweight[fonttype]; + lf.lfItalic = (*fontstyle[fonttype] & ITALIC_FONTTYPE) != 0; + + if (!ChooseFont (&cf)) { + ReleaseDC (NULL, hdc); + return 0; + } + + _tcscpy (fontname[fonttype], lf.lfFaceName); + *fontsize[fonttype] = lf.lfHeight; + *fontsize[fonttype] = -MulDiv (*fontsize[fonttype], 72, GetDeviceCaps (hdc, LOGPIXELSY)); + + *fontstyle[fonttype] = lf.lfItalic ? ITALIC_FONTTYPE : 0; + + *fontweight[fonttype] = lf.lfWeight; + + ReleaseDC (NULL, hdc); + + regsetfont (NULL, fontprefix, fontreg[fonttype], fontname[fonttype], *fontsize[fonttype], *fontstyle[fonttype], *fontweight[fonttype]); + + openfont (true); + + + return 1; } + diff --git a/od-win32/winuae_msvc10/winuae_msvc.sln b/od-win32/winuae_msvc10/winuae_msvc.sln index 6c33be6f..d54f5bc5 100644 --- a/od-win32/winuae_msvc10/winuae_msvc.sln +++ b/od-win32/winuae_msvc10/winuae_msvc.sln @@ -113,7 +113,6 @@ Global {38FAC3FB-A2B7-453F-8A6A-73B97201BB04}.Release|Win32.ActiveCfg = Release|Win32 {38FAC3FB-A2B7-453F-8A6A-73B97201BB04}.Release|x64.ActiveCfg = Release|Win32 {6181E50C-5F32-42DC-BEF6-827AA8A5429D}.Debug|Win32.ActiveCfg = Debug|Win32 - {6181E50C-5F32-42DC-BEF6-827AA8A5429D}.Debug|Win32.Build.0 = Debug|Win32 {6181E50C-5F32-42DC-BEF6-827AA8A5429D}.Debug|x64.ActiveCfg = Debug|Win32 {6181E50C-5F32-42DC-BEF6-827AA8A5429D}.FullRelease|Win32.ActiveCfg = Release|Win32 {6181E50C-5F32-42DC-BEF6-827AA8A5429D}.FullRelease|x64.ActiveCfg = Release|Win32 diff --git a/od-win32/winuae_msvc11/winuae.idc b/od-win32/winuae_msvc11/winuae.idc new file mode 100644 index 00000000..428a2ec7 --- /dev/null +++ b/od-win32/winuae_msvc11/winuae.idc @@ -0,0 +1 @@ + diff --git a/od-win32/winuae_msvc11/winuae_msvc.sln b/od-win32/winuae_msvc11/winuae_msvc.sln new file mode 100644 index 00000000..6c33be6f --- /dev/null +++ b/od-win32/winuae_msvc11/winuae_msvc.sln @@ -0,0 +1,144 @@ +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "winuae", "winuae_msvc.vcxproj", "{4ADAA943-1AC8-4FB5-82E5-4FB753B6C2DA}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gencpu", "..\gencpu_msvc\gencpu_msvc.vcxproj", "{DEF7ACF7-050E-4069-BB99-5B5D93F60521}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gencomp", "..\gencomp_msvc\gencomp_msvc.vcxproj", "{54197DFF-9CAA-4A9F-B9C2-2881EA04EACB}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "genblitter", "..\genblitter_msvc\genblitter_msvc.vcxproj", "{765B0AF0-B8D3-4998-89AF-D6F939E1CD18}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "build68k", "..\build68k_msvc\build68k_msvc.vcxproj", "{AF3DBBDE-E006-4DC3-9A26-CB0D7D82AE3C}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "singlefilehelper", "..\singlefilehelper\singlefilehelper.vcxproj", "{DAF2EB1A-546A-41B3-9755-187562C01E3C}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "resourcedll", "..\resourcedll\resourcedll.vcxproj", "{C85288FB-A035-42CA-B5FB-8E6214319E97}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fdrawcmd", "..\fdrawcmd\fdrawcmd.vcxproj", "{960E83B5-9118-4EBD-AF50-18EFC1DC764B}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ipctester", "..\ipctester\ipctester.vcxproj", "{79BDABE6-5308-4D64-8884-A5A35909D8D3}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "genlinetoscr", "..\genlinetoscr_msvc\genlinetoscr_msvc.vcxproj", "{E9F73E11-A463-45C6-A733-2BED75852BA1}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "decompress", "..\decompress\decompress.vcxproj", "{38FAC3FB-A2B7-453F-8A6A-73B97201BB04}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "uaeunp", "..\uaeunp\uaeunp.vcxproj", "{6181E50C-5F32-42DC-BEF6-827AA8A5429D}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "consolewrapper", "..\consolewrapper\consolewrapper.vcxproj", "{2C44DD04-F5D6-4CC3-B0D6-1F4E51A0D962}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "prowizard", "..\prowizard\prowizard.vcxproj", "{8627DA33-98D1-4F60-B404-ECCEE0EE7BF9}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "unpackers", "..\unpackers\unpackers.vcxproj", "{98BA115B-829F-4085-9729-ABD0D779A60A}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Debug|x64 = Debug|x64 + FullRelease|Win32 = FullRelease|Win32 + FullRelease|x64 = FullRelease|x64 + Release|Win32 = Release|Win32 + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {4ADAA943-1AC8-4FB5-82E5-4FB753B6C2DA}.Debug|Win32.ActiveCfg = Debug|Win32 + {4ADAA943-1AC8-4FB5-82E5-4FB753B6C2DA}.Debug|Win32.Build.0 = Debug|Win32 + {4ADAA943-1AC8-4FB5-82E5-4FB753B6C2DA}.Debug|x64.ActiveCfg = Debug|x64 + {4ADAA943-1AC8-4FB5-82E5-4FB753B6C2DA}.Debug|x64.Build.0 = Debug|x64 + {4ADAA943-1AC8-4FB5-82E5-4FB753B6C2DA}.FullRelease|Win32.ActiveCfg = FullRelease|Win32 + {4ADAA943-1AC8-4FB5-82E5-4FB753B6C2DA}.FullRelease|Win32.Build.0 = FullRelease|Win32 + {4ADAA943-1AC8-4FB5-82E5-4FB753B6C2DA}.FullRelease|x64.ActiveCfg = FullRelease|x64 + {4ADAA943-1AC8-4FB5-82E5-4FB753B6C2DA}.FullRelease|x64.Build.0 = FullRelease|x64 + {4ADAA943-1AC8-4FB5-82E5-4FB753B6C2DA}.Release|Win32.ActiveCfg = Release|Win32 + {4ADAA943-1AC8-4FB5-82E5-4FB753B6C2DA}.Release|Win32.Build.0 = Release|Win32 + {4ADAA943-1AC8-4FB5-82E5-4FB753B6C2DA}.Release|x64.ActiveCfg = Release|x64 + {4ADAA943-1AC8-4FB5-82E5-4FB753B6C2DA}.Release|x64.Build.0 = Release|x64 + {DEF7ACF7-050E-4069-BB99-5B5D93F60521}.Debug|Win32.ActiveCfg = Debug|Win32 + {DEF7ACF7-050E-4069-BB99-5B5D93F60521}.Debug|x64.ActiveCfg = Debug|Win32 + {DEF7ACF7-050E-4069-BB99-5B5D93F60521}.FullRelease|Win32.ActiveCfg = FullRelease|Win32 + {DEF7ACF7-050E-4069-BB99-5B5D93F60521}.FullRelease|x64.ActiveCfg = FullRelease|Win32 + {DEF7ACF7-050E-4069-BB99-5B5D93F60521}.Release|Win32.ActiveCfg = Release|Win32 + {DEF7ACF7-050E-4069-BB99-5B5D93F60521}.Release|x64.ActiveCfg = Release|Win32 + {54197DFF-9CAA-4A9F-B9C2-2881EA04EACB}.Debug|Win32.ActiveCfg = Debug|Win32 + {54197DFF-9CAA-4A9F-B9C2-2881EA04EACB}.Debug|x64.ActiveCfg = Debug|Win32 + {54197DFF-9CAA-4A9F-B9C2-2881EA04EACB}.FullRelease|Win32.ActiveCfg = FullRelease|Win32 + {54197DFF-9CAA-4A9F-B9C2-2881EA04EACB}.FullRelease|x64.ActiveCfg = FullRelease|Win32 + {54197DFF-9CAA-4A9F-B9C2-2881EA04EACB}.Release|Win32.ActiveCfg = Release|Win32 + {54197DFF-9CAA-4A9F-B9C2-2881EA04EACB}.Release|x64.ActiveCfg = Release|Win32 + {765B0AF0-B8D3-4998-89AF-D6F939E1CD18}.Debug|Win32.ActiveCfg = Debug|Win32 + {765B0AF0-B8D3-4998-89AF-D6F939E1CD18}.Debug|x64.ActiveCfg = Debug|Win32 + {765B0AF0-B8D3-4998-89AF-D6F939E1CD18}.FullRelease|Win32.ActiveCfg = FullRelease|Win32 + {765B0AF0-B8D3-4998-89AF-D6F939E1CD18}.FullRelease|x64.ActiveCfg = FullRelease|Win32 + {765B0AF0-B8D3-4998-89AF-D6F939E1CD18}.Release|Win32.ActiveCfg = Release|Win32 + {765B0AF0-B8D3-4998-89AF-D6F939E1CD18}.Release|x64.ActiveCfg = Release|Win32 + {AF3DBBDE-E006-4DC3-9A26-CB0D7D82AE3C}.Debug|Win32.ActiveCfg = Debug|Win32 + {AF3DBBDE-E006-4DC3-9A26-CB0D7D82AE3C}.Debug|x64.ActiveCfg = Debug|Win32 + {AF3DBBDE-E006-4DC3-9A26-CB0D7D82AE3C}.FullRelease|Win32.ActiveCfg = FullRelease|Win32 + {AF3DBBDE-E006-4DC3-9A26-CB0D7D82AE3C}.FullRelease|x64.ActiveCfg = FullRelease|Win32 + {AF3DBBDE-E006-4DC3-9A26-CB0D7D82AE3C}.Release|Win32.ActiveCfg = Release|Win32 + {AF3DBBDE-E006-4DC3-9A26-CB0D7D82AE3C}.Release|x64.ActiveCfg = Release|Win32 + {DAF2EB1A-546A-41B3-9755-187562C01E3C}.Debug|Win32.ActiveCfg = Debug|Win32 + {DAF2EB1A-546A-41B3-9755-187562C01E3C}.Debug|x64.ActiveCfg = Debug|Win32 + {DAF2EB1A-546A-41B3-9755-187562C01E3C}.FullRelease|Win32.ActiveCfg = FullRelease|Win32 + {DAF2EB1A-546A-41B3-9755-187562C01E3C}.FullRelease|x64.ActiveCfg = FullRelease|Win32 + {DAF2EB1A-546A-41B3-9755-187562C01E3C}.Release|Win32.ActiveCfg = Release|Win32 + {DAF2EB1A-546A-41B3-9755-187562C01E3C}.Release|x64.ActiveCfg = Release|Win32 + {C85288FB-A035-42CA-B5FB-8E6214319E97}.Debug|Win32.ActiveCfg = Debug|Win32 + {C85288FB-A035-42CA-B5FB-8E6214319E97}.Debug|x64.ActiveCfg = Debug|Win32 + {C85288FB-A035-42CA-B5FB-8E6214319E97}.FullRelease|Win32.ActiveCfg = FullRelease|Win32 + {C85288FB-A035-42CA-B5FB-8E6214319E97}.FullRelease|x64.ActiveCfg = FullRelease|Win32 + {C85288FB-A035-42CA-B5FB-8E6214319E97}.Release|Win32.ActiveCfg = Release|Win32 + {C85288FB-A035-42CA-B5FB-8E6214319E97}.Release|x64.ActiveCfg = Release|Win32 + {960E83B5-9118-4EBD-AF50-18EFC1DC764B}.Debug|Win32.ActiveCfg = Debug|Win32 + {960E83B5-9118-4EBD-AF50-18EFC1DC764B}.Debug|x64.ActiveCfg = Debug|Win32 + {960E83B5-9118-4EBD-AF50-18EFC1DC764B}.FullRelease|Win32.ActiveCfg = FullRelease|Win32 + {960E83B5-9118-4EBD-AF50-18EFC1DC764B}.FullRelease|x64.ActiveCfg = FullRelease|Win32 + {960E83B5-9118-4EBD-AF50-18EFC1DC764B}.Release|Win32.ActiveCfg = Release|Win32 + {960E83B5-9118-4EBD-AF50-18EFC1DC764B}.Release|x64.ActiveCfg = Release|Win32 + {79BDABE6-5308-4D64-8884-A5A35909D8D3}.Debug|Win32.ActiveCfg = Debug|Win32 + {79BDABE6-5308-4D64-8884-A5A35909D8D3}.Debug|x64.ActiveCfg = Debug|Win32 + {79BDABE6-5308-4D64-8884-A5A35909D8D3}.FullRelease|Win32.ActiveCfg = FullRelease|Win32 + {79BDABE6-5308-4D64-8884-A5A35909D8D3}.FullRelease|x64.ActiveCfg = FullRelease|Win32 + {79BDABE6-5308-4D64-8884-A5A35909D8D3}.Release|Win32.ActiveCfg = Release|Win32 + {79BDABE6-5308-4D64-8884-A5A35909D8D3}.Release|x64.ActiveCfg = Release|Win32 + {E9F73E11-A463-45C6-A733-2BED75852BA1}.Debug|Win32.ActiveCfg = Debug|Win32 + {E9F73E11-A463-45C6-A733-2BED75852BA1}.Debug|x64.ActiveCfg = Debug|Win32 + {E9F73E11-A463-45C6-A733-2BED75852BA1}.FullRelease|Win32.ActiveCfg = FullRelease|Win32 + {E9F73E11-A463-45C6-A733-2BED75852BA1}.FullRelease|x64.ActiveCfg = FullRelease|Win32 + {E9F73E11-A463-45C6-A733-2BED75852BA1}.Release|Win32.ActiveCfg = Release|Win32 + {E9F73E11-A463-45C6-A733-2BED75852BA1}.Release|x64.ActiveCfg = Release|Win32 + {38FAC3FB-A2B7-453F-8A6A-73B97201BB04}.Debug|Win32.ActiveCfg = Debug|Win32 + {38FAC3FB-A2B7-453F-8A6A-73B97201BB04}.Debug|x64.ActiveCfg = Debug|Win32 + {38FAC3FB-A2B7-453F-8A6A-73B97201BB04}.FullRelease|Win32.ActiveCfg = Release|Win32 + {38FAC3FB-A2B7-453F-8A6A-73B97201BB04}.FullRelease|x64.ActiveCfg = Release|Win32 + {38FAC3FB-A2B7-453F-8A6A-73B97201BB04}.Release|Win32.ActiveCfg = Release|Win32 + {38FAC3FB-A2B7-453F-8A6A-73B97201BB04}.Release|x64.ActiveCfg = Release|Win32 + {6181E50C-5F32-42DC-BEF6-827AA8A5429D}.Debug|Win32.ActiveCfg = Debug|Win32 + {6181E50C-5F32-42DC-BEF6-827AA8A5429D}.Debug|Win32.Build.0 = Debug|Win32 + {6181E50C-5F32-42DC-BEF6-827AA8A5429D}.Debug|x64.ActiveCfg = Debug|Win32 + {6181E50C-5F32-42DC-BEF6-827AA8A5429D}.FullRelease|Win32.ActiveCfg = Release|Win32 + {6181E50C-5F32-42DC-BEF6-827AA8A5429D}.FullRelease|x64.ActiveCfg = Release|Win32 + {6181E50C-5F32-42DC-BEF6-827AA8A5429D}.Release|Win32.ActiveCfg = Release|Win32 + {6181E50C-5F32-42DC-BEF6-827AA8A5429D}.Release|x64.ActiveCfg = Release|Win32 + {2C44DD04-F5D6-4CC3-B0D6-1F4E51A0D962}.Debug|Win32.ActiveCfg = Debug|Win32 + {2C44DD04-F5D6-4CC3-B0D6-1F4E51A0D962}.Debug|x64.ActiveCfg = Debug|Win32 + {2C44DD04-F5D6-4CC3-B0D6-1F4E51A0D962}.FullRelease|Win32.ActiveCfg = Release|Win32 + {2C44DD04-F5D6-4CC3-B0D6-1F4E51A0D962}.FullRelease|x64.ActiveCfg = Release|Win32 + {2C44DD04-F5D6-4CC3-B0D6-1F4E51A0D962}.Release|Win32.ActiveCfg = Release|Win32 + {2C44DD04-F5D6-4CC3-B0D6-1F4E51A0D962}.Release|x64.ActiveCfg = Release|x64 + {8627DA33-98D1-4F60-B404-ECCEE0EE7BF9}.Debug|Win32.ActiveCfg = Debug|Win32 + {8627DA33-98D1-4F60-B404-ECCEE0EE7BF9}.Debug|x64.ActiveCfg = Debug|Win32 + {8627DA33-98D1-4F60-B404-ECCEE0EE7BF9}.FullRelease|Win32.ActiveCfg = Release|Win32 + {8627DA33-98D1-4F60-B404-ECCEE0EE7BF9}.FullRelease|x64.ActiveCfg = Release|Win32 + {8627DA33-98D1-4F60-B404-ECCEE0EE7BF9}.Release|Win32.ActiveCfg = Release|Win32 + {8627DA33-98D1-4F60-B404-ECCEE0EE7BF9}.Release|x64.ActiveCfg = Release|x64 + {98BA115B-829F-4085-9729-ABD0D779A60A}.Debug|Win32.ActiveCfg = Debug|Win32 + {98BA115B-829F-4085-9729-ABD0D779A60A}.Debug|x64.ActiveCfg = Debug|Win32 + {98BA115B-829F-4085-9729-ABD0D779A60A}.FullRelease|Win32.ActiveCfg = Release|Win32 + {98BA115B-829F-4085-9729-ABD0D779A60A}.FullRelease|x64.ActiveCfg = Release|Win32 + {98BA115B-829F-4085-9729-ABD0D779A60A}.Release|Win32.ActiveCfg = Release|Win32 + {98BA115B-829F-4085-9729-ABD0D779A60A}.Release|x64.ActiveCfg = Release|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/od-win32/winuae_msvc11/winuae_msvc.vcxproj b/od-win32/winuae_msvc11/winuae_msvc.vcxproj new file mode 100644 index 00000000..eafbbf71 --- /dev/null +++ b/od-win32/winuae_msvc11/winuae_msvc.vcxproj @@ -0,0 +1,791 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + FullRelease + Win32 + + + FullRelease + x64 + + + Release + Win32 + + + Release + x64 + + + + winuae + {4ADAA943-1AC8-4FB5-82E5-4FB753B6C2DA} + winuae + + + + Application + false + Unicode + true + v110 + + + Application + false + Unicode + v110 + + + Application + false + Unicode + v110 + + + Application + false + Unicode + true + v110 + + + Application + false + Unicode + v110 + + + Application + false + Unicode + v110 + + + + + + + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30128.1 + d:\amiga\ + $(Configuration)\ + true + true + d:\amiga\ + $(Platform)\$(Configuration)\ + true + true + d:\amiga\ + $(Configuration)\ + false + d:\amiga\ + $(Platform)\$(Configuration)\ + false + true + d:\amiga\ + $(Configuration)\ + false + true + d:\amiga\ + $(Platform)\$(Configuration)\ + false + true + winuae64 + winuae64 + winuae64 + C:\Program Files %28x86%29\Microsoft DirectX SDK %28June 2010%29\Include;C:\dev\include;$(IncludePath) + C:\Program Files %28x86%29\Microsoft DirectX SDK %28June 2010%29\Lib\x86;C:\dev\lib;C:\dev\WinDDK\7600.16385.1\lib\win7\i386;$(LibraryPath) + C:\Program Files %28x86%29\Microsoft DirectX SDK %28June 2010%29\Lib\x86;C:\dev\lib;C:\dev\WinDDK\7600.16385.1\lib\win7\i386;$(LibraryPath) + C:\Program Files %28x86%29\Microsoft DirectX SDK %28June 2010%29\Include;C:\dev\include;$(IncludePath) + C:\Program Files %28x86%29\Microsoft DirectX SDK %28June 2010%29\Include;C:\dev\include;$(IncludePath) + $(ReferencePath) + C:\Program Files %28x86%29\Microsoft DirectX SDK %28June 2010%29\Lib\x86;C:\dev\lib;$(LibraryPath) + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Debug/winuae_msvc.tlb + + + %(AdditionalOptions) + Disabled + ..\..\include;..\..;..\;..\resources;..\osdep;..\sounddep;..\..\prowizard\include;..\tun;%(AdditionalIncludeDirectories) + WINVER=0x0500;_DEBUG;WIN32_IE=0x0700;WIN32;_CRT_SECURE_NO_WARNINGS;D3D_DEBUG_INFO;%(PreprocessorDefinitions) + false + false + false + Sync + EnableFastChecks + MultiThreadedDebug + true + false + .\Debug/winuae_msvc.pch + .\Debug/ + .\Debug/ + .\Debug/ + Level3 + true + EditAndContinue + StdCall + Default + 4996;%(DisableSpecificWarnings) + false + false + %(ForcedIncludeFiles) + true + Disabled + + + _DEBUG;%(PreprocessorDefinitions) + 0x0409 + + + /MACHINE:I386 %(AdditionalOptions) + ws2_32.lib;ddraw.lib;dxguid.lib;winmm.lib;comctl32.lib;version.lib;msacm32.lib;dsound.lib;dinput8.lib;d3d9.lib;d3dx9d.lib;winio.lib;setupapi.lib;wininet.lib;dxerr.lib;shlwapi.lib;zlibstat.lib;libpng15.lib;lglcd.lib;wpcap.lib;packet.lib;openal32.lib;wintab32.lib;portaudio_x86.lib;vfw32.lib;wtsapi32.lib;enet.lib;prowizard.lib;lzmalib.lib;libFLAC_static.lib;Avrt.lib;hid.lib;%(AdditionalDependencies) + NotSet + $(OutDir)$(TargetName)$(TargetExt) + true + LIBCMT;%(IgnoreSpecificDefaultLibraries) + wpcap.dll;packet.dll;d3dx9_43.dll;openal32.dll;wintab32.dll;portaudio_x86.dll;ws2_32.dll;msacm32.dll;wtsapi32.dll;dsound.dll;ddraw.dll;%(DelayLoadDLLs) + true + .\Debug/winuae.pdb + Windows + 2621440 + 2621440 + true + false + + + %(AdditionalLibraryDirectories);$(SolutionDir)\..\lib\ + + + + + ..\resources\winuae.exe.manifest;%(AdditionalManifestFiles) + + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + X64 + .\Debug/winuae_msvc.tlb + + + %(AdditionalOptions) + Disabled + ..\..\include;..\..;..\;..\resources;..\osdep;..\sounddep;..\..\prowizard\include;..\tun;%(AdditionalIncludeDirectories) + WINVER=0x0500;_DEBUG;WIN32_IE=0x0700;WIN32;WIN64;_CRT_SECURE_NO_WARNINGS;D3D_DEBUG_INFO;%(PreprocessorDefinitions) + Sync + EnableFastChecks + MultiThreadedDebug + true + true + $(Platform)\$(Configuration)\winuae_msvc.pch + $(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + Level3 + true + ProgramDatabase + StdCall + Default + 4996;%(DisableSpecificWarnings) + false + + + _DEBUG;%(PreprocessorDefinitions) + 0x0409 + + + ws2_32.lib;ddraw.lib;dxguid.lib;winmm.lib;comctl32.lib;version.lib;vfw32.lib;msacm32.lib;dsound.lib;dinput8.lib;d3d9.lib;d3dx9.lib;setupapi.lib;wininet.lib;dxerr.lib;shlwapi.lib;zlibstat.lib;portaudio_x64.lib;packet.lib;wpcap.lib;openal32.lib;libpng15.lib;lglcd.lib;wtsapi32.lib;wntab32x.lib;enet_x64.lib;prowizard_x64.lib;lzmalib.lib;libFLAC_static.lib;avrt.lib;hid.lib;%(AdditionalDependencies) + $(OutDir)$(TargetName)$(TargetExt) + true + %(IgnoreSpecificDefaultLibraries) + wpcap.dll;packet.dll;d3dx9_42.dll;openal32.dll;wintab32.dll;portaudio_x64.dll;ws2_32.dll;msacm32.dll;wtsapi32.dll;dsound.dll;avrt.dll;%(DelayLoadDLLs) + true + $(Platform)\$(Configuration)\winuae.pdb + Windows + 2621440 + 2621440 + true + false + + + MachineX64 + %(AdditionalLibraryDirectories);$(SolutionDir)\..\lib\ + + + + + ..\resources\winuae64.exe.manifest;%(AdditionalManifestFiles) + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Release/winuae_msvc.tlb + + + Full + AnySuitable + true + Speed + true + false + ..\..\include;..\..;..\;..\resources;..\osdep;..\sounddep;..\..\prowizard\include;%(AdditionalIncludeDirectories) + WINVER=0x0500;NDEBUG;_WIN32_IE=0x0700;WIN32;%(PreprocessorDefinitions) + true + Sync + Default + MultiThreaded + false + true + NotSet + Precise + false + false + + + .\Release/winuae_msvc.pch + .\Release/ + .\Release/ + .\Release/ + Level3 + true + StdCall + Default + 4996;%(DisableSpecificWarnings) + %(ForcedIncludeFiles) + true + + + NDEBUG;%(PreprocessorDefinitions) + 0x0409 + + + ws2_32.lib;ddraw.lib;dxguid.lib;winmm.lib;comctl32.lib;version.lib;msacm32.lib;dsound.lib;dinput8.lib;d3d9.lib;d3dx9.lib;winio.lib;setupapi.lib;wininet.lib;dxerr.lib;shlwapi.lib;libpng15.lib;lglcd.lib;wpcap.lib;packet.lib;openal32.lib;wintab32.lib;portaudio_x86.lib;vfw32.lib;wtsapi32.lib;enet.lib;lzmalib.lib;prowizard.lib;libFLAC_static.lib;Avrt.lib;hid.lib;zlibstat.lib;%(AdditionalDependencies) + $(OutDir)$(TargetName)$(TargetExt) + true + %(AdditionalLibraryDirectories);$(SolutionDir)\..\lib\ + %(AdditionalManifestDependencies) + %(IgnoreSpecificDefaultLibraries) + wpcap.dll;packet.dll;d3dx9_43.dll;openal32.dll;wintab32.dll;portaudio_x86.dll;ws2_32.dll;msacm32.dll;wtsapi32.dll;dsound.dll;wininet.dll;avrt.dll;ddraw.dll;%(DelayLoadDLLs) + true + .\Release/winuae.pdb + Windows + 2621440 + 2621440 + true + true + true + + + true + false + true + MachineX86 + + + false + + + ..\resources\winuae.exe.manifest;%(AdditionalManifestFiles) + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + X64 + .\Release/winuae_msvc.tlb + + + Full + OnlyExplicitInline + true + Speed + true + false + ..\..\include;..\..;..\;..\resources;..\osdep;..\sounddep;%(AdditionalIncludeDirectories) + WINVER=0x0500;NDEBUG;_WIN32_IE=0x0700;WIN32;WIN64;%(PreprocessorDefinitions) + true + Sync + Default + MultiThreaded + false + true + NotSet + Precise + false + false + NotUsing + $(Platform)\$(Configuration)/winuae_msvc.pch + $(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + Level3 + true + StdCall + Default + 4996;%(DisableSpecificWarnings) + %(ForcedIncludeFiles) + true + + + NDEBUG;%(PreprocessorDefinitions) + 0x0409 + + + ws2_32.lib;ddraw.lib;dxguid.lib;winmm.lib;comctl32.lib;version.lib;vfw32.lib;msacm32.lib;dsound.lib;dinput8.lib;d3d9.lib;d3dx9.lib;setupapi.lib;wininet.lib;dxerr.lib;shlwapi.lib;zlibstat.lib;portaudio_x64.lib;packet.lib;wpcap.lib;openal32.lib;libpng15.lib;lglcd.lib;wtsapi32.lib;wntab32x.lib;enet_x64.lib;prowizard_x64.lib;lzmalib.lib;libFLAC_static.lib;avrt.lib;hid.lib;%(AdditionalDependencies) + NotSet + $(OutDir)$(TargetName)$(TargetExt) + true + %(AdditionalLibraryDirectories);$(SolutionDir)\..\lib\ + %(IgnoreSpecificDefaultLibraries) + wpcap.dll;packet.dll;d3dx9_43.dll;openal32.dll;wintab32.dll;portaudio_x64.dll;ws2_32.dll;msacm32.dll;wtsapi32.dll;dsound.dll;avrt.dll;%(DelayLoadDLLs) + true + $(Platform)\$(Configuration)\winuae.pdb + Windows + 0 + 0 + true + true + + + true + false + true + MachineX64 + + + ..\resources\winuae64.exe.manifest;%(AdditionalManifestFiles) + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Release/winuae_msvc.tlb + + + Full + AnySuitable + true + Speed + true + true + ..\..\include;..\..;..\;..\resources;..\osdep;..\sounddep;..\..\prowizard\include;%(AdditionalIncludeDirectories) + WINVER=0x0500;NDEBUG;_WIN32_IE=0x0700;WIN32;%(PreprocessorDefinitions) + true + Sync + Default + MultiThreaded + false + true + NotSet + Precise + false + false + + + .\FullRelease/winuae_msvc.pch + .\FullRelease/ + .\FullRelease/ + .\FullRelease/ + Level3 + true + StdCall + Default + 4996;%(DisableSpecificWarnings) + %(ForcedIncludeFiles) + true + + + NDEBUG;%(PreprocessorDefinitions) + 0x0409 + + + ws2_32.lib;ddraw.lib;dxguid.lib;winmm.lib;comctl32.lib;version.lib;msacm32.lib;dsound.lib;dinput8.lib;d3d9.lib;d3dx9.lib;winio.lib;setupapi.lib;wininet.lib;dxerr.lib;shlwapi.lib;zlibstat.lib;libpng15.lib;lglcd.lib;wpcap.lib;packet.lib;openal32.lib;wintab32.lib;portaudio_x86.lib;vfw32.lib;wtsapi32.lib;avrt.lib;enet.lib;prowizard.lib;lzmalib.lib;libFLAC_static.lib;Avrt.lib;hid.lib;%(AdditionalDependencies) + $(OutDir)$(TargetName)$(TargetExt) + true + %(AdditionalLibraryDirectories);$(SolutionDir)\..\lib\ + %(AdditionalManifestDependencies) + %(IgnoreSpecificDefaultLibraries) + wpcap.dll;packet.dll;d3dx9_43.dll;openal32.dll;wintab32.dll;portaudio_x86.dll;ws2_32.dll;msacm32.dll;wtsapi32.dll;dsound.dll;wininet.dll;avrt.dll;ddraw.dll;%(DelayLoadDLLs) + true + .\FullRelease/winuae.pdb + Windows + 2621440 + 2621440 + true + true + true + UseLinkTimeCodeGeneration + true + false + true + MachineX86 + + + false + + + ..\resources\winuae9.exe.manifest;%(AdditionalManifestFiles) + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + X64 + .\Release/winuae_msvc.tlb + + + Full + AnySuitable + true + Speed + true + true + ..\..\include;..\..;..\;..\resources;..\osdep;..\sounddep;%(AdditionalIncludeDirectories) + WINVER=0x0500;NDEBUG;_WIN32_IE=0x0700;WIN32;WIN64;%(PreprocessorDefinitions) + true + Sync + Default + MultiThreaded + false + true + NotSet + Precise + false + false + + + $(Platform)\$(Configuration)\winuae_msvc.pch + $(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + Level3 + true + StdCall + Default + 4996;%(DisableSpecificWarnings) + %(ForcedIncludeFiles) + true + + + NDEBUG;%(PreprocessorDefinitions) + 0x0409 + + + ws2_32.lib;ddraw.lib;dxguid.lib;winmm.lib;comctl32.lib;version.lib;vfw32.lib;msacm32.lib;dsound.lib;dinput8.lib;d3d9.lib;d3dx9.lib;setupapi.lib;wininet.lib;dxerr.lib;shlwapi.lib;zlibstat.lib;portaudio_x64.lib;packet.lib;wpcap.lib;openal32.lib;libpng15.lib;lglcd.lib;wtsapi32.lib;wntab32x.lib;enet_x64.lib;prowizard_x64.lib;lzmalib.lib;libFLAC_static.lib;avrt.lib;hid.lib;%(AdditionalDependencies) + NotSet + $(OutDir)$(TargetName)$(TargetExt) + true + %(AdditionalLibraryDirectories);$(SolutionDir)\..\lib\ + %(IgnoreSpecificDefaultLibraries) + wpcap.dll;packet.dll;d3dx9_43.dll;openal32.dll;wintab32.dll;portaudio_x64.dll;ws2_32.dll;msacm32.dll;wtsapi32.dll;dsound.dll;avrt.dll;%(DelayLoadDLLs) + true + $(Platform)\$(Configuration)\winuae.pdb + Windows + 0 + 0 + true + true + UseLinkTimeCodeGeneration + true + false + true + MachineX64 + + + ..\resources\winuae64.exe.manifest;%(AdditionalManifestFiles) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \projects\winuae\src\od-win32\resources + \projects\winuae\src\od-win32\resources + \projects\winuae\src\od-win32\resources + \projects\winuae\src\od-win32\resources + \projects\winuae\src\od-win32\resources + \projects\winuae\src\od-win32\resources + + + + + true + true + true + Document + + + true + true + true + Document + + + true + true + true + Document + + + true + true + true + Document + + + true + true + true + Document + + + true + true + true + Document + + + + + + \ No newline at end of file diff --git a/od-win32/winuae_msvc11/winuae_msvc.vcxproj.filters b/od-win32/winuae_msvc11/winuae_msvc.vcxproj.filters new file mode 100644 index 00000000..3418b03e --- /dev/null +++ b/od-win32/winuae_msvc11/winuae_msvc.vcxproj.filters @@ -0,0 +1,626 @@ + + + + + {86cfeeb5-a9b0-4c06-bd94-69c258884a66} + cpp;c;cxx;rc;def;r;odl;idl;hpj;bat + + + {5c4c971a-37b6-4c1e-82f1-d225ebb12808} + ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe + + + {c0e78831-47fa-48a0-a34e-8c3c4410c34b} + cpp;c;cxx;rc;def;r;odl;idl;hpj;bat + + + {e76a708a-933c-4af4-bad2-0820d79b6a78} + cpp;c;cxx;rc;def;r;odl;idl;hpj;bat + + + {dab2f6c7-d741-4002-b0c9-566a1536642a} + + + {a88602d5-1980-49b2-a87a-79afa3ca7346} + + + {6b855260-58da-4be4-b914-621ca2e33ca5} + + + {1af2c9da-63ab-4226-8b97-5544a0a34433} + + + {99d2fcb7-e014-45fe-a543-4a9b9242a35b} + + + {d2f2439b-d15d-47d5-bb26-1a9436aef770} + + + {d69b4a6c-84db-480b-8b80-60a2a3646f6e} + + + {93fcf20a-8921-43e8-b4b9-e5fceb81332d} + + + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + win32 + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + common + + + jit + + + jit + + + jit + + + jit + + + prowizard + + + win32 + + + unpackers\dms + + + unpackers\dms + + + unpackers\dms + + + unpackers\dms + + + unpackers\dms + + + unpackers\dms + + + unpackers\dms + + + unpackers\dms + + + unpackers\dms + + + unpackers\dms + + + unpackers\dms + + + unpackers\lha + + + unpackers\lha + + + unpackers\lha + + + unpackers\lha + + + unpackers\lha + + + unpackers\lha + + + unpackers\lha + + + unpackers\lha + + + unpackers\lha + + + unpackers\lha + + + unpackers\lha + + + unpackers\lzx + + + unpackers\wrp + + + unpackers\zip + + + common + + + win32 + + + win32 + + + common + + + common + + + win32 + + + common + + + common + + + common + + + common + + + common + + + common + + + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + win32\Resource Files + + + + + + + + + + + win32\Resource Files + + + + + + + + + + + \ No newline at end of file diff --git a/od-win32/winuaechangelog.txt b/od-win32/winuaechangelog.txt index 80810f75..c1520fd1 100644 --- a/od-win32/winuaechangelog.txt +++ b/od-win32/winuaechangelog.txt @@ -1,6 +1,52 @@ - restore only single input target to default. +Beta 13: + +- Parallel port audio sampler had very bad quality on some systems. NOTE: Sampler requires exact DirectSound + recording position reporting = not that good results when using some onboard Realteks etc.. + (It can be made better but because this is really pointless feature: pay or buy a better PC) +- Very old statefiles triggered keyboard powerup initialization sequence when restored, caused phantom keypresses. +- Sinc audio interpolation filter clipping fixed. (Was always wrong in UAE, was much more noticeable after b11 audio update) +- Input configuration parser didn't parse custom input event strings correctly if it contained '.' or ',' characters. +- Added experimental (and mostly useless) option that removes DOS reserved name restriction (CON is the most popular because + it is also included with WB disks). Note that this causes some interesting side effects: most Windows programs, including + Explorer, won't be able to open any file if it has DOS reserved name... You don't need this option, UAE has always + mangled illegal names transparently (for example CON becomes something like "__uae__con" on host side) + Configuration file only: win32.filesystem_mangle_reserved_names=false (defaults to true if not set) +- Disable screensaver option didn't work, SetThreadExecutionState() needs to be called periodically, not just once, + function documentation is a bit confusing.. +- When deciding first visible line and programmed mode: select which is largest, VBSTOP or VSSTOP. (SuperPlus) +- Added Keep autoscale aspect ratio checkbox, only sort of working now... +- Map rom region size mirrors ROM size, address automatically moved to 0xe00000 (512k) or 0xa80000 (1M) if 24-bit CPU. +- Remove interlace artifacts option halved size of display horizontally in some programmed screen modes. +- Portaudio sound and sound was deactivated automatically: sound led kept showing buffer underrun state. +- Disable screen updates if monitor enters power saving mode. +- When restoring state file with floppy image(s) missing (files moved etc..), there still was rare possibility that floppy + drive was reported as empty. +- Some more manual BPLxDAT emulation updates, Sequential Magnet part garbage introduced in previous update is gone. +- Color registers were emulated as non-existing instead of write-only in OCS/ECS modes. (I guess only visible difference +- DENISEID is now non-existing if 68000 prefetch or cycle-exact and OCS Denise. (Programs may misdetect if no prefetch emulated, + and now programs, if they even exist, that misdetect it on real OCS A500 will misdetect it on emulation too! :) + will be more colorful display if program crashes or does weird things and starts reading from color registers..) +- Renamed Paths panel "WinUAE defaults"-paths, meaning of selection should make more sense now. +- Better input qualifier GUI, Windows key default qualifier added. +- Slot #5-#8 custom events didn't work correctly. + +- GUI resize and font selection support added (misc panel). It was possible after all, needed only some hacking.. + * Default size is now larger then previously. + * This is a hack, rebuilds classic Windows dialog resources on the fly while adjusting GUI element coordinates and size. + * GUI size after resizing may not be exactly what you expected. + * Windows always closes and reopens after resize. It is also normal, can be improved, later if ever.. + * Window/Fullwindow/Fullscreen have separate position, size and font settings. + * Less than 80% size not officially supported, overlapping and clipping is normal. Select smaller font. + * Possible future improvements: more preset sizes, some kind of autofit in smaller fullscreen modes. + * I hope GUI now appears to be more modern than it actually is :) + +- Version bumped to 2.5.0. + +Beta 12: + - Moved cycle-exact option to Chipset group in GUI. Other options are minor options/hacks, CE is not. - Do not enable wait for blit if immediate blitter is enabled in quickstart mode. - Added RTG hardware sprite (mouse cursor) enable/disable option. Enabled by default if D3D mode. Was always enabled diff --git a/sampler.cpp b/sampler.cpp index c08e9c30..273fbac4 100644 --- a/sampler.cpp +++ b/sampler.cpp @@ -31,7 +31,7 @@ static int sampleframes; static int recordbufferframes; static float clockspersample; static int vsynccnt; -static int safepos; +static int safediff; float sampler_evtime; static int capture_init (void) @@ -115,7 +115,6 @@ uae_u8 sampler_getsample (int channel) #endif static double doffset_offset; HRESULT hr; - DWORD pos; DWORD t; void *p1, *p2; DWORD len1, len2; @@ -128,6 +127,7 @@ uae_u8 sampler_getsample (int channel) channel = 0; if (!inited) { + DWORD pos; if (!capture_init ()) { capture_free (); return 0; @@ -136,6 +136,18 @@ uae_u8 sampler_getsample (int channel) oldcycles = get_cycles (); oldoffset = -1; doffset_offset = 0; + hr = lpDSB2r->GetCurrentPosition (&t, &pos); + if (FAILED (hr)) { + sampler_free (); + return 0; + } + if (t >= pos) + safediff = t - pos; + else + safediff = recordbufferframes * SAMPLESIZE - pos + t; + write_log (_T("SAMPLER: safediff %d %d\n"), safediff, safediff + sampleframes * SAMPLESIZE); + safediff += 4 * sampleframes * SAMPLESIZE; + #if 0 diffsample = 0; safepos = -recordbufferframes / 10 * SAMPLESIZE; @@ -174,8 +186,12 @@ uae_u8 sampler_getsample (int channel) samplecnt++; } } - hr = lpDSB2r->GetCurrentPosition (&t, &pos); - hr = lpDSB2r->Lock (t, sampleframes * SAMPLESIZE, &p1, &len1, &p2, &len2, 0); + hr = lpDSB2r->GetCurrentPosition (&t, NULL); + int pos = t; + pos -= safediff; + if (pos < 0) + pos += recordbufferframes * SAMPLESIZE; + hr = lpDSB2r->Lock (pos, sampleframes * SAMPLESIZE, &p1, &len1, &p2, &len2, 0); if (FAILED (hr)) { write_log (_T("SAMPLER: Lock() failed %x\n"), hr); return 0; diff --git a/savestate.cpp b/savestate.cpp index 1eceff65..2bb97104 100644 --- a/savestate.cpp +++ b/savestate.cpp @@ -516,6 +516,7 @@ void restore_state (const TCHAR *filename) savestate_file = f; restore_header (chunk); xfree (chunk); + restore_cia_start (); changed_prefs.bogomem_size = 0; changed_prefs.chipmem_size = 0; changed_prefs.fastmem_size = 0; diff --git a/sinctable.cpp b/sinctable.cpp index e8058462..724b1016 100644 --- a/sinctable.cpp +++ b/sinctable.cpp @@ -3,7 +3,7 @@ */ /* tables are: a500 off, a500 on, a1200 off, a1200 on, vanilla. */ -const int winsinc_integral[5][2048] = { +const int winsinc_integral[5][SINC_QUEUE_MAX_AGE] = { { 131072,131072,131072,131072,131072,131072,131072,131072,131072,131072,131072, 131071,131071,131071,131071,131071,131071,131071,131071,131071,131071,131071,131070,