]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
2500b14
authorToni Wilen <twilen@winuae.net>
Thu, 30 Aug 2012 15:18:26 +0000 (18:18 +0300)
committerToni Wilen <twilen@winuae.net>
Thu, 30 Aug 2012 15:18:26 +0000 (18:18 +0300)
12 files changed:
cfgfile.cpp
custom.cpp
drawing.cpp
include/drawing.h
memory.cpp
od-win32/direct3d.cpp
od-win32/resources/winuae.rc
od-win32/win32.h
od-win32/win32_scaler.cpp
od-win32/win32gui.cpp
od-win32/win32gui_extra.cpp
od-win32/winuaechangelog.txt

index 3f1a87c780dda88a079453028ad3d14ed00dc814..358244441f83bb172a177e0968f0cb2f6edd23f2 100644 (file)
@@ -4257,7 +4257,7 @@ void default_prefs (struct uae_prefs *p, int type)
        p->gfx_filter_scanlineratio = (1 << 4) | 1;
        p->gfx_filter_keep_aspect = 0;
        p->gfx_filter_autoscale = AUTOSCALE_STATIC_AUTO;
-       p->gfx_filter_keep_autoscale_aspect = 0;
+       p->gfx_filter_keep_autoscale_aspect = true;
        p->gfx_filteroverlay_overscan = 0;
 
        _tcscpy (p->floppyslots[0].df, _T("df0.adf"));
index 8388f6139582c01af8e5a982e1c5721cdcc5497d..12b0c116acf88c1e0b773d33534b4c1506424a32 100644 (file)
@@ -250,7 +250,6 @@ static bool bpl1dat_written, bpl1dat_early, bpl1dat_written_at_least_once;
 static uae_s16 bpl1mod, bpl2mod;
 static uaecptr prevbpl[2][MAXVPOS][8];
 static uaecptr bplpt[8], bplptx[8];
-static bool brdblank_prevframe[MAXVPOS * 2 + 2];
 
 /*static int blitcount[256];  blitter debug */
 
@@ -474,7 +473,8 @@ void alloc_cycle_blitter (int hpos, uaecptr *ptr)
                        write_log (_T("buggy copper cycle conflict with blitter %08x <- %08x\n"), *ptr, srcptr);
                        warned--;
                }
-               // not yet. *ptr = srcptr;
+               if (currprefs.cpu_model == 68000)
+                       *ptr = srcptr;
        }
        alloc_cycle (hpos, CYCLE_BLITTER);
 }
@@ -491,7 +491,7 @@ static void hsyncdelay (void)
 
 static void update_mirrors (void)
 {
-       aga_mode = (currprefs.chipset_mask & CSMASK_AGA) ? 1 : 0;
+       aga_mode = (currprefs.chipset_mask & CSMASK_AGA) != 0;
        direct_rgb = aga_mode;
 }
 
@@ -876,7 +876,8 @@ static void record_color_change2 (int hpos, int regno, unsigned long value)
                pos++; // BPLCON4 change needs 1 lores pixel delay
        curr_color_changes[next_color_change].linepos = pos;
        curr_color_changes[next_color_change].regno = regno;
-       curr_color_changes[next_color_change++].value = value;
+       curr_color_changes[next_color_change].value = value;
+       next_color_change++;
        curr_color_changes[next_color_change].regno = -1;
 }
 
@@ -892,15 +893,6 @@ static bool isehb (uae_u16 bplcon0, uae_u16 bplcon2)
        return bplehb;
 }
 
-static bool isbrdblank (uae_u16 bplcon0, uae_u16 bplcon3)
-{
-#ifdef ECS_DENISE
-       return (currprefs.chipset_mask & CSMASK_ECS_DENISE) && (bplcon0 & 1) && (bplcon3 & 0x20);
-#else
-       return false;
-#endif
-}
-
 // OCS/ECS, lores, 7 planes = 4 "real" planes + BPL5DAT and BPL6DAT as static 5th and 6th plane
 STATIC_INLINE int isocs7planes (void)
 {
@@ -2052,17 +2044,33 @@ static void record_color_change (int hpos, int regno, unsigned long value)
        record_color_change2 (hpos, regno, value);
 }
 
+static bool isbrdblank (int hpos, uae_u16 bplcon0, uae_u16 bplcon3)
+{
+       bool brdblank;
+#ifdef ECS_DENISE
+       brdblank = (currprefs.chipset_mask & CSMASK_ECS_DENISE) && (bplcon0 & 1) && (bplcon3 & 0x20);
+#else
+       brdblank = false;
+#endif
+       if (hpos >= 0 && current_colors.borderblank != brdblank) {
+               record_color_change (hpos, 0, COLOR_CHANGE_BRDBLANK | (brdblank ? 1 : 0));
+               current_colors.borderblank = brdblank;
+               remembered_color_entry = -1;
+       }
+       return brdblank;
+}
+
 static void record_register_change (int hpos, int regno, uae_u16 value)
 {
        if (regno == 0x100) { // BPLCON0
                if (value & 0x800)
                        thisline_decision.ham_seen = 1;
                thisline_decision.ehb_seen = isehb (value, bplcon2);
-               thisline_decision.brdblank_seen = isbrdblank (value, bplcon3);
+               isbrdblank (hpos, value, bplcon3);
        } else if (regno == 0x104) { // BPLCON2
                thisline_decision.ehb_seen = isehb (bplcon0, value);
        } else if (regno == 0x106) { // BPLCON3
-               thisline_decision.brdblank_seen = isbrdblank (bplcon0, value);
+               isbrdblank (hpos, bplcon0, value);
        }
        record_color_change (hpos, regno + 0x1000, value);
 }
@@ -2664,13 +2672,6 @@ static void finish_decisions (void)
                changed = 1;
        }
 
-       /* if last frame's brdblank was different = mark line changed */
-       if (brdblank_prevframe[vpos] != thisline_decision.brdblank_seen) {
-               changed = 1;
-               brdblank_prevframe[vpos] = thisline_decision.brdblank_seen;
-               //write_log (_T("%d.%d "), vpos, thisline_decision.brdblank_seen);
-       }
-
        if (changed) {
                thisline_changed = 1;
                *dp = thisline_decision;
@@ -2716,7 +2717,6 @@ static void reset_decisions (void)
        thisline_decision.plflinelen = -1;
        thisline_decision.ham_seen = !! (bplcon0 & 0x800);
        thisline_decision.ehb_seen = !! isehb (bplcon0, bplcon2);
-       thisline_decision.brdblank_seen = !! isbrdblank (bplcon0, bplcon3);
        thisline_decision.ham_at_start = !! (bplcon0 & 0x800);
 
        /* decided_res shouldn't be touched before it's initialized by decide_line(). */
@@ -4425,7 +4425,7 @@ static void checkautoscalecol0 (void)
                return;
        if (vpos < 20)
                return;
-       if (isbrdblank (bplcon0, bplcon3))
+       if (isbrdblank (-1, bplcon0, bplcon3))
                return;
        // autoscale if copper changes COLOR00 on top or bottom of screen
        if (vpos >= minfirstline) {
@@ -4490,6 +4490,7 @@ static void COLOR_WRITE (int hpos, uae_u16 v, int num)
                remembered_color_entry = -1;
                current_colors.color_regs_aga[colreg] = cval;
                current_colors.acolors[colreg] = getxcolor (cval);
+
        } else {
 #endif
                if (num && v == 0)
@@ -7450,6 +7451,7 @@ uae_u8 *restore_custom (uae_u8 *src)
        fmode = RW;                             /* 1FC FMODE */
        last_custom_value1 = RW;/* 1FE ? */
 
+       current_colors.borderblank = isbrdblank (-1, bplcon0, bplcon3);
        DISK_restore_custom (dskpt, dsklen, dskbytr);
 
        return src;
index dce3af60541056fd2f91556b12e4cad058a3abed..c06eaf134c74dfaefdee4e1d377ad54f2f84c6a7 100644 (file)
@@ -780,7 +780,7 @@ STATIC_INLINE xcolnr getbgc (bool blank)
        //return colors_for_drawing.acolors[0];
        return xcolors[0xf0f];
 #endif
-       return (blank || brdblank || hposblank) ? 0 : colors_for_drawing.acolors[0];
+       return (blank || hposblank || colors_for_drawing.borderblank) ? 0 : colors_for_drawing.acolors[0];
 }
 
 STATIC_INLINE void fill_line_16 (uae_u8 *buf, int start, int stop, bool blank)
@@ -1941,15 +1941,6 @@ STATIC_INLINE void do_flush_screen (struct vidbuffer *vb, int start, int stop)
                flush_screen (vb, 0, 0); /* vsync mode */
 }
 
-STATIC_INLINE void getbrdblank (void)
-{
-#ifdef ECS_DENISE
-       brdblank = dp_for_drawing->brdblank_seen;
-#else
-       brdblank = false;
-#endif
-}
-
 /* We only save hardware registers during the hardware frame. Now, when
 * drawing the frame, we expand the data into a slightly more useful
 * form. */
@@ -1966,7 +1957,6 @@ static void pfield_expand_dp_bplcon (void)
        issprites = dip_for_drawing->nr_sprites;
 #ifdef ECS_DENISE
        ecsshres = bplres == RES_SUPERHIRES && (currprefs.chipset_mask & CSMASK_ECS_DENISE) && !(currprefs.chipset_mask & CSMASK_AGA);
-       getbrdblank ();
 #endif
 
        plf1pri = dp_for_drawing->bplcon2 & 7;
@@ -2051,6 +2041,7 @@ static void adjust_drawing_colors (int ctable, int need_full)
                } else {
                        memcpy (colors_for_drawing.acolors, curr_color_tables[ctable].acolors,
                                sizeof colors_for_drawing.acolors);
+                       colors_for_drawing.borderblank = curr_color_tables[ctable].borderblank;
                        color_match_type = color_match_acolors;
                }
                drawing_color_matches = ctable;
@@ -2108,8 +2099,12 @@ static void do_color_changes (line_draw_func worker_border, line_draw_func worke
                if (regno >= 0x1000) {
                        pfield_expand_dp_bplconx (regno, value);
                } else if (regno >= 0) {
-                       color_reg_set (&colors_for_drawing, regno, value);
-                       colors_for_drawing.acolors[regno] = getxcolor (value);
+                       if (regno == 0 && (value & COLOR_CHANGE_BRDBLANK)) {
+                               colors_for_drawing.borderblank = (value & 1) != 0;
+                       } else {
+                               color_reg_set (&colors_for_drawing, regno, value);
+                               colors_for_drawing.acolors[regno] = getxcolor (value);
+                       }
                }
                if (lastpos >= endpos)
                        break;
@@ -2188,7 +2183,6 @@ static void pfield_draw_line (struct vidbuffer *vb, int lineno, int gfx_ypos, in
        if (xlinebuffer == 0)
                xlinebuffer = row_map[gfx_ypos], dh = dh_buf;
        xlinebuffer -= linetoscr_x_adjust_bytes;
-       getbrdblank ();
 
        if (border == 0) {
 
@@ -2256,7 +2250,7 @@ static void pfield_draw_line (struct vidbuffer *vb, int lineno, int gfx_ypos, in
                        dosprites = 1;
                        pfield_expand_dp_bplcon ();
                        pfield_init_linetoscr ();
-                       memset (pixdata.apixels + MAX_PIXELS_PER_LINE, brdblank ? 0 : colors_for_drawing.acolors[0], MAX_PIXELS_PER_LINE);
+                       memset (pixdata.apixels + MAX_PIXELS_PER_LINE, colors_for_drawing.borderblank ? 0 : colors_for_drawing.acolors[0], MAX_PIXELS_PER_LINE);
                }
 #endif
 
@@ -2311,7 +2305,8 @@ static void pfield_draw_line (struct vidbuffer *vb, int lineno, int gfx_ypos, in
        } else {
 
                int tmp = hposblank;
-               hposblank = brdblank;
+               //hposblank = brdblank;
+               hposblank = colors_for_drawing.borderblank;
                fill_line ();
                do_flush_line (vb, gfx_ypos);
                hposblank = tmp;
index fa7c4ef7653b62621117e40c4944c02d70768215..8dcfc3577c2197ef393d6108515aa7b6258ef5d8 100644 (file)
@@ -84,6 +84,7 @@ struct color_entry {
        xcolnr acolors[256];
        uae_u32 color_regs_aga[256];
 #endif
+       bool borderblank;
 };
 
 #ifdef AGA
@@ -131,16 +132,21 @@ STATIC_INLINE void color_reg_set (struct color_entry *ce, int c, int v)
 }
 STATIC_INLINE int color_reg_cmp (struct color_entry *ce1, struct color_entry *ce2)
 {
+       int v;
 #ifdef AGA
        if (aga_mode)
-               return memcmp (ce1->color_regs_aga, ce2->color_regs_aga, sizeof (uae_u32) * 256);
+               v = memcmp (ce1->color_regs_aga, ce2->color_regs_aga, sizeof (uae_u32) * 256);
        else
 #endif
-               return memcmp (ce1->color_regs_ecs, ce2->color_regs_ecs, sizeof (uae_u16) * 32);
+               v = memcmp (ce1->color_regs_ecs, ce2->color_regs_ecs, sizeof (uae_u16) * 32);
+       if (!v && ce1->borderblank == ce2->borderblank)
+               return 0;
+       return 1;
 }
 /* ugly copy hack, is there better solution? */
 STATIC_INLINE void color_reg_cpy (struct color_entry *dst, struct color_entry *src)
 {
+       dst->borderblank = src->borderblank;
 #ifdef AGA
        if (aga_mode)
                /* copy acolors and color_regs_aga */
@@ -148,8 +154,7 @@ STATIC_INLINE void color_reg_cpy (struct color_entry *dst, struct color_entry *s
        else
 #endif
                /* copy first 32 acolors and color_regs_ecs */
-               memcpy (dst->color_regs_ecs, src->color_regs_ecs,
-               sizeof(struct color_entry));
+               memcpy (dst->color_regs_ecs, src->color_regs_ecs, sizeof(struct color_entry));
 }
 
 /*
@@ -161,6 +166,7 @@ STATIC_INLINE void color_reg_cpy (struct color_entry *dst, struct color_entry *s
 * but a list of structures containing information on how to draw the line.
 */
 
+#define COLOR_CHANGE_BRDBLANK 0x80000000
 struct color_change {
        int linepos;
        int regno;
@@ -224,7 +230,6 @@ struct decision {
        uae_u8 nr_planes;
        uae_u8 bplres;
        bool ehb_seen;
-       bool brdblank_seen;
        bool ham_seen;
        bool ham_at_start;
 };
index 7a8882f2cc39be8495f742849675ba4d71cc1993..722a4ebdeccd300c93363d6663389274fd090944 100644 (file)
@@ -2497,7 +2497,7 @@ void memory_reset (void)
                                if (rd->cloanto)
                                        cloanto_rom = 1;
                                kickstart_rom = 0;
-                               if ((rd->type & ROMTYPE_SPECIALKICK | ROMTYPE_KICK) == ROMTYPE_KICK)
+                               if ((rd->type & (ROMTYPE_SPECIALKICK | ROMTYPE_KICK)) == ROMTYPE_KICK)
                                        kickstart_rom = 1;
                                if ((rd->cpu & 4) && currprefs.cs_compatible) {
                                        /* A4000 ROM = need ramsey, gary and ide */
@@ -2516,8 +2516,11 @@ void memory_reset (void)
                protect_roms (true);
        }
 
-       if ((cloanto_rom || extendedkickmem_size) && currprefs.maprom && currprefs.maprom < 0x01000000)
+       if ((cloanto_rom || extendedkickmem_size) && currprefs.maprom && currprefs.maprom < 0x01000000) {
                currprefs.maprom = changed_prefs.maprom = 0x00a80000;
+               if (extendedkickmem2_size) // can't do if 2M ROM
+                       currprefs.maprom = changed_prefs.maprom = 0;
+       }
 
        map_banks (&custom_bank, 0xC0, 0xE0 - 0xC0, 0);
        map_banks (&cia_bank, 0xA0, 32, 0);
index ed91ce7ae63b1f070125a2a1f7cbe86a01dc3fa0..bd23aaf3e7c6cd97dba5e31cbafe62f119c1497d 100644 (file)
@@ -17,6 +17,7 @@
 #define EFFECT_VERSION 3
 #define D3DX9DLL _T("d3dx9_43.dll")
 #define TWOPASS 1
+#define SHADER 1
 
 #include "options.h"
 #include "xwin.h"
@@ -497,6 +498,9 @@ int D3D_goodenough (void)
                }
                d3dx->Release ();
        }
+#if SHADER == 0
+       shaderon = 0;
+#endif
        return d3d_good > 0 ? d3d_good : 0;
 }
 
index ee25b8c9393f0d53a95209ababe963fde65644fa..fb02011c83e209319ec7f62e028b3630497b7b97 100644 (file)
@@ -115,15 +115,35 @@ STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD
 FONT 8, "MS Sans Serif", 0, 0, 0x1\r
 BEGIN\r
     GROUPBOX        "Screen",IDC_SCREENRESTEXT,1,0,393,77,BS_LEFT\r
-    COMBOBOX        IDC_DISPLAYSELECT,10,10,375,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
-    COMBOBOX        IDC_RESOLUTION,59,30,76,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
-    COMBOBOX        IDC_REFRESHRATE,266,30,119,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
-    EDITTEXT        IDC_XSIZE,59,53,56,12,ES_NUMBER\r
-    EDITTEXT        IDC_YSIZE,122,53,56,12,ES_NUMBER\r
+    COMBOBOX        IDC_DISPLAYSELECT,10,13,375,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
+    RTEXT           "Fullscreen:",IDC_STATIC,3,33,51,15,SS_CENTERIMAGE\r
+    COMBOBOX        IDC_RESOLUTION,59,33,76,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
+    COMBOBOX        IDC_RESOLUTIONDEPTH,144,33,62,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
+    RTEXT           "Windowed:",IDC_STATIC,2,54,51,15,SS_CENTERIMAGE\r
+    EDITTEXT        IDC_XSIZE,59,56,56,12,ES_NUMBER\r
+    EDITTEXT        IDC_YSIZE,122,56,56,12,ES_NUMBER\r
+    COMBOBOX        IDC_REFRESHRATE,266,33,119,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
+    COMBOBOX        IDC_DISPLAY_BUFFERCNT,266,56,119,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
     GROUPBOX        "Settings",IDC_SETTINGSTEXT,1,86,283,144\r
+    RTEXT           "Native:",IDC_STATIC,9,98,56,15,SS_CENTERIMAGE\r
+    COMBOBOX        IDC_SCREENMODE_NATIVE,69,98,63,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
+    COMBOBOX        IDC_SCREENMODE_NATIVE2,142,98,127,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
+    RTEXT           "RTG:",IDC_STATIC,8,115,57,15,SS_CENTERIMAGE\r
+    COMBOBOX        IDC_SCREENMODE_RTG,69,118,63,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
+    COMBOBOX        IDC_SCREENMODE_RTG2,142,118,127,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
     CONTROL         "Blacker than black",IDC_BLACKER_THAN_BLACK,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_TABSTOP,11,140,142,10\r
+    CONTROL         "Remove interlace artifacts",IDC_FLICKERFIXER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,154,142,10\r
+    CONTROL         "Filtered low resolution",IDC_LORES_SMOOTHED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,159,140,116,10\r
+    CONTROL         "Resolution autoswitch",IDC_AUTORESOLUTION,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,159,154,116,10\r
+    RTEXT           "Resolution:",IDC_STATIC,27,170,110,10,SS_CENTERIMAGE\r
+    COMBOBOX        IDC_LORES,142,169,127,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
     RTEXT           "Refresh:",IDC_REFRESHTEXT,11,190,57,8\r
     CONTROL         "Slider1",IDC_FRAMERATE,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,71,185,99,20\r
+    COMBOBOX        IDC_RATE2BOX,181,190,60,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
+    RTEXT           "FPS adj.:",IDC_REFRESH2TEXT,9,211,61,8\r
+    CONTROL         "",IDC_FRAMERATE2,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,71,206,99,20\r
+    EDITTEXT        IDC_RATE2TEXT,181,210,46,12,ES_AUTOHSCROLL\r
+    CONTROL         "",IDC_RATE2ENABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,232,211,8,10\r
     GROUPBOX        "Centering",IDC_STATIC,289,86,105,49\r
     CONTROL         "Horizontal",IDC_XCENTER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,300,100,90,10\r
     CONTROL         "Vertical",IDC_YCENTER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,300,116,90,10\r
@@ -133,28 +153,8 @@ BEGIN
     CONTROL         "Scanlines",IDC_LM_SCANLINES,"Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_TABSTOP,299,193,90,10\r
     COMBOBOX        IDC_DA_MODE,15,245,71,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
     CONTROL         "",IDC_DA_SLIDER,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,96,241,96,20\r
-    RTEXT           "FPS adj.:",IDC_REFRESH2TEXT,9,211,61,8\r
-    CONTROL         "",IDC_FRAMERATE2,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,71,206,99,20\r
-    EDITTEXT        IDC_RATE2TEXT,181,210,46,12,ES_AUTOHSCROLL\r
-    COMBOBOX        IDC_RESOLUTIONDEPTH,144,30,62,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
-    CONTROL         "Filtered low resolution",IDC_LORES_SMOOTHED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,159,140,116,10\r
-    COMBOBOX        IDC_SCREENMODE_NATIVE,69,98,63,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
-    COMBOBOX        IDC_SCREENMODE_RTG,69,118,63,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
-    RTEXT           "Native:",IDC_STATIC,9,98,56,15,SS_CENTERIMAGE\r
-    RTEXT           "RTG:",IDC_STATIC,8,115,57,15,SS_CENTERIMAGE\r
-    PUSHBUTTON      "Reset to defaults",IDC_DA_RESET,289,245,106,14\r
-    RTEXT           "Resolution:",IDC_STATIC,27,170,110,10,SS_CENTERIMAGE\r
-    COMBOBOX        IDC_LORES,142,169,127,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
-    CONTROL         "Remove interlace artifacts",IDC_FLICKERFIXER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,154,142,10\r
-    RTEXT           "Windowed:",IDC_STATIC,2,51,51,15,SS_CENTERIMAGE\r
-    RTEXT           "Fullscreen:",IDC_STATIC,3,30,51,15,SS_CENTERIMAGE\r
-    COMBOBOX        IDC_DISPLAY_BUFFERCNT,266,53,119,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
-    CONTROL         "Resolution autoswitch",IDC_AUTORESOLUTION,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,159,154,116,10\r
     EDITTEXT        IDC_DA_TEXT,205,245,56,12,ES_AUTOHSCROLL | ES_READONLY\r
-    COMBOBOX        IDC_SCREENMODE_NATIVE2,142,98,127,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
-    COMBOBOX        IDC_SCREENMODE_RTG2,142,118,127,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
-    COMBOBOX        IDC_RATE2BOX,181,190,60,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
-    CONTROL         "",IDC_RATE2ENABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,232,211,8,10\r
+    PUSHBUTTON      "Reset to defaults",IDC_DA_RESET,289,245,106,14\r
 END\r
 \r
 IDD_MEMORY DIALOGEX 0, 0, 396, 206\r
@@ -163,14 +163,23 @@ EXSTYLE WS_EX_CONTEXTHELP
 FONT 8, "MS Sans Serif", 0, 0, 0x1\r
 BEGIN\r
     GROUPBOX        "Memory Settings",IDC_STATIC,1,7,393,117\r
+    RTEXT           "Chip:",IDC_STATIC,7,25,60,15,SS_CENTERIMAGE\r
     CONTROL         "Slider1",IDC_CHIPMEM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,68,22,60,20\r
     EDITTEXT        IDC_CHIPRAM,135,25,40,12,ES_CENTER | ES_READONLY\r
-    CONTROL         "Slider1",IDC_SLOWMEM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,248,22,60,20\r
-    EDITTEXT        IDC_SLOWRAM,311,25,40,12,ES_CENTER | ES_READONLY\r
+    RTEXT           "Fast:",IDC_STATIC,8,49,60,15,SS_CENTERIMAGE\r
     CONTROL         "Slider1",IDC_FASTMEM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,68,47,60,20\r
     EDITTEXT        IDC_FASTRAM,135,53,40,12,ES_CENTER | ES_READONLY\r
+    CONTROL         "Autoconfig Fast RAM",IDC_FASTMEMAUTOCONFIG,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,51,76,124,10\r
+    RTEXT           "Slow:",IDC_STATIC,179,25,66,15,SS_CENTERIMAGE\r
+    CONTROL         "Slider1",IDC_SLOWMEM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,248,22,60,20\r
+    EDITTEXT        IDC_SLOWRAM,311,25,40,12,ES_CENTER | ES_READONLY\r
+    RTEXT           "Z3 Fast:",IDC_STATIC,179,49,66,15,SS_CENTERIMAGE\r
     CONTROL         "Slider1",IDC_Z3FASTMEM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,248,47,60,20\r
     EDITTEXT        IDC_Z3FASTRAM,311,50,40,12,ES_CENTER | ES_READONLY\r
+    RTEXT           "32-bit Chip:",IDC_STATIC,180,74,66,15,SS_CENTERIMAGE\r
+    CONTROL         "",IDC_Z3CHIPMEM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,248,71,60,20\r
+    EDITTEXT        IDC_Z3CHIPRAM,311,76,40,12,ES_CENTER | ES_READONLY\r
+    EDITTEXT        IDC_MAX32RAM,14,99,366,12,ES_CENTER | ES_READONLY\r
     GROUPBOX        "A3000/A4000 Advanced Memory Settings",IDC_STATIC,1,131,393,65\r
     RTEXT           "Motherboard Fast:",IDC_STATIC,44,149,129,10,SS_CENTERIMAGE\r
     CONTROL         "",IDC_MBMEM1,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,177,145,60,20\r
@@ -178,15 +187,6 @@ BEGIN
     RTEXT           "Processor Slot Fast:",IDC_STATIC,44,172,129,10,SS_CENTERIMAGE\r
     CONTROL         "",IDC_MBMEM2,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,177,168,60,20\r
     EDITTEXT        IDC_MBRAM2,240,171,40,12,ES_CENTER | ES_READONLY\r
-    RTEXT           "Fast:",IDC_STATIC,8,49,60,15,SS_CENTERIMAGE\r
-    RTEXT           "Chip:",IDC_STATIC,7,25,60,15,SS_CENTERIMAGE\r
-    RTEXT           "Slow:",IDC_STATIC,179,25,66,15,SS_CENTERIMAGE\r
-    RTEXT           "Z3 Fast:",IDC_STATIC,179,49,66,15,SS_CENTERIMAGE\r
-    RTEXT           "32-bit Chip:",IDC_STATIC,180,74,66,15,SS_CENTERIMAGE\r
-    CONTROL         "",IDC_Z3CHIPMEM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,248,71,60,20\r
-    EDITTEXT        IDC_Z3CHIPRAM,311,76,40,12,ES_CENTER | ES_READONLY\r
-    CONTROL         "Autoconfig Fast RAM",IDC_FASTMEMAUTOCONFIG,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,51,76,124,10\r
-    EDITTEXT        IDC_MAX32RAM,14,99,366,12,ES_CENTER | ES_READONLY\r
 END\r
 \r
 IDD_CPU DIALOGEX 0, 0, 396, 288\r
@@ -207,86 +207,86 @@ BEGIN
                     "Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,128,87,11\r
     CONTROL         "68040 MMU [] 68040 MMU emulation. Not compatible with JIT.",IDC_MMUENABLE,\r
                     "Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,142,87,11\r
-    GROUPBOX        "FPU",IDC_STATIC,1,167,99,91,BS_LEFT\r
-    CONTROL         "None",IDC_FPU0,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,8,182,87,10\r
-    CONTROL         "68881",IDC_FPU1,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,8,196,87,10\r
-    CONTROL         "68882",IDC_FPU2,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,8,209,87,10\r
-    CONTROL         "CPU internal",IDC_FPU3,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,8,223,87,10\r
-    CONTROL         "More compatible [] More compatible but slower FPU emulation.",IDC_COMPATIBLE_FPU,\r
-                    "Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,8,242,87,10\r
     GROUPBOX        "CPU Emulation Speed",IDC_STATIC,110,3,284,96\r
     CONTROL         "Fastest possible",IDC_CS_HOST,"Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_GROUP | WS_TABSTOP,115,18,195,10\r
     CONTROL         "Approximate A500/A1200 or cycle-exact",IDC_CS_68000,\r
                     "Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_TABSTOP,115,32,195,10\r
     CONTROL         "Slider1",IDC_SPEED,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,116,51,192,20\r
-    CONTROL         "",IDC_CPUIDLE,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,282,71,69,21\r
+    RTEXT           "CPU Speed",IDC_STATIC,115,76,55,9,SS_CENTERIMAGE\r
+    EDITTEXT        IDC_CPUTEXT,178,75,30,12,ES_CENTER | ES_READONLY\r
     RTEXT           "CPU Idle",IDC_STATIC,213,76,62,9\r
+    CONTROL         "",IDC_CPUIDLE,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,282,71,69,21\r
     GROUPBOX        "Cycle-exact CPU Emulation Speed",IDC_STATIC,110,105,284,55\r
     RTEXT           "CPU Frequency",IDC_STATIC,113,129,67,10,SS_CENTERIMAGE\r
     COMBOBOX        IDC_CPU_FREQUENCY,189,128,46,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
     EDITTEXT        IDC_CPU_FREQUENCY2,242,127,70,15\r
+    GROUPBOX        "FPU",IDC_STATIC,1,167,99,91,BS_LEFT\r
+    CONTROL         "None",IDC_FPU0,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,8,182,87,10\r
+    CONTROL         "68881",IDC_FPU1,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,8,196,87,10\r
+    CONTROL         "68882",IDC_FPU2,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,8,209,87,10\r
+    CONTROL         "CPU internal",IDC_FPU3,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,8,223,87,10\r
+    CONTROL         "More compatible [] More compatible but slower FPU emulation.",IDC_COMPATIBLE_FPU,\r
+                    "Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,8,242,87,10\r
     GROUPBOX        "Advanced JIT Settings",IDC_STATIC,110,167,284,91\r
     RTEXT           "Cache size:",IDC_STATIC,117,187,66,10,SS_CENTERIMAGE\r
     CONTROL         "Slider1",IDC_CACHE,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,186,181,115,20\r
-    EDITTEXT        IDC_CPUTEXT,178,75,30,12,ES_CENTER | ES_READONLY\r
+    EDITTEXT        IDC_CACHETEXT,305,186,30,12,ES_CENTER | ES_READONLY\r
     CONTROL         "Hard flush",IDC_HARDFLUSH,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,120,214,84,11\r
-    CONTROL         "No flags",IDC_NOFLAGS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,217,214,68,11\r
-    CONTROL         "Direct",IDC_TRUST0,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,289,214,72,10\r
     CONTROL         "Constant jump",IDC_CONSTJUMP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,120,228,84,11\r
     CONTROL         "FPU support",IDC_JITFPU,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,120,242,84,11\r
+    CONTROL         "No flags",IDC_NOFLAGS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,217,214,68,11\r
+    CONTROL         "Direct",IDC_TRUST0,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,289,214,72,10\r
     CONTROL         "Indirect",IDC_TRUST1,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,289,228,72,10\r
-    EDITTEXT        IDC_CACHETEXT,305,186,30,12,ES_CENTER | ES_READONLY\r
-    RTEXT           "CPU Speed",IDC_STATIC,115,76,55,9,SS_CENTERIMAGE\r
 END\r
 \r
 IDD_FLOPPY DIALOGEX 0, 0, 396, 261\r
 STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD\r
 FONT 8, "MS Sans Serif", 0, 0, 0x0\r
 BEGIN\r
-    COMBOBOX        IDC_DF0TEXT,6,31,384,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP\r
+    GROUPBOX        "Floppy Drives",IDC_SETTINGSTEXT3,1,0,393,163\r
+    CONTROL         "DF0:",IDC_DF0ENABLE,"Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,7,14,34,15\r
+    PUSHBUTTON      "Delete save image",IDC_SAVEIMAGE0,97,13,78,15,NOT WS_VISIBLE\r
     COMBOBOX        IDC_DF0TYPE,180,14,65,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
     RTEXT           "Write-protected",IDC_STATIC,249,17,74,10,SS_CENTERIMAGE\r
     CONTROL         "",IDC_DF0WP,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,328,13,10,15\r
     PUSHBUTTON      "Eject",IDC_EJECT0,345,12,30,15\r
     PUSHBUTTON      "...",IDC_DF0,379,12,10,15\r
-    COMBOBOX        IDC_DF1TEXT,6,68,383,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP\r
+    COMBOBOX        IDC_DF0TEXT,6,31,384,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP\r
+    CONTROL         "DF1:",IDC_DF1ENABLE,"Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,7,51,34,15\r
+    PUSHBUTTON      "Delete save image",IDC_SAVEIMAGE1,97,49,78,15,NOT WS_VISIBLE\r
     COMBOBOX        IDC_DF1TYPE,180,51,65,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
     RTEXT           "Write-protected",IDC_STATIC,249,53,74,10,SS_CENTERIMAGE\r
     CONTROL         "",IDC_DF1WP,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,328,50,10,15\r
     PUSHBUTTON      "Eject",IDC_EJECT1,345,49,30,15\r
     PUSHBUTTON      "...",IDC_DF1,379,49,10,15\r
-    COMBOBOX        IDC_DF2TEXT,6,104,384,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP\r
+    COMBOBOX        IDC_DF1TEXT,6,68,383,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP\r
+    CONTROL         "DF2:",IDC_DF2ENABLE,"Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,7,87,34,15\r
+    PUSHBUTTON      "Delete save image",IDC_SAVEIMAGE2,97,85,78,15,NOT WS_VISIBLE\r
     COMBOBOX        IDC_DF2TYPE,180,87,65,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
     RTEXT           "Write-protected",IDC_STATIC,250,88,73,10,SS_CENTERIMAGE\r
     CONTROL         "",IDC_DF2WP,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,328,86,9,15\r
     PUSHBUTTON      "Eject",IDC_EJECT2,345,85,30,15\r
     PUSHBUTTON      "...",IDC_DF2,379,85,10,15\r
-    COMBOBOX        IDC_DF3TEXT,6,140,383,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP\r
+    COMBOBOX        IDC_DF2TEXT,6,104,384,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP\r
+    CONTROL         "DF3:",IDC_DF3ENABLE,"Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,7,123,34,15\r
+    PUSHBUTTON      "Delete save image",IDC_SAVEIMAGE3,97,121,78,15,NOT WS_VISIBLE\r
     COMBOBOX        IDC_DF3TYPE,180,123,65,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
     RTEXT           "Write-protected",IDC_STATIC,250,125,73,10,SS_CENTERIMAGE\r
     CONTROL         "",IDC_DF3WP,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,328,123,9,15\r
     PUSHBUTTON      "Eject",IDC_EJECT3,345,121,30,15\r
     PUSHBUTTON      "...",IDC_DF3,379,121,10,15\r
+    COMBOBOX        IDC_DF3TEXT,6,140,383,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP\r
+    GROUPBOX        "Floppy Drive Emulation Speed",IDC_SETTINGSTEXT2,1,170,393,35\r
+    CONTROL         "",IDC_FLOPPYSPD,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,71,180,116,20\r
+    EDITTEXT        IDC_FLOPPYSPDTEXT,222,183,101,12,ES_CENTER | ES_READONLY\r
     GROUPBOX        "New Floppy Disk Image",IDC_SETTINGSTEXT,1,211,393,49\r
     COMBOBOX        IDC_FLOPPYTYPE,58,225,64,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
     PUSHBUTTON      "Create Standard Disk [] Creates a standard 880 or 1760 KB ADF disk image.",IDC_CREATE,131,224,97,15\r
     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\r
-    GROUPBOX        "Floppy Drive Emulation Speed",IDC_SETTINGSTEXT2,1,170,393,35\r
-    CONTROL         "",IDC_FLOPPYSPD,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,71,180,116,20\r
-    EDITTEXT        IDC_FLOPPYSPDTEXT,222,183,101,12,ES_CENTER | ES_READONLY\r
-    PUSHBUTTON      "Delete save image",IDC_SAVEIMAGE0,97,13,78,15,NOT WS_VISIBLE\r
-    PUSHBUTTON      "Delete save image",IDC_SAVEIMAGE1,97,49,78,15,NOT WS_VISIBLE\r
-    PUSHBUTTON      "Delete save image",IDC_SAVEIMAGE2,97,85,78,15,NOT WS_VISIBLE\r
-    PUSHBUTTON      "Delete save image",IDC_SAVEIMAGE3,97,121,78,15,NOT WS_VISIBLE\r
-    EDITTEXT        IDC_CREATE_NAME,130,243,97,13,ES_AUTOHSCROLL\r
     RTEXT           "Disk label:",IDC_STATIC,60,244,58,10,SS_CENTERIMAGE\r
-    CONTROL         "DF0:",IDC_DF0ENABLE,"Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,7,14,34,15\r
-    CONTROL         "DF1:",IDC_DF1ENABLE,"Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,7,51,34,15\r
-    CONTROL         "DF2:",IDC_DF2ENABLE,"Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,7,87,34,15\r
-    CONTROL         "DF3:",IDC_DF3ENABLE,"Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,7,123,34,15\r
-    CONTROL         "FFS",IDC_FLOPPY_FFS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,300,242,34,15\r
+    EDITTEXT        IDC_CREATE_NAME,130,243,97,13,ES_AUTOHSCROLL\r
     CONTROL         "Bootblock",IDC_FLOPPY_BOOTABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,234,242,59,15\r
-    GROUPBOX        "Floppy Drives",IDC_SETTINGSTEXT3,1,0,393,163\r
+    CONTROL         "FFS",IDC_FLOPPY_FFS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,300,242,34,15\r
 END\r
 \r
 IDD_HARDDISK DIALOGEX 0, 0, 396, 318\r
@@ -298,26 +298,26 @@ BEGIN
     PUSHBUTTON      "Add &Directory or Archive...",IDC_NEW_FS,1,157,128,15\r
     PUSHBUTTON      "Add &Hardfile...",IDC_NEW_HF,135,157,126,15\r
     PUSHBUTTON      "Add Ha&rd Drive...",IDC_NEW_HD,267,157,127,15\r
-    PUSHBUTTON      "Remove",IDC_REMOVE,334,176,60,15\r
     PUSHBUTTON      "&Properties",IDC_EDIT,267,176,60,15\r
+    PUSHBUTTON      "Remove",IDC_REMOVE,334,176,60,15\r
+    GROUPBOX        "Options",IDC_STATIC,1,191,393,76\r
     CONTROL         "Add PC drives at startup",IDC_MAPDRIVES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,206,201,11\r
-    CONTROL         "Disable UAEFSDB-support",IDC_NOUAEFSDB,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,222,206,167,11\r
-    CONTROL         "Don't use Windows Recycle Bin",IDC_NORECYCLEBIN,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,222,219,167,11\r
+    CONTROL         "Include removable drives..",IDC_MAPDRIVES_REMOVABLE,\r
+                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,219,201,11\r
     CONTROL         "Include network drives..",IDC_MAPDRIVES_NET,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,233,201,11\r
     CONTROL         "CDFS automount CD/DVD drives",IDC_MAPDRIVES_CD,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,247,201,11\r
+    CONTROL         "Disable UAEFSDB-support",IDC_NOUAEFSDB,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,222,206,167,11\r
+    CONTROL         "Don't use Windows Recycle Bin",IDC_NORECYCLEBIN,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,222,219,167,11\r
     CONTROL         "Automount removable drives [] Windows side insert or removal will immediately mount/remove it on Amiga side.",IDC_MAPDRIVES_AUTO,\r
                     "Button",BS_AUTOCHECKBOX | WS_TABSTOP,222,233,167,11\r
-    CONTROL         "Include removable drives..",IDC_MAPDRIVES_REMOVABLE,\r
-                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,219,201,11\r
-    COMBOBOX        IDC_CD_TEXT,5,301,386,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP\r
-    PUSHBUTTON      "Eject",IDC_CD_EJECT,360,282,30,15\r
-    PUSHBUTTON      "Select image file",IDC_CD_SELECT,177,282,98,15\r
-    COMBOBOX        IDC_CD_TYPE,282,283,71,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
-    LTEXT           "CD drive/image",IDC_STATIC,5,284,70,10,SS_CENTERIMAGE\r
     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,\r
                     "Button",BS_AUTOCHECKBOX | WS_TABSTOP,222,247,167,11\r
-    GROUPBOX        "Options",IDC_STATIC,1,191,393,76\r
     GROUPBOX        "Optical media options",IDC_STATIC,1,270,393,48\r
+    LTEXT           "CD drive/image",IDC_STATIC,5,284,70,10,SS_CENTERIMAGE\r
+    PUSHBUTTON      "Select image file",IDC_CD_SELECT,177,282,98,15\r
+    COMBOBOX        IDC_CD_TYPE,282,283,71,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
+    PUSHBUTTON      "Eject",IDC_CD_EJECT,360,282,30,15\r
+    COMBOBOX        IDC_CD_TEXT,5,301,386,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP\r
 END\r
 \r
 IDD_SOUND DIALOGEX 0, 0, 396, 288\r
@@ -329,6 +329,7 @@ BEGIN
     CONTROL         "Disabled",IDC_SOUND0,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,13,35,152,10\r
     CONTROL         "Disabled, but emulated",IDC_SOUND1,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,13,53,152,10\r
     CONTROL         "Enabled",IDC_SOUND2,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,13,71,152,10\r
+    CONTROL         "Automatic switching",IDC_SOUND_AUTO,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,13,89,152,10\r
     GROUPBOX        "Volume",IDC_STATIC,185,19,209,41\r
     CONTROL         "",IDC_SOUNDVOLUME,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,207,32,105,20\r
     EDITTEXT        IDC_SOUNDVOLUME2,323,35,48,12,ES_CENTER | ES_READONLY\r
@@ -336,31 +337,30 @@ BEGIN
     CONTROL         "Slider1",IDC_SOUNDBUFFERRAM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,207,79,105,20\r
     EDITTEXT        IDC_SOUNDBUFFERMEM,323,82,48,12,ES_CENTER | ES_READONLY\r
     GROUPBOX        "Settings",IDC_SOUNDINTERPOLATION2,1,107,393,72\r
-    LTEXT           "Frequency:",IDC_SOUNDFREQTXT,22,147,58,8,SS_CENTERIMAGE\r
-    COMBOBOX        IDC_SOUNDFREQ,24,157,55,75,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP\r
-    LTEXT           "Audio filter:",IDC_SOUNDFILTERTXT,279,147,98,8,SS_CENTERIMAGE\r
-    COMBOBOX        IDC_SOUNDFILTER,279,157,96,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
     LTEXT           "Channel mode:",IDC_SOUNDSTEREOTXT,22,119,128,8,SS_CENTERIMAGE\r
     COMBOBOX        IDC_SOUNDSTEREO,24,129,135,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
-    LTEXT           "Interpolation:",IDC_SOUNDINTERPOLATIONTXT,279,119,98,8,SS_CENTERIMAGE\r
-    COMBOBOX        IDC_SOUNDINTERPOLATION,279,129,96,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
     LTEXT           "Stereo separation:",IDC_SOUNDSTEREOSEPTXT,180,119,84,8,SS_CENTERIMAGE\r
     COMBOBOX        IDC_SOUNDSTEREOSEP,181,129,74,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
+    LTEXT           "Interpolation:",IDC_SOUNDINTERPOLATIONTXT,279,119,98,8,SS_CENTERIMAGE\r
+    COMBOBOX        IDC_SOUNDINTERPOLATION,279,129,96,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
+    LTEXT           "Frequency:",IDC_SOUNDFREQTXT,22,147,58,8,SS_CENTERIMAGE\r
+    COMBOBOX        IDC_SOUNDFREQ,24,157,55,75,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP\r
+    LTEXT           "Swap channels:",IDC_SOUNDSWAPTXT,85,147,81,8,SS_CENTERIMAGE\r
+    COMBOBOX        IDC_SOUNDSWAP,86,157,74,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
     LTEXT           "Stereo delay:",IDC_SOUNDSTEREOMIXTXT,180,147,83,8,SS_CENTERIMAGE\r
     COMBOBOX        IDC_SOUNDSTEREOMIX,181,157,74,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
+    LTEXT           "Audio filter:",IDC_SOUNDFILTERTXT,279,147,98,8,SS_CENTERIMAGE\r
+    COMBOBOX        IDC_SOUNDFILTER,279,157,96,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
     GROUPBOX        "Floppy Drive Sound Emulation",IDC_STATIC,1,185,278,73\r
     CONTROL         "",IDC_SOUNDDRIVEVOLUME,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,20,201,107,19\r
     EDITTEXT        IDC_SOUNDDRIVEVOLUME2,144,203,48,12,ES_CENTER | ES_READONLY\r
     COMBOBOX        IDC_SOUNDDRIVE,205,203,66,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
     COMBOBOX        IDC_SOUNDDRIVESELECT,18,229,253,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
-    COMBOBOX        IDC_SOUNDSWAP,86,157,74,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
-    LTEXT           "Swap channels:",IDC_SOUNDSWAPTXT,85,147,81,8,SS_CENTERIMAGE\r
-    CONTROL         "Automatic switching",IDC_SOUND_AUTO,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,13,89,152,10\r
+    GROUPBOX        "Drivers",IDC_STATIC,285,185,109,73\r
     CONTROL         "DirectSound",IDC_SOUND_DS,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,292,199,98,10\r
     CONTROL         "WASAPI",IDC_SOUND_WASAPI,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,292,212,98,10\r
     CONTROL         "OpenAL",IDC_SOUND_OPENAL,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,292,225,98,10\r
     CONTROL         "PortAudio",IDC_SOUND_PORTAUDIO,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,292,238,98,10\r
-    GROUPBOX        "Drivers",IDC_STATIC,285,185,109,73\r
 END\r
 \r
 IDD_LOADSAVE DIALOGEX 0, 0, 396, 318\r
@@ -383,8 +383,8 @@ BEGIN
     PUSHBUTTON      "Load",IDC_QUICKLOAD,1,301,60,15\r
     PUSHBUTTON      "Save",IDC_QUICKSAVE,65,301,60,15\r
     PUSHBUTTON      "Load From...",IDC_LOAD,162,301,60,15\r
-    PUSHBUTTON      "Delete",IDC_DELETE,335,301,60,15\r
     PUSHBUTTON      "Save As...",IDC_SAVE,226,301,60,15\r
+    PUSHBUTTON      "Delete",IDC_DELETE,335,301,60,15\r
 END\r
 \r
 IDD_IOPORTS DIALOGEX 0, 0, 396, 275\r
@@ -394,30 +394,30 @@ BEGIN
     GROUPBOX        "Parallel Port",IDC_STATIC,1,1,393,131\r
     RTEXT           "Printer:",IDC_STATIC,6,17,57,15,SS_CENTERIMAGE\r
     COMBOBOX        IDC_PRINTERLIST,67,18,317,134,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
+    RTEXT           "Type:",IDC_STATIC,7,39,57,15,SS_CENTERIMAGE\r
+    COMBOBOX        IDC_PRINTERTYPELIST,67,40,317,134,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
     PUSHBUTTON      "Flush print job",IDC_FLUSHPRINTER,147,57,58,12\r
     RTEXT           "Autoflush [] Time in seconds after a pending print job is automatically flushed.",IDC_PRINTERAUTOFLUSHTXT,209,55,137,15,SS_NOTIFY | SS_CENTERIMAGE\r
     EDITTEXT        IDC_PRINTERAUTOFLUSH,351,57,33,12,ES_NUMBER\r
-    RTEXT           "Type:",IDC_STATIC,7,39,57,15,SS_CENTERIMAGE\r
+    RTEXT           "Ghostscript extra parameters:",IDC_STATIC,8,73,136,15,SS_CENTERIMAGE\r
     EDITTEXT        IDC_PS_PARAMS,148,74,236,12,ES_AUTOHSCROLL\r
+    RTEXT           "Sampler:",IDC_STATIC,6,94,57,15,SS_CENTERIMAGE\r
+    COMBOBOX        IDC_SAMPLERLIST,67,95,317,134,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
+    CONTROL         "Stereo sampler",IDC_SAMPLER_STEREO,"Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,68,113,149,12\r
     GROUPBOX        "Serial Port",IDC_STATIC,1,137,393,51\r
     COMBOBOX        IDC_SERIAL,67,150,317,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
     CONTROL         "Shared",IDC_SER_SHARED,"Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,32,171,66,12\r
     CONTROL         "RTS/CTS",IDC_SER_CTSRTS,"Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,106,171,66,12\r
+    CONTROL         "Direct []Use when emulating serial-link games on two PCs running WinUAE",IDC_SER_DIRECT,\r
+                    "Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,181,171,83,12\r
+    CONTROL         "uaeserial.device",IDC_UAESERIAL,"Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,275,171,108,12\r
     RTEXT           "Out:",IDC_MIDI,22,202,32,15,SS_CENTERIMAGE\r
     COMBOBOX        IDC_MIDIOUTLIST,58,204,145,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
     RTEXT           "In:",IDC_MIDI2,204,201,31,15,SS_CENTERIMAGE\r
     COMBOBOX        IDC_MIDIINLIST,239,203,145,134,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
-    CONTROL         "Direct []Use when emulating serial-link games on two PCs running WinUAE",IDC_SER_DIRECT,\r
-                    "Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,181,171,83,12\r
-    CONTROL         "uaeserial.device",IDC_UAESERIAL,"Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,275,171,108,12\r
-    COMBOBOX        IDC_PRINTERTYPELIST,67,40,317,134,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
-    RTEXT           "Ghostscript extra parameters:",IDC_STATIC,8,73,136,15,SS_CENTERIMAGE\r
-    GROUPBOX        "MIDI",IDC_STATIC,1,191,393,34,BS_LEFT\r
     GROUPBOX        "Protection Dongle",IDC_STATIC,1,227,393,41,BS_LEFT\r
+    GROUPBOX        "MIDI",IDC_STATIC,1,191,393,34,BS_LEFT\r
     COMBOBOX        IDC_DONGLELIST,58,245,232,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
-    RTEXT           "Sampler:",IDC_STATIC,6,94,57,15,SS_CENTERIMAGE\r
-    COMBOBOX        IDC_SAMPLERLIST,67,95,317,134,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
-    CONTROL         "Stereo sampler",IDC_SAMPLER_STEREO,"Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,68,113,149,12\r
 END\r
 \r
 IDD_GAMEPORTS DIALOGEX 0, 0, 396, 288\r
@@ -427,15 +427,17 @@ BEGIN
     GROUPBOX        "Mouse and Joystick settings",IDC_STATIC,1,3,393,211\r
     RTEXT           "Port 1:",IDC_STATIC,4,18,37,15,SS_CENTERIMAGE\r
     COMBOBOX        IDC_PORT0_JOYS,45,19,342,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
+    COMBOBOX        IDC_PORT0_AF,45,37,78,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
     COMBOBOX        IDC_PORT0_JOYSMODE,128,38,106,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
     PUSHBUTTON      "Test [] Test Port 1 (mouse) configuration.",IDC_PORT0_TEST,313,37,36,14\r
     PUSHBUTTON      "Remap [] Remap Port 1 configurarion.",IDC_PORT0_REMAP,352,37,36,14\r
     RTEXT           "Port 2:",IDC_STATIC,6,56,35,15,SS_CENTERIMAGE\r
     COMBOBOX        IDC_PORT1_JOYS,45,57,342,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
-    PUSHBUTTON      "Swap ports [] Swap ports 1 and 2.",IDC_SWAP,45,100,78,12\r
+    COMBOBOX        IDC_PORT1_AF,45,74,78,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
     COMBOBOX        IDC_PORT1_JOYSMODE,128,74,106,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
     PUSHBUTTON      "Test [] Test Port 2 (joystick) configuration.",IDC_PORT1_TEST,313,74,36,14\r
     PUSHBUTTON      "Remap [] Remap Port 2 configuration.",IDC_PORT1_REMAP,352,74,36,14\r
+    PUSHBUTTON      "Swap ports [] Swap ports 1 and 2.",IDC_SWAP,45,100,78,12\r
     LTEXT           "Emulated parallel port joystick adapter",IDC_STATIC,10,124,179,15,SS_CENTERIMAGE\r
     RTEXT           "X-Arcade layout information []#1",IDC_STATIC,217,124,170,15,SS_NOTIFY | SS_CENTERIMAGE\r
     COMBOBOX        IDC_PORT2_JOYS,45,142,342,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
@@ -446,15 +448,13 @@ BEGIN
     PUSHBUTTON      "Remap [] Remap Parallel port joystick port 2 configurarion.",IDC_PORT3_REMAP,352,194,36,14\r
     GROUPBOX        "Mouse extra settings",IDC_STATIC,1,219,393,68\r
     RTEXT           "Mouse speed:",IDC_STATIC,19,237,82,10,SS_CENTERIMAGE\r
-    RTEXT           "Magic Mouse cursor mode:",IDC_STATIC,45,254,138,10,SS_CENTERIMAGE\r
-    CONTROL         "Install virtual mouse driver",IDC_PORT_TABLET,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,48,270,136,11\r
     EDITTEXT        IDC_INPUTSPEEDM,115,237,25,13,ES_NUMBER\r
     CONTROL         "Magic Mouse",IDC_PORT_MOUSETRICK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,195,235,160,11\r
+    RTEXT           "Magic Mouse cursor mode:",IDC_STATIC,45,254,138,10,SS_CENTERIMAGE\r
     COMBOBOX        IDC_PORT_TABLET_CURSOR,195,251,119,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
+    CONTROL         "Install virtual mouse driver",IDC_PORT_TABLET,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,48,270,136,11\r
     CONTROL         "Full tablet input emulation",IDC_PORT_TABLET_FULL,\r
                     "Button",BS_AUTOCHECKBOX | WS_TABSTOP,195,270,160,11\r
-    COMBOBOX        IDC_PORT0_AF,45,37,78,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
-    COMBOBOX        IDC_PORT1_AF,45,74,78,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
 END\r
 \r
 IDD_CONTRIBUTORS DIALOGEX 0, 0, 411, 242\r
@@ -490,34 +490,34 @@ IDD_MISC1 DIALOGEX 0, 0, 396, 318
 STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD\r
 FONT 8, "MS Sans Serif", 0, 0, 0x1\r
 BEGIN\r
+    CONTROL         "",IDC_MISCLIST,"SysListView32",LVS_REPORT | LVS_ALIGNLEFT | LVS_NOCOLUMNHEADER | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,3,5,258,232\r
     GROUPBOX        "Miscellaneous Options",IDC_STATIC,266,2,128,138\r
-    GROUPBOX        "Keyboard LEDs",IDC_STATIC,1,284,393,34\r
-    COMBOBOX        IDC_KBLED1,10,297,64,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
-    COMBOBOX        IDC_KBLED2,97,297,64,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
-    COMBOBOX        IDC_KBLED3,184,297,64,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
-    GROUPBOX        "State Files",IDC_STATIC,1,244,393,38\r
-    PUSHBUTTON      "Load state...",IDC_DOLOADSTATE,257,259,65,14\r
-    PUSHBUTTON      "Save state...",IDC_DOSAVESTATE,325,259,65,14\r
-    CONTROL         "USB mode",IDC_KBLED_USB,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,264,298,64,11\r
-    COMBOBOX        IDC_SCSIMODE,291,28,79,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
-    COMBOBOX        IDC_LANGUAGE,273,168,114,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
-    GROUPBOX        "GUI",IDC_STATIC,266,144,128,93\r
-    COMBOBOX        IDC_DD_SURFACETYPE,291,119,79,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
-    CTEXT           "DirectDraw:",IDC_STATIC,272,106,117,10,SS_CENTERIMAGE\r
     CTEXT           "SCSI and CD/DVD access:",IDC_STATIC,272,14,117,10,SS_CENTERIMAGE\r
-    CTEXT           "Graphics API:",IDC_STATIC,272,76,117,10,SS_CENTERIMAGE\r
-    COMBOBOX        IDC_DXMODE,291,89,79,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
+    COMBOBOX        IDC_SCSIMODE,291,28,79,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
     CTEXT           "Windowed style:",IDC_STATIC,272,45,117,10,SS_CENTERIMAGE\r
     COMBOBOX        IDC_WINDOWEDMODE,291,59,79,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
-    CONTROL         "",IDC_MISCLIST,"SysListView32",LVS_REPORT | LVS_ALIGNLEFT | LVS_NOCOLUMNHEADER | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,3,5,258,232\r
-    EDITTEXT        IDC_STATENAME,8,259,231,13,ES_AUTOHSCROLL | ES_READONLY | NOT WS_TABSTOP\r
-    CONTROL         "",IDC_STATECLEAR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,244,261,9,10\r
+    CTEXT           "Graphics API:",IDC_STATIC,272,76,117,10,SS_CENTERIMAGE\r
+    COMBOBOX        IDC_DXMODE,291,89,79,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
+    CTEXT           "DirectDraw:",IDC_STATIC,272,106,117,10,SS_CENTERIMAGE\r
+    COMBOBOX        IDC_DD_SURFACETYPE,291,119,79,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
+    GROUPBOX        "GUI",IDC_STATIC,266,144,128,93\r
     CTEXT           "Language:",IDC_STATIC,271,154,117,10,SS_CENTERIMAGE\r
+    COMBOBOX        IDC_LANGUAGE,273,168,114,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
     PUSHBUTTON      "GUI Font...",IDC_GUI_FONT,272,185,54,14\r
-    PUSHBUTTON      "Set default",IDC_GUI_DEFAULT,272,204,54,14\r
     PUSHBUTTON      "List Font...",IDC_GUI_LISTFONT,333,185,54,14\r
+    PUSHBUTTON      "Set default",IDC_GUI_DEFAULT,272,204,54,14\r
     COMBOBOX        IDC_GUI_SIZE,333,205,54,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
     CONTROL         "Resizeable GUI",IDC_GUI_RESIZE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,273,222,114,11\r
+    GROUPBOX        "State Files",IDC_STATIC,1,244,393,38\r
+    EDITTEXT        IDC_STATENAME,8,259,231,13,ES_AUTOHSCROLL | ES_READONLY | NOT WS_TABSTOP\r
+    CONTROL         "",IDC_STATECLEAR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,244,261,9,10\r
+    PUSHBUTTON      "Load state...",IDC_DOLOADSTATE,257,259,65,14\r
+    PUSHBUTTON      "Save state...",IDC_DOSAVESTATE,325,259,65,14\r
+    GROUPBOX        "Keyboard LEDs",IDC_STATIC,1,284,393,34\r
+    COMBOBOX        IDC_KBLED1,10,297,64,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
+    COMBOBOX        IDC_KBLED2,97,297,64,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
+    COMBOBOX        IDC_KBLED3,184,297,64,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
+    CONTROL         "USB mode",IDC_KBLED_USB,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,264,298,64,11\r
 END\r
 \r
 IDD_HARDFILE DIALOGEX 0, 0, 396, 245\r
@@ -535,34 +535,34 @@ BEGIN
     PUSHBUTTON      "...",IDC_FILESYS_SELECTOR,380,34,11,15\r
     RTEXT           "Device:",IDC_HARDFILE_DEVICE_TEXT,16,58,31,10\r
     EDITTEXT        IDC_HARDFILE_DEVICE,52,55,121,15,ES_AUTOHSCROLL\r
+    PUSHBUTTON      "Enable RDB mode",IDC_HDF_RDB,285,55,92,14\r
+    CONTROL         "Read/write",IDC_HDF_RW,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,53,74,67,10\r
+    CONTROL         "Bootable",IDC_HDF_AUTOBOOT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,136,74,67,10\r
+    CONTROL         "Do not mount",IDC_HDF_DONOTMOUNT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,217,74,67,10\r
     RTEXT           "Boot priority:",IDC_HARDFILE_BOOTPRI_TEXT,26,94,78,10\r
     EDITTEXT        IDC_HARDFILE_BOOTPRI,109,90,44,15\r
-    CONTROL         "Read/write",IDC_HDF_RW,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,53,74,67,10\r
-    PUSHBUTTON      "Enable RDB mode",IDC_HDF_RDB,285,55,92,14\r
     RTEXT           "Surfaces:",IDC_SURFACES_TEXT,160,94,48,10\r
     EDITTEXT        IDC_HEADS,213,90,40,15,ES_NUMBER\r
     RTEXT           "Reserved:",IDC_RESERVED_TEXT,262,94,50,10\r
     EDITTEXT        IDC_RESERVED,317,90,40,15,ES_NUMBER\r
+    RTEXT           "HD Controller:",IDC_STATIC,26,113,78,10,SS_CENTERIMAGE\r
+    COMBOBOX        IDC_HDF_CONTROLLER,109,112,44,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
     RTEXT           "Sectors:",IDC_SECTORS_TEXT,160,113,48,10\r
     EDITTEXT        IDC_SECTORS,213,111,40,15,ES_NUMBER\r
     RTEXT           "Block size:",IDC_BLOCKSIZE_TEXT,261,113,50,10\r
     EDITTEXT        IDC_BLOCKSIZE,317,111,40,15,ES_NUMBER\r
+    EDITTEXT        IDC_HDFINFO,5,131,385,12,ES_CENTER | ES_READONLY\r
     GROUPBOX        "New hard disk image file",IDC_STATIC,2,155,392,62\r
     PUSHBUTTON      "Create",IDC_HF_CREATE,58,171,80,14\r
+    COMBOBOX        IDC_HF_TYPE,58,195,80,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
     EDITTEXT        IDC_HF_SIZE,154,171,61,15,ES_NUMBER\r
-    PUSHBUTTON      "OK",IDOK,147,226,50,14\r
-    PUSHBUTTON      "Cancel",IDCANCEL,203,226,50,14\r
+    LTEXT           "MB",IDC_STATIC,220,174,53,10,SS_CENTERIMAGE\r
     EDITTEXT        IDC_HF_DOSTYPE,154,194,61,15\r
-    COMBOBOX        IDC_HF_TYPE,58,195,80,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
-    COMBOBOX        IDC_HDF_CONTROLLER,109,112,44,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
     LTEXT           "DOS type",IDC_STATIC,222,196,51,10,SS_CENTERIMAGE\r
-    LTEXT           "MB",IDC_STATIC,220,174,53,10,SS_CENTERIMAGE\r
-    RTEXT           "HD Controller:",IDC_STATIC,26,113,78,10,SS_CENTERIMAGE\r
-    CONTROL         "Bootable",IDC_HDF_AUTOBOOT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,136,74,67,10\r
-    CONTROL         "Do not mount",IDC_HDF_DONOTMOUNT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,217,74,67,10\r
-    EDITTEXT        IDC_HDFINFO,5,131,385,12,ES_CENTER | ES_READONLY\r
     CONTROL         "Sparse file",IDC_HF_SPARSE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,280,180,87,10\r
     CONTROL         "Dynamic HDF",IDC_HF_DYNAMIC,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,280,192,87,10\r
+    PUSHBUTTON      "OK",IDOK,147,226,50,14\r
+    PUSHBUTTON      "Cancel",IDCANCEL,203,226,50,14\r
 END\r
 \r
 IDD_FILESYS DIALOGEX 15, 25, 396, 111\r
@@ -576,15 +576,15 @@ BEGIN
     EDITTEXT        IDC_VOLUME_NAME,73,25,104,15,ES_AUTOHSCROLL\r
     RTEXT           "Path:",-1,5,49,64,10\r
     EDITTEXT        IDC_PATH_NAME,73,45,315,17,ES_AUTOHSCROLL\r
-    PUSHBUTTON      "Select Directory",IDC_FS_SELECT_DIR,72,66,123,15\r
     CONTROL         "Read/write",IDC_FS_RW,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,259,7,67,10\r
+    CONTROL         "Bootable",IDC_FS_AUTOBOOT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,336,7,56,10\r
     RTEXT           "Boot priority:",IDC_VOLUME_BOOTPRI_TEXT,276,28,49,8\r
     EDITTEXT        IDC_VOLUME_BOOTPRI,336,25,30,15\r
+    PUSHBUTTON      "Select Directory",IDC_FS_SELECT_DIR,72,66,123,15\r
+    PUSHBUTTON      "Select Archive or Plain File",IDC_FS_SELECT_FILE,197,66,123,15\r
     PUSHBUTTON      "OK",IDOK,72,90,62,15\r
     PUSHBUTTON      "Cancel",IDCANCEL,138,90,62,15\r
-    PUSHBUTTON      "Select Archive or Plain File",IDC_FS_SELECT_FILE,197,66,123,15\r
     PUSHBUTTON      "Eject",IDC_FS_SELECT_EJECT,258,90,62,15\r
-    CONTROL         "Bootable",IDC_FS_AUTOBOOT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,336,7,56,10\r
 END\r
 \r
 IDD_SETINFO DIALOGEX 0, 0, 396, 85\r
@@ -608,17 +608,27 @@ BEGIN
                     "Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,9,15,73,10\r
     CONTROL         "ECS Agnus [] Enhanced chipset (ECS Agnus chip only). CDTV and later A500 and A2000 hardware revisions.",IDC_ECS_AGNUS,\r
                     "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,9,31,73,10\r
-    CONTROL         "ECS Denise [] Enhanced chipset (ECS Denise chip only). Normally paired with ECS Agnus.",IDC_ECS_DENISE,\r
-                    "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,86,31,72,10\r
     CONTROL         "Full ECS [] Full ECS chipset (ECS Agnus and ECS Denise chips). A500+, A600 and A3000.",IDC_ECS,\r
                     "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,9,47,73,10\r
     CONTROL         "AGA [] Advanced Graphics Architecture chipset. A1200, A4000 and CD32.",IDC_AGA,\r
                     "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,86,15,72,10\r
+    CONTROL         "ECS Denise [] Enhanced chipset (ECS Denise chip only). Normally paired with ECS Agnus.",IDC_ECS_DENISE,\r
+                    "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,86,31,72,10\r
     CONTROL         "NTSC [] North American and Japanese display standard, 60Hz refresh rate. Other countries use PAL (50Hz. display refresh rate)",IDC_NTSC,\r
                     "Button",BS_AUTOCHECKBOX | WS_TABSTOP,86,47,72,10\r
+    CONTROL         "Cycle-exact [] The most compatible A500/A1200 emulation mode. Very fast PC recommended.",IDC_CYCLEEXACT,\r
+                    "Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,9,69,139,10\r
+    RTEXT           "Chipset Extra",IDC_STATIC,11,89,71,15,SS_CENTERIMAGE\r
+    COMBOBOX        IDC_CS_EXT,86,90,49,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
     GROUPBOX        "Options",IDC_STATIC,167,0,133,111\r
     CONTROL         "Immediate Blitter [] Faster but less compatible blitter emulation.",IDC_BLITIMM,\r
                     "Button",BS_AUTOCHECKBOX | WS_TABSTOP,180,16,116,10\r
+    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,\r
+                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,180,29,116,10\r
+    CONTROL         "Genlock connected [] Allow boot sequence to detect genlock. Genlock is not emulated.",IDC_GENLOCK,\r
+                    "Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,180,42,116,10\r
+    CTEXT           "External display hardware:",IDC_STATIC,174,59,117,15,SS_CENTERIMAGE\r
+    COMBOBOX        IDC_MONITOREMU,184,78,98,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
     GROUPBOX        "Collision Level",IDC_STATIC,1,116,299,48\r
     CONTROL         "None [] Collision hardware emulation disabled.",IDC_COLLISION0,\r
                     "Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,9,132,101,10\r
@@ -628,22 +638,13 @@ BEGIN
                     "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,115,132,181,10\r
     CONTROL         "Full [] 100% collision hardware emulation. Only very few games need this option. Slowest.",IDC_COLLISION3,\r
                     "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,115,147,181,10\r
-    CONTROL         "Genlock connected [] Allow boot sequence to detect genlock. Genlock is not emulated.",IDC_GENLOCK,\r
-                    "Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,180,42,116,10\r
-    COMBOBOX        IDC_CS_EXT,86,90,49,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
-    RTEXT           "Chipset Extra",IDC_STATIC,11,89,71,15,SS_CENTERIMAGE\r
-    COMBOBOX        IDC_MONITOREMU,184,78,98,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
-    CTEXT           "External display hardware:",IDC_STATIC,174,59,117,15,SS_CENTERIMAGE\r
-    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,\r
-                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,180,29,116,10\r
-    CONTROL         "Cycle-exact [] The most compatible A500/A1200 emulation mode. Very fast PC recommended.",IDC_CYCLEEXACT,\r
-                    "Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,9,69,139,10\r
 END\r
 \r
 IDD_CHIPSET2 DIALOGEX 0, 0, 396, 288\r
 STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD\r
 FONT 8, "MS Sans Serif", 0, 0, 0x0\r
 BEGIN\r
+    CONTROL         "Compatible Settings",IDC_CS_COMPATIBLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,8,234,10\r
     GROUPBOX        "Battery Backed Up Real Time Clock",IDC_STATIC,1,24,393,29\r
     CONTROL         "None",IDC_CS_RTC1,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,40,36,81,10\r
     CONTROL         "MSM6242B",IDC_CS_RTC2,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,129,36,77,10\r
@@ -653,42 +654,41 @@ BEGIN
     CONTROL         "Vertical Sync",IDC_CS_CIAA_TOD1,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,41,68,86,10\r
     CONTROL         "Power Supply 50Hz",IDC_CS_CIAA_TOD2,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,133,68,109,10\r
     CONTROL         "Power Supply 60Hz",IDC_CS_CIAA_TOD3,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,249,68,116,10\r
-    CONTROL         "ROM Mirror (A8)",IDC_CS_KSMIRROR_A8,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,127,157,121,11\r
-    CONTROL         "A1000 Boot RAM/ROM",IDC_CS_A1000RAM,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,127,102,121,11\r
+    GROUPBOX        "Chipset Features",IDC_STATIC,1,88,393,146\r
+    CONTROL         "CIA ROM Overlay",IDC_CS_CIAOVERLAY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,102,104,11\r
     CONTROL         "CD32 CD",IDC_CS_CD32CD,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,116,104,11\r
-    CONTROL         "CD32 C2P",IDC_CS_CD32C2P,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,127,116,121,11\r
-    CONTROL         "CD32 NVRAM",IDC_CS_CD32NVRAM,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,264,116,125,11\r
     CONTROL         "CDTV CD",IDC_CS_CDTVCD,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,130,105,11\r
-    CONTROL         "CDTV SRAM",IDC_CS_CDTVRAM,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,127,129,121,11\r
-    CONTROL         "CDTV SRAM Expansion",IDC_CS_CDTVRAMEXP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,264,129,125,11\r
     CONTROL         "A600/A1200 IDE",IDC_CS_IDE1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,143,104,11\r
+    CONTROL         "ROM Mirror (E0)",IDC_CS_KSMIRROR_E0,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,157,104,11\r
+    CONTROL         "KB Reset Warning",IDC_CS_RESETWARNING,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,171,104,11\r
+    LTEXT           "A4091/A4000T SCSI not yet implemented.",IDC_STATIC,17,187,247,8,SS_CENTERIMAGE\r
+    CONTROL         "A590/A2091 SCSI",IDC_CS_A2091,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,202,104,11\r
+    CONTROL         "A4091 SCSI",IDC_CS_A4091,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,215,104,11\r
+    CONTROL         "A1000 Boot RAM/ROM",IDC_CS_A1000RAM,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,127,102,121,11\r
+    CONTROL         "CD32 C2P",IDC_CS_CD32C2P,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,127,116,121,11\r
+    CONTROL         "CDTV SRAM",IDC_CS_CDTVRAM,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,127,129,121,11\r
     CONTROL         "A4000/A4000T IDE",IDC_CS_IDE2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,127,143,121,11\r
-    CONTROL         "Ramsey revision:",IDC_CS_RAMSEY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,34,248,97,11\r
-    EDITTEXT        IDC_CS_RAMSEYREV,136,247,45,13,ES_AUTOHSCROLL\r
-    CONTROL         "Fat Gary revision:",IDC_CS_FATGARY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,34,262,97,11\r
-    EDITTEXT        IDC_CS_FATGARYREV,136,262,45,13,ES_AUTOHSCROLL\r
+    CONTROL         "ROM Mirror (A8)",IDC_CS_KSMIRROR_A8,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,127,157,121,11\r
+    CONTROL         "No-EHB Denise",IDC_CS_NOEHB,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,127,171,121,11\r
     CONTROL         "A3000 SCSI",IDC_CS_DMAC,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,127,202,121,11\r
-    CONTROL         "Compatible Settings",IDC_CS_COMPATIBLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,8,234,10\r
+    CONTROL         "CDTV SCSI",IDC_CS_CDTVSCSI,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,127,215,121,11\r
     CONTROL         "DF0: ID Hardware",IDC_CS_DF0IDHW,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,264,102,125,11\r
-    CONTROL         "Agnus/Alice revision:",IDC_CS_AGNUS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,200,248,107,11\r
-    EDITTEXT        IDC_CS_AGNUSREV,311,247,45,13,ES_AUTOHSCROLL\r
-    CONTROL         "Denise/Lisa revision:",IDC_CS_DENISE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,200,262,107,11\r
-    EDITTEXT        IDC_CS_DENISEREV,311,262,45,13,ES_AUTOHSCROLL\r
-    CONTROL         "A590/A2091 SCSI",IDC_CS_A2091,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,202,104,11\r
-    CONTROL         "A4000T SCSI",IDC_CS_DMAC2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,264,202,125,11\r
-    LTEXT           "A4091/A4000T SCSI not yet implemented.",IDC_STATIC,17,187,247,8,SS_CENTERIMAGE\r
+    CONTROL         "CD32 NVRAM",IDC_CS_CD32NVRAM,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,264,116,125,11\r
+    CONTROL         "CDTV SRAM Expansion",IDC_CS_CDTVRAMEXP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,264,129,125,11\r
     CONTROL         "PCMCIA",IDC_CS_PCMCIA,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,264,143,125,11\r
-    CONTROL         "A4091 SCSI",IDC_CS_A4091,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,215,104,11\r
-    CONTROL         "CDTV SCSI",IDC_CS_CDTVSCSI,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,127,215,121,11\r
-    CONTROL         "Include host SCSI devices",IDC_CS_SCSIMODE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,264,215,125,11\r
     CONTROL         "C00000 is Fast RAM",IDC_CS_SLOWISFAST,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,264,157,125,11\r
-    CONTROL         "ROM Mirror (E0)",IDC_CS_KSMIRROR_E0,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,157,104,11\r
-    CONTROL         "CIA ROM Overlay",IDC_CS_CIAOVERLAY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,102,104,11\r
-    CONTROL         "KB Reset Warning",IDC_CS_RESETWARNING,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,171,104,11\r
-    CONTROL         "No-EHB Denise",IDC_CS_NOEHB,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,127,171,121,11\r
     CONTROL         "A1000 Agnus (8361/8367)",IDC_CS_DIPAGNUS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,264,171,125,11\r
-    GROUPBOX        "Chipset Features",IDC_STATIC,1,88,393,146\r
+    CONTROL         "A4000T SCSI",IDC_CS_DMAC2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,264,202,125,11\r
+    CONTROL         "Include host SCSI devices",IDC_CS_SCSIMODE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,264,215,125,11\r
     GROUPBOX        "Chipset Revision",IDC_STATIC,1,236,393,46\r
+    CONTROL         "Ramsey revision:",IDC_CS_RAMSEY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,34,248,97,11\r
+    CONTROL         "Fat Gary revision:",IDC_CS_FATGARY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,34,262,97,11\r
+    EDITTEXT        IDC_CS_RAMSEYREV,136,247,45,13,ES_AUTOHSCROLL\r
+    EDITTEXT        IDC_CS_FATGARYREV,136,262,45,13,ES_AUTOHSCROLL\r
+    CONTROL         "Agnus/Alice revision:",IDC_CS_AGNUS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,200,248,107,11\r
+    CONTROL         "Denise/Lisa revision:",IDC_CS_DENISE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,200,262,107,11\r
+    EDITTEXT        IDC_CS_AGNUSREV,311,247,45,13,ES_AUTOHSCROLL\r
+    EDITTEXT        IDC_CS_DENISEREV,311,262,45,13,ES_AUTOHSCROLL\r
 END\r
 \r
 IDD_AVIOUTPUT DIALOGEX 0, 0, 396, 260\r
@@ -704,53 +704,53 @@ BEGIN
     CONTROL         "",IDC_AVIOUTPUT_VIDEO_STATIC,"Static",SS_LEFTNOWORDWRAP | SS_CENTERIMAGE | SS_SUNKEN | WS_GROUP,87,53,298,13\r
     CONTROL         "Disable frame rate limit",IDC_AVIOUTPUT_FRAMELIMITER,\r
                     "Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,72,176,10\r
+    CONTROL         "Capture before filtering",IDC_AVIOUTPUT_ORIGINALSIZE,\r
+                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,210,72,171,10\r
+    CONTROL         "Disable sound output",IDC_AVIOUTPUT_NOSOUNDOUTPUT,\r
+                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,85,176,10\r
+    CONTROL         "Disable sound sync",IDC_AVIOUTPUT_NOSOUNDSYNC,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,210,85,171,10\r
     CONTROL         "AVI output enabled",IDC_AVIOUTPUT_ACTIVATED,"Button",BS_AUTORADIOBUTTON | BS_PUSHLIKE | BS_FLAT,15,100,144,14\r
-    PUSHBUTTON      "Save screenshot",IDC_SCREENSHOT,53,140,87,14\r
     GROUPBOX        "Ripper",IDC_STATIC,1,126,393,53\r
+    PUSHBUTTON      "Save screenshot",IDC_SCREENSHOT,53,140,87,14\r
     PUSHBUTTON      "Pro Wizard 1.62",IDC_PROWIZARD,245,140,87,14,WS_DISABLED\r
+    CONTROL         "Take screenshot before filtering",IDC_SCREENSHOT_ORIGINALSIZE,\r
+                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,54,161,162,10\r
     CONTROL         "Sample ripper",IDC_SAMPLERIPPER_ACTIVATED,"Button",BS_AUTORADIOBUTTON | BS_PUSHLIKE | BS_FLAT,245,159,87,14\r
     GROUPBOX        "Re-recorder",IDC_STATIC,1,182,393,70\r
     CONTROL         "Play recording",IDC_STATEREC_PLAY,"Button",BS_AUTORADIOBUTTON | BS_PUSHLIKE | BS_FLAT,53,194,87,14\r
-    CONTROL         "Disable sound output",IDC_AVIOUTPUT_NOSOUNDOUTPUT,\r
-                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,85,176,10\r
-    CONTROL         "Disable sound sync",IDC_AVIOUTPUT_NOSOUNDSYNC,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,210,85,171,10\r
-    CONTROL         "Capture before filtering",IDC_AVIOUTPUT_ORIGINALSIZE,\r
-                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,210,72,171,10\r
-    CONTROL         "Take screenshot before filtering",IDC_SCREENSHOT_ORIGINALSIZE,\r
-                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,54,161,162,10\r
+    CONTROL         "Re-recording enabled",IDC_STATEREC_RECORD,"Button",BS_AUTORADIOBUTTON | BS_PUSHLIKE | BS_FLAT,214,194,118,14\r
+    CONTROL         "Automatic replay",IDC_STATEREC_AUTOPLAY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,54,217,129,10\r
+    PUSHBUTTON      "Save recording",IDC_STATEREC_SAVE,214,212,118,14\r
     RTEXT           "Recording rate (seconds):",IDC_STATIC,15,235,121,10,SS_CENTERIMAGE | WS_TABSTOP\r
     COMBOBOX        IDC_STATEREC_RATE,141,233,38,65,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP\r
     RTEXT           "Recording buffers:",IDC_STATIC,195,235,91,10,SS_CENTERIMAGE | WS_TABSTOP\r
     COMBOBOX        IDC_STATEREC_BUFFERSIZE,291,233,38,65,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP\r
-    CONTROL         "Re-recording enabled",IDC_STATEREC_RECORD,"Button",BS_AUTORADIOBUTTON | BS_PUSHLIKE | BS_FLAT,214,194,118,14\r
-    PUSHBUTTON      "Save recording",IDC_STATEREC_SAVE,214,212,118,14\r
-    CONTROL         "Automatic replay",IDC_STATEREC_AUTOPLAY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,54,217,129,10\r
 END\r
 \r
 IDD_INPUT DIALOGEX 0, 0, 396, 318\r
 STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD\r
 FONT 8, "MS Sans Serif", 0, 0, 0x1\r
 BEGIN\r
-    CONTROL         "List1",IDC_INPUTLIST,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,5,22,390,220\r
     COMBOBOX        IDC_INPUTTYPE,5,4,106,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
     COMBOBOX        IDC_INPUTDEVICE,116,4,192,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
+    RTEXT           "Device enabled",-1,313,6,66,11,SS_CENTERIMAGE\r
     CONTROL         "",IDC_INPUTDEVICEDISABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,384,7,9,10\r
+    CONTROL         "List1",IDC_INPUTLIST,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,5,22,390,220\r
     COMBOBOX        IDC_INPUTAMIGACNT,5,248,24,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
     COMBOBOX        IDC_INPUTAMIGA,33,248,286,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
     PUSHBUTTON      "Test [] Test input mappings.",IDC_INPUTTEST,324,248,34,14\r
     PUSHBUTTON      "Remap [] Find and remap quickly.",IDC_INPUTREMAP,361,248,34,14\r
     RTEXT           "Joystick dead zone (%):",-1,5,271,106,10,SS_CENTERIMAGE\r
     EDITTEXT        IDC_INPUTDEADZONE,116,270,29,12,ES_NUMBER\r
-    RTEXT           "Digital joy-mouse speed:",-1,147,271,108,10,SS_CENTERIMAGE\r
-    EDITTEXT        IDC_INPUTSPEEDD,260,270,29,12,ES_NUMBER\r
     RTEXT           "Autofire rate (lines):",-1,5,288,106,10,SS_CENTERIMAGE\r
     EDITTEXT        IDC_INPUTAUTOFIRERATE,116,286,29,12,ES_NUMBER\r
+    RTEXT           "Digital joy-mouse speed:",-1,147,271,108,10,SS_CENTERIMAGE\r
+    EDITTEXT        IDC_INPUTSPEEDD,260,270,29,12,ES_NUMBER\r
     RTEXT           "Analog joy-mouse speed:",-1,147,288,108,10,SS_CENTERIMAGE\r
     EDITTEXT        IDC_INPUTSPEEDA,260,287,29,12,ES_NUMBER\r
     PUSHBUTTON      "Copy from:",IDC_INPUTCOPY,324,268,70,14\r
     COMBOBOX        IDC_INPUTCOPYFROM,324,285,70,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
     PUSHBUTTON      "Swap 1<>2",IDC_INPUTSWAP,324,301,70,14\r
-    RTEXT           "Device enabled",-1,313,6,66,11,SS_CENTERIMAGE\r
 END\r
 \r
 IDD_FILTER DIALOGEX 0, 0, 396, 288\r
@@ -761,10 +761,15 @@ BEGIN
     COMBOBOX        IDC_FILTERMODE,20,15,188,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
     COMBOBOX        IDC_FILTERFILTER,215,15,63,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
     PUSHBUTTON      "Reset to defaults",IDC_FILTERDEFAULT,283,15,106,14\r
+    COMBOBOX        IDC_FILTEROVERLAYTYPE,20,36,108,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
+    COMBOBOX        IDC_FILTEROVERLAY,134,36,145,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
+    COMBOBOX        IDC_FILTERAUTOSCALE,284,36,104,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
     RTEXT           "Horiz. size:",-1,7,63,81,10,SS_CENTERIMAGE\r
+    COMBOBOX        IDC_FILTERHZMULT,92,62,35,150,CBS_DROPDOWN | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
     CONTROL         "Slider1",IDC_FILTERHZ,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,147,56,152,19\r
     EDITTEXT        IDC_FILTERHZV,316,58,42,12,ES_CENTER | ES_READONLY\r
     RTEXT           "Vert. size:",-1,7,84,81,10,SS_CENTERIMAGE\r
+    COMBOBOX        IDC_FILTERVZMULT,92,83,35,150,CBS_DROPDOWN | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
     CONTROL         "Slider1",IDC_FILTERVZ,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,147,77,152,19\r
     EDITTEXT        IDC_FILTERVZV,316,79,42,12,ES_CENTER | ES_READONLY\r
     RTEXT           "Horiz. position:",-1,5,105,81,10,SS_CENTERIMAGE\r
@@ -773,27 +778,22 @@ BEGIN
     RTEXT           "Vert. position:",-1,5,125,81,10,SS_CENTERIMAGE\r
     CONTROL         "Slider1",IDC_FILTERVO,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,147,119,151,19\r
     EDITTEXT        IDC_FILTERVOV,316,121,42,12,ES_CENTER | ES_READONLY\r
+    GROUPBOX        "Aspect Ratio Correction",-1,1,152,144,89\r
+    COMBOBOX        IDC_FILTERASPECT,14,169,99,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
+    CONTROL         "Keep autoscale aspect",IDC_FILTERKEEPAUTOSCALEASPECT,\r
+                    "Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,14,189,126,11\r
+    CONTROL         "Keep aspect ratio",IDC_FILTERKEEPASPECT,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,14,204,126,11\r
+    COMBOBOX        IDC_FILTERASPECT2,14,220,99,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
+    GROUPBOX        "Extra Settings",-1,154,152,240,89\r
+    COMBOBOX        IDC_FILTERXTRA,177,172,138,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
+    COMBOBOX        IDC_FILTERSLR,327,172,41,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
     CONTROL         "Slider1",IDC_FILTERXL,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,179,195,141,19\r
     EDITTEXT        IDC_FILTERXLV,327,197,41,12,ES_CENTER | ES_READONLY\r
-    COMBOBOX        IDC_FILTERSLR,327,172,41,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
     GROUPBOX        "Presets",-1,1,245,393,36\r
     COMBOBOX        IDC_FILTERPRESETS,13,260,183,150,CBS_DROPDOWN | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
     PUSHBUTTON      "Load",IDC_FILTERPRESETLOAD,205,259,55,14\r
     PUSHBUTTON      "Save",IDC_FILTERPRESETSAVE,265,259,55,14\r
     PUSHBUTTON      "Delete",IDC_FILTERPRESETDELETE,325,259,55,14\r
-    COMBOBOX        IDC_FILTERHZMULT,92,62,35,150,CBS_DROPDOWN | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
-    COMBOBOX        IDC_FILTERVZMULT,92,83,35,150,CBS_DROPDOWN | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
-    COMBOBOX        IDC_FILTERXTRA,177,172,138,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
-    COMBOBOX        IDC_FILTERASPECT,14,169,99,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
-    CONTROL         "Keep aspect ratio",IDC_FILTERKEEPASPECT,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,14,204,126,11\r
-    COMBOBOX        IDC_FILTERAUTOSCALE,284,36,104,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
-    COMBOBOX        IDC_FILTERASPECT2,14,220,99,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
-    COMBOBOX        IDC_FILTEROVERLAY,134,36,145,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
-    GROUPBOX        "Aspect Ratio Correction",-1,1,152,144,89\r
-    GROUPBOX        "Extra Settings",-1,154,152,240,89\r
-    COMBOBOX        IDC_FILTEROVERLAYTYPE,20,36,108,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
-    CONTROL         "Keep autoscale aspect",IDC_FILTERKEEPAUTOSCALEASPECT,\r
-                    "Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,14,189,126,11\r
 END\r
 \r
 IDD_HARDDRIVE DIALOGEX 0, 0, 396, 74\r
@@ -803,13 +803,13 @@ FONT 8, "MS Sans Serif", 0, 0, 0x0
 BEGIN\r
     LTEXT           "Hard drive:",IDC_STATIC,7,11,80,10\r
     COMBOBOX        IDC_HARDDRIVE,49,9,339,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
-    CONTROL         "Read/write",IDC_HDF_RW,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,172,52,60,10\r
-    DEFPUSHBUTTON   "Add hard drive",IDOK,236,49,73,14\r
-    PUSHBUTTON      "Cancel",IDCANCEL,316,49,73,14\r
     DEFPUSHBUTTON   "Create hard disk image file",IDC_HARDDRIVE_IMAGE,49,29,115,14\r
     EDITTEXT        IDC_PATH_NAME,183,29,97,15,ES_AUTOHSCROLL | NOT WS_VISIBLE\r
-    COMBOBOX        IDC_HDF_CONTROLLER,91,51,61,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
     RTEXT           "HD Controller:",IDC_STATIC,12,52,65,10,SS_CENTERIMAGE\r
+    COMBOBOX        IDC_HDF_CONTROLLER,91,51,61,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
+    CONTROL         "Read/write",IDC_HDF_RW,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,172,52,60,10\r
+    DEFPUSHBUTTON   "Add hard drive",IDOK,236,49,73,14\r
+    PUSHBUTTON      "Cancel",IDCANCEL,316,49,73,14\r
 END\r
 \r
 IDD_MISC2 DIALOGEX 0, 0, 396, 263\r
@@ -819,6 +819,9 @@ BEGIN
     GROUPBOX        "When Active",IDC_STATIC,1,7,125,91\r
     CTEXT           "Run at priority:",IDC_ACTIVE_PRI,10,18,108,10,SS_CENTERIMAGE | WS_TABSTOP\r
     COMBOBOX        IDC_ACTIVE_PRIORITY,10,33,108,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
+    CTEXT           "Mouse uncaptured:",IDC_STATIC,10,50,101,15,SS_CENTERIMAGE\r
+    CONTROL         "Pause emulation",IDC_ACTIVE_PAUSE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,67,109,10\r
+    CONTROL         "Disable sound",IDC_ACTIVE_NOSOUND,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,81,109,10\r
     GROUPBOX        "When Inactive",IDC_STATIC,133,7,126,90\r
     CTEXT           "Run at priority:",IDC_INACTIVE_PRI,144,18,107,10,SS_CENTERIMAGE | WS_TABSTOP\r
     COMBOBOX        IDC_INACTIVE_PRIORITY,144,33,108,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
@@ -829,23 +832,20 @@ BEGIN
     COMBOBOX        IDC_MINIMIZED_PRIORITY,278,33,108,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
     CONTROL         "Pause emulation",IDC_MINIMIZED_PAUSE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,280,67,108,10\r
     CONTROL         "Disable sound",IDC_MINIMIZED_NOSOUND,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,280,81,108,10\r
-    CONTROL         "",IDC_ASSOCIATELIST,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,9,124,238,108\r
     GROUPBOX        "File Extension Associations",IDC_STATIC,0,107,260,155\r
-    PUSHBUTTON      "Deassociate all",IDC_ASSOCIATE_OFF,125,240,85,14\r
+    CONTROL         "",IDC_ASSOCIATELIST,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,9,124,238,108\r
     PUSHBUTTON      "Associate all",IDC_ASSOCIATE_ON,36,240,85,14\r
-    CONTROL         "Pause emulation",IDC_ACTIVE_PAUSE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,67,109,10\r
-    CONTROL         "Disable sound",IDC_ACTIVE_NOSOUND,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,81,109,10\r
-    CTEXT           "Mouse uncaptured:",IDC_STATIC,10,50,101,15,SS_CENTERIMAGE\r
+    PUSHBUTTON      "Deassociate all",IDC_ASSOCIATE_OFF,125,240,85,14\r
 END\r
 \r
 IDD_DISK DIALOGEX 0, 0, 396, 318\r
 STYLE DS_LOCALEDIT | DS_SETFONT | DS_SETFOREGROUND | DS_3DLOOK | DS_CONTROL | DS_CENTER | DS_CENTERMOUSE | WS_CHILD\r
 FONT 8, "MS Sans Serif", 0, 0, 0x0\r
 BEGIN\r
-    CONTROL         "",IDC_DISKLIST,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,1,4,393,275\r
+    PUSHBUTTON      "Insert floppy disk image",IDC_DISKLISTINSERT,72,299,121,15\r
     PUSHBUTTON      "Remove floppy disk image",IDC_DISKLISTREMOVE,202,299,121,15\r
     COMBOBOX        IDC_DISKTEXT,1,281,393,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP\r
-    PUSHBUTTON      "Insert floppy disk image",IDC_DISKLISTINSERT,72,299,121,15\r
+    CONTROL         "",IDC_DISKLIST,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,1,4,393,275\r
 END\r
 \r
 IDD_PANEL DIALOGEX 0, 0, 530, 345\r
@@ -854,15 +854,15 @@ EXSTYLE WS_EX_ACCEPTFILES | WS_EX_CONTROLPARENT
 CAPTION "WinUAE Properties"\r
 FONT 8, "MS Sans Serif", 0, 0, 0x0\r
 BEGIN\r
-    GROUPBOX        "",IDC_PANEL_FRAME,121,5,402,318,NOT WS_VISIBLE\r
     CONTROL         "",IDC_PANELTREE,"SysTreeView32",TVS_HASLINES | TVS_SHOWSELALWAYS | TVS_TRACKSELECT | TVS_NOHSCROLL | WS_BORDER | WS_TABSTOP,3,5,110,321,WS_EX_CLIENTEDGE\r
-    GROUPBOX        "",IDC_PANEL_FRAME_OUTER,118,2,409,324\r
+    GROUPBOX        "",IDC_PANEL_FRAME_OUTER,116,2,409,324\r
+    GROUPBOX        "",IDC_PANEL_FRAME,119,5,402,318,NOT WS_VISIBLE\r
     PUSHBUTTON      "Reset",IDC_RESETAMIGA,3,328,47,14\r
     PUSHBUTTON      "Quit",IDC_QUITEMU,55,328,47,14\r
-    DEFPUSHBUTTON   "OK",IDOK,377,328,47,14\r
-    PUSHBUTTON      "Cancel",IDCANCEL,429,328,47,14\r
-    PUSHBUTTON      "Help",IDHELP,481,328,47,14,WS_DISABLED\r
     PUSHBUTTON      "Restart",IDC_RESTARTEMU,107,328,47,14,NOT WS_VISIBLE\r
+    DEFPUSHBUTTON   "OK",IDOK,375,328,47,14\r
+    PUSHBUTTON      "Cancel",IDCANCEL,427,328,47,14\r
+    PUSHBUTTON      "Help",IDHELP,479,328,47,14,WS_DISABLED\r
 END\r
 \r
 IDD_PATHS DIALOGEX 0, 0, 396, 274\r
@@ -873,8 +873,8 @@ BEGIN
     EDITTEXT        IDC_PATHS_ROM,3,13,377,15,ES_AUTOHSCROLL\r
     PUSHBUTTON      "...",IDC_PATHS_ROMS,384,13,11,15\r
     LTEXT           "Configuration files:",IDC_PATHS_CONFIGL,3,32,164,8,SS_CENTERIMAGE\r
-    EDITTEXT        IDC_PATHS_CONFIG,3,44,377,15,ES_AUTOHSCROLL\r
     CONTROL         "Cache Configuration files",IDC_PATHS_CONFIGCACHE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,177,31,197,11\r
+    EDITTEXT        IDC_PATHS_CONFIG,3,44,377,15,ES_AUTOHSCROLL\r
     PUSHBUTTON      "...",IDC_PATHS_CONFIGS,384,43,11,15\r
     LTEXT           "Screenshots:",IDC_PATHS_SCREENSHOTL,3,62,260,8,SS_CENTERIMAGE\r
     EDITTEXT        IDC_PATHS_SCREENSHOT,3,73,377,15,ES_AUTOHSCROLL\r
@@ -888,14 +888,14 @@ BEGIN
     LTEXT           "Saveimages:",IDC_PATHS_SAVEIMAGEL,3,149,260,8,SS_CENTERIMAGE\r
     EDITTEXT        IDC_PATHS_SAVEIMAGE,3,161,377,15,ES_AUTOHSCROLL\r
     PUSHBUTTON      "...",IDC_PATHS_SAVEIMAGES,384,160,11,15\r
-    PUSHBUTTON      "Reset to defaults",IDC_PATHS_DEFAULT,2,219,92,14\r
-    PUSHBUTTON      "Rescan ROMs",IDC_ROM_RESCAN,2,236,92,14\r
-    PUSHBUTTON      "Clear registry",IDC_RESETREGISTRY,99,236,92,14\r
-    COMBOBOX        IDC_PATHS_DEFAULTTYPE,99,220,163,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
-    PUSHBUTTON      "Clear disk history",IDC_RESETDISKHISTORY,2,253,92,14\r
     LTEXT           "Rips:",IDC_PATHS_RIPSL,3,179,260,8,SS_CENTERIMAGE\r
     EDITTEXT        IDC_PATHS_RIP,3,190,377,15,ES_AUTOHSCROLL\r
     PUSHBUTTON      "...",IDC_PATHS_RIPS,383,189,11,15\r
+    PUSHBUTTON      "Reset to defaults",IDC_PATHS_DEFAULT,2,219,92,14\r
+    PUSHBUTTON      "Rescan ROMs",IDC_ROM_RESCAN,2,236,92,14\r
+    PUSHBUTTON      "Clear disk history",IDC_RESETDISKHISTORY,2,253,92,14\r
+    COMBOBOX        IDC_PATHS_DEFAULTTYPE,99,220,163,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
+    PUSHBUTTON      "Clear registry",IDC_RESETREGISTRY,99,236,92,14\r
     CONTROL         "Use relative paths",IDC_PATHS_RELATIVE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,101,255,161,11\r
 END\r
 \r
@@ -906,6 +906,8 @@ BEGIN
     GROUPBOX        "Emulated Hardware",IDC_QUICKSTART_CONFIG,1,0,393,54\r
     RTEXT           "Model:",IDC_STATIC,5,14,68,10,SS_CENTERIMAGE\r
     COMBOBOX        IDC_QUICKSTART_MODEL,77,12,263,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
+    CONTROL         "NTSC [] North American and Japanese display standard, 60Hz refresh rate. Other countries use PAL (50Hz. display refresh rate)",IDC_NTSC,\r
+                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,347,14,35,12\r
     RTEXT           "Configuration:",IDC_STATIC,5,33,68,10,SS_CENTERIMAGE\r
     COMBOBOX        IDC_QUICKSTART_CONFIGURATION,77,31,310,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
     GROUPBOX        "Compatibility vs Required CPU Power ",IDC_QUICKSTART_COMPA,1,58,393,33\r
@@ -932,8 +934,6 @@ BEGIN
     GROUPBOX        "Mode",IDC_STATIC,250,231,144,28,BS_LEFT\r
     CONTROL         "Start in Quickstart mode",IDC_QUICKSTARTMODE,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_TABSTOP,259,242,131,12\r
     COMBOBOX        IDC_CD0Q_TYPE,199,187,74,50,CBS_DROPDOWNLIST | NOT WS_VISIBLE | WS_VSCROLL | WS_TABSTOP\r
-    CONTROL         "NTSC [] North American and Japanese display standard, 60Hz refresh rate. Other countries use PAL (50Hz. display refresh rate)",IDC_NTSC,\r
-                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,347,14,35,12\r
 END\r
 \r
 IDD_FRONTEND DIALOGEX 0, 0, 420, 242\r
@@ -966,38 +966,38 @@ BEGIN
 END\r
 \r
 IDD_DEBUGGER DIALOGEX 0, 0, 454, 368\r
-STYLE DS_LOCALEDIT | DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME\r
+STYLE DS_LOCALEDIT | DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
 EXSTYLE WS_EX_CONTROLPARENT\r
 CAPTION "WinUAE Debugger"\r
 FONT 8, "Courier New", 0, 0, 0x0\r
 BEGIN\r
-    EDITTEXT        IDC_DBG_OUTPUT1,1,255,370,86,ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | ES_WANTRETURN | WS_VSCROLL | NOT WS_TABSTOP\r
-    EDITTEXT        IDC_DBG_OUTPUT2,1,79,370,262,ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | ES_WANTRETURN | WS_VSCROLL | NOT WS_TABSTOP\r
-    LISTBOX         IDC_DBG_MEM,1,92,370,249,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT\r
-    LISTBOX         IDC_DBG_DASM,1,92,370,249,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT\r
-    EDITTEXT        IDC_DBG_MEMINPUT,1,79,36,12,ES_AUTOHSCROLL | ES_WANTRETURN\r
-    EDITTEXT        IDC_DBG_INPUT,1,342,354,12,ES_AUTOHSCROLL | ES_WANTRETURN\r
-    PUSHBUTTON      "?",IDC_DBG_HELP,356,342,15,12,NOT WS_TABSTOP\r
-    PUSHBUTTON      "Set to PC",IDC_DBG_MEMTOPC,38,79,45,12,NOT WS_TABSTOP\r
     LISTBOX         IDC_DBG_DREG,1,1,52,66,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT\r
     LISTBOX         IDC_DBG_AREG,54,1,52,66,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT\r
     LISTBOX         IDC_DBG_AMEM,106,1,231,66,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT\r
     LISTBOX         IDC_DBG_CCR,338,1,57,42,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT\r
-    LISTBOX         IDC_DBG_SP_VBR,338,44,115,34,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT\r
     LISTBOX         IDC_DBG_MMISC,396,1,57,42,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT\r
     LISTBOX         IDC_DBG_PC,1,68,52,10,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT\r
     LISTBOX         IDC_DBG_PREFETCH,54,68,283,10,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT\r
+    LISTBOX         IDC_DBG_SP_VBR,338,44,115,34,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT\r
+    EDITTEXT        IDC_DBG_OUTPUT2,1,79,370,262,ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | ES_WANTRETURN | WS_VSCROLL | NOT WS_TABSTOP\r
+    PUSHBUTTON      "Set to PC",IDC_DBG_MEMTOPC,38,79,45,12,NOT WS_TABSTOP\r
+    CONTROL         "Auto set",IDC_DBG_AUTOSET,"Button",BS_AUTOCHECKBOX,84,79,50,12\r
+    LISTBOX         IDC_DBG_MCUSTOM,372,79,81,138,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT\r
+    LISTBOX         IDC_DBG_MEM,1,92,370,249,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT\r
+    LISTBOX         IDC_DBG_MEM2,1,167,370,87,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT\r
     LISTBOX         IDC_DBG_FPREG,372,218,81,66,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT\r
+    EDITTEXT        IDC_DBG_OUTPUT1,1,255,370,86,ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | ES_WANTRETURN | WS_VSCROLL | NOT WS_TABSTOP\r
     LISTBOX         IDC_DBG_FPSR,372,285,81,34,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT\r
     LISTBOX         IDC_DBG_MISCCPU,372,320,81,34,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT\r
+    EDITTEXT        IDC_DBG_INPUT,1,342,354,12,ES_AUTOHSCROLL | ES_WANTRETURN\r
+    PUSHBUTTON      "?",IDC_DBG_HELP,356,342,15,12,NOT WS_TABSTOP\r
     CONTROL         "",IDC_DBG_STATUS,"msctls_statusbar32",0x103,0,355,453,12\r
+    LISTBOX         IDC_DBG_DASM,1,92,370,249,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT\r
+    EDITTEXT        IDC_DBG_MEMINPUT,1,79,36,12,ES_AUTOHSCROLL | ES_WANTRETURN\r
     LISTBOX         IDC_DBG_BRKPTS,1,79,370,262,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_VSCROLL\r
-    LISTBOX         IDC_DBG_MCUSTOM,372,79,81,138,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT\r
     LISTBOX         IDC_DBG_MISC,1,79,370,262,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_VSCROLL\r
     LISTBOX         IDC_DBG_CUSTOM,1,79,370,262,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_VSCROLL\r
-    CONTROL         "Auto set",IDC_DBG_AUTOSET,"Button",BS_AUTOCHECKBOX,84,79,50,12\r
     LISTBOX         IDC_DBG_DASM2,1,79,370,87,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT\r
-    LISTBOX         IDC_DBG_MEM2,1,167,370,87,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT\r
 END\r
 \r
 IDD_DBGMEMINPUT DIALOGEX 0, 0, 150, 58\r
@@ -1015,44 +1015,44 @@ IDD_EXPANSION DIALOGEX 0, 0, 396, 278
 STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD\r
 FONT 8, "MS Sans Serif", 0, 0, 0x1\r
 BEGIN\r
+    GROUPBOX        "RTG Graphics Card",IDC_STATIC,1,0,393,189\r
+    COMBOBOX        IDC_RTG_Z2Z3,26,14,68,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
     RTEXT           "Memory: [] Graphics card memory. Required for RTG (Picasso96) emulation.",IDC_GFXCARDTEXT,2,35,76,10,SS_NOTIFY | SS_CENTERIMAGE\r
     CONTROL         "",IDC_P96MEM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,88,31,60,20\r
     EDITTEXT        IDC_P96RAM,152,34,40,12,ES_CENTER | ES_READONLY\r
-    GROUPBOX        "RTG Graphics Card",IDC_STATIC,1,0,393,189\r
-    CONTROL         "Scale if smaller than display size setting",IDC_RTG_SCALE,\r
-                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,25,67,212,10\r
     CONTROL         "Match host and RTG color depth if possible",IDC_RTG_MATCH_DEPTH,\r
                     "Button",BS_AUTOCHECKBOX | WS_TABSTOP,25,54,212,10\r
+    CONTROL         "Scale if smaller than display size setting",IDC_RTG_SCALE,\r
+                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,25,67,212,10\r
+    CONTROL         "Always scale in windowed mode",IDC_RTG_SCALE_ALLOW,\r
+                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,25,80,212,10\r
+    CONTROL         "Hardware vertical blank interrupt",IDC_RTG_VBINTERRUPT,\r
+                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,25,93,212,10\r
+    CONTROL         "Hardware sprite emulation",IDC_RTG_HWSPRITE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,25,107,212,10\r
+    CTEXT           "Color modes:",IDC_STATIC,295,9,83,10,SS_CENTERIMAGE\r
     COMBOBOX        IDC_RTG_8BIT,296,23,82,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
     COMBOBOX        IDC_RTG_16BIT,296,40,82,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
     COMBOBOX        IDC_RTG_24BIT,296,58,82,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
     COMBOBOX        IDC_RTG_32BIT,296,75,82,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
-    CONTROL         "Always scale in windowed mode",IDC_RTG_SCALE_ALLOW,\r
-                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,25,80,212,10\r
-    COMBOBOX        IDC_RTG_SCALE_ASPECTRATIO,282,162,84,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
-    CTEXT           "Aspect ratio:",IDC_STATIC,282,149,83,10,SS_CENTERIMAGE\r
+    COMBOBOX        IDC_RTG_DISPLAYSELECT,11,125,371,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
     CTEXT           "Refresh rate:",IDC_STATIC,30,149,83,10,SS_CENTERIMAGE\r
     COMBOBOX        IDC_RTG_VBLANKRATE,29,162,84,150,CBS_DROPDOWN | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
+    CTEXT           "Buffer mode:",IDC_STATIC,154,149,83,10,SS_CENTERIMAGE\r
+    COMBOBOX        IDC_RTG_BUFFERCNT,153,162,84,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
+    CTEXT           "Aspect ratio:",IDC_STATIC,282,149,83,10,SS_CENTERIMAGE\r
+    COMBOBOX        IDC_RTG_SCALE_ASPECTRATIO,282,162,84,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
+    GROUPBOX        "Miscellaneous Expansions",IDC_STATIC,1,198,172,80\r
+    CONTROL         "Catweasel Z2 emulation [] Catweasel MK2 Zorro II card emulation. Physical Windows compatible Catweasel card and drivers required.",IDC_CATWEASEL,\r
+                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,216,147,11\r
+    CONTROL         "uaescsi.device",IDC_SCSIDEVICE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,229,147,11\r
+    GROUPBOX        "Network",IDC_STATIC,181,198,213,80\r
     CONTROL         "bsdsocket.library [] bsdsocket network library emulation.",IDC_SOCKETS,\r
                     "Button",BS_AUTOCHECKBOX | WS_TABSTOP,202,216,187,11\r
     CONTROL         "uaenet.device [] Sana 2 compatible network device emulation. WinPcap required.",IDC_SANA2,\r
                     "Button",BS_AUTOCHECKBOX | WS_TABSTOP,202,229,187,11\r
     CONTROL         "A2065 Z2 [] A2065 Ethernet Zorro II card emulation. WinPcap required.",IDC_A2065,\r
                     "Button",BS_AUTOCHECKBOX | WS_TABSTOP,202,242,187,11\r
-    GROUPBOX        "Network",IDC_STATIC,181,198,213,80\r
     COMBOBOX        IDC_NETDEVICE,202,257,156,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\r
-    CONTROL         "uaescsi.device",IDC_SCSIDEVICE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,229,147,11\r
-    CONTROL         "Catweasel Z2 emulation [] Catweasel MK2 Zorro II card emulation. Physical Windows compatible Catweasel card and drivers required.",IDC_CATWEASEL,\r
-                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,216,147,11\r
-    GROUPBOX        "Miscellaneous Expansions",IDC_STATIC,1,198,172,80\r
-    COMBOBOX        IDC_RTG_Z2Z3,26,14,68,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
-    CTEXT           "Buffer mode:",IDC_STATIC,154,149,83,10,SS_CENTERIMAGE\r
-    COMBOBOX        IDC_RTG_BUFFERCNT,153,162,84,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
-    CTEXT           "Color modes:",IDC_STATIC,295,9,83,10,SS_CENTERIMAGE\r
-    COMBOBOX        IDC_RTG_DISPLAYSELECT,11,125,371,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r
-    CONTROL         "Hardware vertical blank interrupt",IDC_RTG_VBINTERRUPT,\r
-                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,25,93,212,10\r
-    CONTROL         "Hardware sprite emulation",IDC_RTG_HWSPRITE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,25,107,212,10\r
 END\r
 \r
 IDD_INPUTMAP DIALOGEX 0, 0, 396, 318\r
@@ -1070,8 +1070,8 @@ FONT 8, "MS Sans Serif", 0, 0, 0x0
 BEGIN\r
     DEFPUSHBUTTON   "OK",IDOK,147,51,58,14,NOT WS_VISIBLE\r
     PUSHBUTTON      "Cancel",IDCANCEL,214,51,58,14\r
-    CTEXT           "",IDC_INFOBOX_TEXT2,4,21,412,11,SS_CENTERIMAGE | SS_SUNKEN | WS_TABSTOP\r
     CTEXT           "",IDC_INFOBOX_TEXT1,4,7,412,11,SS_CENTERIMAGE | SS_SUNKEN | WS_TABSTOP\r
+    CTEXT           "",IDC_INFOBOX_TEXT2,4,21,412,11,SS_CENTERIMAGE | SS_SUNKEN | WS_TABSTOP\r
     CTEXT           "",IDC_INFOBOX_TEXT3,4,35,412,11,SS_CENTERIMAGE | SS_SUNKEN | WS_TABSTOP\r
 END\r
 \r
@@ -1082,8 +1082,8 @@ FONT 8, "MS Shell Dlg", 400, 0, 0x1
 BEGIN\r
     DEFPUSHBUTTON   "OK",IDOK,205,185,50,14\r
     PUSHBUTTON      "Cancel",IDCANCEL,259,185,50,14\r
-    CONTROL         "",IDC_LISTDIALOG_LIST,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,7,7,302,171\r
     DEFPUSHBUTTON   "Clear",IDC_LISTDIALOG_CLEAR,6,185,50,14\r
+    CONTROL         "",IDC_LISTDIALOG_LIST,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,7,7,302,171\r
 END\r
 \r
 \r
index 4569364b8c4e1b82fe426bae1b9aa889c8b03ff5..813aaf6db9411cb0e8f39a430b9e08099f3b0c43 100644 (file)
@@ -19,8 +19,8 @@
 #define LANG_DLL 1
 
 //#define WINUAEBETA _T("")
-#define WINUAEBETA _T("13")
-#define WINUAEDATE MAKEBD(2012, 8, 26)
+#define WINUAEBETA _T("14")
+#define WINUAEDATE MAKEBD(2012, 8, 30)
 #define WINUAEEXTRA _T("")
 //#define WINUAEEXTRA _T("AmiKit Preview")
 #define WINUAEREV _T("")
index 9c6e25b24dfabc1ae175269e3c2da4e81a61e5ed..ce5d6847d6ae3f36235406ca781c48613637e52b 100644 (file)
@@ -347,8 +347,16 @@ void getfilterrect2 (RECT *sr, RECT *dr, RECT *zr, int dst_width, int dst_height
                        set_custom_limits (-1, -1, -1, -1);
        
                autoaspectratio = 0;
-               if (currprefs.gfx_filter_keep_autoscale_aspect && crealh > 0 && (scalemode == AUTOSCALE_NORMAL || scalemode == AUTOSCALE_INTEGER_AUTOSCALE)) {
-                       autoaspectratio = ((float)crealh / ch);
+               if (currprefs.gfx_filter_keep_autoscale_aspect && cw > 0 && ch > 0 && crealh > 0 && (scalemode == AUTOSCALE_NORMAL || scalemode == AUTOSCALE_INTEGER_AUTOSCALE || scalemode == AUTOSCALE_MANUAL)) {
+                       float cw2 = cw;
+                       float ch2 = ch;
+                       int res = currprefs.gfx_resolution - currprefs.gfx_vresolution;
+
+                       if (res < 0)
+                               cw2 *= 1 << (-res);
+                       else if (res > 0)
+                               cw2 /= 1 << res;
+                       autoaspectratio = (cw2 / ch2) / (4.0 / 3.0);
                        doautoaspect = true;
                }
 
index 01206bf722c101899cf1f3c6421a4b7706c9635c..88f0a41bfa53902704a745d6f737d846da1ace03 100644 (file)
@@ -15126,6 +15126,12 @@ static void blah(void)
 }
 #endif
 
+static void setdefaultguisize (void)
+{
+       gui_width = GUI_INTERNAL_WIDTH * 90 / 100;
+       gui_height = GUI_INTERNAL_HEIGHT * 90 / 100;
+}
+
 static int GetSettings (int all_options, HWND hwnd)
 {
        static int init_called = 0;
@@ -15190,8 +15196,7 @@ static int GetSettings (int all_options, HWND hwnd)
        int fmultx = 0, fmulty = 0;
        for (;;) {
                int v = 0;
-               gui_width = GUI_INTERNAL_WIDTH * 90 / 100;
-               gui_height = GUI_INTERNAL_HEIGHT * 90 / 100;
+               setdefaultguisize ();
                regqueryint (NULL, _T("GUIResize"), &v);
                gui_resize = v != 0;
                if (full_property_sheet || isfullscreen () == 0) {
@@ -15207,10 +15212,11 @@ static int GetSettings (int all_options, HWND hwnd)
                        regqueryint (NULL, _T("GUISizeFSY"), &gui_height);
                        scaleresource_init (_T("FS"));
                }
-               if (gui_width < MIN_GUI_INTERNAL_WIDTH)
-                       gui_width = MIN_GUI_INTERNAL_WIDTH;
-               if (gui_height < MIN_GUI_INTERNAL_HEIGHT)
-                       gui_height = MIN_GUI_INTERNAL_HEIGHT;
+               if (gui_width < 100 || gui_width > 4096 || gui_height < 100 || gui_height > 4096) {
+                       scaleresource_setdefaults ();
+                       setdefaultguisize ();
+                       fmultx = 0;
+               }
 
                if (all_options || !configstore)
                        CreateConfigStore (NULL, FALSE);
@@ -15221,10 +15227,12 @@ static int GetSettings (int all_options, HWND hwnd)
                if (first)
                        write_log (_T("Entering GUI idle loop\n"));
 
-               if (fmultx > 0)
+               if (fmultx > 0) {
                        scaleresource_setmult (hwnd, -fmultx, -fmulty);
-               else
+               } else {
                        scaleresource_setmult (hwnd, gui_width, gui_height);
+                       //write_log (_T("Requested GUI %dx%d\n"), gui_width, gui_height);
+               }
                tres = scaleresource (panelresource, hwnd, gui_resize);
                dhwnd = CreateDialogIndirect (tres->inst, tres->resource, hwnd, DialogProc);
                dialog_rect.top = dialog_rect.left = 0;
@@ -15235,6 +15243,20 @@ static int GetSettings (int all_options, HWND hwnd)
                if (dhwnd != NULL) {
                        MSG msg;
                        DWORD v;
+                       int w, h;
+
+                       getguisize (dhwnd, &w, &h);
+                       //write_log (_T("GUI %dx%d\n"), w, h);
+                       if (w < 100 || h < 100 || w > 4096 || h > 4096) {
+                               write_log (_T("GUI size (%dx%d) out of range!\n"), w, h);
+                               scaleresource_setdefaults ();
+                               setdefaultguisize ();
+                               SendMessage (dhwnd, WM_COMMAND, IDCANCEL, 0);
+                               fmultx = fmulty = 0;
+                               gui_size_changed = 10;
+                               break;
+                       }
+
 
                        setguititle (dhwnd);
                        ShowWindow (dhwnd, SW_SHOW);
@@ -15292,6 +15314,16 @@ static int GetSettings (int all_options, HWND hwnd)
                                }
                        }
                        psresult = dialogreturn;
+               } else {
+                       static int count;
+                       count++;
+                       if (count > 4) {
+                               pre_gui_message (_T("GUI failed to open"));
+                               abort ();
+                       }
+                       setdefaultguisize ();
+                       scaleresource_setdefaults ();
+                       gui_size_changed = 10;
                }
                if (!gui_size_changed)
                        break;
index cfb7b5aae0b704f72632c34e179c1505d318fd8f..c4d46a983e311a8a1a78cfaf7760b56425fa01ef 100644 (file)
@@ -88,11 +88,11 @@ typedef struct {
 #include <poppack.h>
 
 static int font_vista_ok;
-static wchar_t wfont_vista[] = _T("Segoe UI");
-static wchar_t wfont_xp[] = _T("Tahoma");
-static wchar_t wfont_old[] = _T("MS Sans Serif");
-static TCHAR font_vista[] = _T("Segoe UI");
-static TCHAR font_xp[] = _T("Tahoma");
+static const wchar_t wfont_vista[] = _T("Segoe UI");
+static const wchar_t wfont_xp[] = _T("Tahoma");
+static const wchar_t wfont_old[] = _T("MS Sans Serif");
+static const TCHAR font_vista[] = _T("Segoe UI");
+static const TCHAR font_xp[] = _T("Tahoma");
 
 static int align (double f)
 {
@@ -421,15 +421,20 @@ static void sizefont (HWND hDlg, const TCHAR *name, int size, int style, int wei
        size = -MulDiv (size, lpy, 72);
        HFONT font = CreateFont (size, 0, 0, 0, weight,
                (style & ITALIC_FONTTYPE) != 0, 0, 0, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_DONTCARE, name);
-       HFONT hFontOld = (HFONT)SelectObject (hdc, font);
-       TEXTMETRIC tm;
-       SIZE fsize;
-       GetTextMetrics (hdc, &tm);
-       GetTextExtentPoint32 (hdc, _T("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"), 52, &fsize);
-       *width = (fsize.cx / 26 + 1) / 2;
-       *height = MulDiv (tm.tmHeight, 72, lpy);
-       SelectObject (hdc, hFontOld);
-       DeleteObject (font);
+       if (!font) {
+               *width = 8;
+               *height = 8;
+       } else {
+               HFONT hFontOld = (HFONT)SelectObject (hdc, font);
+               TEXTMETRIC tm;
+               SIZE fsize;
+               GetTextMetrics (hdc, &tm);
+               GetTextExtentPoint32 (hdc, _T("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"), 52, &fsize);
+               *width = (fsize.cx / 26 + 1) / 2;
+               *height = tm.tmHeight;
+               SelectObject (hdc, hFontOld);
+               DeleteObject (font);
+       }
        ReleaseDC (hDlg, hdc);
 }
 
@@ -443,17 +448,30 @@ void scaleresource_setmult (HWND hDlg, int w, int h)
                return;
        }
 
+       int cy = GetSystemMetrics (SM_CYSIZEFRAME);
+       int cx = GetSystemMetrics (SM_CXSIZEFRAME);
+       int caption = GetSystemMetrics (SM_CYCAPTION);
+
        sizefont (hDlg, fontname_gui, fontsize_gui, fontstyle_gui, fontweight_gui, &width, &height);
        sizefont (hDlg, wfont_old, 8, REGULAR_FONTTYPE, FW_REGULAR, &width2, &height2);
 
-       h += GetSystemMetrics (SM_CYBORDER) * 2 + GetSystemMetrics (SM_CYCAPTION);
-       w += GetSystemMetrics (SM_CXSIZEFRAME) * 2;
+       int yy = cy * 2 + caption;
+       int xx = cx * 2;
+
+       w += xx;
+       h += yy;
 
        multx = (w * width2) * 100.0 / (GUI_INTERNAL_WIDTH * width);
        multy = (h * height2) * 100.0 / (GUI_INTERNAL_HEIGHT * height);
 
        multx = MulDiv (multx, 96, lpx);
        multy = MulDiv (multy, 96, lpy);
+
+       if (multx < 50)
+               multx = 50;
+       if (multy < 50)
+               multy = 50;
+
 }
 
 void scaleresource_getmult (int *mx, int *my)
index c1520fd12d31bae3bfd2a4bf6a5ed4079d69afe5..73d66d0c9b947d6ffad2d6b9d69b594221d6a94b 100644 (file)
@@ -1,6 +1,17 @@
 
 - restore only single input target to default.
 
+Beta 14:
+
+- Borderblank emulation rewritten yet again, now borderblank state is included with color 0 change events (this time
+  exactly where it should be), fully cycle-exact, works even if some strange program toggles it multiple time / scanline.
+- Some GUI sanity checks, for example check if GUI size is really small or huge before opening GUI window and also after
+  GUI is open. Reset size and fonts to default if size is out of range.
+- GUI Windows DPI setting compensation fixed.
+- Activate COPJMP bug emulation, only if 68000 CE. (logged since b11)
+- Autoscale aspect ratio fixed. Setting is enabled by default now.
+- Disable map rom if 24-bit address space and 2M ROM (No space for ROM mirror).
+
 Beta 13:
 
 - Parallel port audio sampler had very bad quality on some systems. NOTE: Sampler requires exact DirectSound
@@ -26,9 +37,9 @@ Beta 13:
   drive was reported as empty.
 - Some more manual BPLxDAT emulation updates, Sequential Magnet part garbage introduced in previous update is gone.
 - Color registers were emulated as non-existing instead of write-only in OCS/ECS modes. (I guess only visible difference
+  will be more colorful display if program crashes or does weird things and starts reading from color registers..)
 - DENISEID is now non-existing if 68000 prefetch or cycle-exact and OCS Denise. (Programs may misdetect if no prefetch emulated,
   and now programs, if they even exist, that misdetect it on real OCS A500 will misdetect it on emulation too! :)
-  will be more colorful display if program crashes or does weird things and starts reading from color registers..)
 - Renamed Paths panel "WinUAE defaults"-paths, meaning of selection should make more sense now.
 - Better input qualifier GUI, Windows key default qualifier added.
 - Slot #5-#8 custom events didn't work correctly.
@@ -144,7 +155,7 @@ Beta 8:
   that real 68060 don't have. Integer instructions only, 040/060 FPU emulation still supports all 6888x instructions.
 - Set FPU FPIAR register (No one shouldn't care, except unimplemented FPU exception handler which isn't supported)
 - RTG state restore broke in previous update.
-- Save RTG mode palette to statefile (Quite important missing information if dislay mode is 8-bit..)
+- Save RTG mode palette to statefile (Quite important missing information if display mode is 8-bit..)
 - More memory space reservation updates.
 - "Restart" GUI option improved, shouldn't cause strange errors if new config has 32-bit RAM enabled and old one didn't.
 - Savestates with 32-bit RAM configured should now load without need to first load configuration that has same amount