]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
imported winuaesrc1110b1.zip
authorToni Wilen <twilen@winuae.net>
Sun, 9 Oct 2005 16:50:24 +0000 (19:50 +0300)
committerToni Wilen <twilen@winuae.net>
Mon, 22 Feb 2010 19:27:02 +0000 (21:27 +0200)
18 files changed:
blitter.c
blkdev.c
disk.c
include/options.h
include/scsidev.h
od-win32/avioutput.c
od-win32/blkdev_win32_aspi.c
od-win32/blkdev_win32_spti.c
od-win32/dxwrap.h
od-win32/fsdb_win32.c
od-win32/resources/resource.h
od-win32/resources/winuae.rc
od-win32/win32.c
od-win32/win32.h
od-win32/win32gfx.c
od-win32/win32gui.c
od-win32/winuaechangelog.txt [deleted file]
zfile.c

index 6f20e946cb28a6e0a6929969c263c9c915f13064..8180a44b67d518474eac22698dfbc8751e99a8ad 100755 (executable)
--- a/blitter.c
+++ b/blitter.c
@@ -66,7 +66,7 @@ extern int cycle_line[];
 static long blit_firstline_cycles;
 static long blit_first_cycle;
 static int blit_last_cycle, blit_dmacount, blit_dmacount2;
-static int blit_linecycles, blit_extracycles;
+static int blit_linecycles, blit_extracycles, blit_nod;
 static int *blit_diag;
 
 static uae_u16 ddat1, ddat2;
@@ -570,7 +570,6 @@ STATIC_INLINE void blitter_nxline(void)
 
 static int blit_last_hpos;
 
-static int blitter_dma_cycles_line, blitter_dma_cycles_line_count;
 static int blitter_cyclecounter;
 static int blitter_hcounter1, blitter_hcounter2;
 static int blitter_vcounter1, blitter_vcounter2;
@@ -952,12 +951,15 @@ static void blit_bltset (int con)
 
     ddat1use = ddat2use = 0;
     blit_dmacount = blit_dmacount2 = 0;
+    blit_nod = 1;
     for (i = 0; i < blit_diag[1]; i++) {
        int v = blit_diag[2 + i];
        if (v)
            blit_dmacount++;
        if (v > 0 && v < 4)
            blit_dmacount2++;
+       if (v == 4)
+           blit_nod = 0;
     }
 
     blt_info.blitashift = bltcon0 >> 12;
@@ -1049,13 +1051,11 @@ void do_blitter (int hpos)
 
     blit_maxcyclecounter = 0x7fffffff;
     if (blitter_cycle_exact) {
-       blitter_dma_cycles_line_count = 0;
        blitter_hcounter1 = blitter_hcounter2 = 0;
        blitter_vcounter1 = blitter_vcounter2 = 0;
-       if (blit_dmacount2 == blit_dmacount)
+       if (blit_nod)
            blitter_vcounter2 = blt_info.vblitsize;
        blit_linecyclecounter = 0;
-       blitter_dma_cycles_line = blt_info.hblitsize * blit_dmacount2;
        if (blit_ch == 0)
            blit_maxcyclecounter = blt_info.hblitsize * blt_info.vblitsize;
        return;
index 2125eaff41eb2fa0a65558cc58f82c15284222ea..dcef6dc90908496b3cc3bfb7a23c3c6073de77b0 100755 (executable)
--- a/blkdev.c
+++ b/blkdev.c
@@ -13,6 +13,7 @@
 #include "config.h"
 
 #include "blkdev.h"
+#include "scsidev.h"
 
 static struct device_functions *device_func[2];
 static int ioctl;
@@ -35,7 +36,9 @@ static void install_driver (int flags)
        device_func[DF_SCSI] = &devicefunc_win32_spti;
        installed = 1;
     }
-    if (currprefs.win32_uaescsimode >= 1 || !installed) {
+    if (currprefs.win32_uaescsimode == UAESCSI_ADAPTECASPI ||
+       currprefs.win32_uaescsimode == UAESCSI_NEROASPI ||
+       !installed) {
        device_func[DF_SCSI] = &devicefunc_win32_aspi;
        device_func[DF_IOCTL] = 0;
     }
diff --git a/disk.c b/disk.c
index 364c87d6374920d0451249128ddd65a1089e722a..b0ab93014382ddbae9847a3135af2351e7108084 100755 (executable)
--- a/disk.c
+++ b/disk.c
@@ -1069,8 +1069,6 @@ static void drive_motor (drive * drv, int off)
 #endif
        if (disk_debug_logging > 1)
            write_log (" ->motor on");
-       if (drv->indexhackmode > 0)
-           drv->indexhack = 1;
     }
     if (!drv->motoroff && off) {
        drv->drive_id_scnt = 0; /* Reset id shift reg counter */
index 49f37d1172662192355ad6b1c4dc18c0ae9e5ed4..8df33db439945a839e29e0fc60c26c568123b2b2 100755 (executable)
@@ -9,7 +9,7 @@
 
 #define UAEMAJOR 1
 #define UAEMINOR 1
-#define UAESUBREV 0
+#define UAESUBREV 1
 
 typedef enum { KBD_LANG_US, KBD_LANG_DK, KBD_LANG_DE, KBD_LANG_SE, KBD_LANG_FR, KBD_LANG_IT, KBD_LANG_ES } KbdLang;
 
index ddfb6cc05ef8478890a1b55fa7c060c5d56f66da..7af11fd378175f609200f498c582baf7db31352c 100755 (executable)
@@ -5,7 +5,7 @@
   *
   * (c) 1995 Bernd Schmidt (hardfile.c)
   * (c) 1999 Patrick Ohly
-  * (c) 2001-2002 Toni Wilen
+  * (c) 2001-2005 Toni Wilen
   */
 
 uaecptr scsidev_startup (uaecptr resaddr);
@@ -15,3 +15,10 @@ void scsidev_start_threads (void);
 void scsi_do_disk_change (int device_id, int insert);
 
 extern int log_scsi;
+
+#ifdef _WIN32
+#define UAESCSI_SPTI 0
+#define UAESCSI_SPTISCAN 1
+#define UAESCSI_ADAPTECASPI 2
+#define UAESCSI_NEROASPI 3
+#endif
\ No newline at end of file
index 02938efb780ba0d8c383eee0d70bace59082de35..e8889bd413ec747048230bdf0c63a54c6f100623 100755 (executable)
@@ -889,7 +889,7 @@ void AVIOutput_Initialize(void)
 
 #include <math.h>
 
-#define ADJUST_SIZE 10
+#define ADJUST_SIZE 20
 #define EXP 1.5
 
 void frame_drawn(void)
index c607b975200600f884f2b2600f8e3bb88d1bb84a..3c98bbe98243ffaff7cb7396676e2b7d8667de7e 100755 (executable)
@@ -46,26 +46,88 @@ struct scsi_info {
 static struct scsi_info si[MAX_TOTAL_DEVICES];
 static int unitcnt;
 
-char *get_nero_aspi_path(void)
-{
-    static char path[MAX_DPATH];
-    HKEY key;
-    DWORD type = REG_SZ;
-    DWORD size = sizeof (path);
-
-    if (RegOpenKeyEx (HKEY_LOCAL_MACHINE, "SOFTWARE\\Ahead\\shared", 0, KEY_ALL_ACCESS, &key) == ERROR_SUCCESS) {
-        if (RegQueryValueEx (key, "NeroAPI", 0, &type, (LPBYTE)path, &size) == ERROR_SUCCESS) {
-           HANDLE al;
-           strcat (path, "\\wnaspi32.dll");
-           RegCloseKey (key);
-           al = LoadLibrary(path);
-           if (al) {
-               FreeLibrary(al);
-               return path;
+static int getversion(char *name, VS_FIXEDFILEINFO *ver)
+{
+    int ok = FALSE;
+    DWORD  dwVersionHandle, dwFileVersionInfoSize;
+    LPVOID lpFileVersionData = NULL;
+
+    dwFileVersionInfoSize = GetFileVersionInfoSize(name, &dwVersionHandle);
+    if (dwFileVersionInfoSize) {
+       if (lpFileVersionData = calloc(1, dwFileVersionInfoSize)) {
+           if (GetFileVersionInfo(name, dwVersionHandle, dwFileVersionInfoSize, lpFileVersionData)) {
+               VS_FIXEDFILEINFO *vsFileInfo = NULL;
+               UINT uLen;
+               if (VerQueryValue(lpFileVersionData, TEXT("\\"), (void **)&vsFileInfo, &uLen)) {
+                   if(vsFileInfo) {
+                       memcpy (ver, vsFileInfo, sizeof (*ver));
+                       ok = TRUE;
+                       write_log("%s version %d.%d.%d.%d\n", name,
+                           vsFileInfo->dwFileVersionMS >> 16,
+                           vsFileInfo->dwFileVersionMS & 0xffff,
+                           vsFileInfo->dwFileVersionLS >> 16,
+                           vsFileInfo->dwFileVersionLS & 0xffff);
+                   }
+               }
+           }
+           xfree(lpFileVersionData);
+       }
+    }
+    return ok;
+}
+
+char *get_aspi_path(int neroaspi)
+{
+    static int nero, adaptec;
+    static char path_nero[MAX_DPATH];
+    static char path_adaptec[MAX_DPATH];
+    VS_FIXEDFILEINFO ver;
+
+    switch (neroaspi)
+    {
+       case 1:
+       {
+            HKEY key;
+           DWORD type = REG_SZ;
+           DWORD size = sizeof (path_nero);
+           if (nero > 0)
+               return path_nero;
+           if (nero < 0)
+               return NULL;
+           nero = -1;
+           if (RegOpenKeyEx (HKEY_LOCAL_MACHINE, "SOFTWARE\\Ahead\\shared", 0, KEY_ALL_ACCESS, &key) == ERROR_SUCCESS) {
+               if (RegQueryValueEx (key, "NeroAPI", 0, &type, (LPBYTE)path_nero, &size) == ERROR_SUCCESS) {
+                   strcat (path_nero, "\\wnaspi32.dll");
+                   RegCloseKey (key);
+                   if (getversion(path_nero, &ver)) {
+                       if (ver.dwFileVersionMS >= 0x20000) {
+                           nero = 1;
+                           return path_nero;
+                       }
+                   }
+                   return NULL;
+               }
+               RegCloseKey (key);
+           }
+       }
+       return NULL;
+
+       case 0:
+       {
+           if (adaptec > 0)
+               return path_adaptec;
+           if (adaptec < 0)
+               return NULL;
+           adaptec = -1;
+           strcpy (path_adaptec, "wnaspi32.dll");
+           if (getversion(path_adaptec, &ver)) {
+               if (ver.dwFileVersionMS >= 0x40000) {
+                   adaptec = 1;
+                   return path_adaptec;
+               }
            }
-           return NULL;
        }
-       RegCloseKey (key);
+       return NULL;
     }
     return NULL;
 }
@@ -105,8 +167,8 @@ static int open_driver (SCSI *scgp)
 
     nero = 0;
     strcpy (path, "WNASPI32");
-    if (currprefs.win32_uaescsimode == 2) {
-       char *p = get_nero_aspi_path();
+    if (currprefs.win32_uaescsimode == UAESCSI_NEROASPI) {
+       char *p = get_aspi_path(1);
        if (p) {
            strcpy (path, p);
            nero = 1;
index d2c7c71a4a152ccec6f8853ee9c8aa9f51ee5282..eb850e5f2e8ed3c267dbda34996513b86f5d0d3c 100755 (executable)
@@ -3,7 +3,7 @@
   *
   * WIN32 CDROM/HD low level access code (SPTI)
   *
-  * Copyright 2002 Toni Wilen
+  * Copyright 2002-2005 Toni Wilen
   *
   */
 
@@ -13,6 +13,7 @@
 
 #include "sysconfig.h"
 #include "sysdeps.h"
+#include "options.h"
 
 #ifdef WINDDK
 
@@ -83,7 +84,7 @@ static int doscsi (int unitnum, SCSI_PASS_THROUGH_DIRECT_WITH_BUFFER *swb, int *
        int lasterror = GetLastError();
        *err = lasterror;
        write_log("SCSI ERROR, H=%X:%d:%d:%d:%d: ", di->handle, di->bus, di->path, di->target, di->lun);
-       write_log("Error code = %d, LastError=%d\n", swb->spt.ScsiStatus, lasterror);
+       write_log("Status = %d, Error code = %d, LastError=%d\n", status, swb->spt.ScsiStatus, lasterror);
        scsi_log_before (swb->spt.Cdb, swb->spt.CdbLength,
            swb->spt.DataIn == SCSI_IOCTL_DATA_OUT ? swb->spt.DataBuffer : 0,swb->spt.DataTransferLength);
     }
@@ -396,7 +397,7 @@ int open_scsi_device (int unitnum)
     h = CreateFile(dev,GENERIC_READ|GENERIC_WRITE,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,0,NULL);
     di->handle = h;
     if (h == INVALID_HANDLE_VALUE) {
-       write_log ("SPTI: failed to open cd unit %d err=%d ('%s')\n", unitnum, GetLastError(), dev);
+       write_log ("SPTI: failed to open unit %d err=%d ('%s')\n", unitnum, GetLastError(), dev);
     } else {
        uae_u8 inqdata[37] = { 0 };
        int inqlen;
@@ -415,7 +416,7 @@ int open_scsi_device (int unitnum)
                dev_info[unitnum].isatapi ? "ATAPI" : "SCSI",
                dev_info[unitnum].mediainserted ? "CD inserted" : "Drive empty", inqdata + 8);
        } else {
-           write_log ("SPTI: unit %d, '%s'\n",
+           write_log ("SPTI: unit %d, type %d, '%s'\n",
                unitnum, dev_info[unitnum].type, inqdata + 8);
        }
        dev_info[unitnum].name = my_strdup (inqdata + 8);
@@ -670,6 +671,7 @@ static void GetInquiryData(PCTSTR pDevId, DWORD idx)
     write_log ("---------------------------------------------------------\n");
 
     for (Bus = 0; Bus < AdapterInfo->NumberOfBuses; Bus++) {
+       int luncheck = 0;
        BusData = &AdapterInfo->BusData[Bus];
        InquiryData = (PSCSI_INQUIRY_DATA) ( (PUCHAR) AdapterInfo + BusData->InquiryDataOffset );
        for (Luns = 0; Luns < BusData->NumberOfLogicalUnits; Luns++) {
@@ -679,11 +681,11 @@ static void GetInquiryData(PCTSTR pDevId, DWORD idx)
            write_log ("   %3d        %d         %d          %d     %s     %d\n",
                BusData->InitiatorBusId, InquiryData->PathId, InquiryData->TargetId, 
                InquiryData->Lun, Claimed ? "Yes" : "No ", type);
-           if (!Claimed) {
+           if (Claimed == 0 && !luncheck && type != INQ_DASD) {
+               luncheck = 1;
                sprintf (label, "SCSI(%d):%d:%d:%d:%d", idx, BusData->InitiatorBusId,
                    InquiryData->PathId, InquiryData->TargetId, InquiryData->Lun);
-               //adddrive (label, idx, InquiryData->PathId, InquiryData->TargetId, InquiryData->Lun);
-               adddrive (label, idx, 0, 1, 0);
+               adddrive (label, idx, InquiryData->PathId, InquiryData->TargetId, InquiryData->Lun);
            }
            InquiryData = (PSCSI_INQUIRY_DATA) ( (PUCHAR) AdapterInfo + InquiryData->NextInquiryDataOffset );
        }   // for Luns
@@ -694,6 +696,7 @@ static void GetInquiryData(PCTSTR pDevId, DWORD idx)
     CloseHandle (hDevice);
 }
 
+#if 0
 static void GetChildDevices(DEVINST DevInst)
 {
     DEVINST         childDevInst;
@@ -760,6 +763,7 @@ static void GetChildDevices(DEVINST DevInst)
     } while (TRUE);
 
 }
+#endif
 
 static BOOL GetRegistryProperty(HDEVINFO DevInfo, DWORD Index, int *first)
 {
@@ -931,10 +935,10 @@ static BOOL GetRegistryProperty(HDEVINFO DevInfo, DWORD Index, int *first)
     }
 
     GetInquiryData ((PCTSTR)&deviceInstanceId, Index);
-
+#if 0
     // Find the children devices
     GetChildDevices (deviceInfoData.DevInst);
-
+#endif
     return TRUE;
 }
 
@@ -1005,10 +1009,8 @@ static const char *scsinames[] = { "Tape", "Scanner", NULL };
 static int rescan(void)
 {
     HDEVINFO hDevInfo;
-    HANDLE h;
     int idx, idx2;
     int first;
-    char tmp[100];
 
     for (idx2 = 0; guids[idx2]; idx2++) {
        hDevInfo = SetupDiGetClassDevs(
@@ -1022,11 +1024,14 @@ static int rescan(void)
            SetupDiDestroyDeviceInfoList(hDevInfo);
        }
     }
-
+#if 0
     for (idx2 = 0; scsinames[idx2]; idx2++) {
        int max = 10;
        for (idx = 0; idx < max; idx++) {
+           char tmp[100];
+           HANDLE h;
            sprintf (tmp, "\\\\.\\%s%d", scsinames[idx2], idx);
+           write_log("SPTI: %s\n", tmp);
            h = CreateFile(tmp, GENERIC_READ | GENERIC_WRITE,
                FILE_SHARE_READ | FILE_SHARE_WRITE,
                NULL, OPEN_EXISTING, 0, NULL);
@@ -1038,17 +1043,20 @@ static int rescan(void)
            }
        }
     }
-/*
-    first = 1;
-    hDevInfo = SetupDiGetClassDevs(&GUID_DEVCLASS_SCSIADAPTER, NULL, NULL, DIGCF_PRESENT);
-    if (hDevInfo != INVALID_HANDLE_VALUE) {
-       for (idx = 0; ; idx++) {
-           if (!GetRegistryProperty(hDevInfo, idx, &first))
-               break;
+#endif
+    if (currprefs.win32_uaescsimode == UAESCSI_SPTISCAN) {
+       write_log("SCSI adapter enumeration..\n");
+       first = 1;
+       hDevInfo = SetupDiGetClassDevs(&GUID_DEVCLASS_SCSIADAPTER, NULL, NULL, DIGCF_PRESENT);
+       if (hDevInfo != INVALID_HANDLE_VALUE) {
+           for (idx = 0; ; idx++) {
+               if (!GetRegistryProperty(hDevInfo, idx, &first))
+                   break;
+           }
        }
+       SetupDiDestroyDeviceInfoList(hDevInfo);
+       write_log("SCSI adapter enumeration ends\n");
     }
-    SetupDiDestroyDeviceInfoList(hDevInfo);
-*/
     return 1;
 }
 
index a74bea228d7461aab0fd090c57cacad4ea5a53d0..67b7401d483184bb14cf3e4a87f9926e2492dc6d 100755 (executable)
@@ -15,6 +15,7 @@ struct PicassoResolution
 {
     struct ScreenResolution res;
     int depth;   /* depth in bytes-per-pixel */
+    int residx;
     int refresh[MAX_REFRESH_RATES]; /* refresh-rates in Hz */
     char name[25];
     /* Bit mask of RGBFF_xxx values.  */
@@ -25,10 +26,11 @@ extern GUID *displayGUID;
 
 #define MAX_DISPLAYS 10
 struct MultiDisplay {
-    int primary, disabled;
+    int primary, disabled, gdi;
     GUID guid;
     char *name;
     struct PicassoResolution *DisplayModes;
+    RECT rect;
 };
 extern struct MultiDisplay Displays[MAX_DISPLAYS];
 
index 90551136d00ce6777afd6528dc5dedbdd4b7ab7b..e013ba863b8e019e3c61df47dc78f873104dc051 100755 (executable)
@@ -696,6 +696,7 @@ int dos_errno (void)
 
      case ERROR_FILE_NOT_FOUND:
      case ERROR_INVALID_DRIVE:
+     case ERROR_INVALID_NAME:
        return ERROR_OBJECT_NOT_AROUND;
 
      case ERROR_HANDLE_DISK_FULL:
index 75e946baf353a655353c40402525f426b4044e49..b3bd85c2851bea4be91349fd847155cbc97ede77 100755 (executable)
 #define IDC_DISPLAYSELECT               1024
 #define IDC_AUTOCONFIG                  1025
 #define IDC_PRINTERLIST                 1025
+#define IDC_RESOLUTION3                 1025
+#define IDC_RESOLUTIONDEPTH             1025
 #define IDC_CHIPMEM                     1026
 #define IDC_CREATELOGFILE               1026
 #define IDC_PORT0_JOYS                  1026
 #define IDC_SCSIDEVICE                  1606
 #define IDC_FLASHTEXT2                  1606
 #define IDC_AVIOUTPUT_PAL               1607
-#define IDC_ASPI                        1607
 #define IDC_INPUTTYPE                   1607
 #define IDC_AVIOUTPUT_NTSC              1608
 #define IDC_INPUTSELECTTEXT             1608
index aa36502a2ad155a6540148f5c6e68308b1f5a73a..7e6b45502a1d6ce23e67863f9bda73d990aed563 100755 (executable)
@@ -61,13 +61,13 @@ STYLE DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD
 FONT 8, "MS Sans Serif", 0, 0, 0x1
 BEGIN
     GROUPBOX        "Screen",IDC_SCREENRESTEXT,12,0,199,67,BS_LEFT
-    RTEXT           "Fullscreen",IDC_SELECTRESTEXT,22,17,34,15,SS_CENTERIMAGE
-    COMBOBOX        IDC_DISPLAYSELECT,61,10,143,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
-    COMBOBOX        IDC_RESOLUTION,61,27,77,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
+    RTEXT           "Fullscreen",IDC_SELECTRESTEXT,17,17,34,15,SS_CENTERIMAGE
+    COMBOBOX        IDC_DISPLAYSELECT,57,10,147,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
+    COMBOBOX        IDC_RESOLUTION,57,27,52,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
     COMBOBOX        IDC_REFRESHRATE,143,27,61,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
-    RTEXT           "Windowed",IDC_WINDOWEDTEXT,22,51,35,8
-    EDITTEXT        IDC_XSIZE,61,48,35,12,ES_NUMBER
-    EDITTEXT        IDC_YSIZE,103,48,35,12,ES_NUMBER
+    RTEXT           "Windowed",IDC_WINDOWEDTEXT,18,51,35,8
+    EDITTEXT        IDC_XSIZE,57,48,35,12,ES_NUMBER
+    EDITTEXT        IDC_YSIZE,101,48,35,12,ES_NUMBER
     CONTROL         "VSync",IDC_VSYNC,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_TABSTOP,145,49,54,10
     GROUPBOX        "Settings",IDC_SETTINGSTEXT,12,77,199,89
     CONTROL         "Full Screen",IDC_AFULLSCREEN,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_TABSTOP,35,89,90,10
@@ -90,6 +90,7 @@ BEGIN
     LTEXT           "FPS Adj.",IDC_REFRESH2TEXT,18,149,28,8
     CONTROL         "",IDC_FRAMERATE2,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,46,144,127,20
     EDITTEXT        IDC_RATE2TEXT,177,148,26,12,ES_CENTER | ES_READONLY
+    COMBOBOX        IDC_RESOLUTIONDEPTH,110,27,32,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
 END
 
 IDD_MEMORY DIALOGEX 0, 0, 300, 175
@@ -156,7 +157,7 @@ BEGIN
     CONTROL         "After Picasso96",IDC_TRUST2,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,230,155,64,10
 END
 
-IDD_FLOPPY DIALOGEX 0, 0, 300, 230
+IDD_FLOPPY DIALOGEX 0, 0, 300, 224
 STYLE DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD
 FONT 8, "MS Sans Serif", 0, 0, 0x0
 BEGIN
@@ -188,13 +189,13 @@ BEGIN
     CONTROL         "",IDC_DF3WP,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,238,111,9,15
     PUSHBUTTON      "Eject",IDC_EJECT3,253,110,30,15
     PUSHBUTTON      "...",IDC_DF3,287,109,10,15
-    GROUPBOX        "New disk image",IDC_SETTINGSTEXT,5,147,289,35
-    COMBOBOX        IDC_FLOPPYTYPE,16,160,51,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
-    PUSHBUTTON      "Create Standard ""Floppy"" [] Creates standard 880kb ADF disk image.",IDC_CREATE,76,160,97,15
-    PUSHBUTTON      "Create Custom ""Floppy"" [] Creates ~2Mb low level (MFM) ADF disk image. Useful for programs that use non-AmigaDOS disk format (for example some  save disks or MSDOS formatted floppies)",IDC_CREATE_RAW,183,160,101,15
-    GROUPBOX        "Floppy drive emulation speed",IDC_SETTINGSTEXT2,5,185,289,35
-    CONTROL         "",IDC_FLOPPYSPD,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,32,193,116,20
-    EDITTEXT        IDC_FLOPPYSPDTEXT,169,196,107,12,ES_CENTER | ES_READONLY
+    GROUPBOX        "New disk image",IDC_SETTINGSTEXT,5,183,289,35
+    COMBOBOX        IDC_FLOPPYTYPE,16,196,51,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    PUSHBUTTON      "Create Standard ""Floppy"" [] Creates standard 880kb ADF disk image.",IDC_CREATE,76,196,97,15
+    PUSHBUTTON      "Create Custom ""Floppy"" [] Creates ~2Mb low level (MFM) ADF disk image. Useful for programs that use non-AmigaDOS disk format (for example some  save disks or MSDOS formatted floppies)",IDC_CREATE_RAW,183,196,101,15
+    GROUPBOX        "Floppy drive emulation speed",IDC_SETTINGSTEXT2,5,144,289,35
+    CONTROL         "",IDC_FLOPPYSPD,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,32,152,116,20
+    EDITTEXT        IDC_FLOPPYSPDTEXT,169,155,107,12,ES_CENTER | ES_READONLY
     PUSHBUTTON      "Delete Saveimage",IDC_SAVEIMAGE0,43,5,70,15,NOT WS_VISIBLE
     PUSHBUTTON      "Delete Saveimage",IDC_SAVEIMAGE1,43,40,70,15,NOT WS_VISIBLE
     PUSHBUTTON      "Delete Saveimage",IDC_SAVEIMAGE2,43,75,70,15,NOT WS_VISIBLE
@@ -366,8 +367,8 @@ BEGIN
     COMBOBOX        IDC_KBLED2,22,153,56,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
     COMBOBOX        IDC_KBLED3,22,173,56,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
     GROUPBOX        "Logging:",IDC_STATIC,97,120,195,25
-    CONTROL         "Create log file",IDC_CREATELOGFILE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,107,130,72,10,0,HIDC_CREATELOGFILE
-    CONTROL         "Illegal mem accesses",IDC_ILLEGAL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,189,130,80,10
+    CONTROL         "Create log file",IDC_CREATELOGFILE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,107,131,72,10,0,HIDC_CREATELOGFILE
+    CONTROL         "Illegal mem accesses",IDC_ILLEGAL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,189,131,80,10
     GROUPBOX        "State files:",IDC_STATIC,98,146,195,69
     PUSHBUTTON      "Load state...",IDC_DOLOADSTATE,105,162,49,14
     PUSHBUTTON      "Save state...",IDC_DOSAVESTATE,106,188,49,14
@@ -765,8 +766,8 @@ IDI_PATHS               ICON                    "paths.ico"
 //
 
 VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,1,0,0
- PRODUCTVERSION 1,1,0,0
+ FILEVERSION 1,1,1,0
+ PRODUCTVERSION 1,1,1,0
  FILEFLAGSMASK 0x3fL
 #ifdef _DEBUG
  FILEFLAGS 0x1L
@@ -782,12 +783,12 @@ BEGIN
         BLOCK "040904b0"
         BEGIN
             VALUE "FileDescription", "WinUAE"
-            VALUE "FileVersion", "1.1.0"
+            VALUE "FileVersion", "1.1.1"
             VALUE "InternalName", "WinUAE"
             VALUE "LegalCopyright", "© 1996-2005 under the GNU Public License (GPL)"
             VALUE "OriginalFilename", "WinUAE.exe"
             VALUE "ProductName", "WinUAE"
-            VALUE "ProductVersion", "1.1.0"
+            VALUE "ProductVersion", "1.1.1"
         END
     END
     BLOCK "VarFileInfo"
index 406abb5319b3bd818ea77beba5ce8b96f1b4bba6..e739ae89d4a341db5a818fa806d9fec936d9d8d9 100755 (executable)
@@ -1683,7 +1683,7 @@ uae_u8 *target_load_keyfile (struct uae_prefs *p, char *path, int *sizep)
 }
 
 
-extern char *get_nero_aspi_path(void);
+extern char *get_aspi_path(int);
 
 void target_default_options (struct uae_prefs *p, int type)
 {
@@ -1706,7 +1706,7 @@ void target_default_options (struct uae_prefs *p, int type)
        p->win32_automount_drives = 0;
        p->win32_automount_netdrives = 0;
        p->win32_kbledmode = 0;
-       p->win32_uaescsimode = get_nero_aspi_path() ? 2 : ((os_winnt && os_winnt_admin) ? 0 : 1);
+       p->win32_uaescsimode = get_aspi_path(1) ? 2 : ((os_winnt && os_winnt_admin) ? 0 : 1);
     }
     if (type == 1 || type == 0) {
        p->win32_midioutdev = -2;
@@ -1714,7 +1714,7 @@ void target_default_options (struct uae_prefs *p, int type)
     }
 }
 
-static const char *scsimode[] = { "SPTI", "AdaptecASPI", "NeroASPI", 0 };
+static const char *scsimode[] = { "SPTI", "SPTI+SCSISCAN", "AdaptecASPI", "NeroASPI", 0 };
 
 void target_save_options (struct zfile *f, struct uae_prefs *p)
 {
@@ -1797,7 +1797,7 @@ int target_parse_option (struct uae_prefs *p, char *option, char *value)
     if (cfgfile_yesno (option, value, "aspi", &v)) {
        p->win32_uaescsimode = 0;
        if (v)
-           p->win32_uaescsimode = get_nero_aspi_path() ? 2 : 1;
+           p->win32_uaescsimode = get_aspi_path(1) ? 2 : 1;
        return 1;
     }
 
@@ -2341,40 +2341,44 @@ static void getstartpaths(int start_data)
     }
 
     p = getenv("AMIGAFOREVERDATA");
-    if (start_data == 0 && p ) {
+    if (p) {
        strcpy (tmp, p);
        strcpy (start_path_af, p);
        v = GetFileAttributes(tmp);
        if (v != INVALID_FILE_ATTRIBUTES && (v & FILE_ATTRIBUTE_DIRECTORY)) {
-           if (path_done == 0) {
-               strcpy (start_path_data, start_path_af);
-               strcat (start_path_data, "WinUAE");
-               path_done = 1;
+           if (start_data == 0) {
+               if (path_done == 0) {
+                   strcpy (start_path_data, start_path_af);
+                   strcat (start_path_data, "WinUAE");
+                   path_done = 1;
+               }
+               start_data = 1;
            }
-           start_data = 1;
            af_path_2005 = 1;
        }
     }
 
-    if (start_data == 0) {
+    {
        BOOL ok = FALSE;
        if (pSHGetFolderPath)
-           ok = SUCCEEDED(pSHGetFolderPath(NULL, CSIDL_COMMON_DOCUMENTS, NULL, 0, start_path_data));
+           ok = SUCCEEDED(pSHGetFolderPath(NULL, CSIDL_COMMON_DOCUMENTS, NULL, 0, tmp));
        else if (pSHGetSpecialFolderPath)
-           ok = pSHGetSpecialFolderPath(NULL, start_path_data, CSIDL_COMMON_DOCUMENTS, 0);
+           ok = pSHGetSpecialFolderPath(NULL, tmp, CSIDL_COMMON_DOCUMENTS, 0);
        if (ok) {
-           strcpy (start_path_af, start_path_data);
+           strcpy (start_path_af, tmp);
            strcat (start_path_af, "\\Amiga Files\\");
            strcpy (tmp, start_path_af);
            strcat(tmp, "WinUAE");
            v = GetFileAttributes(tmp);
            if (v != INVALID_FILE_ATTRIBUTES && (v & FILE_ATTRIBUTE_DIRECTORY)) {
-               if (path_done == 0) {
-                   strcpy (start_path_data, start_path_af);
-                   strcat (start_path_data, "WinUAE");
-                   path_done = 1;
+               if (start_data == 0) {
+                   if (path_done == 0) {
+                       strcpy (start_path_data, start_path_af);
+                       strcat (start_path_data, "WinUAE");
+                       path_done = 1;
+                   }
+                   start_data = 1;
                }
-               start_data = 1;
                af_path_2005 = 1;
            }
        }
index aa9f9b3c5ec82fc49dff0ce9c60b65a4894d4b64..dc926adec69504327e6aff08c9d2bb2ffb5e5b78 100755 (executable)
@@ -21,8 +21,8 @@ extern int manual_painting_needed;
 extern int manual_palette_refresh_needed;
 extern int mouseactive, focus;
 extern int ignore_messages_all;
-#define WINUAEBETA 0
-#define WINUAEBETASTR ""
+#define WINUAEBETA 1
+#define WINUAEBETASTR " Beta 1"
 
 extern char start_path_exe[MAX_DPATH];
 extern char start_path_data[MAX_DPATH];
index 84005cd10295cb43d9b77c46aa18999bed740011..f3111cce991a1ddc51351de126cfa7726ef2a2e0 100755 (executable)
@@ -490,10 +490,19 @@ static int resolution_compare (const void *a, const void *b)
 }
 static void sortmodes (void)
 {
-    int        count = 0;
-    while (DisplayModes[count].depth >= 0)
-       count++;
-    qsort (DisplayModes, count, sizeof (struct PicassoResolution), resolution_compare);
+    int        i = 0, idx = -1;
+    int pw = -1, ph = -1;
+    while (DisplayModes[i].depth >= 0)
+       i++;
+    qsort (DisplayModes, i, sizeof (struct PicassoResolution), resolution_compare);
+    for (i = 0; DisplayModes[i].depth >= 0; i++) {
+       if (DisplayModes[i].res.height != ph || DisplayModes[i].res.width != pw) {
+           ph = DisplayModes[i].res.height;
+           pw = DisplayModes[i].res.width;
+           idx++;
+       }
+        DisplayModes[i].residx = idx;
+    }
 }
 
 static void modesList (void)
@@ -533,10 +542,26 @@ BOOL CALLBACK displaysCallback (GUID *guid, LPSTR desc, LPSTR name, LPVOID ctx,
     return 1;
 }
 
+static BOOL CALLBACK monitorEnumProc(HMONITOR h, HDC hdc, LPRECT rect, LPARAM data)
+{
+    MONITORINFOEX lpmi;
+    int cnt = *((int*)data);
+    if (!Displays[cnt].name)
+       return FALSE;
+    lpmi.cbSize = sizeof (lpmi);
+    GetMonitorInfo(h, (LPMONITORINFO)&lpmi);
+    Displays[cnt].rect = *rect;
+    Displays[cnt].gdi = TRUE;
+    (*((int*)data))++;
+    return TRUE;
+}
+
 void enumeratedisplays (int multi)
 {
     if (multi) {
+       int cnt = 1;
        DirectDraw_EnumDisplays (displaysCallback);
+       EnumDisplayMonitors(NULL, NULL, monitorEnumProc, (LPARAM)&cnt);
     } else {
        Displays[0].primary = 1;
        Displays[0].name = "Display";
@@ -1701,6 +1726,8 @@ static int create_windows (void)
 {
     int fs = currentmode->flags & (DM_W_FULLSCREEN | DM_DX_FULLSCREEN | DM_D3D_FULLSCREEN);
     DWORD exstyle = currprefs.win32_notaskbarbutton ? 0 : WS_EX_APPWINDOW;
+    DWORD flags = 0;
+    DWORD style = NORMAL_WINDOW_STYLE  | WS_CLIPCHILDREN | WS_CLIPSIBLINGS;
     HWND hhWnd = currprefs.win32_notaskbarbutton ? hHiddenWnd : NULL;
 
     if (!fs)  {
@@ -1748,10 +1775,18 @@ static int create_windows (void)
            }
            break;
        }
+#if 0
+       if (currprefs.gfx_display > 0) {
+           rc = Displays[currprefs.gfx_display].rect;
+           flags |= WS_EX_TOPMOST;
+           style = WS_POPUP;
+       }
+#endif
+       flags |= (currprefs.win32_alwaysontop ? WS_EX_TOPMOST : 0);
 
-       hMainWnd = CreateWindowEx (WS_EX_ACCEPTFILES | exstyle | (currprefs.win32_alwaysontop ? WS_EX_TOPMOST : 0),
+       hMainWnd = CreateWindowEx (WS_EX_ACCEPTFILES | exstyle | flags,
                                "PCsuxRox", "WinUAE",
-                               NORMAL_WINDOW_STYLE  | WS_CLIPCHILDREN | WS_CLIPSIBLINGS,
+                               style,
                                rc.left, rc.top,
                                rc.right - rc.left + 1, rc.bottom - rc.top + 1,
                                hhWnd, NULL, 0, NULL);
index 71dc4d5cee0075d28d7eda924e97a7d9cbcd5ea3..65c29dd4b76025946432accf8beea47e31ba981d 100755 (executable)
@@ -2754,6 +2754,8 @@ static INT_PTR CALLBACK PathsDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM
                if (hWinUAEKey)
                    RegSetValueEx (hWinUAEKey, "PathMode", 0, REG_SZ, (CONST BYTE *)pathmode, strlen(pathmode) + 1);
                set_path ("KickstartPath", NULL);
+               if (path_type == 2005)
+                   strcat (start_path_data, "WinUAE\\");
                set_path ("ConfigurationPath", NULL);
                set_path ("ScreenshotPath", NULL);
                set_path ("StatefilePath", NULL);
@@ -3278,43 +3280,43 @@ static void LoadNthString( DWORD value, char *nth, DWORD dwNthMax )
     switch( value )
     {
        case 1:
-           WIN32GUI_LoadUIString( IDS_SECOND, nth, dwNthMax );
+           WIN32GUI_LoadUIString(IDS_SECOND, nth, dwNthMax);
        break;
 
        case 2:
-           WIN32GUI_LoadUIString( IDS_THIRD, nth, dwNthMax );  
+           WIN32GUI_LoadUIString(IDS_THIRD, nth, dwNthMax);    
        break;
        
        case 3:
-           WIN32GUI_LoadUIString( IDS_FOURTH, nth, dwNthMax ); 
+           WIN32GUI_LoadUIString(IDS_FOURTH, nth, dwNthMax);   
        break;
        
        case 4:
-           WIN32GUI_LoadUIString( IDS_FIFTH, nth, dwNthMax );  
+           WIN32GUI_LoadUIString(IDS_FIFTH, nth, dwNthMax);    
        break;
        
        case 5:
-           WIN32GUI_LoadUIString( IDS_SIXTH, nth, dwNthMax );  
+           WIN32GUI_LoadUIString(IDS_SIXTH, nth, dwNthMax);    
        break;
        
        case 6:
-           WIN32GUI_LoadUIString( IDS_SEVENTH, nth, dwNthMax );        
+           WIN32GUI_LoadUIString(IDS_SEVENTH, nth, dwNthMax);  
        break;
        
        case 7:
-           WIN32GUI_LoadUIString( IDS_EIGHTH, nth, dwNthMax ); 
+           WIN32GUI_LoadUIString(IDS_EIGHTH, nth, dwNthMax);   
        break;
        
        case 8:
-           WIN32GUI_LoadUIString( IDS_NINTH, nth, dwNthMax );  
+           WIN32GUI_LoadUIString(IDS_NINTH, nth, dwNthMax);    
        break;
        
        case 9:
-           WIN32GUI_LoadUIString( IDS_TENTH, nth, dwNthMax );  
+           WIN32GUI_LoadUIString(IDS_TENTH, nth, dwNthMax);    
        break;
        
        default:
-           strcpy( nth, "" );
+           strcpy(nth, "");
     }
 }
 
@@ -3391,9 +3393,9 @@ static int display_mode_index(uae_u32 x, uae_u32 y, uae_u32 d)
 
     i = 0;
     while (DisplayModes[i].depth >= 0) {
-       ifDisplayModes[i].res.width == x &&
+       if (DisplayModes[i].res.width == x &&
            DisplayModes[i].res.height == y &&
-           DisplayModes[i].depth == d )
+           DisplayModes[i].depth == d)
            break;
        i++;
     }
@@ -3472,6 +3474,7 @@ void init_da (HWND hDlg)
 }
 #endif
 
+static int gui_display_depths[3];
 static void init_display_mode (HWND hDlg)
 {
    int d, d2, index;
@@ -3521,7 +3524,22 @@ static void init_display_mode (HWND hDlg)
     }
 
     if ((index = display_mode_index (workprefs.gfx_width_fs, workprefs.gfx_height_fs, d)) >= 0) {
-       SendDlgItemMessage( hDlg, IDC_RESOLUTION, CB_SETCURSEL, index, 0 );
+       int i, cnt;
+       SendDlgItemMessage (hDlg, IDC_RESOLUTION, CB_SETCURSEL, DisplayModes[index].residx, 0);
+       SendDlgItemMessage(hDlg, IDC_RESOLUTIONDEPTH, CB_RESETCONTENT, 0, 0);
+       cnt = 0;
+       gui_display_depths[0] = gui_display_depths[1] = gui_display_depths[2] = -1;
+       for (i = 0; DisplayModes[i].depth >= 0; i++) {
+           if (DisplayModes[i].residx == DisplayModes[index].residx) {
+               char tmp[64];
+               sprintf (tmp, "%d", DisplayModes[i].depth * 8);
+               SendDlgItemMessage(hDlg, IDC_RESOLUTIONDEPTH, CB_ADDSTRING, 0, (LPARAM)tmp);
+               if (DisplayModes[i].depth == d)
+                   SendDlgItemMessage (hDlg, IDC_RESOLUTIONDEPTH, CB_SETCURSEL, cnt, 0);
+               gui_display_depths[cnt] = DisplayModes[i].depth;
+               cnt++;
+           }
+       }
        init_frequency_combo (hDlg, index);
     }
 }
@@ -3581,10 +3599,16 @@ static void values_to_displaydlg (HWND hDlg)
 
 static void init_resolution_combo (HWND hDlg)
 {
-    int i = 0;
+    int i = 0, idx = -1;
+    char tmp[64];
+
     SendDlgItemMessage(hDlg, IDC_RESOLUTION, CB_RESETCONTENT, 0, 0);
     while (DisplayModes[i].depth >= 0) {
-       SendDlgItemMessage( hDlg, IDC_RESOLUTION, CB_ADDSTRING, 0, (LPARAM)(LPCTSTR)DisplayModes[i].name);
+       if (DisplayModes[i].residx != idx) {
+           sprintf (tmp, "%dx%d", DisplayModes[i].res.width, DisplayModes[i].res.height);
+           SendDlgItemMessage( hDlg, IDC_RESOLUTION, CB_ADDSTRING, 0, (LPARAM)tmp);
+           idx = DisplayModes[i].residx;
+       }
        i++;
     }
 }
@@ -3593,17 +3617,18 @@ static void init_displays_combo (HWND hDlg)
     int i = 0;
     SendDlgItemMessage(hDlg, IDC_DISPLAYSELECT, CB_RESETCONTENT, 0, 0);
     while (Displays[i].name) {
-       SendDlgItemMessage( hDlg, IDC_DISPLAYSELECT, CB_ADDSTRING, 0, (LPARAM)Displays[i].name);
+       SendDlgItemMessage(hDlg, IDC_DISPLAYSELECT, CB_ADDSTRING, 0, (LPARAM)Displays[i].name);
        i++;
     }
     if (workprefs.gfx_display >= i)
        workprefs.gfx_display = 0;
-    SendDlgItemMessage( hDlg, IDC_DISPLAYSELECT, CB_SETCURSEL, workprefs.gfx_display, 0);
+    SendDlgItemMessage(hDlg, IDC_DISPLAYSELECT, CB_SETCURSEL, workprefs.gfx_display, 0);
 }
 
 static void values_from_displaydlg (HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)
 {
     BOOL success = FALSE;
+    int i, j;
     int gfx_width = workprefs.gfx_width_win;
     int gfx_height = workprefs.gfx_height_win;
 
@@ -3666,13 +3691,31 @@ static void values_from_displaydlg (HWND hDlg, UINT msg, WPARAM wParam, LPARAM l
                init_display_mode (hDlg);
            }
            return;
-       } else if (LOWORD (wParam) == IDC_RESOLUTION) {
-           LRESULT posn = SendDlgItemMessage (hDlg, IDC_RESOLUTION, CB_GETCURSEL, 0, 0);
-           if (posn == CB_ERR)
+       } else if (LOWORD (wParam) == IDC_RESOLUTION || LOWORD(wParam) == IDC_RESOLUTIONDEPTH) {
+           LRESULT posn1, posn2;
+           posn1 = SendDlgItemMessage (hDlg, IDC_RESOLUTION, CB_GETCURSEL, 0, 0);
+           if (posn1 == CB_ERR)
+               return;
+           posn2 = SendDlgItemMessage (hDlg, IDC_RESOLUTIONDEPTH, CB_GETCURSEL, 0, 0);
+           if (posn2 == CB_ERR)
+               return;
+           for (i = 0; DisplayModes[i].depth >= 0; i++) {
+               if (DisplayModes[i].residx == posn1)
+                   break;
+           }
+           if (DisplayModes[i].depth < 0)
                return;
-           workprefs.gfx_width_fs  = DisplayModes[posn].res.width;
-           workprefs.gfx_height_fs = DisplayModes[posn].res.height;
-           switch( DisplayModes[posn].depth )
+           j = i;
+           while (DisplayModes[i].residx == posn1) {
+               if (DisplayModes[i].depth == gui_display_depths[posn2])
+                   break;
+               i++;
+           }
+           if (DisplayModes[i].residx != posn1)
+               i = j;
+           workprefs.gfx_width_fs  = DisplayModes[i].res.width;
+           workprefs.gfx_height_fs = DisplayModes[i].res.height;
+           switch(DisplayModes[i].depth)
            {
            case 2:
                workprefs.color_mode = 2;
@@ -3688,7 +3731,7 @@ static void values_from_displaydlg (HWND hDlg, UINT msg, WPARAM wParam, LPARAM l
            /* Set the Int boxes */
            SetDlgItemInt (hDlg, IDC_XSIZE, workprefs.gfx_width_win, FALSE);
            SetDlgItemInt (hDlg, IDC_YSIZE, workprefs.gfx_height_win, FALSE);
-           init_frequency_combo (hDlg, posn);
+           init_frequency_combo (hDlg, i);
        } else if (LOWORD (wParam) == IDC_REFRESHRATE) {
            LRESULT posn1, posn2;
            posn1 = SendDlgItemMessage (hDlg, IDC_REFRESHRATE, CB_GETCURSEL, 0, 0);
@@ -3735,8 +3778,8 @@ static INT_PTR CALLBACK DisplayDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPAR
        SendDlgItemMessage (hDlg, IDC_FRAMERATE, TBM_SETRANGE, TRUE, MAKELONG (MIN_REFRESH_RATE, MAX_REFRESH_RATE));
        SendDlgItemMessage (hDlg, IDC_FRAMERATE2, TBM_SETPAGESIZE, 0, 1);
        SendDlgItemMessage (hDlg, IDC_FRAMERATE2, TBM_SETRANGE, TRUE, MAKELONG (5, 99));
-       init_displays_combo( hDlg );
-       init_resolution_combo( hDlg );
+       init_displays_combo (hDlg);
+       init_resolution_combo (hDlg);
 #if 0
        init_da (hDlg);
 #endif
@@ -4286,7 +4329,7 @@ static void enable_for_miscdlg (HWND hDlg)
 #endif
 #if !defined (SCSIEMU)
        EnableWindow (GetDlgItem(hDlg, IDC_SCSIDEVICE), FALSE);
-       EnableWindow (GetDlgItem(hDlg, IDC_ASPI), FALSE);
+       EnableWindow (GetDlgItem (hDlg, IDC_SCSIMODE), workprefs.scsi ? TRUE : FALSE);
 #endif
        if (workprefs.win32_logfile)
            EnableWindow (GetDlgItem (hDlg, IDC_ILLEGAL), TRUE);
@@ -4295,7 +4338,6 @@ static void enable_for_miscdlg (HWND hDlg)
        EnableWindow (GetDlgItem (hDlg, IDC_DOSAVESTATE), FALSE);
        EnableWindow (GetDlgItem (hDlg, IDC_STATE_RATE), workprefs.statecapture ? TRUE : FALSE);
        EnableWindow (GetDlgItem (hDlg, IDC_STATE_BUFFERSIZE), workprefs.statecapture ? TRUE : FALSE);
-       EnableWindow (GetDlgItem (hDlg, IDC_SCSIMODE), workprefs.scsi ? TRUE : FALSE);
     }
 }
 
@@ -4343,29 +4385,15 @@ static void misc_addpri (HWND hDlg, int v, int pri)
     SendDlgItemMessage (hDlg, v, CB_SETCURSEL, pri, 0);
 }
 
-extern char *get_nero_aspi_path(void);
+extern char *get_aspi_path(int);
 
 static void misc_scsi(HWND hDlg)
 {
-    char txt[100];
-    HANDLE al;
-
     SendDlgItemMessage (hDlg, IDC_SCSIMODE, CB_RESETCONTENT, 0, 0);
-    strcpy (txt, "(SPTI)");
-    if (os_winnt && os_winnt_admin)
-       strcpy (txt, "SPTI");
-    SendDlgItemMessage (hDlg, IDC_SCSIMODE, CB_ADDSTRING, 0, (LPARAM)txt);
-    strcpy (txt, "(AdaptecASPI)");
-    al = LoadLibrary("wnaspi32.dll");
-    if (al) {
-       FreeLibrary(al);
-       strcpy (txt, "AdaptecASPI");
-    }
-    SendDlgItemMessage (hDlg, IDC_SCSIMODE, CB_ADDSTRING, 0, (LPARAM)txt);
-    strcpy (txt, "(NeroASPI)");
-    if (get_nero_aspi_path())
-       strcpy (txt, "NeroASPI");
-    SendDlgItemMessage (hDlg, IDC_SCSIMODE, CB_ADDSTRING, 0, (LPARAM)txt);
+    SendDlgItemMessage (hDlg, IDC_SCSIMODE, CB_ADDSTRING, 0, (LPARAM)((os_winnt && os_winnt_admin) ? "SPTI" : "(SPTI)"));
+    SendDlgItemMessage (hDlg, IDC_SCSIMODE, CB_ADDSTRING, 0, (LPARAM)((os_winnt && os_winnt_admin) ? "SPTI + SCSI SCAN" : "(SPTI + SCSI SCAN)"));
+    SendDlgItemMessage (hDlg, IDC_SCSIMODE, CB_ADDSTRING, 0, (LPARAM)((get_aspi_path(0)) ? "AdaptecASPI" : "(AdaptecASPI)"));
+    SendDlgItemMessage (hDlg, IDC_SCSIMODE, CB_ADDSTRING, 0, (LPARAM)((get_aspi_path(1)) ? "NeroASPI" : "(NeroASPI)"));
     SendDlgItemMessage (hDlg, IDC_SCSIMODE, CB_SETCURSEL, workprefs.win32_uaescsimode, 0);
 }
 
@@ -4397,11 +4425,6 @@ static void values_to_miscdlg (HWND hDlg)
     CheckDlgButton (hDlg, IDC_CATWEASEL, workprefs.catweasel);
     CheckDlgButton (hDlg, IDC_STATE_CAPTURE, workprefs.statecapture);
 
-    if (!os_winnt || !os_winnt_admin) {
-       EnableWindow( GetDlgItem( hDlg, IDC_ASPI), FALSE );
-       CheckDlgButton( hDlg, IDC_ASPI, BST_CHECKED );
-    }
-
     misc_kbled (hDlg, IDC_KBLED1, workprefs.keyboard_leds[0]);
     misc_kbled (hDlg, IDC_KBLED2, workprefs.keyboard_leds[1]);
     misc_kbled (hDlg, IDC_KBLED3, workprefs.keyboard_leds[2]);
diff --git a/od-win32/winuaechangelog.txt b/od-win32/winuaechangelog.txt
deleted file mode 100644 (file)
index 696817d..0000000
+++ /dev/null
@@ -1,2860 +0,0 @@
-Beta 10: FINAL
-
-- hardfile config loading bug if hardfile was missing
-  (broke some versions ago)
-- filesystem Examine(<root dir>) should return 2 (ST_USERDIR)
-  instead of 1 (ST_ROOT) ST_ROOT isn't used. OFS, FFS and SFS
-  also return ST_USERDIR. (and Guru Book says ST_ROOT isn't used)
-  This fixes some (buggy?) file checking routines.
-- fixed really stupid diskrdy-signal bug (broke in 0990b6..)
-
-Beta 9:
-
-- added "non-path" Kickstart ROM mode in config files.
-  (useful for frontend-type programs etc..)
-  Syntax:
-  kickstart_rom=v<ver>[.<rev>] [r<subver>.<subrev>] [<model>]
-  Only <ver> is mandatory. Model must be specified if requested
-  ROM file is not a regular Kickstart ROM.
-  Examples:
-  v1.3 (select any autodetected 1.3)
-  v1.2 r33.166 (must be KS1.2 revision 33.166)
-  v1.2 A500 (KS1.2 rev 33.180)
-  v2.05 A600HD (KS 2.05, rev 37.350 or 37.300)
-  v3.1 r40.68 A1200 (KS 3.1 rev 40.68 A1200)
-  v3.1 r40.68 (KS 3.1 rev 40.68, both A1200 or A4000 version allowed)
-  v3.1;v3.0 (any revision of KS 3.1 or 3.0)
-  v3 A1200 (A1200 KS 3.1 or 3.0)
-  v2 AR (any Action Replay v2)
-  Multiple matches: highest available version is selected
-  Extended ROM config item: kickstart_ext_rom=
-  Cartridge ROM config item: cart=
-  Arcadia ROMs:
-  cart=Arcadia <name>, for example cart=Arcadia Xenon
-- CIA INMODE=3 normally equals INMODE=2 (CIA serial port clock pin
-  is normally high while idle) Fixes game Warp
-- "bad hardfile"-messages replaced with something slightly better
-  (can't be translated yet)
-- added support for amigaforever.dll (optional rom.key alternative)
-- compressed hardfiles supported. current restrictions:
-  - max 100M (whole hardfile will be kept uncompressed in memory)
-  - all written data will be lost after reseting or exiting WinUAE
-  - hardfile filename extension must be hdz,zip,rar or 7z
-- hardfiles can be dragndropped to harddisk-panel
-- statefiles with Action Replay work again (broke in 0.9.90)
-- OCS/ECS Amiga colorspace translation to native color space was
-  not completely correct (I guess since the beginning..) for example
-  0xfff was translated to 0xf0f0f0, not 0xffffff (basically this makes
-  OCS/ECS modes slightly brighter)
-
-Beta 8:
-
-- ACTION_COPY_DIR_FH fix (it was totally broken..)
-- Disk Swapper: right button doubleclick in "Disk image"-column:
-  removes disk in disk swapper panel. right button singleclick in
-  "Drive"-column: remove disk in drive
-- CAPS -> SPS renaming here and there..
-
-Beta 7:
-
-- modifying directory's protect or comment changed its modification
-  time. Previous update failed to handle directories properly.
-  (CreateFile() to dir needs FILE_FLAG_BACKUP_SEMANTICS flag. urgh.)
-- tweaked "Bubba'n'Stix / Battle Squadron sprite update". It broke
-  Elfmania's scoreboard. Now all 3 games run without gfx bugs.
-- JIT-checkbox remembers previous JIT cache size
-- improved switching from cycle-exact mode to non-cycle-exact (or
-  vice versa). Previously switching modes may have resulted in frozen
-  emulated software (missing blitter finished flag/interrupt)
-- simple copper debugger implemented. Breakpoint, trace and vpos/hpos
-  of executed copper commands (vpos/hpos-feature was already
-  implemented but it needed to be activated in compile-time)
-  New commands:
-  - ob <addr> = breakpoint (not 100% exact yet)
-  - ot = single step
-  - o0 = disassemble from current address 
-- Arcadia World Trophy Soccer (MAME 0.99u8, ar_socc.zip) supported
-- "desktop smaller than windowed window"-check was incorrect
-- SPTI direct SCSI-adapter enumeration disabled until code has been
-  fully tested (currently it is mostly useless)
-
-Beta 6:
-
-- tweak to undocumented "switching bitplane DMA on during DDF"-feature
-  (Death Trap flashing score board. Semi-broken copperlist again..)
-- SPTI CDROM support was broken in b5
-- Priority panel's active priority was broken in b5
-- sprite update updated. Fixes CD32 "key" in nvram screen. (0992b4)
-  OCS/ECS: sprite is attached if odd or even sprite's SPRxCTL bit 7
-  is set. AGA: odd sprite SPRxCTL bit 7 only.
-
-Beta 5:
-
-- some 68000 prefetch special case tweaks 
-- some cycle-exact blitter tweaks
-- replaced ASPI-checkbox with select box (SPTI, AdaptecASPI, NeroASPI)
-- updated to latest zlib
-- SCSI tape drives and scanners are not filtered anymore in ASPI-mode
-  (-noaspifiltering parameter is not needed anymore)
-- another SPTI-mode non-CDROM support improvement (not finished yet)
-- delay possible forced rom scan until GUI is opened
-- replaced "delayoffset" tables with proper(?) algorithm. (Loons Docs)
-- added "none" to joystick/mouse selectbox
-- improved Amiga Forever 2005 path handling
-- added AF2005/AF/WinUAE default paths -select box. Only visible if
-  user has more than one installation (for example AF 2005 and plain
-  WinUAE)
-- directory filesystem ACTION_COPY_DIR_FH (DosPacket) implemented
-  (AmigaDOS function DupLockFromFH()) No idea why this one was missed..
-- added address-parameter to debugger i-command (overrides VBR)
-- updated and cleaned "disable bitplane dma if planes > maxplanes".
-  It isn't that simple. OCS/ECS, lores and planes set to 7 -> number
-  of planes is 4. DMA gets disabled only if number of planes is larger
-  than available DMA slots, for example OCS/ECS hires and > 4 planes.
-  (demo Spanish Rose by Creed)
-- fixed buggy COPJMP fix in 1.0b6. Broke for example Obliterator intro.
-
-Beta 4:
-
-- blitter blockmode update, this time I did lots of testing with real
-  Amiga. Results are quite interesting.. (more notes in blitter.c)
-  fixes: many demos with flickering or partially clipped objects
-- last line was missing in programmed interlaced display modes
-- DIVU/DIVS division by zero exception return address fix
-  (broke in b1, reorganized code too much..)
-- set JIT have_rat_stall (broken in b1 CPU detection code update)
-- native code slowdown workaround (BR)
-
-Beta 3:
-
-- fixed incorrect paths if running WinUAE from network drive
-- Paths-panel "Reset to defaults" forces reload of configuration file
-  directory
-- AHI works again (broken in b2)
-- don't call init_hz() every frame if interlaced programmed display
-  mode is enabled (for example interlaced Euro36)
-- screen vertical starting position properly calculated in programmed
-  modes (horizontal pos is much more complex, later or never..)
-- many programmed mode registers were saved as zeros to statefile
-  (also debugger e-command showed wrong contents)
-- updated to latest archiveaccess.dll. Library is used to support rar
-  and 7z archives. I'd prefer internal support but it seems rar's
-  license prevents it and (at least last time I checked) 7z-support
-  routines were unreadable mess..
-
-Beta 2:
-
-- "genlock connected" GUI option added. Please continue reading before
-  saying I am crazy :)
-  Kickstart's genlock detection code always detected genlock due to not
-  emulated ERSY-bit in BPLCON0. Normally it does not really matter but
-  most non-video frequency compatible monitor drivers don't load if
-  genlock is connected. (and currently most of them work very strangely
-  because not all programmable sync registers are used to calculate the
-  position of screen) GUI option is basically only for backwards
-  compatibility.
-- Fast Copper removed (Bernd#1) It is too broken..
-- removed now useless mod ripper from debugger
-- added more missing unused keycodes to inputevents.def, updated CDTV
-  CD player keycodes
-- MMKeyboard support added (http://www.geit.de/eng_mmkeyboard.html) (BR)
-- AHI recording memory leak (BR)
-- special WinUAE qualifier key (END) is now configurable (currently
-  the only way is to manually edit the keycode in config file, config
-  entry is called win32.specialkey)
-- transparent "led status bar"
-- in windowed mode window height (Amiga display area's height) was not
-  correct in some cases (for example 200 was changed to 208)
-- "Add PC Drives at Startup"-option adds only local drives, added
-  separate checkbox for network drives
-- default to MultiMediaTimers instead of Sleep() if both have good enough
-  time resolution (previously defaulted to Sleep())
-- AmigaSYS added to About-box
-- CD32 mode enabled: map CD32 buttons to compatibility-mode joystick
-- Keyboard led mode-configuration option added (can't be autodetected
-  properly)
-- zlib statically linked (90kb is nothing..), zlib1.dll is not needed
-  anymore
-- merged CPU detection code from BasiliskII JIT (64-bit updates coming
-  later)
-- added non-CDROM SCSI device support to SPTI-mode. May not work
-  because I don't have any real SCSI devices.. Check the log between
-  "Scan starts..." and "finished." and send reports.
-  NOTE: Order of CDROMs (if you have more than one) may change because
-  drive letters aren't used anymore. SCSI GUI-panel will be implemented
-  later..
-
-Beta 1:
-
-- zipped encrypted roms didn't always decrypt properly
-- rom/disk image maximum allowed path size increased
-- improved catweasel mouse/joystick support (separate input devices
-  instead of hardcoded input layout) NOTE: MK3 can't read joystick
-  buttons 2 and 3 without installed SID-chip. Catweasel is now always
-  enabled if detected. Checkbox in misc-panel is only used to enable
-  Catweasel ZorroII-card emulation (floppy access)
-  NOTE2: right and middle mouse button may not work on every Amiga
-  mice. This will be fixed in future Catweasel core update.
-- ACOS FPU fix (fixes broken particles in "Fake Electronic Lightshow"
-  by Ephidrena, broke in previous FPU update) (Peter Keunecke)
-- left click don't capture mouse anymore if GUI is active
-- Picasso96 graphics problem introduced in 1.0
-- lots of 64-bit compilation errors fixes (non-JIT version already
-  works, also it is possible to have max 2G of Z3Fast in 64-bit
-  version.. pointless but fun..)
-- more stable on the fly configuration loading
-- added exact 68000 DIVU and DIVS cycle usage algorithm (ce-mode only)
-- stackmagic is 64-bit compatible (argh, that took ages to fix..)
-- replaced inline assembly stackmagic-space allocation with _alloca()
-  (compatible with both 32 and 64-bit compilers)
-- bsdsocket emulation 64-bit fix (may have caused breakage, bsdsock.c
-  did have some quite "interesting" code that needed complete rewrite...)
-
-Not yet 64-bit compatible:
-
-- JIT (Basilisk II have 64-bit compatible JIT)
-- native code support
-- inline asm helper functions in ahidsound.c (inline assembly is not
-  allowed in 64-bit mode..) First task is to add C-versions and add
-  64-bit assembler versions later if really needed.
-- not all external libraries or devices are available in 64-bit yet
-  (Catweasel drivers, CAPSImg.dll, ArchiveAccess.dll, gsdll32.dll)
-  64-bit zlib.dll is included.
-- asm-optimized filters default to C-code in 64-bit mode (which means
-  scale2x etc.. are probably slower in 64-bit)
-
-1.0 (06.06.2005)
-
-Beta 10: (final)
-
-- FSINCOS-FPU instruction with identical destination registers
-  fix (Peter Keunecke)
-- fixed graphics corruption (shifted bitplane) if BPLxPTL was
-  written and bitplane DMA accessed it exactly at the same time.
-  Fixes intros "3v Demo" by Cave and "New Year Demo" by Phoenix
-
-Beta 9:
-
-- changing write protection status of command-line inserted disks
-  failed to reinsert the disk properly
-- added optimized JIT FPU trigonometric functions (Peter Keunecke)
-- added directory filesystem speed up-patch (BR+me)
-
-Beta 8:
-
-- SPTI SCSI-mode sense-key handling fix. Some systems failed to
-  detect media ("Drive empty" in log) Bug since the beginning..
-- recompiled with MSVS 2005B2. Faster? Slower? Unstable?
-  (experimental 64-bit versions coming after 1.0 is out)
-- Windows 98/ME(?) SHGetFolder-error fixed
-- catweasel direct io is back (there is no new drivers for MK1)
-  Direct io is enabled if catweasel-config option is larger or
-  equal than 100
-- default translation dll included
-
-Beta 7:
-
-- debugger 'H'-command fixed and improved.
-  H=disassembly only, HH=disassembly+full cpu state. Command
-  only works while debugger is active (for example one or more
-  breakpoints are enabled)
-- GUI's screenshot option does not capture the GUI anymore
-  (happened in D3D/OpenGL and non-overlayed modes)
-- added test for installed rtg.library version
-  (it seems too many users don't know about updated library)
-- X-Arcade layout tooltip re-added
-- .uae-extension is stored to user-specific registry if user
-  is running in non-admin account (NT-based Windows only)
-- audio reverse stereo option added
-- [development PC updated to 64-bit Windows XP. I'll try first
-  64-bit build (without JIT) when free MSVS 2005 Beta 2 arrives]
-
-Beta 6:
-
-- active priority was not set until window lost and reacquired focus
-- winuaenforcer updated. "winuaeenforcer 1" cause all illegal
-  adress read or write from 0-$100 or unused amigamem an illegal
-  adress Exception 3. (BR)
-- b5 only worked on Windows XP (nobody is using 98/ME or 2K anymore?)
-- implemented undocumented COPJMP-feature (game Sci-fi)
-- Marvin's Marvellous Adventure works again in JIT-mode
-- disk read/write debugging option (see debugger help)
-- added sample ripper (in output-panel) Samples are dumped to
-  screenshots-directory. Duplicates are ignored automatically.
-- "save as wav" statefile option (for easy manual sample hunting)
-
-Beta 5:
-
-- fixed possible crash while restoring saved state (broken in b1)
-- proper natmem-allocation update (W2K/XP only)
-- fixed "Couldn't load Kickstart"-message while loading older
-  statefiles (b1)
-- Tenebra (AGA demo) "face"-part partial fix (missing 3d-object
-  is now visible) Top and bottom parts of face are still missing
-- added Windows CPU info (32/64-bit and revision levels) to
-  winuaebootlog.txt
-
-Beta 4:
-
-- disk step rate limit improved. For example Music disk Extemporized
-  by Digital (and some other Digital products) do two very quick
-  steps that must not be ignored. It is really far too quick but it
-  still works.. (but most likely some drives don't like it..)
-  And of course there ARE demos that do very very quick steps that
-  must be ignored..
-- Battle Squadron hiscore-sprite update, 3rd letter of player's
-  name was not visible in hiscore-screen, also fixes Bubba'n'Stix's
-  jumpy background mountains.
-- compatibility filesystem and hardfile -config entries are back
-  (not sure why or when they disappeared..)
-- added filesystem "no recyclebin"-option to harddrive-panel
-- "Catweasel"-checkbox is now disabled if CW driver or card is not
-  detected
-- Catweasel MK3 Windows driver support fixed and confirmed working
-  (Can anyone with MK1 test?) 
-- ASPI-mode now automatically uses Nero ASPI if Nero Burning ROM is
-  installed (Demo or full version) Nero ASPI has much better
-  compatibility than Adaptec's crap... Detected ASPI is shown in log
-- joystick/mouse selection GUI changed again (tooltips not fixed yet)
-- rare load crash fixed
-- fullscreen mode resolution reset when using resolutions where y > x
-- loading preset filter didn't update the screen
-
-Beta 3:
-
-- changing Amiga-specific protection flags or comment changed also
-  file's modification date. (broke in 0.9.92 FS update) 
-- simple config file backup, config file is renamed to
-  "configuration.backup" before it is overwritten or deleted
-- Windows 9x/ME didn't like new natmem-allocation system,
-  so now only NT-based Windows' use new system
-- Picasso96's autoconfig config area RAM size was always 8M when
-  configured size was 8M or larger.. (bug since the beginning..)
-- enforcer bug fix (BR)
-- removed filesystem automatic read-only check, apparently it is
-  impossible to detect read/write status of network drives
-  (and 100% sure detection of networked drives is also too complex..)
-
-Beta 2:
-
-- DMA accesses to upper 512kb of chip RAM with only 512k chip RAM
-  and 1MB Agnus installed don't map to low 512kb like CPU accesses do.
-  Fixes Arcadia SideWinder (game bug, bogus blitter d-channel address)
-- added AmigaForever ROM path autodetection to ROM scanner
-- added workaround for AMOS filesystem emulation incompatibility
-  (infinite loop in filesystem code) Reason for freeze unknown,
-  proper fix unknown.. (filesystem emulation is confusing..)
-- compatible with Arcadia MAME 0.90u4 ROM update
-- "Kickstart v1.2 (A1000)" was not detected because of wrong CRC32..
-- joystick axis/buttons were marked non-mappable to mousebuttons,
-  fixed
-- natmem-area allocation changed slightly (allocation is still buggy
-  because there is race condition that can cause allocation to
-  fail in some rare cases but fixing this properly isn't so simple)
-- SPC_INCREASE_REFRESHRARE -> SPC_INCREASE_REFRESHRATE...
-- adjusting keyboard leds and then entering to any panel except
-  priority panel reset all priority values to "Above Normal" (and
-  I thought this was 100% fixed some releases ago..)
-- fixed Picasso96 freeze/crash/bogus refreshrates if display-panel
-  "parenthesized" refresh rate was selected.
-- relative kickstart/floppy/hdf paths work properly again
-- misc disk swapper-panel updates
-- enforcer update (BR)
-- keyboard layout C: both numpad 5 and 2 is mapped to down
-- bsdsocket update (SR) (don't open connection dialog if
-  requested address is localhost)
-- Catweasel support now requires Windows driver (no more direct port
-  access) New official Windows driver will be released very soon.
-  Added Catweasel enable-checkbox to misc-panel
-
-Beta 1:
-
-- bsdsocket emulation could crash in some cases (SR)
-- exception 3 update in 0.9.90b6 was buggy, broke Shinobi, Double
-  Dragon 2 and probably others..
-- Arcadia arcade system emulation (MAME 0.90 Arcadia roms supported)
-  Configuration: basic A500 setting (KS1.3, 0.5M Chip etc..)
-  Point "Cartridge ROM File" to Arcadia ROM file (ar_????.zip)
-  Start emulation.
-  Default key shortcuts: F2 = diagnostics menu,
-  1 = start 1 player game, 2 = 2 player game, 5 = coin slot 1,
-  6 = coin slot 2 (configurable in input-panel)
-- audio channels were swapped (no idea when or if they ever have been
-  correct..)
-- Picasso96 DOpus 4.12-problem fix (BR)
-- debugger improvements:
-  - r sr xx = change status register
-  - r ccr xx = change condition codes (low 5 bits of SR only)
-  - r usp/isp/msp xx = change stack pointers
-  - r vbr xx = change VBR
-  - sc = screenshot
-- filesystem configuration (mountinfo) data handling rewrite. This
-  should finally fix random crashes when reloading new config (or
-  changing quickstart model settings) on the fly. Note that changed
-  harddrive settings are only activated after reset instead of
-  immediately (which usually resulted in confused AmigaOS..)
-- switching from catweasel-enabled to non-cw-enabled configuration
-  on the fly caused crash (I forgot to reset catweasel options..)
-- added history list/text edit box to disk swapper
-
-
-0.9.92
-
-Beta 8: (final. official release date: tuesday/wednesday)
-
-- setting number of bitplanes (BPLCON0) larger than max supported
-  caused incorrect blitter and copper timing. Fixes intro
-  "First Anniversary" by "Lazy Bones"
-- refresh is now forced to every frame if cycle-exact is enabled
-
-Beta 7:
-
-- fixed AHI bug introduced in b6
-- fixed AVIOutput bug that lost every other frame when recording
-  interlaced screen modes and linedoubling was enabled
-- HD size detection improved. In some cases larger harddrives'
-  detected size was slightly smaller than real size. This was due
-  to using "wrong" Windows size-detection IOCTL, unfortunately the
-  better one is Windows XP/Windows Server 2003-only routine...
-  (IOCTL_DISK_GET_DRIVE_GEOMETRY and IOCTL_DISK_GET_LENGTH_INFO)
-- Picasso96 optimization (Bernd Roesch)
-
-Beta 6:
-
-- fixes memory corruption/crash if using >1024 pixels wide 32bit
-  chipset display mode without filters
-- changed default active priority from "Above normal" to "Normal"
-  (yeah, I changed my mind, again..)
-- fixed beta 4 and 5 disk insert problems
-- added windowed mode "Always on top"-checkbox to misc-panel
-- WinUAE now uses multiuser-aware Windows language settings for
-  selecting GUI translation DLL instead of using old-style system
-  default setting
-- replaced really weird and incorrect AddTail()-function in
-  picasso96.c with correct version (20 lines of code -> 4 lines..)
-- non-ce-mode blitter timing bug fixed (broken in 0823b2..)
-- ce-mode slowdown introduced in b4 optimized
-
-Beta 5:
-
-- Quickstart disk insert fixed (broke in b4 multiselect support)
-- X-Arcade updated mappings
-- internal drive click sound fixed (broke in b4)
-- last swapper position was unavailable (and b4 again)
-- some printing tweaks
-- image tool tip support (currently only used for X-Arcade keyboard
-  layout, image and mappings by Pierre Astruc)
-- compiled with updated zlib headers and library (1.2.2)
-- onscreen floppy and HD leds flash red while writing
-- window close-button is now working if "Use CTRL+F11 to quit"
-  is enabled
-- fixed random disk read errors when writing and immediately reading
-  same track back in non-turbo mode (broke in 0.8.26 or so, fixes
-  SuperDuper formatting, also probably fixes some save disk formatting
-  problems)
-
-Beta 4:
-
-- cycle-exact copper/bitplane fix (may cause some slowdown, sorry..)
-- improved drive click emulation, requires big external sample file
-  Samples maybe compressed and included inside winuae.exe in future.
-  (James Bagg)
-- fixed drive click GUI external sample detection
-- another sprite emulation update (intro "Da blue mouse" by Vectra)
-  Sprite attachment must be active if sprite's attachment-bit is
-  set, even if odd sprite pair is not "armed"
-- added soft and hard reset input-targets
-- fixed sprite problem introduced in beta 3
-- added keycodes to keyboard input source list
-- added configurable print job flush timer
-  0 = disabled, >0 = automatically close printer handle after
-  parallel port has been idle x seconds (workaround for
-  Windows 2000/XP never ending print jobs)
-- fps adjustment GUI support added
-- fixed really stupid mistake, input-panel autofire always said
-  "yes", even if autofire wasn't enabled. I guess this happened
-  when yes/no was added to translation.
-- bsdsocket update, fixes Newsrog (SR)
-- X-Arcade build-in keyboard layouts added (tooltips still missing)
-- disk-image dialog multiselect support
-  (Quickstart, Disk Drives and Disk Swapper)
-
-Beta 3:
-
-- and another incorrect "SWIV-fix" side-effect fixed
-  (intro "Inspiration Is None" by Anarchy)
-- GUI window close button or ALT-F4 fixed
-- config-load command line parameters now load hardware and host-
-  configurations properly
-- CIA PBON/TOGGLE-bits emulated (fixes really weird copy protection)
-- last 4 scanlines were invisible in filtered modes
-- "Pause emulation" when inactive paused immediately after emulation
-  was started, clear CPU% and FPS when entering pause-mode, more
-  logical GUI operation with "Pause emulation" and "Disable sound
-  output" -checkboxes.
-- sprite tweaks, Superfrog intro bees, SuperStardust AGA tunnel section
-  and Kefrens Pharaos Fantasy -intro's scroller (Superfrog and
-  SuperStardust updates are quite logical but Kefrens fix looks slightly
-  illogical which means something may break..)
-- copper/blitter timing tweaks
-
-Beta 2:
-
-- demo Nivel by Banal Projects works properly again
-  (demo triggered "SWIV-fix")
-- archiveaccess multiarchive support (only 7z, rar and zip currently
-  enabled) Archiveaccess + 7z plugins are in separate archive
-  (experimental, may be removed if better solution is found)
-- all DLLs from WinUAE's directory can be moved to directory called
-  "plugins"
-- PostScript detection corrupted PostScript data if start marker was
-  %!PS<something here> instead of %!PS<linefeed>
-- hardfile creation improved. Create-button is only enabled if size
-  is set, added dostype selection. It is now easy to create regular
-  non-RDB SFS-hardfiles, simply create SFS-hardfile, point
-  FileSystem-path to SmartFilesystem-filesystem handler and use
-  SFSFormat to format it
-- postscript settings can be changed on the fly
-- serial port direct-setting can be changed on the fly
-- fixed incorrect initialization of user-defined drive sounds
-- reset GUI's coordinates to top-left of desktop if original location
-  is not visible on any monitor
-- disk image bootable check didn't ignore non-zero sector headers
-  (for example Second Samurai ipf-image was rejected)
-- screenshot-files are now named <name of image in df0>_xxx.bmp
-  (or xxx.bmp if df0: is empty)
-
-Beta 1:
-
-- generic GUI custom key shortcut support added
-- disk swapper GUI panel key shortcuts added:
-  cursor up/down = move cursor
-  SHIFT + cursor up/down = move cursor & selected disk image
-  cursor right = change drive (DF0->DF1->DF2->DF3->DF0)
-  return = select image
-  del = remove image
-  CTRL + 1-4 = change drive (direct)
-  ALT + number = jump to line 1-10
-  SHIFT + ALT + number = jump to line 11 - 20
-- harddisk key short cuts added
-  (cursor up/down and shift, enter and delete)
-- implemented generic GUI mouse listview drag'n'drop
-- disk swapper and harddrives up/down arrow-images removed (looked
-  quite ugly with Windows XP styles..), replaced with drag'n'drop
-- automatically map developer/beta KS ROMs at 0x200000
-  (if chipram size <= 0x200000 and fast ram is not enabled)
-- cycle-exact plus frameskip enabled does not affect internal timing
-  anymore (but frameskip in ce-mode isn't as fast in older versions)
-- speed (refresh rate) adjustment implemented in non-vsync modes.
-  no gui-support yet but END+SHIFT+numpad -/+ can be used to
-  increase/decrease speed
-- graphics corruption in NakuDemo by Vision-X fixed (demo is OCS-only)
-- updated AHI driver, fixes record bug when ahi_minbufflen was set
-  to any other value than default 2. (Bernd Roesch)
-- Stardust (non-AGA) starwars-scroller ce-mode blitter bug fix
-- non-JIT fastest possible/CPUvsChipset-option fixed
-- remove harddrives when setting quickstart configuration
-- entering quickstart for the first time used default host-settings,
-  not (possible) user-selected host-settings configuration file
-- CompaVsCPU-slider was sometimes reset to leftmost position
-- experimental non-GUI disk swapper shortcuts added,
-  END+1-0 (not numeric keypad) = insert image from swapper slot 1-10
-  END+SHIFT+1-0 = insert image from swapper slot 11-20
-  END+CTRL+1-4 = select drive
-  What about preferred drive selection in GUI for all slots?
-- regular HDF TD_GETGEOMETRY now returns user-entered HDF parameters
-  instead of "guessed" values
-- filesystem bug fix (0.9.90/0.9.91), files with Windows System or
-  Hidden -flag set didn't open properly in all cases. (another
-  Windows feature..)
-
-- filesystem protection flag, comment and Windows illegal character
-  handling update, UAEFSDB-information is now stored in file's named
-  stream called "_UAEFSDB.___". (=works 100% transparently, no more
-  separate UAEFSDB-files) New mode is only used if current directory
-  has no old __UAEFSDB_-file and filesystem is NTFS.
-  
-  *** TESTING IS NEEDED! ***
-  
-  Information about NTFS streams:
-  http://www.winnetmag.com/Articles/Print.cfm?ArticleID=15900
-  http://patriot.net/~carvdawg/docs/dark_side.html
-  http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnfiles/html/ntfs5.asp
-
-- "flush print job" button works now properly
-- PostScript printer emulation. It is now possible to print
-  directly from WinUAE to any Windows-supported printer.
-  (except if program does not use printer.device and it doesn't have
-  build-in PostScript-support)
-
-  1: install Ghostscript (http://www.cs.wisc.edu/~ghost/)
-  2: tick "PostScript printer emulation" in WinUAE settings
-  (grayed out checkbox = no Ghostscript gsdll32.dll detected)
-  3: boot to Workbench and select PostScript printer driver
-  4: print normally
-  (thanks to Borg No. One for inspiration and testing)
-
-
-0.9.91
-
-Beta 3:
-
-- priority level and systray menu translation dll support fixed
-- translation DLL load problems fixed
-- disable quickstart-mode if using -f or -config= -command
-  line parameters
-- bsdsocket update, fixes ~2 second pause on some systems and
-  added internet connection off-line check (Stephen Riedelbeck)
-
-Beta 2:
-
-0.9.91 will be released next weekend (or so) because of dangerous
-filesystem bug (files can be truncated to zero, originally, for
-some reason, I didn't think it was that dangerous problem..)
-No new features except possible quick bug fixes to do.
-
-- added right alt = firebutton to keyboard layout B (right ctrl is
-  kept for compatibility) Many laptops don't have right ctrl nor
-  numpad.. (was in b1 but changelog entry was missed)
-- CPU idle calculation update (based on Bernd Roesch's idea) you may
-  need to readjust your CPU Idle-setting
-- ALT-TAB updates (again..) Direct3D+GUI enabled ALT-TAB seems to
-  work now (or not)
-- Picasso96 screen is properly refreshed when GUI is active (except
-  in fullscreen mode but I don't know to fix it without overwriting
-  the GUI window..)
-- non-existing paths automatically defaults to WinUAE's directory
-- uae-configuration fixes and changes. for example:
-  "uae-configuration cpu*" lists all config entries that start
-  with "cpu"
-- fixed Picasso96 CTRL-ALT-DEL to login screen and ESC -> black screen
-- one more open file filesystem bug fix
-- and another blitter non-ce/non-immediate speed fix (it didn't really
-  do anything since beta 13.. PPHammer and Spindizzy Worlds work again
-  without flashing)
-
-Beta 1
-
-- directory hardfile: added more commands that flash hd led
-- some improvements to JIT crash preventer
-- missing translation strings added (priority levels, compatible
-  and turbo -floppy speeds, yes/no in input autofire and harddrive
-  emulation read-only status)
-- updated Overkill AGA fix (Alien Breed II AGA scrolling)
-- filesystem fixes. Read-only files didn't open, some error codes
-  were wrong and opening file in readwrite-mode truncated it
-- BorderBlank-bit is in ECS-Denise and newer chipsets (was AGA-only)
-- loading config didn't set correct stereo separation variables
-  if separation was set but delay wasn't. fixed.
-- Latest SFS changelog says "ACTION_ADD_NOTIFY now returns
-  ERROR_BAD_NUMBER if the notification is neither a NRF_SEND_MESSAGE
-  nor a NRF_SEND_SIGNAL notification." Filesystem emulation does
-  the same thing now.
-- added uae-configuration Amiga-side program, it is basically very
-  extended uae-control. It has 3 modes:
-  1: without parameters it outputs all current configuration settings
-  2: with single parameter it outputs value of config entry
-  example: "uae-configuration cpu_type" -> "68040"
-  3: with two (or more) parameters it can change configuration and
-  send input events on the fly.
-  examples: "uae-configuration cachesize 0" (disable JIT) or
-  "gfx_vsync true gfx_refreshrate 50" (enable vsync and set refresh
-  rate to 50) "SPC_ENTERGUI 1" (open GUI), "KEY_A 1 KEY_A 0" (press
-  and release A-key) etc.. Check inputevents.def (in source archive)
-  for all supported events.
-  Return codes: 0 = ok, 5 = config name not found, 10 = other error,
-  20 = not supported (too old UAE)
-- automatic rom-scan check improved, no more forced scanning if user
-  run older WinUAE versions without rom-scan support
-
-
-Final 0.9.90:
-
-- floppy speed was never initialized to 100% in quickstart-mode
-- default.uae ignored paths-panel configurations-path
-- in some circumstances regular configuration was saved to
-  hardware or host configuration directory
-- enabling/disabling lores on the fly didn't always reset all
-  internal variables correctly resulting in weird display
-
-RC1:
-
-- back2roots URL updated (was ancient http://back2roots.emuunlim.com/),
-  abime.net URL added
-- fixed uninitialized variable that may have caused problems in
-  4-channel sound mode
-- possible crash bug in beta13's blitter update fixed
-- game-port panel joystick compatibility with older config files fixed
-  (why is kbd1 = first keyboard layout but joy0 = first joystick?)
-
-Beta 13:
-
-- changed quickstart uae-config's floppy speed to turbo
-- MOVEC control register 0x804 was incorrectly marked as 68040-only,
-  but it really is 68020+. It seems I broke this in some 0.8.22 version
-  without anyone noticing it.. (fixes AIBB crash in 68020-mode)
-- directory filesystem deleted files/directories are now moved to
-  Windows Recycle Bin (if RB is not disabled)
-- release all inputdevices when entering debugger (and acquire them
-  again after exiting) Fixes keyboard freeze on some Windows 2000
-  systems
-- last entry in Ports-panel mouse/joystick-selectbox was unselectable
-- middle mouse button didn't work, stupid typo in b12's input cleanup
-- removed "Windows mouse" mousewheel and number of buttons limits, there
-  are programs that can send for example faked middle button messages
-  even if real mouse has only 2 buttons etc..
-- "Windows mouse" middle button = ALT-TAB fix
-- disable quickstart media-check if quickstart-checkbox is not checked
-- yet another active/inactive/minimized-fix
-- added image+crc tooltip to df0-df3 windowed mode "leds"
-  btw, for some reason SB_SETTEXT's SBT_POPOUT-mode don't do anything if
-  non-classic skin in Windows XP is selected. (which means "leds" don't
-  move "up" or "down") Any ideas?
-- left click on status bar df0-df3 = insert disk, right click = eject,
-  left click on power = gui, right click = reset. Left and right button
-  doubleclicks are still free if someone needs more functions :)
-- blitter non-ce/non-immediate approximate slowdown due to bitplane dma
-  -code changed
-- add support for other german keyboard layouts
-
-Beta 12:
-
-- "Syncronize clock"-feature is back, fixed random turbo clock
-- gameport configuration defaults fixed
-- added "4 Channel" audio mode (=feed all 4 Amiga channels directly
-  to DirectSound device without 4->2 software mixing, was earlier only
-  available with "-dsaudiomix" command line parameter)
-- "Crux"-interpolation with stereo separation enabled fixed
-  (readjustment of stereo separation GUI-settings are needed)
-- show message if there is no Kickstart ROM selected and Kickstart
-  replacement fails to run disk image in df0: (previous versions
-  simply returned to GUI without saying anything..)
-- "Could not load Kickstart ROM"-message readded (not sure why or when
-  it disappeared..)
-- kickstart replacement wasn't enabled if no Kickstart ROM was
-  selected, but it worked if selected ROM couldn't be loaded.. fixed.
-- input device renaming must be of course after sorting, not before..
-- Added "Amiga 2000" to Amiga 500 model-title
-- mousehack-support changed, mousehack-mode is only enabled when
-  Amiga-side mousehack-program is running and new special
-  "Mousehack mouse" is selected. Autoselecting mousehack-mode would
-  have caused too many unsolvable problems. Without mousehack-program
-  mousehack-mode works just like "Windows mouse"
-- mousehack works in fullscreen mode. (=tablets work in fullscreen)
-- quickstart only autosets configuration when "start in quickstart-mode"
-  -checkbox is checked. "Set Configuration"-button can be used to
-  set the config when checkbox is not checked.
-- dragndrop rom type detection
-- cd32-pad emulation improved, should be nearly perfect now,
-  also default joystick/joypad cd32-button mappings changed
-  (removed useless "firebutton") (CD32 pad info from schematic at:
-  http://home.t-online.de/home/malibann/cd32gamepad/cd32gamepad.html)
-- cd32 cdrom drive is now always redetected after every reset
-- keyboard layout A/B/C compatibility with older versions fixed
-  (check and resave your configs)
-- changed default windowed resolution to 720x568
-
-Beta 11: hopefully only bugs fixes left..
-
-- improved game controller/mouse selection in "Game & IO-ports",
-  even multimouse is now possible without need to use input-panel
-  (but don't forget OS limits: 98/ME = two USB mice required,
-  2000 = no multimouse support, XP = no mouse limits)
-- changed naming of input devices with identical names
-  (first is named "xxx [1]", second "xxx [2]" etc..)
-- removed some REALLY obsolete win32-specific filesystem filename
-  mangling functions. (for example ~ in file names didn't work)
-  Testing needed!
-- Action Replay freeze-key (page up) was unavailable for configuration
-  even if Action Replay was not enabled, fixed. Again.
-- USB keyboard led-support (may not work in all cases yet)
-- more ALT-TAB fixes (this is so stupid, for example Direct3D-
-  fullscreen mode sends minimized information differently than other
-  regular DirectDraw fullscreen modes..)
-- added "Windows Mouse" buttons 4 and 5, detect the real number of
-  "Windows Mouse" buttons and wheel. NOTE: non-DirectInput maximum
-  number of supported buttons is 5 (Windows 2000/XP) or 3 (9x/ME)
-- added default mapping of mouse buttons 4 and 5 to ALT+CURSOR LEFT
-  and ALT+CURSOR RIGHT (back and forward)
-- it is now possible to dragndrop disk image(s) directly to any drive's
-  path-string box
-
-Beta 10b:
-
-- "automatic" jump back to fullscreen after ALT-TAB fixed, I think..
-- changed TD_GETGEOMETRY slightly, use CHS-values from RDB if RDB
-  is detected, only "invent" the values if RDB is not detected.
-- paths-panel manual path editing fixed
-- flash ram manual editing fixed
-
-Beta 10: lots of small things..
-
-- Action Replay 2 and 3 ROM first 4 byte tweak, dumping the ROM under
-  UAE (pointless?) results now exactly the same dump as on real A500
-- debugger tracing commands didn't work in ROM
-- added automatic KS patcher that disables A4000T ROM's
-  "NCR scsi.device" -> A4000T ROM is back and working. (A4000T NCR
-  scsi.device expects correct scsi hardware -> no hardware -> confused
-  driver -> infinite loop..) Maybe pointless too but...
-- some A500<>A1000<>CDTV<>CD32 on the fly switching bugs fixed
-- 68020/68EC020-KS check didn't work correctly if
-  shapeshifter-patch was enabled, fixed
-- fixed possible crash when ALT-TABing from filtered fullscreen mode
-- crash when saving new config and no old config file has been selected
-- fixed corrupt logical disk format when creating standard 3.5"HD ADF
-  (this has been broken since the beginning..)
-- added TD_GETGEOMETRY (very rarely needed) support to uaehf.device
-- optimized stereo separation/mixing algorithm, fixed incorrect config
-  file entry name ("sound_stereo_mixing" -> "sound_stereo_mixing_delay")
-- added missing KS 37.299 ROM in A600-ROM scan check
-- don't touch WinUAE version number in registry if it is newer than
-  current
-- Quickstart "Host Configuration"-checkbox didn't remember previously
-  selected configuration.
-- added some example host configurations (800x600 and 640x480
-  fullscreen and one windowed). I plan to add these and maybe some
-  other (suggestions?) host-configurations with release version.
-  (it will be optional component in installer)
-- added configuration link selector and probably confusing
-  ignore-checkbox to config panel (ignore = don't load linked config,
-  load instead host config from regular config file or from user-forced
-  file in Host-panel)
-- fullscreen mode always used no-taskbarbutton-mode. fixed.
-- automatically default to ASPI if uaescsi.device is enabled and
-  OS is Windows9x or if user has no admin privileges
-- don't crash if DirectInput fails to initialize (Why does
-  DirectInput8Create() fail with "unspecified error" when running
-  WinUAE under different user using Windows XP "Run as..."-feature?)
-- use SetPriorityClass() under 2000/XP instead of SetThreadPriority()
-  (now Task Manager shows same priority settings as WinUAE GUI)
-
-Beta 9:
-
-- replaced "mixed stereo" with stereo separation adjustment and made
-  mixed stereo delay buffer size adjustable, original mixed stereo
-  buffer size was 5. (don't ask about mixed stereo delay buffer, I
-  have no idea whats the point :) (Idea from xtc)
-- quickstart-mode reset button fix
-- CDTV Extended 2.7 is back, 2.3 renamed to 2.30
-- A4000T KS 3.1 removed (apparantly it is not compatible with UAE)
-- improved Kickstart CPU compatibility check
-- added misc-checkbox for hiding Windows Taskbar-button
-  (that was much easier said than done..)
-- windowed mode DFx,Power,etc.. "leds" now support non-96DPI modes
-- added more hardfile/harddisk error logging (non-blocksize aligned
-  or out of bounds accesses)
-- added mostly useless 1.8M BogoRAM selection (there were A500 2M
-  expansions but 0.2M was lost "under" custom chip address space)
-- included translation DLL for testing (but note that this won't be
-  the final version)
-
-Beta 8:
-
-- added missing A500+ and A600 ROM scan messages
-- model info, ROM scan messages are now translatable
-- removed yellow "!" from message-dialogs
-- possible fix for ancient "black bar at right border when
-  centering is enabled and screen width is large enough"-bug
-- remove floppies from disabled drives in quickstart-mode
-- quickstart disk history was duplicated when selecting new image
-  and image change caused configuration update.
-- "config_hardware_path" and "config_host_path" config entries added
-  They can be used to link two config files. I am not yet sure how to
-  add GUI support for saving linked config files..
-- replaced RDB filesystem relocator's 68020+ only instructions with
-  68000-compatible instructions (oops..)
-- added model info to Kickstart ROM information
-- removed hack/beta KS 3.1 40.70 (0x917100a0, hack/beta) and CDTV
-  Extended 2.7 (not confirmed), added A4000T KS 3.1 40.70 (0x75932c3a)
-  (Kickstart info by Rodney Hester)
-
-Beta 7:
-
-- fixed beta 6 quickstart problems
-- added A500Plus and A600-entries (A500P with KS 37.175 and A600 with
-  37.350/37.300) and CDTV (with warning)
-  Yes, I changed my mind again :)
-- added very expanded example configuration to quickstart-page
-
-Beta 6:
-
-- better 68000 exception 3 (address error) return address
-  calculation (fixes yet another copy protection)
-- cycle-exact mode timing fixes (broke in 0826b1.. caused some
-  (many?) copylock-protected images to fail, also Dynamic Hires images
-  look much better now but it is not yet perfect.
-- removed some unneeded code from ce-mode cpu
-- removed compiler.c and compiler.h. No idea when this was last
-  used (or maybe it was never really used?)
-- added volume level value to sound panel
-- keyboard led select boxes worked strangely, fixed
-- more 68000 DIVU/DIVS undefined flags defined :)
-- added more RDB parsing messages to log
-- Overkill AGA graphics fix. WARNING: may cause graphics
-  problem (shifted image) in other AGA games/demos.
-  Keep your eyes open!
-- don't check quickstart disk image bootable-status anymore after
-  emulator has been started
-- new (not yet released) caps library required
-- force ROM rescan if WinUAE version info in registry is older
-  than current version
-- bootblock crc check added to quickstart insert-disk check
-- german keyboard #-key hack fix (Bernd Roesch)
-- disable chipset speed settings if 68000 and cycle-exact enabled
-- quickstart and paths icons added (Jani Wilen)
-- wider harddrive-dialogs
-- added "enable RDB-mode"-button to hardfile dialog
-  (it only clears sectors, surfaces and reserved-fields)
-- dialog should really appear correctly in fullscreen mode
-- added CRC32-tooltip to quickstart DF0-select box arrow.
-  (why? bug reports without enough info to confirm used image..)
-
-
-Beta 5:
-
-- dragndrop didn't close filehandles (left files that were not
-  possible to delete or rename until WinUAE was exited)
-- save state key shortcuts fixed (broke in beta 2, I think)
-- added tooltip support to every control in GUI (this is quite
-  stupid: All dialog strings with "[]" in them is split to two pieces.
-  Dialog string is replaced with leftmost piece and tooltip is added
-  with rightmost piece. Stupid but this does not need any extra resources,
-  is automatic and it is easy for translators)
-- example tooltips added to keyboard A, B and C-checkboxes
-- more tooltips to cpu, disk and chipset tab. Help needed, I am not going
-  to write any more myself..
-- configuration tooltip fixed
-- replaced tooltips with balloon tooltips
-- disk history weirdness fixed (randomly changing disks etc..)
-- added message if "Add harddrive" does not detect any drives
-- updated NT-based Windows' admin privilege-check
-- removed ECS Denise-selection. OCS Agnus + ECS Denise was never used
-  (probably does not even work on real Amigas)
-- update last used config file name when saving config
-- more common notifications/error messages can be translated
-- added message that appears only once when saving to standard adf and
-  saved track is not standard AmigaDOS format.
-
-Beta 4:
-
-- return back to GUI if Kickstart ROM is missing and Kickstart
-  replacement fails (do we even need this anymore?)
-- don't add nonexisting files to disk history
-- added saveimage delete-button to disk-panel (only visible when there
-  is saveimage present for selected image)
-- added -diskswapper=image1.adf,image2.adf,...-command line parameter
-- startup-zlib-dialog-crash fixed
-- improved rom scanner, now Kickstart ROMs/keyfile are detected even
-  if all roms are stored in single zip...
-- stupid disk writing bug fixed, causes some crappy disk routines to
-  save corrupted data, for example SWOS. (was introduced in 0.8.26)
-- paraport direct parallel port support improved
-  (busy signal was inverted, printing works now)
-- mapped AmigaDOS H-flag to Windows hidden-flag. This leaves S-flag
-  but there are no Windows flags left..
-- moved "no uaefsdb"-checkbox to harddisk-panel
-- added scaling support to all software filters
-- testing tooltips in model selection area (texts by G. Chillemi and me)
-  Good or bad idea?
-- added OCS A500 0.5M+0.5M configuration on top of list. Apparantly
-  OCS A500 is the most common Amiga 500 (except here in Finland or
-  something)
-  
-Beta 3:
-
-- hardware/host-settings should now really work..
-- filter presets added
-- "clear registry" really removes all new keys now
-- changed default joystick to keyboard layout B
-- set default sound filter to emulated
-- filter presets (saves filter settings plus lores, doubling,
-  correct aspect and centering settings from display page)
-- added avioutput path to paths-page
-
-Beta 2:
-
-- added missing Cloanto KS 1.3 and 3.1 CRCs
-- Reset-button was enabled when inserting disk even if
-  emulator was not yet started
-- less ROM-check messages
-- disable serial options if no serial port selected
-- removed A500+/A600-configs (not much use here)
-- removed CDTV config (not much point until CDROM works)
-- don't load quickstart-page's config when entering quickstart
-  page for the first time if quickstart-mode is not enabled
-- don't disable Start-button
-- clear disk image paths when in quickstart mode (=don't load
-  floppies from default.uae)
-- added second drive, only enabled when RAM size is 1MB or
-  larger.
-- quickstart reset handling improved
-- obsolete rom.key-GUI option removed
-- hardware/host configurations save/load/delete fixed
-- added simple JIT on/off switch (only sets cache to zero
-  or max and it does not remember old value)
-
-Beta 1:
-
-I have been thinking of bumping version number to 1.0 in next
-release. Emulation seems to be good enough, GUI looks ok
-and now finally there is long-awaited "quickstart"-mode for
-"normal" emulator users.
-
-I really request comments about Quickstart-mode GUI. One or
-two drives? Build-in configs are ok? ROM-messages are ok?
-
-It is possible I have gone really too far this time..
-
-- more support for small devices, debugger can be disabled
-  by editing sysconfig.h
-- dialogs don't appear behind the screen in fullscreen modes
-- warn only once when saving state with harddisk(s) enabled
-- chip ID-register (VPOSR upper byte) never reported ECS Agnus
-  (broke in 0.8.26)
-- TST.x Ax, TST.x (d16,PC), TST.x (d8,PC,Xn), CMP.x #x,(d16,PC)
-  and CMP.x #x,(d8,PC,Xn) are 68020+ only. There are probably
-  more to fix.. (some 68000/68010-instructions don't support
-  all addressing modes)
-- SMBFS, FAT95, AmigaNCP map Windows System-flag to AmigaDOS Pure-flag,
-  so do it also in UAE filesystem emulation, also archive bit was
-  inverted
-- configuration file scanner didn't work correctly if directory
-  was deeper than 1 level, fixed, also added limit to 3 levels
-- added CRC32 ROM-detection (only common official ROMs supported)
-- show selected ROM's name instead of filename in ROM-page if
-  selected ROM is in CRC32-list
-- all detected ROMs are added to ROM-filename selectbox
-- statefile ROM CRC32 is used to select correct ROM when loading state
-- ROM path is scanned when starting WinUAE for the first time,
-  ROM path is changed or Rescan ROMs-button is clicked
-- added Paths-page
-- added QuickStart-page (for users that only want to run floppy based
-  programs without need to know anything about configuration)
-- rom.key-path is basically obsolete now, WinUAE automatically tries
-  all possible locations for rom.key. (current dir, rom-path etc..)
-  Any reasons for not removing the rom.key-path from GUI?
-- switching from A1000/CD32/CDTV mode to normal-mode and back works
-  now correctly
-- changed default configuration to regular Amiga 500-config, also
-  some other default config tweaks
-- in quickstart-page inserted disk image's bootblock is checked
-  - no bootblock/wrong checksum = don't accept image
-  - OFS bootblock -> continue
-  - FFS/FFS+INT bootblock -> autoselect KS2.04 config (if previous
-    config was < KS 2.04)
-  - FFS+DIRCACHE bootblock -> autoselect KS3.0 config (if previous
-    config was < KS 3.0)
-- "Clear registry"-button in paths-page can be used to remove
-  all new WinUAE registry entries, for easier beta testing
-- added hardware/host-specific configurations, autoload checkbox =
-  automatically load selected hardware/host-only config after "regular"
-  config
-
-TODO:
-
-- new icons
-
-btw, is there are any problems using names like "Amiga" or "Kickstart"?
-
-0.8.27
-
-Beta 4: (final?)
-
-- AVIOutput tweaks (enable-button is disabled until codec(s)
-  are selected, don't clear selected codec(s) after recording
-  is stopped, no more clicks in recorded sound while alt-tabbing
-  and more)
-- COPJMP-delay was 2 cycles too short, fixes 2000AD-intro
-  (properly this time!) and Total Triple Trouble-intro's missing
-  characters (sprites)
-- debugger: added illegal access logger (any memory access to
-  non-existing memory or "non-official" custom chip/cia address is
-  logged) enable with "wd"-command, delete addresses with "wd x y"
-  where x = start address y = length of range.
-- A1000 boot rom works again (b1)
-- some centering tweaks
-
-Beta 3:
-
-- don't exit if using 68020+ Kickstart ROM without 68020 CPU
-- fixed rare null filter crash
-- full collision setting fixed. Game called "Rotor" does
-  require working CLXDAT collision bit 0 (="full collision")
-  This is the first known program that needs full collision!
-- 68000 CLR.L/NEG.L/NEGL.X/NOT.L data access order finally fixed
-  (read first word, read second word, write second word, write
-  first word) This is important because there are some demos
-  that do CLR.L $DFF088..
-- contents of zipped files in disk history-list had extra space
-  in the beginning of filename. fixed. (b1)
-
-Beta 2:
-
-- added correct return value in 68000+more compatible/ce-mode when
-  accessing CIA-address space without selecting any CIA (both
-  CIA selection address bits 12 and 13 set) rtclock, buggy
-  A1000 "Insider"-memory expansion's real-time clock setting
-  utility program works now without crashing.
-- state saves were saved in random point instead of at the
-  beginning of vblank. (broke somewhere during 0.8.22 or so)
-- debugger 'am'-command fixed
-- removed disk swapper auto disk insert when loading config.
-  It wasn't too good idea. (disk in swapper position 1, eject disk,
-  save config and load config -> disk is back in df0..)
-- vertical/horizontal centering fixed! (or at least it is much
-  improved) Does not fix bar in right side of screen if using too
-  large resolution
-- MIDI does not require selected serial port anymore
-- "exter_int_helper: unknown native action" is confirmed fixed
-  (bug has been there since native2amiga.c was originally created..)
-- re-added SPCFLAG_DOINT, JIT seems to have too weird timing to
-  work without it in some cases.. Non-JIT modes still use new and
-  more compatible method.
-- fixed crash in CDTV-mode (broke in 0826B1)
-- D3D and OpenGL mode fullscreen ALT-TAB fixed
-- harddisk "bad blocksize" error (broke in b1)
-- typing to disk image text boxes was ignored, fixed
-- bug in kickstart loader fixed (b1, 256K ROMs only)
-
-Beta 1:
-
-- loading empty config/directory crashes (broke in beta 4)
-- ports-page's joystick/mouse radiobuttons were not initialized
-- added some source configuration options for low memory devices
-- config file scanner ignored extension of files and scanned
-  ALL files in configurations-directory, even binary files..
-- GUI works with non-96 DPI font settings (arg, only bug was
-  different font in "panel"-dialog than "page"-dialogs..) 
-- removed "Highest" priority setting. It was mostly useless and
-  slightly dangerous too.
-- added check for too small hardfiles (zero or smaller than block
-  size), also block size set to zero is not anymore allowed.
-  (no more "tried to seek out of bounds! (FFFFFFFFFFFFC000 >= 0)"
-  error message)
-- JIT got confused and crashed if CPU setting was modified or
-  JIT-enabled state file was loaded
-- OpenGL fullscreen mode now uses DirectDraw to change screen's
-  resolution instead of ChangeDisplayMode(). ALT-TAB works now
-  properly.
-- added missing semaphore-protection to native2amiga.c
-  (fixes random "exter_int_helper: unknown native action xxx"
-  errors and freezes when using for example uaescsi.device
-  and hardfile(s) at the same time) NOT CONFIRMED YET
-- interrupt delay in JIT mode reintroduced with much smaller
-  and safe delay. (AB 3D II works again)
-- new rtg.library, 20-30 times faster pixel read function in
-  32-bit Picasso96 modes. Used in alphablending. (Bernd Roesch)
-- fixed forever repeating "...because desktop is too small for
-  the specified window size.."
-- only add images inside zip to history if there are more than
-  one image
-- saving config: add ".uae"-extension to config file name if
-  missing
-- buffer overflow in drive click code fixed
-
-0826
-
-Beta 6:
-
-- enter disk swapper for the first time, press up, first image
-  disappears, fixed.
-- ancient MIDI-IN freeze bug finally fixed
-- module ripper's dialog boxes appeared "behind" WinUAE's screen
-  in fullscreen modes
-- disk image history list: move selected item to top of list
-- move ripper to output-page (path etc.. improvements won't be
-  implemented until 0.8.26 has been released)
-- entering and exiting gui didn't restore 8-bit Picasso96-palette
-  if opening GUI didn't force drop to desktop
-- use GUI's real size (Windows XP styles can make it bigger than
-  default) instead of hardcoded 640x480 when determining if GUI
-  fits to current fullscreen mode
-- more FDI2 updates
-- added workaround to "turbo speed"-problem in non-ce modes
-  (for example Battle Squadron cracktro by Freestyle)
-- END+Fx-disk change shortcuts didn't add image to history list,
-  fixed
-- disabled interrupt delays in JIT-mode. That was not too good
-  idea.. (crashed some programs)
-- configuration "save as"-button used wrong path, fixed
-
-Beta 5:
-
-- "... Switching to full-screen display."-messages didn't work
-  and crashed the emulator.. (oops)
-- don't show paths in disk swapper-page
-- disk swapper crash fixed (stupid bug, missing "break;" oops*2)
-- loading config file copies inserted disk images in disk drives
-  to disk swapper and also fills empty drives from disk swapper
-  automatically.
-- reload configuration file list after loading new config and
-  emulation has already been started
-- don't restart immediately if loading new config and show gui
-  is not ticked and emulation has already been started
-- fixed debugger memwatch point command's parsing of 'rw'
-- cycle exact blitter/cpu-timing was broken since beta 1..
-  (Robotics Life and others again..) I tried to store 0x100 to
-  8-bit buffer.. (and oops^2)
-- Pro Wizard module ripper included! (http://asle.free.fr/prowiz/)
-  Supports over 50 packed tracker formats, automatically converts
-  them back to standard Protracker format.
-- enabling warp-mode (END+PAUSE) does not freeze the emulator in
-  JIT-modes anymore
-- moved multirevolution (= copy protections that use weak bits)
-  code from common disk emulation to disk image-specific code
-- improved FDI2 decoding (Vincent Joguin)
-
-Beta 4:
-
-- made debugger t and z -commands log all exceptions
-- state save/restore added to input-tab
-- dropped configuration file separation. maybe in next release,
-  will need much more design time..
-- FPU emulation bug fix. Fxxx.B #yy,FPz-style commands used wrong
-  address (high byte instead of low byte) to fetch immediate value.
-  It seems this has always been broken..
-- configuration load/save page now remembers last selected config
-  file
-- m68k shift instructions timing improved in cycle-exact mode
-
-Beta 3:
-
-  NOTE: ignore the "Type"-select box in configuration page. It will
-  change in next beta. Comments are not accepted :)
-
-- caps bitcell timed track + saveimage crash fixed
-- made GUI slightly smaller and improved child-dialog positioning
-- updates systray icon if explorer restarts
-- dropping config file to gui or window restarts emulation immediately
-  if "Show GUI on startup"-checkbox in new config file is unchecked
-- undocumented filesys_no_uaefsdb-config option added to GUI
-  (prevents creation of new UAEFSDB-files which means all comments,
-  protection flags not supported by host filesystem are lost, also it
-  prevents creation of file names with "illegal" characters inside
-  of emulation)
-- "Knin Peaks" disk emulation fix broke software that set DSKLEN = 0
-  (usually used by some copy protections) Fixed.
-- store windowed GUI position in registry. GUI in fullscreen is
-  always centered.
-- JSR-instruction's prefetch fixed (protection code in original
-  Datastorm)
-- Windows XP styles supported
-- 68000 exception processing stack pushes are now executed in
-  exactly the same order as real 68000 does them (ce-mode only)
-- D-channel only blit with ALWM or AFWM != 0xffff fixed
-  (ce-mode only, Elfmania loading screen)
-- caches configuration file list, reload only when saving
-  or deleting.
-- refresh rates in parenthesis don't anymore get reset to default
-  (parenthesis = display driver does not support selected rate
-  but it still may be available if some tweaking program is in use)
-- added supported refresh rates to winuaebootlog.txt
-- debugger breakpoints and memwatch points work now even if address
-  register's high 8 bits contain crap and UAE is emulating 24-bit
-  address space (copy protections..)
-- implemented more correct interrupt delays and removed now obsolete
-  SPCFLAG_DOINT, also (temporarily?) added experimental 68020+
-  interrupt "fix" which may not be safe..
-- POTGO fix (even "simple" io-port handling is complex in Amiga..)
-  fixes for example The Band's Human Killing Machine trainer
-- audio emulation tweaks. noise in Warhead and Hammerfist, 100 most
-  remembered C64 tunes freeze and most importantly, without breaking
-  Mission Elevator :)
-- compressed state file Action Replay bug fix (but AR statefile
-  support isn't too stable)
-- added missing address error exception check in exception handler
-  (and another copy protection works..)
-
-Beta 2:
-
-- full drag'n'drop support, config files/disk images/state files/roms
-  supported.
-- entering gui from smaller than 640x480 fullscreen mode fixed
-
-Beta 1:
-
-- GUI update! I am expecting lots of suggestions..
-- Configuration Load/Save-page updated, directory support addded
-- replaced floppy text box with select box, works as a combined disk
-  image text box and history list (30 last used images, also
-  automatically lists images inside zips) History list is stored in
-  registry.
-- added Disks-page for quick disk swapping (work in progress)
-- systray icon and menu
-- new icons (Jani Wilen)
-
-- scsi logging improved and moved to non-host specific code
-- AmiTradeCenter (ftp-client) bsdsocket emulation compatibility fix (SR)
-- gethostname() CTRL-C-signal fix (SR)
-- added debugger audio channel enable/disable command
-  (am <channel mask>)
-- Final (...) sprite-bitplane collision fix (Aunt Arctic Adventure)
-- IRQ level 7 didn't wake CPU up from possible STOP-state
-- END+PAUSE warp-mode sets frameskip temporarily to 10 (2-8x speedup)
-  except in cycle-exact mode (ce-mode's timing needs zero frameskip)
-- added Quit emulator -option to input source list
-- MODE SENSE/SELECT 6<>10 translation bug fix, 4 last data bytes were
-  replaced with random data (usually zeros) Was not noticed because
-  most programs use larger buffer than required.
-- cause bus error exception (and logs current CPU state) if program
-  jumps to non-existing memory and CPU is 68020+. ("Your Amiga program
-  just did something terribly stupid")
-- added exception handler that tries to trap instruction opcode
-  accesses. You see small dialog box explaining the situation. it
-  will be removed in release version. This usually happens when memory
-  gets corrupted and program flow "falls" off the end of memory bank.
-  These two fixes should prevent most 68020 and/or JIT WinUAE crashes
-  without any perfomance loss.
-- CE-mode 68000 instruction tweaks here and there
-  (I found out that you can use special blitter mode to "log" data bus..
-  More fixes later)
-- JIT is confirmed compatible with Windows XP SP2's data execution
-  prevention (missed three smaller buffers in previous DEP fix)
-- crash automatically creates minidump file to WinUAE's directory
-  (winuae_yyyymmdd_hhmmss.dmp) Minidumps helps debugging the crash.
-  Zip and send the file if I request it.
-- RTS/RTD/RTE return address exception 3 fix
-- Picasso96 WaitForVSync fixed, demo "Fake Electronic Lightshow" by
-  Ephidrena is now usable in RTG-mode.
-  Windowed mode = Virtual vsync. Uses frame rate from gui, default = 60
-  Fullscreen = Virtual vsync. Uses fullscreen mode's refresh rate.
-  Fullscreen + Vsync = real vsync.
-  btw, before someone asks after checking the sources: update is
-  "hidden" in filesys.asm..
-- zipped statefiles and zipped dms files work again
-- ancient 8-bit Picasso96-mode palette problem solved
-- don't crash if emulated harddisk is removed while emulation is
-  running
-- disk emulation fix (Knin Peaks by Reality)
-- cycle-exact single channel blit speed fix (very undocumented
-  feature..)
-  fixes slowdown in demos Revival and How 2 Skin a Cat.
-
-0.8.25:
-
-- even more improved AVIOutput. Added enable/disable button, entering GUI
-  does not stop the recording anymore. Picasso96 modes supported.
-  (config file support will be added in future version)
-- cycle exact blitter B-channel handling fix (Arte)
-- drivesound: don't play "snatch"-sound if drive is empty
-- "2000AD"-fix removed, it isn't really right either, later...
-
-Beta 3: (final?)
-
-- added uaescsi.device logging, enable it with -scsilog command line parameter
-- Windows XP multimouse really works now
-- added uaescsi.device ATAPI INQUIRY and MODE SENSE/SELECT 6<>10 translation code,
-  fixes IDE CDROM compatibility problems with PlayCD and probably others too.
-  (thanks to Oliver Kastl) TEST THIS!
-- added frame limit -checkbox to avioutput page. checked = disable frame limit
-  and don't output sound, unchecked = frame limit enabled and sound output enabled.
-  (maybe somebody wants to record and play the game at the same time..)
-
-Beta 2:
-
-- drive sound sample rate conversion code was total crap..
-- calcdiw() vpos >= minfirstline-check re-commented, correct place is in decide_line()
-  (corrupted some regular Workbench native screen modes)
-- display/resolution enumeration code updates
-- desktop size check corrected
-- increased supported input devices from 4 to 6
-- some small directinput cleanups
-- bsdsocket emulation update. CNet's SMTPd works now. (Stephan Riedelbeck)
-- don't use bitcell timing buffer when writing to disk..
-- avioutput is now much faster (on some display cards it was already fast but
-  on others it was very slow, about max 5fps..)
-  Display data is fetched directly from UAE's internal buffer instead of using
-  slow reading from display RAM if any display filter is enabled (except D3D or OGL)
-  Also display size and depth config options were removed, now you get exactly
-  the same display as you see. (I didn't want to add complex display depth
-  conversion code when you can easily do the same by changing WinUAE's display
-  settings..)
-
-Beta 1:
-
-- "Windows mouse" doubleclicking fixed
-- drive sound volume was not saved to config file
-- right border is not clipped anymore even if program uses max overscan. Finally..
-  (Settlers, Pinball Illusions etc..) NOTE: screen position has changed a little.
-- filter display buffer width increased to 736, old 708 was too small for max overscan.
-  (noted here because it can also affect screen position slightly in filter-modes)
-- fixed display corruption in programs that update DDFSTRT just when display
-  starts. Fixes Mystic Tunes by Vertical, Bierkrug-tro by TEK, Forgotten Realms
-  Slideshow '90 by Fraxion and probably much more..)
-- "more compatible" now enables very basic prefetch emulation in non-JIT
-  68010-68040 CPU models. (very rarely needed, I currently know only 2 programs)
-- multimonitor code didn't ignore disabled displays, caused DX errors when
-  WinUAE started.
-- input code didn't check max number of detected devices, having more than 4
-  mice, joysticks or keyboards in input tab crashed WinUAE.
-- don't start bitplane dma until vpos >= minfirstline (comparison was commented
-  out for some reason) Fixes old demo Back in bizness by 2000AD
-- RTG-RAM start address was not saved to statefile, restoring it caused RTG
-  RAM being mapped over chip RAM.. (not really problem because full Picasso96
-  state is not supported yet)
-
-
-0.8.24
-
-Beta 3:
-
-- drive sound was mixing (empty) sounds even if all drive sounds were disabled
-- added "Windows mouse" to input-tab. It has exactly the same "feeling" as WinUAE's
-  mouse before directinput-input code was implemented.
-- fixed stupid debugger bug, remove breakpoint-command didn't check if breakpoint was already removed..
-- "saveimages" were limited to "parent"-image's max number of tracks (for example writing
-  to track 80 was ignored if parent image was standard 80 track (0-79) adf)
-- lores-checkbox is back, it wasn't as useless as I originally thought..
-- debugger 't'-command can now be used to step more than 1 instruction (t <number>)
-- cycle-exact BLITPRI timing fix (Robotics Life, probably others too..)
-- improved 68k MUL and DIV -instruction timing in ce-mode
-- improved FDI 2.0 support
-
-Beta 2:
-
-- more debugger updates, search-command s <"string">/<hexvalues> [<addr]> [<length>]
-  bl lists all stored "state recorder" states
-- F12 now works even if all keyboard(s) are disabled in input-tab..
-- added volume-slider to sound-tab, added volume up/down/mute shortcuts
-  (end+numpad minus, end+numpad plus and mute = end+numpad star, also mapped to "multimedia" keys)
-- hide single raw mouse, having two identical mice is too confusing I think.
-- moved some hardcoded GUI-strings to resource
-- power/led/etc led initialization fixed (editing the GUI before starting the emulation didn't
-  update all necessary variables, editing on the fly worked fine)
-- display frequency-setting affects now Picasso96-modes (no more default refresh rate)
-- drive sound emulation :) (James Bagg, me)
-  You can also use external samples if you put files called drive_click_xxx.wav,
-  drive_spin_xxx.wav, drive_startup_xxx.wav and drive_snatch_xxx.wav (xxx = whatever you want,
-  "click" is the only mandatory sample) to directory called <winuae path>\uae_data\ (better suggestions?)
-- fullscreen multimonitor support
-- better multimonitor compatibility (use correct display limits instead of primary display
-  limits when positioning WinUAE's main window, non-primary screen overlay mode works etc..)
-- "state recorder" is now mostly working. It takes automatic state saves every x seconds to its internal
-  buffer (size is also configurable). "Rewind"-key can be configured in input-tab or also END+numpad /
-  can be used. (This feature may not be in next official release)
-
-Beta 1:
-
-- don't ignore frame skip setting when capturing AVI
-- implemented "memory state recorder" (don't ask about it yet..)
-- bsdsocket updates from Stephan Riedelbeck
-  fixes TCP device TCP:<port>, Apache and maybe other programs too.
-- Windows XP multi-mouse support and DirectInput mouse-handling updates
-  Windows XP-only: Input-tab now lists regular DirectInput-mouse and
-  one or more "raw" mouse.
-  Windows 9x/ME: only USB-mice can be handled separately, PS/2 mouse is always
-  only connected to "supermouse" (DirectInput system default mouse that combines all
-  separate mouse events, marked with '*' in input-tab)
-  -> two USB mice are required for two mouse games under 9x/ME
-  and finally, Windows 2000 does not have any support for multiple mice,
-  all you get is single "supermouse".
-  Big note: currently you need to disable default-mouse first if you want any
-  events from non-default mouse.
-- fixed JIT default settings without loading any configuration
-  (log was filling with JIT error messages..)
-- cleaned up Kickstart ROM loader part of memory.c
-- saving compressed state file without zlib1.dll didn't correctly fall back to non-compressed mode
-  (created corrupted statefiles with completely empty memory chunks..)
-- crash after 4th or 5th state save finally fixed (very embarrassing mistake..)
-- fixed crash when Picasso96 was enabled and graphics filter GUI was accessed
-- FDI 2.0 support (not complete yet)
-- lots of debugger improvements (much more useful now..)
- - f-command extended:
-    f without parameters = break when PC not in ROM and current instruction is not
-    0x4ef9 (don't break when executing library jump tables) Great for finding start
-    address of bootblock.
-    f i = break when PC points to RTS/RTR/RTE-instruction
-    f i <opcode> = break when PC points to instruction opcode <opcode>
-    f <addr> = add/remove new breakpoint (max 8)
-    fd = remove all breakpoints
-    f <addr1> <addr2> = break when <addr1> <= PC <= <addr2>
- - W-command's value-parameter can be decimal 12345 or hexadecimal (0x12345 or $12345)
-    write size is byte if val < 256, word if 255 > val < 65536 and long if val > 65535.
-    (previous version's write size was always long and was limited to chip ram)
- - memwatch break points added, w <0-3> <address> <length> <r/w/rw> [<value>]
-    break when address space between address and address + length is accessed and
-    if accessed value = <value> R = break only on reads, W = writes, RW = both
- - i-command: interrups and traps combined, VBR supported
- - custom register dump -command added (e), dumps the contents of all existing registers
-   between 0xdff000-0xdf1ff.
- - CIA dump-output slightly modified, added TOD stopped status-flag
- - exiting debugger automatically creates "memory state" and b-command can be used
-   to "rewind" (again, don't ask and don't try yet..)
-
-0823
-
-- small AUDxDAT fix (The Pawn's music was broken again..)
-
-Beta 4:
-
-- sprite emulation fix, broke in b1 (Hybris bullets/score)
-- JIT cache is now allocated with PAGE_EXECUTE-flag (=JIT compiled code is allowed to run)
-  Future Windows versions may not enable PAGE_EXECUTE by default due to security reasons.
-- merged first source patch from Richard Drummond (http://www.rcdrummond.net/uae/)
-- "figure_pixel_formats" possible infinite loop fixed
-- zip/gzip support requires now new zlib1.dll instead of old zlib.dll
-- forced blitter finish when saving state didn't work correctly in ce-mode (yeah, again..)
-  (could cause infinite loop and freeze when saving)
-
-Beta 3:
-
-- non-ce blitter speed was wrong (broke in b1)
-- MAPROM-emulation checkbox fixed and moved to ROM-tab
-- problems with keyboard leds and priorities fixed
-- slightly changed filter GUI (support for future 3x/4x filters)
-- increased the range of filter size/position adjustments
-- fixed bug that causes randomly lost characters received from serial port
-- delay simultaneous disk inserts
-- more commands (pause, turbo, irq7 etc..) added to input-tab
-- scale is halved when in D3D/OGL-mode and resolution is smaller than 450*350
-- clock sync option removed from GUI (causes too many problems)
-- screenshot system freeze fixed (Windows9x/ME only)
-
-Beta 2:
-
-- don't complain about AGA requiring 16 bit if selected screen mode is 8-bit Picasso96-mode
-- blitter emulation updates for very buggy programs that starts blitter before updating
-  BLTCON0 and BLTCON1.. (old Psygnosis games) Was partially broken in R9. This fix was already
-  included in B1 but I forgot to add changelog entry.
-- fixed bug in blitter update that broke textured line mode
-- uaescsi.device unit numbers always start from 0 (0 = first CDROM, 1 = possible second
-  and finally other SCSI devices if available) Unit 0 is reserved for CDROM, first available
-  unit number will be 1 if PC has no CDROM(s) but other supported SCSI devices.
-  This makes CD filesystem installation more user friendlier.
-- AHI emulation improvements (Bernd Roesch)
-- state saving happens immediately after selecting state file name (woohoo..)
-- complain if HD emulation is enabled when saving state
-- added some unused keycodes to input-tab
-- forced blitter finish when saving state didn't work correctly in ce-mode
-  resulting in slightly corrupted state files.
-- fixed very stupid mistake in CIA parallel port read routine, fixes parallel port
-  joystick adapter, was broken in r8b4.
-- Picasso96 faster solid window moving (Bernd Roesch)
-- bcc.b was 2 cycles too fast in ce-mode (probably does not fix anything..)
-- SPTI-CDROM didn't use shared mode, fixes media change detection problems
-- added MAPROM-like feature (jumper on Blizzard's accelerator cards that map Kickstart
-  ROM space to RAM) Enable-checkbox in misc-tab, uaelib function 80 returns mapped memory area.
-  (0 = no support, 0xffffffff = not enabled, other = mapped RAM address, currently hardcoded
-  to 0xe00000) Thanks to BlizKick's author for adding support
-
-Beta 1:
-
-- cpu usage meter implemented, results may be surprising...
-  (note that in "fastest possible" it always shows 100%+ except when
-  idle-mode is enabled and cpu is executing STOP-instruction)
-- more undocumented features found, switching bitplane DMA on during DDF can have
-  (at least) 3 different results:
-  1: OCS only: nothing happens, bitplane fetches don't restart until next line
-  (only this condition was emulated in older versions)
-  2: ECS/AGA: fetches start normally if DMA was disabled outside of DDF or during
-  current line (Sixth Sense Investigation's buggy copper list requires this..)
-  3: ECS/AGA: display processing goes to "DDFSTOP passed"-condition immediately
-  if DMA was disabled inside of DDF during any previous line
-- add missing ".avi" automatically to avioutput filename
-- overlay state was not reset when changing display modes, caused
-  "The selected screen mode can't be <blahblah>"-message and forced
-  unnecessary fullscreen mode.
-- Page Up-key is available for user configuration if Action Replay is not enabled
-- AWeb/IBrowse bsdsocket.library possible connection freeze/slowdown fix
-  (Stephan Riedelbeck)
-- switching from 68000 to 68020+ JIT-mode works and also fixed crash if switching
-  from 68000+CE-mode to JIT-mode
-- added hack that syncs CIA-TOD to host system's time. No need to run restoretime
-  hack anymore. Checkbox in misc-tab. (hack = may cause compatibility problems)
-- misc-tab split. Priority options moved to "Priority"-tab, added separate priority
-  setting for active, inactive and minimized WinUAE.
-- don't zero LOF-bit when executing customreset(), fixes original Shinobi
-- bsdsocket SBTC_SIGIOMASK support, fixes Jabberwocky. Thread priority updates.
-  (Stephan Riedelbeck)
-- enforcer-style debugging improved (Bernd Roesch, Sebastian Bauer)
-- restoring state didn't update floppy drive type correctly, fixed
-- sometimes Amiga left mouse button got stuck when WinUAE lost focus, fixed
-
-R9:
-
-Beta 4:
-
-- fullscreen height was incorrectly initialized when loading "old" config files
-- avioutput width and height are correctly initialized
-- null filter centering fixed (null is 1x, not 2x..)
-- moving GUI over fullscreen software filter mode didn't refresh screen
-- it is now possible to disable creation of UAEFSDB-files by adding
-  unofficial config entry "filesys_no_fsdb=true" to config file
-- automatic AVIOutput AVI split before file size goes over 2G
-- GUI disappearing "behind" the screen in fullscreen mode fixed
-- fixed "bug" (removed one consistency check..) in unzip code, some zip files
-  didn't uncompress. Either unzip code I use is buggy or zip file is slightly
-  broken (but winzip nor winrar didn't complain)
-- AVIOutput sound and video sync problems fixed
-- don't stop AVIOuput recording when entering END+Fx-disk change dialog
-- "AGA 16-bit"-message box was incorrectly shown in windowed mode
-- "saveimage"-floppy write support was again broken.. (it was possible to make
-  zipped files write-enabled but writing to "saveimage" was still ignored..)
-
-Beta 3:
-
-- software filters fixed in windowed non-overlay mode
-  Only Scale2X and Null support 32-bit, filter defaults to null if unsupported
-  filter is selected. (wrong filter is better than black screen..)
-- crash with sound disabled fixed
-- another bsdsocket connection fix
-- separated width and height for fullscreen and windowed modes
-- hide lores-checkbox, lores is now automatically enabled if doubling is disabled
-  (But maybe there was/is reason for separate horizontal and vertical doubling?)
-- removed lots of compilation warnings
-- replaced IOCTL_GET_GEOMETRY with more compatible IOCTL_CDROM_GET_GEOMETRY,
-  properly fixes Windows 2000 CD32 CD detection.
-- disable "Add Harddrive"-button if Windows is not NT-based
-
-Beta 2:
-
-- immediate blitter works again
-- return 0xffffffff again when CPU >= 68020 and reading non-existing memory
-- uncompressed RAM dump added to state save dialog
-- loading config that mounts floppy drive don't anymore cause
-  "no disk in drive A:"-dialog
-- bsdsocket.library updates (Stephan Riedelbeck)
-  - accept(socket, 0, 0) works, fixes IRCD
-  - gethostbyname (Windows 9x only) could freeze for couple of seconds
-  - reset socket error after gethostbyname, fixes AmyGate
-  - connection failures on some systems
-- scale2x, supereagle, 2xsai and super2xsai 2x filters integrated
-  (all except scale2x borrowed from ScummVM project)
-  filter configuration changed again, null filter added (=filter that
-  does nothing but allows vertical and horizontal position adjustment)
-  Currently only supports 16-bit modes (automatically forces 16-bit)
-- added message and force 16-bit if 8-bit and AGA is enabled
-- SPTI CDROM eject/insert media detection fix
-- it seems IOCTL_DISK_GET_DRIVE_GEOMETRY is only supported on Windows XP,
-  added workaround that fixes CD32 emulation in non-ASPI mode on Windows 2000
-
-Beta 1:
-
-- fixed (I hope) compiler optimization bug, at least ROXL.W didn't set N-flag correctly
-  maybe other rarely used instructions also had problems
-  (broke CAPS Rick Dangerous 2 protection code)
-- NTSC-mode vsync sound fixed
-- don't crash in CD32 mode if both ASPI and SPTI are not available
-- added CAPS-support (and CE-support) to mini-version due to popular request.
-  I hope this does not cause any unnecessary slowdown. Executable is now
-  2x bigger because of included "more compatible" and "ce"-cpu emulators.
-- implemented 100% (I think..) exact blitter block-mode cycle diagram in ce-mode
-  (minus possible bugs..) All tested "100+ bob" -routines work now without flashing.
-  line mode cycle diagram is still not completely known.
-- small ASPI CDROM media detection code change (may or may not help..)
-- simplify audio emulation if 68020 or better selected. New code is "too" correct
-  and causes timing problems if custom register/chip ram access is really too fast
-  (fixes TBL's Tint-demo's music)
-- sound calibration-button (may not be in final release)
-- ticking/unticking 68000 "more compatible" checkbox on the fly now reconfigures the cpu
-  emulator correctly, emulated program should not crash anymore.
-- replaced "run at higher priority" with priority selection select box
-- don't write obsolete config entries from old config file when saving
-- D3D AVI capture works again (D3D AVI support code was mysteriously disappeared..)
-- more audio changes again, old "Mission Elevator"-fix still wasn't correct enough
-  (broke some music players) Audio state machine transitions from 1 to 5 seem to have
-  unexplained delay(s). I think ME is the only game that requires this (and only because
-  of stupid bug in ME's sound effect code..)
-- SPTI CDROM media detection fixed (never noticed it because enabling debug-logging
-  "fixed" the bug..)
-- SPTI/ASPI CDROM possible crash fixed (both CD ROM fixes needed before I managed
-  to install OS 3.9 without problems)
-
-- R8
-
-Beta 6:
-
-- blitter always used exclusive fill mode, caused single pixel gap between
-  filled polygons if program used inclusive mode (for example The Pink Circle by Arcane)
-  I broke it accidentally some releases ago, I think...
-- optimized Picasso96 blitter emulation (Bernd Roesch)
-- always compress "quick" state files
-- startup config file description scan crash fixed (needed more than 100 or so config files..)
-- size of display resolution table was too small
-- mapped "AppMenu"-key to right Amiga key
-
-Beta 5:
-
-- display width is now forced divisible by 8 when adjusting width on the fly
-- miniwinuae and regular winuae display mode list is now sorted identically
-- cpu speed calculation overflowed if cpu frequency was >~2.8GHz (latest P4 CPUs)
-  caused huge slowdown
-- JIT CPU nop's removed
-- clear execbase when reseting if memory size (any memory) was adjusted
-- don't mount non-existing virtual directories (prevents red screen reset loop)
-- updated AHI support (Bernd Roesch)
-- F6-state shortcut removed, replaced with END + <numeric keypad number> (restore)
-  and CTRL or SHIFT + END + <numeric keypad number> (save)
-  zero or period = currently selected statefile (includes period because my keyboard
-  ignores simultaneous CTRL/SHIFT + END + 0..)
-  1 - 9 = currently selected statefile + "_" + <number> added to end of file but
-  before extension.
-- force full screen update after loading state file
-- disable beta 4's "Fighting Soccer fix" if CPU >= 68020. I think there are too
-  many bad sound routines that fail with "too" fast CPU or custom chipset access speed.
-- fixed (I hope..) rare filesys crash when rebooting (introduced in beta 2)
-
-Beta 4:
-
-- wav-output created slightly incorrect wave files and frequency was not updated correctly
-- GUI CPU JIT-page update, enable JIT checkboxes only if "Force Settings"-checkbox is ticked
-- AR2/3 ROM bank size fixed
-- CD32 audio CD play/stop/pause commands changed slightly, may fix some ASPI problems
-- Picasso96 windowed<>fullscreen switch and reseting while in Picasso96 mode fixed
-  (broken in beta 2)
-- audio emulation fix, AUDxLEN is copied to backup register when DMA is enabled but
-  AUDxPT when first DMA fetch happens. (fixes "Fighting Soccer" referee speech)
-- D3D/OpenGL automatic doubling if selected resolution is "too large"
-- free old harddrives before loading new config
-- CIA-A TOD rate was about 11% too fast (broke in R7B1)
-
-Beta 3:
-
-- joystick keyboard layout B and C 2nd firebutton mapping
-  (Right and left shift) was wrong and caused crashes.
-- CD32 media change detection works properly (again..)
-- bsdsocket.library emulation works again (stupid merge error by me..)
-- prevent badly crashing programs setting very crazy vblank frequencies
-- pause CD32 cd audio when GUI is active
-- decreased the rate of HD-led flickering because there are keyboards that
-  are really slow in changing led state
-- fixed 57600 to 56000 serial bitrate rounding
-
-Beta 2:
-
-- fixed extended ADF HD floppy support
-- DirectX version check fixed, only D3D support requires DX9
-- selected 3D-mode was not saved correctly to config file, fixed
-- About-tab is back.. (broken in B1)
-- call fixup_prefs_dimensions() after loading config
-- POTGO/POTGOR emulation improved, more compatible CD32 pad emulation
-- Picasso96 display mode id strings fixed (broken in B1)
-- SCSI emulation was accidentally disabled in B1
-- added Direct3D screenshot support
-- removed Output-tab from mini-version
-- compiler updated to Visual Studio Net 2003
-- "intelligent" CD detection in CD32 mode
-- lores, correct aspect and linedoubling can be changed on the fly
-- added wav-sound output support to Output-tab (select "*.wav" from "Save As Type:"-select box)
-- virtual directory harddisk mapped to read-only directory (for example network share)
-  is forced read-only
-- it is (finally?) possible to return back to GUI and/or load new configuration.
-  "Load" and "Load from"-buttons are now always enabled, new "Exit"-button can be
-  used to return back to GUI (with old configuration intact)
-  WARNING: expect bugs and memory leaks..
-- bsdsocket.library emulation updates (Stephan Riedelbeck)
-- changed mini-version's default config to basic A500
-
-
-Beta 1:
-
-- source tree is now  more configurable. sysconfig.h contains defines that can be used
-  to enable or disable emulation features like JIT, AGA, autoconfig, harddisks, drop
-  all CPU features except 68000 etc..
-  I hope this helps porting (Win)UAE to slower devices like some PDAs etc..
-- win32_displaymode and PicassoResolution -structures merged
-- DirectDraw fullscreen mode flags fix (Sane)
-- added workaround for buggy sound drivers (ISA SB16, maybe others) that return zero as
-  minimum and maximum allowed sample rate...
-- fast copper was always disabled. oops..
-- another "last_custom_value" tweak, fixes Sonic - Irrepressible intro in ECS-mode
-- non-DMA audio mode properly emulated, fixes Mortville Manor's and Maupiti Island's speech
-- ext2-adfs' write-protection check fixed
-- Direct3D filtering and scaling implemented. Should be faster because D3D allows
-  direct rendering to texture's memory space. Note, DX9 required due to stupid MS
-  decision: opening child windows (F12-GUI etc..) while in D3D fullscreen mode is not
-  supported by DX8 API (Window simply disappears "behind" the screen..)
-  Unfortunately I get weird smearing effect when moving the GUI window (display driver bug?)
-- display resolution and depth can be changed on the fly
-- D3D/OpenGL mode image adjustments changed, size sliders at 0/0 = 1:1 display ratio
-- joypad problems fixed, bug affected some pads that have "point-of-view hat"-style
-  direction controller
-- fixed rare filesystem crash when copying files to directory in virtual harddisk's root
-- END+F6 = load from last selected state file, SHIFT+END+F6 = save to last selected state file
-- game Barney and Freddy Mouse by Kingsoft needs CLXDAT bit 15 set ("not used" says HRM but
-  always set on my A500 and A1200)
-- exiting GUI with Cancel or ESC cancels state save/restore request
-- Freespace demo JIT FPU bug fix (Bernd Roesch)
-- FPU rounding bug fix (Bernd Roesch)
-- fast copper state saved to config file (I don't see any other way to fix graphics bugs on
-  some games that fast copper causes)
-- CD32 joypad emulation works again (oops, has been broken quite a long time..),
-  default CD32 keyboard joypad mapping fixed, default joypad config added
-
-
-R7 (30.05.2003)
-
-Beta 5:
-
-- zipped ipf-image support (new CAPS plugin required). No official multidisk support yet.
-  (unofficially you can add "/<name of file>" or "\<name of file>" to the end of path,
-  for example "c:\caps\PinballFantasies.zip\PinballFantasies_CourseDisk1.ipf")
-  new CAPS plugin only for beta testers included.
-- "KickShifter" ROM checksum recalculation was wrong, fixes red screen with some Kickstart versions
-- bsdsocket Windows 2000/XP AmTelnet SSH freeze fixed (Stephen Riedelbeck)
-- new AHI driver, fix for wrong maxsamplesize, includes separate patch for DigiBooster Pro 
-  slowdown (Bernd Roesch)
-
-Beta 4:
-
-- "SWIV-fix" wasn't working if lores-mode was ticked, fixed
-- "sprites outside playfield"-fix is now working in lores mode, also fixes black bar that appeared
-  when running programs that use hires or shres mode, BRDSPRT was enabled and mouse pointer was
-  moved near right border
-- fixed broken "ShapeShifter" Kickstart patch code, replaced with generic patcher
-  (KS 3.0+ use separate code path for 68040+ which was not patched and KS 2.04 patch was just wrong)
-- "fake RDB" filesystem updates, multiple non-RDB custom filesystems works now properly
-- GUI filesystem selection crash bug fixed
-- beta 3 keyboard input update wasn't complete (loading new config was using old incompatible code)
-- selected sound sample rate wasn't updated correctly if sound driver didn't support selected rate
-- rewritten and cleaned display refresh rate selection code
-- more weird undocumented blitter line mode features emulated:
-  - after first pixel, C-channel's address is copied to D-channel.
-    (first pixel is written to address pointed by D-channel, all following pixels are written to
-    C-channel's address) Fixes Frantic's Cardamom and Cardamon demos.
-  - BLTAPT stays unchanged if A channel is disabled. I found this useless feature when running
-    tests on my A1200, probably never really used..
-- "collision detection does NOT change when you select either single- or dual-playfield mode"
-  says HRM. BZZZT, WRONG! Sprite to playfield collision detection should be correct (?) now.
-  Fixes Inferior and Sub Rally (I call it "Suck Rally" for obvious reasons..)
-- sprite DMA start raster line in NTSC mode fixed. This was surprising, first visible line in
-  PAL is 28, NTSC 27. But first possible PAL sprite DMA position is 25, NTSC start is line 20.
-  I was expecting smaller difference. Tested on my PAL A1200 in NTSC-mode.
-
-Beta 3:
-
-- horiz centering bug fixed (could cause crashes)
-- trace-mode fix. fixes CAPS Defenders of Earth trace-vector-decoder protection routine.
-- POTGOR emulation fixed (Sound of Silents -music disk ugly right mouse button test code..
-  here is snippet: cmp.w #$0100,$dff016; bne right_button_not_pushed; ...)
-- sectors, surfaces and reserved are automatically zeroed if selected hardfile contains RDB
-- multiple keyboards supported, config save crash/non-working keyboard fixed when MS SideWinder
-  Virtual Keyboard driver is installed.
-- MOVEC-instruction fix, register 3 is 68040 only, it is not supported by 68020 (ancient bug, fixes
-  Aladdin AGA and Banshee AGA in 68020 mode. CPU detection code detected MMU due to bug..)
-- SWIV scoreboard graphics bug fixed (was caused by very weird undocumented OCS/ECS-only hardware feature)
-- input point-of-view hat controller support
-- small audio hardware reset fix
-
-Beta 2:
-
-- 68020+ instruction bcc.l was broken in 68000/68010 mode when cycle-exact mode was implemented
-  (is really useless version of bcc.b when run under 68000/68010), fixes Paradox cracked Nitro
-- harddisk partition detection updates. It seems Windows sometimes lies about drive's partition table
-  (drive really only contains RDB partitions but Windows still thinks there are some empty
-  MBR partitions..)
-- improved Action Replay state file support
-- new misc-page layout, added "Run at higher priority"-checkbox to misc page (sets process priority to higher
-  than normal when WinUAE is active, helps skips and jumps caused by background processes)
-- sound frequency GUI updated, allowed frequency range is now from 8000 to 48000 (max 96000 if sound card supports it)
-- some experimental and buggy copper code from beta 1 removed..
-- audio filter emulation (formula from
-  http://groups.google.com/groups?q=g:thl3970091855d&dq=&hl=en&lr=&ie=UTF-8&oe=UTF-8&selm=5sntr1%243ki%241%40nef.ens.fr)
-- button/key mapped to mouse direction wasn't working correctly, fixed
-- another bsdsocket fix (Stephen Riedelbeck)
-
-Beta 1
-
-- audio emulation fixes (fixes Mission Elevator again, this time proper fix)
-- removed obsolete code (I think so..) when bitplane count during the raster line was
-  decreased (single line of crap between playing area and scoreboard on Mission Elevator)
-- Rainbow Island works again (broke in beta 4)
-- serial port settings can be changed on the fly
-- changing printer on the fly works
-- printer didn't work if also serial port was enabled
-- added serial port "direct"-checkbox, forces 115200 bit rate, lowers latency,
-  needed by some serial linked games (Lotus 2) when connecting two PCs running WinUAE
-- partial Action Replay state file support
-- bsd socketfix for Ping Traceroute UDP Ping (Stephan Riedelbeck) 
-  If you can test diropus Magellan with FTP Lister so please test,if this work as before.
-  Try to connect to de.aminet.net dir aminet/new with anon on
-  If you get no error 22 report from diropus for 5 trys all work ok 
-- replaced uae_int with level 2 interrupt (was level 6), fixes buggy HD installable
-  demos/games that disable level 6 interrupt. Using level 2 is more compatible
-  because A1200/A4000 IDE-controller and A590/A2091 use level 2 interrupt.
-  Also fixed bug that added uae_int handler twice. Set priority of interrupt to 20 (A1200 IDE uses it)
-  Fixes game Old Timer and demo Captured Dreams by The Black Lotus (and probably much more..)
-- CIA OVL-bit is ignored in AGA Amigas
-- proper emulation of POTxDAT counters, analog joystick support in input-tab
-- blitter in linedraw mode is weird, D-channel can be disabled without any effect on drawn line, enabling
-  C-channel is enough. (undocumented feature, fixes Great Fun #16 packdisk)
-- added hack that fixes buggy demos that read accidentally from write-only or non-existing custom
-  registers and expect sane return values. Fixes Captured Dreams, Industrial Fudge, Codetrash.
-- changed sprite-attach handling, even sprite attach-bit must not be ignored because setting it
-  does something interesting.. and thats another undocumented feature, fixes Elfmania scoreboard
-- DDFSTOP >= 0xe4 effect DOES NOT happen on OCS chipset, only on ECS and AGA... (fixes Sargon History -megademo)
-- copper WAIT-wakeup state may not need free cycle, fixes Full Contact but I am not sure if this is correct fix..
-- palette wasn't updated properly when entering and exiting the gui in fullscreen 8-bit Picasso96 mode
-- new application icon (Michael Battilana)
-
-
-R6 (19.04.2003)
-
-Beta 6 (final?)
-
-- disabling fast ram (or any expansion ram) and reseting the Amiga doesn't crash anymore
-- do not reset when selected CPU is 68000 + compatible or cycle-exact and when program counter
-  goes to no man's land (fixes demo Purple by Warfalcons, uses very bad and tricky protection..)
-- right CTRL can be used to reset Amiga (RCTRL + INSERT + HOME or RCTRL + Windows keys)
-- 68020+ word moves from non-word aligned custom registers fixed (for example move.w $dff005,d0 uuargh..)
-  (fixes 4k AGA intro, Fuck the Pc! by Anorganic/Promise!) 
-- DDFSTOP >= 0xe4 effect also happens on OCS and ECS chipsets, don't know why I missed that..
-  (fixes Wind It Up Megamix 93)
-- added DirectX 8 test
-- full DIWHIGH save/restore support added
-- OCS Agnus ignores DDFSTRT/DDFSTOP bit 1, this fixes Eliminator/Double Dragon 2 properly
-  without stupid hacks. (Yes, both games are OCS only, tested on OCS and ECS A500 and A1000)
-- default chipset changed to ECS Agnus and selecting >0.5M chip ram automatically enables ECS Agnus
-  more compatible and less (hopefully..) complaints about programs that suddenly fail under OCS chipset..
-
-Beta 5
-
-- fixed stupid ASPI bug (bug introduced in B4)
-- fixed ce-mode blitter freeze in Picasso96 modes
-- fixed crash in Picasso96 mode if OpenGL was enabled (I think so, it didn't crash here..)
-- pause-mode (END+PAUSE) fixed (bug introduced in B4)
-- simplified and improved disk wordsync and indexsync emulation (fixes Quadlite's "El Egg Tronic Quarts" -slideshow)
-- CIA-A LED and OVL bit fix (wasn't proper enough last time..)
-- input-tab disable-checkbox implemented, unticked = selected input device is disabled completely
-- added Amiga joystick port swap button to input-tab and other input fixes
-- AGA dualplayfield color fix, this confirms that BPLCON4 is used normally in DPF mode
-  (fixes Tube Warriors bottom of screen, one wrong colored horizontal line still remains)
-- 9-bit mode serial port hack implemented. PC hardware don't support 9-bit mode (1 start, 9 data and 1 stop bits)
-  but this hack transparently doubles the baud rate and sends/receives two characters when using 9-bit mode.
-  Only works if two PCs running WinUAE are connected, PC - Amiga connection naturally can't work.
-  Serial linked games should now work (Stunt Car Racer and Lotus 2 tested and confirmed working)
-- added support for weird AGA only -feature, if DDFSTOP is >= 0xe4 (= can't be never reached), display DMA
-  always starts at 0x18 (DDFSTRT is ignored). This also confirms that position 0x18 is first possible bitplane
-  DMA slot. (fixes CCCP-demo and Hellfire cractro graphics garbage)
-- ECS/AGA SPRxCTL bits 5 and 6 emulated (vertical start and stop bit 9) (fixes The Dark Demon - Burning Spears demo)
-- chipset type can be changed on the fly
-
-Beta 4
-
-- blitter slowdown code fix
-- CD32 pad buttons work properly again
-- CPU idle checkbox replaced with a slider (was already in B3 but forgot to include changelog entry)
-  note that slider works now differently than in B3:
-  Slider fully left = disabled, every step to right increases the number of idle-calls. Quick way to find
-  good position: boot to WB, move slider right step by step until FPS drops below 50fps then move the
-  slider back left two steps. (setting depends on host CPU speed, there is no good default value, yet)
-- CPU idle is always disabled in A500-speed mode (only caused trouble)
-- increased the size of DirectInput buffers, no more lost input events when moving mouse very quickly
-  and/or using high mouse refreshrates.
-- copper SKIP-instruction fix (fixes TEK's Rampage -demo partially, later part still crashes)
-- uncompressed statefiles can be created by selecting "uncompressed" from "save as type"-select box
-- CIA TOD fix (ALRM-interrupt is disabled when TOD is stopped, fixes Entity, which by the way has
-  very buggy level 2 interrupt handler..)
-- fixed bsdsocket bug that caused hangups when transferring ftp data with diropus (Stephan Riedelbeck)
-
-Beta 3
-
-- AGA BRDBLANK-bit partially supported. Fixes Aladdin AGA. NOTE: running utilities
-  that toggle BRDBLANK-bit doesn't update top and bottom border correctly yet.
-- better (?) Pentium 4 JIT fixes merged from latest BasiliskII JIT (Bernd Roesch)
-- added PAL and NTSC -strings to 50/100 and 60/120 vsync frequencies
-- random sound popping fixed (workaround was to enter and exit the GUI)
-- fixed freezing if RDTSC's contents suddenly jumped very far, this usually happens
-  when returning from hibernate-mode or waiting for a long time in GUI before returning.
-  (Bernd Roesch & me)
-- more display updates, fixes Wild Streets (and hopefully doesn't break anything..)
-- fixed bug in CDTV battery backed RAM emulation (newer CDTV extended ROMs don't freeze anymore)
-- turbo-floppy mode supports writing (earlier versions only "turboed" reading)
-- fixed writing to multiple floppies simultaneously
-  (for example SuperDuper with multiple destination drives selected)
-- proper CIA OVL bit emulation (fixes very tricky CAPS Double Dragon 2 protection code)
-
-Beta 2
-
-- more audio tweaks, Liverpool works again
-- implemented Picasso96 RAM state file support, added "hooks" for saving/restoring full state
-- ADKCON UARTBRK-bit really works now (was commented out in beta 1)
-- display emulation update, fixes Eliminator and Double Dragon 2 graphics corruption.
-- major disk emulation bug fixed, could cause frozen write operation and disk corruption..
-- compressed statefile support. Statefile's RAM contents are automatically compressed when saving.
-  also added support for loading (g)zipped statefiles.
-- GPF bug fixed when program counter was pointing to random address in 32-bit space in 24-bit mode
-  Fixes "more compatible"-mode only, non-compatible still crashes (not easy to fix without
-  performance problems or big changes), ce-mode already worked without crashing.
-- fixed bug in saveimage-support, compressed disk images can now be write-enabled.
-- implemented very simple code that approximates the number of cycles that bitplane DMA steals from the blitter.
-  Now it is possible to run some games/demos without graphics glitches in non-cycle exact mode
-  (for example PP Hammer and Spindizzy Worlds)
-- screenshots are saved to <winuae directory>\ScreenShots -directory
-- more CIA serial port emulation updates
-- fixed crash when creating empty CD32 NVRAM image file
-
-Beta 1
-
-- input configuration autofire settings weren't saved properly
-- Terrorpods background graphics fixed
-  (Game writes to BLTCON1, BLTAFWM and BLTALWM after writing to BLTSIZE..)
-- disable Windows screensaver when WinUAE is active and GUI is not visible
-- disable middle mouse button events when "Middle Mouse-Button -> ALT-TAB" is enabled.
-  (caused stuck middle mouse button because release event never arrived..)
-- fixed crash when zlib.dll was missing and (g)zipped image was selected
-- changing floppy image and clicking "Reset Amiga"-button booted from old image
-- added hackish support for AGA only feature that allows sprites outside display window,
-  fixes Banshee AGA scoreboard and AB3D background graphics, will cause small (?)
-  performance loss only when program uses this feature.
-- fixed ancient blitter bug, writing to address 0 was ignored. Fixes CAPS Guy Spy and Dragon's Lair.
-- small "delayoffset" fix, fixes Skeleton Krew's jumpy scrolling
-- floppies-tab floppy drive type/disable/enabled state select boxes didn't update internal state correctly
-- DSKREADY-signal fix. DSKREADY is only low when motor is running full speed and disk is in drive.
-  (confirmed with my real A1200 and 2 external drives, drive always turns motor off if floppy is ejected)
-  Pango (and probably others too) use this signal to detect disk changes..
-- another audio bug fix, caused missing samples/noise with some music players
-- partially rewritten serial code, emulated Amiga's DTR,RTS,CD,CTS and DSR lines are
-  directly "connected" to PC serial port pins, ADKCON UARTBRK-bit supported, SERDATR status bits
-  and serial interrupts are (nearly) properly timed. Configurable hardware CTS/RTS handshaking.
-  Of course PC hardware have some limitations: DTR and RTS are output only and
-  CD, CTS and DSR are input only. WARNING: may not be 100% bug free yet..
-
-R5: (28.02.2003)
-
-Beta 8 (final?)
-
-- GUI problems in fullscreen mode fixed
-- audio bug fixed, fixes Impossible Mission II
-- another last minute change: (I really can't stop adding new features..)
-  added HDF filesystem selection GUI. Simply select path to Amiga
-  filesystem driver (FastFileSystem from WB1.3:L when booting HDF's
-  under KS 1.3, SmartFileSystem if you want to boot SFS formatted HDF
-  etc..) No more playing with roms-directory and hexadecimal names.
-
-Beta 7 (Release candidate, expected release date 27-28/2):
-
-- Murder/Crack Down audio hack-fix removed. (not needed anymore).
-  This must mean my audio emulation updates are correct :)
-  Fixes Terrorpods.
-- extended adf2 support fix (loading of non-RAW tracks failed)
-- implemented input-tab GUI support for 1-4 input events/input source
-- Windows 9x crash fixed
-- reverted back to beta 5 serial port code, there is no time to
-  fix all bugs now in new code. Later..
-
-Beta 6:
-
-- audio quality should be "perfect" again
-- sound-"resync" code re-enabled, vsync should be 100% smooth again
-  (was accidentally disabled in beta 5)
-- disabled floppy drive's motor state is cleared when restoring state
-  (no more disabled drives and green leds)
-- improved fake-RDB-filesystem loader, it is now possible to autoboot/mount
-  custom filesystem formatted regular HDF-files. (SFS, PFS etc..)
-  Requires filesystem driver in WinUAE's roms-directory, named filesystem's
-  "dostype in hexadecimal.fs". For example SFS's dostype is 0x53465300, file must
-  be named 53465300.fs (I know, not very logical but that was too easy to implement..)
-- some serial port compatibility "fixes", serial port support may not work...
-
-Beta 5:
-
-- sound quality fixed (I think so..)
-- removed debug code that disabled "fast copper"
-- enabled very experimental 4 channel DirectSound audio code.
-  Amiga's 4 separate audio channels are directly fed to DirectSound
-  instead of using UAE's software mixing.
-  NOTE: currently 4+ speaker systems get strange results: each Amiga
-  channel goes to separate speaker.. (1 goes to front left, 2 goes
-  to front right, 3 goes to rear left and 4 goes to rear right..)
-  Not tested with 2 speaker systems..
-  Enable with "-dsaudiomix" -command line parameter.
-  I'll try to fix the speaker problem if this is useful feature (= increases
-  performance noticeably compared to software mixing)
-- sound interpolation-checkbox fixed and added support for both modes
-  (btw, are interpolation modes broken or why do they sound so bad?)
-- Amiga program p96refresh let you choose higher mousepointer refreshrates in P96
-  p96refresh <frequency 50-200> (Bernd Roesch)
-- native interface added to allow executing windows DLL from 68k side (Bernd Roesch)
-
-Beta 4:
-
-- fixed Competitor PC joystick interface compatibility problem
-- fixed CAPS image crash when reading non-existing tracks
-- track >79 compatibility fix (Pinball Hazard)
-- added OS version to winuaebootlog.txt
-- floppy speed slider GUI update fix
-- copper COPJMP fix (CAPS Wreckers)
-- audio updates and hack that fixes Murder, Crack Down and Liverpool
-  AUDxDAT should now work correctly
-  (rewrote audio state machine emulation. Yeah, I know I shouldn't do
-  these kind of near-last minute changes but... Complain loudly if sound
-  works badly)
-- keyboard led update, update led state only max once/frame,
-  only change selected leds' state
-- resetting or reinserting disk image didn't always release old image
-- changing floppy drive type or enabling/disabling floppy drives
-  works properly when emulation is active
-
-Beta 3:
-
-- OpenGL <15 bit depth check should only be done when using fullscreen mode
-- more CIA keyboard emulation fixes (CAPS R101)
-- CPU status register emulation fix, bits 14 (T0) and 12 (M) are 68020+ bits
-  and must always be zeroed in 68000 mode. (CAPS Toki copy protection code)
-- new extended adf2's contains free space for 83 tracks (was 80)
-- added disk write-protection support GUI. moved drive disable-checkboxes to
-  drive-type box. This is quite complex internally..
-  - images that support writing (regular and ext2 adf)
-    - checked = read-only flag set
-    - unchecked = read-only flag removed
-  - read-only images (caps,fdi,ext adf,compressed images):
-    - checked:
-      - save-image exists and is not empty: save-image's read-only flag is set
-      - save-image exists and is still empty: delete save image
-      - no save-image: do nothing
-    - unchecked:
-      - save-image exists: remove read-only flag
-      - no save-image: create empty saveimage
-  - save images are always created in <winuae root>/SaveImages -directory
-    (because selected "parent" image may be located in read-only media)
-  - changing writeprotection state causes automatic disk re-insert
-    (eject,2s delay,insert)
-- state files are now saved to <winuae root>/SaveStates (was Configurations..)
-- keyboard LED GUI (misc-page)
-- AGA SHRES sprite bug fix (fixes Super Skidmarks hires-mode cars)
-- restoring 68020+ state and CPU speed is set to A500 -> change to fastest possible
-- filter END+<any key> key releases
-
-Beta 2.1:
-
-- non-blocksize aligned HDFs work again
-- keyboard led code improved and fixed
-  configuration file line is now: "keyboard_leds=xxx:yyy,xxx:yyy,xxx:yyy"
-  where xxx = "capslock", "numlock" or "scrolllock" and
-  yyy = df0,df1,df2,df3,power,hd or cd
-  (example: "keyboard_leds=scrolllock:power,capslock:df0")
-
-Beta 2:
-
-- renamed save-images to "<name of original image>_save.adf", original extension is removed
-  (for example: Example.ipf -> Example_save.adf) Makes names more logical when this feature
-  is used with regular adf-files.
-- hardfile/harddrive cache bug fix (SFS formatted hardfiles/harddrives work again)
-- Action Replay improvements (Mark Cox)
-- it wasn't possible to set input-tab's default mappings to none, fixed
-- fixed too small config file description buffer in WinUAE GUI code
-- configurable keyboard leds (DF0,DF1,DF2,DF3,POWER,HD and CD)
-  No GUI yet. Add "keyboard_leds=xxx,xxx,xx" to config file.
-  (num lock, caps lock, scroll lock) xxx = none,DF0,DF1 etc..
-  Need Windows9x testing (W9x uses very different way of controlling leds than W2K/XP)
-- primary sound buffer option removed and disabled. It is not needed anymore and usually
-  only caused strange slowdown problems.
-- DirectInput devices were allocated multiple times and never freed
-- middle mousebutton in fullscreen mode minimizes WinUAE if
-  "Middle-Mouse-Button -> ALT-TAB" is ticked.
-- OpenGL-mode is disabled if display depth is lower than 15
-- Because Windows DDK can't be downloaded anymore from microsoft.com, I added define to
-  sysconfig.h (WINDDK) that can be used to disable compilation of features that need
-  DDK includes (Windows 2K/XP CDROM, harddrive support and keyboard leds)
-- improved programmable horizontal and vertical timing support. Setting 31KHz native
-  mode under Picasso96 display modes (for example writing "setenv picasso96/amigavideo 31khz")
-  works mostly but audio isn't too good yet..
-- yet another Pentium4 JIT fix, Pagestream crashes without it (Bernd Roesch)
-
-
-Beta 1:
-
-- restoring state with sound disabled caused crash if state was saved with sound, fixed
-- fixed mouse problems in Space Crusade, Billy the Kid and more..
-- another fast ram state restore fix
-- writing to ext2 images was unstable, fixed
-- FPU state save support
-- floppy drives' disk change flag wasn't reset when state was restored, fixed
-- "save disk image"-support. All writes to images that don't support writing go to separate
-  extended adf2-image and reads from already written tracks come from ext2-image instead of
-  "main" image. This is especially needed by some future CAPS-images. (There are games that
-  want to write to the original disk, for example Pinball Dreams highscores but we can't and
-  don't want to modify original images)
-  "save image" must be currently created manually by clicking "create custom image" (disk-tab),
-  image's name must be <name of original image>.adf (for example, Example.ipf -> Example.ipf.adf)
-  Image is write-enabled only if save-image exists and is not read-only.
-  Any suggestions for GUI?
-- 68000 cpu returns the contents of prefetch register when reading from address that does
-  not exist. (for example reads from 0x200000 without real fast ram)
-- CIA serial port emulation updates. Fixes Back to the Future 2's keyboard freeze.
-  (fixes probably other games' keyboard problems too)
-- another "last_custom_value"-update, fixes more slowram detection crashes (Commando etc..)
-- another bsdsocket emulation fix (Stephen Riedelbeck)
-- added configurable device name and boot priority for volumes and hardfiles
-- "more compatible" 68000-mode accidentally used some cycle-exact-only functions
-- CD32 media change detection fixed (only worked in 0821R1..)
-- CD32 pads are now enabled even in non-cd32 mode if configured in input-tab
-
-
----
-R4
-
-Beta 3:
-
-- switching between windowed and fullscreen disabled sound
-  (does not happen with some sound drivers), fixed
-- Caps lock fixed (again..)
-- build-in DMS support. Will be removed if someone complains..
-  (Xdms.exe is really too limited..)
-- CTRL-AMIGA-AMIGA-ALT hard-reset works again
-- Debugger's S-command used non-binary mode to save files, fixed
-- DENISEID-register last_custom fix (fixes Alien Breed - Tower Assault)
-- added support for 1.5MB bogoRAM expansion
-- another ACTION_RENAME-bug fixed. Rename created new unneeded
-  __uaefsdb-entry if only filename's case changed
-  (for example: "rename file.txt file.TXT")
-
-Beta 2:
-
-- sound timing always defaulted back to PAL when WinUAE lost or gained focus, fixed.
-- Voyage by Razor1991 really works but only randomly
-  (requires cycle-exact mode and might need multiple tries, more improved ce-mode needed..)
-- CAPS-format support added.
-  Needs CAPSImg.dll from CAPS. Not yet available for public.
-  Send your questions about Caps directly to http://www.caps-project.org/
-  I don't answer any Caps-specific questions.
-- use QueryPerformanceCounter() instead of RDTSC if CPU throttling is detected.
-  Fixes slowdown problems on laptops, also old processors without RDTSC should run WinUAE again
-  without crashing.
-- ALT-TAB keyboard fix
-- joystick layout B fire fixed (broke in B1)
-- joystick configuration bug fix (sometimes joystick didn't work..)
-- Picasso96 framebuffer access speedup (Bernd Roesch)
-
-Beta 1:
-
-- improved FPS-counter, added FPS-counter led.
-- added blitter fill-mode cycle diagram. Enabling fill mode adds DMA channel C to
-  cycle diagram even if it is disabled in BLTCON0. Fixes "Reflect - Sound Vision"
-- Catweasel MK3 Amiga keyboard and joystick ports support and Z2-board emulation implemented
-- emulate serial port transmit interrupts even if serial port is disabled
-  I don't think we can expect users to enable serial emulation to run some games
-  that don't even have serial-link option. (Dragon's Lair 2, Moonwalker etc..)
-- removed exclusive mouse-mode, mouse handling should be now more compatible.
-- faster Picasso96 color fades (Bernd Roesch)
-- CD-led is now lit when CD32 audio track is playing
-- RDB filesystem loader compatibility fix, SmartFileSystem 1.58 doesn't crash anymore
-- filesystem: _UAEFSDB.___ handling fixes, also deletes "ghost"-entries automatically
-  (files/directories that are deleted outside of emulation)
-- filesystem: ACTION_RENAME fixes. Old name's opened locks and filehandles are transferred
-  to new name, filehandles are temporarily closed during rename (under AmigaDOS it is
-  possible to rename files that are open) Fixed some "ghost"-UAEFSDB entry-bugs.
-- filesystem: added notification support (ACTION_ADD_NOTIFY, ACTION_REMOVE_NOTIFY)
-- filesystem: added code that updates parent directory's modification time when file is
-  created, written, deleted or renamed. (NTFS does all except rename, FAT apparently never
-  updates parent directory's modification time)
-  Fixes Directory Opus and DosControl automatic directory list refresh when using FAT
-- log messages that arrive before emulation starts are written to winuaebootlog.txt
-- uaescsi.device reset crash fixed (happened only under Win9x)
-- custom chip "last_custom_value"-update. Fixes Lotus 3 (and probably some other programs')
-  slow ram detection.
-- CIA and MOVEM M->R cycle usage fixes (Voyage - Razor1991 works now, first boot only...)
-- allocate bigger MIDI sysex buffer to prevent overflows (Bernd Roesch)
-- disabled mostly useless JIT-log messages (can be enabled by defining JIT_DEBUG and recompiling)
-- PAUSE-key = pause emulation. PAUSE+END = full speed emulation (sound is turned off)
-
-Mouse code is mix between old and new WinUAE mouse code. It probably have some bugs..
-
-Filesystem compatibility should be much better now. Could someone test programs that have refused
-to install/run under older UAE filesystem versions?
-
-
----
-
-RC:
-
-- floppy drive leds light correctly (stupid bug)
-- small CIA fix (reading $BFE001 returns correct power led state)
-- Input-tab keyboard configuration works again (why didn't nobody notice?)
-
-Beta 3:
-
-- all hardfiles/harddrives described in default.uae were never freed making them unavailable
-  if other configuration was loaded and it used same hardfiles as default.uae. fixed.
-- mouse counter overflow limit works again (moving mouse very fast made mouse jump around under
-  KS 1.3 and some mouse controlled games)
-- Amithlon partition detection failed if drive had >6 partitions. fixed.
-  (Partition table buffer was too small...)
-- non-Amiga formatted or non-empty harddrive safety test can be disabled with
-  "-disableharddrivesafetytest" command-line parameter. WinUAE also shows warning
-  messages if "dangerous" harddrives are detected and test is disabled
-
-Beta 2:
-
-- A500-speed slowdown problems fixed (*)
-- "The selected screen mode can't be displayed in a window, because.." now correctly
-  forces fullscreen mode instead of repeating the message forever..
-- initial Amiga viewport position fixed
-
-(*) My new Asus A7N8X Deluxe Gold (nForce2) -mainboard arrived today and suprise, suprise,
-WinUAE's fps decreased to about 40fps. I finally managed to debug this problem!
-It appears calling timeBeginPeriod() and timeEndPeriod() too many times/frame
-caused big slowdown. I still don't understand why it only affects some systems..
-(probably it depends on drivers because I didn't reinstall OS)
-
-Beta 1b:
-
-- removed debugging code that disabled RDB custom filesystem
-
-Beta 1:
-
-- Ports-tab crash fixed (printer detection bug)
-- some joysticks had joystick axis in wrong order (for example Y before X etc..)
-- only first joystick worked in input-tab
-- plus other joystick bugs fixed
-- WinUAE window position in registry is now correct
-- hard drive configuration save fix (some harddrive ID's had trailing spaces)
-- fixed stuck keys when switching between WinUAE and Windows
-- sprite fix (flashing garbage in Pinball Dreams)
-- added Harddisk and CD-leds that flash during HD/CD access
-- thread priority tweaks
-- Windows 95 setupapi.dll error fixed
-
-R2:
-
-Beta 7:
-
-- screenshot changes, PrintScreen -> Windows clipboard
-  (now works even in overlay-mode) and PrintScreen + END
-  -> screenshot file (was F11)
-- more disk emulation updates ("The Deep" works again)
-- bsdsocket changes. Fixes Win98 dialing, TCP-device
-  and Amygate (Stephan Riedelbeck)
-
-Beta 6:
-
-- primary sound buffer checkbox can be changed on the fly
-- floppy buffer overflow fixed
-- RDB filesystem bug fix
-  caused memory corruption if RDB contained non-automountable partition(s)
-- ALT-TAB didn't always release mouse capture
-- DirectInput device enumeration fixed
-- blitter nasty-mode bug fixed (Obliterator and TerrorPods intro graphics corruption)
-- Amiga Catweasel ZorroII-board emulation. (ISA-Catweasel supported)
-  Device is detected but reading is unreliable due to timing problems either in
-  isacatweasel.device or timer.device in JIT mode. No GUI config, to enable emulation
-  add "catweasel_io=xxx" to config file. WinIo.dll, WinIo.sys (2K/XP) and
-  WinIo.VXD (W9x) from http://www.internals.com/utilities/winio.zip required.
-  Download Amiga driver from http://www.jschoenfeld.de/ support page
-  (ISACatweasel.device for Amithlon)
-  New Catweasel MK3 (PCI-version) support will be implemented in future.
-  Experimental. Bug reports are probably ignored because this won't be part of
-  "official" 0.8.22R2 feature list..
-- network printers are listed in ports-tab
-- tries to prevent frozen mouse if WinUAE crashes
-- Kickstart replacement is now correctly enabled if kick rom was not selected
-- disk emulation updates
-  fixes for Megalomania, Knightmare, Supaplex etc.. ultra slow loading speed,
-  more compatible with some copy protections
-- Action Replay support fixed
-
-Beta 5:
-
-- ignore mouse events when WinUAE is not in focus
-- disk emulation track length/motor speed fix (István Fabian)
-- filesystem "ghost"-file fix
-  (but we still have one bug left in ACTION_RENAME that isn't so easy to fix)
-- F10 and ALT-keys don't freeze the emulation anymore
-- Capital Punishment graphics fix
-- Picasso96 COMP-drawing mode don't work correctly in >8bit modes, added
-  workaround. (found by Bernd Roesch)
-- fixed buggy gfx_opengl_mode and gfx_opengl_bits -configuration entry handling
-  (caused duplicate entries)
-
-Beta 4:
-
-- mouse fixes and speed multiplier added to input-tab (100=1x,200=2x,50=1/2x etc..)
-- caps lock fixed
-- cpu idle changes (still need much better algorithm, later..)
-- replaced Sleep() with multimedia timers (much better timer accurary)
-  this fix might improve sound with small buffer sizes
-- switch from fullscreen/no-vsync to vsync crash fixed (this was a very old bug)
-- another old config file compatibility fix
-
-Beta 3:
-
-- keyboard layout "B" firebutton fixed
-- startup "detect 16-bit" crash fixed
-- copper cycle diagram fix (Chaos Engine AGA/CD32 horizontal line)
-- screenshot button was always disabled
-
-Beta 2:
-
-- GUI's hardfile/harddrive size fixed (fractional part was always zero)
-- "Use Primary DirectSound buffer"-checkbox fixed
-- input-tab's joystick/mouse/keyboard axis/button/key names are now queried from DirectInput
-- all keyboard's special keys are also configurable in input-tab
-- DirectInput fixes (joysticks work etc..)
-- direct harddrive access fixed, >512 byte reads/writes are now working properly.
-  (caused "not a dos disk" errors if filesystem block size was > 512)
-- added 1024 and 2048 physical blocksize support to direct harddrive access code
-- RDB code renames duplicate device names (DH0: -> DH0_0: etc..)
-- german keyboard layout "hack" fixed (Bernd Roesch)
-- improved keyboard configuration, old keyboard configs are not compatible anymore
-- "Pentium 4 JIT"-fix enabled in release build
-- state load fixes (replacing KS don't clear chip RAM anymore, another CPU type fix)
-  Loading 68020/AGA states files with A500 config should now replace configuration
-  correctly (finally..)
-
-Beta 1.1:
-
-- >4G hardfiles really work now
-- cpu idle fixed
-
-Beta 1:
-
-- disk emulation fix (High density floppy images in non-"turbo" mode were read too slowly causing
-  read errors)
-- removed bad disk emulation optimization (froze some custom loaders)
-- implemented disk drive type configuration. I had to do this because it is not possible
-  to emulate real DD and HD drives 100% correctly automatically and I also wanted to add
-  ancient&useless 5.25 drive (A1010) support too :)
-- automatically disable "turbo"-floppy speed if using non-standard ADF images
-- implemented Kickstart 1.3 hardfile support and some RDB filesystem compatibility bug fixes
-  (regular KS1.3 hardfile autoboot/mount requires FastFileSystem from WB1.3:L in roms-directory)
-- hardfile code rewritten with full 64-bit support ("unlimited" size)
-  supports both TD64 and NSD -style 64-bit access.
-  Windows 2000 or XP and NTFS filesystem required (Both W9x and FAT32 are
-  limited to max 2G files)
-  WARNING: some Amiga disk utilities fail to understand >2G partitions and could
-  corrupt big hardfiles! OS3.5+ recommended!
-  Only drives that don't contain recognised PC partition table and are either empty or
-  contain RDB are available in selection dialog (safety feature)
-  Amithlon partition support (partition type 0x76) implemented. NOT TESTED YET!
-  WARNING: Bugs could cause lost data! Every read and write access to Amithlon partition
-  is tested against partition bounds but better safe than sorry..
-- uaehf.device is now threaded (read/write requests are run in background)
-- fixed uaehf.device crash with older HDToolBox versions
-- removed sectors, surfaces and reserved from harddisk tab
-  (IMHO they only need to be in hardfile configuration dialog)
-- added missing CPU idle configuration entry
-- CPU idle code changes
-- added cycle exact configuration entry
-- increased directory filesystem emulation cache
-  (workaround to randomly disappearing flags/comments)
-- CPU model is restored correctly when restoring save state file
-- DirectInput keyboard, mouse and joystick interface
-  - shift-keys don't get stuck anymore in Pinball Dreams etc..
-  - Uses DirectInput's MS supported way of disabling all special keys, only ALT-TAB and
-    CTRL-ALT-DEL are left enabled.
-  - Uses DirectInput exclusive mouse mode to hide Windows mouse pointer instead of
-    old version's "interesting" hack...
-  - WARNING: expect to find bugs
-  - NOTE: mouse speed might be different because DirectInput reads directly from
-    mouse driver. (no acceleration etc..)
-- mouse input-configuration changed (separated horiz and vertical axis and mouse
-  wheel is now third axis)
-- "disable Windows keys"-checkbox removed. Windows keys are now always disabled.
-  (I added disable checkbox because wkeykill.dll was unsupported hack and could have
-  caused problems in some situations) Complain if there is need to not disable
-  Windows keys.
-- some old config file compatibility fixes
-- "compatible" cpu mode checkbox was ignored
-  (This was the reason why 0822R1 needed cycle-exact mode to run C64 tune disk)
-- 68000 RESET-instruction's prefetch emulation fixed
-- CIA overlay-bit fix (regs.pc_p and regs.pc_oldp wasn't updated)
-- added Kickstart ROM path to state files (only used when restoring if file exists)
-
-0.8.22R1:
-
-Beta 5:
-
-- RDB custom filesystem fixes
-- make "regular" hardfiles invisible to HDToolbox
-- fix CD32 pad emulation in compatibility mode
-
-Beta 4:
-
-- small sound changes: AHI sound disabled when resetting the Amiga, DirectSound is freed
-  when WinUAE is minimized and "Disable sound output" is ticked.
-- input-tab autofire rate fixed
-- fixed fast memory state save bug
-- joystick compatibility mode fixes
-- another uaescsi.device compatibility fix
-
-Beta 3:
-
-- AVIOutput fix (editing parameters didn't work until emulation was started)
-- centering works again (broke in beta 2)
-- more uaescsi.device compatibility fixes (all Amiga CD filesystems should now work properly)
-- CD32 pad emulation fixes
-- fixed crash when "ejecting" broken zipped adf-files
-- bsdsocket fixes (Stephan Riedelbeck)
-- exception 3 handling fixed (was broken by JIT fix ages ago..)
-- improved RDB filesystem relocator (fixes PFS3 and others)
-- screenshot key shortcut mapped to F11
-- multiple sound card support (original GUI code by Brian King)
-- fixed programs that use POTxDAT to read second fire button (was broken ages ago)
-
-Beta 2:
-
-- UAE 0.8.22 merge, bumped version number (most changes were already included in R4)
-- switching cycle-exact off does not freeze the emulator anymore (but Amiga still freezes..)
-- Action Replay 1 support (breakpoints don't work)
-- writing to hardfiles work again
-- CPU emulator fix: CHK-instruction's exception return address was wrong (Days of Thunder)
-- AVIOutput update (Sane)
-- floppy speed slider GUI fixed
-- disk emulation initialization fix (fixes A1000 boot failure in non-"turbo" mode)
-- CPU idle checkbox works after emulation has been started
-- keyboard fix (some key presses were missed when pressing multiple keys)
-- sound changes: (yet again...)
-  - vsync enabled and/or JIT enabled: adjustment active (like older versions)
-  - vsync disabled and JIT disabled: UAE 0.8.22 sound timing (adjustment disabled)
-  (JIT will have HUGE slowdown and vsync skips if UAE 0.8.22-style timing is enabled)
-  - uses DirectSound primary buffer if possible (SDL does this too)
-  - depending on sound card, small buffers (1 and 2) might work very badly..
-- uaehf.device scsi emulator fixes
-- changed "create hardfile"-dialog's hardfile size to megabytes and added 2GB limit
-  (limit will be removed after uaehf.device supports 64-bit addressing)
-- uaescsi.device reboot crash fixed
-- full RDB harddisk image support (automount, custom filesystems etc..)
-
-Beta 1: (too many changes, expect breakage..)
-
-- unoptimized near cycle-exact cpu and blitter emulation implemented (checkbox in misc-tab)
-  Fixes most programs that expect correct cpu and blitter speed (PP Hammer, many demos etc..)
-  WARNING: requires at least 50%+ more cpu power than "regular" mode.
-  Athlon XP/Pentium IV + DDR/RAMBUS RAM highly recommended!
-  WARNING2: Frameskip must be set to 1
-  WARNING3: very experimental, timing is quite far from perfection
-  Complain loudly if "regular" mode is slower. (It shouldn't be but you never know..)
-- yet another 68000 prefetch emulation rewrite (fixes "100 most remembered C64 games" and more..)
-- OpenGL scanline brightness slider added
-- yet another disk emulation update
-  (more compatible, stupid extended adf bug fixed that caused format/verify errors)
-- interlace mode vsync fixed (no more 2x speed)
-- added support for compressed kickstart rom-images
-- encrypted A1000 boot rom support added
-- 64kb A1000 boot rom supported (A1000 boot rom size is really 64kb even if only first 8kb is used..)
-- 256kb chip RAM support added (first A1000s come with 256kb chip RAM as standard, expandable to 512kb)
-- dms files inside zip -crash fixed
-  (xdms.exe that does not add .dms extension to source file's name needed for correct decompression support)
-- fixed com-port warning (start emulation, press F12, select input-tab)
-- sprite-playfield collision fix (fixes Inferior but may break something else.. Testing needed!)
-- display garbage fix (Nightbreed Interactive Movie, some demos)
-- input device support updates
-  defaults added to mouse and joysticks, mouse didn't always work correctly,
-  autofire works now properly, supports max 4 input targets/input source
-  (currently only available by manually editing configuration files,
-  example: input.1.mouse.0.button.0=JOY1_FIRE_BUTTON.0,JOY2_FIRE_BUTTON.0)
-- another experimental cpu idle hack (detects when Kickstart executes STOP-instruction)
-  lowers host CPU usage near zero when emulated system is idle.
-- added cpu idle checkbox to GUI CPU-page
-- new AHI code and driver (Bernd Roesch)
-- Amiga <> Windows clipboard support, see winuaeclip.txt for more information (Bernd Roesch)
-- added device io (CMD_READ, CMD_CHANGESTATE etc..) support to uaescsi.device
-  no need to enable direct-scsi anymore, also media change detection
-  (ADDCHANGEINT/REMCHANGEINT) is emulated properly. This means uaescsi.device emulation should
-  now work properly with all available cd file systems without special mountlist flags.
-- fixed bug in state save restore code, sometimes restored floppy drive track was incorrect
-- added wkeykill.dll support. Kills all normal Windows key combinations (except some keys don't
-  work properly on WXP, for example LWin+L, hopefully this can be fixed later..)
-  Unfortunately it is not possible to integrate Windows key kill code to WinUAE because it seems
-  it is only possible to kill Windows key events properly from a separate dll..
-- Amiga-"viewport" is now centered correctly, no more clipped window borders
-- FPU emulator's precision was poor, fixed (cause: wrong compiler optimization parameters)
-- filesystem bug fix (hopefully fixes bug that causes random files appearing as directories)
-- on the fly switching between OpenGL and DirectDraw mode
-- on the fly switching between vsync and non-vsync mode
-- DirectSound sound code is back with auto-adjust. Better or worse than old code?
-  (I replaced SDL audio because it is now confirmed that SDL audio has strange lag
-  problems with some systems. I might include both, depends on test results..)
-- audio emulation fix (Mission Elevator)
-  also some AUDxDAT fixes (fixes random CD32 boot tune noise)
-- build-in screenshot function (original code by Sane)
-  supports all modes: DirectDraw, DirectDraw Overlay, OpenGL and Picasso96
-  current shortcut key: END+F6 (Suggestions?)
-- set active WinUAE process priority level higher, improves smoothness
-  makes Windows' responsiveness worse but I hope it isn't too bad..
-- decreased trackdisplay leds' brightness slightly
-- writing to kickstart rom memory area crashed the system if JIT was enabled
-- floppy speed slider (I know I shouldn't put it back but I got too many requests..)
-- second filesystem bug fix: situations where file read length was very big were not handled correctly
-- third filesystem bug fix: CON.something, AUX.something etc. are not valid Windows filenames
-- added simple "scsi emulator" to uaehf.device. It is now possible to edit full harddisk images with hdtoolbox
-  ("hdtoolbox uaehf.device". Sectors, surfaces and reserved can be set to zero)
-  not very useful feature because booting/automounting does not work yet...
-
-R4:
-
-- EXPERIMENTAL: added configurable input device (mouse, joystick, keyboard) support
-- EXPERIMENTAL: added OpenGL mode (for best results set lores and disable line-doubling)
-- printer support fixed (Bernd Roesch)
-- MIDI updates (Bernd Roesch, Alfred J. Faust)
-- custom chipset updates (Superfrog,Exile,Apocalypse,Rainbow Islands,Torvak the Warrior etc..)
-- CPU idle patch (no more 100% CPU usage)
-- HOME + F5 opens state restore dialog and SHIFT + HOME + F5 opens state save dialog
-- vsync updates (50/60/100/120 frequencies are now always selectable. Useful for Powerstrip users)
-- AVIoutput improvements (can be started later, stops when re-entering GUI)
-- Picasso96 updates. Mouse trails are now 100% fixed (Bernd Roesch)
-- refresh rate selection only affects Amiga display modes, Picasso96 always use default refresh rate
-- "16-bit mode detect" crash fixed
-- removed useless 8/16-bit sound selection. Sound output is now always 16-bit
-- sound lag compensation slider reimplemented. (if you have bad sound, move slider left until sound gets better)
-- build-in gzip and zip support (autoselects first adf-image or Amiga executable if zip contains multiple files)
-- executable to adf support, just "insert" Amiga executable in to floppy drive
-- improved external decompression support (xdms.exe)
-- configuration save option is now available even after emulation has been started
-- HD floppy image support in disk-tab
-
-Beta 8:
-
-- OpenGL vsync is now correctly disabled in windowed mode
-- frequency selector config load/save fixed
-- fixed lost key release(s) when switching between Picasso96 and native modes
-- fullscreen OpenGL mode mouse problems fixed
-- avioutput OpenGL mode support added
-
-Beta 7:
-
-- refresh rate selection now shows 50/60/100/120Hz properly
-- non-OpenGL scanlines-selection gets disabled after emulation is started
-- DF1-DF3 and HD floppies work again
-- vsync fix
-- JIT exception 3 fix (Bernd Roesch)
-- OpenGL "returning from GUI in fullscreen mode" freeze fixed
-- exiting WinUAE stops CD32 CD audio
-- sound buffer 7 in stereo mode fixed
-- disk emulation update (fixes SuperDuper)
-- sound gui changes
-- MIDI sysex support (Bernd Roesch, Alfred J. Faust)
-
-Beta 6:
-
-- Picasso96->OpenGL mode switch crash fixed
-- added OpenGL texture color depth and filtering mode selection
-- centering and non-OpenGL scanlines are not available if OpenGL mode is enabled
-- MIDI ports can be changed on the fly (Bernd Roesch, me)
-- Create Standard/Custom floppy-buttons can also be used to create HD floppies
-- level 6 interrupt handling fix (Marvin's Marvellous Adventure AGA)
-- CPU exception 3 fix (Shinobi)
-- disk updates (more correct DSKRDY/floppy device ID handling) (S.T.A.G)
-- *.zip added to disk image selector
-- Caps Lock and misc keyboard fixes (new input device mode only)
-- return random bits if program is trying to read track past image's end (Typhoon Thompson)
-- yet another sprite emulation rewrite. Report immediately if you notice missing/flashing/corrupt etc sprites!
-- scanlines fixed in OpenGL AGA mode
-
-Beta 5:
-
-- joystick/mouse -> keyboard mapping fixed
-- keyboard -> Amiga joystick/mouse/keyboard configuration implemented (US keyboard layout only)
-- another copper skip fix (fixes Rainbow Islands)
-- CPU idle patch
-- MIDI fixes (Bernd Roesch, Alfred J. Faust)
-
-Beta 4:
-
-- better Superfrog/Exile etc.. border fix (old version caused display problems with some demos)
-- new input device configuration is finally working
-  TODO:
-  - more intuitive GUI (Help needed)
-  - add international key names
-  - implement multiple mouse support
-    Unfortunately it seems DirectInput don't support multiple mouse on W2K/XP.
-    http://www.angelfire.com/retro/u_rebelscum/faqs.html#win2000limit
-    (confirmed with two USB mouse on WXP)
-  - PC keyboard -> Amiga mouse/joystick/keyboard mapping editor
-- OpenGL tweaks (scaling changed, 0,0,0,0 = centered screen. Added default-button)
-- misc-tab changes (disabled state save-button if emulator is not started, reset and quit-buttons are always visible)
-- GUI remembers last used property page (tab)
-- two executables, one compiled with MSVC 7 (MSVS.net) and the other with MSVC 6.
-
-Beta 3:
-
-- HOME + F5 opens state restore dialog and SHIFT + HOME + F5 opens state save dialog
-- experimental OpenGL support
-  internal window size is always 752*600 (376*300 if lores is enabled and linedoubling is off)
-  image size configuration
-  scanline emulation (transparency and size)
-  requires 1024 * 1024 or larger supported texture size (won't work with old cards)
-- AVIoutput improvements (can be started later, stops when re-entering GUI, vsync-waits ignored)
-- Picasso96/native mode switching should be working again (was broken in beta 1 and 2)
-- Superfrog, Exile etc.. left border bug fixed
-- adz support fixed
-- CIA alarm update (fixes Torvak the Warrior's music)
-
-Beta 2:
-
-- build-in gzip and zip support (autoselects first adf-image or Amiga executable if zip contains multiple files)
-- executable to adf support, just "insert" Amiga executable in to floppy drive
-- improved external decompression support (currently only xdms.exe),
-  temporary files are loaded back in to memory and deleted immediately after decompression.
-- 50/60/100/120Hz frequencies are now always selectable. I think this allows vsync-support with display drivers
-  that don't support frequency selection but support custom resolutions (for example with PowerStrip)
-- Picasso96 Drawstudio fix (Bernd Roesch)
-- removed 8/16-bit sound selection from gui. Sound is now always 16-bit.
-- sound adjust slider reimplemented. (fully automatic sound adjust seems to be impossible..)
-  sound code is still autoadjusting but with very limited adjustment range
-  (allows 100% smooth vsync at least on my pc..)
-
-  adjustment instructions: move slider left until sound doesn't crackle anymore (no more sound buffer underflows)
-  adjustment position isn't very important except if you want vsync without random skips.
-
-Beta 1:
-
-- fixed right border garbage (CD32 bootscreens and other programs)
-- "16-bit mode detect" does not crash anymore if registry keys are not found
-- vsync updates, vsync can be enabled or disabled during the emulation
-- Picasso96 JIT memory mapping update (Bernd Roesch)
-- Refresh rate selection only affects Amiga display modes, Picasso96 always uses default refresh rate
-- CIA changes
-
-R3:
-
-Beta 3:
-
-- missing gui-tabs fixed (was broken in beta 2) (me)
-- serial port update (Bernd Roesch)
-- cycle exact bitplane modulo emulation (fixes Lemmings 3 AGA) (me, Bernd Schmidt)
-  I think this patch is finally bug free. Report immediately if you see display corruption!
-- modified delayoffset hack (fixes Mindriot-demo) (me)
-
-Beta 2:
-
-- AGA mode EHB fix (Superfrog title screen) (me)
-- hardfile sectorsperblock fix (Reorg works again) (from WinUAE 0817)
-- CIA update (better compatibility with some weird programs) (me)
-- PC joystick in both joystick ports works again (was broken in every 0821 release) (me)
-- icon fixed (no more random pixels) (me)
-- Picasso96 overlay mode is working again (was broken in beta 1) (me)
-- Shapeshifter-checkbox fixed (from WinUAE 0817)
-- JIT shift-instruction fix (from Basilisk JIT)
-
-Beta 1: (VSync test beta)
-
-- joystick keyboard emulation do not anymore create normal key presses
-- sprite update (no more flashing bees in Superfrog)
-- CIA update (fixes Powermonger, thanks to István Fábián)
-- VSync and separate refresh rate selection added
-  I had to implement this because I got too many requests :)
-- requires DirectX 7 or newer (was DX5 or newer)
-- Picasso96 and other misc updates (Bernd Roesch)
-
-to do: input device configuration GUI
-
-R2:
-
-Beta 6:
-
-- sprite emulation changes (me)
-
-Beta 5:
-
-- WBStartup filesystem fix (Bernd#1)
-- FDI-image support re-merged (me)
-
-Beta 4:
-
-- fix SPTI/ASPI detection code (me)
-- ASPI and SPTI CD32 media change detection implemented (me)
-- JIT timing fix, filesystem access speed should be normal again (Bernd#3,me)
-- shift/ctrl/alt+Fxx key combinations fixed (was broken in beta 3)
-- CD32 pad button emulation fix (me)
-  Fixes stuck red button on some Team 17 games (Superfrog and Alien Breed 2, maybe more)
-- fixed missing CD32 audio if all floppy drives are disabled (me)
-- bsdsocket fix (Stephan Riedelbeck)
-- added ASPI/SPTI SCSI layer selection (me)
-  Currently only ASPI supports non-CDROM devices (except harddisks due to security reasons)
-- ASPI and SPTI code swaps SCSI bus and target if all units' target and lun is zero (me)
-  Only affects IDE devices (ASPI sets every IDE device to different "SCSI"-bus causing strange
-  uaescsi.device unit numbers)
-
-Beta 3:
-
-- fixed nasty and very old memory overwrite bug in keyboard_win32.c (me)
-- SPTI uaescsi.device emulation works again (me)
-- uaescsi.device ignored io error return codes, fixed. (stupid me)
-- added CD32 media eject/insert support, Windows 2000/XP only (me)
-- added missing #define USE_X86_FPUCW 1 (Bernd#3)
-- serial port fix (Bernd#3,me)
-
-Beta 2:
-
-- this time really fixed max sound buffer crash (me)
-- added Bernd#1's vsynctime "fix"
-- JIT FPU fix (Bernd#3)
-- filesystem A-flag handling was reversed (Stephan Riedelbeck)
-- filesystem fixes (Bernd#1,me)
-- blitter timing bug fix (stupid me, yet again)
-- removed useless refresh rate from display mode selection box
-- fixed crash if RTG was enabled and Z3 memory size was 8MB (Bernd#3)
-- noticed problems with uaescsi.device SPTI support, uses ASPI until problem is solved.
-- added more uaescsi.device logging (drive names and unit numbers)
-
-Beta 1:
-
-- filesystem fix (Bernd#1) Fixes at least some problems. Testing needed!
-  (Bernd: I only merged your first patch, second file order "fix" is not enabled)
-- if JIT is disabled, disable "force settings" too (me)
-- joystick 2 fixed (me)
-- AR "freeze"-button was pressed when exiting GUI, fixed (me)
-- memory leak and small bsdsocket fix (Stephan Riedelbeck)
-- clear extended rom and cartridge rom configuration entries when loading new config (me)
-- pressing F12 and then later pressing shift doesn't start debugger anymore (me)
-- sprite fix (me)
-- Windows 2000/XP CDROM detection fix (CD32 and uaescsi.device)
-- re-enabled full-row-select option (config load/save and hard drives -tabs)
-- sound changes. Does this fix crashes and/or bad sound?
-- copper fix (Bernd #1)
-- CTRL-AMIGA-AMIGA-ALT resets and clears chipmemory (removes all reset proof programs)
-
-Beta 6:
-
-- rare keyboard freeze fixed (caused by fault AR3 keyboard hack)
-- blitter nasty fix
-
-Beta 5:
-
-- added missing Bernd#3's serial port update
-- Battle Squadron sprite fix (me)
-- copper fix (Bernd#1)
-- filesys seek fix (Bernd#3)
-- joystick gui fix
-- added hack that tries to prevent notebook cpu throttling when calculating cpu speed (Bernd#3,me)
-- zlib.dll support merged from 0817R3 (me)
-- another stupid blitter cycle diagram bug fixed (me)
-
-Beta 4:
-
-- scsi.device config file fix (me)
-- sound buffer gui changes (me)
-- sound fix (Bernd#1)
-- win32 specific thread code replaced with SDL threads (me)
-- big sprite state machine update (me)
-- disk images are replaced correctly when restoring state (me)
-- filesys seek fix (Bernd#3)
-- fixed broken fps counter after returning from gui (me)
-- fix stupid blitter cycle diagram bug (stupid me)
-
-Beta 3: 
-
-- another bsdsocket fix (Bernd Roesch)
-- midi in/out selection boxes added (me)
-- filesys fix (Bernd Schmidt)
-- Action Replay 2/3 support, freeze button = PageUp (me)
-- serial/parallel port updates (Bernd Roesch)
-- VPOSW refreshrate hack support added (me)
-- copper timing updates
-- some missed fixes from 0.8.21
-
-Beta 2:
-
-- maximun screen height increased (600 -> 1280)
-- uaelib updates
-- middle button = alt-tab fixed
-- added track display enable/disable button
-- better blitter patch
-- AviOutput sound capture added
-- >2MB Chip works again
-- Z3RAM can be larger than 64MB
-- default.uae fixed
-- missing call to bsdsocket.library initialization added
-- "Add PC drives" fixed (CDROM drives are ignored)
-  I think it is better to use uaescsi.device to access removable (CDROM) drives. Any comments?
-
-Beta 1:
-
-- full CD32 emulation
-- uaescsi.device Win32 port
-- blitter "fix" (fixes Desert Dream freeze and Hostages insta-kill)
-- input device rewrite (no config file save/load and gui yet, not very useful now..)
-- Sane's AviOutput (no sound support yet due to changes in 0820 Win32 audio code)
-- JIT + some fixes (I decided to drop "JIT"-part from the name)
diff --git a/zfile.c b/zfile.c
index 44d74d536910669f9f29df3fd9ed9036cb618452..fce5481e56f85f79aecfa4f33d5c13c313dac123 100755 (executable)
--- a/zfile.c
+++ b/zfile.c
@@ -339,7 +339,7 @@ static struct zfile *dms (struct zfile *z)
 static char *ignoreextensions[] =
     { ".gif", ".jpg", ".png", ".xml", ".pdf", ".txt", 0 };
 static char *diskimageextensions[] =
-    { ".adf", ".adz", ".ipf", ".fdi", 0 };
+    { ".adf", ".adz", ".ipf", ".fdi", ".exe", 0 };
 
 static int isdiskimage (char *name)
 {