]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
2510b1
authorToni Wilen <twilen@winuae.net>
Mon, 10 Dec 2012 17:31:36 +0000 (19:31 +0200)
committerToni Wilen <twilen@winuae.net>
Mon, 10 Dec 2012 17:31:36 +0000 (19:31 +0200)
48 files changed:
archivers/lha/uae_lha.cpp
archivers/lzx/unlzx.cpp
cfgfile.cpp
debug.cpp
disk.cpp
drawing.cpp
filesys.asm
filesys.cpp
filesys_bootrom.cpp
fsdb.cpp
include/filesys.h
include/fsdb.h
include/isofs_api.h
include/options.h
include/sysdeps.h
include/zarchive.h
include/zfile.h
inputdevice.cpp
inputrecord.cpp
isofs.cpp
main.cpp
od-win32/build68k_msvc/build68k_msvc.vcxproj
od-win32/dxwrap.h
od-win32/fsdb_mywin32.cpp
od-win32/genblitter_msvc/genblitter_msvc.vcxproj
od-win32/gencomp_msvc/gencomp_msvc.vcxproj
od-win32/gencpu_msvc/gencpu_msvc.vcxproj
od-win32/genlinetoscr_msvc/genlinetoscr_msvc.vcxproj
od-win32/keyboard_win32.cpp
od-win32/posixemu.cpp
od-win32/prowizard/prowizard.vcxproj
od-win32/resources/winuae.rc
od-win32/resources/winuae_minimal.rc
od-win32/srcrelease.cmd
od-win32/uaeunp/uaeunp.vcxproj
od-win32/unpackers/unpackers.vcxproj
od-win32/win32.cpp
od-win32/win32.h
od-win32/win32_filesys.cpp
od-win32/win32gfx.cpp
od-win32/win32gui.cpp
od-win32/win32gui_extra.cpp
od-win32/winuae_msvc11/winuae_msvc.sln
od-win32/winuae_msvc11/winuae_msvc.vcxproj
od-win32/winuae_msvc11/winuae_msvc.vcxproj.filters
od-win32/winuaechangelog.txt
zfile.cpp
zfile_archive.cpp

index 6d9ad2b8569e5ccca58e95c0f9a9c2259decae83..1d418285cc3f30a2327863236d81b8b9b7fcc42f 100644 (file)
@@ -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) {
index 997c1e3ba59b638b0838c9425617c9b8335bd910..373a6ce2d9f60d038368615373710d6f7ea7f19d 100644 (file)
@@ -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;
index 2d0cae966034f37c7fd6e1833f6b032987b0d151..f43250609297c3690404c9f01fba0dfa739687d5 100644 (file)
@@ -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);
 
index e014ac3f45232d9a299efcb8bffcb78424daa8c8..b46b88376db765932eb0cd2c0d8977c6cf2e9b52 100644 (file)
--- 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);
index 46d923d057ecad83b7dcfeb5781655278d217f65..2add543707a05ea790884de9917f5de9b25d1d57 100644 (file)
--- 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)
index d383f4599d985b50ec4da4f00f551e1e5fce8213..92011c4cbd2e7a574aec135362627965b035f03e 100644 (file)
@@ -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)
index 472d0a5b84b160763c8a7ea114614cf171e56b46..6682812a50630309131c3acb192a16ceef9abcce 100644 (file)
@@ -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
index 8482389557023aa6e901926651e7386ea70725d1..ed94add89d494dfd4041a6dec69cbfc58a4a6882 100644 (file)
@@ -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
index 210863acdbe25a1d716738e329002e5eb7d68548..ec824ed214d9c55edb9e1d1e79e2342ac1e6de0c 100644 (file)
@@ -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);
  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);
  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);
  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);
  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);
  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);
  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);
 
index 3e5d09c9ec50fadf868d52aa98c658ae144c9fa8..45bb3627d24d86842ef387fe358e2feeed8ba4c8 100644 (file)
--- 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';
index d73ceddc7228cc2934c0d75f4f17ddbd1e31dcfe..5fe16ad3a728eb2dde5fb302e470e6a63693601a 100644 (file)
@@ -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;
 
index 850e9766b633335c6298a9da7cd6433d93f976ba..528e30ad9aea96f71867998b5965150b5366d311 100644 (file)
@@ -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);
index 62e6100876e285f6ba2a8b776b1202ce07ce5b4e..dac30837eaf560eb1dabb90238854e281f1f2bcf 100644 (file)
@@ -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);
index e68f7ba51910619670577cfd5a79784e96d45c22..664215892512de655634ab4b35d1eefa06d895f6 100644 (file)
@@ -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;
 
index 39f9108f1b188ec1abf524c42a7db71386cc11f9..d976c54c2c018fd8959df185e0262f2136fca0ae 100644 (file)
@@ -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 */
index 3c7389d326f1257bfd29f98e9dc88d46b276ce80..c4458a8a18d00967d3c06efd119e802258e71de7 100644 (file)
@@ -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  '
index 98c0cdf076f54ae03491c9656376cceeea08ec1b..57090c15af9aef5943620813f3920a5b1eaa14dd 100644 (file)
@@ -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
index 31b69fdca9f00633161a3327f21865db912fd3bb..2148303a2b899fbf76fe9a9667b7448f96c0bd91 100644 (file)
@@ -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
index fb3d0e3ad496730f335eb6a7a58b48de48e13d9b..ca5efcfd82f482a466cad6a3deed3aa7997ece57 100644 (file)
@@ -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)
index 0d0c625a4eef1c336c820584c654273b6aa2d853..2ea40cda9a152f18fbb797dba6526a20448ce525 100644 (file)
--- 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;
 }
index 66b564ed06635596b85d939119949b26caba2f2e..91d5992d0d68788ec0f061739c07612ff9dea111 100644 (file)
--- 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;
index 1acddfe4fcf2bc92284885e3e2a45af5c377cb7f..b90f95b1c922c3d8bbf562cf09a0d3134941254f 100644 (file)
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>v110</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='TestRelease|Win32'" Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>v110</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>Unicode</CharacterSet>
+    <PlatformToolset>v110</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>Unicode</CharacterSet>
+    <PlatformToolset>v110</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
index a8e4b754f5fc420e4ba4481330d2d106493bf0a6..e9e59d8440979ab6a2af11e0a6b6a4bc526c8f44 100644 (file)
@@ -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
 {
index ad895270fd76742b34067d4ebfeaffe54dcc13d8..88c3fe7d98c514402b630a938d642934ff8b35aa 100644 (file)
@@ -4,8 +4,11 @@
 #include "memory.h"
 
 #include "fsdb.h"
+#include "zfile.h"
 #include "win32.h"
+
 #include <windows.h>
+#include <sys/timeb.h>
 
 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;
+}
+
+
index 7e8cb44b12a499414a4141fa224c0f0db2342ac7..9bc77b76a776b1c463b287a83a8b7af0b0308ea0 100644 (file)
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>v110</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='TestRelease|Win32'" Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>v110</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>Unicode</CharacterSet>
+    <PlatformToolset>v110</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>Unicode</CharacterSet>
+    <PlatformToolset>v110</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
index 88ee243fcabefc6f546989494049a7871f8c06e7..263c93e7e83bb8c6f250ee78d5e07581032ba2e4 100644 (file)
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>Unicode</CharacterSet>
+    <PlatformToolset>v110</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='TestRelease|Win32'" Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>v110</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>Unicode</CharacterSet>
+    <PlatformToolset>v110</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <UseOfAtl>false</UseOfAtl>
     <CharacterSet>Unicode</CharacterSet>
+    <PlatformToolset>v110</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
index 6ab2c53c6543e8a832ec4b31b46a8aab8be5b4b8..c886114f790b0925d178eae2dee7120be5b84511 100644 (file)
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>Unicode</CharacterSet>
+    <PlatformToolset>v110</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='TestRelease|Win32'" Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>v110</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>Unicode</CharacterSet>
+    <PlatformToolset>v110</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>Unicode</CharacterSet>
+    <PlatformToolset>v110</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
index b07c1ec64a586362c58bbf05524a54b3e407cf6a..349de0d6e02331e87f58ee6c68af059177c913d7 100644 (file)
     <ConfigurationType>Application</ConfigurationType>
     <CharacterSet>Unicode</CharacterSet>
     <WholeProgramOptimization>true</WholeProgramOptimization>
+    <PlatformToolset>v110</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <CharacterSet>Unicode</CharacterSet>
     <WholeProgramOptimization>true</WholeProgramOptimization>
+    <PlatformToolset>v110</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <CharacterSet>Unicode</CharacterSet>
+    <PlatformToolset>v110</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
index 9887e0e5cfddef4024ffaac7c293705623b0b07f..651e9b685c8e53d28d63415a42b9373449a37a36 100644 (file)
@@ -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) {
index 9b90fef7342f5efd2c31f98ee1494da93a1e5d34..6b8895265bfe8171fb15b7cf344d38de425b8259 100644 (file)
@@ -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) {
index ab07c50d231dd8bfb789d50d0994548b0b6ad5dd..9a7dac872b453f5c154a4902057f6092004622f3 100644 (file)
     <ConfigurationType>StaticLibrary</ConfigurationType>
     <CharacterSet>Unicode</CharacterSet>
     <WholeProgramOptimization>false</WholeProgramOptimization>
+    <PlatformToolset>v110</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
     <ConfigurationType>StaticLibrary</ConfigurationType>
     <CharacterSet>Unicode</CharacterSet>
+    <PlatformToolset>v110</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
     <ConfigurationType>StaticLibrary</ConfigurationType>
     <CharacterSet>Unicode</CharacterSet>
     <WholeProgramOptimization>true</WholeProgramOptimization>
+    <PlatformToolset>v110</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
     <ConfigurationType>StaticLibrary</ConfigurationType>
     <CharacterSet>Unicode</CharacterSet>
+    <PlatformToolset>v110</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
index d2f3b30aecea387a766b27e61279a253c90b191b..ddfe29bedd9757ab610282303ef698d450b74696 100644 (file)
@@ -7,7 +7,7 @@
 //\r
 // Generated from the TEXTINCLUDE 2 resource.\r
 //\r
-#include "afxres.h"\r\r
+#include "winres.h"\r\r
 /////////////////////////////////////////////////////////////////////////////\r
 #undef APSTUDIO_READONLY_SYMBOLS\r
 \r
@@ -1111,8 +1111,8 @@ END
 //\r
 \r
 VS_VERSION_INFO VERSIONINFO\r
- FILEVERSION 2,5,0,0\r
- PRODUCTVERSION 2,5,0,0\r
+ FILEVERSION 2,5,1,0\r
+ PRODUCTVERSION 2,5,1,0\r
  FILEFLAGSMASK 0x3fL\r
 #ifdef _DEBUG\r
  FILEFLAGS 0x1L\r
@@ -1128,12 +1128,12 @@ BEGIN
         BLOCK "040904b0"\r
         BEGIN\r
             VALUE "FileDescription", "WinUAE"\r
-            VALUE "FileVersion", "2.5.0.0"\r
+            VALUE "FileVersion", "2.5.1.0"\r
             VALUE "InternalName", "WinUAE"\r
             VALUE "LegalCopyright", "© 1996-2012 under the GNU Public License (GPL)"\r
             VALUE "OriginalFilename", "WinUAE.exe"\r
             VALUE "ProductName", "WinUAE"\r
-            VALUE "ProductVersion", "2.5.0.0"\r
+            VALUE "ProductVersion", "2.5.1.0"\r
         END\r
     END\r
     BLOCK "VarFileInfo"\r
index f617481d98fab0aacb6c96eb39b7b234cbc8e15e..a122fbf4ef16429ae9bbc8ca68cf835efdd7a7b3 100644 (file)
@@ -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   "<Custom event>"
-    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 
index 0e1931d24dc89b762c0cd2c53f22464385708964..185c125883845701dc211c6fdeb64d38541a5f89 100644 (file)
@@ -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
index c06a843af14c1255dce4d8e1113713424adb1edf..e58ae48bc51fa214c9aae59d77f9918afae7fd33 100644 (file)
     <ConfigurationType>Application</ConfigurationType>
     <CharacterSet>Unicode</CharacterSet>
     <WholeProgramOptimization>true</WholeProgramOptimization>
+    <PlatformToolset>v110</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <CharacterSet>Unicode</CharacterSet>
+    <PlatformToolset>v110</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
index 548d699eae447bc66303d7283a23fccffe394918..501a452d61de53be3ca1cacc5811f0778105768b 100644 (file)
     <ConfigurationType>StaticLibrary</ConfigurationType>
     <UseDebugLibraries>true</UseDebugLibraries>
     <CharacterSet>Unicode</CharacterSet>
+    <PlatformToolset>v110</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
     <ConfigurationType>StaticLibrary</ConfigurationType>
     <UseDebugLibraries>true</UseDebugLibraries>
     <CharacterSet>Unicode</CharacterSet>
+    <PlatformToolset>v110</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
     <ConfigurationType>StaticLibrary</ConfigurationType>
     <UseDebugLibraries>false</UseDebugLibraries>
     <WholeProgramOptimization>false</WholeProgramOptimization>
     <CharacterSet>Unicode</CharacterSet>
+    <PlatformToolset>v110</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
     <ConfigurationType>StaticLibrary</ConfigurationType>
     <UseDebugLibraries>false</UseDebugLibraries>
     <WholeProgramOptimization>true</WholeProgramOptimization>
     <CharacterSet>Unicode</CharacterSet>
+    <PlatformToolset>v110</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
index 1df47baf0093ab132d99f2ab60474384590de77d..52ca34468b609117d66570b81784a7bf4d7d0be8 100644 (file)
@@ -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) {
index b331fc1e4f88d0f2c7159222ac3362bd9cd4367a..8ab6b6b2b2752f4a8892ae1a23099aebbbf4d23f 100644 (file)
 #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);
index 5ede1b01ee93d3d26e5502b33f03e39965bc7143..c126dba8c0f76328f6a9aa68e584677816909b30 100644 (file)
@@ -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;
index 654012ad9032dc5ffe216a72d859e7dddc77418a..4640cd173d28fe154beac7e6abaf188728464792 100644 (file)
@@ -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);
index 3eb224744ade3b770bff5f4744b1f837cb674845..981a2053de6b92bb32b68caa1b58e3a21da68cba 100644 (file)
@@ -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;
index 9594e4e2a6df0900220bcd5c8a78eaf5eea8bcff..7b469c1d1e7bc82d4259e919fe665f4312221326 100644 (file)
@@ -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)
index 6c33be6f5ee1539f421020931356f179d7847784..d54f5bc57406068138938428e20a27c2d2b78689 100644 (file)
@@ -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
index eafbbf71f2ebc22b1b1699034193b4fcfcf5b2b2..90ba4deab5498ab4300396a6b9375154e47cdb35 100644 (file)
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>Unicode</CharacterSet>
     <WholeProgramOptimization>true</WholeProgramOptimization>
-    <PlatformToolset>v110</PlatformToolset>
+    <PlatformToolset>v110_xp</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>false</UseOfMfc>
     <CharacterSet>Unicode</CharacterSet>
-    <PlatformToolset>v110</PlatformToolset>
+    <PlatformToolset>v110_xp</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <IncludePath Condition="'$(Configuration)|$(Platform)'=='FullRelease|Win32'">C:\Program Files %28x86%29\Microsoft DirectX SDK %28June 2010%29\Include;C:\dev\include;$(IncludePath)</IncludePath>
     <ReferencePath Condition="'$(Configuration)|$(Platform)'=='FullRelease|Win32'">$(ReferencePath)</ReferencePath>
     <LibraryPath Condition="'$(Configuration)|$(Platform)'=='FullRelease|Win32'">C:\Program Files %28x86%29\Microsoft DirectX SDK %28June 2010%29\Lib\x86;C:\dev\lib;$(LibraryPath)</LibraryPath>
+    <EmbedManifest Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</EmbedManifest>
+    <EmbedManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</EmbedManifest>
+    <EmbedManifest Condition="'$(Configuration)|$(Platform)'=='FullRelease|Win32'">true</EmbedManifest>
+    <IncludePath Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">C:\dev\include;C:\Program Files %28x86%29\Microsoft DirectX SDK %28June 2010%29\Include;$(IncludePath)</IncludePath>
+    <LibraryPath Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">C:\dev\lib\x64;C:\Program Files %28x86%29\Microsoft DirectX SDK %28June 2010%29\Lib\x64;$(LibraryPath)</LibraryPath>
+    <IncludePath Condition="'$(Configuration)|$(Platform)'=='Release|x64'">C:\Program Files %28x86%29\Microsoft DirectX SDK %28June 2010%29\Include;C:\dev\include;$(IncludePath)</IncludePath>
+    <LibraryPath Condition="'$(Configuration)|$(Platform)'=='Release|x64'">C:\Program Files %28x86%29\Microsoft DirectX SDK %28June 2010%29\Lib\x64;C:\dev\lib\x64;$(LibraryPath)</LibraryPath>
+    <IncludePath Condition="'$(Configuration)|$(Platform)'=='FullRelease|x64'">C:\Program Files %28x86%29\Microsoft DirectX SDK %28June 2010%29\Include;C:\dev\include;$(IncludePath)</IncludePath>
+    <LibraryPath Condition="'$(Configuration)|$(Platform)'=='FullRelease|x64'">C:\Program Files %28x86%29\Microsoft DirectX SDK %28June 2010%29\Lib\x64;C:\dev\lib\x64;$(LibraryPath)</LibraryPath>
   </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <Midl>
       <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories);$(SolutionDir)\..\lib\</AdditionalLibraryDirectories>
       <IgnoreAllDefaultLibraries>
       </IgnoreAllDefaultLibraries>
+      <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
     </Link>
     <Manifest>
-      <AdditionalManifestFiles>..\resources\winuae.exe.manifest;%(AdditionalManifestFiles)</AdditionalManifestFiles>
+      <AdditionalManifestFiles>../resources/winuae.exe.manifest</AdditionalManifestFiles>
+      <EnableDPIAwareness>true</EnableDPIAwareness>
     </Manifest>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
       <PreprocessorDefinitions>WINVER=0x0500;_DEBUG;WIN32_IE=0x0700;WIN32;WIN64;_CRT_SECURE_NO_WARNINGS;D3D_DEBUG_INFO;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <ExceptionHandling>Sync</ExceptionHandling>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
       <BufferSecurityCheck>true</BufferSecurityCheck>
-      <RuntimeTypeInfo>true</RuntimeTypeInfo>
+      <RuntimeTypeInfo>false</RuntimeTypeInfo>
       <PrecompiledHeaderOutputFile>$(Platform)\$(Configuration)\winuae_msvc.pch</PrecompiledHeaderOutputFile>
       <AssemblerListingLocation>$(Platform)\$(Configuration)\</AssemblerListingLocation>
       <ObjectFileName>$(Platform)\$(Configuration)\</ObjectFileName>
       <CompileAs>Default</CompileAs>
       <DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
       <EnablePREfast>false</EnablePREfast>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
     </ClCompile>
     <ResourceCompile>
       <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <AdditionalDependencies>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)</AdditionalDependencies>
       <OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
-      <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
+      <IgnoreSpecificDefaultLibraries>LIBCMT;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
       <DelayLoadDLLs>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)</DelayLoadDLLs>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>$(Platform)\$(Configuration)\winuae.pdb</ProgramDatabaseFile>
       </IgnoreAllDefaultLibraries>
     </Link>
     <Manifest>
-      <AdditionalManifestFiles>..\resources\winuae64.exe.manifest;%(AdditionalManifestFiles)</AdditionalManifestFiles>
+      <AdditionalManifestFiles>..\resources\winuae64.exe.manifest</AdditionalManifestFiles>
+      <EnableDPIAwareness>true</EnableDPIAwareness>
     </Manifest>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
       <FixedBaseAddress>false</FixedBaseAddress>
       <DataExecutionPrevention>true</DataExecutionPrevention>
       <TargetMachine>MachineX86</TargetMachine>
-      <MinimumRequiredVersion>
-      </MinimumRequiredVersion>
-      <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
+      <MinimumRequiredVersion>5.01</MinimumRequiredVersion>
+      <ImageHasSafeExceptionHandlers>
+      </ImageHasSafeExceptionHandlers>
     </Link>
     <Manifest>
-      <AdditionalManifestFiles>..\resources\winuae.exe.manifest;%(AdditionalManifestFiles)</AdditionalManifestFiles>
+      <AdditionalManifestFiles>../resources/winuae.exe.manifest</AdditionalManifestFiles>
+      <EnableDPIAwareness>true</EnableDPIAwareness>
+      <OutputManifestFile>$(IntDir)$(TargetName)$(TargetExt).embed.manifest</OutputManifestFile>
+      <AdditionalOptions>/validate_manifest %(AdditionalOptions)</AdditionalOptions>
     </Manifest>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
       <StringPooling>true</StringPooling>
       <ExceptionHandling>Sync</ExceptionHandling>
       <BasicRuntimeChecks>Default</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <BufferSecurityCheck>false</BufferSecurityCheck>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>
       <OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories);$(SolutionDir)\..\lib\</AdditionalLibraryDirectories>
-      <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
+      <IgnoreSpecificDefaultLibraries>LIBCMT;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
       <DelayLoadDLLs>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)</DelayLoadDLLs>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>$(Platform)\$(Configuration)\winuae.pdb</ProgramDatabaseFile>
       <TargetMachine>MachineX64</TargetMachine>
     </Link>
     <Manifest>
-      <AdditionalManifestFiles>..\resources\winuae64.exe.manifest;%(AdditionalManifestFiles)</AdditionalManifestFiles>
+      <AdditionalManifestFiles>..\resources\winuae64.exe.manifest</AdditionalManifestFiles>
+      <EnableDPIAwareness>true</EnableDPIAwareness>
     </Manifest>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='FullRelease|Win32'">
       <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
     </Link>
     <Manifest>
-      <AdditionalManifestFiles>..\resources\winuae9.exe.manifest;%(AdditionalManifestFiles)</AdditionalManifestFiles>
+      <AdditionalManifestFiles>../resources/winuae.exe.manifest</AdditionalManifestFiles>
+      <EnableDPIAwareness>true</EnableDPIAwareness>
     </Manifest>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='FullRelease|x64'">
       <StringPooling>true</StringPooling>
       <ExceptionHandling>Sync</ExceptionHandling>
       <BasicRuntimeChecks>Default</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <BufferSecurityCheck>false</BufferSecurityCheck>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>
       <OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories);$(SolutionDir)\..\lib\</AdditionalLibraryDirectories>
-      <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
+      <IgnoreSpecificDefaultLibraries>LIBCMT;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
       <DelayLoadDLLs>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)</DelayLoadDLLs>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <ProgramDatabaseFile>$(Platform)\$(Configuration)\winuae.pdb</ProgramDatabaseFile>
     </Link>
     <Manifest>
       <AdditionalManifestFiles>..\resources\winuae64.exe.manifest;%(AdditionalManifestFiles)</AdditionalManifestFiles>
+      <EnableDPIAwareness>true</EnableDPIAwareness>
     </Manifest>
   </ItemDefinitionGroup>
   <ItemGroup>
     <None Include="..\resources\drive_spin.wav" />
     <None Include="..\resources\drive_spinnd.wav" />
     <None Include="..\resources\drive_startup.wav" />
-    <None Include="..\resources\resource" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\resources\winuae.rc">
       <FileType>Document</FileType>
     </Library>
   </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\resources\resource.h" />
+  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
index 3418b03e53a51d72e022b7c060cd26e8498c0706..1f38e8d0c70a6c4fe85af9be14ac8c1ad02d386e 100644 (file)
     <None Include="..\resources\drive_spin.wav" />
     <None Include="..\resources\drive_spinnd.wav" />
     <None Include="..\resources\drive_startup.wav" />
-    <None Include="..\resources\resource" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\resources\winuae.rc">
     <Library Include="..\hq4x16.obj" />
     <Library Include="..\hq4x32.obj" />
   </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\resources\resource.h" />
+  </ItemGroup>
 </Project>
\ No newline at end of file
index d0b7c7a2628da8d6350de483c2824c0ab87790c0..a189a0bc08ef4a1123a6304a94cedfd7af9258ac 100644 (file)
@@ -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)
index cae1a3ae35481dd46f753a497f5cde9903dcf35e..e532ad96ac483ca80264405c6db975e7ae70c794 100644 (file)
--- 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;
 }
 
index 4ec91cfa6b3e621e033afc6d9c436b3045635646..738c120334759b339cf6fec04742ac8ac76df943 100644 (file)
@@ -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;