From 51a896224ca2ed3594a2478bbf5e279ac9f0caa1 Mon Sep 17 00:00:00 2001 From: Toni Wilen Date: Mon, 10 Dec 2012 19:31:36 +0200 Subject: [PATCH] 2510b1 --- archivers/lha/uae_lha.cpp | 2 +- archivers/lzx/unlzx.cpp | 2 +- cfgfile.cpp | 10 +- debug.cpp | 2 +- disk.cpp | 9 +- drawing.cpp | 11 +- filesys.asm | 119 +- filesys.cpp | 298 ++- filesys_bootrom.cpp | 1154 ++++++------ fsdb.cpp | 16 +- include/filesys.h | 2 - include/fsdb.h | 4 + include/isofs_api.h | 2 +- include/options.h | 2 +- include/sysdeps.h | 21 - include/zarchive.h | 4 +- include/zfile.h | 17 +- inputdevice.cpp | 9 +- inputrecord.cpp | 9 +- isofs.cpp | 16 +- main.cpp | 8 +- od-win32/build68k_msvc/build68k_msvc.vcxproj | 4 + od-win32/dxwrap.h | 2 +- od-win32/fsdb_mywin32.cpp | 157 ++ .../genblitter_msvc/genblitter_msvc.vcxproj | 4 + od-win32/gencomp_msvc/gencomp_msvc.vcxproj | 4 + od-win32/gencpu_msvc/gencpu_msvc.vcxproj | 4 + .../genlinetoscr_msvc.vcxproj | 3 + od-win32/keyboard_win32.cpp | 25 +- od-win32/posixemu.cpp | 164 -- od-win32/prowizard/prowizard.vcxproj | 4 + od-win32/resources/winuae.rc | 10 +- od-win32/resources/winuae_minimal.rc | 1634 +++++++++-------- od-win32/srcrelease.cmd | 10 +- od-win32/uaeunp/uaeunp.vcxproj | 2 + od-win32/unpackers/unpackers.vcxproj | 4 + od-win32/win32.cpp | 50 +- od-win32/win32.h | 9 +- od-win32/win32_filesys.cpp | 7 - od-win32/win32gfx.cpp | 110 +- od-win32/win32gui.cpp | 4 + od-win32/win32gui_extra.cpp | 18 +- od-win32/winuae_msvc11/winuae_msvc.sln | 1 - od-win32/winuae_msvc11/winuae_msvc.vcxproj | 57 +- .../winuae_msvc11/winuae_msvc.vcxproj.filters | 4 +- od-win32/winuaechangelog.txt | 24 + zfile.cpp | 34 +- zfile_archive.cpp | 26 +- 48 files changed, 2067 insertions(+), 2025 deletions(-) diff --git a/archivers/lha/uae_lha.cpp b/archivers/lha/uae_lha.cpp index 6d9ad2b8..1d418285 100644 --- a/archivers/lha/uae_lha.cpp +++ b/archivers/lha/uae_lha.cpp @@ -39,7 +39,7 @@ struct zvolume *archive_directory_lha (struct zfile *zf) zai.name = au (hdr.name); zai.size = hdr.original_size; zai.flags = hdr.attribute; - zai.t = hdr.unix_last_modified_stamp -= _timezone; + zai.tv.tv_sec = hdr.unix_last_modified_stamp -= _timezone; if (hdr.name[strlen(hdr.name) + 1] != 0) zai.comment = au (&hdr.name[strlen(hdr.name) + 1]); if (method == LZHDIRS_METHOD_NUM) { diff --git a/archivers/lzx/unlzx.cpp b/archivers/lzx/unlzx.cpp index 997c1e3b..373a6ce2 100644 --- a/archivers/lzx/unlzx.cpp +++ b/archivers/lzx/unlzx.cpp @@ -787,7 +787,7 @@ struct zvolume *archive_directory_lzx (struct zfile *in_file) tm.tm_year = year - 1900; tm.tm_mon = month; tm.tm_mday = day; - zai.t = mktime(&tm); + zai.tv.tv_sec = mktime(&tm); zai.size = unpack_size; zn = zvolume_addfile_abs(zv, &zai); zn->offset2 = merge_size; diff --git a/cfgfile.cpp b/cfgfile.cpp index 2d0cae96..f4325060 100644 --- a/cfgfile.cpp +++ b/cfgfile.cpp @@ -970,15 +970,15 @@ void cfgfile_save_options (struct zfile *f, struct uae_prefs *p, int type) cfgfile_dwrite (f, _T("keyboard_leds"), _T("numlock:%s,capslock:%s,scrolllock:%s"), kbleds[p->keyboard_leds[0]], kbleds[p->keyboard_leds[1]], kbleds[p->keyboard_leds[2]]); if (p->chipset_mask & CSMASK_AGA) - cfgfile_dwrite (f, _T("chipset"),_T("aga")); + cfgfile_write (f, _T("chipset"),_T("aga")); else if ((p->chipset_mask & CSMASK_ECS_AGNUS) && (p->chipset_mask & CSMASK_ECS_DENISE)) - cfgfile_dwrite (f, _T("chipset"),_T("ecs")); + cfgfile_write (f, _T("chipset"),_T("ecs")); else if (p->chipset_mask & CSMASK_ECS_AGNUS) - cfgfile_dwrite (f, _T("chipset"),_T("ecs_agnus")); + cfgfile_write (f, _T("chipset"),_T("ecs_agnus")); else if (p->chipset_mask & CSMASK_ECS_DENISE) - cfgfile_dwrite (f, _T("chipset"),_T("ecs_denise")); + cfgfile_write (f, _T("chipset"),_T("ecs_denise")); else - cfgfile_dwrite (f, _T("chipset"), _T("ocs")); + cfgfile_write (f, _T("chipset"), _T("ocs")); if (p->chipset_refreshrate > 0) cfgfile_write (f, _T("chipset_refreshrate"), _T("%f"), p->chipset_refreshrate); diff --git a/debug.cpp b/debug.cpp index e014ac3f..b46b8837 100644 --- a/debug.cpp +++ b/debug.cpp @@ -3322,7 +3322,7 @@ static void find_ea (TCHAR **inptr) int hits = 0; addr = 0; - end = lastaddr(); + end = lastaddr (); ea = readhex (inptr); if (more_params(inptr)) { addr = readhex (inptr); diff --git a/disk.cpp b/disk.cpp index 46d923d0..2add5437 100644 --- a/disk.cpp +++ b/disk.cpp @@ -49,6 +49,7 @@ int disk_debug_track = -1; #ifdef RETROPLATFORM #include "rp.h" #endif +#include "fsdb.h" #undef CATWEASEL @@ -2313,17 +2314,17 @@ int disk_getwriteprotect (struct uae_prefs *p, const TCHAR *name) static void diskfile_readonly (const TCHAR *name, bool readonly) { - struct _stat64 st; + struct mystat st; int mode, oldmode; - if (stat (name, &st)) + if (my_stat (name, &st)) return; - oldmode = mode = st.st_mode; + oldmode = mode = st.mode; mode &= ~FILEFLAG_WRITE; if (!readonly) mode |= FILEFLAG_WRITE; if (mode != oldmode) - chmod (name, mode); + my_chmod (name, mode); } static void setdskchangetime (drive *drv, int dsktime) diff --git a/drawing.cpp b/drawing.cpp index d383f459..92011c4c 100644 --- a/drawing.cpp +++ b/drawing.cpp @@ -222,6 +222,7 @@ static uae_u32 plf_sprite_mask; static int sbasecol[2] = { 16, 16 }; static bool brdsprt, brdblank; static int hposblank; +static bool specialmonitoron; bool picasso_requested_on; bool picasso_on; @@ -2764,7 +2765,6 @@ void finish_drawing_frame (void) lightpen_update (vb); if (currprefs.monitoremu && gfxvidinfo.tempbuffer.bufmem_allocated) { - static bool specialon; if (emulate_specialmonitors (vb, &gfxvidinfo.tempbuffer)) { vb = gfxvidinfo.outbuffer = &gfxvidinfo.tempbuffer; if (vb->nativepositioning) { @@ -2776,16 +2776,16 @@ void finish_drawing_frame (void) vb->outheight = gfxvidinfo.drawbuffer.outheight; } gfxvidinfo.drawbuffer.tempbufferinuse = true; - if (!specialon) + if (!specialmonitoron) compute_framesync (); - specialon = true; + specialmonitoron = true; do_flush_screen (vb, 0, vb->outheight); didflush = true; } else { gfxvidinfo.drawbuffer.tempbufferinuse = false; - if (specialon) + if (specialmonitoron) compute_framesync (); - specialon = false; + specialmonitoron = false; } } @@ -3071,6 +3071,7 @@ void reset_drawing (void) clearbuffer (&gfxvidinfo.tempbuffer); center_reset = true; + specialmonitoron = false; } void drawing_init (void) diff --git a/filesys.asm b/filesys.asm index 472d0a5b..6682812a 100644 --- a/filesys.asm +++ b/filesys.asm @@ -194,24 +194,6 @@ FSIN_nomoresub: bra.b FSIN_init_units FSIN_units_ok: - tst.w d5 - beq.s CDIN_done - moveq #0,d6 -CDIN_init_units: - move.w $10c(a5),d0 - btst d6,d0 - beq.s CDIN_next - movem.l d6/a3,-(sp) - move.l a3,a0 - bset #31,d6 - bsr.w make_cd_dev - movem.l (sp)+,d6/a3 -CDIN_next: - addq.w #1,d6 - cmp.w #8,d6 - bne.s CDIN_init_units -CDIN_done: - move.l 4.w,a6 move.l a3,a1 move.l #PP_TOTAL,d0 @@ -473,7 +455,7 @@ setup_exter: moveq.l #3,d0 jsr -168(a6) ; AddIntServer - bsr.w heartbeatvblank + bsr.w heartbeatvblank move.w #$FF38,d0 moveq #4,d1 @@ -541,11 +523,11 @@ r15 move.l (a2),d2 ; hunk size (header) bset #1,d1 r2 bset #16,d1 lsl.l #2,d2 - move.l d2,d0 bne.s r17 clr.l (a2)+ ; empty hunk bra.s r18 -r17 addq.l #8,d0 ; size + pointer to next hunk + hunk size +r17 addq.l #8,d2 ; size + pointer to next hunk + hunk size + move.l d2,d0 jsr AllocMem(a6) tst.l d0 beq.w ree @@ -969,99 +951,6 @@ action_exall tst.l (a0) ; eac_Entries == 0 -> get more rts - ; mount CD drives using built-in AROS CDFS + uaescsi.device - -make_cd_dev: ; IN: A0 param_packet, D6: unit_no | 0x80000000 (=CD) - bsr.w fsres - move.l d0,PP_FSRES(a0) ; pointer to FileSystem.resource - move.l a0,-(sp) - move.w #$FFEC,d0 ; filesys base - bsr.w getrtbase - move.l (a0),a5 - move.w #$FF28,d0 ; fill in unit-dependent info (filesys_dev_storeinfo) - bsr.w getrtbase - move.l a0,a1 - move.l (sp)+,a0 - clr.l PP_FSSIZE(a0) ; filesystem size - clr.l PP_FSPTR(a0) ; filesystem memory - jsr (a1) - tst.l d0 - beq.w .fail - - ; allocate memory for loaded filesystem - move.l PP_FSSIZE(a0),d0 - beq.s .nofs - bmi.s .nofs - move.l a0,-(sp) - moveq #1,d1 - move.l 4.w,a6 - jsr AllocMem(a6) - move.l (sp)+,a0 - move.l d0,PP_FSPTR(a0) - beq.w .fail -.nofs - - move.l a4,a6 - move.l a0,-(sp) - jsr -144(a6) ; MakeDosNode() - move.l (sp)+,a0 ; parmpacket - move.l a0,a1 - move.l d0,a3 ; devicenode - move.w #$FF20,d0 ; record in ui.startup (filesys_dev_remember) - bsr.w getrtbase - jsr (a0) - moveq #0,d0 - move.l d0,8(a3) ; dn_Task - move.l d0,16(a3) ; dn_Handler - move.l d0,32(a3) ; dn_SegList - - move.l PP_FSPTR(a1),d0 - beq.s .nofs2 - move.l d0,a0 - bsr.w relocate - movem.l d0/a0-a1,-(sp) - move.l PP_FSSIZE(a1),d0 - move.l PP_FSPTR(a1),a1 - move.l 4.w,a6 - jsr FreeMem(a6) - movem.l (sp)+,d0/a0-a1 - bsr.w addfs -.nofs2 - move.w #$FF18,d0 ; update dn_SegList if needed (filesys_dev_bootfilesys) - bsr.w getrtbase - jsr (a0) - - move.b 79(a1),d3 ; bootpri - cmp.b #-128,d3 - beq.s .cdnoboot - move.l 4.w,a6 - moveq #20,d0 - move.l #65536+1,d1 - jsr AllocMem(a6) - move.l d0,a1 ; bootnode - move.w #$1000,d0 - or.b d3,d0 - move.w d0,8(a1) - move.l $104(a5),10(a1) ; filesys_configdev - move.l a3,16(a1) ; devicenode - lea.l 74(a4),a0 ; MountList - jsr -$0084(a6) ;Forbid - jsr -270(a6) ; Enqueue() - jsr -$008a(a6) ;Permit - bra.s .fail -.cdnoboot: - move.l a1,a2 ; bootnode - move.l a3,a0 ; parmpacket - moveq #0,d1 - move.l d1,a1 - moveq #1,d1 ; ADNF_STARTPROC (v36+) - moveq #-20,d0 - move.l a4,a6 ; expansion base - jsr -150(a6) ; AddDosNode - -.fail: - rts - ; mount harddrives, virtual or hdf make_dev: ; IN: A0 param_packet, D6: unit_no, D7: b0=autoboot,b1=onthefly,b2=v36+ @@ -1157,7 +1046,7 @@ nordbfs2: move.l d3,d0 move.b 79(a1),d3 ; bootpri tst.l d0 - bne.b MKDV_doboot + bne.b MKDV_doboot ; not directory harddrive? MKDV_is_filesys: move.l #6000,20(a3) ; dn_StackSize diff --git a/filesys.cpp b/filesys.cpp index 84823895..ed94add8 100644 --- a/filesys.cpp +++ b/filesys.cpp @@ -80,8 +80,6 @@ int log_filesys = 0; #define RTAREA_HEARTBEAT 0xFFFC -static void get_time (time_t t, long* days, long* mins, long* ticks); - static uae_sem_t test_sem; int bootrom_header, bootrom_items; @@ -122,7 +120,7 @@ static void aino_test_init (a_inode *aino) uaecptr filesys_initcode; static uae_u32 fsdevname, fshandlername, filesys_configdev; -static uae_u32 cdfs_devname, cdfs_handlername, cdfs_control; +static uae_u32 cdfs_devname, cdfs_handlername; static int filesys_in_interrupt; static uae_u32 mountertask; static int automountunit = -1; @@ -505,7 +503,7 @@ static int set_filesys_unit_1 (int nr, } } - iscd = USE_CDFS == 2 && nr >= cd_unit_offset && nr < cd_unit_offset + cd_unit_number; + iscd = nr >= cd_unit_offset && nr < cd_unit_offset + cd_unit_number; for (i = 0; i < MAX_FILESYSTEM_UNITS; i++) { if (nr == i || !mountinfo.ui[i].open || mountinfo.ui[i].rootdir == NULL || is_hardfile (i) == FILESYS_CD) @@ -707,8 +705,7 @@ static void initialize_mountinfo (void) nr = nr_units (); cd_unit_offset = nr; cd_unit_number = 0; -#if USE_CDFS == 2 - if (currprefs.scsi && currprefs.win32_automount_cddrives && USE_CDFS) { + if (currprefs.scsi && currprefs.win32_automount_cddrives) { uae_u32 mask = scsi_get_cd_drive_mask (); for (int i = 0; i < 32; i++) { if (mask & (1 << i)) { @@ -721,7 +718,6 @@ static void initialize_mountinfo (void) } } } -#endif for (nr = 0; nr < currprefs.mountitems; nr++) { struct uaedev_config_info *uci = &currprefs.mountconfig[nr]; @@ -893,7 +889,6 @@ struct hardfiledata *get_hardfile_data (int nr) #define DISK_TYPE_DOS 0x444f5300 /* DOS\0 */ #define DISK_TYPE_DOS_FFS 0x444f5301 /* DOS\1 */ #define CDFS_DOSTYPE 0x43440000 /* CDxx */ -//#define CDFS_DOSTYPE (USE_CDFS == 2 ? 0x43444653 : 0x43445644) typedef struct { uae_u32 uniq; @@ -1107,6 +1102,50 @@ static TCHAR *bstr_cut (Unit *unit, uaecptr addr) return &p[off]; } +/* convert time_t to/from AmigaDOS time */ +static const uae_s64 msecs_per_day = 24 * 60 * 60 * 1000; +static const uae_s64 diff = ((8 * 365 + 2) * (24 * 60 * 60)) * (uae_u64)1000; + +void timeval_to_amiga (struct mytimeval *tv, int *days, int *mins, int *ticks) +{ + /* tv.tv_sec is secs since 1-1-1970 */ + /* days since 1-1-1978 */ + /* mins since midnight */ + /* ticks past minute @ 50Hz */ + + uae_s64 t = tv->tv_sec * 1000 + tv->tv_usec / 1000; + t -= diff; + if (t < 0) + t = 0; + *days = t / msecs_per_day; + t -= *days * msecs_per_day; + *mins = t / (60 * 1000); + t -= *mins * (60 * 1000); + *ticks = t / (1000 / 50); +} + +void amiga_to_timeval (struct mytimeval *tv, int days, int mins, int ticks) +{ + uae_s64 t; + + if (days < 0) + days = 0; + if (days > 9900 * 365) + days = 9900 * 365; // in future far enough? + if (mins < 0 || mins >= 24 * 60) + mins = 0; + if (ticks < 0 || ticks >= 60 * 50) + ticks = 0; + + t = ticks * 20; + t += mins * (60 * 1000); + t += ((uae_u64)days) * msecs_per_day; + t += diff; + + tv->tv_sec = t / 1000; + tv->tv_usec = (t % 1000) * 1000; +} + static Unit *units = 0; static Unit* @@ -1239,7 +1278,7 @@ static void set_highcyl (UnitInfo *ui, uae_u32 blocks) put_long (env + 10 * 4, blocks); } -static void set_volume_name (Unit *unit, uae_u32 ctime) +static void set_volume_name (Unit *unit, struct mytimeval *tv) { int namelen; int i; @@ -1251,9 +1290,9 @@ static void set_volume_name (Unit *unit, uae_u32 ctime) for (i = 0; i < namelen; i++) put_byte (unit->volume + 45 + i, s[i]); put_byte (unit->volume + 45 + namelen, 0); - if (ctime) { - long days, mins, ticks; - get_time (ctime, &days, &mins, &ticks); + if (tv && (tv->tv_sec || tv->tv_usec)) { + int days, mins, ticks; + timeval_to_amiga (tv, &days, &mins, &ticks); put_long (unit->volume + 16, days); put_long (unit->volume + 20, mins); put_long (unit->volume + 24, ticks); @@ -1464,7 +1503,7 @@ static uae_u32 filesys_media_change_reply (TrapContext *ctx, int mode) } else if (u->mount_changed > 0) { if (mode == 0) { // insert - uae_u32 ctime = 0; + struct mytimeval ctime = { 0 }; bool emptydrive = false; struct uaedev_config_info *uci = NULL; @@ -1488,7 +1527,8 @@ static uae_u32 filesys_media_change_reply (TrapContext *ctx, int mode) u->ui.unknown_media = ii.unknown_media; if (!ii.unknown_media) { u->ui.volname = ui->volname = my_strdup (ii.volumename); - ctime = ii.creation; + ctime.tv_sec = ii.creation; + ctime.tv_usec = 0; set_highcyl (ui, ii.blocks); #ifdef RETROPLATFORM rp_cd_image_change (ui->cddevno, ii.devname); @@ -1511,7 +1551,7 @@ static uae_u32 filesys_media_change_reply (TrapContext *ctx, int mode) write_log (_T("FILESYS: inserted unreadable volume NR=%d RO=%d\n"), nr, u->mount_readonly); } else { write_log (_T("FILESYS: inserted volume NR=%d RO=%d '%s' ('%s')\n"), nr, u->mount_readonly, ui->volname, u->mount_rootdir); - set_volume_name (u, ctime); + set_volume_name (u, &ctime); if (u->mount_flags >= 0) ui->volflags = u->volflags = u->ui.volflags = u->mount_flags; if (uci != NULL) { @@ -1687,19 +1727,6 @@ static int fsdb_cando (Unit *unit) static void prepare_for_open (TCHAR *name) { -#if 0 - struct _stat64 statbuf; - int mode; - - if (-1 == stat (name, &statbuf)) - return; - - mode = statbuf.st_mode; - mode |= S_IRUSR; - mode |= S_IWUSR; - mode |= S_IXUSR; - chmod (name, mode); -#endif } static void de_recycle_aino (Unit *unit, a_inode *aino) @@ -2466,7 +2493,7 @@ static Unit *startup_create_unit (UnitInfo *uinfo, int num) } -static bool mount_cd (UnitInfo *uinfo, int nr, uae_u32 *ctime, uae_u64 *uniq) +static bool mount_cd (UnitInfo *uinfo, int nr, struct mytimeval *ctime, uae_u64 *uniq) { uinfo->cddevno = nr - cd_unit_offset; if (!sys_command_open (uinfo->cddevno)) { @@ -2485,8 +2512,10 @@ static bool mount_cd (UnitInfo *uinfo, int nr, uae_u32 *ctime, uae_u64 *uniq) uinfo->wasisempty = false; if (!ii.unknown_media) { uinfo->volname = my_strdup (ii.volumename); - if (ctime) - *ctime = ii.creation; + if (ctime) { + ctime->tv_sec = ii.creation; + ctime->tv_usec = 0; + } set_highcyl (uinfo, ii.totalblocks); #ifdef RETROPLATFORM rp_cd_image_change (uinfo->cddevno, ii.devname); @@ -2496,9 +2525,6 @@ static bool mount_cd (UnitInfo *uinfo, int nr, uae_u32 *ctime, uae_u64 *uniq) uinfo->unknown_media = ii.unknown_media; } uinfo->cd_open = true; - - - return true; } @@ -2534,28 +2560,29 @@ static void filesys_start_thread (UnitInfo *ui, int nr) static uae_u32 REGPARAM2 startup_handler (TrapContext *context) { - /* Just got the startup packet. It's in A4. DosBase is in A2, + /* Just got the startup packet. It's in D3. DosBase is in A2, * our allocated volume structure is in A3, A5 is a pointer to * our port. */ uaecptr rootnode = get_long (m68k_areg (regs, 2) + 34); uaecptr dos_info = get_long (rootnode + 24) << 2; uaecptr pkt = m68k_dreg (regs, 3); + uaecptr arg1 = get_long (pkt + dp_Arg1); uaecptr arg2 = get_long (pkt + dp_Arg2); + uaecptr arg3 = get_long (pkt + dp_Arg3); uaecptr devnode; int nr; - TCHAR *devname = bstr1 (get_long (pkt + dp_Arg1) << 2); - TCHAR *s; Unit *unit; UnitInfo *uinfo; int late = 0; int ed, ef; uae_u64 uniq = 0; - uae_u32 cdays, ctime = 0; + uae_u32 cdays; + struct mytimeval ctime = { 0 }; - /* find UnitInfo with correct device name */ - s = _tcschr (devname, ':'); - if (s) - *s = '\0'; + // 1.3: + // dp_Arg1 contains crap (Should be name of device) + // dp_Arg2 = works as documented + // dp_Arg3 = NULL (!?). (Should be DeviceNode) for (nr = 0; nr < MAX_FILESYSTEM_UNITS; nr++) { /* Hardfile volume name? */ @@ -2568,12 +2595,14 @@ static uae_u32 REGPARAM2 startup_handler (TrapContext *context) } if (nr == MAX_FILESYSTEM_UNITS) { - write_log (_T("Failed attempt to mount device '%s'\n"), devname); + write_log (_T("Attempt to mount unknown filesystem device\n")); put_long (pkt + dp_Res1, DOS_FALSE); put_long (pkt + dp_Res2, ERROR_DEVICE_NOT_MOUNTED); return 0; } uinfo = mountinfo.ui + nr; + //devnode = arg3 << 2; + devnode = uinfo->devicenode; cdays = 3800 + nr; if (uinfo->unit_type == UNIT_CDFS) { @@ -2587,7 +2616,7 @@ static uae_u32 REGPARAM2 startup_handler (TrapContext *context) ed = my_existsdir (uinfo->rootdir); ef = my_existsfile (uinfo->rootdir); if (!uinfo->wasisempty && !ef && !ed) { - write_log (_T("Failed attempt to mount device '%s'\n"), devname); + write_log (_T("Failed attempt to mount device '%s' (%s)\n"), uinfo->devname, uinfo->rootdir); put_long (pkt + dp_Res1, DOS_FALSE); put_long (pkt + dp_Res2, ERROR_DEVICE_NOT_MOUNTED); return 0; @@ -2608,7 +2637,6 @@ static uae_u32 REGPARAM2 startup_handler (TrapContext *context) unit->ui.volname, unit->volflags, uinfo->wasisempty, ed, ef, unit->ui.rootdir); /* fill in our process in the device node */ - devnode = get_long (pkt + dp_Arg3) << 2; put_long (devnode + 8, unit->port); unit->dosbase = m68k_areg (regs, 2); @@ -2637,7 +2665,7 @@ static uae_u32 REGPARAM2 startup_handler (TrapContext *context) if (!uinfo->wasisempty && !uinfo->unknown_media) { int isvirtual = unit->volflags & (MYVOLUMEINFO_ARCHIVE | MYVOLUMEINFO_CDFS); /* Set volume if non-empty */ - set_volume_name (unit, ctime); + set_volume_name (unit, &ctime); if (!isvirtual) fsdb_clean_dir (&unit->rootnode); } @@ -2666,7 +2694,7 @@ static void if (unit->volflags & MYVOLUMEINFO_ARCHIVE) { ret = zfile_fs_usage_archive (unit->ui.rootdir, 0, &fsu); fs = true; - media = filesys_isvolume (unit); + media = filesys_isvolume (unit) != 0; } else if (unit->volflags & MYVOLUMEINFO_CDFS) { struct isofs_info ii; ret = isofs_mediainfo (unit->ui.cdfs_superblock, &ii) ? 0 : 1; @@ -2684,7 +2712,7 @@ static void if (ret) err = dos_errno (); fs = true; - media = filesys_isvolume (unit); + media = filesys_isvolume (unit) != 0; } if (ret != 0) { PUT_PCK_RES1 (packet, DOS_FALSE); @@ -3137,50 +3165,6 @@ static void action_dup_lock_2 (unit, packet, k->aino->uniq); } -/* convert time_t to/from AmigaDOS time */ -static const int secs_per_day = 24 * 60 * 60; -static const int diff = (8 * 365 + 2) * (24 * 60 * 60); - -static void - get_time (time_t t, long* days, long* mins, long* ticks) -{ - /* time_t is secs since 1-1-1970 */ - /* days since 1-1-1978 */ - /* mins since midnight */ - /* ticks past minute @ 50Hz */ - - t -= diff; - if (t < 0) - t = 0; - *days = t / secs_per_day; - t -= *days * secs_per_day; - *mins = t / 60; - t -= *mins * 60; - *ticks = t * 50; -} - -static time_t - put_time (long days, long mins, long ticks) -{ - time_t t; - - if (days < 0) - days = 0; - if (days > 9900 * 365) - days = 9900 * 365; // in future far enough? - if (mins < 0 || mins >= 24 * 60) - mins = 0; - if (ticks < 0 || ticks >= 60 * 50) - ticks = 0; - - t = ticks / 50; - t += mins * 60; - t += ((uae_u64)days) * secs_per_day; - t += diff; - - return t; -} - static void free_exkey (Unit *unit, ExamineKey *ek) { if (--ek->aino->exnext_count == 0) { @@ -3273,8 +3257,8 @@ static void move_exkeys (Unit *unit, a_inode *from, a_inode *to) static void get_fileinfo (Unit *unit, dpacket packet, uaecptr info, a_inode *aino) { - struct _stat64 statbuf; - long days, mins, ticks; + struct mystat statbuf; + int days, mins, ticks; int i, n, entrytype, blocksize; int fsdb_can = fsdb_cando (unit); TCHAR *xs; @@ -3288,7 +3272,7 @@ static void else if (unit->volflags & MYVOLUMEINFO_CDFS) ok = isofs_stat (unit->ui.cdfs_superblock, aino->uniq_external, &statbuf); else - stat (aino->nname, &statbuf); + my_stat (aino->nname, &statbuf); if (!ok) { PUT_PCK_RES1 (packet, DOS_FALSE); @@ -3324,14 +3308,14 @@ static void xfree (x2); put_long (info + 116, fsdb_can ? aino->amigaos_mode : fsdb_mode_supported (aino)); - put_long (info + 124, statbuf.st_size > MAXFILESIZE32 ? MAXFILESIZE32 : (uae_u32)statbuf.st_size); + put_long (info + 124, statbuf.size > MAXFILESIZE32 ? MAXFILESIZE32 : (uae_u32)statbuf.size); #ifdef HAVE_ST_BLOCKS put_long (info + 128, statbuf.st_blocks); #else blocksize = (unit->volflags & MYVOLUMEINFO_CDFS) ? 2048 : 512; - put_long (info + 128, (statbuf.st_size + blocksize - 1) / blocksize); + put_long (info + 128, (statbuf.size + blocksize - 1) / blocksize); #endif - get_time (statbuf.st_mtime, &days, &mins, &ticks); + timeval_to_amiga (&statbuf.mtime, &days, &mins, &ticks); put_long (info + 132, days); put_long (info + 136, mins); put_long (info + 140, ticks); @@ -3589,8 +3573,8 @@ static int exalldo (uaecptr exalldata, uae_u32 exalldatasize, uae_u32 type, uaec int entrytype; TCHAR *xs = NULL, *commentx = NULL; uae_u32 flags = 15; - long days, mins, ticks; - struct _stat64 statbuf; + int days, mins, ticks; + struct mystat statbuf; int fsdb_can = fsdb_cando (unit); uae_u16 uid = 0, gid = 0; char *x = NULL, *comment = NULL; @@ -3602,7 +3586,7 @@ static int exalldo (uaecptr exalldata, uae_u32 exalldatasize, uae_u32 type, uaec else if (unit->volflags & MYVOLUMEINFO_CDFS) isofs_stat (unit->ui.cdfs_superblock, aino->uniq_external, &statbuf); else - stat (aino->nname, &statbuf); + my_stat (aino->nname, &statbuf); if (aino->parent == 0) { entrytype = 2; @@ -3629,7 +3613,7 @@ static int exalldo (uaecptr exalldata, uae_u32 exalldatasize, uae_u32 type, uaec size2 += 4; } if (type >= 5) { - get_time (statbuf.st_mtime, &days, &mins, &ticks); + timeval_to_amiga (&statbuf.mtime, &days, &mins, &ticks); size2 += 12; } if (type >= 6) { @@ -3673,7 +3657,7 @@ static int exalldo (uaecptr exalldata, uae_u32 exalldatasize, uae_u32 type, uaec if (type >= 2) put_long (exp + 8, entrytype); if (type >= 3) - put_long (exp + 12, statbuf.st_size > MAXFILESIZE32 ? MAXFILESIZE32 : statbuf.st_size); + put_long (exp + 12, statbuf.size > MAXFILESIZE32 ? MAXFILESIZE32 : statbuf.size); if (type >= 4) put_long (exp + 16, flags); if (type >= 5) { @@ -4304,20 +4288,16 @@ static void /* change file/dir's parent dir modification time */ static void updatedirtime (a_inode *a1, int now) { - struct _stat64 statbuf; - struct utimbuf ut; - long days, mins, ticks; + struct mystat statbuf; if (!a1->parent) return; if (!now) { - if (stat (a1->nname, &statbuf) == -1) + if (!my_stat (a1->nname, &statbuf)) return; - get_time (statbuf.st_mtime, &days, &mins, &ticks); - ut.actime = ut.modtime = put_time (days, mins, ticks); - utime (a1->parent->nname, &ut); + my_utime (a1->parent->nname, &statbuf.mtime); } else { - utime (a1->parent->nname, NULL); + my_utime (a1->parent->nname, NULL); } } @@ -5038,7 +5018,7 @@ static void uaecptr name = GET_PCK_ARG3 (packet) << 2; uaecptr date = GET_PCK_ARG4 (packet); a_inode *a; - struct utimbuf ut; + struct mytimeval tv; int err; TRACE((_T("ACTION_SET_DATE(0x%lx,\"%s\")\n"), lock, bstr (unit, name))); @@ -5049,10 +5029,10 @@ static void return; } - ut.actime = ut.modtime = put_time (get_long (date), get_long (date + 4), - get_long (date + 8)); + amiga_to_timeval (&tv, get_long (date), get_long (date + 4), get_long (date + 8)); a = find_aino (unit, lock, bstr (unit, name), &err); - if (err == 0 && utime (a->nname, &ut) == -1) + write_log (_T("%llu.%u (%d,%d,%d) %s\n"), tv.tv_sec, tv.tv_usec, get_long (date), get_long (date + 4), get_long (date + 8), a->nname); + if (err == 0 && !my_utime (a->nname, &tv)) err = dos_errno (); if (err != 0) { PUT_PCK_RES1 (packet, DOS_FALSE); @@ -5746,12 +5726,7 @@ static void init_filesys_diagentry (void) do_put_mem_long ((uae_u32 *)(filesysory + 0x2104), filesys_configdev); do_put_mem_long ((uae_u32 *)(filesysory + 0x2108), EXPANSION_doslibname); do_put_mem_word ((uae_u16 *)(filesysory + 0x210e), nr_units ()); - if (currprefs.scsi && currprefs.win32_automount_cddrives && USE_CDFS == 1) - do_put_mem_word ((uae_u16 *)(filesysory + 0x210c), scsi_get_cd_drive_mask ()); - else - do_put_mem_word ((uae_u16 *)(filesysory + 0x210c), 0); - if (USE_CDFS != 2) - cd_unit_offset = MAX_FILESYSTEM_UNITS; + do_put_mem_word ((uae_u16 *)(filesysory + 0x210c), 0); native2amiga_startup (); } @@ -5963,12 +5938,9 @@ static uae_u32 REGPARAM2 filesys_dev_bootfilesys (TrapContext *context) int type; if (iscd) { -#if USE_CDFS == 2 if (!get_long (devicenode + 16)) put_long (devicenode + 16, cdfs_handlername); return 0; -#endif - type = FILESYS_CD; } else { type = is_hardfile (unit_no); } @@ -6038,15 +6010,8 @@ static uae_u32 REGPARAM2 filesys_dev_remember (TrapContext *context) uae_u8 *fs; uip->devicenode = devicenode; - if (iscd && USE_CDFS == 1) { - fssize = cdfs_handler_len; - fs = cdfs_handler; - if (get_long (devicenode + 5 * 4) < 10000) // stack - put_long (devicenode + 5 * 4, 10000); - } else { - fssize = uip->rdb_filesyssize; - fs = uip->rdb_filesysstore; - } + fssize = uip->rdb_filesyssize; + fs = uip->rdb_filesysstore; /* copy filesystem loaded from RDB */ if (get_long (parmpacket + PP_FSPTR)) { @@ -6054,13 +6019,11 @@ static uae_u32 REGPARAM2 filesys_dev_remember (TrapContext *context) put_byte (get_long (parmpacket + PP_FSPTR) + i, fs[i]); } - if (!iscd || USE_CDFS == 2) { - xfree (fs); - uip->rdb_filesysstore = 0; - uip->rdb_filesyssize = 0; - if (m68k_dreg (regs, 3) >= 0) - uip->startup = get_long (devicenode + 28); - } + xfree (fs); + uip->rdb_filesysstore = 0; + uip->rdb_filesyssize = 0; + if (m68k_dreg (regs, 3) >= 0) + uip->startup = get_long (devicenode + 28); return devicenode; } @@ -6593,7 +6556,7 @@ static void get_new_device (int type, uaecptr parmpacket, TCHAR **devname, uaecp int un = unit_no; for (;;) { _stprintf (buffer, type == FILESYS_CD ? _T("CD%d") : _T("DH%d"), un++); - if (type == FILESYS_CD && USE_CDFS == 2) + if (type == FILESYS_CD) *devname = my_strdup (buffer); if (!device_isdup (expbase, buffer)) break; @@ -6633,14 +6596,10 @@ static uae_u32 REGPARAM2 filesys_dev_storeinfo (TrapContext *context) return -2; type = FILESYS_CD; - if (USE_CDFS == 2) { - get_new_device (type, parmpacket, &uip[unit_no].devname, &uip[unit_no].devname_amiga, cd_unit_no); - cdname_amiga = uip[unit_no].devname_amiga; - uip[unit_no].devno = unit_no; - type = FILESYS_VIRTUAL; - } else { - get_new_device (type, parmpacket, &cdname, &cdname_amiga, cd_unit_no); - } + get_new_device (type, parmpacket, &uip[unit_no].devname, &uip[unit_no].devname_amiga, cd_unit_no); + cdname_amiga = uip[unit_no].devname_amiga; + uip[unit_no].devno = unit_no; + type = FILESYS_VIRTUAL; gui_flicker_led (LED_CD, cd_unit_no, -1); write_log (_T("Mounting uaescsi.device %d: (%d)\n"), cd_unit_no, unit_no); @@ -6662,34 +6621,12 @@ static uae_u32 REGPARAM2 filesys_dev_storeinfo (TrapContext *context) put_long (parmpacket + 60, 50); /* Number of buffers */ put_long (parmpacket + 64, 1); /* Buffer mem type */ put_long (parmpacket + 68, 0x7FFFFFFE); /* largest transfer */ - put_long (parmpacket + 72, 0x7FFFFFFE); /* addrressMask (?) */ + put_long (parmpacket + 72, 0xFFFFFFFE); /* dma mask */ put_long (parmpacket + 76, scsi_get_cd_drive_media_mask () & (1 << cd_unit_no) ? -127 : -128); /* bootPri */ put_long (parmpacket + 80, CDFS_DOSTYPE | (((cd_unit_no / 10) + '0') << 8) | ((cd_unit_no % 10) + '0')); put_long (parmpacket + 84, 0); /* baud */ - put_long (parmpacket + 88, cdfs_control); + put_long (parmpacket + 88, 0); /* control */ put_long (parmpacket + 92, 0); /* bootblocks */ -#if USE_CDFS == 1 - uaecptr fsres = get_long (parmpacket + PP_FSRES); - bool cdfs = false; - if (fsres) { - uaecptr fsnode = get_long (fsres + 18); - while (get_long (fsnode)) { - if (get_long (fsnode + 14) == CDFS_DOSTYPE) { - cdfs = true; - break; - } - fsnode = get_long (fsnode); - } - } else { - write_log (_T("CDFS: FileSystem.resource not found, this shouldn't happen!\n")); - cdfs = true; - } - - if (!cdfs) { - put_long (parmpacket + PP_FSSIZE, cdfs_handler_len); - addfakefilesys (parmpacket, CDFS_DOSTYPE); - } -#endif return type; } else { @@ -6716,7 +6653,7 @@ static uae_u32 REGPARAM2 filesys_dev_storeinfo (TrapContext *context) put_long (parmpacket + 60, 50); /* Number of buffers */ put_long (parmpacket + 64, 1); /* Buffer mem type */ put_long (parmpacket + 68, 0x7FFFFFFE); /* largest transfer */ - put_long (parmpacket + 72, 0x7FFFFFFE); /* addMask (?) */ + put_long (parmpacket + 72, 0xFFFFFFFE); /* dma mask */ put_long (parmpacket + 76, uip[unit_no].bootpri); /* bootPri */ put_long (parmpacket + 80, DISK_TYPE_DOS); /* DOS\0 */ if (type == FILESYS_VIRTUAL) { @@ -6843,13 +6780,8 @@ void filesys_install (void) fsdevname = ds_ansi ("uae.device"); /* does not really exist */ fshandlername = ds_bstr_ansi ("uaefs"); -#if USE_CDFS cdfs_devname = ds_ansi ("uaescsi.device"); cdfs_handlername = ds_bstr_ansi ("uaecdfs"); -#if USE_CDFS == 1 - cdfs_control = ds_bstr_ansi ("ROCKRIDGE JOLIET MAYBELOWERCASE SCANINTERVAL=-1 DE=.1 RE=.2"); -#endif -#endif ROM_filesys_diagentry = here (); calltrap (deftrap2 (filesys_diagentry, 0, _T("filesys_diagentry"))); dw(0x4ED0); /* JMP (a0) - jump to code that inits Residents */ @@ -6918,16 +6850,8 @@ void filesys_install_code (void) EXPANSION_bootcode = a + bootrom_header + bootrom_items * 4 - 4; b = a + bootrom_header + 3 * 4 - 4; filesys_initcode = a + dlg (b) + bootrom_header - 4; - -#if USE_CDFS == 1 - cdfs_handler = zfile_load_data (_T("cdfs.gz"), cdfs_rom, cdfs_rom_len, &cdfs_handler_len); -#endif } -#if USE_CDFS == 1 -#include "cdrom-handler.cpp" -#endif - #ifdef _WIN32 #include "od-win32/win32_filesys.cpp" #endif diff --git a/filesys_bootrom.cpp b/filesys_bootrom.cpp index 210863ac..ec824ed2 100644 --- a/filesys_bootrom.cpp +++ b/filesys_bootrom.cpp @@ -1,13 +1,13 @@ db(0x00); db(0x00); db(0x00); db(0x10); db(0x00); db(0x00); db(0x00); db(0x00); - db(0x00); db(0x00); db(0x00); db(0x09); db(0x60); db(0x00); db(0x0c); db(0x22); - db(0x00); db(0x00); db(0x09); db(0xd0); db(0x00); db(0x00); db(0x00); db(0xe0); - db(0x00); db(0x00); db(0x02); db(0x9c); db(0x00); db(0x00); db(0x00); db(0x24); - db(0x00); db(0x00); db(0x03); db(0xaa); db(0x00); db(0x00); db(0x00); db(0x00); - db(0x00); db(0x00); db(0x14); db(0xb0); db(0x43); db(0xfa); db(0x19); db(0xb9); + db(0x00); db(0x00); db(0x00); db(0x09); db(0x60); db(0x00); db(0x0a); db(0xfe); + db(0x00); db(0x00); db(0x08); db(0xac); db(0x00); db(0x00); db(0x00); db(0xe0); + db(0x00); db(0x00); db(0x02); db(0x74); db(0x00); db(0x00); db(0x00); db(0x24); + db(0x00); db(0x00); db(0x03); db(0x82); db(0x00); db(0x00); db(0x00); db(0x00); + db(0x00); db(0x00); db(0x13); db(0x8c); db(0x43); db(0xfa); db(0x18); db(0x95); db(0x4e); db(0xae); db(0xff); db(0xa0); db(0x20); db(0x40); db(0x20); db(0x28); db(0x00); db(0x16); db(0x20); db(0x40); db(0x4e); db(0x90); db(0x4e); db(0x75); db(0x48); db(0xe7); db(0xe0); db(0xe2); db(0x30); db(0x3c); db(0xff); db(0x38); - db(0x72); db(0x11); db(0x61); db(0x00); db(0x18); db(0xa2); db(0x4e); db(0x90); + db(0x72); db(0x11); db(0x61); db(0x00); db(0x17); db(0x7e); db(0x4e); db(0x90); db(0x4a); db(0x80); db(0x67); db(0x4c); db(0x2c); db(0x78); db(0x00); db(0x04); db(0x0c); db(0x6e); db(0x00); db(0x25); db(0x00); db(0x14); db(0x65); db(0x40); db(0x70); db(0x14); db(0x24); db(0x00); db(0x72); db(0x01); db(0x4e); db(0xae); @@ -22,71 +22,66 @@ db(0x20); db(0x68); db(0x00); db(0x02); db(0x2f); db(0x08); db(0x4e); db(0x90); db(0x20); db(0x5f); db(0x58); db(0x8f); db(0x48); db(0xe7); db(0xff); db(0x7e); db(0x22); db(0x4e); db(0x20); db(0x08); db(0x30); db(0x7c); db(0xff); db(0xb8); - db(0x4e); db(0xae); db(0xfe); db(0x5c); db(0x61); db(0x00); db(0x13); db(0xf2); - db(0x61); db(0x00); db(0x17); db(0xb8); db(0x4c); db(0xdf); db(0x7e); db(0xff); + db(0x4e); db(0xae); db(0xfe); db(0x5c); db(0x61); db(0x00); db(0x12); db(0xce); + db(0x61); db(0x00); db(0x16); db(0x94); db(0x4c); db(0xdf); db(0x7e); db(0xff); db(0x4e); db(0x75); db(0x00); db(0x00); db(0x08); db(0x00); db(0x00); db(0x02); db(0x67); db(0x06); db(0x4e); db(0xb9); db(0x00); db(0xf0); db(0x00); db(0x00); db(0x4e); db(0xf9); db(0x00); db(0xf0); db(0x00); db(0x00); db(0x00); db(0x00); db(0x48); db(0xe7); db(0xff); db(0xfe); db(0x2c); db(0x78); db(0x00); db(0x04); - db(0x30); db(0x3c); db(0xff); db(0xec); db(0x61); db(0x00); db(0x17); db(0xf8); - db(0x2a); db(0x50); db(0x43); db(0xfa); db(0x19); db(0x1a); db(0x70); db(0x24); + db(0x30); db(0x3c); db(0xff); db(0xec); db(0x61); db(0x00); db(0x16); db(0xd4); + db(0x2a); db(0x50); db(0x43); db(0xfa); db(0x17); db(0xf6); db(0x70); db(0x24); db(0x7a); db(0x01); db(0x4e); db(0xae); db(0xfd); db(0xd8); db(0x4a); db(0x80); - db(0x66); db(0x0c); db(0x43); db(0xfa); db(0x19); db(0x0a); db(0x70); db(0x00); + db(0x66); db(0x0c); db(0x43); db(0xfa); db(0x17); db(0xe6); db(0x70); db(0x00); db(0x7a); db(0x00); db(0x4e); db(0xae); db(0xfd); db(0xd8); db(0x28); db(0x40); - db(0x4a); db(0xad); db(0x01); db(0x0c); db(0x67); db(0x00); db(0x00); db(0x84); + db(0x4a); db(0xad); db(0x01); db(0x0c); db(0x67); db(0x00); db(0x00); db(0x5c); db(0x20); db(0x3c); db(0x00); db(0x00); db(0x02); db(0x2c); db(0x22); db(0x3c); db(0x00); db(0x01); db(0x00); db(0x01); db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x26); db(0x40); db(0x27); db(0x4c); db(0x01); db(0x9c); db(0x7c); db(0x00); db(0xbc); db(0x6d); db(0x01); db(0x0e); db(0x64); db(0x2c); db(0x2f); db(0x06); db(0x7e); db(0x01); db(0x4a); db(0x45); db(0x67); db(0x04); db(0x08); db(0xc7); db(0x00); db(0x02); db(0x2f); db(0x0b); db(0x20); db(0x4b); db(0x61); db(0x00); - db(0x08); db(0x88); db(0x26); db(0x5f); db(0x0c); db(0x80); db(0xff); db(0xff); + db(0x07); db(0x64); db(0x26); db(0x5f); db(0x0c); db(0x80); db(0xff); db(0xff); db(0xff); db(0xfe); db(0x67); db(0x08); db(0x48); db(0x46); db(0x52); db(0x46); db(0x48); db(0x46); db(0x60); db(0xdc); db(0x2c); db(0x1f); db(0x52); db(0x46); - db(0x60); db(0xce); db(0x4a); db(0x45); db(0x67); db(0x24); db(0x7c); db(0x00); - db(0x30); db(0x2d); db(0x01); db(0x0c); db(0x0d); db(0x00); db(0x67); db(0x12); - db(0x48); db(0xe7); db(0x02); db(0x10); db(0x20); db(0x4b); db(0x08); db(0xc6); - db(0x00); db(0x1f); db(0x61); db(0x00); db(0x07); db(0x58); db(0x4c); db(0xdf); - db(0x08); db(0x40); db(0x52); db(0x46); db(0x0c); db(0x46); db(0x00); db(0x08); - db(0x66); db(0xde); db(0x2c); db(0x78); db(0x00); db(0x04); db(0x22); db(0x4b); + db(0x60); db(0xce); db(0x2c); db(0x78); db(0x00); db(0x04); db(0x22); db(0x4b); db(0x20); db(0x3c); db(0x00); db(0x00); db(0x02); db(0x2c); db(0x4e); db(0xae); db(0xff); db(0x2e); db(0x2c); db(0x78); db(0x00); db(0x04); db(0x22); db(0x4c); db(0x4e); db(0xae); db(0xfe); db(0x62); db(0x78); db(0x03); db(0x0c); db(0x6e); db(0x00); db(0x24); db(0x00); db(0x14); db(0x65); db(0x04); db(0x00); db(0x44); db(0x01); db(0x00); db(0x43); db(0xf9); db(0x00); db(0x21); db(0x00); db(0x00); db(0x4e); db(0xae); db(0xfd); db(0xea); db(0x4a); db(0x80); db(0x66); db(0x20); - db(0x30); db(0x3c); db(0xff); db(0x80); db(0x61); db(0x00); db(0x17); db(0x20); + db(0x30); db(0x3c); db(0xff); db(0x80); db(0x61); db(0x00); db(0x16); db(0x24); db(0x4e); db(0x90); db(0x22); db(0x04); db(0x74); db(0xf6); db(0x20); db(0x7c); db(0x00); db(0x20); db(0x00); db(0x00); db(0x90); db(0x88); db(0x65); db(0x08); db(0x67); db(0x06); db(0x93); db(0xc9); db(0x4e); db(0xae); db(0xfd); db(0x96); - db(0x30); db(0x3c); db(0xff); db(0x80); db(0x61); db(0x00); db(0x17); db(0x00); + db(0x30); db(0x3c); db(0xff); db(0x80); db(0x61); db(0x00); db(0x16); db(0x04); db(0x4e); db(0x90); db(0x20); db(0x49); db(0x20); db(0x01); db(0x67); db(0x0c); - db(0x22); db(0x04); db(0x74); db(0xfb); db(0x43); db(0xfa); db(0x18); db(0x3e); - db(0x4e); db(0xae); db(0xfd); db(0x96); db(0x41); db(0xfa); db(0x17); db(0xb5); + db(0x22); db(0x04); db(0x74); db(0xfb); db(0x43); db(0xfa); db(0x17); db(0x42); + db(0x4e); db(0xae); db(0xfd); db(0x96); db(0x41); db(0xfa); db(0x16); db(0xb9); db(0x43); db(0xfa); db(0x00); db(0x54); db(0x70); db(0x0a); db(0x61); db(0x00); - db(0x0d); db(0x5e); db(0x22); db(0x40); db(0x72); db(0x01); db(0x30); db(0x3c); - db(0xff); db(0x48); db(0x61); db(0x00); db(0x16); db(0xd2); db(0x4e); db(0x90); + db(0x0c); db(0x62); db(0x22); db(0x40); db(0x72); db(0x01); db(0x30); db(0x3c); + db(0xff); db(0x48); db(0x61); db(0x00); db(0x15); db(0xd6); db(0x4e); db(0x90); db(0x4c); db(0xdf); db(0x7f); db(0xff); db(0x4e); db(0x75); db(0x48); db(0xe7); db(0x38); db(0x22); db(0x2c); db(0x78); db(0x00); db(0x04); db(0x24); db(0x00); db(0x28); db(0x01); db(0x26); db(0x09); db(0x24); db(0x48); db(0x43); db(0xfa); - db(0x17); db(0xaf); db(0x70); db(0x00); db(0x4e); db(0xae); db(0xfd); db(0xd8); + db(0x16); db(0xb3); db(0x70); db(0x00); db(0x4e); db(0xae); db(0xfd); db(0xd8); db(0x4a); db(0x80); db(0x67); db(0x14); db(0x2c); db(0x40); db(0x22); db(0x0a); db(0xe4); db(0x8b); db(0x4e); db(0xae); db(0xff); db(0x76); db(0x22); db(0x4e); db(0x2c); db(0x78); db(0x00); db(0x04); db(0x4e); db(0xae); db(0xfe); db(0x62); db(0x4c); db(0xdf); db(0x44); db(0x1c); db(0x4e); db(0x75); db(0x2c); db(0x78); db(0x00); db(0x04); db(0x70); db(0x00); db(0x08); db(0xc0); db(0x00); db(0x0d); - db(0x4e); db(0xae); db(0xfe); db(0xc2); db(0x41); db(0xfa); db(0x17); db(0x60); + db(0x4e); db(0xae); db(0xfe); db(0xc2); db(0x41); db(0xfa); db(0x16); db(0x64); db(0x43); db(0xfa); db(0x00); db(0x16); db(0x70); db(0x0f); db(0x22); db(0x3c); db(0x00); db(0x00); db(0x1f); db(0x40); db(0x61); db(0x00); db(0xff); db(0xa8); db(0x60); db(0xdc); db(0x00); db(0x00); db(0x00); db(0x00); db(0x00); db(0x10); db(0x00); db(0x00); db(0x00); db(0x00); db(0x72); db(0x02); db(0x30); db(0x3c); - db(0xff); db(0x48); db(0x61); db(0x00); db(0x16); db(0x5a); db(0x4e); db(0x90); - db(0x22); db(0x00); db(0x6b); db(0x04); db(0x61); db(0x00); db(0x08); db(0xec); + db(0xff); db(0x48); db(0x61); db(0x00); db(0x15); db(0x5e); db(0x4e); db(0x90); + db(0x22); db(0x00); db(0x6b); db(0x04); db(0x61); db(0x00); db(0x07); db(0xf0); db(0x70); db(0x00); db(0x4e); db(0x75); db(0x48); db(0xe7); db(0x00); db(0x20); - db(0x30); db(0x3c); db(0xff); db(0x50); db(0x61); db(0x00); db(0x16); db(0x40); + db(0x30); db(0x3c); db(0xff); db(0x50); db(0x61); db(0x00); db(0x15); db(0x44); db(0x70); db(0x00); db(0x4e); db(0x90); db(0x4a); db(0x80); db(0x67); db(0x00); db(0x00); db(0xa2); db(0x2c); db(0x78); db(0x00); db(0x04); db(0x30); db(0x3c); - db(0xff); db(0x50); db(0x61); db(0x00); db(0x16); db(0x2a); db(0x70); db(0x02); + db(0xff); db(0x50); db(0x61); db(0x00); db(0x15); db(0x2e); db(0x70); db(0x02); db(0x4e); db(0x90); db(0x0c); db(0x40); db(0x00); db(0x01); db(0x6d); db(0x00); db(0x00); db(0x7c); db(0x6e); db(0x06); db(0x4e); db(0xae); db(0xfe); db(0x92); db(0x60); db(0xe4); db(0x0c); db(0x40); db(0x00); db(0x02); db(0x6e); db(0x08); @@ -104,29 +99,29 @@ db(0x00); db(0x18); db(0x25); db(0x49); db(0x00); db(0x1a); db(0x20); db(0x69); db(0x00); db(0x10); db(0x22); db(0x4a); db(0x4e); db(0xae); db(0xfe); db(0x92); db(0x60); db(0x00); db(0xff); db(0x74); db(0x30); db(0x3c); db(0xff); db(0x50); - db(0x61); db(0x00); db(0x15); db(0x9c); db(0x70); db(0x04); db(0x4e); db(0x90); + db(0x61); db(0x00); db(0x14); db(0xa0); db(0x70); db(0x04); db(0x4e); db(0x90); db(0x70); db(0x01); db(0x4c); db(0xdf); db(0x04); db(0x00); db(0x4e); db(0x75); db(0x48); db(0xe7); db(0xc0); db(0xe0); db(0x30); db(0x3c); db(0xff); db(0x38); - db(0x72); db(0x12); db(0x61); db(0x00); db(0x15); db(0x82); db(0x4e); db(0x90); + db(0x72); db(0x12); db(0x61); db(0x00); db(0x14); db(0x86); db(0x4e); db(0x90); db(0x24); db(0x40); db(0x70); db(0x16); db(0x22); db(0x3c); db(0x00); db(0x01); db(0x00); db(0x01); db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x22); db(0x40); db(0x13); db(0x7c); db(0x00); db(0x02); db(0x00); db(0x08); db(0x13); db(0x7c); - db(0x00); db(0xf6); db(0x00); db(0x09); db(0x41); db(0xfa); db(0x16); db(0x0f); + db(0x00); db(0xf6); db(0x00); db(0x09); db(0x41); db(0xfa); db(0x15); db(0x13); db(0x23); db(0x48); db(0x00); db(0x0a); db(0x41); db(0xfa); db(0x00); db(0x16); db(0x23); db(0x48); db(0x00); db(0x12); db(0x23); db(0x4a); db(0x00); db(0x0e); db(0x70); db(0x05); db(0x4e); db(0xae); db(0xff); db(0x58); db(0x4c); db(0xdf); db(0x07); db(0x03); db(0x4e); db(0x75); db(0x52); db(0x91); db(0x70); db(0x00); db(0x4e); db(0x75); db(0x48); db(0xe7); db(0xc0); db(0xc0); db(0x61); db(0x00); - db(0xfc); db(0x88); db(0x70); db(0x1a); db(0x22); db(0x3c); db(0x00); db(0x01); + db(0xfc); db(0xb0); db(0x70); db(0x1a); db(0x22); db(0x3c); db(0x00); db(0x01); db(0x00); db(0x01); db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x22); db(0x40); - db(0x41); db(0xfa); db(0x15); db(0xe2); db(0x23); db(0x48); db(0x00); db(0x0a); + db(0x41); db(0xfa); db(0x14); db(0xe6); db(0x23); db(0x48); db(0x00); db(0x0a); db(0x41); db(0xfa); db(0xfe); db(0xd2); db(0x23); db(0x48); db(0x00); db(0x0e); db(0x41); db(0xfa); db(0xfe); db(0xca); db(0x23); db(0x48); db(0x00); db(0x12); db(0x33); db(0x7c); db(0x02); db(0x14); db(0x00); db(0x08); db(0x70); db(0x03); db(0x4e); db(0xae); db(0xff); db(0x58); db(0x61); db(0x00); db(0xff); db(0x72); db(0x30); db(0x3c); db(0xff); db(0x38); db(0x72); db(0x04); db(0x61); db(0x00); - db(0x14); db(0xf6); db(0x4e); db(0x90); db(0x4a); db(0x80); db(0x67); db(0x04); - db(0x61); db(0x00); db(0x0b); db(0xc8); db(0x4c); db(0xdf); db(0x03); db(0x03); + db(0x13); db(0xfa); db(0x4e); db(0x90); db(0x4a); db(0x80); db(0x67); db(0x04); + db(0x61); db(0x00); db(0x0a); db(0xcc); db(0x4c); db(0xdf); db(0x03); db(0x03); db(0x4e); db(0x75); db(0x48); db(0xe7); db(0xc0); db(0xf2); db(0x2c); db(0x78); db(0x00); db(0x04); db(0x24); db(0x48); db(0x26); db(0x49); db(0x20); db(0x3c); db(0x00); db(0x00); db(0x00); db(0xbe); db(0x22); db(0x3c); db(0x00); db(0x01); @@ -135,7 +130,7 @@ db(0x00); db(0x00); db(0x00); db(0x0e); db(0x52); db(0x40); db(0x0c); db(0x40); db(0x00); db(0x8c); db(0x66); db(0xf2); db(0x20); db(0x0a); db(0xe4); db(0x88); db(0x21); db(0x40); db(0x00); db(0x36); db(0x22); db(0x48); db(0x41); db(0xfa); - db(0x15); db(0x64); db(0x23); db(0x48); db(0x00); db(0x0a); db(0x20); db(0x6b); + db(0x14); db(0x68); db(0x23); db(0x48); db(0x00); db(0x0a); db(0x20); db(0x6b); db(0x01); db(0x98); db(0x41); db(0xe8); db(0x00); db(0x12); db(0x4e); db(0xae); db(0xff); db(0x10); db(0x4c); db(0xdf); db(0x4f); db(0x03); db(0x4e); db(0x75); db(0x48); db(0xe7); db(0x7f); db(0x7e); db(0x2c); db(0x78); db(0x00); db(0x04); @@ -146,8 +141,8 @@ db(0xd7); db(0xc0); db(0x28); db(0x4a); db(0x9b); db(0xcd); db(0x7c); db(0x00); db(0x24); db(0x12); db(0x72); db(0x01); db(0x08); db(0x02); db(0x00); db(0x1e); db(0x67); db(0x04); db(0x08); db(0xc1); db(0x00); db(0x01); db(0x08); db(0xc1); - db(0x00); db(0x10); db(0xe5); db(0x8a); db(0x20); db(0x02); db(0x66); db(0x04); - db(0x42); db(0x9a); db(0x60); db(0x1e); db(0x50); db(0x80); db(0x4e); db(0xae); + db(0x00); db(0x10); db(0xe5); db(0x8a); db(0x66); db(0x04); db(0x42); db(0x9a); + db(0x60); db(0x20); db(0x50); db(0x82); db(0x20); db(0x02); db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x4a); db(0x80); db(0x67); db(0x00); db(0x00); db(0xa0); db(0x20); db(0x40); db(0x20); db(0xc2); db(0x24); db(0xc8); db(0x22); db(0x0d); db(0x67); db(0x06); db(0x20); db(0x08); db(0xe4); db(0x88); db(0x2a); db(0x80); @@ -172,13 +167,13 @@ db(0x60); db(0xf4); db(0x48); db(0xe7); db(0x40); db(0xe2); db(0x2c); db(0x78); db(0x00); db(0x04); db(0x41); db(0xee); db(0x01); db(0x50); db(0x20); db(0x50); db(0x4a); db(0x90); db(0x67); db(0x1a); db(0x22); db(0x68); db(0x00); db(0x0a); - db(0x45); db(0xfa); db(0x14); db(0xb6); db(0x10); db(0x19); db(0x12); db(0x1a); + db(0x45); db(0xfa); db(0x13); db(0xba); db(0x10); db(0x19); db(0x12); db(0x1a); db(0xb0); db(0x01); db(0x66); db(0x06); db(0x4a); db(0x00); db(0x67); db(0x42); db(0x60); db(0xf2); db(0x20); db(0x50); db(0x60); db(0xe2); db(0x70); db(0x20); db(0x22); db(0x3c); db(0x00); db(0x01); db(0x00); db(0x01); db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x24); db(0x40); db(0x15); db(0x7c); db(0x00); db(0x08); - db(0x00); db(0x08); db(0x41); db(0xfa); db(0x14); db(0x8c); db(0x25); db(0x48); - db(0x00); db(0x0a); db(0x41); db(0xfa); db(0x14); db(0x08); db(0x25); db(0x48); + db(0x00); db(0x08); db(0x41); db(0xfa); db(0x13); db(0x90); db(0x25); db(0x48); + db(0x00); db(0x0a); db(0x41); db(0xfa); db(0x13); db(0x0c); db(0x25); db(0x48); db(0x00); db(0x0e); db(0x41); db(0xea); db(0x00); db(0x12); db(0x20); db(0x88); db(0x58); db(0x90); db(0x21); db(0x48); db(0x00); db(0x08); db(0x41); db(0xee); db(0x01); db(0x50); db(0x22); db(0x4a); db(0x4e); db(0xae); db(0xff); db(0x0a); @@ -283,561 +278,530 @@ db(0x4c); db(0xdf); db(0x7c); db(0xfc); db(0x20); db(0x6c); db(0x00); db(0x24); db(0x4a); db(0x90); db(0x4e); db(0x75); db(0x61); db(0x00); db(0xfc); db(0x7c); db(0x21); db(0x40); db(0x01); db(0x98); db(0x2f); db(0x08); db(0x30); db(0x3c); - db(0xff); db(0xec); db(0x61); db(0x00); db(0x10); db(0x02); db(0x2a); db(0x50); - db(0x30); db(0x3c); db(0xff); db(0x28); db(0x61); db(0x00); db(0x0f); db(0xf8); + db(0xff); db(0xec); db(0x61); db(0x00); db(0x0f); db(0x06); db(0x2a); db(0x50); + db(0x30); db(0x3c); db(0xff); db(0x28); db(0x61); db(0x00); db(0x0e); db(0xfc); db(0x22); db(0x48); db(0x20); db(0x5f); db(0x42); db(0xa8); db(0x01); db(0x90); - db(0x42); db(0xa8); db(0x01); db(0x94); db(0x4e); db(0x91); db(0x4a); db(0x80); - db(0x67); db(0x00); db(0x00); db(0xcc); db(0x20); db(0x28); db(0x01); db(0x90); - db(0x67); db(0x18); db(0x6b); db(0x16); db(0x2f); db(0x08); db(0x72); db(0x01); - db(0x2c); db(0x78); db(0x00); db(0x04); db(0x4e); db(0xae); db(0xff); db(0x3a); - db(0x20); db(0x5f); db(0x21); db(0x40); db(0x01); db(0x94); db(0x67); db(0x00); - db(0x00); db(0xae); db(0x2c); db(0x4c); db(0x2f); db(0x08); db(0x4e); db(0xae); - db(0xff); db(0x70); db(0x20); db(0x5f); db(0x22); db(0x48); db(0x26); db(0x40); - db(0x30); db(0x3c); db(0xff); db(0x20); db(0x61); db(0x00); db(0x0f); db(0xb0); - db(0x4e); db(0x90); db(0x70); db(0x00); db(0x27); db(0x40); db(0x00); db(0x08); - db(0x27); db(0x40); db(0x00); db(0x10); db(0x27); db(0x40); db(0x00); db(0x20); - db(0x20); db(0x29); db(0x01); db(0x94); db(0x67); db(0x22); db(0x20); db(0x40); - db(0x61); db(0x00); db(0xfb); db(0x06); db(0x48); db(0xe7); db(0x80); db(0xc0); - db(0x20); db(0x29); db(0x01); db(0x90); db(0x22); db(0x69); db(0x01); db(0x94); - db(0x2c); db(0x78); db(0x00); db(0x04); db(0x4e); db(0xae); db(0xff); db(0x2e); - db(0x4c); db(0xdf); db(0x03); db(0x01); db(0x61); db(0x00); db(0xfa); db(0x94); - db(0x30); db(0x3c); db(0xff); db(0x18); db(0x61); db(0x00); db(0x0f); db(0x70); - db(0x4e); db(0x90); db(0x16); db(0x29); db(0x00); db(0x4f); db(0x0c); db(0x03); - db(0x00); db(0x80); db(0x67); db(0x38); db(0x2c); db(0x78); db(0x00); db(0x04); - db(0x70); db(0x14); db(0x22); db(0x3c); db(0x00); db(0x01); db(0x00); db(0x01); - db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x22); db(0x40); db(0x30); db(0x3c); - db(0x10); db(0x00); db(0x80); db(0x03); db(0x33); db(0x40); db(0x00); db(0x08); - db(0x23); db(0x6d); db(0x01); db(0x04); db(0x00); db(0x0a); db(0x23); db(0x4b); - db(0x00); db(0x10); db(0x41); db(0xec); db(0x00); db(0x4a); db(0x4e); db(0xae); - db(0xff); db(0x7c); db(0x4e); db(0xae); db(0xfe); db(0xf2); db(0x4e); db(0xae); - db(0xff); db(0x76); db(0x60); db(0x12); db(0x24); db(0x49); db(0x20); db(0x4b); - db(0x72); db(0x00); db(0x22); db(0x41); db(0x72); db(0x01); db(0x70); db(0xec); - db(0x2c); db(0x4c); db(0x4e); db(0xae); db(0xff); db(0x6a); db(0x4e); db(0x75); - db(0x61); db(0x00); db(0xfb); db(0x80); db(0x21); db(0x40); db(0x01); db(0x98); - db(0x2f); db(0x08); db(0x30); db(0x3c); db(0xff); db(0xec); db(0x61); db(0x00); - db(0x0f); db(0x06); db(0x2a); db(0x50); db(0x30); db(0x3c); db(0xff); db(0x28); - db(0x61); db(0x00); db(0x0e); db(0xfc); db(0x22); db(0x48); db(0x20); db(0x5f); - db(0x42); db(0xa8); db(0x01); db(0x90); db(0x42); db(0xa8); db(0x01); db(0x94); - db(0x4e); db(0x91); db(0x26); db(0x00); db(0x0c); db(0x43); db(0xff); db(0xfe); - db(0x67); db(0x00); db(0xf8); db(0x1a); db(0x20); db(0x28); db(0x01); db(0x90); - db(0x67); db(0x14); db(0x6b); db(0x12); db(0x2f); db(0x08); db(0x72); db(0x01); - db(0x2c); db(0x78); db(0x00); db(0x04); db(0x4e); db(0xae); db(0xff); db(0x3a); - db(0x20); db(0x5f); db(0x21); db(0x40); db(0x01); db(0x94); db(0x4a); db(0x83); - db(0x6a); db(0x0e); db(0x22); db(0x48); db(0x30); db(0x3c); db(0xff); db(0x20); - db(0x61); db(0x00); db(0x0e); db(0xbc); db(0x4e); db(0x90); db(0x60); db(0x26); - db(0x2c); db(0x4c); db(0x2f); db(0x08); db(0x4e); db(0xae); db(0xff); db(0x70); - db(0x20); db(0x5f); db(0x22); db(0x48); db(0x26); db(0x40); db(0x30); db(0x3c); - db(0xff); db(0x20); db(0x61); db(0x00); db(0x0e); db(0xa2); db(0x4e); db(0x90); - db(0x70); db(0x00); db(0x27); db(0x40); db(0x00); db(0x08); db(0x27); db(0x40); - db(0x00); db(0x10); db(0x27); db(0x40); db(0x00); db(0x20); db(0x4a); db(0xa9); - db(0x01); db(0x94); db(0x67); db(0x28); db(0x20); db(0x69); db(0x01); db(0x94); - db(0x61); db(0x00); db(0xf9); db(0xf6); db(0x48); db(0xe7); db(0x80); db(0xc0); - db(0x20); db(0x29); db(0x01); db(0x90); db(0x22); db(0x69); db(0x01); db(0x94); - db(0x2c); db(0x78); db(0x00); db(0x04); db(0x4e); db(0xae); db(0xff); db(0x2e); - db(0x4c); db(0xdf); db(0x03); db(0x01); db(0x4a); db(0x80); db(0x67); db(0x04); - db(0x61); db(0x00); db(0xf9); db(0x80); db(0x4a); db(0x83); db(0x6b); db(0x00); - db(0xf7); db(0x94); db(0x30); db(0x3c); db(0xff); db(0x18); db(0x61); db(0x00); - db(0x0e); db(0x56); db(0x4e); db(0x90); db(0x20); db(0x03); db(0x16); db(0x29); - db(0x00); db(0x4f); db(0x4a); db(0x80); db(0x66); db(0x1a); db(0x27); db(0x7c); - db(0x00); db(0x00); db(0x17); db(0x70); db(0x00); db(0x14); db(0x41); db(0xfa); - db(0xf5); db(0x54); db(0x20); db(0x08); db(0xe4); db(0x88); db(0x27); db(0x40); - db(0x00); db(0x20); db(0x70); db(0xff); db(0x27); db(0x40); db(0x00); db(0x24); - db(0x08); db(0x07); db(0x00); db(0x00); db(0x67); db(0x40); db(0x0c); db(0x03); - db(0x00); db(0x80); db(0x67); db(0x3a); db(0x2c); db(0x78); db(0x00); db(0x04); - db(0x70); db(0x14); db(0x22); db(0x3c); db(0x00); db(0x01); db(0x00); db(0x01); - db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x22); db(0x40); db(0x30); db(0x3c); - db(0x10); db(0x00); db(0x80); db(0x03); db(0x33); db(0x40); db(0x00); db(0x08); - db(0x23); db(0x6d); db(0x01); db(0x04); db(0x00); db(0x0a); db(0x23); db(0x4b); - db(0x00); db(0x10); db(0x41); db(0xec); db(0x00); db(0x4a); db(0x4e); db(0xae); - db(0xff); db(0x7c); db(0x4e); db(0xae); db(0xfe); db(0xf2); db(0x4e); db(0xae); - db(0xff); db(0x76); db(0x70); db(0x00); db(0x4e); db(0x75); db(0x24); db(0x49); - db(0x20); db(0x4b); db(0x72); db(0x00); db(0x22); db(0x41); db(0x08); db(0x07); - db(0x00); db(0x01); db(0x67); db(0x08); db(0x08); db(0x07); db(0x00); db(0x02); - db(0x67); db(0x02); db(0x72); db(0x01); db(0x70); db(0x80); db(0x2c); db(0x4c); - db(0x4e); db(0xae); db(0xff); db(0x6a); db(0x08); db(0x07); db(0x00); db(0x01); - db(0x67); db(0x5c); db(0x08); db(0x07); db(0x00); db(0x02); db(0x66); db(0x56); - db(0x20); db(0x52); db(0x74); db(0x02); db(0x52); db(0x82); db(0x4a); db(0x30); - db(0x28); db(0xfd); db(0x66); db(0xf8); db(0x2c); db(0x78); db(0x00); db(0x04); - db(0x20); db(0x02); db(0x72); db(0x01); db(0x4e); db(0xae); db(0xff); db(0x3a); - db(0x4a); db(0x80); db(0x67); db(0x3a); db(0x20); db(0x52); db(0x24); db(0x40); - db(0x22); db(0x4a); db(0x12); db(0xd8); db(0x66); db(0xfc); db(0x13); db(0x7c); - db(0x00); db(0x3a); db(0xff); db(0xff); db(0x42); db(0x11); db(0x2c); db(0x78); - db(0x00); db(0x04); db(0x43); db(0xfa); db(0x0e); db(0x83); db(0x70); db(0x00); - db(0x4e); db(0xae); db(0xfd); db(0xd8); db(0x2c); db(0x40); db(0x22); db(0x0a); - db(0x4e); db(0xae); db(0xff); db(0x52); db(0x22); db(0x4e); db(0x2c); db(0x78); - db(0x00); db(0x04); db(0x4e); db(0xae); db(0xfe); db(0x62); db(0x22); db(0x4a); - db(0x20); db(0x02); db(0x4e); db(0xae); db(0xff); db(0x2e); db(0x70); db(0x00); - db(0x4e); db(0x75); db(0x48); db(0xe7); db(0x3f); db(0x3e); db(0x2c); db(0x01); - db(0x7e); db(0x06); db(0x2c); db(0x78); db(0x00); db(0x04); db(0x43); db(0xfa); - db(0x0e); db(0x7e); db(0x70); db(0x24); db(0x4e); db(0xae); db(0xfd); db(0xd8); - db(0x4a); db(0x80); db(0x66); db(0x0e); db(0x08); db(0x87); db(0x00); db(0x02); - db(0x43); db(0xfa); db(0x0e); db(0x6c); db(0x70); db(0x00); db(0x4e); db(0xae); - db(0xfd); db(0xd8); db(0x28); db(0x40); db(0x20); db(0x3c); db(0x00); db(0x00); - db(0x02); db(0x2c); db(0x22); db(0x3c); db(0x00); db(0x01); db(0x00); db(0x01); - db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x20); db(0x40); db(0x4a); db(0x80); - db(0x67); db(0x2c); db(0x21); db(0x4c); db(0x01); db(0x9c); db(0x48); db(0xe7); - db(0x00); db(0x8a); db(0x61); db(0x00); db(0xfe); db(0x04); db(0x4c); db(0xdf); - db(0x51); db(0x00); db(0x0c); db(0x80); db(0xff); db(0xff); db(0xff); db(0xfe); - db(0x67); db(0x08); db(0x48); db(0x46); db(0x52); db(0x46); db(0x48); db(0x46); - db(0x60); db(0xe4); db(0x22); db(0x48); db(0x20); db(0x3c); db(0x00); db(0x00); - db(0x02); db(0x2c); db(0x4e); db(0xae); db(0xff); db(0x2e); db(0x22); db(0x4c); - db(0x4e); db(0xae); db(0xfe); db(0x62); db(0x4c); db(0xdf); db(0x7c); db(0xfc); - db(0x4e); db(0x75); db(0x30); db(0x3c); db(0xff); db(0x58); db(0x61); db(0x00); - db(0x0c); db(0xe6); db(0x70); db(0x03); db(0x4e); db(0x90); db(0x22); db(0x6b); - db(0x00); db(0xa8); db(0x23); db(0x40); db(0x00); db(0x20); db(0x67); db(0x16); - db(0x70); db(0x00); db(0x23); db(0x40); db(0x00); db(0x24); db(0x33); db(0x7c); - db(0x00); db(0x0b); db(0x00); db(0x1c); db(0x13); db(0x7c); db(0x00); db(0x01); - db(0x00); db(0x1e); db(0x4e); db(0xae); db(0xfe); db(0x38); db(0x4e); db(0x75); - db(0x2c); db(0x78); db(0x00); db(0x04); db(0x93); db(0xc9); db(0x4e); db(0xae); - db(0xfe); db(0xda); db(0x20); db(0x40); db(0x4b); db(0xe8); db(0x00); db(0x5c); - db(0x43); db(0xfa); db(0x0d); db(0xa5); db(0x70); db(0x00); db(0x4e); db(0xae); - db(0xfd); db(0xd8); db(0x24); db(0x40); db(0x20); db(0x3c); db(0x00); db(0x00); - db(0x00); db(0xb9); db(0x22); db(0x3c); db(0x00); db(0x01); db(0x00); db(0x01); - db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x26); db(0x40); db(0x7c); db(0x00); - db(0x26); db(0x86); db(0x27); db(0x46); db(0x00); db(0x04); db(0x27); db(0x46); - db(0x00); db(0x08); db(0x27); db(0x4a); db(0x00); db(0xa0); db(0x50); db(0xeb); - db(0x00); db(0x9e); db(0x93); db(0xc9); db(0x4e); db(0xae); db(0xfe); db(0xda); - db(0x27); db(0x40); db(0x00); db(0xb0); db(0x41); db(0xfa); db(0x0c); db(0x7e); - db(0x70); db(0x00); db(0x72); db(0x00); db(0x61); db(0x00); db(0x02); db(0xae); - db(0x27); db(0x40); db(0x00); db(0xa4); db(0x41); db(0xfa); db(0x0c); db(0x7b); - db(0x70); db(0x00); db(0x72); db(0x00); db(0x61); db(0x00); db(0x02); db(0x9e); - db(0x27); db(0x40); db(0x00); db(0xa8); db(0x7a); db(0x00); db(0x20); db(0x4d); - db(0x4e); db(0xae); db(0xfe); db(0x80); db(0x20); db(0x4d); db(0x4e); db(0xae); - db(0xfe); db(0x8c); db(0x28); db(0x40); db(0x26); db(0x2c); db(0x00); db(0x0a); - db(0x30); db(0x3c); db(0xff); db(0x40); db(0x61); db(0x00); db(0x0c); db(0x38); - db(0x70); db(0x00); db(0x4e); db(0x90); db(0x24); db(0x00); db(0x70); db(0x01); - db(0x61); db(0x00); db(0xf9); db(0x08); db(0x08); db(0x02); db(0x00); db(0x01); - db(0x67); db(0x06); db(0x70); db(0x01); db(0x61); db(0x00); db(0xfa); db(0x70); - db(0x60); db(0x00); db(0x01); db(0x2e); db(0x20); db(0x4d); db(0x4e); db(0xae); - db(0xfe); db(0x8c); db(0x28); db(0x40); db(0x4a); db(0x80); db(0x66); db(0x10); - db(0x70); db(0x00); db(0x12); db(0x2d); db(0x00); db(0x0f); db(0x03); db(0xc0); - db(0x08); db(0xc0); db(0x00); db(0x0d); db(0x4e); db(0xae); db(0xfe); db(0xc2); - db(0x4a); db(0x2b); db(0x00); db(0xad); db(0x67); db(0x08); db(0x61); db(0x00); - db(0xff); db(0x0a); db(0x42); db(0x2b); db(0x00); db(0xad); db(0x4a); db(0x2b); - db(0x00); db(0xac); db(0x67); db(0x24); db(0x30); db(0x3c); db(0xff); db(0x58); - db(0x61); db(0x00); db(0x0b); db(0xe4); db(0x70); db(0x01); db(0x4e); db(0x90); - db(0x4a); db(0x80); db(0x67); db(0x04); db(0x61); db(0x00); db(0xfa); db(0xfe); - db(0x42); db(0x2b); db(0x00); db(0xac); db(0x30); db(0x3c); db(0xff); db(0x58); - db(0x61); db(0x00); db(0x0b); db(0xcc); db(0x70); db(0x02); db(0x4e); db(0x90); - db(0x20); db(0x0c); db(0x67); db(0x56); db(0x0c); db(0x6c); db(0x00); db(0x26); - db(0x00); db(0x12); db(0x66); db(0x4e); db(0x0c); db(0xac); db(0x40); db(0x00); - db(0x00); db(0x00); db(0x00); db(0x14); db(0x66); db(0x44); db(0x0c); db(0x6c); - db(0x12); db(0x34); db(0x00); db(0x18); db(0x66); db(0x3c); db(0x20); db(0x6c); - db(0x00); db(0x1a); db(0x20); db(0x28); db(0x00); db(0x0c); db(0x02); db(0x80); - db(0x80); db(0x00); db(0x00); db(0x08); db(0x0c); db(0x80); db(0x80); db(0x00); - db(0x00); db(0x08); db(0x66); db(0x1a); db(0x02); db(0xa8); db(0x7f); db(0xff); - db(0xff); db(0xff); db(0x00); db(0x0c); db(0x20); db(0x68); db(0x00); db(0x10); - db(0x22); db(0x4c); db(0x12); db(0xbc); db(0x00); db(0x08); db(0x4e); db(0xae); - db(0xfe); db(0x92); db(0x60); db(0x00); db(0xff); db(0x60); db(0x22); db(0x4c); - db(0x70); db(0x26); db(0x4e); db(0xae); db(0xff); db(0x2e); db(0x60); db(0x00); - db(0xff); db(0x54); db(0x74); db(0xfe); db(0x20); db(0x0c); db(0x67); db(0x14); - db(0x26); db(0x2c); db(0x00); db(0x0a); db(0x66); db(0x42); db(0x74); db(0xff); - db(0x30); db(0x3c); db(0xff); db(0x50); db(0x61); db(0x00); db(0x0b); db(0x58); - db(0x70); db(0x01); db(0x4e); db(0x90); db(0x45); db(0xeb); db(0x00); db(0x04); - db(0x20); db(0x52); db(0x20); db(0x08); db(0x67); db(0x00); db(0xff); db(0x2e); - db(0x22); db(0x50); db(0x20); db(0x40); db(0x20); db(0x28); db(0x00); db(0x04); - db(0xb4); db(0x80); db(0x66); db(0x16); db(0x48); db(0xe7); db(0x00); db(0xc0); - db(0x28); db(0x68); db(0x00); db(0x0a); db(0x61); db(0x4a); db(0x53); db(0x85); - db(0x4c); db(0xdf); db(0x03); db(0x00); db(0x24); db(0x89); db(0x20); db(0x49); - db(0x60); db(0xd8); db(0x24); db(0x48); db(0x20); db(0x49); db(0x60); db(0xd2); - db(0x0c); db(0x85); db(0x00); db(0x00); db(0x00); db(0x14); db(0x65); db(0x00); - db(0x00); db(0x0a); db(0x70); db(0x01); db(0x29); db(0x40); db(0x00); db(0x04); - db(0x60); db(0x12); db(0x61); db(0x5e); db(0x30); db(0x3c); db(0xff); db(0x30); - db(0x61); db(0x00); db(0x0b); db(0x04); db(0x4e); db(0x90); db(0x4a); db(0x80); - db(0x67); db(0x0e); db(0x52); db(0x85); db(0x28); db(0xab); db(0x00); db(0x04); - db(0x27); db(0x4c); db(0x00); db(0x04); db(0x60); db(0x00); db(0xfe); db(0xd6); - db(0x28); db(0x43); db(0x61); db(0x04); db(0x60); db(0x00); db(0xfe); db(0xce); - db(0x0c); db(0xac); db(0x00); db(0x00); db(0x00); db(0x1f); db(0x00); db(0x08); - db(0x66); db(0x04); db(0x61); db(0x00); db(0xf9); db(0xe6); db(0x0c); db(0xac); - db(0x00); db(0x00); db(0x04); db(0x09); db(0x00); db(0x08); db(0x66); db(0x14); - db(0x61); db(0x00); db(0xfa); db(0x14); db(0x66); db(0x0e); db(0x30); db(0x3c); - db(0xff); db(0x58); db(0x61); db(0x00); db(0x0a); db(0xc2); db(0x70); db(0x00); - db(0x4e); db(0x90); db(0x60); db(0xec); db(0x22); db(0x54); db(0x20); db(0x6c); - db(0x00); db(0x04); db(0x29); db(0x4d); db(0x00); db(0x04); db(0x4e); db(0xee); - db(0xfe); db(0x92); db(0x2f); db(0x05); db(0x7a); db(0xfc); db(0x24); db(0x53); - db(0x2e); db(0x0a); db(0x22); db(0x0a); db(0x67); db(0x00); db(0x00); db(0x0c); - db(0x52); db(0x85); db(0x67); db(0x1e); db(0x22); db(0x4a); db(0x24); db(0x52); - db(0x60); db(0xf0); db(0x52); db(0x85); db(0x67); db(0x3c); db(0x24); db(0x47); - db(0x70); db(0x18); db(0x72); db(0x01); db(0x4e); db(0xae); db(0xff); db(0x3a); - db(0x52); db(0x46); db(0x24); db(0x40); db(0x24); db(0x87); db(0x2e); db(0x0a); - db(0x60); db(0xe8); db(0x20); db(0x12); db(0x67); db(0x24); db(0x20); db(0x40); - db(0x20); db(0x10); db(0x67); db(0x1e); db(0x20); db(0x40); db(0x20); db(0x10); - db(0x67); db(0x18); db(0x70); db(0x00); db(0x22); db(0x80); db(0x22); db(0x4a); - db(0x24); db(0x51); db(0x70); db(0x18); db(0x4e); db(0xae); db(0xff); db(0x2e); - db(0x06); db(0x86); db(0x00); db(0x01); db(0x00); db(0x00); db(0x20); db(0x0a); - db(0x66); db(0xec); db(0x26); db(0x87); db(0x2a); db(0x1f); db(0x4e); db(0x75); - db(0x20); db(0x88); db(0x58); db(0x90); db(0x42); db(0xa8); db(0x00); db(0x04); - db(0x21); db(0x48); db(0x00); db(0x08); db(0x4e); db(0x75); db(0x48); db(0xe7); - db(0x20); db(0x22); db(0x2c); db(0x78); db(0x00); db(0x04); db(0x70); db(0xff); - db(0x4e); db(0xae); db(0xfe); db(0xb6); db(0x91); db(0xc8); db(0x24); db(0x00); - db(0x6b); db(0x32); db(0x70); db(0x22); db(0x22); db(0x3c); db(0x00); db(0x01); - db(0x00); db(0x01); db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x91); db(0xc8); - db(0x24); db(0x40); db(0x4a); db(0x80); db(0x67); db(0x1e); db(0x15); db(0x7c); - db(0x00); db(0x04); db(0x00); db(0x08); db(0x15); db(0x42); db(0x00); db(0x0f); - db(0x93); db(0xc9); db(0x4e); db(0xae); db(0xfe); db(0xda); db(0x25); db(0x40); - db(0x00); db(0x10); db(0x41); db(0xea); db(0x00); db(0x14); db(0x61); db(0x00); - db(0xff); db(0xb0); db(0x20); db(0x4a); db(0x20); db(0x08); db(0x4c); db(0xdf); - db(0x44); db(0x04); db(0x4e); db(0x75); db(0x48); db(0xe7); db(0x20); db(0x22); - db(0x2c); db(0x78); db(0x00); db(0x04); db(0x4a); db(0x80); db(0x67); db(0x24); - db(0x24); db(0x40); db(0x24); db(0x01); db(0x66); db(0x02); db(0x74); db(0x30); - db(0x20); db(0x02); db(0x22); db(0x3c); db(0x00); db(0x01); db(0x00); db(0x01); - db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x20); db(0x40); db(0x11); db(0x7c); - db(0x00); db(0x0a); db(0x00); db(0x08); db(0x31); db(0x42); db(0x00); db(0x12); - db(0x21); db(0x4a); db(0x00); db(0x0e); db(0x4a); db(0x80); db(0x4c); db(0xdf); - db(0x44); db(0x04); db(0x4e); db(0x75); db(0x48); db(0xe7); db(0x30); db(0x22); - db(0x24); db(0x48); db(0x24); db(0x00); db(0x26); db(0x01); db(0x2c); db(0x78); - db(0x00); db(0x04); db(0x61); db(0x00); db(0xff); db(0x6a); db(0x22); db(0x03); - db(0x61); db(0x00); db(0xff); db(0xb2); db(0x67); db(0x18); db(0x20); db(0x4a); - db(0x22); db(0x40); db(0x24); db(0x40); db(0x20); db(0x02); db(0x72); db(0x00); - db(0x4e); db(0xae); db(0xfe); db(0x44); db(0x22); db(0x00); db(0x70); db(0x00); - db(0x4a); db(0x81); db(0x66); db(0x02); db(0x20); db(0x0a); db(0x4a); db(0x80); - db(0x4c); db(0xdf); db(0x44); db(0x0c); db(0x4e); db(0x75); db(0x48); db(0xe7); - db(0x38); db(0x32); db(0x2c); db(0x78); db(0x00); db(0x04); db(0x28); db(0x00); - db(0x24); db(0x08); db(0x26); db(0x09); db(0x20); db(0x3c); db(0x00); db(0x00); - db(0x08); db(0x5c); db(0x22); db(0x3c); db(0x00); db(0x01); db(0x00); db(0x01); - db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x4a); db(0x80); db(0x67); db(0x00); - db(0x00); db(0x34); db(0x24); db(0x40); db(0x15); db(0x7c); db(0x00); db(0x01); - db(0x00); db(0x08); db(0x15); db(0x44); db(0x00); db(0x09); db(0x25); db(0x42); - db(0x00); db(0x0a); db(0x47); db(0xea); db(0x00); db(0x5c); db(0x25); db(0x4b); - db(0x00); db(0x3a); db(0x47); db(0xeb); db(0x08); db(0x00); db(0x25); db(0x4b); - db(0x00); db(0x3e); db(0x25); db(0x4b); db(0x00); db(0x36); db(0x22); db(0x4a); - db(0x24); db(0x43); db(0x97); db(0xcb); db(0x24); db(0x09); db(0x4e); db(0xae); - db(0xfe); db(0xe6); db(0x20); db(0x02); db(0x4c); db(0xdf); db(0x4c); db(0x1c); - db(0x4e); db(0x75); db(0x41); db(0xfa); db(0x09); db(0xc0); db(0x43); db(0xfa); - db(0x01); db(0x30); db(0x70); db(0x13); db(0x61); db(0x00); db(0xff); db(0x98); - db(0x4e); db(0x75); db(0x22); db(0x6d); db(0x02); db(0x0c); db(0x33); db(0x7c); - db(0x00); db(0x0a); db(0x00); db(0x1c); db(0x13); db(0x7c); db(0x00); db(0x01); - db(0x00); db(0x1e); db(0x4e); db(0xae); db(0xfe); db(0x38); db(0x22); db(0x6d); - db(0x02); db(0x0c); db(0x25); db(0x69); db(0x00); db(0x20); db(0x00); db(0x0e); - db(0x25); db(0x69); db(0x00); db(0x24); db(0x00); db(0x12); db(0x22); db(0x6d); - db(0x02); db(0x08); db(0x13); db(0x7c); db(0x00); db(0x01); db(0x00); db(0x1e); - db(0x4e); db(0xae); db(0xfe); db(0x38); db(0x4e); db(0x75); db(0x42); db(0xaa); - db(0x00); db(0x0e); db(0x42); db(0xaa); db(0x00); db(0x12); db(0x22); db(0x6d); - db(0x02); db(0x08); db(0x13); db(0x7c); db(0x00); db(0x01); db(0x00); db(0x1e); - db(0x4e); db(0xae); db(0xfe); db(0x38); db(0x4e); db(0x75); db(0x48); db(0xe7); - db(0xf8); db(0xfe); db(0x2a); db(0x48); db(0x95); db(0xca); db(0x97); db(0xcb); - db(0x99); db(0xcc); db(0x78); db(0x00); db(0x2c); db(0x6d); db(0x00); db(0x18); - db(0x20); db(0x6d); db(0x00); db(0x14); db(0x20); db(0x28); db(0x00); db(0x3c); - db(0x67); db(0x5c); db(0x20); db(0x40); db(0x41); db(0xe8); db(0x00); db(0x2c); - db(0x28); db(0x48); db(0x4e); db(0xae); db(0xfc); db(0xe8); db(0x72); db(0xff); - db(0x74); db(0xff); db(0xb2); db(0x80); db(0x67); db(0x48); db(0x26); db(0x00); - db(0x2c); db(0x6d); db(0x00); db(0x14); db(0x41); db(0xed); db(0x00); db(0xc0); - db(0x70); db(0x66); db(0x4e); db(0xae); db(0xff); db(0x7c); db(0x41); db(0xed); - db(0x00); db(0xc0); db(0x38); db(0x28); db(0x00); db(0x64); db(0x2c); db(0x6d); - db(0x00); db(0x18); db(0x91); db(0xc8); db(0x43); db(0xed); db(0x00); db(0x38); - db(0x70); db(0x00); db(0x30); db(0x3c); db(0x00); db(0x58); db(0x22); db(0x3c); - db(0x80); db(0x00); db(0x10); db(0x00); db(0x24); db(0x03); db(0x4e); db(0xae); - db(0xfd); db(0x0c); db(0x72); db(0xff); db(0x74); db(0xff); db(0x4a); db(0x80); - db(0x6b); db(0x0c); db(0x45); db(0xed); db(0x00); db(0x38); db(0x22); db(0x2a); - db(0x00); db(0x32); db(0x24); db(0x2a); db(0x00); db(0x36); db(0x20); db(0x2c); - db(0x00); db(0x1c); db(0xb8); db(0x6d); db(0x00); db(0x2c); db(0x66); db(0x12); - db(0xb0); db(0xad); db(0x00); db(0x28); db(0x66); db(0x0c); db(0xb2); db(0xad); - db(0x00); db(0x20); db(0x66); db(0x06); db(0xb4); db(0xad); db(0x00); db(0x24); - db(0x67); db(0x40); db(0x2b); db(0x40); db(0x00); db(0x28); db(0x2b); db(0x41); - db(0x00); db(0x20); db(0x2b); db(0x42); db(0x00); db(0x24); db(0x3b); db(0x44); - db(0x00); db(0x2c); db(0x91); db(0xc8); db(0x43); db(0xed); db(0x00); db(0x90); - db(0x70); db(0x00); db(0x30); db(0x3c); db(0x00); db(0x58); db(0x22); db(0x3c); - db(0x80); db(0x00); db(0x00); db(0x00); db(0x24); db(0x03); db(0x4e); db(0xae); - db(0xfd); db(0x0c); db(0x4a); db(0x80); db(0x6b); db(0x04); db(0x47); db(0xed); - db(0x00); db(0x90); db(0x34); db(0x2d); db(0x00); db(0x2c); db(0x30); db(0x3c); - db(0xff); db(0x38); db(0x72); db(0x01); db(0x61); db(0x00); db(0x07); db(0xf8); - db(0x4e); db(0x90); db(0x4c); db(0xdf); db(0x7f); db(0x1f); db(0x4e); db(0x75); - db(0x2c); db(0x78); db(0x00); db(0x04); db(0x3e); db(0x2e); db(0x00); db(0x14); - db(0x70); db(0xff); db(0x4e); db(0xae); db(0xfe); db(0xb6); db(0x7c); db(0x00); - db(0x01); db(0xc6); db(0x93); db(0xc9); db(0x4e); db(0xae); db(0xfe); db(0xda); - db(0x28); db(0x40); db(0x70); db(0x14); db(0x22); db(0x4c); db(0x4e); db(0xae); - db(0xfe); db(0xd4); db(0x70); db(0x00); db(0x30); db(0x3c); db(0x02); db(0x3c); + db(0x42); db(0xa8); db(0x01); db(0x94); db(0x4e); db(0x91); db(0x26); db(0x00); + db(0x0c); db(0x43); db(0xff); db(0xfe); db(0x67); db(0x00); db(0xf9); db(0x16); + db(0x20); db(0x28); db(0x01); db(0x90); db(0x67); db(0x14); db(0x6b); db(0x12); + db(0x2f); db(0x08); db(0x72); db(0x01); db(0x2c); db(0x78); db(0x00); db(0x04); + db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x20); db(0x5f); db(0x21); db(0x40); + db(0x01); db(0x94); db(0x4a); db(0x83); db(0x6a); db(0x0e); db(0x22); db(0x48); + db(0x30); db(0x3c); db(0xff); db(0x20); db(0x61); db(0x00); db(0x0e); db(0xbc); + db(0x4e); db(0x90); db(0x60); db(0x26); db(0x2c); db(0x4c); db(0x2f); db(0x08); + db(0x4e); db(0xae); db(0xff); db(0x70); db(0x20); db(0x5f); db(0x22); db(0x48); + db(0x26); db(0x40); db(0x30); db(0x3c); db(0xff); db(0x20); db(0x61); db(0x00); + db(0x0e); db(0xa2); db(0x4e); db(0x90); db(0x70); db(0x00); db(0x27); db(0x40); + db(0x00); db(0x08); db(0x27); db(0x40); db(0x00); db(0x10); db(0x27); db(0x40); + db(0x00); db(0x20); db(0x4a); db(0xa9); db(0x01); db(0x94); db(0x67); db(0x28); + db(0x20); db(0x69); db(0x01); db(0x94); db(0x61); db(0x00); db(0xfa); db(0xf2); + db(0x48); db(0xe7); db(0x80); db(0xc0); db(0x20); db(0x29); db(0x01); db(0x90); + db(0x22); db(0x69); db(0x01); db(0x94); db(0x2c); db(0x78); db(0x00); db(0x04); + db(0x4e); db(0xae); db(0xff); db(0x2e); db(0x4c); db(0xdf); db(0x03); db(0x01); + db(0x4a); db(0x80); db(0x67); db(0x04); db(0x61); db(0x00); db(0xfa); db(0x7c); + db(0x4a); db(0x83); db(0x6b); db(0x00); db(0xf8); db(0x90); db(0x30); db(0x3c); + db(0xff); db(0x18); db(0x61); db(0x00); db(0x0e); db(0x56); db(0x4e); db(0x90); + db(0x20); db(0x03); db(0x16); db(0x29); db(0x00); db(0x4f); db(0x4a); db(0x80); + db(0x66); db(0x1a); db(0x27); db(0x7c); db(0x00); db(0x00); db(0x17); db(0x70); + db(0x00); db(0x14); db(0x41); db(0xfa); db(0xf6); db(0x78); db(0x20); db(0x08); + db(0xe4); db(0x88); db(0x27); db(0x40); db(0x00); db(0x20); db(0x70); db(0xff); + db(0x27); db(0x40); db(0x00); db(0x24); db(0x08); db(0x07); db(0x00); db(0x00); + db(0x67); db(0x40); db(0x0c); db(0x03); db(0x00); db(0x80); db(0x67); db(0x3a); + db(0x2c); db(0x78); db(0x00); db(0x04); db(0x70); db(0x14); db(0x22); db(0x3c); + db(0x00); db(0x01); db(0x00); db(0x01); db(0x4e); db(0xae); db(0xff); db(0x3a); + db(0x22); db(0x40); db(0x30); db(0x3c); db(0x10); db(0x00); db(0x80); db(0x03); + db(0x33); db(0x40); db(0x00); db(0x08); db(0x23); db(0x6d); db(0x01); db(0x04); + db(0x00); db(0x0a); db(0x23); db(0x4b); db(0x00); db(0x10); db(0x41); db(0xec); + db(0x00); db(0x4a); db(0x4e); db(0xae); db(0xff); db(0x7c); db(0x4e); db(0xae); + db(0xfe); db(0xf2); db(0x4e); db(0xae); db(0xff); db(0x76); db(0x70); db(0x00); + db(0x4e); db(0x75); db(0x24); db(0x49); db(0x20); db(0x4b); db(0x72); db(0x00); + db(0x22); db(0x41); db(0x08); db(0x07); db(0x00); db(0x01); db(0x67); db(0x08); + db(0x08); db(0x07); db(0x00); db(0x02); db(0x67); db(0x02); db(0x72); db(0x01); + db(0x70); db(0x80); db(0x2c); db(0x4c); db(0x4e); db(0xae); db(0xff); db(0x6a); + db(0x08); db(0x07); db(0x00); db(0x01); db(0x67); db(0x5c); db(0x08); db(0x07); + db(0x00); db(0x02); db(0x66); db(0x56); db(0x20); db(0x52); db(0x74); db(0x02); + db(0x52); db(0x82); db(0x4a); db(0x30); db(0x28); db(0xfd); db(0x66); db(0xf8); + db(0x2c); db(0x78); db(0x00); db(0x04); db(0x20); db(0x02); db(0x72); db(0x01); + db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x4a); db(0x80); db(0x67); db(0x3a); + db(0x20); db(0x52); db(0x24); db(0x40); db(0x22); db(0x4a); db(0x12); db(0xd8); + db(0x66); db(0xfc); db(0x13); db(0x7c); db(0x00); db(0x3a); db(0xff); db(0xff); + db(0x42); db(0x11); db(0x2c); db(0x78); db(0x00); db(0x04); db(0x43); db(0xfa); + db(0x0e); db(0x83); db(0x70); db(0x00); db(0x4e); db(0xae); db(0xfd); db(0xd8); + db(0x2c); db(0x40); db(0x22); db(0x0a); db(0x4e); db(0xae); db(0xff); db(0x52); + db(0x22); db(0x4e); db(0x2c); db(0x78); db(0x00); db(0x04); db(0x4e); db(0xae); + db(0xfe); db(0x62); db(0x22); db(0x4a); db(0x20); db(0x02); db(0x4e); db(0xae); + db(0xff); db(0x2e); db(0x70); db(0x00); db(0x4e); db(0x75); db(0x48); db(0xe7); + db(0x3f); db(0x3e); db(0x2c); db(0x01); db(0x7e); db(0x06); db(0x2c); db(0x78); + db(0x00); db(0x04); db(0x43); db(0xfa); db(0x0e); db(0x7e); db(0x70); db(0x24); + db(0x4e); db(0xae); db(0xfd); db(0xd8); db(0x4a); db(0x80); db(0x66); db(0x0e); + db(0x08); db(0x87); db(0x00); db(0x02); db(0x43); db(0xfa); db(0x0e); db(0x6c); + db(0x70); db(0x00); db(0x4e); db(0xae); db(0xfd); db(0xd8); db(0x28); db(0x40); + db(0x20); db(0x3c); db(0x00); db(0x00); db(0x02); db(0x2c); db(0x22); db(0x3c); + db(0x00); db(0x01); db(0x00); db(0x01); db(0x4e); db(0xae); db(0xff); db(0x3a); + db(0x20); db(0x40); db(0x4a); db(0x80); db(0x67); db(0x2c); db(0x21); db(0x4c); + db(0x01); db(0x9c); db(0x48); db(0xe7); db(0x00); db(0x8a); db(0x61); db(0x00); + db(0xfe); db(0x04); db(0x4c); db(0xdf); db(0x51); db(0x00); db(0x0c); db(0x80); + db(0xff); db(0xff); db(0xff); db(0xfe); db(0x67); db(0x08); db(0x48); db(0x46); + db(0x52); db(0x46); db(0x48); db(0x46); db(0x60); db(0xe4); db(0x22); db(0x48); + db(0x20); db(0x3c); db(0x00); db(0x00); db(0x02); db(0x2c); db(0x4e); db(0xae); + db(0xff); db(0x2e); db(0x22); db(0x4c); db(0x4e); db(0xae); db(0xfe); db(0x62); + db(0x4c); db(0xdf); db(0x7c); db(0xfc); db(0x4e); db(0x75); db(0x30); db(0x3c); + db(0xff); db(0x58); db(0x61); db(0x00); db(0x0c); db(0xe6); db(0x70); db(0x03); + db(0x4e); db(0x90); db(0x22); db(0x6b); db(0x00); db(0xa8); db(0x23); db(0x40); + db(0x00); db(0x20); db(0x67); db(0x16); db(0x70); db(0x00); db(0x23); db(0x40); + db(0x00); db(0x24); db(0x33); db(0x7c); db(0x00); db(0x0b); db(0x00); db(0x1c); + db(0x13); db(0x7c); db(0x00); db(0x01); db(0x00); db(0x1e); db(0x4e); db(0xae); + db(0xfe); db(0x38); db(0x4e); db(0x75); db(0x2c); db(0x78); db(0x00); db(0x04); + db(0x93); db(0xc9); db(0x4e); db(0xae); db(0xfe); db(0xda); db(0x20); db(0x40); + db(0x4b); db(0xe8); db(0x00); db(0x5c); db(0x43); db(0xfa); db(0x0d); db(0xa5); + db(0x70); db(0x00); db(0x4e); db(0xae); db(0xfd); db(0xd8); db(0x24); db(0x40); + db(0x20); db(0x3c); db(0x00); db(0x00); db(0x00); db(0xb9); db(0x22); db(0x3c); + db(0x00); db(0x01); db(0x00); db(0x01); db(0x4e); db(0xae); db(0xff); db(0x3a); + db(0x26); db(0x40); db(0x7c); db(0x00); db(0x26); db(0x86); db(0x27); db(0x46); + db(0x00); db(0x04); db(0x27); db(0x46); db(0x00); db(0x08); db(0x27); db(0x4a); + db(0x00); db(0xa0); db(0x50); db(0xeb); db(0x00); db(0x9e); db(0x93); db(0xc9); + db(0x4e); db(0xae); db(0xfe); db(0xda); db(0x27); db(0x40); db(0x00); db(0xb0); + db(0x41); db(0xfa); db(0x0c); db(0x7e); db(0x70); db(0x00); db(0x72); db(0x00); + db(0x61); db(0x00); db(0x02); db(0xae); db(0x27); db(0x40); db(0x00); db(0xa4); + db(0x41); db(0xfa); db(0x0c); db(0x7b); db(0x70); db(0x00); db(0x72); db(0x00); + db(0x61); db(0x00); db(0x02); db(0x9e); db(0x27); db(0x40); db(0x00); db(0xa8); + db(0x7a); db(0x00); db(0x20); db(0x4d); db(0x4e); db(0xae); db(0xfe); db(0x80); + db(0x20); db(0x4d); db(0x4e); db(0xae); db(0xfe); db(0x8c); db(0x28); db(0x40); + db(0x26); db(0x2c); db(0x00); db(0x0a); db(0x30); db(0x3c); db(0xff); db(0x40); + db(0x61); db(0x00); db(0x0c); db(0x38); db(0x70); db(0x00); db(0x4e); db(0x90); + db(0x24); db(0x00); db(0x70); db(0x01); db(0x61); db(0x00); db(0xfa); db(0x04); + db(0x08); db(0x02); db(0x00); db(0x01); db(0x67); db(0x06); db(0x70); db(0x01); + db(0x61); db(0x00); db(0xfb); db(0x6c); db(0x60); db(0x00); db(0x01); db(0x2e); + db(0x20); db(0x4d); db(0x4e); db(0xae); db(0xfe); db(0x8c); db(0x28); db(0x40); + db(0x4a); db(0x80); db(0x66); db(0x10); db(0x70); db(0x00); db(0x12); db(0x2d); + db(0x00); db(0x0f); db(0x03); db(0xc0); db(0x08); db(0xc0); db(0x00); db(0x0d); + db(0x4e); db(0xae); db(0xfe); db(0xc2); db(0x4a); db(0x2b); db(0x00); db(0xad); + db(0x67); db(0x08); db(0x61); db(0x00); db(0xff); db(0x0a); db(0x42); db(0x2b); + db(0x00); db(0xad); db(0x4a); db(0x2b); db(0x00); db(0xac); db(0x67); db(0x24); + db(0x30); db(0x3c); db(0xff); db(0x58); db(0x61); db(0x00); db(0x0b); db(0xe4); + db(0x70); db(0x01); db(0x4e); db(0x90); db(0x4a); db(0x80); db(0x67); db(0x04); + db(0x61); db(0x00); db(0xfb); db(0xfa); db(0x42); db(0x2b); db(0x00); db(0xac); + db(0x30); db(0x3c); db(0xff); db(0x58); db(0x61); db(0x00); db(0x0b); db(0xcc); + db(0x70); db(0x02); db(0x4e); db(0x90); db(0x20); db(0x0c); db(0x67); db(0x56); + db(0x0c); db(0x6c); db(0x00); db(0x26); db(0x00); db(0x12); db(0x66); db(0x4e); + db(0x0c); db(0xac); db(0x40); db(0x00); db(0x00); db(0x00); db(0x00); db(0x14); + db(0x66); db(0x44); db(0x0c); db(0x6c); db(0x12); db(0x34); db(0x00); db(0x18); + db(0x66); db(0x3c); db(0x20); db(0x6c); db(0x00); db(0x1a); db(0x20); db(0x28); + db(0x00); db(0x0c); db(0x02); db(0x80); db(0x80); db(0x00); db(0x00); db(0x08); + db(0x0c); db(0x80); db(0x80); db(0x00); db(0x00); db(0x08); db(0x66); db(0x1a); + db(0x02); db(0xa8); db(0x7f); db(0xff); db(0xff); db(0xff); db(0x00); db(0x0c); + db(0x20); db(0x68); db(0x00); db(0x10); db(0x22); db(0x4c); db(0x12); db(0xbc); + db(0x00); db(0x08); db(0x4e); db(0xae); db(0xfe); db(0x92); db(0x60); db(0x00); + db(0xff); db(0x60); db(0x22); db(0x4c); db(0x70); db(0x26); db(0x4e); db(0xae); + db(0xff); db(0x2e); db(0x60); db(0x00); db(0xff); db(0x54); db(0x74); db(0xfe); + db(0x20); db(0x0c); db(0x67); db(0x14); db(0x26); db(0x2c); db(0x00); db(0x0a); + db(0x66); db(0x42); db(0x74); db(0xff); db(0x30); db(0x3c); db(0xff); db(0x50); + db(0x61); db(0x00); db(0x0b); db(0x58); db(0x70); db(0x01); db(0x4e); db(0x90); + db(0x45); db(0xeb); db(0x00); db(0x04); db(0x20); db(0x52); db(0x20); db(0x08); + db(0x67); db(0x00); db(0xff); db(0x2e); db(0x22); db(0x50); db(0x20); db(0x40); + db(0x20); db(0x28); db(0x00); db(0x04); db(0xb4); db(0x80); db(0x66); db(0x16); + db(0x48); db(0xe7); db(0x00); db(0xc0); db(0x28); db(0x68); db(0x00); db(0x0a); + db(0x61); db(0x4a); db(0x53); db(0x85); db(0x4c); db(0xdf); db(0x03); db(0x00); + db(0x24); db(0x89); db(0x20); db(0x49); db(0x60); db(0xd8); db(0x24); db(0x48); + db(0x20); db(0x49); db(0x60); db(0xd2); db(0x0c); db(0x85); db(0x00); db(0x00); + db(0x00); db(0x14); db(0x65); db(0x00); db(0x00); db(0x0a); db(0x70); db(0x01); + db(0x29); db(0x40); db(0x00); db(0x04); db(0x60); db(0x12); db(0x61); db(0x5e); + db(0x30); db(0x3c); db(0xff); db(0x30); db(0x61); db(0x00); db(0x0b); db(0x04); + db(0x4e); db(0x90); db(0x4a); db(0x80); db(0x67); db(0x0e); db(0x52); db(0x85); + db(0x28); db(0xab); db(0x00); db(0x04); db(0x27); db(0x4c); db(0x00); db(0x04); + db(0x60); db(0x00); db(0xfe); db(0xd6); db(0x28); db(0x43); db(0x61); db(0x04); + db(0x60); db(0x00); db(0xfe); db(0xce); db(0x0c); db(0xac); db(0x00); db(0x00); + db(0x00); db(0x1f); db(0x00); db(0x08); db(0x66); db(0x04); db(0x61); db(0x00); + db(0xfa); db(0xe2); db(0x0c); db(0xac); db(0x00); db(0x00); db(0x04); db(0x09); + db(0x00); db(0x08); db(0x66); db(0x14); db(0x61); db(0x00); db(0xfb); db(0x10); + db(0x66); db(0x0e); db(0x30); db(0x3c); db(0xff); db(0x58); db(0x61); db(0x00); + db(0x0a); db(0xc2); db(0x70); db(0x00); db(0x4e); db(0x90); db(0x60); db(0xec); + db(0x22); db(0x54); db(0x20); db(0x6c); db(0x00); db(0x04); db(0x29); db(0x4d); + db(0x00); db(0x04); db(0x4e); db(0xee); db(0xfe); db(0x92); db(0x2f); db(0x05); + db(0x7a); db(0xfc); db(0x24); db(0x53); db(0x2e); db(0x0a); db(0x22); db(0x0a); + db(0x67); db(0x00); db(0x00); db(0x0c); db(0x52); db(0x85); db(0x67); db(0x1e); + db(0x22); db(0x4a); db(0x24); db(0x52); db(0x60); db(0xf0); db(0x52); db(0x85); + db(0x67); db(0x3c); db(0x24); db(0x47); db(0x70); db(0x18); db(0x72); db(0x01); + db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x52); db(0x46); db(0x24); db(0x40); + db(0x24); db(0x87); db(0x2e); db(0x0a); db(0x60); db(0xe8); db(0x20); db(0x12); + db(0x67); db(0x24); db(0x20); db(0x40); db(0x20); db(0x10); db(0x67); db(0x1e); + db(0x20); db(0x40); db(0x20); db(0x10); db(0x67); db(0x18); db(0x70); db(0x00); + db(0x22); db(0x80); db(0x22); db(0x4a); db(0x24); db(0x51); db(0x70); db(0x18); + db(0x4e); db(0xae); db(0xff); db(0x2e); db(0x06); db(0x86); db(0x00); db(0x01); + db(0x00); db(0x00); db(0x20); db(0x0a); db(0x66); db(0xec); db(0x26); db(0x87); + db(0x2a); db(0x1f); db(0x4e); db(0x75); db(0x20); db(0x88); db(0x58); db(0x90); + db(0x42); db(0xa8); db(0x00); db(0x04); db(0x21); db(0x48); db(0x00); db(0x08); + db(0x4e); db(0x75); db(0x48); db(0xe7); db(0x20); db(0x22); db(0x2c); db(0x78); + db(0x00); db(0x04); db(0x70); db(0xff); db(0x4e); db(0xae); db(0xfe); db(0xb6); + db(0x91); db(0xc8); db(0x24); db(0x00); db(0x6b); db(0x32); db(0x70); db(0x22); db(0x22); db(0x3c); db(0x00); db(0x01); db(0x00); db(0x01); db(0x4e); db(0xae); - db(0xff); db(0x3a); db(0x2a); db(0x40); db(0x47); db(0xed); db(0x00); db(0x16); - db(0x27); db(0x4e); db(0x00); db(0x10); db(0x27); db(0x4c); db(0x00); db(0x08); - db(0x27); db(0x46); db(0x00); db(0x0c); db(0x70); db(0xff); db(0x37); db(0x40); - db(0x00); db(0x00); db(0x30); db(0x3c); db(0xff); db(0x38); db(0x72); db(0x05); - db(0x61); db(0x00); db(0x07); db(0x9c); db(0x20); db(0x0d); db(0x06); db(0x80); - db(0x00); db(0x00); db(0x02); db(0x10); db(0x4e); db(0x90); db(0x43); db(0xed); - db(0x00); db(0x00); db(0x13); db(0x7c); db(0x00); db(0x02); db(0x00); db(0x08); - db(0x13); db(0x7c); db(0x00); db(0x05); db(0x00); db(0x09); db(0x41); db(0xfa); - db(0x08); db(0x1c); db(0x23); db(0x48); db(0x00); db(0x0a); db(0x41); db(0xfa); - db(0x02); db(0xf4); db(0x23); db(0x48); db(0x00); db(0x12); db(0x23); db(0x4d); - db(0x00); db(0x0e); db(0x70); db(0x05); db(0x4e); db(0xae); db(0xff); db(0x58); - db(0x20); db(0x06); db(0x4e); db(0xae); db(0xfe); db(0xc2); db(0x70); db(0x00); - db(0x53); db(0xab); db(0x00); db(0x1c); db(0x6a); db(0x06); db(0x70); db(0x0a); - db(0x27); db(0x40); db(0x00); db(0x1c); db(0x4a); db(0xab); db(0x00); db(0x14); - db(0x66); db(0x16); db(0x4a); db(0xab); db(0x00); db(0x1c); db(0x66); db(0xe0); - db(0x43); db(0xfa); db(0x08); db(0x49); db(0x70); db(0x00); db(0x4e); db(0xae); - db(0xfd); db(0xd8); db(0x27); db(0x40); db(0x00); db(0x14); db(0x67); db(0xd0); - db(0x4a); db(0xab); db(0x00); db(0x18); db(0x66); db(0x18); db(0x4a); db(0xab); - db(0x00); db(0x1c); db(0x66); db(0xc4); db(0x43); db(0xfa); db(0x08); db(0x3f); + db(0xff); db(0x3a); db(0x91); db(0xc8); db(0x24); db(0x40); db(0x4a); db(0x80); + db(0x67); db(0x1e); db(0x15); db(0x7c); db(0x00); db(0x04); db(0x00); db(0x08); + db(0x15); db(0x42); db(0x00); db(0x0f); db(0x93); db(0xc9); db(0x4e); db(0xae); + db(0xfe); db(0xda); db(0x25); db(0x40); db(0x00); db(0x10); db(0x41); db(0xea); + db(0x00); db(0x14); db(0x61); db(0x00); db(0xff); db(0xb0); db(0x20); db(0x4a); + db(0x20); db(0x08); db(0x4c); db(0xdf); db(0x44); db(0x04); db(0x4e); db(0x75); + db(0x48); db(0xe7); db(0x20); db(0x22); db(0x2c); db(0x78); db(0x00); db(0x04); + db(0x4a); db(0x80); db(0x67); db(0x24); db(0x24); db(0x40); db(0x24); db(0x01); + db(0x66); db(0x02); db(0x74); db(0x30); db(0x20); db(0x02); db(0x22); db(0x3c); + db(0x00); db(0x01); db(0x00); db(0x01); db(0x4e); db(0xae); db(0xff); db(0x3a); + db(0x20); db(0x40); db(0x11); db(0x7c); db(0x00); db(0x0a); db(0x00); db(0x08); + db(0x31); db(0x42); db(0x00); db(0x12); db(0x21); db(0x4a); db(0x00); db(0x0e); + db(0x4a); db(0x80); db(0x4c); db(0xdf); db(0x44); db(0x04); db(0x4e); db(0x75); + db(0x48); db(0xe7); db(0x30); db(0x22); db(0x24); db(0x48); db(0x24); db(0x00); + db(0x26); db(0x01); db(0x2c); db(0x78); db(0x00); db(0x04); db(0x61); db(0x00); + db(0xff); db(0x6a); db(0x22); db(0x03); db(0x61); db(0x00); db(0xff); db(0xb2); + db(0x67); db(0x18); db(0x20); db(0x4a); db(0x22); db(0x40); db(0x24); db(0x40); + db(0x20); db(0x02); db(0x72); db(0x00); db(0x4e); db(0xae); db(0xfe); db(0x44); + db(0x22); db(0x00); db(0x70); db(0x00); db(0x4a); db(0x81); db(0x66); db(0x02); + db(0x20); db(0x0a); db(0x4a); db(0x80); db(0x4c); db(0xdf); db(0x44); db(0x0c); + db(0x4e); db(0x75); db(0x48); db(0xe7); db(0x38); db(0x32); db(0x2c); db(0x78); + db(0x00); db(0x04); db(0x28); db(0x00); db(0x24); db(0x08); db(0x26); db(0x09); + db(0x20); db(0x3c); db(0x00); db(0x00); db(0x08); db(0x5c); db(0x22); db(0x3c); + db(0x00); db(0x01); db(0x00); db(0x01); db(0x4e); db(0xae); db(0xff); db(0x3a); + db(0x4a); db(0x80); db(0x67); db(0x00); db(0x00); db(0x34); db(0x24); db(0x40); + db(0x15); db(0x7c); db(0x00); db(0x01); db(0x00); db(0x08); db(0x15); db(0x44); + db(0x00); db(0x09); db(0x25); db(0x42); db(0x00); db(0x0a); db(0x47); db(0xea); + db(0x00); db(0x5c); db(0x25); db(0x4b); db(0x00); db(0x3a); db(0x47); db(0xeb); + db(0x08); db(0x00); db(0x25); db(0x4b); db(0x00); db(0x3e); db(0x25); db(0x4b); + db(0x00); db(0x36); db(0x22); db(0x4a); db(0x24); db(0x43); db(0x97); db(0xcb); + db(0x24); db(0x09); db(0x4e); db(0xae); db(0xfe); db(0xe6); db(0x20); db(0x02); + db(0x4c); db(0xdf); db(0x4c); db(0x1c); db(0x4e); db(0x75); db(0x41); db(0xfa); + db(0x09); db(0xc0); db(0x43); db(0xfa); db(0x01); db(0x30); db(0x70); db(0x13); + db(0x61); db(0x00); db(0xff); db(0x98); db(0x4e); db(0x75); db(0x22); db(0x6d); + db(0x02); db(0x0c); db(0x33); db(0x7c); db(0x00); db(0x0a); db(0x00); db(0x1c); + db(0x13); db(0x7c); db(0x00); db(0x01); db(0x00); db(0x1e); db(0x4e); db(0xae); + db(0xfe); db(0x38); db(0x22); db(0x6d); db(0x02); db(0x0c); db(0x25); db(0x69); + db(0x00); db(0x20); db(0x00); db(0x0e); db(0x25); db(0x69); db(0x00); db(0x24); + db(0x00); db(0x12); db(0x22); db(0x6d); db(0x02); db(0x08); db(0x13); db(0x7c); + db(0x00); db(0x01); db(0x00); db(0x1e); db(0x4e); db(0xae); db(0xfe); db(0x38); + db(0x4e); db(0x75); db(0x42); db(0xaa); db(0x00); db(0x0e); db(0x42); db(0xaa); + db(0x00); db(0x12); db(0x22); db(0x6d); db(0x02); db(0x08); db(0x13); db(0x7c); + db(0x00); db(0x01); db(0x00); db(0x1e); db(0x4e); db(0xae); db(0xfe); db(0x38); + db(0x4e); db(0x75); db(0x48); db(0xe7); db(0xf8); db(0xfe); db(0x2a); db(0x48); + db(0x95); db(0xca); db(0x97); db(0xcb); db(0x99); db(0xcc); db(0x78); db(0x00); + db(0x2c); db(0x6d); db(0x00); db(0x18); db(0x20); db(0x6d); db(0x00); db(0x14); + db(0x20); db(0x28); db(0x00); db(0x3c); db(0x67); db(0x5c); db(0x20); db(0x40); + db(0x41); db(0xe8); db(0x00); db(0x2c); db(0x28); db(0x48); db(0x4e); db(0xae); + db(0xfc); db(0xe8); db(0x72); db(0xff); db(0x74); db(0xff); db(0xb2); db(0x80); + db(0x67); db(0x48); db(0x26); db(0x00); db(0x2c); db(0x6d); db(0x00); db(0x14); + db(0x41); db(0xed); db(0x00); db(0xc0); db(0x70); db(0x66); db(0x4e); db(0xae); + db(0xff); db(0x7c); db(0x41); db(0xed); db(0x00); db(0xc0); db(0x38); db(0x28); + db(0x00); db(0x64); db(0x2c); db(0x6d); db(0x00); db(0x18); db(0x91); db(0xc8); + db(0x43); db(0xed); db(0x00); db(0x38); db(0x70); db(0x00); db(0x30); db(0x3c); + db(0x00); db(0x58); db(0x22); db(0x3c); db(0x80); db(0x00); db(0x10); db(0x00); + db(0x24); db(0x03); db(0x4e); db(0xae); db(0xfd); db(0x0c); db(0x72); db(0xff); + db(0x74); db(0xff); db(0x4a); db(0x80); db(0x6b); db(0x0c); db(0x45); db(0xed); + db(0x00); db(0x38); db(0x22); db(0x2a); db(0x00); db(0x32); db(0x24); db(0x2a); + db(0x00); db(0x36); db(0x20); db(0x2c); db(0x00); db(0x1c); db(0xb8); db(0x6d); + db(0x00); db(0x2c); db(0x66); db(0x12); db(0xb0); db(0xad); db(0x00); db(0x28); + db(0x66); db(0x0c); db(0xb2); db(0xad); db(0x00); db(0x20); db(0x66); db(0x06); + db(0xb4); db(0xad); db(0x00); db(0x24); db(0x67); db(0x40); db(0x2b); db(0x40); + db(0x00); db(0x28); db(0x2b); db(0x41); db(0x00); db(0x20); db(0x2b); db(0x42); + db(0x00); db(0x24); db(0x3b); db(0x44); db(0x00); db(0x2c); db(0x91); db(0xc8); + db(0x43); db(0xed); db(0x00); db(0x90); db(0x70); db(0x00); db(0x30); db(0x3c); + db(0x00); db(0x58); db(0x22); db(0x3c); db(0x80); db(0x00); db(0x00); db(0x00); + db(0x24); db(0x03); db(0x4e); db(0xae); db(0xfd); db(0x0c); db(0x4a); db(0x80); + db(0x6b); db(0x04); db(0x47); db(0xed); db(0x00); db(0x90); db(0x34); db(0x2d); + db(0x00); db(0x2c); db(0x30); db(0x3c); db(0xff); db(0x38); db(0x72); db(0x01); + db(0x61); db(0x00); db(0x07); db(0xf8); db(0x4e); db(0x90); db(0x4c); db(0xdf); + db(0x7f); db(0x1f); db(0x4e); db(0x75); db(0x2c); db(0x78); db(0x00); db(0x04); + db(0x3e); db(0x2e); db(0x00); db(0x14); db(0x70); db(0xff); db(0x4e); db(0xae); + db(0xfe); db(0xb6); db(0x7c); db(0x00); db(0x01); db(0xc6); db(0x93); db(0xc9); + db(0x4e); db(0xae); db(0xfe); db(0xda); db(0x28); db(0x40); db(0x70); db(0x14); + db(0x22); db(0x4c); db(0x4e); db(0xae); db(0xfe); db(0xd4); db(0x70); db(0x00); + db(0x30); db(0x3c); db(0x02); db(0x3c); db(0x22); db(0x3c); db(0x00); db(0x01); + db(0x00); db(0x01); db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x2a); db(0x40); + db(0x47); db(0xed); db(0x00); db(0x16); db(0x27); db(0x4e); db(0x00); db(0x10); + db(0x27); db(0x4c); db(0x00); db(0x08); db(0x27); db(0x46); db(0x00); db(0x0c); + db(0x70); db(0xff); db(0x37); db(0x40); db(0x00); db(0x00); db(0x30); db(0x3c); + db(0xff); db(0x38); db(0x72); db(0x05); db(0x61); db(0x00); db(0x07); db(0x9c); + db(0x20); db(0x0d); db(0x06); db(0x80); db(0x00); db(0x00); db(0x02); db(0x10); + db(0x4e); db(0x90); db(0x43); db(0xed); db(0x00); db(0x00); db(0x13); db(0x7c); + db(0x00); db(0x02); db(0x00); db(0x08); db(0x13); db(0x7c); db(0x00); db(0x05); + db(0x00); db(0x09); db(0x41); db(0xfa); db(0x08); db(0x1c); db(0x23); db(0x48); + db(0x00); db(0x0a); db(0x41); db(0xfa); db(0x02); db(0xf4); db(0x23); db(0x48); + db(0x00); db(0x12); db(0x23); db(0x4d); db(0x00); db(0x0e); db(0x70); db(0x05); + db(0x4e); db(0xae); db(0xff); db(0x58); db(0x20); db(0x06); db(0x4e); db(0xae); + db(0xfe); db(0xc2); db(0x70); db(0x00); db(0x53); db(0xab); db(0x00); db(0x1c); + db(0x6a); db(0x06); db(0x70); db(0x0a); db(0x27); db(0x40); db(0x00); db(0x1c); + db(0x4a); db(0xab); db(0x00); db(0x14); db(0x66); db(0x16); db(0x4a); db(0xab); + db(0x00); db(0x1c); db(0x66); db(0xe0); db(0x43); db(0xfa); db(0x08); db(0x49); db(0x70); db(0x00); db(0x4e); db(0xae); db(0xfd); db(0xd8); db(0x27); db(0x40); - db(0x00); db(0x18); db(0x67); db(0x00); db(0xff); db(0xb4); db(0x4a); db(0xad); - db(0x02); db(0x08); db(0x66); db(0x38); db(0x4a); db(0xab); db(0x00); db(0x1c); - db(0x66); db(0xa6); db(0x4e); db(0xae); db(0xff); db(0x7c); db(0x41); db(0xee); - db(0x01); db(0x5e); db(0x43); db(0xfa); db(0x07); db(0x10); db(0x4e); db(0xae); - db(0xfe); db(0xec); db(0x24); db(0x00); db(0x4e); db(0xae); db(0xff); db(0x76); - db(0x4a); db(0x82); db(0x67); db(0x8c); db(0x41); db(0xfa); db(0x06); db(0xfe); - db(0x70); db(0x00); db(0x72); db(0x00); db(0x61); db(0x00); db(0xfd); db(0x2e); - db(0x2b); db(0x40); db(0x02); db(0x08); db(0x67); db(0x00); db(0x02); db(0x32); - db(0x60); db(0x00); db(0xff); db(0x76); db(0x4a); db(0xad); db(0x02); db(0x0c); - db(0x66); db(0x48); db(0x4a); db(0xab); db(0x00); db(0x1c); db(0x66); db(0x00); - db(0xff); db(0x68); db(0x4e); db(0xae); db(0xff); db(0x7c); db(0x41); db(0xee); - db(0x01); db(0x5e); db(0x43); db(0xfa); db(0x06); db(0xdd); db(0x4e); db(0xae); - db(0xfe); db(0xec); db(0x24); db(0x00); db(0x4e); db(0xae); db(0xff); db(0x76); - db(0x4a); db(0x82); db(0x67); db(0x00); db(0xff); db(0x4c); db(0x41); db(0xfa); - db(0x06); db(0xc9); db(0x70); db(0x00); db(0x72); db(0x00); db(0x61); db(0x00); - db(0xfc); db(0xec); db(0x2b); db(0x40); db(0x02); db(0x0c); db(0x67); db(0x00); - db(0x01); db(0xf0); db(0x30); db(0x3c); db(0xff); db(0x38); db(0x72); db(0x00); - db(0x61); db(0x00); db(0x06); db(0x94); db(0x4e); db(0x90); db(0x60); db(0x00); - db(0xff); db(0x28); db(0x0c); db(0x47); db(0x00); db(0x24); db(0x65); db(0x12); - db(0x53); db(0xab); db(0x00); db(0x34); db(0x6a); db(0x0c); db(0x20); db(0x4b); - db(0x61); db(0x00); db(0xfd); db(0xb4); db(0x70); db(0x32); db(0x27); db(0x40); - db(0x00); db(0x34); db(0x22); db(0x6d); db(0x02); db(0x08); db(0x45); db(0xed); - db(0x01); db(0x3c); db(0x33); db(0x7c); db(0x00); db(0x0b); db(0x00); db(0x1c); - db(0x23); db(0x7c); db(0x00); db(0x00); db(0x00); db(0x16); db(0x00); db(0x24); - db(0x23); db(0x4a); db(0x00); db(0x28); db(0x10); db(0x2d); db(0x02); db(0x10); - db(0x0c); db(0x47); db(0x00); db(0x27); db(0x65); db(0x00); db(0x01); db(0x52); - db(0x08); db(0x00); db(0x00); db(0x01); db(0x67); db(0x00); db(0x01); db(0x4a); - db(0x41); db(0xed); db(0x01); db(0x68); db(0x25); db(0x48); db(0x00); db(0x0a); - db(0x15); db(0x7c); db(0x00); db(0x13); db(0x00); db(0x04); db(0x15); db(0x7c); - db(0x00); db(0x03); db(0x00); db(0x05); db(0x42); db(0x90); db(0x42); db(0xa8); - db(0x00); db(0x04); db(0x42); db(0xa8); db(0x00); db(0x08); db(0x42); db(0x68); - db(0x00); db(0x0c); db(0x42); db(0x6a); db(0x00); db(0x06); db(0x61); db(0x00); - db(0x01); db(0x72); db(0x31); db(0x6d); db(0x02); db(0x1a); db(0x00); db(0x0e); - db(0x42); db(0x68); db(0x00); db(0x10); db(0x31); db(0x6d); db(0x02); db(0x1c); - db(0x00); db(0x12); db(0x42); db(0x68); db(0x00); db(0x14); db(0x31); db(0x6d); - db(0x02); db(0x14); db(0x00); db(0x16); db(0x42); db(0x68); db(0x00); db(0x18); - db(0x31); db(0x6d); db(0x02); db(0x16); db(0x00); db(0x1a); db(0x43); db(0xed); - db(0x01); db(0x88); db(0x21); db(0x49); db(0x00); db(0x1c); db(0x22); db(0xfc); - db(0x80); db(0x03); db(0xa0); db(0x06); db(0x30); db(0x2d); db(0x02); db(0x30); - db(0x48); db(0xc0); db(0xe1); db(0x80); db(0x22); db(0xc0); db(0x22); db(0xfc); - db(0x80); db(0x03); db(0xa0); db(0x07); db(0x22); db(0xed); db(0x02); db(0x32); - db(0x70); db(0x00); db(0x30); db(0x2d); db(0x02); db(0x20); db(0x6b); db(0x08); - db(0x22); db(0xfc); db(0x80); db(0x03); db(0xa0); db(0x09); db(0x22); db(0xc0); - db(0x30); db(0x2d); db(0x02); db(0x22); db(0x6b); db(0x08); db(0x22); db(0xfc); - db(0x80); db(0x03); db(0xa0); db(0x0a); db(0x22); db(0xc0); db(0x30); db(0x2d); - db(0x02); db(0x18); db(0x6b); db(0x14); db(0x22); db(0xfc); db(0x80); db(0x03); - db(0xa0); db(0x02); db(0x22); db(0xc0); db(0x30); db(0x2d); db(0x02); db(0x1e); - db(0x22); db(0xfc); db(0x80); db(0x03); db(0xa0); db(0x01); db(0x22); db(0xc0); - db(0x30); db(0x2d); db(0x02); db(0x24); db(0x6b); db(0x10); db(0x22); db(0xfc); - db(0x80); db(0x03); db(0xa0); db(0x03); db(0x30); db(0x2d); db(0x02); db(0x2a); - db(0x48); db(0xc0); db(0xe1); db(0x80); db(0x22); db(0xc0); db(0x30); db(0x2d); - db(0x02); db(0x26); db(0x6b); db(0x10); db(0x22); db(0xfc); db(0x80); db(0x03); - db(0xa0); db(0x04); db(0x30); db(0x2d); db(0x02); db(0x2c); db(0x48); db(0xc0); - db(0xe1); db(0x80); db(0x22); db(0xc0); db(0x30); db(0x2d); db(0x02); db(0x28); - db(0x6b); db(0x10); db(0x22); db(0xfc); db(0x80); db(0x03); db(0xa0); db(0x05); - db(0x30); db(0x2d); db(0x02); db(0x2e); db(0x48); db(0xc0); db(0xe1); db(0x80); - db(0x22); db(0xc0); db(0x70); db(0x00); db(0x30); db(0x2d); db(0x02); db(0x36); - db(0x6b); db(0x08); db(0x22); db(0xfc); db(0x80); db(0x03); db(0xa0); db(0x08); - db(0x22); db(0xc0); db(0x42); db(0x91); db(0x61); db(0x00); db(0xfc); db(0x68); - db(0x36); db(0x3c); db(0x00); db(0x68); db(0x74); db(0x01); db(0x28); db(0x2d); - db(0x02); db(0x32); db(0x20); db(0x04); db(0xc0); db(0x82); db(0x22); db(0x2b); - db(0x00); db(0x04); db(0xc2); db(0x82); db(0xb2); db(0x80); db(0x67); db(0x22); - db(0x42); db(0x92); db(0x35); db(0x7c); db(0x02); db(0x00); db(0x00); db(0x04); - db(0x42); db(0xaa); db(0x00); db(0x0a); db(0x32); db(0x03); db(0x4a); db(0x00); - db(0x66); db(0x04); db(0x08); db(0xc1); db(0x00); db(0x07); db(0x35); db(0x41); - db(0x00); db(0x06); db(0x42); db(0x6a); db(0x00); db(0x08); db(0x61); db(0x00); - db(0xfc); db(0x2e); db(0x52); db(0x43); db(0xd4); db(0x42); db(0x0c); db(0x42); - db(0x00); db(0x08); db(0x66); db(0xc6); db(0x27); db(0x44); db(0x00); db(0x04); - db(0x10); db(0x2d); db(0x02); db(0x10); db(0x08); db(0x00); db(0x00); db(0x00); - db(0x67); db(0x00); db(0xfd); db(0x8e); db(0x42); db(0x92); db(0x35); db(0x7c); - db(0x04); db(0x00); db(0x00); db(0x04); db(0x42); db(0x6a); db(0x00); db(0x06); - db(0x61); db(0x00); db(0x00); db(0x38); db(0x20); db(0x6b); db(0x00); db(0x14); - db(0x30); db(0x2d); db(0x02); db(0x38); db(0x32); db(0x28); db(0x00); db(0x30); + db(0x00); db(0x14); db(0x67); db(0xd0); db(0x4a); db(0xab); db(0x00); db(0x18); + db(0x66); db(0x18); db(0x4a); db(0xab); db(0x00); db(0x1c); db(0x66); db(0xc4); + db(0x43); db(0xfa); db(0x08); db(0x3f); db(0x70); db(0x00); db(0x4e); db(0xae); + db(0xfd); db(0xd8); db(0x27); db(0x40); db(0x00); db(0x18); db(0x67); db(0x00); + db(0xff); db(0xb4); db(0x4a); db(0xad); db(0x02); db(0x08); db(0x66); db(0x38); + db(0x4a); db(0xab); db(0x00); db(0x1c); db(0x66); db(0xa6); db(0x4e); db(0xae); + db(0xff); db(0x7c); db(0x41); db(0xee); db(0x01); db(0x5e); db(0x43); db(0xfa); + db(0x07); db(0x10); db(0x4e); db(0xae); db(0xfe); db(0xec); db(0x24); db(0x00); + db(0x4e); db(0xae); db(0xff); db(0x76); db(0x4a); db(0x82); db(0x67); db(0x8c); + db(0x41); db(0xfa); db(0x06); db(0xfe); db(0x70); db(0x00); db(0x72); db(0x00); + db(0x61); db(0x00); db(0xfd); db(0x2e); db(0x2b); db(0x40); db(0x02); db(0x08); + db(0x67); db(0x00); db(0x02); db(0x32); db(0x60); db(0x00); db(0xff); db(0x76); + db(0x4a); db(0xad); db(0x02); db(0x0c); db(0x66); db(0x48); db(0x4a); db(0xab); + db(0x00); db(0x1c); db(0x66); db(0x00); db(0xff); db(0x68); db(0x4e); db(0xae); + db(0xff); db(0x7c); db(0x41); db(0xee); db(0x01); db(0x5e); db(0x43); db(0xfa); + db(0x06); db(0xdd); db(0x4e); db(0xae); db(0xfe); db(0xec); db(0x24); db(0x00); + db(0x4e); db(0xae); db(0xff); db(0x76); db(0x4a); db(0x82); db(0x67); db(0x00); + db(0xff); db(0x4c); db(0x41); db(0xfa); db(0x06); db(0xc9); db(0x70); db(0x00); + db(0x72); db(0x00); db(0x61); db(0x00); db(0xfc); db(0xec); db(0x2b); db(0x40); + db(0x02); db(0x0c); db(0x67); db(0x00); db(0x01); db(0xf0); db(0x30); db(0x3c); + db(0xff); db(0x38); db(0x72); db(0x00); db(0x61); db(0x00); db(0x06); db(0x94); + db(0x4e); db(0x90); db(0x60); db(0x00); db(0xff); db(0x28); db(0x0c); db(0x47); + db(0x00); db(0x24); db(0x65); db(0x12); db(0x53); db(0xab); db(0x00); db(0x34); + db(0x6a); db(0x0c); db(0x20); db(0x4b); db(0x61); db(0x00); db(0xfd); db(0xb4); + db(0x70); db(0x32); db(0x27); db(0x40); db(0x00); db(0x34); db(0x22); db(0x6d); + db(0x02); db(0x08); db(0x45); db(0xed); db(0x01); db(0x3c); db(0x33); db(0x7c); + db(0x00); db(0x0b); db(0x00); db(0x1c); db(0x23); db(0x7c); db(0x00); db(0x00); + db(0x00); db(0x16); db(0x00); db(0x24); db(0x23); db(0x4a); db(0x00); db(0x28); + db(0x10); db(0x2d); db(0x02); db(0x10); db(0x0c); db(0x47); db(0x00); db(0x27); + db(0x65); db(0x00); db(0x01); db(0x52); db(0x08); db(0x00); db(0x00); db(0x01); + db(0x67); db(0x00); db(0x01); db(0x4a); db(0x41); db(0xed); db(0x01); db(0x68); + db(0x25); db(0x48); db(0x00); db(0x0a); db(0x15); db(0x7c); db(0x00); db(0x13); + db(0x00); db(0x04); db(0x15); db(0x7c); db(0x00); db(0x03); db(0x00); db(0x05); + db(0x42); db(0x90); db(0x42); db(0xa8); db(0x00); db(0x04); db(0x42); db(0xa8); + db(0x00); db(0x08); db(0x42); db(0x68); db(0x00); db(0x0c); db(0x42); db(0x6a); + db(0x00); db(0x06); db(0x61); db(0x00); db(0x01); db(0x72); db(0x31); db(0x6d); + db(0x02); db(0x1a); db(0x00); db(0x0e); db(0x42); db(0x68); db(0x00); db(0x10); + db(0x31); db(0x6d); db(0x02); db(0x1c); db(0x00); db(0x12); db(0x42); db(0x68); + db(0x00); db(0x14); db(0x31); db(0x6d); db(0x02); db(0x14); db(0x00); db(0x16); + db(0x42); db(0x68); db(0x00); db(0x18); db(0x31); db(0x6d); db(0x02); db(0x16); + db(0x00); db(0x1a); db(0x43); db(0xed); db(0x01); db(0x88); db(0x21); db(0x49); + db(0x00); db(0x1c); db(0x22); db(0xfc); db(0x80); db(0x03); db(0xa0); db(0x06); + db(0x30); db(0x2d); db(0x02); db(0x30); db(0x48); db(0xc0); db(0xe1); db(0x80); + db(0x22); db(0xc0); db(0x22); db(0xfc); db(0x80); db(0x03); db(0xa0); db(0x07); + db(0x22); db(0xed); db(0x02); db(0x32); db(0x70); db(0x00); db(0x30); db(0x2d); + db(0x02); db(0x20); db(0x6b); db(0x08); db(0x22); db(0xfc); db(0x80); db(0x03); + db(0xa0); db(0x09); db(0x22); db(0xc0); db(0x30); db(0x2d); db(0x02); db(0x22); + db(0x6b); db(0x08); db(0x22); db(0xfc); db(0x80); db(0x03); db(0xa0); db(0x0a); + db(0x22); db(0xc0); db(0x30); db(0x2d); db(0x02); db(0x18); db(0x6b); db(0x14); + db(0x22); db(0xfc); db(0x80); db(0x03); db(0xa0); db(0x02); db(0x22); db(0xc0); + db(0x30); db(0x2d); db(0x02); db(0x1e); db(0x22); db(0xfc); db(0x80); db(0x03); + db(0xa0); db(0x01); db(0x22); db(0xc0); db(0x30); db(0x2d); db(0x02); db(0x24); + db(0x6b); db(0x10); db(0x22); db(0xfc); db(0x80); db(0x03); db(0xa0); db(0x03); + db(0x30); db(0x2d); db(0x02); db(0x2a); db(0x48); db(0xc0); db(0xe1); db(0x80); + db(0x22); db(0xc0); db(0x30); db(0x2d); db(0x02); db(0x26); db(0x6b); db(0x10); + db(0x22); db(0xfc); db(0x80); db(0x03); db(0xa0); db(0x04); db(0x30); db(0x2d); + db(0x02); db(0x2c); db(0x48); db(0xc0); db(0xe1); db(0x80); db(0x22); db(0xc0); + db(0x30); db(0x2d); db(0x02); db(0x28); db(0x6b); db(0x10); db(0x22); db(0xfc); + db(0x80); db(0x03); db(0xa0); db(0x05); db(0x30); db(0x2d); db(0x02); db(0x2e); + db(0x48); db(0xc0); db(0xe1); db(0x80); db(0x22); db(0xc0); db(0x70); db(0x00); + db(0x30); db(0x2d); db(0x02); db(0x36); db(0x6b); db(0x08); db(0x22); db(0xfc); + db(0x80); db(0x03); db(0xa0); db(0x08); db(0x22); db(0xc0); db(0x42); db(0x91); + db(0x61); db(0x00); db(0xfc); db(0x68); db(0x36); db(0x3c); db(0x00); db(0x68); + db(0x74); db(0x01); db(0x28); db(0x2d); db(0x02); db(0x32); db(0x20); db(0x04); + db(0xc0); db(0x82); db(0x22); db(0x2b); db(0x00); db(0x04); db(0xc2); db(0x82); + db(0xb2); db(0x80); db(0x67); db(0x22); db(0x42); db(0x92); db(0x35); db(0x7c); + db(0x02); db(0x00); db(0x00); db(0x04); db(0x42); db(0xaa); db(0x00); db(0x0a); + db(0x32); db(0x03); db(0x4a); db(0x00); db(0x66); db(0x04); db(0x08); db(0xc1); + db(0x00); db(0x07); db(0x35); db(0x41); db(0x00); db(0x06); db(0x42); db(0x6a); + db(0x00); db(0x08); db(0x61); db(0x00); db(0xfc); db(0x2e); db(0x52); db(0x43); + db(0xd4); db(0x42); db(0x0c); db(0x42); db(0x00); db(0x08); db(0x66); db(0xc6); + db(0x27); db(0x44); db(0x00); db(0x04); db(0x10); db(0x2d); db(0x02); db(0x10); + db(0x08); db(0x00); db(0x00); db(0x00); db(0x67); db(0x00); db(0xfd); db(0x8e); + db(0x42); db(0x92); db(0x35); db(0x7c); db(0x04); db(0x00); db(0x00); db(0x04); + db(0x42); db(0x6a); db(0x00); db(0x06); db(0x61); db(0x00); db(0x00); db(0x38); + db(0x20); db(0x6b); db(0x00); db(0x14); db(0x30); db(0x2d); db(0x02); db(0x38); + db(0x32); db(0x28); db(0x00); db(0x30); db(0xd2); db(0x41); db(0x90); db(0x41); + db(0x6a); db(0x02); db(0x70); db(0x00); db(0x35); db(0x40); db(0x00); db(0x0a); + db(0x30); db(0x2d); db(0x02); db(0x3a); db(0x32); db(0x28); db(0x00); db(0x2e); db(0xd2); db(0x41); db(0x90); db(0x41); db(0x6a); db(0x02); db(0x70); db(0x00); - db(0x35); db(0x40); db(0x00); db(0x0a); db(0x30); db(0x2d); db(0x02); db(0x3a); - db(0x32); db(0x28); db(0x00); db(0x2e); db(0xd2); db(0x41); db(0x90); db(0x41); - db(0x6a); db(0x02); db(0x70); db(0x00); db(0x35); db(0x40); db(0x00); db(0x0c); - db(0x61); db(0x00); db(0xfb); db(0xa0); db(0x60); db(0x00); db(0xfd); db(0x4a); - db(0x4e); db(0x75); db(0x22); db(0x2d); db(0x02); db(0x32); db(0x70); db(0x00); - db(0x08); db(0x01); db(0x00); db(0x00); db(0x67); db(0x04); db(0x08); db(0xc0); - db(0x00); db(0x0e); db(0x08); db(0x01); db(0x00); db(0x01); db(0x67); db(0x04); - db(0x08); db(0xc0); db(0x00); db(0x0d); db(0x08); db(0x01); db(0x00); db(0x02); - db(0x67); db(0x04); db(0x08); db(0xc0); db(0x00); db(0x0c); db(0x35); db(0x40); - db(0x00); db(0x08); db(0x4e); db(0x75); db(0x4a); db(0xa9); db(0x02); db(0x08); - db(0x67); db(0x14); db(0x4a); db(0xa9); db(0x02); db(0x0c); db(0x67); db(0x0e); - db(0x30); db(0x29); db(0x02); db(0x12); db(0xb0); db(0x69); db(0x00); db(0x16); - db(0x67); db(0x14); db(0x33); db(0x40); db(0x00); db(0x16); db(0x2c); db(0x69); - db(0x00); db(0x26); db(0x20); db(0x29); db(0x00); db(0x22); db(0x22); db(0x69); - db(0x00); db(0x1e); db(0x4e); db(0xae); db(0xfe); db(0xbc); db(0x53); db(0x69); - db(0x00); db(0x46); db(0x6a); db(0x12); db(0x33); db(0x7c); db(0x00); db(0x32); - db(0x00); db(0x46); db(0x30); db(0x3c); db(0xff); db(0x38); db(0x72); db(0x02); - db(0x61); db(0x00); db(0x04); db(0x44); db(0x4e); db(0x90); db(0x41); db(0xf9); - db(0x00); db(0xdf); db(0xf0); db(0x00); db(0x70); db(0x00); db(0x4e); db(0x75); - db(0x48); db(0xe7); db(0x00); db(0x06); db(0x30); db(0x3c); db(0xff); db(0x38); - db(0x72); db(0x11); db(0x61); db(0x00); db(0x04); db(0x2a); db(0x4e); db(0x90); - db(0x08); db(0x00); db(0x00); db(0x00); db(0x67); db(0x42); db(0x2c); db(0x78); - db(0x00); db(0x04); db(0x20); db(0x3c); db(0x00); db(0x00); db(0x00); db(0x88); - db(0x22); db(0x3c); db(0x00); db(0x01); db(0x00); db(0x01); db(0x4e); db(0xae); - db(0xff); db(0x3a); db(0x4a); db(0x80); db(0x67); db(0x00); db(0x00); db(0x40); - db(0x2a); db(0x40); db(0x2b); db(0x4e); db(0x00); db(0x14); db(0x30); db(0x3c); - db(0xff); db(0x38); db(0x72); db(0x0e); db(0x61); db(0x00); db(0x03); db(0xf8); - db(0x20); db(0x0d); db(0x4e); db(0x90); db(0x41); db(0xfa); db(0x04); db(0x78); - db(0x43); db(0xfa); db(0x01); db(0x12); db(0x70); db(0xf6); db(0x22); db(0x3c); - db(0x00); db(0x00); db(0x27); db(0x10); db(0x61); db(0x00); db(0xed); db(0x18); - db(0x70); db(0x00); db(0x4c); db(0xdf); db(0x60); db(0x00); db(0x4e); db(0x75); - db(0x30); db(0x3c); db(0xff); db(0x38); db(0x72); db(0x0a); db(0x61); db(0x00); - db(0x03); db(0xce); db(0x4e); db(0x90); db(0x4e); db(0x75); db(0x61); db(0xf0); - db(0x20); db(0x0d); db(0x67); db(0x1c); db(0x2c); db(0x6d); db(0x00); db(0x14); - db(0x20); db(0x2d); db(0x00); db(0x18); db(0x67); db(0x06); db(0x22); db(0x40); - db(0x4e); db(0xae); db(0xfe); db(0x62); db(0x22); db(0x4d); db(0x20); db(0x3c); - db(0x00); db(0x00); db(0x00); db(0x88); db(0x4e); db(0xae); db(0xff); db(0x2e); - db(0x70); db(0x00); db(0x4e); db(0x75); db(0x48); db(0xe7); db(0x38); db(0x3e); - db(0x2c); db(0x6d); db(0x00); db(0x18); db(0x41); db(0xfa); db(0x04); db(0x06); - db(0x22); db(0x08); db(0x24); db(0x3c); db(0x00); db(0x00); db(0x03); db(0xed); - db(0x4e); db(0xae); db(0xff); db(0xe2); db(0x28); db(0x00); db(0x67); db(0x4c); - db(0x45); db(0xed); db(0x00); db(0x68); db(0x42); db(0x92); db(0x34); db(0xaa); - db(0x00); db(0x02); db(0x24); db(0x0a); db(0x54); db(0x82); db(0x76); db(0x02); - db(0x22); db(0x04); db(0x4e); db(0xae); db(0xff); db(0xd6); db(0xb6); db(0x80); - db(0x66); db(0x32); db(0x0c); db(0x92); db(0x50); db(0x4e); db(0x54); db(0x52); - db(0x66); db(0xe4); db(0x24); db(0x0a); db(0x76); db(0x04); db(0x22); db(0x04); - db(0x4e); db(0xae); db(0xff); db(0xd6); db(0x24); db(0x0a); db(0x76); db(0x20); - db(0x22); db(0x04); db(0x4e); db(0xae); db(0xff); db(0xd6); db(0xb6); db(0x80); - db(0x66); db(0x12); db(0x4a); db(0x6a); db(0x00); db(0x10); db(0x66); db(0xc4); - db(0x30); db(0x3c); db(0xff); db(0x38); db(0x72); db(0x10); db(0x61); db(0x00); - db(0x03); db(0x3e); db(0x4e); db(0x90); db(0x22); db(0x04); db(0x67); db(0x04); - db(0x4e); db(0xae); db(0xff); db(0xdc); db(0x4c); db(0xdf); db(0x7c); db(0x1c); - db(0x4e); db(0x75); db(0x2c); db(0x6d); db(0x00); db(0x18); db(0x41); db(0xfa); - db(0x03); db(0x7e); db(0x22); db(0x08); db(0x74); db(0xfe); db(0x4e); db(0xae); - db(0xff); db(0xac); db(0x22); db(0x00); db(0x67); db(0x34); db(0x4e); db(0xae); - db(0xff); db(0xa6); db(0x2c); db(0x6d); db(0x00); db(0x14); db(0x45); db(0xed); - db(0x00); db(0x38); db(0x70); db(0xff); db(0x4e); db(0xae); db(0xfe); db(0xb6); - db(0x15); db(0x40); db(0x00); db(0x14); db(0x41); db(0xfa); db(0x03); db(0x6e); - db(0x24); db(0x88); db(0x25); db(0x7c); db(0x00); db(0x00); db(0x00); db(0x12); - db(0x00); db(0x0c); db(0x25); db(0x6d); db(0x00); db(0x08); db(0x00); db(0x10); - db(0x2c); db(0x6d); db(0x00); db(0x18); db(0x22); db(0x0a); db(0x4e); db(0xae); - db(0xfc); db(0x88); db(0x2c); db(0x6d); db(0x00); db(0x14); db(0x4e); db(0x75); - db(0x00); db(0x00); db(0x00); db(0x10); db(0x00); db(0x00); db(0x00); db(0x00); - db(0x30); db(0x3c); db(0xff); db(0x38); db(0x72); db(0x0d); db(0x61); db(0x00); - db(0x02); db(0xce); db(0x4e); db(0x90); db(0x4a); db(0x80); db(0x67); db(0x00); - db(0xfe); db(0xfe); db(0x2a); db(0x40); db(0x2c); db(0x6d); db(0x00); db(0x14); - db(0x93); db(0xc9); db(0x4e); db(0xae); db(0xfe); db(0xda); db(0x2b); db(0x40); - db(0x00); db(0x08); db(0x43); db(0xfa); db(0x03); db(0xab); db(0x70); db(0x00); - db(0x4e); db(0xae); db(0xfd); db(0xd8); db(0x2b); db(0x40); db(0x00); db(0x18); - db(0x67); db(0x00); db(0xfe); db(0xdc); db(0x2c); db(0x40); db(0x72); db(0x32); - db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x41); db(0xfa); db(0x02); db(0xd4); + db(0x35); db(0x40); db(0x00); db(0x0c); db(0x61); db(0x00); db(0xfb); db(0xa0); + db(0x60); db(0x00); db(0xfd); db(0x4a); db(0x4e); db(0x75); db(0x22); db(0x2d); + db(0x02); db(0x32); db(0x70); db(0x00); db(0x08); db(0x01); db(0x00); db(0x00); + db(0x67); db(0x04); db(0x08); db(0xc0); db(0x00); db(0x0e); db(0x08); db(0x01); + db(0x00); db(0x01); db(0x67); db(0x04); db(0x08); db(0xc0); db(0x00); db(0x0d); + db(0x08); db(0x01); db(0x00); db(0x02); db(0x67); db(0x04); db(0x08); db(0xc0); + db(0x00); db(0x0c); db(0x35); db(0x40); db(0x00); db(0x08); db(0x4e); db(0x75); + db(0x4a); db(0xa9); db(0x02); db(0x08); db(0x67); db(0x14); db(0x4a); db(0xa9); + db(0x02); db(0x0c); db(0x67); db(0x0e); db(0x30); db(0x29); db(0x02); db(0x12); + db(0xb0); db(0x69); db(0x00); db(0x16); db(0x67); db(0x14); db(0x33); db(0x40); + db(0x00); db(0x16); db(0x2c); db(0x69); db(0x00); db(0x26); db(0x20); db(0x29); + db(0x00); db(0x22); db(0x22); db(0x69); db(0x00); db(0x1e); db(0x4e); db(0xae); + db(0xfe); db(0xbc); db(0x53); db(0x69); db(0x00); db(0x46); db(0x6a); db(0x12); + db(0x33); db(0x7c); db(0x00); db(0x32); db(0x00); db(0x46); db(0x30); db(0x3c); + db(0xff); db(0x38); db(0x72); db(0x02); db(0x61); db(0x00); db(0x04); db(0x44); + db(0x4e); db(0x90); db(0x41); db(0xf9); db(0x00); db(0xdf); db(0xf0); db(0x00); + db(0x70); db(0x00); db(0x4e); db(0x75); db(0x48); db(0xe7); db(0x00); db(0x06); + db(0x30); db(0x3c); db(0xff); db(0x38); db(0x72); db(0x11); db(0x61); db(0x00); + db(0x04); db(0x2a); db(0x4e); db(0x90); db(0x08); db(0x00); db(0x00); db(0x00); + db(0x67); db(0x42); db(0x2c); db(0x78); db(0x00); db(0x04); db(0x20); db(0x3c); + db(0x00); db(0x00); db(0x00); db(0x88); db(0x22); db(0x3c); db(0x00); db(0x01); + db(0x00); db(0x01); db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x4a); db(0x80); + db(0x67); db(0x00); db(0x00); db(0x40); db(0x2a); db(0x40); db(0x2b); db(0x4e); + db(0x00); db(0x14); db(0x30); db(0x3c); db(0xff); db(0x38); db(0x72); db(0x0e); + db(0x61); db(0x00); db(0x03); db(0xf8); db(0x20); db(0x0d); db(0x4e); db(0x90); + db(0x41); db(0xfa); db(0x04); db(0x78); db(0x43); db(0xfa); db(0x01); db(0x12); + db(0x70); db(0xf6); db(0x22); db(0x3c); db(0x00); db(0x00); db(0x27); db(0x10); + db(0x61); db(0x00); db(0xee); db(0x14); db(0x70); db(0x00); db(0x4c); db(0xdf); + db(0x60); db(0x00); db(0x4e); db(0x75); db(0x30); db(0x3c); db(0xff); db(0x38); + db(0x72); db(0x0a); db(0x61); db(0x00); db(0x03); db(0xce); db(0x4e); db(0x90); + db(0x4e); db(0x75); db(0x61); db(0xf0); db(0x20); db(0x0d); db(0x67); db(0x1c); + db(0x2c); db(0x6d); db(0x00); db(0x14); db(0x20); db(0x2d); db(0x00); db(0x18); + db(0x67); db(0x06); db(0x22); db(0x40); db(0x4e); db(0xae); db(0xfe); db(0x62); + db(0x22); db(0x4d); db(0x20); db(0x3c); db(0x00); db(0x00); db(0x00); db(0x88); + db(0x4e); db(0xae); db(0xff); db(0x2e); db(0x70); db(0x00); db(0x4e); db(0x75); + db(0x48); db(0xe7); db(0x38); db(0x3e); db(0x2c); db(0x6d); db(0x00); db(0x18); + db(0x41); db(0xfa); db(0x04); db(0x06); db(0x22); db(0x08); db(0x24); db(0x3c); + db(0x00); db(0x00); db(0x03); db(0xed); db(0x4e); db(0xae); db(0xff); db(0xe2); + db(0x28); db(0x00); db(0x67); db(0x4c); db(0x45); db(0xed); db(0x00); db(0x68); + db(0x42); db(0x92); db(0x34); db(0xaa); db(0x00); db(0x02); db(0x24); db(0x0a); + db(0x54); db(0x82); db(0x76); db(0x02); db(0x22); db(0x04); db(0x4e); db(0xae); + db(0xff); db(0xd6); db(0xb6); db(0x80); db(0x66); db(0x32); db(0x0c); db(0x92); + db(0x50); db(0x4e); db(0x54); db(0x52); db(0x66); db(0xe4); db(0x24); db(0x0a); + db(0x76); db(0x04); db(0x22); db(0x04); db(0x4e); db(0xae); db(0xff); db(0xd6); + db(0x24); db(0x0a); db(0x76); db(0x20); db(0x22); db(0x04); db(0x4e); db(0xae); + db(0xff); db(0xd6); db(0xb6); db(0x80); db(0x66); db(0x12); db(0x4a); db(0x6a); + db(0x00); db(0x10); db(0x66); db(0xc4); db(0x30); db(0x3c); db(0xff); db(0x38); + db(0x72); db(0x10); db(0x61); db(0x00); db(0x03); db(0x3e); db(0x4e); db(0x90); + db(0x22); db(0x04); db(0x67); db(0x04); db(0x4e); db(0xae); db(0xff); db(0xdc); + db(0x4c); db(0xdf); db(0x7c); db(0x1c); db(0x4e); db(0x75); db(0x2c); db(0x6d); + db(0x00); db(0x18); db(0x41); db(0xfa); db(0x03); db(0x7e); db(0x22); db(0x08); + db(0x74); db(0xfe); db(0x4e); db(0xae); db(0xff); db(0xac); db(0x22); db(0x00); + db(0x67); db(0x34); db(0x4e); db(0xae); db(0xff); db(0xa6); db(0x2c); db(0x6d); + db(0x00); db(0x14); db(0x45); db(0xed); db(0x00); db(0x38); db(0x70); db(0xff); + db(0x4e); db(0xae); db(0xfe); db(0xb6); db(0x15); db(0x40); db(0x00); db(0x14); + db(0x41); db(0xfa); db(0x03); db(0x6e); db(0x24); db(0x88); db(0x25); db(0x7c); + db(0x00); db(0x00); db(0x00); db(0x12); db(0x00); db(0x0c); db(0x25); db(0x6d); + db(0x00); db(0x08); db(0x00); db(0x10); db(0x2c); db(0x6d); db(0x00); db(0x18); + db(0x22); db(0x0a); db(0x4e); db(0xae); db(0xfc); db(0x88); db(0x2c); db(0x6d); + db(0x00); db(0x14); db(0x4e); db(0x75); db(0x00); db(0x00); db(0x00); db(0x10); + db(0x00); db(0x00); db(0x00); db(0x00); db(0x30); db(0x3c); db(0xff); db(0x38); + db(0x72); db(0x0d); db(0x61); db(0x00); db(0x02); db(0xce); db(0x4e); db(0x90); + db(0x4a); db(0x80); db(0x67); db(0x00); db(0xfe); db(0xfe); db(0x2a); db(0x40); + db(0x2c); db(0x6d); db(0x00); db(0x14); db(0x93); db(0xc9); db(0x4e); db(0xae); + db(0xfe); db(0xda); db(0x2b); db(0x40); db(0x00); db(0x08); db(0x43); db(0xfa); + db(0x03); db(0xab); db(0x70); db(0x00); db(0x4e); db(0xae); db(0xfd); db(0xd8); + db(0x2b); db(0x40); db(0x00); db(0x18); db(0x67); db(0x00); db(0xfe); db(0xdc); + db(0x2c); db(0x40); db(0x72); db(0x32); db(0x4e); db(0xae); db(0xff); db(0x3a); + db(0x41); db(0xfa); db(0x02); db(0xd4); db(0x22); db(0x08); db(0x74); db(0xfe); + db(0x4e); db(0xae); db(0xff); db(0xac); db(0x4a); db(0x80); db(0x67); db(0xea); + db(0x22); db(0x00); db(0x4e); db(0xae); db(0xff); db(0xa6); db(0x72); db(0x32); + db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x41); db(0xfa); db(0x02); db(0xbe); db(0x22); db(0x08); db(0x74); db(0xfe); db(0x4e); db(0xae); db(0xff); db(0xac); - db(0x4a); db(0x80); db(0x67); db(0xea); db(0x22); db(0x00); db(0x4e); db(0xae); - db(0xff); db(0xa6); db(0x72); db(0x32); db(0x4e); db(0xae); db(0xff); db(0x3a); - db(0x41); db(0xfa); db(0x02); db(0xbe); db(0x22); db(0x08); db(0x74); db(0xfe); - db(0x4e); db(0xae); db(0xff); db(0xac); db(0x4a); db(0x80); db(0x67); db(0x00); - db(0xfe); db(0xa6); db(0x22); db(0x00); db(0x4e); db(0xae); db(0xff); db(0xa6); - db(0x2c); db(0x6d); db(0x00); db(0x14); db(0x61); db(0x00); db(0xf8); db(0x20); - db(0x72); db(0x00); db(0x32); db(0x3c); db(0x00); db(0x34); db(0x61); db(0x00); - db(0xf8); db(0x64); db(0x28); db(0x40); db(0x4a); db(0x80); db(0x67); db(0x00); - db(0xfe); db(0x86); db(0x70); db(0x00); db(0x08); db(0xc0); db(0x00); db(0x0d); - db(0x4e); db(0xae); db(0xfe); db(0xc2); db(0x72); db(0x00); db(0x20); db(0x2d); - db(0x00); db(0x0c); db(0x41); db(0xfa); db(0x02); db(0x97); db(0x22); db(0x4c); - db(0x4e); db(0xae); db(0xfe); db(0x44); db(0x4a); db(0x80); db(0x66); db(0xe2); - db(0x20); db(0x6c); db(0x00); db(0x14); db(0x0c); db(0x68); db(0x00); db(0x25); - db(0x00); db(0x14); db(0x64); db(0x0c); db(0x61); db(0x00); db(0xfe); db(0x4a); - db(0x70); db(0x00); db(0x4e); db(0xae); db(0xfe); db(0xc2); db(0x60); db(0xf8); - db(0x61); db(0x00); db(0xfe); db(0xe8); db(0x41); db(0xed); db(0x00); db(0x1c); - db(0x29); db(0x48); db(0x00); db(0x28); db(0x70); db(0x01); db(0x29); db(0x40); - db(0x00); db(0x24); db(0x39); db(0x7c); db(0x00); db(0x0c); db(0x00); db(0x1c); - db(0x2b); db(0x4d); db(0x00); db(0x2c); db(0x41); db(0xfa); db(0x01); db(0x60); - db(0x2b); db(0x48); db(0x00); db(0x24); db(0x22); db(0x4c); db(0x4e); db(0xae); - db(0xfe); db(0x38); db(0x30); db(0x3c); db(0xff); db(0x38); db(0x72); db(0x0f); - db(0x61); db(0x00); db(0x01); db(0xe4); db(0x4e); db(0x90); db(0x4a); db(0xad); - db(0x00); db(0x00); db(0x66); db(0x1c); db(0x70); db(0x00); db(0x74); db(0x00); - db(0x14); db(0x2d); db(0x00); db(0x4c); db(0x05); db(0xc0); db(0x08); db(0xc0); - db(0x00); db(0x0d); db(0x4e); db(0xae); db(0xfe); db(0xc2); db(0x05); db(0x00); - db(0x67); db(0x06); db(0x61); db(0x00); db(0xfe); db(0x20); db(0x60); db(0xe4); - db(0x20); db(0x2d); db(0x00); db(0x00); db(0x67); db(0x00); db(0x00); db(0x76); - db(0x72); db(0x01); db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x2b); db(0x40); - db(0x00); db(0x04); db(0x30); db(0x3c); db(0xff); db(0x38); db(0x72); db(0x0c); - db(0x61); db(0x00); db(0x01); db(0xa4); db(0x4e); db(0x90); db(0x4a); db(0x80); - db(0x67); db(0x40); db(0x4a); db(0xad); db(0x00); db(0x04); db(0x67); db(0x3a); - db(0x39); db(0x7c); db(0x00); db(0x03); db(0x00); db(0x1c); db(0x42); db(0x2c); - db(0x00); db(0x1f); db(0x42); db(0xac); db(0x00); db(0x20); db(0x29); db(0x6d); - db(0x00); db(0x00); db(0x00); db(0x24); db(0x29); db(0x6d); db(0x00); db(0x04); - db(0x00); db(0x28); db(0x42); db(0xac); db(0x00); db(0x2c); db(0x42); db(0xac); - db(0x00); db(0x30); db(0x22); db(0x4c); db(0x4e); db(0xae); db(0xfe); db(0x38); - db(0x2b); db(0x6c); db(0x00); db(0x30); db(0x00); db(0x10); db(0x39); db(0x7c); - db(0x00); db(0x04); db(0x00); db(0x1c); db(0x22); db(0x4c); db(0x4e); db(0xae); - db(0xfe); db(0x38); db(0x20); db(0x2d); db(0x00); db(0x00); db(0x42); db(0xad); - db(0x00); db(0x00); db(0x22); db(0x2d); db(0x00); db(0x04); db(0x67); db(0x00); - db(0xff); db(0x74); db(0x22); db(0x41); db(0x4e); db(0xae); db(0xff); db(0x2e); - db(0x60); db(0x00); db(0xff); db(0x6a); db(0x39); db(0x7c); db(0x00); db(0x02); - db(0x00); db(0x1c); db(0x41); db(0xed); db(0x00); db(0x30); db(0x42); db(0x90); - db(0x42); db(0xa8); db(0x00); db(0x04); db(0x42); db(0x2c); db(0x00); db(0x1f); - db(0x42); db(0xac); db(0x00); db(0x2c); db(0x42); db(0xac); db(0x00); db(0x30); - db(0x29); db(0x48); db(0x00); db(0x28); db(0x70); db(0x08); db(0x29); db(0x40); + db(0x4a); db(0x80); db(0x67); db(0x00); db(0xfe); db(0xa6); db(0x22); db(0x00); + db(0x4e); db(0xae); db(0xff); db(0xa6); db(0x2c); db(0x6d); db(0x00); db(0x14); + db(0x61); db(0x00); db(0xf8); db(0x20); db(0x72); db(0x00); db(0x32); db(0x3c); + db(0x00); db(0x34); db(0x61); db(0x00); db(0xf8); db(0x64); db(0x28); db(0x40); + db(0x4a); db(0x80); db(0x67); db(0x00); db(0xfe); db(0x86); db(0x70); db(0x00); + db(0x08); db(0xc0); db(0x00); db(0x0d); db(0x4e); db(0xae); db(0xfe); db(0xc2); + db(0x72); db(0x00); db(0x20); db(0x2d); db(0x00); db(0x0c); db(0x41); db(0xfa); + db(0x02); db(0x97); db(0x22); db(0x4c); db(0x4e); db(0xae); db(0xfe); db(0x44); + db(0x4a); db(0x80); db(0x66); db(0xe2); db(0x20); db(0x6c); db(0x00); db(0x14); + db(0x0c); db(0x68); db(0x00); db(0x25); db(0x00); db(0x14); db(0x64); db(0x0c); + db(0x61); db(0x00); db(0xfe); db(0x4a); db(0x70); db(0x00); db(0x4e); db(0xae); + db(0xfe); db(0xc2); db(0x60); db(0xf8); db(0x61); db(0x00); db(0xfe); db(0xe8); + db(0x41); db(0xed); db(0x00); db(0x1c); db(0x29); db(0x48); db(0x00); db(0x28); + db(0x70); db(0x01); db(0x29); db(0x40); db(0x00); db(0x24); db(0x39); db(0x7c); + db(0x00); db(0x0c); db(0x00); db(0x1c); db(0x2b); db(0x4d); db(0x00); db(0x2c); + db(0x41); db(0xfa); db(0x01); db(0x60); db(0x2b); db(0x48); db(0x00); db(0x24); + db(0x22); db(0x4c); db(0x4e); db(0xae); db(0xfe); db(0x38); db(0x30); db(0x3c); + db(0xff); db(0x38); db(0x72); db(0x0f); db(0x61); db(0x00); db(0x01); db(0xe4); + db(0x4e); db(0x90); db(0x4a); db(0xad); db(0x00); db(0x00); db(0x66); db(0x1c); + db(0x70); db(0x00); db(0x74); db(0x00); db(0x14); db(0x2d); db(0x00); db(0x4c); + db(0x05); db(0xc0); db(0x08); db(0xc0); db(0x00); db(0x0d); db(0x4e); db(0xae); + db(0xfe); db(0xc2); db(0x05); db(0x00); db(0x67); db(0x06); db(0x61); db(0x00); + db(0xfe); db(0x20); db(0x60); db(0xe4); db(0x20); db(0x2d); db(0x00); db(0x00); + db(0x67); db(0x00); db(0x00); db(0x76); db(0x72); db(0x01); db(0x4e); db(0xae); + db(0xff); db(0x3a); db(0x2b); db(0x40); db(0x00); db(0x04); db(0x30); db(0x3c); + db(0xff); db(0x38); db(0x72); db(0x0c); db(0x61); db(0x00); db(0x01); db(0xa4); + db(0x4e); db(0x90); db(0x4a); db(0x80); db(0x67); db(0x40); db(0x4a); db(0xad); + db(0x00); db(0x04); db(0x67); db(0x3a); db(0x39); db(0x7c); db(0x00); db(0x03); + db(0x00); db(0x1c); db(0x42); db(0x2c); db(0x00); db(0x1f); db(0x42); db(0xac); + db(0x00); db(0x20); db(0x29); db(0x6d); db(0x00); db(0x00); db(0x00); db(0x24); + db(0x29); db(0x6d); db(0x00); db(0x04); db(0x00); db(0x28); db(0x42); db(0xac); + db(0x00); db(0x2c); db(0x42); db(0xac); db(0x00); db(0x30); db(0x22); db(0x4c); + db(0x4e); db(0xae); db(0xfe); db(0x38); db(0x2b); db(0x6c); db(0x00); db(0x30); + db(0x00); db(0x10); db(0x39); db(0x7c); db(0x00); db(0x04); db(0x00); db(0x1c); + db(0x22); db(0x4c); db(0x4e); db(0xae); db(0xfe); db(0x38); db(0x20); db(0x2d); + db(0x00); db(0x00); db(0x42); db(0xad); db(0x00); db(0x00); db(0x22); db(0x2d); + db(0x00); db(0x04); db(0x67); db(0x00); db(0xff); db(0x74); db(0x22); db(0x41); + db(0x4e); db(0xae); db(0xff); db(0x2e); db(0x60); db(0x00); db(0xff); db(0x6a); + db(0x39); db(0x7c); db(0x00); db(0x02); db(0x00); db(0x1c); db(0x41); db(0xed); + db(0x00); db(0x30); db(0x42); db(0x90); db(0x42); db(0xa8); db(0x00); db(0x04); + db(0x42); db(0x2c); db(0x00); db(0x1f); db(0x42); db(0xac); db(0x00); db(0x2c); + db(0x42); db(0xac); db(0x00); db(0x30); db(0x29); db(0x48); db(0x00); db(0x28); + db(0x70); db(0x08); db(0x29); db(0x40); db(0x00); db(0x24); db(0x22); db(0x4c); + db(0x4e); db(0xae); db(0xfe); db(0x38); db(0x0c); db(0xad); db(0x46); db(0x4f); + db(0x52); db(0x4d); db(0x00); db(0x30); db(0x66); db(0x52); db(0x20); db(0x2d); + db(0x00); db(0x34); db(0x67); db(0x4c); db(0x6b); db(0x4a); db(0x2b); db(0x6c); + db(0x00); db(0x30); db(0x00); db(0x10); db(0x50); db(0x80); db(0x24); db(0x00); + db(0x72); db(0x01); db(0x4e); db(0xae); db(0xff); db(0x3a); db(0x4a); db(0x80); + db(0x67); db(0x36); db(0x24); db(0x40); db(0x20); db(0x4a); db(0x20); db(0xed); + db(0x00); db(0x30); db(0x20); db(0xed); db(0x00); db(0x34); db(0x29); db(0x48); + db(0x00); db(0x28); db(0x20); db(0x02); db(0x51); db(0x80); db(0x29); db(0x40); db(0x00); db(0x24); db(0x22); db(0x4c); db(0x4e); db(0xae); db(0xfe); db(0x38); - db(0x0c); db(0xad); db(0x46); db(0x4f); db(0x52); db(0x4d); db(0x00); db(0x30); - db(0x66); db(0x52); db(0x20); db(0x2d); db(0x00); db(0x34); db(0x67); db(0x4c); - db(0x6b); db(0x4a); db(0x2b); db(0x6c); db(0x00); db(0x30); db(0x00); db(0x10); - db(0x50); db(0x80); db(0x24); db(0x00); db(0x72); db(0x01); db(0x4e); db(0xae); - db(0xff); db(0x3a); db(0x4a); db(0x80); db(0x67); db(0x36); db(0x24); db(0x40); - db(0x20); db(0x4a); db(0x20); db(0xed); db(0x00); db(0x30); db(0x20); db(0xed); - db(0x00); db(0x34); db(0x29); db(0x48); db(0x00); db(0x28); db(0x20); db(0x02); - db(0x51); db(0x80); db(0x29); db(0x40); db(0x00); db(0x24); db(0x22); db(0x4c); - db(0x4e); db(0xae); db(0xfe); db(0x38); db(0x30); db(0x3c); db(0xff); db(0x38); - db(0x72); db(0x0b); db(0x61); db(0x00); db(0x00); db(0xca); db(0x20); db(0x2c); - db(0x00); db(0x20); db(0x4e); db(0x90); db(0x22); db(0x4a); db(0x20); db(0x02); - db(0x4e); db(0xae); db(0xff); db(0x2e); db(0x4a); db(0xac); db(0x00); db(0x20); - db(0x67); db(0x00); db(0xfe); db(0xda); db(0x41); db(0xed); db(0x00); db(0x30); - db(0x29); db(0x48); db(0x00); db(0x28); db(0x70); db(0x01); db(0x29); db(0x40); - db(0x00); db(0x24); db(0x42); db(0xac); db(0x00); db(0x20); db(0x22); db(0x4c); - db(0x4e); db(0xae); db(0xfe); db(0x38); db(0x60); db(0xde); db(0x41); db(0xe8); - db(0xff); db(0xe4); db(0x20); db(0x29); db(0x00); db(0x08); db(0xb0); db(0xa8); - db(0x00); db(0x10); db(0x67); db(0x1a); db(0x21); db(0x40); db(0x00); db(0x10); - db(0x2f); db(0x0e); db(0x2c); db(0x68); db(0x00); db(0x14); db(0x22); db(0x68); - db(0x00); db(0x08); db(0x70); db(0x00); db(0x08); db(0xc0); db(0x00); db(0x0d); - db(0x4e); db(0xae); db(0xfe); db(0xbc); db(0x2c); db(0x5f); db(0x70); db(0x00); - db(0x4e); db(0x75); db(0x2c); db(0x78); db(0x00); db(0x04); db(0x74); db(0xff); - db(0x30); db(0x3c); db(0xff); db(0x38); db(0x72); db(0x11); db(0x61); db(0x00); - db(0x00); db(0x5e); db(0x4e); db(0x90); db(0x08); db(0x00); db(0x00); db(0x01); - db(0x67); db(0x38); db(0x74); db(0x00); db(0x4e); db(0xae); db(0xff); db(0x7c); - db(0x41); db(0xee); db(0x01); db(0x5e); db(0x43); db(0xfa); db(0x00); db(0x70); - db(0x4e); db(0xae); db(0xfe); db(0xec); db(0x4a); db(0x80); db(0x67); db(0x1e); - db(0x20); db(0x40); db(0x43); db(0xfa); db(0x00); db(0x22); db(0x24); db(0x68); - db(0xff); db(0xe4); db(0x21); db(0x49); db(0xff); db(0xe4); db(0x22); db(0x48); - db(0x30); db(0x3c); db(0xff); db(0x38); db(0x72); db(0x65); db(0x61); db(0x00); - db(0x00); db(0x26); db(0x4e); db(0x90); db(0x74); db(0x01); db(0x4e); db(0xae); - db(0xff); db(0x76); db(0x20); db(0x02); db(0x4e); db(0x75); db(0x59); db(0x8f); - db(0x48); db(0xe7); db(0xc0); db(0x80); db(0x30); db(0x3c); db(0xff); db(0x38); - db(0x72); db(0x66); db(0x61); db(0x00); db(0x00); db(0x0a); db(0x4e); db(0x90); - db(0x4c); db(0xdf); db(0x01); db(0x03); db(0x4e); db(0x75); db(0x41); db(0xfa); - db(0xe7); db(0x0c); db(0x02); db(0x80); db(0x00); db(0x00); db(0xff); db(0xff); - db(0xd1); db(0xc0); db(0x4e); db(0x75); db(0x69); db(0x6e); db(0x70); db(0x75); - db(0x74); db(0x2e); db(0x64); db(0x65); db(0x76); db(0x69); db(0x63); db(0x65); - db(0x00); db(0x74); db(0x69); db(0x6d); db(0x65); db(0x72); db(0x2e); db(0x64); - db(0x65); db(0x76); db(0x69); db(0x63); db(0x65); db(0x00); db(0x63); db(0x6f); - db(0x6e); db(0x73); db(0x6f); db(0x6c); db(0x65); db(0x2e); db(0x64); db(0x65); - db(0x76); db(0x69); db(0x63); db(0x65); db(0x00); db(0x44); db(0x45); db(0x56); - db(0x53); db(0x00); db(0x44); db(0x45); db(0x56); db(0x53); db(0x3a); db(0x00); - db(0x44); db(0x45); db(0x56); db(0x53); db(0x3a); db(0x63); db(0x6c); db(0x69); - db(0x70); db(0x62); db(0x6f); db(0x61); db(0x72); db(0x64); db(0x2e); db(0x64); - db(0x65); db(0x76); db(0x69); db(0x63); db(0x65); db(0x00); db(0x52); db(0x41); - db(0x4d); db(0x3a); db(0x00); db(0x63); db(0x6c); db(0x69); db(0x70); db(0x62); - db(0x6f); db(0x61); db(0x72); db(0x64); db(0x2e); db(0x64); db(0x65); db(0x76); - db(0x69); db(0x63); db(0x65); db(0x00); db(0x52); db(0x41); db(0x4d); db(0x3a); - db(0x45); db(0x6e); db(0x76); db(0x2f); db(0x53); db(0x79); db(0x73); db(0x2f); - db(0x50); db(0x6f); db(0x69); db(0x6e); db(0x74); db(0x65); db(0x72); db(0x2e); - db(0x70); db(0x72); db(0x65); db(0x66); db(0x73); db(0x00); db(0x55); db(0x41); - db(0x45); db(0x20); db(0x63); db(0x6c); db(0x69); db(0x70); db(0x62); db(0x6f); - db(0x61); db(0x72); db(0x64); db(0x20); db(0x73); db(0x68); db(0x61); db(0x72); - db(0x69); db(0x6e); db(0x67); db(0x00); db(0x55); db(0x41); db(0x45); db(0x20); - db(0x6d); db(0x6f); db(0x75); db(0x73); db(0x65); db(0x20); db(0x64); db(0x72); - db(0x69); db(0x76); db(0x65); db(0x72); db(0x00); db(0x55); db(0x41); db(0x45); - db(0x20); db(0x68); db(0x65); db(0x61); db(0x72); db(0x74); db(0x20); db(0x62); - db(0x65); db(0x61); db(0x74); db(0x00); db(0x55); db(0x41); db(0x45); db(0x20); - db(0x66); db(0x69); db(0x6c); db(0x65); db(0x73); db(0x79); db(0x73); db(0x74); - db(0x65); db(0x6d); db(0x00); db(0x55); db(0x41); db(0x45); db(0x20); db(0x66); - db(0x73); db(0x20); db(0x61); db(0x75); db(0x74); db(0x6f); db(0x6d); db(0x6f); - db(0x75); db(0x6e); db(0x74); db(0x65); db(0x72); db(0x00); db(0x55); db(0x41); - db(0x45); db(0x20); db(0x66); db(0x73); db(0x20); db(0x61); db(0x75); db(0x74); - db(0x6f); db(0x6d); db(0x6f); db(0x75); db(0x6e); db(0x74); db(0x20); db(0x70); - db(0x72); db(0x6f); db(0x63); db(0x65); db(0x73); db(0x73); db(0x00); db(0x64); - db(0x6f); db(0x73); db(0x2e); db(0x6c); db(0x69); db(0x62); db(0x72); db(0x61); - db(0x72); db(0x79); db(0x00); db(0x69); db(0x6e); db(0x74); db(0x75); db(0x69); - db(0x74); db(0x69); db(0x6f); db(0x6e); db(0x2e); db(0x6c); db(0x69); db(0x62); - db(0x72); db(0x61); db(0x72); db(0x79); db(0x00); db(0x67); db(0x72); db(0x61); - db(0x70); db(0x68); db(0x69); db(0x63); db(0x73); db(0x2e); db(0x6c); db(0x69); - db(0x62); db(0x72); db(0x61); db(0x72); db(0x79); db(0x00); db(0x65); db(0x78); - db(0x70); db(0x61); db(0x6e); db(0x73); db(0x69); db(0x6f); db(0x6e); db(0x2e); - db(0x6c); db(0x69); db(0x62); db(0x72); db(0x61); db(0x72); db(0x79); db(0x00); - db(0x46); db(0x69); db(0x6c); db(0x65); db(0x53); db(0x79); db(0x73); db(0x74); - db(0x65); db(0x6d); db(0x2e); db(0x72); db(0x65); db(0x73); db(0x6f); db(0x75); - db(0x72); db(0x63); db(0x65); db(0x00); db(0x6d); db(0x65); db(0x67); db(0x61); - db(0x63); db(0x68); db(0x69); db(0x70); db(0x20); db(0x6d); db(0x65); db(0x6d); - db(0x6f); db(0x72); db(0x79); db(0x00); db(0x00); db(0x00); db(0x03); db(0xf2); + db(0x30); db(0x3c); db(0xff); db(0x38); db(0x72); db(0x0b); db(0x61); db(0x00); + db(0x00); db(0xca); db(0x20); db(0x2c); db(0x00); db(0x20); db(0x4e); db(0x90); + db(0x22); db(0x4a); db(0x20); db(0x02); db(0x4e); db(0xae); db(0xff); db(0x2e); + db(0x4a); db(0xac); db(0x00); db(0x20); db(0x67); db(0x00); db(0xfe); db(0xda); + db(0x41); db(0xed); db(0x00); db(0x30); db(0x29); db(0x48); db(0x00); db(0x28); + db(0x70); db(0x01); db(0x29); db(0x40); db(0x00); db(0x24); db(0x42); db(0xac); + db(0x00); db(0x20); db(0x22); db(0x4c); db(0x4e); db(0xae); db(0xfe); db(0x38); + db(0x60); db(0xde); db(0x41); db(0xe8); db(0xff); db(0xe4); db(0x20); db(0x29); + db(0x00); db(0x08); db(0xb0); db(0xa8); db(0x00); db(0x10); db(0x67); db(0x1a); + db(0x21); db(0x40); db(0x00); db(0x10); db(0x2f); db(0x0e); db(0x2c); db(0x68); + db(0x00); db(0x14); db(0x22); db(0x68); db(0x00); db(0x08); db(0x70); db(0x00); + db(0x08); db(0xc0); db(0x00); db(0x0d); db(0x4e); db(0xae); db(0xfe); db(0xbc); + db(0x2c); db(0x5f); db(0x70); db(0x00); db(0x4e); db(0x75); db(0x2c); db(0x78); + db(0x00); db(0x04); db(0x74); db(0xff); db(0x30); db(0x3c); db(0xff); db(0x38); + db(0x72); db(0x11); db(0x61); db(0x00); db(0x00); db(0x5e); db(0x4e); db(0x90); + db(0x08); db(0x00); db(0x00); db(0x01); db(0x67); db(0x38); db(0x74); db(0x00); + db(0x4e); db(0xae); db(0xff); db(0x7c); db(0x41); db(0xee); db(0x01); db(0x5e); + db(0x43); db(0xfa); db(0x00); db(0x70); db(0x4e); db(0xae); db(0xfe); db(0xec); + db(0x4a); db(0x80); db(0x67); db(0x1e); db(0x20); db(0x40); db(0x43); db(0xfa); + db(0x00); db(0x22); db(0x24); db(0x68); db(0xff); db(0xe4); db(0x21); db(0x49); + db(0xff); db(0xe4); db(0x22); db(0x48); db(0x30); db(0x3c); db(0xff); db(0x38); + db(0x72); db(0x65); db(0x61); db(0x00); db(0x00); db(0x26); db(0x4e); db(0x90); + db(0x74); db(0x01); db(0x4e); db(0xae); db(0xff); db(0x76); db(0x20); db(0x02); + db(0x4e); db(0x75); db(0x59); db(0x8f); db(0x48); db(0xe7); db(0xc0); db(0x80); + db(0x30); db(0x3c); db(0xff); db(0x38); db(0x72); db(0x66); db(0x61); db(0x00); + db(0x00); db(0x0a); db(0x4e); db(0x90); db(0x4c); db(0xdf); db(0x01); db(0x03); + db(0x4e); db(0x75); db(0x41); db(0xfa); db(0xe8); db(0x30); db(0x02); db(0x80); + db(0x00); db(0x00); db(0xff); db(0xff); db(0xd1); db(0xc0); db(0x4e); db(0x75); + db(0x69); db(0x6e); db(0x70); db(0x75); db(0x74); db(0x2e); db(0x64); db(0x65); + db(0x76); db(0x69); db(0x63); db(0x65); db(0x00); db(0x74); db(0x69); db(0x6d); + db(0x65); db(0x72); db(0x2e); db(0x64); db(0x65); db(0x76); db(0x69); db(0x63); + db(0x65); db(0x00); db(0x63); db(0x6f); db(0x6e); db(0x73); db(0x6f); db(0x6c); + db(0x65); db(0x2e); db(0x64); db(0x65); db(0x76); db(0x69); db(0x63); db(0x65); + db(0x00); db(0x44); db(0x45); db(0x56); db(0x53); db(0x00); db(0x44); db(0x45); + db(0x56); db(0x53); db(0x3a); db(0x00); db(0x44); db(0x45); db(0x56); db(0x53); + db(0x3a); db(0x63); db(0x6c); db(0x69); db(0x70); db(0x62); db(0x6f); db(0x61); + db(0x72); db(0x64); db(0x2e); db(0x64); db(0x65); db(0x76); db(0x69); db(0x63); + db(0x65); db(0x00); db(0x52); db(0x41); db(0x4d); db(0x3a); db(0x00); db(0x63); + db(0x6c); db(0x69); db(0x70); db(0x62); db(0x6f); db(0x61); db(0x72); db(0x64); + db(0x2e); db(0x64); db(0x65); db(0x76); db(0x69); db(0x63); db(0x65); db(0x00); + db(0x52); db(0x41); db(0x4d); db(0x3a); db(0x45); db(0x6e); db(0x76); db(0x2f); + db(0x53); db(0x79); db(0x73); db(0x2f); db(0x50); db(0x6f); db(0x69); db(0x6e); + db(0x74); db(0x65); db(0x72); db(0x2e); db(0x70); db(0x72); db(0x65); db(0x66); + db(0x73); db(0x00); db(0x55); db(0x41); db(0x45); db(0x20); db(0x63); db(0x6c); + db(0x69); db(0x70); db(0x62); db(0x6f); db(0x61); db(0x72); db(0x64); db(0x20); + db(0x73); db(0x68); db(0x61); db(0x72); db(0x69); db(0x6e); db(0x67); db(0x00); + db(0x55); db(0x41); db(0x45); db(0x20); db(0x6d); db(0x6f); db(0x75); db(0x73); + db(0x65); db(0x20); db(0x64); db(0x72); db(0x69); db(0x76); db(0x65); db(0x72); + db(0x00); db(0x55); db(0x41); db(0x45); db(0x20); db(0x68); db(0x65); db(0x61); + db(0x72); db(0x74); db(0x20); db(0x62); db(0x65); db(0x61); db(0x74); db(0x00); + db(0x55); db(0x41); db(0x45); db(0x20); db(0x66); db(0x69); db(0x6c); db(0x65); + db(0x73); db(0x79); db(0x73); db(0x74); db(0x65); db(0x6d); db(0x00); db(0x55); + db(0x41); db(0x45); db(0x20); db(0x66); db(0x73); db(0x20); db(0x61); db(0x75); + db(0x74); db(0x6f); db(0x6d); db(0x6f); db(0x75); db(0x6e); db(0x74); db(0x65); + db(0x72); db(0x00); db(0x55); db(0x41); db(0x45); db(0x20); db(0x66); db(0x73); + db(0x20); db(0x61); db(0x75); db(0x74); db(0x6f); db(0x6d); db(0x6f); db(0x75); + db(0x6e); db(0x74); db(0x20); db(0x70); db(0x72); db(0x6f); db(0x63); db(0x65); + db(0x73); db(0x73); db(0x00); db(0x64); db(0x6f); db(0x73); db(0x2e); db(0x6c); + db(0x69); db(0x62); db(0x72); db(0x61); db(0x72); db(0x79); db(0x00); db(0x69); + db(0x6e); db(0x74); db(0x75); db(0x69); db(0x74); db(0x69); db(0x6f); db(0x6e); + db(0x2e); db(0x6c); db(0x69); db(0x62); db(0x72); db(0x61); db(0x72); db(0x79); + db(0x00); db(0x67); db(0x72); db(0x61); db(0x70); db(0x68); db(0x69); db(0x63); + db(0x73); db(0x2e); db(0x6c); db(0x69); db(0x62); db(0x72); db(0x61); db(0x72); + db(0x79); db(0x00); db(0x65); db(0x78); db(0x70); db(0x61); db(0x6e); db(0x73); + db(0x69); db(0x6f); db(0x6e); db(0x2e); db(0x6c); db(0x69); db(0x62); db(0x72); + db(0x61); db(0x72); db(0x79); db(0x00); db(0x46); db(0x69); db(0x6c); db(0x65); + db(0x53); db(0x79); db(0x73); db(0x74); db(0x65); db(0x6d); db(0x2e); db(0x72); + db(0x65); db(0x73); db(0x6f); db(0x75); db(0x72); db(0x63); db(0x65); db(0x00); + db(0x6d); db(0x65); db(0x67); db(0x61); db(0x63); db(0x68); db(0x69); db(0x70); + db(0x20); db(0x6d); db(0x65); db(0x6d); db(0x6f); db(0x72); db(0x79); db(0x00); + db(0x00); db(0x00); db(0x03); db(0xf2); diff --git a/fsdb.cpp b/fsdb.cpp index 3e5d09c9..45bb3627 100644 --- a/fsdb.cpp +++ b/fsdb.cpp @@ -95,14 +95,16 @@ static void kill_fsdb (a_inode *dir) xfree (n); } -static void fsdb_fixup (FILE *f, TCHAR *buf, int size, a_inode *base) +static void fsdb_fixup (FILE *f, uae_u8 *buf, int size, a_inode *base) { TCHAR *nname; int ret; if (buf[0] == 0) return; - nname = build_nname (base->nname, buf + 5 + 257); + TCHAR *fnname = au ((char*)buf + 5 + 257); + nname = build_nname (base->nname, fnname); + xfree (fnname); ret = fsdb_exists (nname); if (ret) { xfree (nname); @@ -117,7 +119,7 @@ static void fsdb_fixup (FILE *f, TCHAR *buf, int size, a_inode *base) /* Prune the db file the first time this directory is opened in a session. */ void fsdb_clean_dir (a_inode *dir) { - TCHAR buf[1 + 4 + 257 + 257 + 81]; + uae_u8 buf[1 + 4 + 257 + 257 + 81]; TCHAR *n; FILE *f; off_t pos1 = 0, pos2; @@ -145,7 +147,11 @@ void fsdb_clean_dir (a_inode *dir) pos1 += sizeof buf; } fclose (f); - my_truncate (n, pos1); + if (pos1 == 0) { + kill_fsdb (dir); + } else { + my_truncate (n, pos1); + } xfree (n); } @@ -275,7 +281,7 @@ static void write_aino (FILE *f, a_inode *aino) { uae_u8 buf[1 + 4 + 257 + 257 + 81] = { 0 }; - buf[0] = aino->needs_dbentry; + buf[0] = aino->needs_dbentry ? 1 : 0; do_put_mem_long ((uae_u32 *)(buf + 1), aino->amigaos_mode); ua_copy ((char*)buf + 5, 256, aino->aname); buf[5 + 256] = '\0'; diff --git a/include/filesys.h b/include/filesys.h index d73ceddc..5fe16ad3 100644 --- a/include/filesys.h +++ b/include/filesys.h @@ -106,8 +106,6 @@ struct hd_hardfiledata { #define MAX_FILESYSTEM_UNITS 30 -#define USE_CDFS 2 - struct uaedev_mount_info; extern struct uaedev_mount_info options_mountinfo; diff --git a/include/fsdb.h b/include/fsdb.h index 850e9766..528e30ad 100644 --- a/include/fsdb.h +++ b/include/fsdb.h @@ -153,6 +153,10 @@ extern int my_existsfile (const TCHAR *name); extern int my_existsdir (const TCHAR *name); extern FILE *my_opentext (const TCHAR*); +extern bool my_stat (const TCHAR *name, struct mystat *ms); +extern bool my_utime (const TCHAR *name, struct mytimeval *tv); +extern bool my_chmod (const TCHAR *name, uae_u32 mode); + extern char *custom_fsdb_search_dir (const char *dirname, TCHAR *rel); extern a_inode *custom_fsdb_lookup_aino_aname (a_inode *base, const TCHAR *aname); extern a_inode *custom_fsdb_lookup_aino_nname (a_inode *base, const TCHAR *nname); diff --git a/include/isofs_api.h b/include/isofs_api.h index 62e61008..dac30837 100644 --- a/include/isofs_api.h +++ b/include/isofs_api.h @@ -20,7 +20,7 @@ bool isofs_mediainfo(void *sb, struct isofs_info*); struct cd_opendir_s *isofs_opendir(void *sb, uae_u64 uniq); void isofs_closedir(struct cd_opendir_s*); bool isofs_readdir(struct cd_opendir_s*, TCHAR*, uae_u64 *uniq); -bool isofs_stat(void *sb, uae_u64, struct _stat64*); +bool isofs_stat(void *sb, uae_u64, struct mystat*); void isofss_fill_file_attrs(void *sb, uae_u64, int*, int*, TCHAR**, uae_u64); bool isofs_exists(void *sb, uae_u64, const TCHAR*, uae_u64*); void isofs_dispose_inode(void *sb, uae_u64); diff --git a/include/options.h b/include/options.h index e68f7ba5..66421589 100644 --- a/include/options.h +++ b/include/options.h @@ -9,7 +9,7 @@ #define UAEMAJOR 2 #define UAEMINOR 5 -#define UAESUBREV 0 +#define UAESUBREV 1 typedef enum { KBD_LANG_US, KBD_LANG_DK, KBD_LANG_DE, KBD_LANG_SE, KBD_LANG_FR, KBD_LANG_IT, KBD_LANG_ES } KbdLang; diff --git a/include/sysdeps.h b/include/sysdeps.h index 39f9108f..d976c54c 100644 --- a/include/sysdeps.h +++ b/include/sysdeps.h @@ -352,27 +352,6 @@ struct direct #define S_IRUSR FILEFLAG_READ #define S_IXUSR FILEFLAG_EXECUTE -/* These are prototypes for functions from the Win32 posixemu file */ -extern void get_time (time_t t, long* days, long* mins, long* ticks); -extern time_t put_time (long days, long mins, long ticks); - -/* #define DONT_HAVE_POSIX - don't need all of Mathias' posixemu_functions, just a subset (below) */ -#define chmod(a,b) posixemu_chmod ((a), (b)) -extern int posixemu_chmod (const TCHAR *, int); -#define stat(a,b) posixemu_stat ((a), (b)) -extern int posixemu_stat (const TCHAR *, struct _stat64 *); -#define mkdir(x,y) mkdir(x) -#define truncate posixemu_truncate -extern int posixemu_truncate (const TCHAR *, long int); -#define utime posixemu_utime -extern int posixemu_utime (const TCHAR *, struct utimbuf *); -#define opendir posixemu_opendir -extern DIR * posixemu_opendir (const TCHAR *); -#define readdir posixemu_readdir -extern struct dirent* posixemu_readdir (DIR *); -#define closedir posixemu_closedir -extern void posixemu_closedir (DIR *); - #endif #endif /* _WIN32 */ diff --git a/include/zarchive.h b/include/zarchive.h index 3c7389d3..c4458a8a 100644 --- a/include/zarchive.h +++ b/include/zarchive.h @@ -49,7 +49,7 @@ struct znode { struct zfile *f; TCHAR *comment; int flags; - time_t mtime; + struct mytimeval mtime; /* decompressor specific */ unsigned int offset; unsigned int offset2; @@ -81,7 +81,7 @@ struct zarchive_info uae_s64 size; int flags; TCHAR *comment; - time_t t; + struct mytimeval tv; }; #define ArchiveFormat7Zip '7z ' diff --git a/include/zfile.h b/include/zfile.h index 98c0cdf0..57090c15 100644 --- a/include/zfile.h +++ b/include/zfile.h @@ -116,7 +116,7 @@ extern struct zvolume *zfile_fopen_archive (const TCHAR *filename, int flags); extern struct zvolume *zfile_fopen_archive_root (const TCHAR *filename, int flags); extern void zfile_fclose_archive (struct zvolume *zv); extern int zfile_fs_usage_archive (const TCHAR *path, const TCHAR *disk, struct fs_usage *fsp); -extern int zfile_stat_archive (const TCHAR *path, struct _stat64 *statbuf); +extern int zfile_stat_archive (const TCHAR *path, struct mystat *statbuf); extern struct zdirectory *zfile_opendir_archive (const TCHAR *path); extern struct zdirectory *zfile_opendir_archive (const TCHAR *path, int flags); extern void zfile_closedir_archive (struct zdirectory *); @@ -131,3 +131,18 @@ extern void zfile_close_archive (struct zfile *d); extern struct zfile *zfile_open_archive (const TCHAR *path, int flags); extern int zfile_exists_archive (const TCHAR *path, const TCHAR *rel); extern bool zfile_needwrite (struct zfile*); + +struct mytimeval +{ + uae_s64 tv_sec; + uae_s32 tv_usec; +}; + +struct mystat +{ + uae_s64 size; + uae_u32 mode; + struct mytimeval mtime; +}; +extern void timeval_to_amiga (struct mytimeval *tv, int* days, int* mins, int* ticks); +extern void amiga_to_timeval (struct mytimeval *tv, int days, int mins, int ticks); \ No newline at end of file diff --git a/inputdevice.cpp b/inputdevice.cpp index 31b69fdc..2148303a 100644 --- a/inputdevice.cpp +++ b/inputdevice.cpp @@ -1744,7 +1744,7 @@ static int getvelocity (int num, int subnum, int pct) return v; } -#define MOUSEXY_MAX 1024 +#define MOUSEXY_MAX 16384 static void mouseupdate (int pct, bool vsync) { @@ -2866,6 +2866,13 @@ static int handle_input_event (int nr, int state, int max, int autofire, bool ca if (nr <= 0 || nr == INPUTEVENT_SPC_CUSTOM_EVENT) return 0; + +#ifdef _WIN32 + // ignore norrmal GUI event if forced gui key is in use + if (currprefs.win32_guikey >= 0 && nr == INPUTEVENT_SPC_ENTERGUI) + return 0; +#endif + ie = &events[nr]; if (isqual (nr)) return 0; // qualifiers do nothing diff --git a/inputrecord.cpp b/inputrecord.cpp index fb3d0e3a..ca5efcfd 100644 --- a/inputrecord.cpp +++ b/inputrecord.cpp @@ -24,6 +24,7 @@ #include "events.h" #include "uae.h" #include "disk.h" +#include "fsdb.h" #if INPUTRECORD_DEBUG > 0 #include "memory.h" @@ -516,16 +517,16 @@ void inprec_close (bool clear) static void setwriteprotect (const TCHAR *fname, bool readonly) { - struct _stat64 st; + struct mystat st; int mode, oldmode; - if (stat (fname, &st)) + if (my_stat (fname, &st)) return; - oldmode = mode = st.st_mode; + oldmode = mode = st.mode; mode &= ~FILEFLAG_WRITE; if (!readonly) mode |= FILEFLAG_WRITE; if (mode != oldmode) - chmod (fname, mode); + my_chmod (fname, mode); } void inprec_playdiskchange (void) diff --git a/isofs.cpp b/isofs.cpp index 0d0c625a..2ea40cda 100644 --- a/isofs.cpp +++ b/isofs.cpp @@ -14,7 +14,7 @@ #include "options.h" #include "blkdev.h" #include "isofs_api.h" -#include "fsdb.h" +#include "zfile.h" #include "isofs.h" @@ -2506,20 +2506,18 @@ void isofss_fill_file_attrs(void *sbp, uae_u64 parent, int *dir, int *flags, TCH *comment = my_strdup(inode->i_comment); } -bool isofs_stat(void *sbp, uae_u64 uniq, struct _stat64 *statbuf) +bool isofs_stat(void *sbp, uae_u64 uniq, struct mystat *statbuf) { struct super_block *sb = (struct super_block*)sbp; struct inode *inode = find_inode(sb, uniq); if (!inode) return false; - - statbuf->st_mode = FILEFLAG_READ; - statbuf->st_mtime = inode->i_mtime.tv_sec; - if (XS_ISDIR(inode->i_mode)) { - statbuf->st_mode |= FILEFLAG_DIR; - } else { - statbuf->st_size = inode->i_size; + + statbuf->mtime.tv_sec = inode->i_mtime.tv_sec; + statbuf->mtime.tv_usec = 0; + if (!XS_ISDIR(inode->i_mode)) { + statbuf->size = inode->i_size; } return true; } diff --git a/main.cpp b/main.cpp index 66b564ed..91d5992d 100644 --- a/main.cpp +++ b/main.cpp @@ -263,11 +263,11 @@ void fixup_prefs (struct uae_prefs *p) err = 1; } if ((p->rtgmem_size & (p->rtgmem_size - 1)) != 0 - || (p->rtgmem_size != 0 && (p->rtgmem_size < 0x100000 || p->rtgmem_size > max_z3fastmem / 2))) + || (p->rtgmem_size != 0 && (p->rtgmem_size < 0x100000 || p->rtgmem_size > max_z3fastmem))) { - write_log (_T("Unsupported graphics card memory size %x (%x)!\n"), p->rtgmem_size, max_z3fastmem / 2); - if (p->rtgmem_size > max_z3fastmem / 2) - p->rtgmem_size = max_z3fastmem / 2; + write_log (_T("Unsupported graphics card memory size %x (%x)!\n"), p->rtgmem_size, max_z3fastmem); + if (p->rtgmem_size > max_z3fastmem) + p->rtgmem_size = max_z3fastmem; else p->rtgmem_size = 0; err = 1; diff --git a/od-win32/build68k_msvc/build68k_msvc.vcxproj b/od-win32/build68k_msvc/build68k_msvc.vcxproj index 1acddfe4..b90f95b1 100644 --- a/od-win32/build68k_msvc/build68k_msvc.vcxproj +++ b/od-win32/build68k_msvc/build68k_msvc.vcxproj @@ -27,21 +27,25 @@ Application false MultiByte + v110 Application false MultiByte + v110 Application false Unicode + v110 Application false Unicode + v110 diff --git a/od-win32/dxwrap.h b/od-win32/dxwrap.h index a8e4b754..e9e59d84 100644 --- a/od-win32/dxwrap.h +++ b/od-win32/dxwrap.h @@ -78,7 +78,7 @@ struct MultiDisplay { struct PicassoResolution *DisplayModes; RECT rect; }; -extern struct MultiDisplay Displays[MAX_DISPLAYS]; +extern struct MultiDisplay Displays[MAX_DISPLAYS + 1]; typedef enum { diff --git a/od-win32/fsdb_mywin32.cpp b/od-win32/fsdb_mywin32.cpp index ad895270..88c3fe7d 100644 --- a/od-win32/fsdb_mywin32.cpp +++ b/od-win32/fsdb_mywin32.cpp @@ -4,8 +4,11 @@ #include "memory.h" #include "fsdb.h" +#include "zfile.h" #include "win32.h" + #include +#include bool my_isfilehidden (const TCHAR *path) { @@ -560,3 +563,157 @@ FILE *my_opentext (const TCHAR *name) } return _tfopen (name, _T("r")); } + +bool my_stat (const TCHAR *name, struct mystat *statbuf) +{ + DWORD attr, ok; + 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 (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 false; + } + ok = GetFileInformationByHandle (h, &fi); + CloseHandle (h); + + attr = 0; + ft.dwHighDateTime = ft.dwLowDateTime = 0; + if (ok) { + attr = fi.dwFileAttributes; + ft = fi.ftLastWriteTime; + statbuf->size = ((uae_u64)fi.nFileSizeHigh << 32) | fi.nFileSizeLow; + } else { + write_log (_T("GetFileInformationByHandle(%s) failed: %d\n"), namep, GetLastError ()); + return false; + } + + statbuf->mode = (attr & FILE_ATTRIBUTE_READONLY) ? FILEFLAG_READ : FILEFLAG_READ | FILEFLAG_WRITE; + if (attr & FILE_ATTRIBUTE_ARCHIVE) + statbuf->mode |= FILEFLAG_ARCHIVE; + if (attr & FILE_ATTRIBUTE_DIRECTORY) + statbuf->mode |= FILEFLAG_DIR; + + FileTimeToLocalFileTime (&ft,&lft); + uae_u64 t = (*(__int64 *)&lft-((__int64)(369*365+89)*(__int64)(24*60*60)*(__int64)10000000)); + statbuf->mtime.tv_sec = t / 10000000; + statbuf->mtime.tv_usec = (t / 10) % 1000000; + + return true; +} + + +bool my_chmod (const TCHAR *name, uae_u32 mode) +{ + DWORD attr = FILE_ATTRIBUTE_NORMAL; + if (!(mode & FILEFLAG_WRITE)) + attr |= FILE_ATTRIBUTE_READONLY; + if (mode & FILEFLAG_ARCHIVE) + attr |= FILE_ATTRIBUTE_ARCHIVE; + if (SetFileAttributesSafe (name, attr)) + return true; + return false; +} + +static void tmToSystemTime (struct tm *tmtime, LPSYSTEMTIME systime) +{ + if (tmtime == NULL) { + GetSystemTime (systime); + } else { + systime->wDay = tmtime->tm_mday; + systime->wDayOfWeek = tmtime->tm_wday; + systime->wMonth = tmtime->tm_mon + 1; + systime->wYear = tmtime->tm_year + 1900; + systime->wHour = tmtime->tm_hour; + systime->wMinute = tmtime->tm_min; + systime->wSecond = tmtime->tm_sec; + systime->wMilliseconds = 0; + } +} + +static int setfiletime (const TCHAR *name, int days, int minute, int tick, int tolocal) +{ + 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 (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 (;;) { + ULARGE_INTEGER lft; + + lft.QuadPart = (((uae_u64)(377*365+91+days)*(uae_u64)1440+(uae_u64)minute)*(uae_u64)(60*50)+(uae_u64)tick)*(uae_u64)200000; + LocalFileTime.dwHighDateTime = lft.HighPart; + LocalFileTime.dwLowDateTime = lft.LowPart; + if (tolocal) { + if (!LocalFileTimeToFileTime (&LocalFileTime, &FileTime)) + FileTime = LocalFileTime; + } else { + FileTime = LocalFileTime; + } + if (!SetFileTime (hFile, &FileTime, &FileTime, &FileTime)) { + if (days > 47846) { // > 2108-12-31 (fat limit) + days = 47846; + continue; + } + if (days < 730) { // < 1980-01-01 (fat limit) + days = 730; + continue; + } + } + break; + } + + CloseHandle (hFile); + + return 1; +} + +bool my_utime (const TCHAR *name, struct mytimeval *tv) +{ + int result = -1, tolocal; + int days, mins, ticks; + struct mytimeval tv2; + + if (!tv) { + struct timeb time; + ftime (&time); + tv2.tv_sec = time.time; + tv2.tv_usec = time.millitm * 1000; + tolocal = 0; + } else { + tv2.tv_sec = tv->tv_sec; + tv2.tv_usec = tv->tv_usec; + tolocal = 1; + } + timeval_to_amiga (&tv2, &days, &mins, &ticks); + if (setfiletime (name, days, mins, ticks, tolocal)) + return true; + + return false; +} + + diff --git a/od-win32/genblitter_msvc/genblitter_msvc.vcxproj b/od-win32/genblitter_msvc/genblitter_msvc.vcxproj index 7e8cb44b..9bc77b76 100644 --- a/od-win32/genblitter_msvc/genblitter_msvc.vcxproj +++ b/od-win32/genblitter_msvc/genblitter_msvc.vcxproj @@ -27,21 +27,25 @@ Application false MultiByte + v110 Application false MultiByte + v110 Application false Unicode + v110 Application false Unicode + v110 diff --git a/od-win32/gencomp_msvc/gencomp_msvc.vcxproj b/od-win32/gencomp_msvc/gencomp_msvc.vcxproj index 88ee243f..263c93e7 100644 --- a/od-win32/gencomp_msvc/gencomp_msvc.vcxproj +++ b/od-win32/gencomp_msvc/gencomp_msvc.vcxproj @@ -27,22 +27,26 @@ Application false Unicode + v110 Application false MultiByte + v110 Application false Unicode + v110 Application false false Unicode + v110 diff --git a/od-win32/gencpu_msvc/gencpu_msvc.vcxproj b/od-win32/gencpu_msvc/gencpu_msvc.vcxproj index 6ab2c53c..c886114f 100644 --- a/od-win32/gencpu_msvc/gencpu_msvc.vcxproj +++ b/od-win32/gencpu_msvc/gencpu_msvc.vcxproj @@ -27,21 +27,25 @@ Application false Unicode + v110 Application false MultiByte + v110 Application false Unicode + v110 Application false Unicode + v110 diff --git a/od-win32/genlinetoscr_msvc/genlinetoscr_msvc.vcxproj b/od-win32/genlinetoscr_msvc/genlinetoscr_msvc.vcxproj index b07c1ec6..349de0d6 100644 --- a/od-win32/genlinetoscr_msvc/genlinetoscr_msvc.vcxproj +++ b/od-win32/genlinetoscr_msvc/genlinetoscr_msvc.vcxproj @@ -25,15 +25,18 @@ Application Unicode true + v110 Application Unicode true + v110 Application Unicode + v110 diff --git a/od-win32/keyboard_win32.cpp b/od-win32/keyboard_win32.cpp index 9887e0e5..651e9b68 100644 --- a/od-win32/keyboard_win32.cpp +++ b/od-win32/keyboard_win32.cpp @@ -388,7 +388,6 @@ void my_kbd_handler (int keyboard, int scancode, int newstate) { int code = 0; int scancode_new; - int defaultguikey; bool amode = currprefs.input_keyboard_type == 0; bool special = false; static int swapperdrive = 0; @@ -414,13 +413,23 @@ void my_kbd_handler (int keyboard, int scancode, int newstate) if (!specialpressed () && inputdevice_iskeymapped (keyboard, scancode)) scancode = 0; - defaultguikey = amode ? DIK_F12 : DIK_NUMLOCK; - // GUI must be always available - if (scancode_new == defaultguikey && currprefs.win32_guikey < 0) - scancode = scancode_new; - if (scancode_new == currprefs.win32_guikey && scancode_new != defaultguikey) - scancode = scancode_new; - + if (newstate) { + int defaultguikey = amode ? DIK_F12 : DIK_NUMLOCK; + if (currprefs.win32_guikey >= 0) { + if (scancode_new == defaultguikey && currprefs.win32_guikey != scancode_new) { + scancode = 0; + if (specialpressed () && ctrlpressed() && shiftpressed() && altpressed ()) + inputdevice_add_inputcode (AKS_ENTERGUI, 1); + } else if (scancode_new == currprefs.win32_guikey ) { + inputdevice_add_inputcode (AKS_ENTERGUI, 1); + scancode = 0; + } + } else if (!specialpressed () && !ctrlpressed() && !shiftpressed() && !altpressed () && scancode_new == defaultguikey) { + inputdevice_add_inputcode (AKS_ENTERGUI, 1); + scancode = 0; + } + } + //write_log (_T("keyboard = %d scancode = 0x%02x state = %d\n"), keyboard, scancode, newstate ); if (newstate && code == 0 && amode) { diff --git a/od-win32/posixemu.cpp b/od-win32/posixemu.cpp index 9b90fef7..6b889526 100644 --- a/od-win32/posixemu.cpp +++ b/od-win32/posixemu.cpp @@ -72,25 +72,6 @@ void gettimeofday (struct timeval *tv, void *blah) #endif } -/* convert time_t to/from AmigaDOS time */ -#define secs_per_day (24 * 60 * 60) -#define diff ((8 * 365 + 2) * secs_per_day) - -static void get_time (time_t t, long *days, long *mins, long *ticks) -{ - /* time_t is secs since 1-1-1970 */ - /* days since 1-1-1978 */ - /* mins since midnight */ - /* ticks past minute @ 50Hz */ - - t -= diff; - *days = t / secs_per_day; - t -= *days * secs_per_day; - *mins = t / 60; - t -= *mins * 60; - *ticks = t * 50; -} - #if 0 static DWORD getattr (const TCHAR *name, LPFILETIME lpft, uae_s64 *size) { @@ -112,151 +93,6 @@ static DWORD getattr (const TCHAR *name, LPFILETIME lpft, uae_s64 *size) } #endif -int posixemu_stat (const TCHAR *name, struct _stat64 *statbuf) -{ - DWORD attr, ok; - 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 (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; - } - ok = GetFileInformationByHandle (h, &fi); - CloseHandle (h); - - attr = 0; - ft.dwHighDateTime = ft.dwLowDateTime = 0; - if (ok) { - attr = fi.dwFileAttributes; - ft = fi.ftLastWriteTime; - statbuf->st_size = ((uae_u64)fi.nFileSizeHigh << 32) | fi.nFileSizeLow; - } else { - write_log (_T("GetFileInformationByHandle(%s) failed: %d\n"), namep, GetLastError ()); - return -1; - } - - statbuf->st_mode = (attr & FILE_ATTRIBUTE_READONLY) ? FILEFLAG_READ : FILEFLAG_READ | FILEFLAG_WRITE; - if (attr & FILE_ATTRIBUTE_ARCHIVE) - statbuf->st_mode |= FILEFLAG_ARCHIVE; - if (attr & FILE_ATTRIBUTE_DIRECTORY) - statbuf->st_mode |= FILEFLAG_DIR; - FileTimeToLocalFileTime (&ft,&lft); - statbuf->st_mtime = (long)((*(__int64 *)&lft-((__int64)(369*365+89)*(__int64)(24*60*60)*(__int64)10000000))/(__int64)10000000); - - return 0; -} - -int posixemu_chmod (const TCHAR *name, int mode) -{ - DWORD attr = FILE_ATTRIBUTE_NORMAL; - if (!(mode & FILEFLAG_WRITE)) - attr |= FILE_ATTRIBUTE_READONLY; - if (mode & FILEFLAG_ARCHIVE) - attr |= FILE_ATTRIBUTE_ARCHIVE; - if (SetFileAttributesSafe (name,attr)) - return 1; - return -1; -} - -static void tmToSystemTime (struct tm *tmtime, LPSYSTEMTIME systime) -{ - if (tmtime == NULL) { - GetSystemTime (systime); - } else { - systime->wDay = tmtime->tm_mday; - systime->wDayOfWeek = tmtime->tm_wday; - systime->wMonth = tmtime->tm_mon + 1; - systime->wYear = tmtime->tm_year + 1900; - systime->wHour = tmtime->tm_hour; - systime->wMinute = tmtime->tm_min; - systime->wSecond = tmtime->tm_sec; - systime->wMilliseconds = 0; - } -} - -static int setfiletime (const TCHAR *name, unsigned int days, int minute, int tick, int tolocal) -{ - 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 (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 (;;) { - ULARGE_INTEGER lft; - - lft.QuadPart = (((uae_u64)(377*365+91+days)*(uae_u64)1440+(uae_u64)minute)*(uae_u64)(60*50)+(uae_u64)tick)*(uae_u64)200000; - LocalFileTime.dwHighDateTime = lft.HighPart; - LocalFileTime.dwLowDateTime = lft.LowPart; - if (tolocal) { - if (!LocalFileTimeToFileTime (&LocalFileTime, &FileTime)) - FileTime = LocalFileTime; - } else { - FileTime = LocalFileTime; - } - if (!SetFileTime (hFile, &FileTime, &FileTime, &FileTime)) { - if (days > 47846) { // > 2108-12-31 (fat limit) - days = 47846; - continue; - } - if (days < 730) { // < 1980-01-01 (fat limit) - days = 730; - continue; - } - } - break; - } - - CloseHandle (hFile); - - return 1; -} - -int posixemu_utime (const TCHAR *name, struct utimbuf *ttime) -{ - int result = -1, tolocal; - long days, mins, ticks; - time_t actime; - - if (!ttime) { - actime = time (NULL); - tolocal = 0; - } else { - tolocal = 1; - actime = ttime->actime; - } - get_time (actime, &days, &mins, &ticks); - - if (setfiletime (name, days, mins, ticks, tolocal)) - result = 0; - - return result; -} - void uae_sem_init (uae_sem_t * event, int manual_reset, int initial_state) { if(*event) { diff --git a/od-win32/prowizard/prowizard.vcxproj b/od-win32/prowizard/prowizard.vcxproj index ab07c50d..9a7dac87 100644 --- a/od-win32/prowizard/prowizard.vcxproj +++ b/od-win32/prowizard/prowizard.vcxproj @@ -28,19 +28,23 @@ StaticLibrary Unicode false + v110 StaticLibrary Unicode + v110 StaticLibrary Unicode true + v110 StaticLibrary Unicode + v110 diff --git a/od-win32/resources/winuae.rc b/od-win32/resources/winuae.rc index d2f3b30a..ddfe29be 100644 --- a/od-win32/resources/winuae.rc +++ b/od-win32/resources/winuae.rc @@ -7,7 +7,7 @@ // // Generated from the TEXTINCLUDE 2 resource. // -#include "afxres.h" +#include "winres.h" ///////////////////////////////////////////////////////////////////////////// #undef APSTUDIO_READONLY_SYMBOLS @@ -1111,8 +1111,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 2,5,0,0 - PRODUCTVERSION 2,5,0,0 + FILEVERSION 2,5,1,0 + PRODUCTVERSION 2,5,1,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -1128,12 +1128,12 @@ BEGIN BLOCK "040904b0" BEGIN VALUE "FileDescription", "WinUAE" - VALUE "FileVersion", "2.5.0.0" + VALUE "FileVersion", "2.5.1.0" VALUE "InternalName", "WinUAE" VALUE "LegalCopyright", "© 1996-2012 under the GNU Public License (GPL)" VALUE "OriginalFilename", "WinUAE.exe" VALUE "ProductName", "WinUAE" - VALUE "ProductVersion", "2.5.0.0" + VALUE "ProductVersion", "2.5.1.0" END END BLOCK "VarFileInfo" diff --git a/od-win32/resources/winuae_minimal.rc b/od-win32/resources/winuae_minimal.rc index f617481d..a122fbf4 100644 --- a/od-win32/resources/winuae_minimal.rc +++ b/od-win32/resources/winuae_minimal.rc @@ -1,13 +1,13 @@ // Microsoft Visual C++ generated resource script. // -#include "resource." +#include "resource.h" #define APSTUDIO_READONLY_SYMBOLS ///////////////////////////////////////////////////////////////////////////// // // Generated from the TEXTINCLUDE 2 resource. // -#include "afxres.h" +#include "winres.h" ///////////////////////////////////////////////////////////////////////////// #undef APSTUDIO_READONLY_SYMBOLS @@ -85,368 +85,384 @@ END // Dialog // -IDD_KICKSTART DIALOGEX 0, 0, 300, 176 +IDD_KICKSTART DIALOGEX 0, 0, 396, 217 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",IDC_STATIC,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 -END - -IDD_DISPLAY DIALOGEX 0, 0, 300, 235 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,195,77,106,13 + GROUPBOX "Miscellaneous",IDC_STATIC,1,98,394,116 + 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 + LTEXT "Real Time Clock file",IDC_STATIC,12,174,313,15,SS_CENTERIMAGE + EDITTEXT IDC_RTCFILE,12,191,361,12,ES_AUTOHSCROLL + PUSHBUTTON "...",IDC_RTCCHOOSER,376,189,10,15 +END + +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,101,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,41,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, 182 + GROUPBOX "Screen",IDC_SCREENRESTEXT,1,0,393,77,BS_LEFT + COMBOBOX IDC_DISPLAYSELECT,10,13,375,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + RTEXT "Fullscreen:",IDC_STATIC,3,33,51,15,SS_CENTERIMAGE + COMBOBOX IDC_RESOLUTION,59,33,76,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_RESOLUTIONDEPTH,144,33,62,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + RTEXT "Windowed:",IDC_STATIC,2,54,51,15,SS_CENTERIMAGE + EDITTEXT IDC_XSIZE,59,56,56,12,ES_NUMBER + EDITTEXT IDC_YSIZE,122,56,56,12,ES_NUMBER + COMBOBOX IDC_REFRESHRATE,266,33,119,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_DISPLAY_BUFFERCNT,266,56,119,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + GROUPBOX "Settings",IDC_SETTINGSTEXT,1,86,283,144 + RTEXT "Native:",IDC_STATIC,9,98,48,15,SS_CENTERIMAGE + COMBOBOX IDC_SCREENMODE_NATIVE,61,98,71,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_SCREENMODE_NATIVE2,142,98,127,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + RTEXT "RTG:",IDC_STATIC,8,115,49,15,SS_CENTERIMAGE + COMBOBOX IDC_SCREENMODE_RTG,61,118,71,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 + CONTROL "Blacker than black",IDC_BLACKER_THAN_BLACK,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_TABSTOP,11,140,142,10 + CONTROL "Remove interlace artifacts",IDC_FLICKERFIXER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,154,142,10 + CONTROL "Filtered low resolution",IDC_LORES_SMOOTHED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,159,140,116,10 + CONTROL "Resolution autoswitch",IDC_AUTORESOLUTION,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,159,154,116,10 + RTEXT "Resolution:",IDC_STATIC,27,170,110,8,SS_CENTERIMAGE + COMBOBOX IDC_LORES,142,169,127,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + RTEXT "Refresh:",IDC_REFRESHTEXT,11,190,57,8 + CONTROL "Slider1",IDC_FRAMERATE,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,71,185,99,20 + COMBOBOX IDC_RATE2BOX,181,190,60,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + 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 + CONTROL "",IDC_RATE2ENABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,232,211,8,10 + 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 + EDITTEXT IDC_DA_TEXT,205,245,56,12,ES_AUTOHSCROLL | ES_READONLY + PUSHBUTTON "Reset to defaults",IDC_DA_RESET,289,245,106,14 +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,97 - CONTROL "Slider1",IDC_CHIPMEM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,54,22,50,20 - EDITTEXT IDC_CHIPRAM,105,25,34,12,ES_CENTER | ES_READONLY - 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,110,274,65 - RTEXT "Motherboard Fast:",IDC_STATIC,48,126,129,10,SS_CENTERIMAGE - CONTROL "",IDC_MBMEM1,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,181,122,59,20 - EDITTEXT IDC_MBRAM1,244,125,34,12,ES_CENTER | ES_READONLY - RTEXT "Processor Slot Fast:",IDC_STATIC,48,149,129,10,SS_CENTERIMAGE - CONTROL "",IDC_MBMEM2,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,181,145,59,20 - EDITTEXT IDC_MBRAM2,244,148,34,12,ES_CENTER | ES_READONLY - RTEXT "Fast:",IDC_STATIC,19,49,32,15,SS_CENTERIMAGE - RTEXT "Chip:",IDC_STATIC,19,25,32,15,SS_CENTERIMAGE - RTEXT "Slow:",IDC_STATIC,144,25,32,15,SS_CENTERIMAGE - RTEXT "Z3 Fast:",IDC_STATIC,144,49,32,15,SS_CENTERIMAGE - RTEXT "32-bit Chip:",IDC_STATIC,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 -END - -IDD_CPU DIALOGEX 0, 0, 300, 241 + GROUPBOX "Memory Settings",IDC_STATIC,1,7,393,117 + RTEXT "Chip:",IDC_STATIC,7,25,60,15,SS_CENTERIMAGE + 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 + RTEXT "Fast:",IDC_STATIC,8,49,60,15,SS_CENTERIMAGE + 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 "Autoconfig Fast RAM",IDC_FASTMEMAUTOCONFIG,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,51,76,124,10 + RTEXT "Slow:",IDC_STATIC,179,25,66,15,SS_CENTERIMAGE + 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 + RTEXT "Z3 Fast:",IDC_STATIC,179,49,66,15,SS_CENTERIMAGE + 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 + 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 + EDITTEXT IDC_MAX32RAM,14,99,366,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 +END + +IDD_CPU DIALOGEX 0, 0, 396, 259 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 - 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 | WS_TABSTOP,8,142,87,11 + 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_CACHETEXT2,265,175,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,50,192,20 + RTEXT "CPU Speed",IDC_STATIC,115,78,55,9,SS_CENTERIMAGE + EDITTEXT IDC_CPUTEXT,178,77,30,12,ES_CENTER | ES_READONLY + RTEXT "CPU Idle",IDC_STATIC,213,78,62,9 + CONTROL "",IDC_CPUIDLE,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,282,73,69,21 + 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 "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,8,242,87,10 + 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_CACHETEXT,305,186,30,12,ES_CENTER | ES_READONLY + CONTROL "Hard flush",IDC_HARDFLUSH,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,120,214,84,11 + 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 "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 "Indirect",IDC_TRUST1,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,289,228,72,10 +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 + GROUPBOX "Floppy Drives",IDC_SETTINGSTEXT3,1,0,393,163 + CONTROL "DF0:",IDC_DF0ENABLE,"Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,7,14,34,15 + PUSHBUTTON "Delete save image",IDC_SAVEIMAGE0,97,13,78,15,NOT WS_VISIBLE + 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_DF0TEXT,6,31,384,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP + CONTROL "DF1:",IDC_DF1ENABLE,"Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,7,51,34,15 + PUSHBUTTON "Delete save image",IDC_SAVEIMAGE1,97,49,78,15,NOT WS_VISIBLE + 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_DF1TEXT,6,68,383,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP + CONTROL "DF2:",IDC_DF2ENABLE,"Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,7,87,34,15 + PUSHBUTTON "Delete save image",IDC_SAVEIMAGE2,97,85,78,15,NOT WS_VISIBLE + 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_DF2TEXT,6,104,384,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP + CONTROL "DF3:",IDC_DF3ENABLE,"Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,7,123,34,15 + PUSHBUTTON "Delete save image",IDC_SAVEIMAGE3,97,121,78,15,NOT WS_VISIBLE + 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 + COMBOBOX IDC_DF3TEXT,6,140,383,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP + 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 + 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,130,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 + RTEXT "Disk label:",IDC_STATIC,60,244,58,10,SS_CENTERIMAGE + EDITTEXT IDC_CREATE_NAME,130,243,97,13,ES_AUTOHSCROLL + CONTROL "Bootblock",IDC_FLOPPY_BOOTABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,235,242,59,15 + CONTROL "FFS",IDC_FLOPPY_FFS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,300,242,34,15 +END + +IDD_HARDDISK DIALOGEX 0, 0, 396, 315 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,130 - PUSHBUTTON "Add &Directory or Archive...",IDC_NEW_FS,10,135,103,15 - PUSHBUTTON "Add &Hardfile...",IDC_NEW_HF,130,135,74,15 - PUSHBUTTON "Add Ha&rd Drive...",IDC_NEW_HD,220,135,75,15 - PUSHBUTTON "Remove",IDC_REMOVE,235,155,60,15 - PUSHBUTTON "&Properties",IDC_EDIT,235,172,60,15 - CONTROL "Add PC drives at startup",IDC_MAPDRIVES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,5,154,100,10 - CONTROL "Disable UAEFSDB-support",IDC_NOUAEFSDB,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,110,154,119,10 - CONTROL "Don't use Windows Recycle Bin",IDC_NORECYCLEBIN,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,110,166,121,10 - CONTROL "Include network drives..",IDC_MAPDRIVES_NET,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,5,178,101,10 - CONTROL "CDFS automount CD/DVD drives",IDC_MAPDRIVES_CD,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,5,190,160,10 - CONTROL "Automount removable drives",IDC_MAPDRIVES_AUTO,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,110,178,115,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 "&Properties",IDC_EDIT,267,176,60,15 + PUSHBUTTON "Remove",IDC_REMOVE,334,176,60,15 + GROUPBOX "Options",IDC_STATIC,1,191,393,72 + CONTROL "Add PC drives at startup",IDC_MAPDRIVES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,204,201,11 CONTROL "Include removable drives..",IDC_MAPDRIVES_REMOVABLE, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,5,166,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 -END - -IDD_SOUND DIALOGEX 0, 0, 300, 237 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,217,201,11 + CONTROL "Include network drives..",IDC_MAPDRIVES_NET,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,231,201,11 + CONTROL "CDFS automount CD/DVD drives",IDC_MAPDRIVES_CD,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,245,201,11 + CONTROL "Disable UAEFSDB-support",IDC_NOUAEFSDB,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,222,204,167,11 + CONTROL "Don't use Windows Recycle Bin",IDC_NORECYCLEBIN,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,222,217,167,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,222,231,167,11 + 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,222,245,167,11 + GROUPBOX "Optical media options",IDC_STATIC,1,266,393,47 + LTEXT "CD drive/image",IDC_STATIC,5,280,70,10,SS_CENTERIMAGE + PUSHBUTTON "Select image file",IDC_CD_SELECT,177,278,98,15 + COMBOBOX IDC_CD_TYPE,282,279,71,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "Eject",IDC_CD_EJECT,360,278,30,15 + COMBOBOX IDC_CD_TEXT,5,297,386,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP +END + +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,132,112 + CONTROL "Disabled",IDC_SOUND0,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,13,35,108,10 + CONTROL "Disabled, but emulated",IDC_SOUND1,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,13,53,107,10 + CONTROL "Enabled",IDC_SOUND2,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,13,71,108,10 + CONTROL "Automatic switching",IDC_SOUND_AUTO,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,13,89,108,10 + GROUPBOX "Volume",IDC_STATIC,139,19,255,69 + CONTROL "",IDC_SOUNDVOLUME,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,207,32,105,20 + EDITTEXT IDC_SOUNDVOLUME2,329,35,48,12,ES_CENTER | ES_READONLY + GROUPBOX "Sound Buffer Size",IDC_STATIC,140,90,254,42 + CONTROL "Slider1",IDC_SOUNDBUFFERRAM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,207,106,105,20 + EDITTEXT IDC_SOUNDBUFFERMEM,329,109,48,12,ES_CENTER | ES_READONLY + GROUPBOX "Settings",IDC_SOUNDINTERPOLATION2,1,136,393,72 + LTEXT "Channel mode:",IDC_SOUNDSTEREOTXT,22,148,128,8,SS_CENTERIMAGE + COMBOBOX IDC_SOUNDSTEREO,24,158,135,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "Stereo separation:",IDC_SOUNDSTEREOSEPTXT,180,148,84,8,SS_CENTERIMAGE + COMBOBOX IDC_SOUNDSTEREOSEP,181,158,74,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "Interpolation:",IDC_SOUNDINTERPOLATIONTXT,279,148,98,8,SS_CENTERIMAGE + COMBOBOX IDC_SOUNDINTERPOLATION,279,158,96,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "Frequency:",IDC_SOUNDFREQTXT,22,176,58,8,SS_CENTERIMAGE + COMBOBOX IDC_SOUNDFREQ,24,186,55,75,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP + LTEXT "Swap channels:",IDC_SOUNDSWAPTXT,85,176,81,8,SS_CENTERIMAGE + COMBOBOX IDC_SOUNDSWAP,86,186,74,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "Stereo delay:",IDC_SOUNDSTEREOMIXTXT,180,176,83,8,SS_CENTERIMAGE + COMBOBOX IDC_SOUNDSTEREOMIX,181,186,74,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "Audio filter:",IDC_SOUNDFILTERTXT,279,176,98,8,SS_CENTERIMAGE + COMBOBOX IDC_SOUNDFILTER,279,186,96,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + GROUPBOX "Floppy Drive Sound Emulation",IDC_STATIC,1,213,278,73 + CONTROL "",IDC_SOUNDDRIVEVOLUME,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,20,229,107,19 + EDITTEXT IDC_SOUNDDRIVEVOLUME2,144,231,48,12,ES_CENTER | ES_READONLY + COMBOBOX IDC_SOUNDDRIVE,205,231,66,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_SOUNDDRIVESELECT,18,257,253,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + GROUPBOX "Drivers",IDC_STATIC,285,213,109,73 + CONTROL "DirectSound",IDC_SOUND_DS,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,292,227,98,10 + CONTROL "WASAPI",IDC_SOUND_WASAPI,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,292,240,98,10 + CONTROL "OpenAL",IDC_SOUND_OPENAL,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,292,253,98,10 + CONTROL "PortAudio",IDC_SOUND_PORTAUDIO,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,292,266,98,10 + CONTROL "",IDC_SOUNDVOLUMECD,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,207,61,105,20 + EDITTEXT IDC_SOUNDVOLUMECD2,329,64,48,12,ES_CENTER | ES_READONLY + RTEXT "CD Audio",IDC_STATIC,152,67,51,10,SS_CENTERIMAGE + RTEXT "Paula Audio",IDC_STATIC,152,38,51,10,SS_CENTERIMAGE +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, 300, 228 + 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 "Save As...",IDC_SAVE,226,301,60,15 + PUSHBUTTON "Delete",IDC_DELETE,335,301,60,15 +END + +IDD_IOPORTS DIALOGEX 0, 0, 396, 295 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,105 - 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,110,292,48 - COMBOBOX IDC_SERIAL,49,122,232,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - CONTROL "Shared",IDC_SER_SHARED,"Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,15,141,48,12 - CONTROL "RTS/CTS",IDC_SER_CTSRTS,"Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,75,141,55,12 - RTEXT "Out:",IDC_MIDI,10,172,19,15,SS_CENTERIMAGE - COMBOBOX IDC_MIDIOUTLIST,36,173,108,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - RTEXT "In:",IDC_MIDI2,150,171,22,15,SS_CENTERIMAGE - COMBOBOX IDC_MIDIINLIST,181,173,108,134,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + GROUPBOX "Parallel Port",IDC_STATIC,1,1,393,131 + RTEXT "Printer:",IDC_STATIC,6,16,57,15,SS_CENTERIMAGE + COMBOBOX IDC_PRINTERLIST,67,17,317,134,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + RTEXT "Type:",IDC_STATIC,7,38,57,15,SS_CENTERIMAGE + COMBOBOX IDC_PRINTERTYPELIST,67,39,317,134,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "Flush print job",IDC_FLUSHPRINTER,147,58,75,12 + RTEXT "Autoflush [] Time in seconds after a pending print job is automatically flushed.",IDC_PRINTERAUTOFLUSHTXT,236,56,110,15,SS_NOTIFY | SS_CENTERIMAGE + EDITTEXT IDC_PRINTERAUTOFLUSH,351,58,33,12,ES_NUMBER + RTEXT "Ghostscript extra parameters:",IDC_STATIC,8,74,136,15,SS_CENTERIMAGE + EDITTEXT IDC_PS_PARAMS,148,75,236,12,ES_AUTOHSCROLL + 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,114,149,12 + 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 CONTROL "Direct []Use when emulating serial-link games on two PCs running WinUAE",IDC_SER_DIRECT, - "Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,135,141,65,12 - CONTROL "uaeserial.device",IDC_UAESERIAL,"Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,200,141,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,161,291,34,BS_LEFT - GROUPBOX "Protection Dongle",IDC_STATIC,5,197,292,30,BS_LEFT - COMBOBOX IDC_DONGLELIST,50,208,232,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - RTEXT "Sampler:",IDC_STATIC,12,84,31,15,SS_CENTERIMAGE - COMBOBOX IDC_SAMPLERLIST,49,85,232,134,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP -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 + 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 + GROUPBOX "Protection Dongle",IDC_STATIC,1,252,393,41,BS_LEFT + GROUPBOX "MIDI",IDC_STATIC,1,191,393,54,BS_LEFT + COMBOBOX IDC_DONGLELIST,58,270,232,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + CONTROL "Route MIDI In to MIDI Out",IDC_MIDIROUTER,"Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,41,227,170,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_AF,45,37,86,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_PORT0_JOYSMODE,136,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 + COMBOBOX IDC_PORT1_AF,45,74,86,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_PORT1_JOYSMODE,136,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 + PUSHBUTTON "Swap ports [] Swap ports 1 and 2.",IDC_SWAP,45,100,78,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 + EDITTEXT IDC_INPUTSPEEDM,115,237,25,13,ES_NUMBER + CONTROL "Magic Mouse",IDC_PORT_MOUSETRICK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,195,235,160,11 + RTEXT "Magic Mouse cursor mode:",IDC_STATIC,45,254,138,10,SS_CENTERIMAGE + COMBOBOX IDC_PORT_TABLET_CURSOR,195,251,119,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + CONTROL "Install virtual mouse driver",IDC_PORT_TABLET,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,48,270,136,11 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 END IDD_CONTRIBUTORS DIALOGEX 0, 0, 411, 242 @@ -458,475 +474,483 @@ 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,35 + CONTROL "",IDC_RICHEDIT2,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,1,58,343,28 + PUSHBUTTON "Contributors",IDC_CONTRIBUTORS,132,100,80,15 + CONTROL "",IDC_UAEHOME,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,2,196,112,24 + CONTROL "",IDC_PICASSOHOME,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | NOT WS_VISIBLE | WS_DISABLED,211,131,112,24 + CONTROL "",IDC_AMIGAHOME,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,116,168,112,24 + CONTROL "",IDC_WINUAEHOME,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,231,168,112,24 + CONTROL "",IDC_AIABHOME,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | NOT WS_VISIBLE | WS_DISABLED,22,131,112,24 + CONTROL "",IDC_THEROOTS,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,117,225,112,24 + CONTROL "",IDC_CAPS,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,231,196,112,24 + CONTROL "",IDC_ABIME,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,117,196,112,24 + CONTROL "",IDC_CLOANTOHOME,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,2,168,112,24 + CONTROL "",IDC_AMIGASYS,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,2,225,112,24 + CONTROL "",IDC_AMIKIT,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,231,225,112,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,4,2,293,165 - CONTROL "Untrap = middle button",IDC_JULIAN,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,19,19,110,10 - CONTROL "Show GUI on startup",IDC_SHOWGUI,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,19,43,109,10 - CONTROL "Native on-screen display",IDC_SHOWLEDS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,182,103,109,10 - CONTROL "Don't show taskbar button",IDC_NOTASKBARBUTTON,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,19,67,109,10 - CONTROL "Use CTRL-F11 to quit",IDC_CTRLF11,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,19,55,110,10 - 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 "Logging",IDC_STATIC,4,167,151,38 - CONTROL "Create log file",IDC_CREATELOGFILE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,41,176,72,10 - CONTROL "Illegal memory accesses",IDC_ILLEGAL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,41,188,95,10 - GROUPBOX "State Files",IDC_STATIC,162,167,135,38 - PUSHBUTTON "Load state...",IDC_DOLOADSTATE,175,182,49,14 - PUSHBUTTON "Save state...",IDC_DOSAVESTATE,235,182,49,14 - CONTROL "Always on top",IDC_ALWAYSONTOP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,19,79,98,10 - CONTROL "USB mode",IDC_KBLED_USB,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,217,219,64,10 - COMBOBOX IDC_SCSIMODE,213,26,80,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_LANGUAGE,153,144,122,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - GROUPBOX "Language",IDC_STATIC,138,134,154,27 - CONTROL "Disable screensaver",IDC_POWERSAVE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,19,91,109,10 - COMBOBOX IDC_DD_SURFACETYPE,213,78,79,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - RTEXT "DirectDraw display buffer:",IDC_STATIC,112,79,97,10,SS_CENTERIMAGE - RTEXT "SCSI and CD/DVD access method:",IDC_STATIC,151,12,126,10,SS_CENTERIMAGE - CONTROL "Synchronize clock",IDC_CLOCKSYNC,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,19,103,111,10 - CONTROL "Faster RTG [] Enables less accurate custom chipset emulation mode when Picasso96 is enabled.",IDC_FASTERRTG, - "Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,19,115,111,10 - CONTROL "RTG on-screen display",IDC_SHOWLEDSRTG,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,182,114,109,10 - RTEXT "Graphics API:",IDC_STATIC,130,62,79,10,SS_CENTERIMAGE - COMBOBOX IDC_DXMODE,213,60,79,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - CONTROL "Minimize when focus is lost",IDC_FOCUSMINIMIZE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,19,31,110,10 - RTEXT "Windowed style:",IDC_STATIC,128,45,81,10,SS_CENTERIMAGE - COMBOBOX IDC_WINDOWEDMODE,213,43,79,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - CONTROL "Clipboard sharing",IDC_CLIPBOARDSHARE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,19,127,111,10 - CONTROL "Allow native code",IDC_NATIVECODE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,19,139,111,10 -END - -IDD_HARDFILE DIALOGEX 0, 0, 299, 249 + CONTROL "",IDC_MISCLIST,"SysListView32",LVS_REPORT | LVS_ALIGNLEFT | LVS_NOCOLUMNHEADER | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,3,5,258,232 + GROUPBOX "Miscellaneous Options",IDC_STATIC,266,2,128,138 + CTEXT "SCSI and CD/DVD access:",IDC_STATIC,272,14,117,10,SS_CENTERIMAGE + COMBOBOX IDC_SCSIMODE,287,28,87,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + CTEXT "Windowed style:",IDC_STATIC,272,45,117,10,SS_CENTERIMAGE + COMBOBOX IDC_WINDOWEDMODE,287,59,87,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + CTEXT "Graphics API:",IDC_STATIC,272,76,117,10,SS_CENTERIMAGE + COMBOBOX IDC_DXMODE,287,89,87,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + CTEXT "DirectDraw:",IDC_STATIC,272,106,117,10,SS_CENTERIMAGE + COMBOBOX IDC_DD_SURFACETYPE,287,119,87,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + GROUPBOX "GUI",IDC_STATIC,266,144,128,93 + CTEXT "Language:",IDC_STATIC,271,154,117,10,SS_CENTERIMAGE + COMBOBOX IDC_LANGUAGE,273,168,114,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "GUI Font...",IDC_GUI_FONT,272,185,54,14 + PUSHBUTTON "List Font...",IDC_GUI_LISTFONT,333,185,54,14 + PUSHBUTTON "Set default",IDC_GUI_DEFAULT,272,204,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 + GROUPBOX "State Files",IDC_STATIC,1,242,393,38 + EDITTEXT IDC_STATENAME,8,257,231,13,ES_AUTOHSCROLL | ES_READONLY | NOT WS_TABSTOP + CONTROL "",IDC_STATECLEAR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,244,261,9,10 + PUSHBUTTON "Load state...",IDC_DOLOADSTATE,257,257,65,14 + PUSHBUTTON "Save state...",IDC_DOSAVESTATE,325,257,65,14 + GROUPBOX "Keyboard LEDs",IDC_STATIC,1,282,393,34 + COMBOBOX IDC_KBLED1,10,295,64,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_KBLED2,97,295,64,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_KBLED3,184,295,64,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + CONTROL "USB mode",IDC_KBLED_USB,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,264,296,64,11 +END + +IDD_HARDFILE DIALOGEX 0, 0, 396, 263 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,2,392,164 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 + PUSHBUTTON "Enable RDB mode",IDC_HDF_RDB,285,55,92,14 + CONTROL "Read/write",IDC_HDF_RW,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,53,74,67,10 + 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 -END - -IDD_FILESYS DIALOGEX 15, 25, 299, 111 + RTEXT "Boot priority:",IDC_HARDFILE_BOOTPRI_TEXT,26,94,78,10 + EDITTEXT IDC_HARDFILE_BOOTPRI,109,90,44,15 + 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 "HD Controller:",IDC_STATIC,26,113,78,10,SS_CENTERIMAGE + COMBOBOX IDC_HDF_CONTROLLER,109,112,44,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + 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 + EDITTEXT IDC_HDFINFO,5,131,385,12,ES_CENTER | ES_READONLY + GROUPBOX "New hard disk image file",IDC_STATIC,2,171,392,62 + PUSHBUTTON "Create",IDC_HF_CREATE,58,187,80,14 + COMBOBOX IDC_HF_TYPE,58,211,80,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + EDITTEXT IDC_HF_SIZE,154,187,61,15,ES_NUMBER + LTEXT "MB",IDC_STATIC,220,190,53,10,SS_CENTERIMAGE + EDITTEXT IDC_HF_DOSTYPE,154,210,61,15 + LTEXT "DOS type",IDC_STATIC,222,212,51,10,SS_CENTERIMAGE + CONTROL "Sparse file",IDC_HF_SPARSE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,280,196,87,10 + CONTROL "Dynamic HDF",IDC_HF_DYNAMIC,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,280,208,87,10 + PUSHBUTTON "OK",IDOK,147,242,50,14 + PUSHBUTTON "Cancel",IDCANCEL,203,242,50,14 + EDITTEXT IDC_HDFINFO2,5,147,385,12,ES_CENTER | ES_READONLY +END + +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 + CONTROL "Read/write",IDC_FS_RW,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,259,7,67,10 + CONTROL "Bootable",IDC_FS_AUTOBOOT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,336,7,56,10 + RTEXT "Boot priority:",IDC_VOLUME_BOOTPRI_TEXT,276,28,49,8 + EDITTEXT IDC_VOLUME_BOOTPRI,336,25,30,15 + PUSHBUTTON "Select Directory",IDC_FS_SELECT_DIR,72,66,123,15 + PUSHBUTTON "Select Archive or Plain File",IDC_FS_SELECT_FILE,197,66,123,15 + PUSHBUTTON "OK",IDOK,72,90,62,15 + PUSHBUTTON "Cancel",IDCANCEL,138,90,62,15 + PUSHBUTTON "Eject",IDC_FS_SELECT_EJECT,258,90,62,15 +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, 396, 169 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,212,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,14,15,88,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 - 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,14,31,88,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,14,47,88,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,114,15,86,10 + CONTROL "ECS Denise [] Enhanced chipset (ECS Denise chip only). Normally paired with ECS Agnus.",IDC_ECS_DENISE, + "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,114,31,86,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,114,47,86,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,14,69,170,10 + RTEXT "Chipset Extra:",IDC_STATIC,72,89,71,15,SS_CENTERIMAGE + COMBOBOX IDC_CS_EXT,148,90,49,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + GROUPBOX "Options",IDC_STATIC,221,0,173,111 CONTROL "Immediate Blitter [] Faster but less compatible blitter emulation.",IDC_BLITIMM, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,179,33,96,10 - CONTROL "Cycle-exact [] The most compatible A500 emulation mode. Very fast PC recommended.",IDC_CYCLEEXACT, - "Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,179,46,100,10 - GROUPBOX "Collision Level",IDC_STATIC,14,128,267,48 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,234,16,150,10 + 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,234,29,150,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,234,42,150,10 + CTEXT "External display hardware:",IDC_STATIC,228,59,117,15,SS_CENTERIMAGE + COMBOBOX IDC_MONITOREMU,238,78,98,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + GROUPBOX "Collision Level",IDC_STATIC,1,116,393,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,47,132,101,10 CONTROL "Sprites only [] Emulate only sprite vs. sprite collisions.",IDC_COLLISION1, - "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,37,160,62,10 + "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,47,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,182,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,160,119,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,59,100,10 - COMBOBOX IDC_CS_EXT,100,80,49,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - RTEXT "Chipset Extra",IDC_STATIC,25,79,52,15,SS_CENTERIMAGE - COMBOBOX IDC_MONITOREMU,178,99,98,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - RTEXT "External display hardware:",IDC_STATIC,174,78,100,15,SS_CENTERIMAGE + "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,182,147,181,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 - 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 "Compatible Settings",IDC_CS_COMPATIBLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,6,234,10 + GROUPBOX "Battery Backed Up Real Time Clock",IDC_STATIC,1,22,393,31 + 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 + GROUPBOX "Chipset Features",IDC_STATIC,1,88,393,146 + CONTROL "CIA ROM Overlay",IDC_CS_CIAOVERLAY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,102,104,11 + CONTROL "CD32 CD",IDC_CS_CD32CD,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,116,104,11 + CONTROL "CDTV CD",IDC_CS_CDTVCD,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,130,105,11 + CONTROL "A600/A1200 IDE",IDC_CS_IDE1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,143,104,11 + CONTROL "ROM Mirror (E0)",IDC_CS_KSMIRROR_E0,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,157,104,11 + CONTROL "KB Reset Warning",IDC_CS_RESETWARNING,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,171,104,11 + LTEXT "A4091/A4000T SCSI not yet implemented.",IDC_STATIC,17,187,247,8,SS_CENTERIMAGE + CONTROL "A590/A2091 SCSI",IDC_CS_A2091,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,202,104,11 + CONTROL "A4091 SCSI",IDC_CS_A4091,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,215,104,11 + CONTROL "A1000 Boot RAM/ROM",IDC_CS_A1000RAM,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,127,102,121,11 + CONTROL "CD32 C2P",IDC_CS_CD32C2P,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,127,116,121,11 + CONTROL "CDTV SRAM",IDC_CS_CDTVRAM,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,127,129,121,11 + CONTROL "A4000/A4000T IDE",IDC_CS_IDE2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,127,143,121,11 + CONTROL "ROM Mirror (A8)",IDC_CS_KSMIRROR_A8,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,127,157,121,11 + CONTROL "No-EHB Denise",IDC_CS_NOEHB,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,127,171,121,11 + CONTROL "A3000 SCSI",IDC_CS_DMAC,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,127,202,121,11 + CONTROL "CDTV SCSI",IDC_CS_CDTVSCSI,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,127,215,121,11 + CONTROL "DF0: ID Hardware",IDC_CS_DF0IDHW,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,264,102,125,11 + CONTROL "CD32 NVRAM",IDC_CS_CD32NVRAM,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,264,116,125,11 + CONTROL "CDTV SRAM Expansion",IDC_CS_CDTVRAMEXP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,264,129,125,11 + CONTROL "PCMCIA",IDC_CS_PCMCIA,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,264,143,125,11 + CONTROL "C00000 is Fast RAM",IDC_CS_SLOWISFAST,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,264,157,125,11 + CONTROL "A1000 Agnus (8361/8367)",IDC_CS_DIPAGNUS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,264,171,125,11 + CONTROL "A4000T SCSI",IDC_CS_DMAC2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,264,202,125,11 + CONTROL "Include host SCSI devices",IDC_CS_SCSIMODE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,264,215,125,11 + GROUPBOX "Chipset Revision",IDC_STATIC,1,236,393,46 + CONTROL "Ramsey revision:",IDC_CS_RAMSEY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,34,248,97,11 + CONTROL "Fat Gary revision:",IDC_CS_FATGARY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,34,262,97,11 + EDITTEXT IDC_CS_RAMSEYREV,136,247,45,13,ES_AUTOHSCROLL + EDITTEXT IDC_CS_FATGARYREV,136,262,45,13,ES_AUTOHSCROLL + CONTROL "Agnus/Alice revision:",IDC_CS_AGNUS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,200,248,107,11 + CONTROL "Denise/Lisa revision:",IDC_CS_DENISE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,200,262,107,11 + EDITTEXT IDC_CS_AGNUSREV,311,247,45,13,ES_AUTOHSCROLL + EDITTEXT IDC_CS_DENISEREV,311,262,45,13,ES_AUTOHSCROLL +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 - 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,72,176,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 "Disable sound output",IDC_AVIOUTPUT_NOSOUNDOUTPUT, + "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 "AVI output enabled",IDC_AVIOUTPUT_ACTIVATED,"Button",BS_AUTORADIOBUTTON | BS_PUSHLIKE | BS_FLAT,15,100,144,14 + GROUPBOX "Ripper",IDC_STATIC,1,126,393,53 + PUSHBUTTON "Save screenshot",IDC_SCREENSHOT,53,140,87,14 + PUSHBUTTON "Pro Wizard 1.62",IDC_PROWIZARD,245,140,87,14,WS_DISABLED 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 -END - -IDD_INPUT DIALOGEX 0, 0, 300, 242 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,54,161,162,10 + 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 "Re-recording enabled",IDC_STATEREC_RECORD,"Button",BS_AUTORADIOBUTTON | BS_PUSHLIKE | BS_FLAT,214,194,118,14 + CONTROL "Automatic replay",IDC_STATEREC_AUTOPLAY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,54,217,129,10 + PUSHBUTTON "Save recording",IDC_STATEREC_SAVE,214,212,118,14 + 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 +END + +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 + 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 + RTEXT "Device enabled",-1,313,6,66,11,SS_CENTERIMAGE + CONTROL "",IDC_INPUTDEVICEDISABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,384,7,9,10 + 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_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 "Autofire rate (lines):",-1,5,288,106,10,SS_CENTERIMAGE + EDITTEXT IDC_INPUTAUTOFIRERATE,116,286,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 "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,286,70,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "Swap 1<>2",IDC_INPUTSWAP,324,303,70,14 +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 + COMBOBOX IDC_FILTEROVERLAYTYPE,20,36,108,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_FILTEROVERLAY,134,36,145,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_FILTERAUTOSCALE,284,36,104,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + RTEXT "Horiz. size:",-1,7,63,81,10,SS_CENTERIMAGE + COMBOBOX IDC_FILTERHZMULT,92,62,35,150,CBS_DROPDOWN | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + 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 + COMBOBOX IDC_FILTERVZMULT,92,83,35,150,CBS_DROPDOWN | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + 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 + GROUPBOX "Aspect Ratio Correction",-1,1,152,144,89 + COMBOBOX IDC_FILTERASPECT,14,169,99,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 + CONTROL "Keep aspect ratio",IDC_FILTERKEEPASPECT,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,14,204,126,11 + COMBOBOX IDC_FILTERASPECT2,14,220,99,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + GROUPBOX "Extra Settings",-1,154,152,240,89 + COMBOBOX IDC_FILTERXTRA,177,172,138,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_FILTERSLR,327,172,41,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + 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 + 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 +END + +IDD_HARDDRIVE DIALOGEX 0, 0, 396, 109 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 -END - -IDD_MISC2 DIALOGEX 0, 0, 300, 244 + COMBOBOX IDC_HARDDRIVE,49,9,339,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + DEFPUSHBUTTON "Create hard disk image file",IDC_HARDDRIVE_IMAGE,49,67,115,14 + EDITTEXT IDC_PATH_NAME,183,67,97,15,ES_AUTOHSCROLL | NOT WS_VISIBLE + RTEXT "HD Controller:",IDC_STATIC,12,90,65,10,SS_CENTERIMAGE + COMBOBOX IDC_HDF_CONTROLLER,91,89,61,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + CONTROL "Read/write",IDC_HDF_RW,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,172,90,60,10 + DEFPUSHBUTTON "Add hard drive",IDOK,236,87,73,14 + PUSHBUTTON "Cancel",IDCANCEL,316,87,73,14 + EDITTEXT IDC_HDFINFO,5,29,385,12,ES_CENTER | ES_READONLY + EDITTEXT IDC_HDFINFO2,5,46,385,12,ES_CENTER | ES_READONLY +END + +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 + CTEXT "Mouse uncaptured:",IDC_STATIC,10,50,101,15,SS_CENTERIMAGE + 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 + 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 + GROUPBOX "File Extension Associations",IDC_STATIC,0,107,260,155 + CONTROL "",IDC_ASSOCIATELIST,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,9,124,238,108 + PUSHBUTTON "Associate all",IDC_ASSOCIATE_ON,36,240,85,14 + PUSHBUTTON "Deassociate all",IDC_ASSOCIATE_OFF,125,240,85,14 +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,6,292,196 - 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 + PUSHBUTTON "Insert floppy disk image",IDC_DISKLISTINSERT,72,299,121,15 + 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 + CONTROL "",IDC_DISKLIST,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,1,4,393,275 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 + 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,116,2,409,324 + GROUPBOX "",IDC_PANEL_FRAME,119,5,402,318,NOT WS_VISIBLE + PUSHBUTTON "Reset",IDC_RESETAMIGA,3,328,47,14 + PUSHBUTTON "Quit",IDC_QUITEMU,55,328,47,14 + PUSHBUTTON "Restart",IDC_RESTARTEMU,107,328,47,14,NOT WS_VISIBLE + DEFPUSHBUTTON "OK",IDOK,375,328,47,14 + PUSHBUTTON "Cancel",IDCANCEL,427,328,47,14 + PUSHBUTTON "Help",IDHELP,479,328,47,14,WS_DISABLED END -IDD_PATHS DIALOGEX 0, 0, 300, 243 +IDD_PATHS DIALOGEX 0, 0, 396, 303 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 + CONTROL "Cache Configuration files",IDC_PATHS_CONFIGCACHE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,177,31,197,11 + EDITTEXT IDC_PATHS_CONFIG,3,44,377,15,ES_AUTOHSCROLL + 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 + 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 + PUSHBUTTON "Reset to defaults",IDC_PATHS_DEFAULT,2,212,92,14 + PUSHBUTTON "Rescan ROMs",IDC_ROM_RESCAN,2,229,92,14 + PUSHBUTTON "Clear disk history",IDC_RESETDISKHISTORY,99,229,92,14 + COMBOBOX IDC_PATHS_DEFAULTTYPE,99,213,163,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "Clear registry",IDC_RESETREGISTRY,302,212,92,14 + CONTROL "Use relative paths",IDC_PATHS_RELATIVE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,199,231,189,11 + EDITTEXT IDC_LOGPATH,7,281,324,13,ES_READONLY + PUSHBUTTON "Open [] Open selected file.",IDC_LOGOPEN,337,280,51,14 + COMBOBOX IDC_LOGSELECT,7,263,169,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + CONTROL "Enable full logging (temporary)",IDC_LOGENABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,186,264,140,12 + PUSHBUTTON "Save All [] Save and open both logs and config file.",IDC_LOGSAVE,337,264,51,14 + GROUPBOX "Debug logging",IDC_STATIC,1,248,393,53 +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 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 + 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 END IDD_FRONTEND DIALOGEX 0, 0, 420, 242 @@ -938,59 +962,59 @@ 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, 58 -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,17,214,14,ES_AUTOHSCROLL | ES_WANTRETURN - DEFPUSHBUTTON "OK",IDOK,48,39,50,14 - PUSHBUTTON "Cancel",IDCANCEL,151,39,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 -STYLE DS_LOCALEDIT | DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME +STYLE DS_LOCALEDIT | DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU EXSTYLE WS_EX_CONTROLPARENT CAPTION "WinUAE Debugger" FONT 8, "Courier New", 0, 0, 0x0 BEGIN - EDITTEXT IDC_DBG_OUTPUT1,1,255,370,86,ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | ES_WANTRETURN | WS_VSCROLL | NOT WS_TABSTOP - EDITTEXT IDC_DBG_OUTPUT2,1,79,370,262,ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | ES_WANTRETURN | WS_VSCROLL | NOT WS_TABSTOP - LISTBOX IDC_DBG_MEM,1,92,370,249,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT - LISTBOX IDC_DBG_DASM,1,92,370,249,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT - EDITTEXT IDC_DBG_MEMINPUT,1,79,36,12,ES_AUTOHSCROLL | ES_WANTRETURN - EDITTEXT IDC_DBG_INPUT,1,342,354,12,ES_AUTOHSCROLL | ES_WANTRETURN - PUSHBUTTON "?",IDC_DBG_HELP,356,342,15,12,NOT WS_TABSTOP - PUSHBUTTON "Set to PC",IDC_DBG_MEMTOPC,38,79,45,12,NOT WS_TABSTOP LISTBOX IDC_DBG_DREG,1,1,52,66,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT LISTBOX IDC_DBG_AREG,54,1,52,66,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT LISTBOX IDC_DBG_AMEM,106,1,231,66,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT LISTBOX IDC_DBG_CCR,338,1,57,42,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT - LISTBOX IDC_DBG_SP_VBR,338,44,115,34,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT LISTBOX IDC_DBG_MMISC,396,1,57,42,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT LISTBOX IDC_DBG_PC,1,68,52,10,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT LISTBOX IDC_DBG_PREFETCH,54,68,283,10,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT + LISTBOX IDC_DBG_SP_VBR,338,44,115,34,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT + EDITTEXT IDC_DBG_OUTPUT2,1,79,370,262,ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | ES_WANTRETURN | WS_VSCROLL | NOT WS_TABSTOP + PUSHBUTTON "Set to PC",IDC_DBG_MEMTOPC,38,79,45,12,NOT WS_TABSTOP + CONTROL "Auto set",IDC_DBG_AUTOSET,"Button",BS_AUTOCHECKBOX,84,79,50,12 + LISTBOX IDC_DBG_MCUSTOM,372,79,81,138,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT + LISTBOX IDC_DBG_MEM,1,92,370,249,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT + LISTBOX IDC_DBG_MEM2,1,167,370,87,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT LISTBOX IDC_DBG_FPREG,372,218,81,66,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT + EDITTEXT IDC_DBG_OUTPUT1,1,255,370,86,ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | ES_WANTRETURN | WS_VSCROLL | NOT WS_TABSTOP LISTBOX IDC_DBG_FPSR,372,285,81,34,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT LISTBOX IDC_DBG_MISCCPU,372,320,81,34,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT + EDITTEXT IDC_DBG_INPUT,1,342,354,12,ES_AUTOHSCROLL | ES_WANTRETURN + PUSHBUTTON "?",IDC_DBG_HELP,356,342,15,12,NOT WS_TABSTOP CONTROL "",IDC_DBG_STATUS,"msctls_statusbar32",0x103,0,355,453,12 + LISTBOX IDC_DBG_DASM,1,92,370,249,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT + EDITTEXT IDC_DBG_MEMINPUT,1,79,36,12,ES_AUTOHSCROLL | ES_WANTRETURN LISTBOX IDC_DBG_BRKPTS,1,79,370,262,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_VSCROLL - LISTBOX IDC_DBG_MCUSTOM,372,79,81,138,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT LISTBOX IDC_DBG_MISC,1,79,370,262,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_VSCROLL LISTBOX IDC_DBG_CUSTOM,1,79,370,262,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_VSCROLL - CONTROL "Auto set",IDC_DBG_AUTOSET,"Button",BS_AUTOCHECKBOX,84,79,50,12 LISTBOX IDC_DBG_DASM2,1,79,370,87,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT - LISTBOX IDC_DBG_MEM2,1,167,370,87,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT END IDD_DBGMEMINPUT DIALOGEX 0, 0, 150, 58 @@ -1004,52 +1028,57 @@ BEGIN CTEXT "Enter address",IDC_DBG_ADDRINPUTTXT,20,1,100,10,SS_CENTERIMAGE | WS_TABSTOP END -IDD_EXPANSION DIALOGEX 0, 0, 300, 206 +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 + GROUPBOX "RTG Graphics Card",IDC_STATIC,1,0,393,189 + COMBOBOX IDC_RTG_Z2Z3,26,14,68,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + 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,124 - CONTROL "Scale if smaller than display size setting",IDC_RTG_SCALE, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,25,65,162,10 + EDITTEXT IDC_P96RAM,152,34,40,12,ES_CENTER | ES_READONLY 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 + CONTROL "Scale if smaller than display size setting",IDC_RTG_SCALE, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,25,67,212,10 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,108,68,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - CTEXT "Aspect ratio:",IDC_STATIC,215,95,60,10,SS_CENTERIMAGE - CTEXT "Refresh rate:",IDC_STATIC,28,95,64,10,SS_CENTERIMAGE - COMBOBOX IDC_RTG_VBLANKRATE,24,108,68,150,CBS_DROPDOWN | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,25,80,212,10 + CONTROL "Hardware vertical blank interrupt",IDC_RTG_VBINTERRUPT, + "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 + CTEXT "Color modes:",IDC_STATIC,295,9,83,10,SS_CENTERIMAGE + 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 + COMBOBOX IDC_RTG_DISPLAYSELECT,11,125,371,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + 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 + 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 "Aspect ratio:",IDC_STATIC,282,149,83,10,SS_CENTERIMAGE + COMBOBOX IDC_RTG_SCALE_ASPECTRATIO,282,162,84,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + GROUPBOX "Miscellaneous Expansions",IDC_STATIC,1,197,172,80 + 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,216,147,11 + CONTROL "uaescsi.device",IDC_SCSIDEVICE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,229,147,11 + GROUPBOX "Network",IDC_STATIC,181,197,213,80 CONTROL "bsdsocket.library [] bsdsocket network library emulation.",IDC_SOCKETS, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,142,148,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,160,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,160,57,10 - GROUPBOX "Network",IDC_STATIC,126,130,169,66 - COMBOBOX IDC_NETDEVICE,132,176,156,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - CONTROL "uaescsi.device",IDC_SCSIDEVICE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,160,102,10 - 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,148,101,10 - GROUPBOX "Miscellaneous Expansions",IDC_STATIC,5,130,117,66 - COMBOBOX IDC_RTG_Z2Z3,26,14,68,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - CTEXT "Buffer mode:",IDC_STATIC,112,95,81,10,SS_CENTERIMAGE - COMBOBOX IDC_RTG_BUFFERCNT,111,108,84,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - CTEXT "Color modes:",IDC_STATIC,215,9,62,10,SS_CENTERIMAGE + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,202,242,187,11 + COMBOBOX IDC_NETDEVICE,202,257,156,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP 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,268 + EDITTEXT IDC_INPUTMAPOUT,1,272,393,14,ES_AUTOHSCROLL | ES_READONLY | WS_DISABLED + EDITTEXT IDC_INPUTMAPOUTM,1,288,393,29,ES_MULTILINE | ES_READONLY | WS_DISABLED END IDD_INFOBOX DIALOGEX 0, 0, 420, 68 @@ -1057,11 +1086,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_TEXT1,4,7,412,11,SS_CENTERIMAGE | SS_SUNKEN | WS_TABSTOP + CTEXT "",IDC_INFOBOX_TEXT2,4,21,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 + DEFPUSHBUTTON "Clear",IDC_LISTDIALOG_CLEAR,6,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 END @@ -1071,8 +1111,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 2,4,1,0 - PRODUCTVERSION 2,4,1,0 + FILEVERSION 2,5,0,0 + PRODUCTVERSION 2,5,0,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -1088,12 +1128,12 @@ BEGIN BLOCK "040904b0" BEGIN VALUE "FileDescription", "WinUAE" - VALUE "FileVersion", "2.4.1.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.1.0" + VALUE "ProductVersion", "2.5.0.0" END END BLOCK "VarFileInfo" @@ -1189,6 +1229,7 @@ BEGIN END END + ///////////////////////////////////////////////////////////////////////////// // // DESIGNINFO @@ -1197,8 +1238,14 @@ END #ifdef APSTUDIO_INVOKED GUIDELINES DESIGNINFO BEGIN + IDD_KICKSTART, DIALOG + BEGIN + BOTTOMMARGIN, 214 + END + IDD_DISPLAY, DIALOG BEGIN + BOTTOMMARGIN, 270 END IDD_MEMORY, DIALOG @@ -1227,12 +1274,17 @@ BEGIN IDD_IOPORTS, DIALOG BEGIN + BOTTOMMARGIN, 275 END IDD_GAMEPORTS, DIALOG BEGIN END + IDD_CONTRIBUTORS, DIALOG + BEGIN + END + IDD_ABOUT, DIALOG BEGIN END @@ -1249,9 +1301,12 @@ BEGIN BEGIN END + IDD_SETINFO, DIALOG + BEGIN + END + IDD_CHIPSET, DIALOG BEGIN - BOTTOMMARGIN, 165 END IDD_CHIPSET2, DIALOG @@ -1268,11 +1323,12 @@ BEGIN IDD_FILTER, DIALOG BEGIN - BOTTOMMARGIN, 237 + BOTTOMMARGIN, 286 END IDD_HARDDRIVE, DIALOG BEGIN + BOTTOMMARGIN, 108 END IDD_MISC2, DIALOG @@ -1307,6 +1363,14 @@ BEGIN BEGIN END + IDD_DEBUGGER, DIALOG + BEGIN + END + + IDD_DBGMEMINPUT, DIALOG + BEGIN + END + IDD_EXPANSION, DIALOG BEGIN END @@ -1319,6 +1383,14 @@ BEGIN IDD_INFOBOX, DIALOG BEGIN END + + IDD_LIST, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 309 + TOPMARGIN, 7 + BOTTOMMARGIN, 199 + END END #endif // APSTUDIO_INVOKED @@ -1443,14 +1515,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" @@ -1689,6 +1761,9 @@ BEGIN IDS_SCREEN_VSYNC_NONE "-" IDS_FILTEROVERLAYTYPE_MASKS "Masks" IDS_FILTEROVERLAYTYPE_OVERLAYS "Overlays" + IDS_AUTOSCALE_INTEGER_AUTOSCALE "Auto Integer scaling" + IDS_WSTYLE_BORDERLESS "Borderless" + IDS_WSTYLE_MINIMAL "Minimal" END STRINGTABLE @@ -1698,6 +1773,15 @@ BEGIN IDS_AUTODETECT "Autodetect" END +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 ///////////////////////////////////////////////////////////////////////////// @@ -1717,7 +1801,7 @@ LANGUAGE LANG_FINNISH, SUBLANG_DEFAULT 1 TEXTINCLUDE BEGIN - "resource.\0" + "resource.h\0" END 3 TEXTINCLUDE diff --git a/od-win32/srcrelease.cmd b/od-win32/srcrelease.cmd index 0e1931d2..185c1258 100644 --- a/od-win32/srcrelease.cmd +++ b/od-win32/srcrelease.cmd @@ -118,6 +118,12 @@ rm -rf ipch rm -rf x64 cd .. +cd winuae_msvc11 +rm -rf debug +rm -rf release +rm -rf fullrelease +cd .. + cd singlefilehelper rm -rf debug rm -rf release @@ -163,7 +169,7 @@ zip -9 -r winuaesrc * copy winuaesrc.zip d:\amiga\winuaepackets\winuaesrc%1.zip move winuaesrc.zip d:\amiga cd c:\projects\winuae\src\od-win32 -zip -9 winuaedebug%1 winuae_msvc\release\winuae.pdb winuae_msvc\fullrelease\winuae.pdb winuae_msvc10\release\winuae.pdb winuae_msvc10\fullrelease\winuae.pdb +zip -9 winuaedebug%1 winuae_msvc11\release\winuae.pdb winuae_msvc11\fullrelease\winuae.pdb move winuaedebug%1.zip d:\amiga\winuaepackets\debug\ -copy winuae_msvc10\fullrelease\winuae.pdb d:\amiga\dump +copy winuae_msvc11\fullrelease\winuae.pdb d:\amiga\dump copy d:\amiga\winuae.exe d:\amiga\dump diff --git a/od-win32/uaeunp/uaeunp.vcxproj b/od-win32/uaeunp/uaeunp.vcxproj index c06a843a..e58ae48b 100644 --- a/od-win32/uaeunp/uaeunp.vcxproj +++ b/od-win32/uaeunp/uaeunp.vcxproj @@ -20,10 +20,12 @@ Application Unicode true + v110 Application Unicode + v110 diff --git a/od-win32/unpackers/unpackers.vcxproj b/od-win32/unpackers/unpackers.vcxproj index 548d699e..501a452d 100644 --- a/od-win32/unpackers/unpackers.vcxproj +++ b/od-win32/unpackers/unpackers.vcxproj @@ -28,23 +28,27 @@ StaticLibrary true Unicode + v110 StaticLibrary true Unicode + v110 StaticLibrary false false Unicode + v110 StaticLibrary false true Unicode + v110 diff --git a/od-win32/win32.cpp b/od-win32/win32.cpp index 1df47baf..52ca3446 100644 --- a/od-win32/win32.cpp +++ b/od-win32/win32.cpp @@ -461,6 +461,8 @@ void resumepaused (int priority) //write_log (_T("resume %d (%d)\n"), priority, pause_emulation); if (pause_emulation > priority) return; + if (!pause_emulation) + return; resumesoundpaused (); blkdev_exitgui (); if (pausemouseactive) @@ -596,6 +598,17 @@ void updatemouseclip (void) } } +void updatewinrect (void) +{ + GetWindowRect (hAmigaWnd, &amigawin_rect); + if (isfullscreen () == 0) { + changed_prefs.gfx_size_win.x = amigawin_rect.left; + changed_prefs.gfx_size_win.y = amigawin_rect.top; + currprefs.gfx_size_win.x = changed_prefs.gfx_size_win.x; + currprefs.gfx_size_win.y = changed_prefs.gfx_size_win.y; + } +} + static void setmouseactive2 (int active, bool allowpause) { //write_log (_T("setmouseactive %d->%d\n"), mouseactive, active); @@ -666,7 +679,8 @@ static void setmouseactive2 (int active, bool allowpause) if (!showcursor) { ShowCursor (FALSE); SetCapture (hAmigaWnd); - GetWindowRect (hAmigaWnd, &amigawin_rect); + updatewinrect (); + showcursor = 1; updatemouseclip (); } showcursor = 1; @@ -675,7 +689,7 @@ static void setmouseactive2 (int active, bool allowpause) inputdevice_acquire (TRUE); setpriority (&priorities[currprefs.win32_active_capture_priority]); if (currprefs.win32_active_nocapture_pause) { - resumepaused (1); + resumepaused (2); } else if (currprefs.win32_active_nocapture_nosound && sound_closed < 0) { resumesoundpaused (); } @@ -685,7 +699,7 @@ static void setmouseactive2 (int active, bool allowpause) } if (!active && allowpause) { if (currprefs.win32_active_nocapture_pause) { - setpaused (1); + setpaused (2); } else if (currprefs.win32_active_nocapture_nosound) { setsoundpaused (); sound_closed = -1; @@ -727,7 +741,10 @@ static void winuae_active (HWND hWnd, int minimized) if (sound_closed < 0) { resumesoundpaused (); } else { - if (currprefs.win32_iconified_pause && !currprefs.win32_inactive_pause) + if (currprefs.win32_active_nocapture_pause) { + if (mouseactive) + resumepaused (2); + } else if (currprefs.win32_iconified_pause && !currprefs.win32_inactive_pause) resumepaused (1); else if (currprefs.win32_inactive_pause) resumepaused (2); @@ -948,7 +965,7 @@ void setmouseactivexy (int x, int y, int dir) } } -int isfocus (void) +static int isfocus2 (void) { if (isfullscreen () > 0) return 1; @@ -958,6 +975,11 @@ int isfocus (void) return -1; return 0; } +int isfocus (void) +{ + int v = isfocus2 (); + return v; +} static void handleXbutton (WPARAM wParam, int updown) { @@ -1179,12 +1201,8 @@ static LRESULT CALLBACK AmigaWindowProc (HWND hWnd, UINT message, WPARAM wParam, WINDOWPOS *wp = (WINDOWPOS*)lParam; if (isfullscreen () <= 0) { if (!IsIconic (hWnd) && hWnd == hAmigaWnd) { - GetWindowRect (hWnd, &amigawin_rect); - if (isfullscreen () == 0) { - changed_prefs.gfx_size_win.x = amigawin_rect.left; - changed_prefs.gfx_size_win.y = amigawin_rect.top; - config_changed = 1; - } + updatewinrect (); + config_changed = 1; updatemouseclip (); } notice_screen_contents_lost (); @@ -1614,6 +1632,11 @@ static LRESULT CALLBACK MainWindowProc (HWND hWnd, UINT message, WPARAM wParam, WIN32GFX_DisplayChangeRequested (); break; #endif + case WM_DWMCOMPOSITIONCHANGED: + case WM_THEMECHANGED: + WIN32GFX_DisplayChangeRequested (); + return 0; + case WM_GETMINMAXINFO: { LPMINMAXINFO lpmmi; @@ -2180,6 +2203,7 @@ HMODULE language_load (WORD language) #if LANG_DLL > 0 TCHAR dllbuf[MAX_DPATH]; TCHAR *dllname; + bool nosubrev = true; if (language <= 0) { /* new user-specific Windows ME/2K/XP method to get UI language */ @@ -2214,7 +2238,7 @@ HMODULE language_load (WORD language) if (vsFileInfo && HIWORD(vsFileInfo->dwProductVersionMS) == UAEMAJOR && LOWORD(vsFileInfo->dwProductVersionMS) == UAEMINOR - && (HIWORD(vsFileInfo->dwProductVersionLS) == UAESUBREV)) { + && (nosubrev || (HIWORD(vsFileInfo->dwProductVersionLS) == UAESUBREV))) { success = TRUE; write_log (_T("Translation DLL '%s' loaded and enabled\n"), dllbuf); } else { @@ -3254,7 +3278,7 @@ int target_parse_option (struct uae_prefs *p, const TCHAR *option, const TCHAR * int v1, v2; TCHAR *s; - p->gfx_filter_aspect = -1; + p->win32_rtgscaleaspectratio = -1; v1 = _tstol (tmpbuf); s = _tcschr (tmpbuf, ':'); if (s) { diff --git a/od-win32/win32.h b/od-win32/win32.h index b331fc1e..8ab6b6b2 100644 --- a/od-win32/win32.h +++ b/od-win32/win32.h @@ -15,12 +15,12 @@ #define GETBDM(x) (((x) - ((x / 10000) * 10000)) / 100) #define GETBDD(x) ((x) % 100) -#define WINUAEPUBLICBETA 0 +#define WINUAEPUBLICBETA 1 #define LANG_DLL 1 -#define WINUAEBETA _T("") -//#define WINUAEBETA _T("28") -#define WINUAEDATE MAKEBD(2012, 12, 2) +//#define WINUAEBETA _T("") +#define WINUAEBETA _T("1") +#define WINUAEDATE MAKEBD(2012, 12, 10) #define WINUAEEXTRA _T("") //#define WINUAEEXTRA _T("AmiKit Preview") #define WINUAEREV _T("") @@ -64,6 +64,7 @@ extern void setmouseactive (int active); extern void minimizewindow (void); extern uae_u32 OSDEP_minimize_uae (void); extern void updatemouseclip (void); +extern void updatewinrect (void); extern void resumepaused (int priority); extern void setpaused (int priority); diff --git a/od-win32/win32_filesys.cpp b/od-win32/win32_filesys.cpp index 5ede1b01..c126dba8 100644 --- a/od-win32/win32_filesys.cpp +++ b/od-win32/win32_filesys.cpp @@ -164,13 +164,6 @@ void filesys_addexternals (void) } devname[0] = 0; for (;;) { -#if USE_CDFS == 0 - if (drivetype == DRIVE_CDROM && currprefs.win32_automount_cddrives) { - _stprintf (devname, _T("WinCD_%c"), drive); - rw = 0; - break; - } -#endif if (!inserted) { nok = TRUE; break; diff --git a/od-win32/win32gfx.cpp b/od-win32/win32gfx.cpp index 654012ad..4640cd17 100644 --- a/od-win32/win32gfx.cpp +++ b/od-win32/win32gfx.cpp @@ -89,7 +89,7 @@ struct winuae_currentmode { int vsync; }; -struct MultiDisplay Displays[MAX_DISPLAYS]; +struct MultiDisplay Displays[MAX_DISPLAYS + 1]; static struct winuae_currentmode currentmodestruct; static int screen_is_initialized; @@ -727,7 +727,7 @@ static void getd3dmonitornames (void) d3d->Release (); } -void enumeratedisplays (void) +static bool enumeratedisplays2 (bool selectall) { struct MultiDisplay *md = Displays; int adapterindex = 0; @@ -736,10 +736,12 @@ void enumeratedisplays (void) while (EnumDisplayDevices (NULL, adapterindex, &add, 0)) { adapterindex++; - if (!(add.StateFlags & DISPLAY_DEVICE_ATTACHED_TO_DESKTOP)) - continue; - if (add.StateFlags & DISPLAY_DEVICE_MIRRORING_DRIVER) - continue; + if (!selectall) { + if (!(add.StateFlags & DISPLAY_DEVICE_ATTACHED_TO_DESKTOP)) + continue; + if (add.StateFlags & DISPLAY_DEVICE_MIRRORING_DRIVER) + continue; + } if (md - Displays >= MAX_DISPLAYS) break; @@ -750,10 +752,12 @@ void enumeratedisplays (void) monitorindex++; if (md - Displays >= MAX_DISPLAYS) break; - if (!(mdd.StateFlags & DISPLAY_DEVICE_ATTACHED_TO_DESKTOP)) - continue; - if (mdd.StateFlags & DISPLAY_DEVICE_MIRRORING_DRIVER) - continue; + if (!selectall) { + if (!(mdd.StateFlags & DISPLAY_DEVICE_ATTACHED_TO_DESKTOP)) + continue; + if (mdd.StateFlags & DISPLAY_DEVICE_MIRRORING_DRIVER) + continue; + } md->adaptername = my_strdup_trim (add.DeviceString); md->adapterid = my_strdup (add.DeviceName); md->adapterkey = my_strdup (add.DeviceID); @@ -764,7 +768,7 @@ void enumeratedisplays (void) md++; } if (md - Displays >= MAX_DISPLAYS) - return; + return true; if (monitorindex == 0) { md->adaptername = my_strdup_trim (add.DeviceString); md->adapterid = my_strdup (add.DeviceName); @@ -772,11 +776,26 @@ void enumeratedisplays (void) md->monitorname = my_strdup_trim (add.DeviceString); md->monitorid = my_strdup (add.DeviceKey); md->primary = true; + md++; } } + if (md == Displays) + return false; EnumDisplayMonitors (NULL, NULL, monitorEnumProc, NULL); + md = Displays; + while (md->monitorname) { + if (!md->fullname) + md->fullname = my_strdup (md->adapterid); + md++; + } getd3dmonitornames (); //sortmonitors (); + return true; +} +void enumeratedisplays (void) +{ + if (!enumeratedisplays2 (false)) + enumeratedisplays2(true); } void sortdisplays (void) @@ -1564,13 +1583,55 @@ static int open_windows (int full) return ret; } +static void reopen_gfx (void) +{ + open_windows (0); + + if (isvsync () < 0) + vblank_calibrate (0, false); + + if (isfullscreen () <= 0) + DirectDraw_FillPrimary (); +} + +static int getstatuswindowheight (void) +{ + int def = GetSystemMetrics (SM_CYMENU) + 3; + WINDOWINFO wi; + HWND h = CreateWindowEx ( + 0, STATUSCLASSNAME, (LPCTSTR) NULL, SBARS_TOOLTIPS | WS_CHILD | WS_VISIBLE, + 0, 0, 0, 0, hHiddenWnd, (HMENU) 1, hInst, NULL); + if (!h) + return def; + wi.cbSize = sizeof wi; + if (!GetWindowInfo (h, &wi)) + return def; + DestroyWindow (h); + return wi.rcWindow.bottom - wi.rcWindow.top; +} + +void WIN32GFX_DisplayChangeRequested (void) +{ + display_change_requested = 1; +} + int check_prefs_changed_gfx (void) { int c = 0; - if (!config_changed) + if (!config_changed && !display_change_requested) return 0; + if (currprefs.win32_statusbar != changed_prefs.win32_statusbar) { + if ((currprefs.win32_statusbar == 0 && changed_prefs.win32_statusbar > 0)) { + c |= 32; + } else if ((currprefs.win32_statusbar > 0 && changed_prefs.win32_statusbar == 0)) { + c |= 32; + } else { + c |= 512; + } + } + c |= currprefs.gfx_size_fs.width != changed_prefs.gfx_size_fs.width ? 16 : 0; c |= currprefs.gfx_size_fs.height != changed_prefs.gfx_size_fs.height ? 16 : 0; c |= ((currprefs.gfx_size_win.width + 7) & ~7) != ((changed_prefs.gfx_size_win.width + 7) & ~7) ? 16 : 0; @@ -1641,13 +1702,13 @@ int check_prefs_changed_gfx (void) c |= currprefs.win32_nonotificationicon != changed_prefs.win32_nonotificationicon ? 32 : 0; c |= currprefs.win32_borderless != changed_prefs.win32_borderless ? 32 : 0; c |= currprefs.win32_blankmonitors != changed_prefs.win32_blankmonitors ? 32 : 0; - c |= currprefs.win32_statusbar != changed_prefs.win32_statusbar ? 32 : 0; c |= currprefs.win32_rtgmatchdepth != changed_prefs.win32_rtgmatchdepth ? 2 : 0; c |= currprefs.win32_rtgscaleifsmall != changed_prefs.win32_rtgscaleifsmall ? (2 | 8 | 64) : 0; c |= currprefs.win32_rtgallowscaling != changed_prefs.win32_rtgallowscaling ? (2 | 8 | 64) : 0; c |= currprefs.win32_rtgscaleaspectratio != changed_prefs.win32_rtgscaleaspectratio ? (8 | 64) : 0; c |= currprefs.win32_rtgvblankrate != changed_prefs.win32_rtgvblankrate ? 8 : 0; + if (display_change_requested || c) { int keepfsmode = @@ -1748,6 +1809,10 @@ int check_prefs_changed_gfx (void) S2X_reset (); } } + if (c & 512) { + reopen_gfx (); + graphics_mode_changed = 1; + } if ((c & 16) || ((c & 8) && keepfsmode)) { if (reopen (c & 2, unacquired == false)) { c |= 2; @@ -2085,13 +2150,7 @@ static int reopen (int full, bool unacquire) inputdevice_unacquire (); } - open_windows (0); - - if (isvsync () < 0) - vblank_calibrate (0, false); - - if (isfullscreen () <= 0) - DirectDraw_FillPrimary (); + reopen_gfx (); return 0; } @@ -3454,11 +3513,13 @@ static int create_windows_2 (void) DWORD flags = 0; int borderless = currprefs.win32_borderless; DWORD style = WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN | WS_CLIPSIBLINGS; - int sbheight = currprefs.win32_statusbar == 0 ? 0 : GetSystemMetrics (SM_CYMENU) + 3; int cyborder = GetSystemMetrics (SM_CYFRAME); int gap = 0; int x, y, w, h; struct MultiDisplay *md = getdisplay (&currprefs); + int sbheight; + + sbheight = currprefs.win32_statusbar ? getstatuswindowheight () : 0; if (hAmigaWnd) { RECT r; @@ -3516,8 +3577,6 @@ static int create_windows_2 (void) } SetWindowPos (hAmigaWnd, HWND_TOP, x, y, w, h, SWP_NOACTIVATE | SWP_NOOWNERZORDER | SWP_NOSENDCHANGING | SWP_NOZORDER); - if (hStatusWnd) - createstatuswindow (); in_sizemove--; } else { w = nw; @@ -3525,7 +3584,8 @@ static int create_windows_2 (void) x = nx; y = ny; } - GetWindowRect (hAmigaWnd, &amigawin_rect); + createstatuswindow (); + updatewinrect (); GetWindowRect (hMainWnd, &mainwin_rect); if (d3dfs || dxfs) SetCursorPos (x + w / 2, y + h / 2); @@ -3668,7 +3728,7 @@ static int create_windows_2 (void) hMainWnd = hAmigaWnd; } - GetWindowRect (hAmigaWnd, &amigawin_rect); + updatewinrect (); GetWindowRect (hMainWnd, &mainwin_rect); if (dxfs || d3dfs) SetCursorPos (x + w / 2, y + h / 2); diff --git a/od-win32/win32gui.cpp b/od-win32/win32gui.cpp index 3eb22474..981a2053 100644 --- a/od-win32/win32gui.cpp +++ b/od-win32/win32gui.cpp @@ -15346,6 +15346,10 @@ static INT_PTR CALLBACK DialogProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM l } break; } + case WM_DWMCOMPOSITIONCHANGED: + case WM_THEMECHANGED: + gui_size_changed = 1; + return 0; } handlerawinput (hDlg, msg, wParam, lParam); return FALSE; diff --git a/od-win32/win32gui_extra.cpp b/od-win32/win32gui_extra.cpp index 9594e4e2..7b469c1d 100644 --- a/od-win32/win32gui_extra.cpp +++ b/od-win32/win32gui_extra.cpp @@ -161,22 +161,25 @@ static void modifytemplatefont (DLGTEMPLATEEX *d, DLGTEMPLATEEX_END *d2) static void modifyitem (DLGTEMPLATEEX *d, DLGTEMPLATEEX_END *d2, DLGITEMTEMPLATEEX *dt, int id) { bool noyscale = false; + int wc = 0; 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 (dt->windowClass[0] == 0xffff) - wc = dt->windowClass[1]; + if (multy >= 89 && multy <= 111) { - if (wc == 0x0080 && dt->cy <= 20) // button + if (wc == 0x0080 && dt->cy <= 20) { // button noyscale = true; - if (wc == 0x0085) // checkbox + } + if (wc == 0x0085) {// combo box noyscale = true; - if (wc == 0x0081 && dt->cy <= 20) // edit box + } + if (wc == 0x0081 && dt->cy <= 20) { // edit box noyscale = true; + } } if (!noyscale) @@ -185,6 +188,7 @@ static void modifyitem (DLGTEMPLATEEX *d, DLGTEMPLATEEX_END *d2, DLGITEMTEMPLATE 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) diff --git a/od-win32/winuae_msvc11/winuae_msvc.sln b/od-win32/winuae_msvc11/winuae_msvc.sln index 6c33be6f..d54f5bc5 100644 --- a/od-win32/winuae_msvc11/winuae_msvc.sln +++ b/od-win32/winuae_msvc11/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_msvc.vcxproj b/od-win32/winuae_msvc11/winuae_msvc.vcxproj index eafbbf71..90ba4dea 100644 --- a/od-win32/winuae_msvc11/winuae_msvc.vcxproj +++ b/od-win32/winuae_msvc11/winuae_msvc.vcxproj @@ -37,13 +37,13 @@ false Unicode true - v110 + v110_xp Application false Unicode - v110 + v110_xp Application @@ -127,6 +127,15 @@ 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) + true + true + true + C:\dev\include;C:\Program Files %28x86%29\Microsoft DirectX SDK %28June 2010%29\Include;$(IncludePath) + C:\dev\lib\x64;C:\Program Files %28x86%29\Microsoft DirectX SDK %28June 2010%29\Lib\x64;$(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\Lib\x64;C:\dev\lib\x64;$(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\Lib\x64;C:\dev\lib\x64;$(LibraryPath) @@ -189,9 +198,11 @@ %(AdditionalLibraryDirectories);$(SolutionDir)\..\lib\ + false - ..\resources\winuae.exe.manifest;%(AdditionalManifestFiles) + ../resources/winuae.exe.manifest + true @@ -209,9 +220,9 @@ WINVER=0x0500;_DEBUG;WIN32_IE=0x0700;WIN32;WIN64;_CRT_SECURE_NO_WARNINGS;D3D_DEBUG_INFO;%(PreprocessorDefinitions) Sync EnableFastChecks - MultiThreadedDebug + MultiThreadedDebugDLL true - true + false $(Platform)\$(Configuration)\winuae_msvc.pch $(Platform)\$(Configuration)\ $(Platform)\$(Configuration)\ @@ -223,6 +234,7 @@ Default 4996;%(DisableSpecificWarnings) false + true _DEBUG;%(PreprocessorDefinitions) @@ -232,7 +244,7 @@ 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) + LIBCMT;%(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 @@ -249,7 +261,8 @@ - ..\resources\winuae64.exe.manifest;%(AdditionalManifestFiles) + ..\resources\winuae64.exe.manifest + true @@ -319,12 +332,15 @@ false true MachineX86 - - - false + 5.01 + + - ..\resources\winuae.exe.manifest;%(AdditionalManifestFiles) + ../resources/winuae.exe.manifest + true + $(IntDir)$(TargetName)$(TargetExt).embed.manifest + /validate_manifest %(AdditionalOptions) @@ -347,7 +363,7 @@ true Sync Default - MultiThreaded + MultiThreadedDLL false true NotSet @@ -377,7 +393,7 @@ $(OutDir)$(TargetName)$(TargetExt) true %(AdditionalLibraryDirectories);$(SolutionDir)\..\lib\ - %(IgnoreSpecificDefaultLibraries) + LIBCMT;%(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 @@ -394,7 +410,8 @@ MachineX64 - ..\resources\winuae64.exe.manifest;%(AdditionalManifestFiles) + ..\resources\winuae64.exe.manifest + true @@ -468,7 +485,8 @@ false - ..\resources\winuae9.exe.manifest;%(AdditionalManifestFiles) + ../resources/winuae.exe.manifest + true @@ -491,7 +509,7 @@ true Sync Default - MultiThreaded + MultiThreadedDLL false true NotSet @@ -522,7 +540,7 @@ $(OutDir)$(TargetName)$(TargetExt) true %(AdditionalLibraryDirectories);$(SolutionDir)\..\lib\ - %(IgnoreSpecificDefaultLibraries) + LIBCMT;%(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 @@ -539,6 +557,7 @@ ..\resources\winuae64.exe.manifest;%(AdditionalManifestFiles) + true @@ -735,7 +754,6 @@ - @@ -785,6 +803,9 @@ Document + + + diff --git a/od-win32/winuae_msvc11/winuae_msvc.vcxproj.filters b/od-win32/winuae_msvc11/winuae_msvc.vcxproj.filters index 3418b03e..1f38e8d0 100644 --- a/od-win32/winuae_msvc11/winuae_msvc.vcxproj.filters +++ b/od-win32/winuae_msvc11/winuae_msvc.vcxproj.filters @@ -608,7 +608,6 @@ - @@ -623,4 +622,7 @@ + + + \ No newline at end of file diff --git a/od-win32/winuaechangelog.txt b/od-win32/winuaechangelog.txt index d0b7c7a2..a189a0bc 100644 --- a/od-win32/winuaechangelog.txt +++ b/od-win32/winuaechangelog.txt @@ -1,6 +1,30 @@ - restore only single input target to default. +This is usual quick 2.5.0 bug fix version. Estimated release date: before Christmas. +I try not to do any GUI changes this time, 2.5.0 translation DLLs should still work with 2.5.1. + +- Internal mouse counter under/overflow fixed, while moving mouse far enough, mouse jumped in opposite direction. (old bug) +- Directory filesystem file modification date resolution support is now 1 microsecond (was 1 second). AmigaDOS file + time 1/50s "tick" resolution is now fully supported (if NTFS, FAT only has 2 second resolution) +- 1G RTG RAM was detected as "too large". (early 250 beta) +- ClipCursor() was not always called, it was possible for hidden Windows mouse to move outside of WinUAE window in some situations. (250b24) +- RTG aspect ratio still affected filter panel aspect ratio setting. (b26 update was not complete) +- _UAEFSDB.___ meta data files (stores illegal names, protection flags and comments if non-stream capable filesystem like FAT) + haven't worked correctly for a long time. +- _UAEFSDB.___ wasn't always deleted when it become empty. +- Unminimizing unpaused emulation when "pause when mouse is uncaptured" was enabled. +- If win32.guikey config entry is set, normal GUI key (F12) events won't open the GUI anymore. +- Always reset special monitor active flag (A2024/Graffiti) when display mode changes, fixes A2024 mode position when window + needs to reopen but resolution didn't change. +- Improved windowed mode bottom statusbar height calculation, fixes two pixel gap in Windows Vista classic mode. +- Fixed Amiga-side illegal memory access when booting directory harddrive(s) under KS 1.3. +- Reset GUI/emulation display when Windows desktop state changes (Theme change etc..) +- Removed remains of unused AROS CDFS support code. +- Compiled using MSVC 2012 with update 1 installed. + +2.5.0 + Beta 28 RC4: - uaescsi.device SCSI sense data is now returned correctly (For example MakeCD shows error messages that make sense now) diff --git a/zfile.cpp b/zfile.cpp index cae1a3ae..e532ad96 100644 --- a/zfile.cpp +++ b/zfile.cpp @@ -1670,7 +1670,7 @@ static struct zfile *zfile_fopen_2 (const TCHAR *name, const TCHAR *mode, int ma } l->zfdmask = mask; } else { - struct _stat64 st; + struct mystat st; l = zfile_create (NULL); l->mode = my_strdup (mode); l->name = my_strdup (name); @@ -1685,8 +1685,8 @@ static struct zfile *zfile_fopen_2 (const TCHAR *name, const TCHAR *mode, int ma zfile_fclose (l); return 0; } - if (stat (l->name, &st) != -1) - l->size = st.st_size; + if (my_stat (l->name, &st)) + l->size = st.size; l->f = f; } return l; @@ -2751,7 +2751,8 @@ static void zfile_fopen_archive_recurse2 (struct zvolume *zv, struct znode *zn, zvnew = zvolume_alloc_empty (zv, tmp); zvnew->parentz = zn; zai.name = tmp; - zai.t = zn->mtime; + zai.tv.tv_sec = zn->mtime.tv_sec; + zai.tv.tv_usec = zn->mtime.tv_usec; zai.comment = zv->volumename; if (zn->flags < 0) zai.flags = zn->flags; @@ -2935,7 +2936,8 @@ struct znode *znode_adddir (struct znode *parent, const TCHAR *name, struct zarc if (zn) return zn; zn = znode_alloc_child (parent, name); - zn->mtime = zai->t; + zn->mtime.tv_sec = zai->tv.tv_sec; + zn->mtime.tv_usec = zai->tv.tv_usec; zn->type = ZNODE_DIR; if (zai->comment) zn->comment = my_strdup (zai->comment); @@ -2993,7 +2995,8 @@ struct znode *zvolume_addfile_abs (struct zvolume *zv, struct zarchive_info *zai zn = znode_alloc_child (zn2, p2); zn->size = zai->size; zn->type = ZNODE_FILE; - zn->mtime = zai->t; + zn->mtime.tv_sec = zai->tv.tv_sec; + zn->mtime.tv_usec = zai->tv.tv_usec; if (zai->comment) zn->comment = my_strdup (zai->comment); zn->flags = zai->flags; @@ -3015,19 +3018,20 @@ struct zvolume *zfile_fopen_directory (const TCHAR *dirname) zv = zvolume_alloc_nofile (dirname, ArchiveFormatDIR, NULL, NULL); while (my_readdir (dir, fname)) { TCHAR fullname[MAX_DPATH]; - struct _stat64 statbuf; + struct mystat statbuf; struct zarchive_info zai = { 0 }; if (!_tcscmp (fname, _T(".")) || !_tcscmp (fname, _T(".."))) continue; _tcscpy (fullname, dirname); _tcscat (fullname, FSDB_DIR_SEPARATOR_S); _tcscat (fullname, fname); - if (stat (fullname, &statbuf) == -1) + if (!my_stat (fullname, &statbuf)) continue; zai.name = fname; - zai.size = statbuf.st_size; - zai.t = statbuf.st_mtime; - if (statbuf.st_mode & FILEFLAG_DIR) { + zai.size = statbuf.size; + zai.tv.tv_sec = statbuf.mtime.tv_sec; + zai.tv.tv_usec = statbuf.mtime.tv_usec; + if (statbuf.mode & FILEFLAG_DIR) { zvolume_adddir_abs (zv, &zai); } else { struct znode *zn; @@ -3316,7 +3320,7 @@ int zfile_fs_usage_archive (const TCHAR *path, const TCHAR *disk, struct fs_usag return 0; } -int zfile_stat_archive (const TCHAR *path, struct _stat64 *s) +int zfile_stat_archive (const TCHAR *path, struct mystat *s) { struct zvolume *zv = get_zvolume (path); struct znode *zn = get_znode (zv, path, TRUE); @@ -3324,9 +3328,9 @@ int zfile_stat_archive (const TCHAR *path, struct _stat64 *s) memset (s, 0, sizeof (struct _stat64)); if (!zn) return 0; - s->st_mode = zn->type == ZNODE_FILE ? 0 : FILEFLAG_DIR; - s->st_size = zn->size; - s->st_mtime = zn->mtime; + s->size = zn->size; + s->mtime.tv_sec = zn->mtime.tv_sec; + s->mtime.tv_usec = zn->mtime.tv_usec; return 1; } diff --git a/zfile_archive.cpp b/zfile_archive.cpp index 4ec91cfa..738c1203 100644 --- a/zfile_archive.cpp +++ b/zfile_archive.cpp @@ -308,10 +308,10 @@ struct zvolume *archive_directory_tar (struct zfile *z) memset (&zai, 0, sizeof zai); zai.name = au (name); zai.size = size; - zai.t = _strtoui64 ((char*)block + 136, NULL, 8); - zai.t += _timezone; + zai.tv.tv_sec = _strtoui64 ((char*)block + 136, NULL, 8); + zai.tv.tv_sec += _timezone; if (_daylight) - zai.t -= 1 * 60 * 60; + zai.tv.tv_sec -= 1 * 60 * 60; if (zai.name[_tcslen (zai.name) - 1] == '/') { zn = zvolume_adddir_abs (zv, &zai); } else { @@ -379,7 +379,7 @@ struct zvolume *archive_directory_zip (struct zfile *z) t = fromdostime (dd); memset (&zai, 0, sizeof zai); zai.name = filename_inzip; - zai.t = t; + zai.tv.tv_sec = t; zai.flags = -1; c = filename_inzip[_tcslen (filename_inzip) - 1]; if (c != '/' && c != '\\') { @@ -599,14 +599,13 @@ struct zvolume *archive_directory_7z (struct zfile *z) zai.name = name; zai.flags = f->AttribDefined ? f->Attrib : -1; zai.size = f->Size; - zai.t = 0; if (f->MTimeDefined) { uae_u64 t = (((uae_u64)f->MTime.High) << 32) | f->MTime.Low; if (t >= EPOCH_DIFF) { - zai.t = (t - EPOCH_DIFF) / RATE_DIFF; - zai.t -= _timezone; + zai.tv.tv_sec = (t - EPOCH_DIFF) / RATE_DIFF; + zai.tv.tv_sec -= _timezone; if (_daylight) - zai.t += 1 * 60 * 60; + zai.tv.tv_sec += 1 * 60 * 60; } } if (!f->IsDir) { @@ -757,7 +756,7 @@ struct zvolume *archive_directory_rar (struct zfile *z) zai.name = rc->HeaderData.FileNameW; zai.size = rc->HeaderData.UnpSize; zai.flags = -1; - zai.t = fromdostime (rc->HeaderData.FileTime); + zai.tv.tv_sec = fromdostime (rc->HeaderData.FileTime); zn = zvolume_addfile_abs (zv, &zai); zn->offset = cnt++; pRARProcessFile (rc->hArcData, RAR_SKIP, NULL, NULL); @@ -1042,7 +1041,6 @@ struct zvolume *archive_directory_plain (struct zfile *z) zai.flags = -1; zfile_fseek(z, 0, SEEK_END); zai.size = zfile_ftell (z); - zai.t = zfile_fseek(z, 0, SEEK_SET); zfile_fread(id, sizeof id, 1, z); zfile_fseek(z, 0, SEEK_SET); @@ -1236,7 +1234,7 @@ static void recurseadf (struct znode *zn, int root, TCHAR *name) size = 0; zai.size = size; zai.flags = gl (adf, bs - 48 * 4); - zai.t = put_time (gl (adf, bs - 23 * 4), gl (adf, bs - 22 * 4),gl (adf, bs - 21 * 4)); + amiga_to_timeval (&zai.tv, gl (adf, bs - 23 * 4), gl (adf, bs - 22 * 4),gl (adf, bs - 21 * 4)); if (secondary == -3) { struct znode *znnew = zvolume_addfile_abs (zv, &zai); znnew->offset = block; @@ -1304,9 +1302,9 @@ static void recursesfs (struct znode *zn, int root, TCHAR *name, int sfs2) _tcscat (name2, fname); zai.name = name2; if (sfs2) - zai.t = glx (p + 22) - diff2; + zai.tv.tv_sec = glx (p + 22) - diff2; else - zai.t = glx (p + 20) - diff; + zai.tv.tv_sec = glx (p + 20) - diff; if (p[sfs2 ? 26 : 24] & 0x80) { // dir struct znode *znnew = zvolume_adddir_abs (zv, &zai); int newblock = glx (p + 16); @@ -1961,7 +1959,7 @@ static void fatdirectory (struct zfile *z, struct zvolume *zv, TCHAR *name, int _tcscat (name2, fname); zai.name = name2; - zai.t = fat_time_fat2unix (buf[0x16] | (buf[0x17] << 8), buf[0x18] | (buf[0x19] << 8), 1); + zai.tv.tv_sec = fat_time_fat2unix (buf[0x16] | (buf[0x17] << 8), buf[0x18] | (buf[0x19] << 8), 1); if (attr & (16 | 8)) { int nextblock, cluster; nextblock = dataregion + (startcluster - 2) * sectorspercluster; -- 2.47.3