
- restore only single input target to default.
- hdd from command line
- no-buffer tearing updates
- 50/60 autoswitch: support also 100/120
- cd32 cda problems (universe, rnc loader)

2.4.1

- Try to flush GPU queue after rendering the frame to prevent delayed background flipping that
  introduces tearing on fastest possible no buffer low latency mode.
- Integer scaling + gfx_xcenter_pos or gfx_ycenter_pos set had wrong positioning.

Beta 14: (RC3)

- Cycle-exact/approximate CPU speed non-vsync b1 sound sync update didn't work, it did nothing.
- Some more low latency vsync timing updates, improved dynamic adjustment.
- Legacy vsync slowdown problems fixed (2.4.0)
- Restored (50Hz) and (60Hz) fake rates that were removed in 2.4.0. Only available in legacy vsync mode.
- RTG + low latency vsync was not stable.

Beta 13: (RC2)

- Possible improvement for low latency no buffer mode tearing problem.
  - Fastest possible CPU: very simple dynamic flip delay timing adjustment. Reduces tearing (and slows
  down CPU emulation speed) but won't fix it completely. Difficult problem to solve 100% without
  losing too much CPU speed. Currently only way to remove tearing is to reduce CPU speed.
  - Cycle-exact/approximate CPU: Tearing problem on some systems should be fixed.
- Fastes possible low latency vsync sometimes flipped buffers before or during internal frame rendering,
  usual result was same frame being shown multiple times.
- Legacy vsync refresh rate didn't override internal chipset refresh rate causing very bad slow down
  if rates didn't match.
- Map directory filesystem Windows error ERROR_INVALID_PARAMETER to AOS ERROR_OBJECT_NOT_AROUND, 
  GetFreeSpace("path to empty CD drive") returns this code on some systems.
- Validate SCSI INQUIRY data before using it when requesting IOCTL CDROM vendor and product names.
  It seems query can return success without returning any data in some situations.
- Store beta dialog state to winuae.ini if enabled.
- Random bsdsocket crash when calling gethostbyname() with numeric IP address. (2.4.0)
- Allow again zero back buffers in DirectDraw mode, 2.3.3 allowed this configuration.
- Canceling HD HDF cloning froze the GUI. (Possibly Vista and newer only)
- Store also monitor's system specific id string to config file, system can have multiple identical monitors.

Beta 12: (RC1)

- More Fastest possible + low latency vsync tweaks.
- Ignore sprite 0 (normally mouse pointer) when calculating autoscale position and size.
- Custom Input event editor usually crashed.
- CD32 boot screen autoscale improved.
- b10 "show drives that require admin privileges" hide drives that also have drive letter.
  Background info: for some strange reason USB memory card adapters have two devices, one (without drive letter) that can't
  be accessed without admin privileges and drive letter device that can be accessed.
- Fastest possible CPU + low latency vsync and double frame mode (85Hz+) jitter fixed.
- "Masks" in filter panel is selected by default, "Overlays" is only selected if overlay image is already configured.
- Possible fix for D3D mask alignment errors in some scaling settings.

Beta 11:

- Adjusted Fastest Possible timing a bit more..
- Better PC interlace screen mode detection.
- Fixed invalid MFM encoding when converting standard adf unencoded data to MFM encoding. (Few incorrect MFM clock bits) Another
  "no one cares" fix (since the beginning, does not affect adf data quality), noticed when testing m68k AROS trackdisk.device write support.
- Vsync mode sound sync shouldn't be that aggressive. (b8)

Beta 10:

- Partial rewrite of fastest possible CPU low latency vsync detection code. Should fix jitter caused by frame not always
  getting shown on screen at correct time.
- Low latency vsync and double frame mode (85Hz+): guarantee every other vblank is really skipped, previously it didn't
  work correctly in some situations.
- Calculate final vblank busywait time from selected rate instead of using hardcoded 50Hz/100Hz-only compatible value.
  Fixes >50Hz no-buffer jitters.
- Emulate extra CPU time if it has been more than 7 lines since last extra CPU time, matches older behavior without
  losing 2.4.0+ performance increase.
- Fixed low latency vsync + fastest possible CPU getting in state where FPS dropped greatly temporarily, usually at startup.
- Show also drives that require admin privileges in harddrives panel, unselectable and marked with "Access denied"
  label. Only name shown because accessing any other attribute may require admin privileges.

Beta 9:

- Fixed D3D texture reallocation ordering. Caused blank screen or other strange side-effects (b7)

Beta 8:

- 68EC020/68020 state files didn't load properly if current CPU config didn't match.
- Adjusted JIT timing a bit, possible fix for slowdowns on some systems.
- Made sound sync a bit more aggressive. (2.4.0 relaxed it a bit too much, I think)
- D3D crash fixed (b7)
- CIA related rare statefile CPU TRACE error fixed.
- Crash fixed when CDFS CD drives enabled without any harddrives.
- Disable USB HID RAWINPUT (Fallback to Direct Input) if "blacklisted" devices found, added
  RM-203 USB adapter to list because it requires calibration which WinUAE can't support.

Beta 7:

- DirectDraw full-window mode on non-primary monitor was blank.
- Adjusted (again) fastest possible CPU mode extra CPU time scheduling, trying to find balance between better
  timing syncronization and not causing unnecessary slowdowns on some systems..
- OCS Denise bug emulation update, PAL STREQU counts are 8 (short field) or 9 (long field) lines, not static 9 lines.
  (Probably no program cares)
- F11 in gameports/input test mode shows next page (if list is longer than visible area).
- Manual display positioning X coordinate offset fixed (Filter panel or gfx_center_horizontal_position)
  Origin should be hardware position 0 (same as sprites), not first possible visible position.
- Fastest possible low latency vsync should work better again (b2), plus some other adjustments done, CPU throttling
  supported.
- Autoresolution worked badly in some situations.
- Removed USB_DEVICE_ID_RETRO_ADAPTER from USB "quirks" list, apparently it is working correctly according
  to firmware sources. (Perhaps older version was wrong, not exactly sure why it was included in Linux HID quirks list)
- Save also selected monitor name (gfx_display_name) to config file because order of displays can change when removing
  or adding monitors or replacing display cards.

Beta 6:

- Most CDFS RockRidge file comments were truncated. (Very stupid bug)
- CDFS media change still crashed in some situations.
- Show "UAE" as HD controller, not "n/a" (same as "IDE0" and others do)
- Improved fastest possible CPU throttle option. (Less CPU% usage)
- If fastest possible CPU does not have enough frame time for extra CPU emulation, reduce extra time in next frame to
  prevent possible high CPU% usage and slowdowns.
- Fullwindow RTG, D3D and scaling in Expansion panel enabled: switching to bigger RTG resolution than max fullwindow crashed. (b2)
- Updated statically linked zlib and libpng to latest versions (1.2.6 and 1.5.10)
- Debugger basic math operators support (+-*/) added, for example "m 8+100*4" lists memory beginning from 0x408. Note that space
  is not allowed because it is parameter separator.
- Borderblank didn't work if BPLCON3 was only written outside of displayable area (b5). This is still quite ugly implemention,
  it should be done similar to COLOR0 handling but it would require too big changes. Later..
- A2024 2 lowest RGB bits set correctly, was always cleared previously.
- Keyboard reset warning fixed (2.4.0)
- Fixed 1-3 line background color bar on top of screen in autoscale modes (2.4.0)
- USB joypad/joystick rawinput dpad diagonal movement fix. (2.4.0)
  
Beta 5:

- Left edge display limit fix, it was correct when in lores but OCS/ECS hires max overscan
  (or AGA in 16-bit fetchmode) can start 8 pixels earlier. (ECS SuperPlus missing left edge)
- Tweaked programmed mode sync positioning algorithm.
- Use config file gfx_top_windowed and gfx_left_windowed top/left window coordinates if borderless mode.
- Sort filter presets alphabetically.
- When calculating autoscale position, restrict left and right side of display inside hsync end and start positions,
  fixes really wide display in promoted modes. Note that autoscale can't work correctly in (some?) promoted
  modes because viewable area is larger than visible bitmap = borders are visible.
- DirectDraw mode wasn't re-initialized correctly when window size changed causing blank screen.
- Borderblank didn't blank topmost lines and last line. (Old bug which usually wasn't visible until now)
- Clear display decision tables when switching modes to prevent old, now possibly unvailable lines to be visible in new mode.
- Possible fix for mouse pointer jumping to (0,0) when pressing buttons and running on some virtual machines. (2.3.3)

Beta 4:

- 68020 CE mode statefile CPUTRACE (CPU state can be saved even in mid instruction) support was not complete,
  should fix "CPU trace: blah" errors when restoring statefiles. It can't fix already created broken statefiles.
- Fix built-in CDFS lowercase conversion. Only convert to lower case if plain ISO-9660 (without RockRidge or Joliet)
  also convert from second character to match CacheCDFS default behavior. Fixes AmigaOS 3.5/3.9 CD file names.
- Automatic scale/center/resize didn't like screen mode that has horizontal start as early as possible (SuperPlus + ECS)
- Automatic resize kept resizing forever in interlaced modes. (2.4)
- Do not emulate ECS Agnus internal 1M address space if JIT enabled and 0.5M Chip RAM because JIT ignores memory
  bank masks causing OS to misdetect full 1M Chip.

Beta 3:

- On screen led status line was drawn using both D3D sprite and directly to bitmap methods in D3D no-filter mode (b2).
- Removed PAL/NTSC vertical scaling hack which is not needed anymore.
- PAL/NTSC vertical scaling added to Fullscreen (TV)/(Max) filter modes.
- Fullscreen (TV)/(Max) also handles programmed modes like real monitor would, positioning and scaling using sync parameters.
- Fake 60Hz (VPOSW poking) did nothing. (2.4)
- DirectDraw + null filter crash fixed when display height was smaller than emulated display height. (b2)
- D3D overlay mask scaling artifact in some resolutions (2.4)
- CDFS CD drive statefile support.
- Ignore duplicate HID button IDs.
- Reduced flicker when refresh rate changes (PAL<>NTSC or other mode changes)

Beta 2:

- Filter system partial rewrite again. Do not use static display buffer. Always dynamically reallocate internal buffer if
  display mode changes (double scan modes, A2024 etc..). Fixes slowdown introduced in 2.4, also fixes shader filters
  that expect texture size = output size. Very tall (>1024 line) programmed modes are also now fully visible.
  Most likely some more updates needed..
- Always cancel custom event autofire if any release event arrives.

Beta 1:

- Input custom event autofire support.
- Automatically switch to another monitor if current monitor does not support selected RTG mode.
  (RTG mode list always lists all monitors' modes)
- CDFS ACTION_EXAMINE_ALL crash. (It seems this was 2.4's most stupid bug)
- Fastest possible CPU mode (including JIT) CPU speed throttle option. 
- Non fastest possible CPU mode CPU speed adjustment option. Currently GUI allows from -90% to 500%.
- Removed Adjustable CPU/Chipset speed option, above option should be much better.
- Switch from 16bit to 32bit (or vice versa) on startup if selected color depth does not exist.
  (Beta Windows 8 + NVidia don't seem to have any 16bit modes)
- Experimental sound sync update. Should increase stability of sound sync in non-fastest modes.
  (Side-effects possible)

2.4.0

Beta 27: (RC5)

- Saving directory filesystem statefile crashed (b23)
- "unixfs warning" optimization fix, ACTION_READ when file seek position was at the end
  file returned bad result. (b23)

Beta 26: (RC4)

- CDFS missing features added: HighCyl value and volume creation timestamp.
  I think all features are now done.
- CDFS media change stability improved (removing unreadable CD crashed)
- Forgot to mention: UAE CDFS also works fine under KS 1.x. (AROS CDFS was 2.0+)

Beta 25: (RC3)

- CDFS ACTION_EXAMINE_ALL fixed.
- CDFS file/directory search now uses simple hash table for better performance.
- Fixed crash introduced in b23 if filesystem was asked to open directory that couldn't be opened.
- Directory filesystem host memory leak fixed (leaked few bytes when filehandle was closed). Very old bug.
- Autodetect old-style geometry if >512M OFS/FFS partition harddrive was created with older UAE version.
- Some rare DMS files didn't unpack properly.
- Possible fix for diagonal artifact in some D3D filter modes.

Beta 24: (RC2)

- CDFS Amiga Rock Ridge 'AS' extension support added. (comments and protection flags)
- Free CDFS inodes if they are not needed anymore, previously only freed when media was changed,
  better performance and less (host) memory used when CD has 10000+ files or directories.
- More logical "RDB: WARNING: end of partition > size of disk" message. Check RDSK header size and partition(s)
  size separately.
- CDFS boot priority changed to -127 (lowest possible).
  
Beta 23:

- CPU Idle change improved, b22 caused major slowdowns on some systems.
- MB RAM option + JIT enabled detected wrong amount of RAM. (Can't have extra memory barrier there)
- Directory filesystem ACTION_DISK_INFO and seek updates (ACTION SEEK had some problems in archive mode)
- Sprite debugger showed 64-bit AGA sprite shape totally wrong.
- END + PrinScreen (Screenshot to file) used incorrectly screenshot to clipoard input event.
- Legacy vsync was horribly slow (b22)
- optimized normal safe "unixfs warning: Bad pointer passed for read" directory filesystem situation.
- added win32 ERROR_BAD_NETPATH = AOS ERROR_OBJECT_NOT_AROUND mapping directory filesystem error handler.
- improved filesystem volume insert/removal stability.
- config file/uae-configuration/custom input math formula (+-*/ and parenthesis) support.
  For example it is now possible to increase or decrease any numeric configuration entry,
  very simple example: "gfx_filter_horiz_offset=[gfx_filter_horiz_offset+1]". Multiple variables and
  complex formulas fully supported. This was already in previous beta because it was too experimental,
  but I guess it can be considered "official" now because of CDFS delay..
- A500 advanced chipset extra option always enabled RTC (real time clock), should have been enabled only
  when more than 0.5M RAM configured.
- built-in AOS CDFS removed, unfortunately it is not license compatible (non-commercial usage only).
  I was too blind to not notice it months ago.
- CDFS replaced with host native Linux isofs/directory filesystem wrapper which works quite differently
  but should have exactly same behavior from Amiga program point of view. Uses filesystem emulation but
  accesses CD data using Linux isofs filesystem code that directly reads CD sectors via IOCTL native API
  or UAE built-in CD image support.
  Amiga specific rock ridge 'AS' extension (protection flags and file comment) is not supported yet.
  Does anyone know any example CDs or images?
- AROS ROM updated.

New isofs/directory filesystem CDFS hybrid needs testing! 2.4.0 final waits until CDFS is guaranteed working.


Beta 22: (RC1)

- CPU Idle limit added, do not sleep if there are no frame time left, no more slowdowns if CPU Idle is set too high.
- Only use long frames to recalculate interlace autoscale positiong. (Autoscale jitter in some interlace setups)
- Autoscale didn't always ignore standard mode display limits when displaying programmed display modes.
  
Beta 21: (Fastest possible vsync should be fixed finally, only some testing left to do)

- Direct3D masks and scanlines fixed, forgotten testing code.. (b20)
- 2.3.2 "stop the cpu and wait until blitter has finished if any blitter register is accessed while blitter is busy and
  cpu mode is fastest possible" was broken and could cause side-effects in some situations.
- Direct3D to DirectDraw fallback if DirectX is not recent enough crashed. (b5)
- Keyboard lost sync state emulated, needed with some programs that don't handshake all buffered key codes but still clear
  the CIA keyboard interrupt flag, this caused dead keyboard after b1 update. Now keyboard should be fully emulated.
- Quickstart panel disk insert always reset track position to zero. (forgot to restore old track after checking disk
  type and bootable state, bug since Quickstart was introduced!) Fixes Wrath of Demon disk swaps.
- Z2 RTG changes broke chip RAM "memory barrier" causing crash if JIT executed code at the very end of chip RAM. (b16)
  
I finally really examined and even understood (I think..) how fastest possible and JIT modes handle CPU emulation,
(in reality fastest possible without JIT didn't really handle it all, other UAE ports most likely have exact same issue):
Some unnecessary and big event code inlining also removed (shorter code, should be faster on modern CPUs due to less cache trashing)

- Huge improvement in fastest possible CPU (with or without JIT) + low latency vsync performance.
- Fastest possible without JIT performance improved in non-vsync modes. It now executes small chunks of extra code after
  each scanline instead (as long as there is time, the faster the host CPU, the more extra time there is) of single huge
  chunk just before vsync. JIT basically does the same but because it has "unknown" timing, it may execute "too much"
  code first and then skip multiple scanlines until there is enough time again.
- Immediate blitter is now 100% immediate. Fastest possible (with or without JIT) performance greatly improved (10x+ possible!)
  if program does lots of small blits. Previously, even in immediate blitter mode, blitter wait caused CPU emulator to waste
  its extra "fastest possible time slot" by doing absolutely nothing else than waiting the blitter that never happened. It can't
  happen until next scanline, during extra fastest CPU "slots" chipset emulation has to be paused.

Fastest possible CPU throttling option will be also possible, this will be done later..

NOTE: Above changes WILL break some games/demos that (accidentally) worked previously. It is 100% guaranteed!
  
Beta 20:

- Fixed DirectDraw on screen led status bar surface allocation error when switching modes in some situations.
- A3000 quickstart CIA mapping fixed (no mirrors, can't enable both CIAs at the same time, only original Gary does this)
  and 0xc0-0xcf added (same as A4000) Only affects very badly behaving programs, programs that most likely wouldn't run
  on A3000 or A4000, with or without this change.
- Do not fully recalculate display parameters if only long/short field state changes.
- Lace<>non-lace mode switch scanline flashing effect hopefully fixed (may also break something else..)
- Overlay graphics Direct3D mode should have more correct positioning again (still not exactly right)
- Z3 board <16M RAM size autoconfig data makes more sense.
- Upper half of 8M RTG Z2 board was overridden by Gayle PCMCIA address space if enabled.
- Windows 8 Consumer Preview tested, didn't notice any problems. WARNING: No Windows 8 discussion here!

Beta 19:

- Triple buffered native chipset low latency vsync uses slightly different flipping method
  and also does not force min D3D framelatency value.
- Added active but mouse uncaptured pause/no sound option.
- Interlace to non-laced switch graphics corruption fixed (b17)

Beta 18:

- Z2 Fast Autoconfig on/off checkbox added.
- RTG double/triple buffering option added ("no buffer" is not supported in RTG mode)
- Do nothing if Load From or Save From file dialogs are canceled.
- Input panel mode (Configuration #1-#3) also autoswitches joysticks/mice using "GamePorts" method
  (GamePorts setting overrides Input settings) if GamePorts panel port is not set to "none".
  (autoswitch = press button on non-configured joystick or mouse = enables it automatically)
- Task bar click minimize didn't enable minimized state.
- Accept non-power of 2 sound buffer size.
- GUI sound buffer range changed, previously next size was always previous * 2. Now buffer sizes are
  256, 512, 768, 1024, 1536, 2048, 3072, 4096, 8192 and 16384 samples.
- Fixed NTSC and 100% floppy speed mode disk errors in some situations.
- A4000 Quickstart/advanced chipset configuration updates, 0xc0 to 0xcf is chipset mirror, ROM mirrors don't exist.

Beta 17:

- Fixed b16 low latency vsync issues.
- Possible fix for no buffer vsync tearing in D3D mode on some systems.
- Tweaked b4 too fast cpu audio hack, it broke routines that start playing empty sample (with length=1)
  and then near immediately reset audio pointer to correct sample. Hack detected this as a bad
  behavior and "fixed" it causing corrupt sound. (Game Solid 2 AGA)
- Release keys before pausing, stuck Alt if Alt-Tab pressed and emulation was set to pause when inactive.
- Magic mouse triggered window activation/deactivation didn't handle inactive pause or sound correctly.
- UAE controller mounted RDB hardfiles support bootable and do not mount checkboxes. "Do not mount" ticked
  = ignore all RDB hardfile partitions, "Bootable" unticked = do not boot from any RDB hardfile
  partition. Other boot priority values are ignored.
- Execute drive diagnostics IDE command should also set interrupt state (if enabled)
- Enable null filter if none and low latency vsync selected. It can't work with "none" filter.
- gfx_contrast/gfx_luminance/gfx_gamma didn't work on the fly using uae-configuration.
- Interlace mode detection rewritten. This should improve interlace emulation of weird programs
  doing weird things with interlace... Do not simply mirror BPLCON0 LACE bit but also check
  that LOF bit toggles correctly.
- Only enable vblank waits in non-vsync modes if triple buffering is enabled. I always forget that
  it is bad idea because on some systems it works fine, on some others it causes huge slowdowns.
- Some Advanced Chipset panel settings were not overridden if compatible settings was enabled.
  This could have caused strange compatibility problems even in Quickstart modes if default.uae
  had modified advanced chipset config entries.
- On the fly RTG vsync mode switch does not freeze the emulation anymore.
- Fixed A1000 Quickstart ROM missing message.
- KS 1.2 or older: map Z2 FastRAM as a non-autoconfig memory board.
- HID joystick negative axis values broke in b15.

Beta 16:

- AROS CDFS update, disabled annoying and pointless "Write protected" requester.
- Reload shader filter automatically if shader file's modification date changes,
  quicker to experiment with filters, changes will be visible immediately.
- Added texelsize as a parameter to _winuae.fx shader, needed to quickly access other
  pixels (not just current pixel), version number bumped to 3.
- DirectDraw mode screen blanked when adjusting slider settings on the fly.
- Reordered emulated autoconfig boards, first comes all Z2 boards and then all Z3 boards.
  KS1.x stops autoconfig process when first Z3 board is found, previously filesystem "board"
  was after Z3 boards causing UAE controller HDs to not mount under 1.3 if Z3 or RTG was
  enabled. Debugger 'dm' command also shows name of current autoconfig board in autoconfig
  config space if autoconfig didn't finish.
- Picasso_FindCard() will now return error if RTG board is not fully autoconfigured.
- Added RTG Z2/Z3 board mode selection. NOTE: both Z2 Fast RAM and Z2 RTG RAM must fit in 8MB
  Z2 autoconfig region.
- Removed NO_SHUTUP flags from emulated autoconfig devices, AOS is now allowed to "shut up" the card
  (usually can only happen if there is no free config space) and continue autoconfig process.
  Probably never happens but maybe someday it is needed.
- Clear RTG screen buffer when switching modes, sometimes previous graphics was visible on border
  area if RTG resolution changes without host screen mode change.
- Low latency vsync partial rewrite, fastest possible CPU/JIT should have better peformance
  compared to previous betas, triple buffering is not needed anymore, double and triple should
  have exact same performance, triple only increases latency. RTG low latency vsync should
  be stable now, some hangs also fixed.

NOTE: Previous betas saved gfx_backbuffers_rtg=2 to configuration file, edit it or remove it manually if
you want to use double buffer (=1) RTG mode which is also the default now. There is no GUI option yet.

Beta 15:

- Append 'i' to PC resolutions that are interlaced. (TV Out, VGA + 15KHz hacks etc..)
- Low latency Amiga interlace mode odd/even fields are now in sync with output's odd/even fields,
  if output resolution is also interlaced.
- Set cpu speed to "real" if it was fastest possible originally when switching cycle-exact on the fly
  using uae-configuration.
- MIDI device IDs are correct again (b1)
- Display panel displaydata PAL/NTSC/etc select box now mirrors currently active emulated setting.
- "Default refresh rate" skipped every other frame in DirectDraw mode (b14)
- gfx_autoresolution_min_vertical and gfx_autoresolution_min_horizontal support on the fly adjustment
  using uae-configuration.
- Write winuaebootlog.txt to Windows temp directory if original directory is read-only.
- Directory harddrives configured as unbootable are now really unbootable under KS 1.3.
- Mequa's optimized Akiko C2P added.
- HID raw input mask overflow when HID bitsize was 32. (PPJoy)

Beta 14:

- Input panel qualifier key/button support. I think this was requested many many years ago.
  (I didn't originally plan to do this now but someone reminded me few days ago..)
  - Any key or button can be configured as a qualifier (like a shift or control key that modifies behavior
    of other keys)
  - Any Input Target can be configured to require qualifiers. Input Target only triggers if it's
    Input Source and all configured qualifiers are active at the same time.
  - If multiple slots are configured, only slot(s) that have matching qualifier will be triggered,
    for example if slot 1 has qualifier and slot 2 has none: Only slot 2 triggers if Input Source matches
    without qualifier active and only slot 1 if Input Source matches with active qualifier.
  - Same qualifer code (1-8) can be configured to more than one key/button.
  - Qualifier(s) set to any other types than keys or buttons is currently undefined.
  - End ("*" in GUI), Shift, Alt and Control keys are mapped to built-in qualifiers.
  - Most previously hardwired key mappings (END+F1 etc..) are now implemented using Input qualifier system
    Exceptions: F12 so that there is no way for users to accidentally disable GUI access.
    END+<number> and END+<numpad number> disk swapper and statefile shortcuts, I didn't want to add 30+
    new mostly pointless input targets.. Disabled if END-key's qualifier flag is removed.
  - Qualifiers and custom events: slots 1 to 4 and 5 to 8 can have different qualifiers.

- Doubled number of input target slots (4 to 8)
- "Copy from"-button corrupted memory.
- Added keyboard default options to "Copy from"-button. Can select either Amiga or PC default mapping.
- TODO: restore only single input target to default.

- Less than 35Hz vsync display refresh rate: show only every other frame.
- Workaround for strange Windows feature or a bug. First call raw input RegisterRawInputDevices() to unregister
  HID devices and then immediately call to register them again: Windows randomly stops reporting HID events.
- Windows to Amiga clipboard sharing wrong string size if string contained cr/lf line endings.
- Low latency VSync screen mode switch fixes and updates.
- Native code execution (winlauch.alib etc..) is not anymore allowed by default. Option in misc panel.

Beta 13:

- bsdsocket emulation: use SOCK_DGRAM if requesting IPPROTO_UDP + SOCK_RAW. Raw sockets require
  admin privileges and have restrictions (introduced in XP SP 2 / Vista). This partially fixes Genesis
  traceroute, UDP packets are now transmitted (Wireshark detects it) but for some reason it is not
  possible to receive ICMP packets using winsock anymore (but ping that both sends and receives
  ICMP packets do work fine, so it seems you can only receive replies to your own packets)
- bsdsocket emulation WaitSelect() incorrectly cleared break mask signals, this caused programs like
  traceroute to not exit with CTRL+C.
- Swallow raw input mouse middle mouse button presses if middle mouse button is set to untrap mouse.
- WinUAE Windows dialogs (not GUI or file dialogs) may have been invisible in some situations in
  fullscreen D3D mode.
- Some on the fly config changes caused side-effects if new vsync mode was enabled, for example
  JIT on<>off or fastest possible<>approximate caused graphics corruption.
- Switching on the fly to/from fastest possible CPU to approximate or cycle-exact mode in low latency
  vsync didn't switch to correct internal vblank detection mode.
- It was possible to enable both JIT and cycle-exact using uae-configuration which froze the emulation
  until GUI was entered and exited (which fixed the bad configuration). Now this conflicting
  configuration is detected and JIT is automatically disabled.
- Built-in CDFS crashed if CD was unreadable (empty CD-R).
- Input panel custom event configuration changes didn't trigger until some other config entry changed
  or GUI was entered.

Beta 12:

- Quick beta update: blitter cycle-exact mode was not cycle-exact in b10 and b11 release builds.

Beta 11:

- SocketBaseTagList() must not report unknown tag error unless tag is really unknown, not just
  unsupported. SBTC_LOGx tags are now "supported" because some programs sets them and they also
  do not want to get any errors.
- bsdsocket.library SBTC_IOERRNOSTRPTR, SBTC_S2ERRNOSTRPTR and SBTC_S2WERRNOSTRPTR implemented.
- bsdsocket.library SBTC_FDCALLBACK implemented. Should fix (SAS-C compiled only?) Unix ports that
  use both socket and plain file FDs.
- Multiple bsdsocket emulation thread safety fixes. Should finally fix all YAM hangs.
- Directory filesystem internal file size access update, previously Examine() and friends returned old
  file size if file size changed (either inside or outside of emulation) until file was closed.
  (fixes Subversion bad request 400 error)
- Built-in zip unarchiver utf-8 encoded file name support implemented
- Vertical centering and small enough display size: vertical positioning was really wrong.

Beta 10:

- RTG mode list should always list all monitors' supported resolutions.
- PAL filter display positioning is now same as other filters.
- Removed obsolete right control key hack, Amiga does not have right control key, it was only originally
  needed to handle keyboard layout B in old UAE versions.
- Cycle-exact mode and very heavy interrupt activity caused lost internal interrupt event in some very rare
  situations, bug introduced long time ago. (Guardian Dragon II / Kefrens random hang, probably others too)
- In non-vsync modes only triple buffering enables vsynced page flipping, other modes flip instantly
  for better performance (and possibly introduces tearing but it is better than bad performance)
- Log more complete RDB dump when mounting RDB hardfile or real harddrive using UAE controller.
- bsdsocket emulation tweaks. SocketBaseTagList() more compatible with AmiTCP (emulate weird behavior of
  breaking tag list processing if unknown tag detected, some programs actually don't even have a TAG_END..),
  get/setsockopt more compatible ("Unknown optlen (1)" log error messages) Convert SO_SNDTIMEO and
  SO_RCVTIMEO time values between milliseconds and struct timeval.
- HID input stuck button fixed if multiple buttons were kept pressed while releasing another button.
- HID input configuration loading didn't always match devices correctly

Beta 9:

- USB HID game controller support really works now. (HID signed value handling is a bit special)
  Also added pad quirks list from Linux, some game pads apparently report bad minimum and maximum range
  values, this also includes Logitech G13 stick which was not listed (reported range is -127 to 127,
  real range is 0 to 255) and this caused the b8 problem because I assumed it was supposed to work that way
  which of course broke other correctly working devices with negative minimum range.
- D3D and DirectDraw fullscreen mode monitor selection improved, it wasn't reliable if system had
  more than 1 display adapter(s). (Win32 EnumDisplayDevices(), DirectDraw and Direct3D monitor indexes
  are not guaranteed to be same)
- Adjusted sound buffer range, old 1 is new 2, 2 is 3, and so on. Old 7 is too big, most drivers won't
  accept it and new vsync can work with buffer smaller than old 1. (Buffer size "0" or "1/2" would have
  been too confusing..) In other words, if you load old configuration, only value shown in GUI increases by one,
  real buffer size does not change.
- Fixed Graffiti emulation crash if Graffiti hires mode was detected but emulation was
  not configured for superhires support. (Only in some situations)
- Disable genlock detected option if A2024 or Graffiti enabled, this is impossible configuration and would only slow down
  emulation (forces Graffiti emulation to keep looking for command codes continuously)
- PC keyboard emulation mode, maps keys like F12, End, Home etc.. to Amiga key codes (afaik same key codes are also used by AROS, OS4 and MorphOS).
  Num Lock opens the GUI by default (Only remaining key that is more or less free), all other special UAE key mappings are disabled.
  Config file only at the moment: input.keyboard_type=pc
- Do not include "raw" display modes (marked as "!") in RTG resolution list.
- Old vsync mode is back (native only, non-fastest CPU mode compatible only)

Beta 8:

- Fixed D3D RTG hardware cursor stupid divide by zero crash introduced in b6
- Old "Include CD/DVD drives.." now always mounts in CDFS + uaescsi.device mode (uaescsi.device is automatically enabled)
- Approximate CPU speed and 68020: divide A500 instruction cycle counts by 4.
- RTG vsync and >=100Hz display didn't work correctly.
- RTG vsync and non-fastest CPU speed mode fixed.
- Removed RTG autovsync setting, it does not make any sense.
- Fixed D3D + no filter crash in some situations.
- CDFS CD mounted drives are now bootable but only if media is present when drive is mounted to prevent ugly "No disk present in device CDx:" requesters.
- Display vertical position was wrong if A2024 or Graffiti emulation was enabled.
- AROS ROM updated.
- Low latency USB HID game controller raw input mode is now the default (except if Windows XP, it should work but enumerated device paths are wrong),
  old custom input mappings compatibility is not guaranteed, DirectInput is still used for any non-HID devices.
- Fixed HID analog stick handling if reported range was -val to +val instead of 0 to +val, also other small updates.
- USB HID device name detection improved, less generic names, better match with DirectInput device names.

Test all input devices and report any strange behavior!

Beta 7:

- vsync in non-fastest CPU modes fix (b6)
- Renamed "Include CD/DVD drives.."
- Disable other uaescsi.device CD drives if image mode or drive letter is selected from CD type select menu.

Beta 6:

New vsync should finally work in all modes.

- Removed sound exclusive checkbox, WASAPI exclusive modes are now listed in select menu.
- New RTG vsync using low latency sync method, currently always triple buffered.
- Display selection GUI changed again, now lists both display adapter(s) and connected monitor(s).
- Associated ".uae" didn't set correct icon id (right click on .uae shows wrong or missing icon). Reset .uae association again to fix it.
- Fixed filter panel hang in some situations before emulation was started.
- Low latency vsync keeps list of modes that have already been calibrated, switching back to remembered mode uses stored calibration value.
- Unreliable old-style vsync options are gone. Replaced by low latency + double or triple buffered mode.
- DirectDraw low latency vsync fully implemented.
- RTG hardware cursor positioning fixed in aspect ratio corrected full window modes.

Beta 5:

- Removed obsolete fake (50), (60), (100) and (120) refresh rates.
- Primary Display Driver monitor selection removed.
- Only primary monitor allowed >75Hz modes.
- Does not load or use ddraw.dll anymore if D3D mode enabled.
- Display and mode enumeration rewritten (does not use ddraw aymore).
- DirectDraw mode vertical positioning fixed (was always on top of screen)
- Fixed Sound panel crash if sound card id stored in configuration file was larger than available number of sound card drivers.
- Handle situation where PortAudio Pa_IsFormatSupported() returns true but Pa_OpenStream() fails with paInvalidSampleRate.
  (Usually seems to happen when requesting 44100Hz but hardware supports only 48000Hz) 
- VSync sound syncronization improved (All types: DirectSound, WASAPI, OpenAL and PortAudio). Note that buffer settings are not same between device types.
- SND% blue/yellow/red flickering fix, previously flickering speed changed depending on buffer size.
- More fastest possible/JIT low latency vsync updates.

- AROS CDFS is now UAE boot ROM built-in. "Include CD/DVD drives.." now has two modes:
  - if uaescsi.device is not enabled: mount as Windows drive (same as previously) This mode may disappear in the future.
  - if uaescsi.device is enabled: mount using built-in CDFS. (Correct file names, protection flags, audio tracks etc..) There is no need to install
  Amiga-side CDFS anymore. I am not sure if AROS CDFS if good enough but at least it appears to work..

  "Include CD/DVD drives.." (+uaescsi.device) can now be used to install OS3.0+ safely. KS2.0+ only. (CDFS requires 2.0+ features)

Beta 4:

- Another switching from CE mode to non-CE hang fix. (Blitter nasty related)
- Another too fast CPU audio hack update, fixes random glitches (Uridium II, Moonstone, probably many others)
- Low latency vsync buffering change, selected buffering mode can be modified now.
  - No buffering is same as previously
  - Double and triple buffering can be enabled, increases latency but can reduce random jumps.
- Fastest possible CPU low latency vsync update:
  - Works now without buffering
  - Flips buffers in vblank thread (Flipping timing is correct now, tearing gone)
  
Normal vsync may still be broken.

Beta 3:

- Fixed DirectDraw mode crash (b1)
- Fixed uaenet.device crash if program attempted to open it but winpcap was not installed. (old)
- Added CD32 drive emulation hack, CD32 Mutation Gold Compilation games now load (but they didn't work on my real CD32 either so technically
  not working is correct behavior. This hack is removed if it breaks other programs)
- Too fast CPU audio hack update, one of the hacks actually caused sound glitches with some strange sound routines.
- Do not blank screen if display can't be shown (DirectDraw display position negative upper left coordinates), now sets coordinates to zero.
- Keyboard statesave buffer overflow (b1)

- Experimental new vsync mode for fastest possible/JIT CPU modes. Tested using WHDLoad demos and games.
  - Uses secondary thread which polls vblank state continuously. There is no way to get signal/message/whatever during vblank. Stupid Windows.
  - Activates automatically if 2 or more CPUs/cores detected and fastest possible/JIT and low latency mode selected.
  - JIT is also supported.
  - Works in windowed and fullscreen modes (just like normal low latency vsync).
  - This mode is currently buffered, used to hide horrible tearing (flip timing is much more complex if fastest possible CPU), will be hopefully improved later.
  - Sound pitch changes possible, this also needs some improving later.

Beta 2:

- Adjusted horizontal positioning, full overscan was not visible.
- Clear display buffers when monitor type or refresh rate changes.
- A2024 1-plane mode brightness level fixed (DPL bits implemented)
- Fix A2024 10Hz flickering near panel borders.
- 16-bit color supported in A2024/Graffiti emulation.
- Disable audio emulation hacks if 68020 CE (previously only if 68000 CE)
- Switching from CE to non-CE on the fly froze the emulated machine in some situations until mode was switched back to CE.
- PCMCIA CF IDE emulation added ("SC IDE" controller type), originally developed for AROS m68k PCMCIA CF IDE support testing.
- Fastest possible without JIT + low latency vsync should work much better now (but probably still not good enough)

Beta 1:

- Number of supported serial ports, MIDI ports and sound devices increased, allocated dynamically.
- Fixed crash if more than max supported serial ports or MIDI ports found.
- Sort MIDI and serial ports alphabetically.
- Hardfile write protection has never worked, only worked when using real harddrives.
- Very old keyboard handshake emulation hack removed, now following key code won't arrive until current key
  code has been handshaked properly. I guess this hack was needed when CIA emulation was not good enough.
- Parallel joystick adapter unused pin added to Input panel (spare/2nd button) World Cup 1990 parallel
  port joystick adapter uses this pin.
- Gayle IDE emulation IDE doubler mode improved, both buses are now separate, supports drivers that
  send command to drive on another bus when drive on other bus is still processing previous
  command (Linux/NetBSD/AROS)
- Emulate disk write with enabled wordsync. Write does not start until wordsync marker has been found
  on disk. Some games accidentally enable wordsync bit when writing. Previously write never started.
- Saving configuration crashed if scale mode was set to integer.
- -portable disables winuaebootlog.txt, also added -bootlog and -nobootlog parameters.
- Switching from physical CD to image or vice versa didn't send uaescsi.device change notifications
- Support added for special screen modes that can have different "input" and "output" resolutions
  or positioning. On the fly switching also supported.
- A2024 and Graffiti emulation implemented, uses above system. Configuration in chipset panel,
  autodetect = attempts to detect if mode is normal, A2024 or Graffiti.
- All programmed display modes (DBLPAL/NTSC, MULTISCAN etc..) should be always centered, exact
  display positioning configuration is now taken from sync position custom registers.
- Normal modes may also have better centering without extra configuration.
- Mode switching can leave old graphics garbage, this will be fixed later.

A2024 and Graffiti emulation notes:
- 32-bit display mode required.
- Direct3D or DirectDraw + null filter mode required. (=Does not work if DirectDraw + no filter)
- Make sure display resolution (lores/hires/shres) is equal or higher than required resolution:
  * A2024 10Hz: lores
  * A2024 15Hz: hires (loss of every other pixel if lores)
  * A2024 only tested using WB drivers (which don't use all A2024 special features)
  * Graffiti lores: hires (does not work at all if lores)
  * Graffiti hires (AGA required): shres (does not work at all if hires or lores)
- A2024 output resolutions: 1024x1024 (PAL), 1024x800 (NTSC), OCS chipset: 1008x1024 or 1008x800.
- Yes, weird A2024 refresh behavior is normal, single display is built from multiple frames!
- A2024 enabled but special mode line not detected: fall back to normal native display. Real
  A2024 would show 8 grayscale screen. This is not (yet? Pointless feature?) emulated.

NOTE.NOTE.NOTE.NOTE: Because display positioning has been changed:
- Remove all custom filter positioning settings first!
- Also test without enabled horizontal or vertical centering.

NOTE2:NOTE2:NOTE2: This can also change again during beta period. It won't be compatible with old versions.

2.3.3

Beta 7:

- do not misdetect standard adf images that have small amount of garbage data appended at the end of file
- forgotten experimental code removed. (b1, broke Sequential 18Frames! part)
- ECS superhires sprite color fixed (Didn't handle "color scrambling")

Beta 6:

- added "statefile_name" configuration file entry, sets default statefile name (normally "default.uss")
- fixed jittery raw mouse movement
- resolution autoswitch should now work correctly, no more strange centering without autoscale.
- analog stick mapped as a mouse had wrong and unstable speed
- rarely used configuration entries were only supposed to be written if they had non-default value.
  re-saving configuration will reduce size of most config files. Older bug.
- "Integer scaling" visible in GUI (AF specific feature originally), selects biggest integer scaling
  ratio that still fits on screen
- "VSync (new)" renamed to "Low latency VSync"
- Input panel configuration #1-#3 can be renamed by manually editing config file (input.x.name=name)
- GUI allows FPU in cycle exact modes. Not much point but if you really want to enable it..

Beta 5:

- CD image audio play buffer size increased, some system have glitchy sound if buffer is too small
- on the fly resolution change didn't reset all parameters
- resolution autoswitch now uses startup resolution and doubling values as highest supported mode
  (internal display buffer needs to be as big as max supported mode and it can't be re-allocated
  on the fly without major display glitches)
- RTG modes were rendered twice/frame, caused performance loss (b1)
- do not add >2M chip RAM to memory list if it is already added (perhaps m68k AROS does this automatically in future)
- borderblank change didn't redraw all changed scanlines
- key/button mapped to mouse directions didn't work
- add Harddrive allowed without admin privileges, removable drives do not seem to require extra privileges. (anymore?)
- b4 sprite optimization fix was broken
- automatic scaling max scaling values adjusted, now 3.x max overscan fits completely on screen

Beta 4:

- rawinput was not enabled properly in all situations (mainly affected -rawhid parameter)
- write log message if D3D command pipeline flush fails or is not supported (tearing in new vsync mode)
- added win32.gui_page=<name of panel> configuration entry, selects default panel when GUI opens
- magic mouse in fullwindow mode only uncaptures if mouse would move to another monitor
- quickstart mode now sets sound mode to "disabled but emulated" if it was "disabled", previously
  it was always set to "emulated".
- CD/CD image switching on the fly was unreliable (different problem than b2 fix)
- optimization that detects if sprite changed has not been working for ages
- sprites above or below bitplane area and AGA border sprite bit set caused graphics garbage around the mouse cursor in some situations.
- possible fix for autoresolution aspect ratio problems when filter aspect ratio setting is enabled
- removed default scroll lock -> inhibit screen updates key mapping
- AROS ROM updated

Remaining new vsync updates coming later...

Beta 3:

- tearing in new vsync modes should be completely gone, without introducing any extra latency
- Display panel buffering option now does nothing in new vsync modes

Beta 2:

- experimental joystick raw input support, enable using -rawhid command line parameter.
- D3D blank screen problem should be really fixed now
- empty winuae.ini now does exact same as -portable command line parameter
- harddrive paths relative to win32.hardfile_path didn't work
- config file full paths are converted to relative if path matches win32.xxx_path entries
- ignore new displaydata vsync stuff if RTG mode is currently in use
- Display panel new vsync refresh rate GUI really works now
- uaescsi.device cd image on the fly switching was unreliable
- uaescsi.device crash when switching images (I could only duplicate it with AROS CDFS)
- AROS ROM updated

Beta 1:

- new vsync option
  * does not need extra buffers (very little input lag), make sure "no buffering"
    is selected
  * works also in windowed/fullwindow mode
  * attemps to autodetect exact refresh rate, ignores what Windows/driver reports
  * less busy waiting, no more continuous 100% CPU usage
  * much more stable than "normal" vsync
  - old vsync is currently always forced to new mode
  Usual vsync restrictions still apply: do not use fastest possible modes, 50Hz capable
  display and driver required if you want proper PAL speed.
  Old vsync support may disappear later.
- keep old joystick Gameports setting if no joysticks detected when loading config file
- another method to enable unconfigured joystick: quick firebutton press = joystick port,
  long press = mouse port
- unconfigured joystick move left/right can also be used to enable joystick
- DirectDraw and 2x filter = non-centered image, broke few releases ago
- IDE multiple sector writes fixed (2.3.2 final fixed spurious interrupts but fix wasn't
  complete, last interrupt didn't always arrive causing driver to hang)
- set IDE CHS/LBA address after read/write command has finished as explained in ATA-1
  spec (last accessed sector, not next sector). This is undefined in later ATA spec
  versions, but AOS IDE driver >256 sector transfers corrupt data if this is not
  handled exactly as ATA-1 spec says. (Infamous "max transfer problem")
- detect and log split >256 block IDE transfers
- only load OFS from RDB if partition and RDB filesystem dostype matches exactly
- create _winuae.fx only if full D3D plugin path exists
- A590/A2091 boot ROM was mapped non-executable, crashed on 68020+ CPUs

2.3.2

Beta 8 (RC1):

- always disable FPU when using GUI to change CPU to 68000 or 68010
- slow ram max is now 1.5M (was 1.0M) when Gayle features are enabled.
- stereo separation 0% equaled 100% if stereo delay was 0 or 1
- stereo delay 1 was same as 0
- brightness/contrast/gamma read-only numeric value box added

Beta 7:

- borderblank only worked in AGA mode, BPLCON0 bit 0 was ignored in ECS Denise mode
- config_window_title configuration entry added, text shown on GUI and main window title bar if set
- delay allocation of filter buffers if current mode is RTG
- fixed uninitialized buffer when writing joystick input settings to config file, possible worst case issue
  was corrupt input configuration data in config file
- AROS ROM updated

Beta 6:

- Display panel overwrites chipset_refreshrate decimal part only when slider is adjusted
- Display panel directly accepts non-integer refresh rates
- last serial port device was not listed (b1)
- added serial_stopbits configuration parameter, sets Paula serial port emulation stop bit length.
  (0 = 1bit, 1 = 1.5bits, 2 = 2bits) Technically it should always work but at least some USB
  adapters don't seem to reliably read Amiga serial data at 19200 without setting it to 1 or 2.
  (interestingly for example 115200 works fine, this is quite confusing)
- Gameports panel remapping fixed (b4)
- avioutput refresh rate was not rounded to nearest integer (b5)
- fixed crash when switching from RTG mode to native mode (old bug, only in specific combination of filter and display settings)

Beta 5:

- floppy step signal's previous state was not restored properly from statefile (possible one skipped
  or one extra step when program steps for the first time after state was restored)
- tight DSKBYTR() read loop sometimes triggered second index sync pulse after few cycles. Broke some
  copy protections randomly. (for example original Double Dragon II)
- enable Gayle ID register in CD32 mode. CD32 boot menu checks for Gayle ID and immediately exists if Gayle is not detected.
  This must mean Akiko includes some (unused or never fully implemented?) parts of Gayle (at least ID register) because boot
  menu works on a real CD32.
- RESET instruction didn't work correctly in 68000 compatible non-ce (prefetch) mode (Arcadia/AR/A1000)
- only use triple buffer if triple buffer selected and vsync enabled. Seems to fix (at least partially)
  random Direct3D blank screen issue (also triple buffer in non-vsync modes is quite pointless)
- configuration file chipset_refreshrate accepts now floating point values

Beta 4:

- added new autofire option. Button released = autofire. Button pressed = normal non-autofire firebutton.
- 231b13 reset fix fixed again (A1000 and Arcadia emulation crash)
- automatic resolution switch interlace detection was unreliable
- show a message and refuse real harddrive write attempts to block zero (=RDB write attempt) if drive has one
  or more mounted PC partitions. Partitioning is going to fail even if write appears to succeed.
- screen mode change (fullscreen<>windowed or windowed mode window size change) released all currently pressed keys,
  it should only happen when WinUAE loses focus, not when switching modes
- window title bar mouse text shortened, F12 note added
- stop the cpu and wait until blitter has finished if any blitter register is accessed while blitter is busy and
  cpu mode is fastest possible

Beta 3:

- TD_WRITE64, TD_FORMAT64, NSCMD_TD_WRITE64 and NSCMD_TD_FORMAT64 io_Actual was always zero
- b1 CIA update broke CIA interrupts partially (keyboard problems etc..)
- MIDI input buffer length command line parameter, -midiinbuffer 12345
- AROS ROM updated, should work better again, previous one was quite broken

Beta 2:

- 68000 exception 3 emulation changes (again), many very old copy protections didn't work since last
  large CPU emulation update (for example original Soldier of Light and Zoom!)
- win32.floppy_path and win32.hardfile_path finally really do what they are supposed to do
  (multiple paths supported, use paths if file not found using original path)
- include non-CDTV/CD32 CD audio state in statefile. Currently ignored during restore
- fixed color change table overflow crash that can happen when running amiga program crashes really badly
- AROS ROM updated, now includes WB replacement

Beta 1:

- added built-in AROS KS ROM (alpha development build), used by default if no ROM files available,
  not very useful at this point but more compatible than very basic UAE KS replacement
- serial port telnet server (win32.serial_port=tcp://host/port, add /wait to delay startup until client connects)
- DSKLEN=0x8000 emulation timing improved (Codertrash / Mexx crash after fractal part)
- improved disk wordsync bit timing (El Egg Tronic Quarts / Quadlite)
- improved CIA emulation accuracy in cycle-exact modes (Risky Woods sound glitches)
- fixed random sample ripper crash (ancient bug)
- CDA sound volume configuration entry (sound_volume_cd), default = same as sound_volume value, no GUI yet
- on screen led bar position configuration. config file only, "osd_position=x:y" 0:0 = default, negative value =
  offset from top of screen, add % to make it percentage of display height (osd_position=0:95.0%),
  x-coordinate positioning not fully supported yet)
- restoring statefile with memwatch point didn't automatically enable debugger memwatch subsystem

2.3.1

Beta 13:

- fixed RESET instruction compatibility problem introduced in previous betas, broke action replay roms.
- BPLCON4 BPLAMx color changes were ignored in far right border (location where actual hpos is 0-7 or so)

Known bugs not fixed in 2.3.1 (too large changes to do in this beta series):

Codertrash / Mexx, crash after few parts. (Disk related)
El Egg Tronic Quarts / Quadlite, not loading. (Disk related)
Risky Woods, sound glitches. (CIA related)

Beta 12:

- emulate A3000 Fat Gary/RAMSEY configuration address space mirroring (no real world effect but I was testing
  m68k AROS ROM on my A3000 and noticed this mirroring)
- hrtmon 2.32->2.33 update
- hrtmon didn't work in cycle-exact modes
- MIDI device names are also stored in configuration file (overrides old style id numbers)
- in auto resize and center filter modes 1x/2x.. modifiers change window size
- manual filter configuration size adjustments added, saved to config file
- RTG: do not refresh area outside of bitmap if bitmap is smaller than RTG screen resolution (AROS does this)
- some read write-only custom register changes, bset (and other similar instructions) don't have previously
  read prefetch data appearing in data lines when reading (like most other instructions do), data is zero.
  This explains why buggy programs that for example bset #x,$dff096 don't mess up register contents too much.
  (Fixes Kefrens Party Intro by Wiz, coder thought that bset #10,$dff096 is the right way to enable blitter nasty)
- sample ripper ignored most samples (broken when audio emulation was rewritten in 2.3)
- topmost scanline was usually not visible in autoscale modes
- weak bit copy protected ipfs broke in earlier betas (only if using latest dll)

Beta 11:

- random RTG color errors when switching to/from fullscreen 8-bit RTG modes
- emulate chipset feature where custom dma pointer register write is ignored if next cycle uses same register for Agnus DMA access
  (bitplanes added, sprites partially supported previously) fixes intro MoreNewStuffy by PlasmaForce
- added execute drive diagnostics IDE command to Gayle IDE emulation (used by AROS ata.device)
- some spurious IDE interrupts removed (AROS ata.device complained)
- SPTI+SCSI SCAN ignored all detected non-CD devices (2.2.1)
- joystick layout A: numpad enter was mapped to button 2, it should have been button 3 and only if gamepad joystick enabled

Beta 10:

- fast multicore systems filesystem slowdown fix (always been there but "slower" CPUs didn't trigger it so easily)
- last scanline was invisible in filtered doubled modes
- sprite dma does not switch immediately off when DMACON sprite bit is cleared (Magic Demo / Diabolics)
- do not autoswitch (button press on unused input device) if it would replace GamePorts custom remapped input device
- fixed GamePorts parallel port configuration possible crash and wrong configuration

Beta 9:

- emulate mouse counter behavior 100% when joystick is connected (increase/decrease counter by 4 when
  two lowest bits change from 0 to 3 or vice versa) Most likely no program cares..  Mouse cursor
  movement is now exactly same as on real Amigas when moving joystick in mouse port..
- "Delete Saveimage" button didn't work, broke when CD image GUI was added
- save CPU/chipset ratio to statefile
- attempt to load disk image and harddisk paths in statefiles from current dir, current adf/hardfile paths
  and directory where statefile was loaded if original path or file is missing
- harddrive statesaves didn't save correctly if more than 1 harddrive was configured
- b3 "stop linedraw if blitter register modified while active" hack didn't always clear blitter active bit
- stopped CPU in CE mode was saved incorrectly to statefile (introduced in some earlier beta)

Beta 8:

- mixed mode CD first audio track didn't always play (uaescsi.device only)
- some CD/DVD drives refuse to read MODE 2 Form 1 data tracks if "only read Mode 2 Form 1" sector type set. "Any type" works..
- SCSI emulation CDA paused state should automatically unpause when play request arrives
- most SCSI commands in uaescsi.device SPTI mode were broken since SCSI emulation was implemented..
  (SCSI/CD audio changes should fix for example T-Zero and The Shadow of the Third Moon CDA problems)
- comma in cdimage command line was incorrectly handled
- audio pitch errors if audio period rate was near minimum audio DMA time (2.3.0)
- added basic doslist debugger command ("To")

Beta 7:

- RTG board start address was not 16M aligned if Z3 fast board smaller than 16M was enabled (no functional difference)
- D3D mode was still modifying host FPU rounding modes
- increased number of available breakpoints and memwatch points
- debugger commands can be sent via uae-configuration (or custom input event)
  uae-configuration dbg "debugger command" (remember quotes if debugger command has spaces)
- Fullscreen Max/TV filter settings only worked if display panel resolution matched emulated resolution
- added "Manual" filter option (originally used by AF, now added to GUI, positioning using absolute shres/laced coordinates) Ignore it.

Beta 6:

- "old" RTG interface added, used by AROS KS ROM replacement RTG driver

Beta 5:

- check clipboard sharing disabled state earlier, before any resource allocations
- clipboard sharing option added to misc panel
- fixed archive mounting crash if archive can't be fully unpacked (for example dms without filesystem)
- autodetect byteswapped harddisk RDSK signature in blocks 0 to 15 (not just block 0)
- fixed 68020+ non-JIT/non-CE but compatible mode set causing random errors in some situations (b1)

Beta 4:

- automatically disable battery backed up clock when input recorder is enabled
- automatic resize didn't set "configuration changed" flag when window size changed, size timeout also changed to 10 frames (was 50)
- 2352 byte sector plain iso images didn't mount (misplaced parenthesis in mode test..)
- exception return address error in non-JIT fastest possible CPU modes (b1)
- increased MIDI sysex buffer size (16000 byte buffer is not large enough, some devices send about 18000 bytes)
- copy also log file (if enabled) when saving input recording
- clipboard sharing can be disabled (config file only)
- joystick/mouse button contact bounce is now off by default (config file only)
- Gayle ID update, 0xD1 (AA), 0xD0 (normal). Real A600/A1200 confirmed (unless there are other revisions)

Rerecorder features:

Re-recorder = combined input and state recorder.

- automatic (every n seconds) or manual ("Save state capture checkpoint" input event) in-memory state capture
- circular buffered multiple state capture checkpoints (note that each state capture takes as much RAM as one uncompressed normal statefile), use "Load current state capture" to return to previous checkpoint and "Load previous state capture checkpoint" to return to previous (if more than 0.5s) or to older (if less than 0.5s to previous checkpoint) check points.
- recording can be started from boot or you can use already existing statefile
- When saving recording (can be done as many times as needed), following files will be created:
  - input file (*.inp) Note that currently this includes debugging data.
  - startup statefile (*.uss) This gets automatically loaded when starting playback.
  - all disk image(s) that were used during recording. Used automatically when playing back.
- during playback you can switch to recording mode any time by clicking "re-recording enabled" button (do not touch playback button). First state capture check point will be created automatically.
- playback is 100% cycle-exactly identical to recording. Even single emulated clock cycle difference will be reported and can cause desynchs! (Amiga's shared chip ram between custom chip DMA and CPU makes this very difficult, even one incorrectly timed audio DMA fetch stealing single CPU cycle can mess up the timing completely)

Requirements:

MUST BE A500 most compatible (cycle-exact) Quickstart configuration.
Only following hardware configuration entries can be modified:
- chipset (ocs/ecs)
- number of disk drives
- memory size
- Kickstart ROM

This means no harddrives. Even unused or dismounted harddrive will mess up the timing.

- standard and extended adf supported (including all compressed variants).
- compatible ipf support requires 4.1 or newer library version (not yet released)

- Warp mode is safe to use.
- Most host GUI options can be changed while recording or playing. Changing input options may not be fully supported.

All other hardware settings MUST BE exactly same as in original Quickstart configuration.
(it may still work but you are on your own and you should keep your hands away from keyboard)

Input file most likely won't be compatible with newer emulator versions if there is even single cycle exact mode
timing update.

It took over a month to make this usable. It takes less than one second to move this to "unsupported stupid feature" category. Think about it before posting anything stupid. (I don't care about this feature, I was bribed to do this :))



- input recorder and state recorder completely rewritten and merged, it is now "re-recorder"
  - desynch issues fixed
  - input recording file is linked to statefile, statefile is automatically loaded with input file
  - statefile/inputfile pair plus including all used disk images will be saved to disk when
    "save recording" button is clicked (does not stop recording, can be saved multiple times)
  - buffer size configuration replaced with number of states buffered (circular buffer)
  - rewind operation change, less than 0.5s from latest state: remove newest state and jump to
    previous state, more than 0.5s from last state: jump to newest save
  - "rewind" = "Load previous state capture checkpoint" input event or "Load current state capture
    cheakpoint" = "rewind" to newest capture checkpoint, never earlier
  - rewind restore graphics glitches fixed
  - cdtv/cd32 support (state recorder only, cd timing is not compatible with input recorder)
  - automatic in-memory input recording, rewind automatically starts input recorder playback (if enabled),
    any user input event (or end of input data) restarts recording.
  - save checkpoints manually by using "Save state capture checkpoint" input event


Beta 3:

- ipf support only worked with not yet released library version (b1)
- use original autoconfig IDs if maprom is enabled (blizkick detection checks for IDs, update probably needed in future)
- stop blitter linedraw if bltcon0 is accessed while line draw is active (workaround for Boundless Void / Nemol)
- Direct3D + LARGEADDRESSAWARE fix (possible fix for D3D blank screen problem?)

Beta 2:

- CIA timing issue in some situations (b1)
- some 68020+ exceptions had wrong return address (b1)
- do not attempt to save log window position if it is minimized
- do not set vblank bit during state restore, old code that broke interrupt delaying and rerecorder timing

Beta 1

!!!!!! NOTE: Re-recorder discussion will be opened later in another thread. All posts related to new input recorder
in this thread will disappear. !!!!!

- directory filesystem ACTION_LOCK_RECORD and ACTION_FREE_RECORD dos packets implemented (very rarely used)
- CDTV CDA playback didn't work if play ending track was set to last track (Prehistorik CDTV)
- reset CD support internal flags when reseting or loading new configuration
- save chipset extra setting to statefile, previously state restore always restored full
  advanced chipset configuration and reset chipset extra setting
- 3-stage 68020 cycle-exact prefetch pipeline (not much difference compared to old one)
- do not emulate very small audio periods exactly in non-cycle exact modes, this combined with
  very short samples used huge amounts of CPU power (used by some stupid audio routines) (2.3.0)
- when restoring state, sound was initialized after first frame, could have caused glitches
  or missing sound if audio registers were modified during first frame
- mouse counters (JOYxDAT) were not restored from statefile, fixes random statefile restore mouse jump
- VPOSW ECS/AGA-only LOL-bit (long line) is hardwired to zero (can't be modified) in standard PAL mode
- SCSI emulation START/STOP UNIT translated to physical drive load/eject command
- combined volume and period modulation was broken in 2.3 audio update (probably never used in real world..)
- added "gamepad" device type to gameports panel, has two differences compared to "joystick", 3 buttons
  mapped and pullup resistors emulated (most Amiga compatible gamepads have pullups). It is not possible
  to have pullups automatically in joystick mode because it can break some badly programmed single-button
  games, some detect always pressed button in this situation.. (fixes Aladdin and other games that
  only have working 2nd button if buttons have pullup resistors)
- allow scanning of plain roms (no archives) in winuae root directory
- A2065 statefile support (autoconfig location saved), max allowed transmit size was too small, big packets
  were silently dropped, random lost transmit interrupts, broadcast packets being ignored if NIC chip
  hardware multicast filter was disabled
- change emulated board filesystem and Z3 board IDs because of ID conflicts with QuickNet Z2 board (2011/2)
- set default filter to 1x (was FS) and enable new "default" scaling method that only scales if window
  size is set to "large enough" or so small that image wouldn't fit, always scales in fullscreen modes.
- "autoresolution" checkbox added to Display panel, automatically selects lowest used resolution setting
  (lores screen = lores/nondoubled, lores and hires at the same time = hires/nondoubled etc..) Positioning
  may not work correctly yet, glitches possible.. Enable some autoscaling settings if you don't want changing
  display size..
- do not attempt to steal focus in magic mouse mode if WinUAE is not active, it only messes up focus state
- A500 power led fade tricks should really work now
- less accurate CIA register access timing in JIT modes (not really much point in accuracy..)
- "re-recorder" implemented (completely rewritten combined input/state recorder). More information
  coming later.

- many statefile related changes for input/state recorder compatibility, may break something else..
  - WARNING: statefiles created with betas may not be compatible with future versions!
  - save current track's data and density in statefile if disk drive motor was active (regenerated
    raw track data/density after state restore may not be identical if using ipf or fdi images)
  - state save/restore while disk DMA is active is now fully supported
  - save strings in utf8 (should have been done long time ago during unicode updates..)
  - useless DMAC chunk was saved in non-CDTV configurations (2.3.0)
  - CD state chunks were saved even if selected configuration didn't have any CD drives (2.3.0)
  - 68020 cache and prefetch pipeline saved and restored
  - debugger memory watchpoints saved and restored
  - save active (very rare) interrupt delays (interrupts that have been triggered but have not yet
    been noticed by Paula)
  - mid-instruction CPU state save support, restored state CPU state is now exactly same
    as when state was saved (68000 CE only, 68020 CE later), previously current instruction
    was simply restarted (this was really complex and non-trivial task, it is only easy if you
    accept much higher CPU usage. Which isn't good idea...)
  - full blitter statefile support in cycle exact mode, state capture/input recorder only currently.
  This saves blitter emulation variables, not real hardware state (internal statemachine state, latches,
  counters etc..) because internal structure is unknown. State capture only because it requires 100%
  identical state after restore (normal blitter state forces current blit to finish). This is not
  enabled in normal state saving because it is very difficult to keep state saving compatibility
  between versions when state is hardcoded to current emulation implementation.


Final 2.3.0

Beta 20 (RC3):

- Configuration panel save and delete operations lost currently selected configuration entry
- some filters in DirectDraw mode had blank screen (depended on display height)
- VirtualAlloc() allocation error and JIT direct enabled recursed until stack overflowed

Beta 19 (RC2):

- rar archives crashed if file was already open (stupid design flaw, it was possible to
  open archives even if requested mode was read-write)
- added "fullscreen (max)" and "fullscreen (tv)" (approximate only) to "autoscale" select
  menu, basically replaces old "FS" filter multiplier

Beta 18 (RC1):

- F13/F14/F15 rawinput keycodes fixed (at least available on some apple usb keyboards)
- removed default volume and mute keyboard mappings because in rawinput mode they
  are always handled by Windows (which is annoying, I haven't found any simple way to
  disable them, "disable hotkeys" flag only seems to disable Windows keys)
- fall back to directinput if rawinput enumeration worked but RegisterRawInputDevices() returns error
- Paula disk fifo statefile support

Beta 17:

- removed duplicate "none" in filter list
- RTD also missed address error check
- MMU emulation bus error handler uses C++ exceptions again (like in original Aranym version),
  removed some not so useful forced inlining, smaller executable.
- decided to disable some MMU table caching and suddenly NetBSD crash disappeared, MMU emulation
  is probably much slower now but at least it seems to work until proper fix is found,
  (hopefully Aranym developers have some ideas) Debian 68k Sarge Linux confirmed working now
- right border color "glitch" when waiting for hpos<7 in copper list broke in b3
- only disable Direct3D9Ex if pixel shader support is < 2.0
- do not open files smaller than blocksize (512 bytes) as a hardfile
- hardfile dialog accepts dragged and dropped files

Beta 16:

- removed old audio hack that was left accidentally, not needed since DMAL was emulated
  (Murder, Mission Elevator etc.. compatibility hack is finally gone)
- CD audio OS specific code was duplicated in ioctl and image mounter, moved to common
  source file
- LARGEADDRESSAWARE compiler flag was lost sometime ago, ~1.5G RAM is again possible under
  64-bit Windows versions
- second Z3 fast ram region was incorrectly mapped if "z3chip" was enabled
- on some systems winuae stole focus when some other application attempted to open fullscreen
  mode
- Windows to Amiga clipboard conversion was not protected from starting new transfer when
  previous was not yet received by Amiga-side (previous fix only handled Amiga to Windows
  direction), usually caused crash when pressing printscreen in rawinput mode
- 680x0 RTS emulation didn't check if new PC was odd (seems to have been missing since the
  beginning?) This finally solves mysterious JIT crashes (thanks Glen!)
- Epson printer emulation didn't flush print buffer when form feed command was received
  (and some other commands that cause new page to be generated)

Beta 15:

- swallow USB keyboard led mode phantom keypresses, do not touch non-enabled keyboard leds,
  key pressess do not cause lost led state sync anymore. rawinput mode only.
- floppy panel disk image creator can now create FFS and bootable images, pre-formatted
  extended adf ("custom floppy") will be created if label is set or FFS or bootblock is ticked.
  (empty label box = label will be "empty" when creation standard adf)
- b1 plugin path detection didn't check exe location\plugins

Beta 14:

- DSKSTEP and DSKSELx going inactive at the same time steps the rw-head normally
  Fixes Euro Soccer stupid disk change detection.
- uaehf.device HD_SCSICMD TEST UNIT READY returned an error (HDInstTools works again)
- added 68020 CE-mode very approximate 2-stage CPU prefetch pipeline emulation (not that 68020
  don't really have 2-stage prefetch but it still will be more compatible without major changes)
  Fixes ATR and (partially) Last Ninja 3 CD32 graphics glitches, (missing blitter waits..)
  also more compatible with self-modifying code
- CD32/CDTV empty "image mode" tried to select physical drive
- added windowed mode configuration GUI setting (borderless, minimal, normal, extended)
  Extended is WIP and something you (and me?) should ignore
- do not capture mouse if left mouse was clicked and WinUAE window had no focus
  (now available via GUI = can't be totally useless anymore..)
- borderless mode can be dragged by clicking mouse button once, only double click captures mouse
- fixed epson printing emulation blank page when printing multiple text pages and later pages
  didn't have any font or font style changes
- more prowizard ripper updates

Beta 13:

- addaq.x #x,Ax and subaq.x #x,Ax had too long cycle count (this was really stupid bug)
- joystick type (default,mouse,joystick,analog joystick,etc..) was reset to default when
  configuration was loaded
- do not decide bitplane dma overriding sprite dma too early, DDFSTRT might get moved few
  cycles before bitplane dma was originally supposed to start (Heimdall 2 AGA mouse cursor)
- floppy panel DF0: "write-protected" text was getting disabled
- SCSI emulation is only forced if version stored in configuration file is older than 2.3
- CDTV MODE2FORM0 2336 byte sectors didn't work in image mode
- Sherlock Holmes - Consulting Detective separate video tracks hack removed, working full image is available.
- mds subchannel data wrong positioning fixed
- fixed some rare thread syncronization issues when CDA was stopped
- read also standard 2048 byte sectors using SPTI if CDA required SPTI mode, mixing IOCTL
  and SPTI does not seem to be reliable
- Brian the Lion CD32 starts CDA play at the very end of data track, obviously this must not
  be an error, only return error if both current start and start + 2s is located inside data track
- files inside archives didn't load if path was relative
- paused CD32/CDTV was resumed after exiting GUI ("old-style" GUI pause/resume was not removed..)
- directories selected via "favorite menu" also sets default path
- prowizard updates

Beta 12:

- <drive letter>: without '\' in harddrive paths was detected as a relative path,
  automatically add missing '\', it was commonly used in old config files
- CD32 pad in 2-button mode usually returned non-existing 3rd button pressed
- CD32 pad in 2-button mode didn't have pullup resistor emulation (was lost when
  joystick pullups were removed in 2.2)
- autocorrect CD32/CDTV CDA starting position if R-W subchannel data is detected, workaround
  for a bug (happens on real CD32 and CDTV too) that can cause missed subchannel frames at
  play startup causing corrupt or missing CD+G graphics
- CD thread safety critical sections moved to common part from image mounter
- CD image mounter in play state while replacing image: state was still reported as playing
- do not enable rawinput if rawinput capable device is inserted after winuae has been started
- 2x or larger filters changed RTG hardware mouse cursor size.. (D3D + hardware RTG cursor only)
- scsi emulation always-on logging disabled, added -scsiemulog command line parameter

Beta 11:

- internal CD audio handling update, status change (starting, started, end, error) callback
  added, CD32 and CDTV emulation does not poll for state changes anymore, better accuracy
  in audio start and end timing. CD handling rewrite should be complete now.
- CD image mounter is now thread safe, no more weird and random behavior if mounted image was
  in use and image was ejected or replaced
- fixed rare crash in display emulation (introduced when right border blanking update was added)
- improved CD32 CD sound/animation timing
- CD32 CD timing now works correctly in NTSC mode (previously used hardcoded PAL values)
- "non-path" kickstart rom configuration file selection now only allows normal KS roms in
  kickstart_rom variable and extended roms in kickstart_rom_ext variable
- fixed D3D non-shader mode crash introduced in b9
- bogus autofire mode was enabled if same joystick was custom configured in input panel and in gameports panel
  (missing masking of flags variable, time to wear brown paper bag again..)

Beta 10:

- archive dragndrop worked too well, it unpacked everything, including adf filesystem etc..
- do not expand zipped filename when dragdropping if zip only contains single file
- insert floppy image dialog in disk swapper also "extracts" images inside selected archive
- MODE1 "raw" 2352 data tracks didn't work in CDTV and image mounter + uaescsi.device non-direct scsi mode
- MODE2 FORM1 data tracks didn't work in uaescsi.device SCSI emulation mode
- CDTV mode didn't close CD handle when reseting
- CDTV frame interrupts in non audio CD play mode stopped working (broke when CD+G was implemented)
- overlay height configuration file setting was written incorrectly if it had non-zero value
- statefile configuration entry is not lost when configuration is load and saved again
- scan zip directory even if compression method is unknown
- hardfile scsi emulation block validation checked against physical size, not virtual size:
  direct-scsi filesystem installed on dynamic hardfile didn't work very well..
- dynamic hdf corrupted data if hdf's physical file size grew over 4G
- bezel overlay support improved, aspect ratio correction, visible area autodetection,
  (image positioning is not yet pixel perfect)
- pointless bezel configuration file size parameters (temporarily?) removed, bezel overlay
  configuration needs to be reset (it had stupid design fault)
- DIWSTRT/DIWSTOP writes didn't check if hdiw state should have changed since last hsync
  (has always been broken but it wasn't really needed until Denise "bug" update in 2.0)
  fixes Friday at Eight / Polka Brothers

Beta 9:

- when attempting to play CD32 data track: return normal "playing" status and "play ended
  with error" flag in next status packet (Mission Impossible 2025 CD32)
- return error status when CD32 qcode command packet is received and currently played CD
  audio track is about to change (jumping "laser" in CD32 built-in CD player)
- new D3D filter stupid design fault corrected, all 2x or higher D3D shader filters had
  bad image quality because both internal source and destination textures had identical
  size..
- select box next to filter name is now D3D shader filter supersampling mode,
  1x = normal, 2x = internal texture is twice the size of display etc.. Big texture
  support required, makes some shader filters look more smoother when combined with
  bilinear filtering (for example hq2x)
- crash when entering or exiting GUI when ASPI SCSI mode is enabled (b6)
- cd32 pad shift register should stay in reset state in 2-button mode (F17 Challenge CD32)
- added cd insert/eject to systray menu
- added configuration file delayed cd insert, add "delay" to end of path ("cdimage0=<path>,delay"),
  waits 3 seconds before inserting the cd, workaround for stupid CD32 games that only work
  if CD is inserted after boot screen (F17 Challenge and Last Ninja 3, maybe others)
- fixed cue+mp3 size detection if mp3 frames included checksum data
- only accept 8 or 32-bit Windows clipboard image input (instead of crashing..)
- diskswapper and floppy/quickstart archive dragndrop: add all disk images inside the
  archive (I don't know why this was not done ages ago..)

Beta 8:

- GUI configuration panel crash fix (b7)
- do not emulate slow CDA startup in uaescsi.device mode
- blue button was still broken in CD32 pad 2-button mode
- removed obsolete 15-bit fullscreen mode support code
- statefile restore failed if rarely used 68020 M status register bit was set
- added protection against starting new transparent clipboard conversion
  if previous operation has not finished yet

Beta 7:

- reverted b5 audio hack, it breaks other programs and also it does not seem to
  be audio.device bug after all but application calling CMD_WRITE with interrupts
  disabled..
- zipped iso was unnecessarily unpacked completely during scanning if cue was found
  later
- some drives/driver/Windows versions don't seem to like IOCTL_CDROM_RAW_READ, returns
  ERROR_INVALID_FUNCTION (XP returned ERROR_INVALID_PARAMETER). Falls back to
  SPTI SCSI passthrough in this situation and uses SCSI READ CD command
- improved default ROM path handling
- ccd and mds CDA was silent (b5)
- higher CPU usage, display emulation debugging stuff.. (b5)
- initial rom scan didn't load AF key files correctly
- updated VPOSW fake 60hz support sometimes selected bogus 314 line timing for sound sync
  (not really much difference, might have caused some extra SND% changes)
- CD32 audio play status code was unreliable if new CDA play command was send without
  stopping previous play state (Fightin' Spirit CD32)
- CD32 state restore ignored statefile embedded CD image path (if included)
- CD32 state save saved wrong command fifo offset, restoring state can send some
  random commands to drive (old bug)
- new CDTV state file support was quite unusable
- state restore didn't initialize audio completely, samples playing while state was
  restored could play incorrectly until sample (on any channel) ended or new sample
  was started (old bug)
- printscreen key saves screenshot when button is released (was when pressed)
  quick workaround for Windows built-in screenshot not getting overridden in
  rawinput keyboard mode (perhaps there is better way..)
- "highend" quickstart mode was not in KS2.0+ check list
- fullscreen 8-bit RTG and "match depth" RTG setting enabled and 32-bit display
  mode selected in Display panel: 16-bit mode was selected with 32-bit mode
  color settings.

"Portable mode" updates: (and no stupid registry related comments again or..)

- added -portable command line parameter which is same as "-ini winuae.ini",
  creates ini in temp directory if winuae.exe directory is write protected
- /<command line parameter name> also accepted
- official support for relative paths added, checkbox in Paths panel, automatically
  enabled when ini mode is started (ini missing or empty), all paths that are inside
  of winuae directory are kept relative. Report all possible side-effects or paths that
  are not in correct format. Currently all relative paths have .\ prefix, this may
  disappear in future
- do not set apppath in registry in ini-mode
- real harddrive configuration path is now ":<name of device>" (was "HD_<name of device>")
  (to prevent relative/absolute path conversion conflicts, field is unfortunately shared
  with hdf paths), this is automatically converted when old config is loaded

Beta 6:

- MP3/FLAC background decompression, no more delayed CDA startup if audio file
  decompression takes more than 2 seconds
- implemented "delayed decompression" zfile open flag, currently only zip backend supports it
  and it is only enabled when using CD images. Most zipped CD images with big audio files
  start almost instantly now
- potential memory corruption crash in zfile_fclose() if file had parent file(s)
- zero length disk DMA (used by some copy protections) never finished, broke in b1
- fixed extra space characters in favorite menu items
- pause uaescsi.device CDA when emulation is paused or GUI is open
- uaescsi.device CDA lights green on screen CD led
- cue/bin audio tracks were completely silent (cue/wav worked)
- on the fly image switching didn't send uaescsi.device change interrupts correctly
  if CDFS polling flag was disabled (empty drive without diskchange command)
- new dynamic hardfiles have .vhd extension instead of .hdf

Beta 5:

- version number bumped to 2.3
- few lines of non-filter scanlines was missing in bottom part of display
- audio DMA start interrupt is now immediate after starting DMA in too fast CPU modes
  (normally when audio state changes to 5), fixes EasyACDDA hang. Seems to be
  yet another audio.device bug when CPU and memory is "too fast"..

More CD related changes and updates:

- unified CD32/CDTV CD unit allocation, also internal unit number is always zero =
  GUI CD media change now work as expected
- CDTV frontpanel Stop now quits frontpanel/CD+G mode correctly
- added more obsolete SCSI commands: PLAY AUDIO TRACK RELATIVE (10) and (12) and
  PLAY AUDIO (12) (10-byte version was added in b4)
- CDTV subchannel hardware interrupt timing improved, CD+G works in cycle-exact mode now
- cd configuration code cleanups
- added mds/mdf image format (only v1 and first session, v2 appears to be scrambled..)
- cdimage0 in configuration file now disables all following units (backwards compatiblity)
  add 2 or more cdimage[0-7]= lines in increasing order if you want multiple units configured
- cue/ccd/iso/mds detection in zipped cd images stopped working
- moved 2048 to 2352 byte sector conversion code to generic image mounter code from CD32
  emulation, CD32 FMV ROM now detects VideoCDs (and then it hangs)
- mp3 cd audio: detect audio length using ID3v2 TLEN tag if it exists, assume it is CBR MP3 if
  first 100 frames have equal bit rate, fallback to original slow full file scan if no tags and VBR
- remove mp3 decoding time from audio playback delay time, keeps av sync if decoding takes less
  than 2 seconds
- FLAC CD audio tracks supported (cue/iso/flac), perhaps this will be useful in future..
  (remember to redownload winuaeinclibs.zip if you want to recompile this or future versions)
- note that currently both mp3 and flac decoding needs to finish before playback starts which
  can take few seconds on slow machines
- some XP-only CD access issues fixed, tested on VMware workstation (donated by Cloanto).
  VirtualPC sucks too much.
- when looking for cue/iso/ccd/mds inside archives: do not attempt to autodetect (unpack)
  other files. CD image archives containing audio tracks should start faster now (all audio
  tracks are still unpacked at startup but previously they were unpacked twice)

Future todo: hardware IDE (ATAPI) and SCSI emulation to CD SCSI emulation connection, no big CD
GUI updates until it has been designed. (won't be done in this beta series)

Beta 4:

- rawinput was disabled if only one keyboard device was detected, input didn't work at all
  in b3 because of null keyboard (detected only one rawinput keyboard = it was ignore but null
  keyboard was still added later -> more than one keyboard -> do not fallback to directinput..)
- redirect unknown rawinput messages to null keyboard (shouldn't happen but you never know..)
- spaces not allowed in directory filesystem volume name (wrong validation routine used)
- bottom border was half-blanked in some doublescanned modes

Another major CD update. CD configuration unified, now any CD unit "slot" can point to different
CD backend (image mounter + scsi emulation, IOCTL drive + scsi emulation, SPTI drive + scsi
passthrough) On the fly changes fully supported. CD mess is nearly gone, code is finally structured
logically without special cases. (this finally made SCSI emulation quite easy to implement)

- SCSI emulation is now the default SCSI mode (CDFS and audio tracks always work, switch to
  SPTI if you need advanced stuff like cd writing) Some audio CD players work for the first time
  now because some SCSI commands have been obsoleted long time ago like PLAY TRACK/INDEX
- CD audio DAE emulation does not attempt to play data tracks anymore
- added most common CD audio SCSI commands to SCSI emulator, OS3.5+ PlayCD confirmed working.
  Following new SCSI command added:
  START/STOP, STOP PLAY/SCAN, SCAN, PLAY AUDIO MSF, PLAY AUDIO, PLAY CD, PLAY TRACK/INDEX,
  PAUSE/RESUME, READ SUB-CHANNEL, READ TOC, MODE SENSE/MODE SELECT (cd audio volume page only),
  READ CD and READ CF MSF (only audio extraction supported + subchannel options)
- added CD audio io commands to uaescsi.device (most programs use HD_SCSICMD)
- emulated INQUIRY vendor, product and revision fetched from real device if possible

Testing:

Load your normal WB3.x configuration (that uses uaescsi.device CDROMs), start emulation
normally. (This and following betas force SCSI Emulation mode!) Report all changes,
including logs, SCSI emulation logging is enabled.

Notes:

GUI selection overrides slot 0, for example if you normally have D:\ = uaescsi.device unit 0
and E:\ = uaescsi.device unit 1, mounting a cd image "ejects" whatever is in unit 0 and
replaces it with image file.

If CD32 or CDTV is started in "autodetect" mode and it chose unit 1 or later (CD32/CDTV or
Audio CD inserted), unit 0 changes are ignored until original drive becomes empty. This
needs to be more intelligent.

Beta 3:

- most debugger options now accept .b, .w and .l size extension (+special .3 if 3-byte word),
  old style separate size values (1, 2, 3 or 4) not supported anymore
- debugger 'w' memory freeze mode improved, now also works with copper writes,
  word and long size freeze values work properly
- fixed right border corruption when horizontal centering enabled
- filesystem access problems fixed (b2, forgotten test code..)
- another "too fast CPU" hack re-added to audio code
- quickstart "disk image requires ks2.0+" message ignored A3000/A4000/CD32 configurations
- skip DMAL emulation in JIT modes
- rawinput supports rawinput packets that have zero scancode but virtual keycode set or
  null device handle (for example some software injected keys and some keyboard media keys),
  packets with null device handle are redirected to new "winuae null keyboard"

Major updates in CD related options, IOCTL access, built-in image mounter, CD32, CDTV,
uaescsi.device:

- cd rom image and IOCTL handling rewritten, unified toc and subchannel data structures
- cd drive/image selection added to harddrives panel (quickstart duplicate, temporary
  location until real CD selection panel is done.. if ever..)  Use this to switch images
  and drives on the fly, report if switching causes crashes or weird behavior.
  NOTE: only unit 0 supported in uaescsi.device mode, other units are immediately put
  to "no disk" state when this option is used for the first time.
- quickstart/harddrives CD "image mode" selected with blank select box: enable image
  drive without media
- always use IOCTL in CD32/CDTV modes
- only enumarate SPTI devices when uaescsi.device is enabled
- subchannel support added to IOCTL CDROM handling (CD+G)
- CloneCD (.ccd) CD image file support added, including subchannel files
- CD32 CD subchannel DMA channel emulated, CD+G audio CDs supported
- CD32 CD end of play notification only worked if play command was last packet sent
- many CD32 and CDTV on the fly drive/image/media change updates again
- CDTV statefile support added
- CDTV 6525 (CIA-like 3-port IO chip/interrupt controller) emulation rewritten
- CDTV CD subchannel hardware emulated (CD+G, see notes below)
- added CDTV front panel CD player buttons to input event list (they directly control
  CD mechanism and they are the only buttons that work in CD+G mode)
- "regular" CDTV remote Play/Stop/etc.. input events emulate front panel buttons when CD drive
  receives enable front panel command, sends "normal" keycodes when frontpanel is disabled
- simple SCSI emulation added to image mounter in uaescsi.device mode (no CD audio support yet)
  simple means: CDFS in SCSI mode should work with mounted images now, nothing more.
  (TEST UNIT READY, READ [6,10,12], READ TOC, INQUIRY, READ CAPACITY emulated. Audio CD commands
  will be implemented in later betas)
- added SCSI emulation option to SCSI GUI panel, enables SCSI emulation when using real drives
- uaescsi.device mounted image file changed without CMD_ADDCHANGEINT or CMD_REMOVE media change
  interrups: use long 8 second media change delay (CDFS default poll time is ~5s)

CD+G notes:

Some subchannel packets will be lost if emulation slows down too much.
CD+G confirmed working, CD+MIDI should also work but not tested.

CD32 CD+G mode starts automatically, button also in main audio CD screen.

CDTV needs extra steps: In audio CD player screen select "TV/Keyboard" icon in bottom
right corner, then press front panel Play-button, only front panel buttons are accepted
at this point. NOTE: CDTV CD+G does not (yet) work in cycle-exact mode.

CD32 and CDTV do not correctly handle all CD+G discs, it seems both miss first few subchannel
packets at the beginning.. Confirmed on real CD32 and CDTV. They do work in emulation
if playback start position is about 1s earlier than asked but this hack is disabled
because it can cause cd audio sync issues in games.

Beta 2:

- CD32/CDTV image mounting broke in b1 (can still be broken in some situations)
- new audio state machine emulation froze in some situations
- re-added "too fast CPU" hack that fixes missing sounds with sound routines that use CPU loops
  in DMA waits (also needed in 68020 "CE" mode because short loops are currently too fast)
- automatic audio switching detected idle audio when playing long samples
- CD32 statefile restore ignored possible CD image file path in statefile
- CDTV CD led flicker was practically non-existing when reading data
- (I also noticed CDTV statefile support is still missing..)
- old CD audio timecode relative track position bug fixed (CDTV audio CD player slow time display)
- built-in image mounter cd audio timecode relative track position had 2 second offset
- real cd audio cd playback asked for exclusive CD access when shared also works fine
- do not parse mounted images (cue files) twice when booting in CD32 or CDTV mode
- path update in b1 broke D3D related paths
- CDTV processing thread stalled if no drive was detected when exiting

Beta 1:

- fixed Z3/RTG RAM leaking when restarting
- D3D scanlines can be (finally) enabled on the fly
- blank right border after approximate hsync position instead of filling it with border
  color that extends far outside of displayable area
- ECS Agnus bitplane DMA state machine update, state machine advances on OCS when DDFSTRT
  matches hpos and display window is open. ECS only requires DDFSTRT match. (yaqube)
- triple/double/single buffer option was never saved to configuration file
- autovsync was broken
- "old" overlays are now masks in plugins\masks, "new" overlays are in plugins\overlays.
  (rename overlays -> masks and create new overlays directory)
- both overlays and masks can be selected using GUI (overlay position can be only
  modified by editing configuration file)
- added Automatic center option to autoscale select menu, centers image using autoscale
  parameters
- audio state machine emulation rewrite, now it is fully cycle-exact, including
  correct DMAL DMA request line delays. (DMAL logic examined by yaqube, I was too slow and lazy..)
- disk emulation DMA accesses are now fully cycle-exact, emulates DMAL and Paula 3-word FIFO
- fixed ancient bug in disk emulation that emulated remaining cycles in current line twice
  when disk event triggered (index, word sync), basically made disk rotate twice the speed
  for about 20 or so bits of data from disk
- above disk events didn't work correctly if multiple drives were selected at the same time
  (very rare situation)
- added CDROM drives to quickstart CD32/CDTV "autodetect" select menu (works on the fly too)
- cdimage0=<drive letter>:\ at startup didn't work (only worked if changed on the fly)
- rawkeyboard hardcoded F12 check ignored focus
- drive sound emulation crashed if specific sound files were missing
- non-accurate sound enabled -option removed, difference compared to 100% accurate was
  practically non-existing, also now totally useless chipset sound options removed,
  disabled but emulated is now also 100% accurate
- files inside plugins-directory will be checked from 3 locations (until found):
  plugin_path, data_path and exe_path. (fixes some path issues introduced in 2.2)

In cycle-exact mode DMA fetches happen in exactly correct positions (need more CPU power),
in non-cycle-exact modes all DMA fetches use audio channel 0 position (faster, less timing
events needed). Complete custom chipset should be fully cycle exact now (in theory at least)

All "too fast cpu" audio hacks removed except audio.device AUDxDAT write with AUDxPER=8
and then waiting for interrupt, in JIT modes interrupt code may run fast enough to enable
DMA before audio state machine has returned back to idle state. This hack forces AUDxDAT
writes with AUDxPER less than 10 to finish immediately.


2.2.0 Final

- A3000 KS 2.04 ROM odd/even pair mismatched checksums fixed
- no registry or ini data, -datapath not used and winuae.exe in Program Files
  (CSIDL_PROGRAM_FILES): set default paths to CSIDL_COMMON_DOCUMENTS

Beta 12: (RC3)

- directory filesystem action_read/action_write with length=0 special handling
  added (host OS routines may have returned weird errors in some situations)
- monitor "bezel" overlay image support added, direct3d and configuration file only.
  gfx_filter_overlay=<path>:x,y,width,height (only path is mandatory)
  x and y: position of overlay relative to top/left corner. -1 = center, value% = relative to window size.
  width and height: width of overlay image. -1 = scale to window size, 0 = use original size,
  > 0 = scale to this size. value% = scale to window size + %adjustment.
- rawinput VID and PID values didn't work under Windows XP

Beta 11: (RC2)

- DirectInput keyboard and mouse didn't work in Test/Remap mode after emulation was started
- directory filesystem GUI directory/file selection dialog remembers previous path
- floppy sound disabled channels had different volume level
- XP DX check reverted, for some reason DirectX web installer didn't install all DLLs
  (including d3dx9_43.dll) when it was released originally, seems to be fixed now
- uaescsi.device: do not send media change interrupt if actual media state didn't
  change (was possible when changing cdimage0 using uae-configuration), some
  cd filesystem versions crash(!) in this situation..., fix media detection
  when switching on the fly from SCSI mode to built-in image mounter. Note that
  on the fly device changes only works properly if CDFS uses trackdisk.device-style
  commands (not directscsi) and media change interrupts are enabled (not polling)
- cdimage0= in config file (nothing after '=') means enable built-in image support
  without media inserted, do not detect and use physical/virtual drives
- renamed pad/joystick POV pairs (1) and (2) to (X) and (Y)

Beta 10: (RC1, official release before Midsummer)

- some V(H)POSW modifications corrupted memory (AR3 for example)
- AR3 3.09 odd/even pair rom image didn't load correctly
- AR1 has never worked in cycle-exact mode
- Amiga->Windows image clipboard sharing didn't work if any IFF
  chunk (except body) size was more than 255 bytes
- removed confusing and useless Input keyboard key numbers
- GamePorts test mode list vertical centering improved
- configuration file joyportX=kbdZ/joyZ/mouseZ (where Z is larger than max available devices) was not checked
- floppy sound channel mask added, configuration file only (floppy_channel_mask),
  default is all channels. 1=left,2=right,4=center,8=sub,16=surleft,32=surright.
- keyboard input configuration slots 2/3/4 not saved if slot 1 contained port
  configuration and stored slot 1 was mapped to default keyboard key
- configuration.backup and configuration.cache remembers hidden file attribute

Beta 9:

- "megachip" was added even if disabled (was fixed in b8 update)
- fixed DX detection on XP (was fixed in b8 update)
- removed "*" from DirectInput keyboard and mouse name strings
- uaeunp/virtual archives: if input file was inside archive and it had multiple output
  files (most raw disk image formats can have .ima, .adf and .ext.adf output files)
  only first supported file was listed. Plain files worked correctly.
- added "scanning ROMs" dialog
- fixed old memory corruption bug if rom scan data has single rom from odd/even pair
  (unpaired rom removal code was buggy)

Beta 8:

- Z3Chip is not a Z3 board anymore, now also compatible with KS 1.x (don't forget that
  32-bit addressing capable CPU is required)
- rawkeyboard RIDEV_NOHOTKEYS flag was missing (Disables Windows keys etc..)
- GamePorts remap/test GUI updated
- GamePorts remap when in Configuration#x mode didn't update GamePorts input mappings
- data in GamePorts overwritten Configuration#x slot 1 is stored in hidden slot 5, also
  saved to configuration when needed (not backwards compatible with old versions). Now
  you can load old configurations in Configuration#x mode, set GamePorts to <none> without
  losing original input configuration data in slot 1.
- added key label to keyboard configuration data, not used for anything yet (compatible with
  old versions, old versions simply ignore it)
- added supported archive extensions to CD image dialog's file type list
- DX SDK updated (June 2010), d3dx9_xx.dll version bump -> DX runtime update required...
- added stupid looking vid and pid values to rawinput keyboards and mice, makes it possible
  to distinguish multiple mouse or keyboard.. (instead of "HID Keyboard Device [n]" x N that
  change position if you remove or add any keyboard-like device, including bar code readers)

Important: if you have configurations with Configuration#1-3 set, please do following tests:
(There is no way I can test all possible combinations)

Test 1: Load configuration file, set both mouse and joystick port to <none>. Check that all
mappings are still 100% correct. NOTE: remember that Keyboard* and Mouse* are gone if you have
rawinput compatible mouse and keyboard (most likely). Keyboard or mouse mappings disappearing
due to this rawinput change is not a bug.

Test 2: Play with Game Ports mouse and joystick settings, add random custom mappings, whatever
(You can keep checking Input panel if you want) and then set them back to <none>. Mappings
should still be 100% exact same as when configuration was originally loaded.

Test failed -> email or attach original configuration and include short problem description.
(what test phase, what you did, what happened)

Beta 7:

- do not center horizontally if there is no bitplanes enabled (result was very badly aligned
  screen, normally not visible but if there are background color changes or sprites..)
- input config backwards compatibility fix, old versions read GamePorts mode as Configuration#4
- huge brown paper bag bug fixed, in some situations INTREQR can return bit 15 set.. (fast CPU
  modes only, introduced in earlier 2.x release)
- do not emulate hpos offset in non-cycle exact modes, JIT mode can return hpos/vpos value pairs
  that are not normally possible (and so far only some A500 programs require hpos offset = vpos
  increments when hpos equals 4, not when hpos equals 0)
- audio filter emulation didn't always follow power led state correctly
- emulate fire and left mouse button contact bounce (no 2nd and 3rd because they are connected to
  POT capacitors) Fixes Spacestone which waits for button release and then immediately checks
  button state again.. I guess coder had really bad joystick firebutton, planet selection works
  quite unreliably on my real A1200 :) cycle-exact only
- NTSC disk timing was not fully compatible with RNC Copylock
- b6 wordsync change reverted, another hopefully better tweak added
- joystick button pullups removed, this will break some games' second joystick button read routines
  but it has to be done because they wouldn't work on real Amigas with standard joystick either and
  this workaround also breaks some other games that don't expect pullups (Dick Tracy for example)

- another big input change, Game Ports settings are now always merged with currently selected
  input configuration (possibly overwriting event that was manually configured in slot 0)
  In other words, Game Ports panel settings are now finally working as expected by most users
  instead of only confusing most users :) Just select your gamepad/joystick using GamePorts panel,
  select Configuration#1 and remap remaining extra buttons, should be simple and easy enough now.
  
  This also means old Configuration#x configurations now have Gameports mappings merged when loaded.
  (which most likely is something you don't want) Workaround: set GamePorts settings to <none>
  Hopefully some kind of automatic fix is possible..

- GamePorts mapped Configuration#x events are marked as [PortX] in Input list where X is port number.
- GamePorts custom configuration in Configuration#x mode also supported.
  NOTE: configuration files that have GamePorts customized Input Configuration#x's are not
  backwards compatible
- renamed GamePorts port 0 -> port 1 and port 1 -> port 2, now same as input target port numbers
  (1 = "mouse" port, 2 = "joystick" port, 3 and 4 are parallel joystick adapter ports)
- do not add default mappings to Configuration#x joysticks and mice (not needed anymore)
- automatically disable empty devices in Configuration#x modes
  
  Just ask if you have any questions or suggestions. Input configuration is never finished :)

Beta 6:

- CE-mode CIA interrupt delay decreased by 1 CPU clock cycle, tst.b CIAICR immediately followed
  by move.w #x,INTREQ didn't clear the interrupt in some situations
- disk DMA used generic memory access routines, not chip access routines (could DMA to/from
  any memory address, not just chip ram)
- "Z3 fake chip" added, "unlimited" chip ram size. (technically it adds another z3 fast ram
  board that UAE boot rom changes to MEMF_CHIP|MEMF_PUBLIC|MEMF_LOCAL and removes normal chipset
  DMA addressing limits)
- two directory filesystem crash fixes (related to opening non-existing files or directories,
  broken during C++ conversion)
- CD32 state restore didn't work if CD32 configuration was not pre-selected
- save POT capacitors' charge status to statefile
- disk read DMA wordsync should not skip first syncword if bit stream is already aligned
  (Starglider 2 original)
- on the fly cycle-exact switching broke few betas ago
- use early blitter finished state emulation only in 68000 cycle exact modes, 68020 "CE" can
  execute blitter busy check followed by write to blitter register really too quickly

Beta 5:

- autovsync was broken in b3
- added NTSC checkbox to Quickstart panel
- use DirectInput keyboard if rawinput keyboard is not found, same with mouse.
  (do not disable both if only mouse or keyboard is found like in b4)
- DirectInput keyboard and mouse didn't work in Test/Remap modes
- Gameports remap keyboard configuration was not loaded correctly
- Write Allocate 68030 data cache bit emulated
- better "too fast" 68020 CE interrupt workaround
- CD32 CD on fly media changes fixed (both internal mounter and real/virtual drives)
- CD32 CD unknown command handling modified (Last Ninja 3)

Last Ninja 3 NOTE: game only works if CD is inserted after CD32 boot screen! (Real CD32 confirmed)

Beta 4:

- keyboard input configuration didn't load correctly (was overwritten by default mappings
  or mappings were completely erased)
- if at least one rawinput keyboard and mouse is found: skip directinput keyboard and mouse
  enumeration. Prevents stupid side-effects if both are used simultaneously, for example fullscreen
  and directinput keyboard enabled: rawinput stops getting any input (and technically directinput
  is less direct than rawinput, it is only good for joysticks/pads today)
- fixed possible division by zero in new power led code
- statefile_quit=<path> configuration file parameter added, automatically saves state to <path>
  when emulator is quit normally
- CPU speed and advanced chipset configuration stored in statefiles
- in some situations full-window mode tried to use vsync frame wait (which did nothing and caused
  warp-mode like speedup)
- added toggle fullwindow<>fullscreen and fullwindow<>window input events
- yet another sprite update, Total Perspective Vortex / Frantic background smallest sprites
  missed last line of data

WARNING: Configuration files saved with previous 2.2 betas won't be fully compatible with later
versions. Keyboard input data is handled slightly differently (no more "super" keyboard that
gets all keyboard input), beta 1-3 written config files may not have all keyboards enabled if
Configuration #1-#3 mode is enabled. Older configuration files should work correctly.

Beta 3:

- added XZ compressed file support
- Paths panel "Reset to defaults" was unreliable if more than 3 choices was available
- mouse horizontal wheel (HWheel) works in raw mouse mode, it is now always listed because
  for some unknown reason RID_DEVICE_INFO_MOUSE.fHasHorizontalWheel is always false,
  even when mouse has working horizontal scroll wheel
- fixed unreliable device switching in input test/remap mode
- fixed CD32 extra buttons not automatically getting enabled when joystick/pad was in
  "default" mode
- "default" was changed to "joystick" or "mouse" when switching between device types
- CD32 default button change, Red and Blue buttons are automatically read as a fire
  and second button if pad is read in standard 2-button mode (previously they did nothing
  in normal mode, required fire and 2nd button mapped)
- CD32 2-button mode 2nd button (CD32 Blue button as 2nd button) fixed, never worked previously
- Game Ports Test mode now shows mappings that have multiple input targets
- added "toggle" autofire mode to ports panel
- D3D "none" filter allows again all filter setting adjustments

Beta 2:

- reverted filesystem indirect memory change, it can't never work because filesystem
  is running in a separate thread
- rawkeyboard extended key fix (Pause-key)

Beta 1:

- less hacky cue/iso selection priority handling inside archives
- autoscaled top border was incorrectly positioned if program had always-on bitplane DMA
  and first background color change was later than vertical bitplane DMA start position
  (Shadow of the Beast)
- do not enable OpenAL or PortAudio support by default (there are some bad OpenAL drivers
  that crash when enumerating devices...)
- save also rom checksum to configuration files, configuration file checksum is now used to
  find rom path from rom scanner data if path stored in config file does not exist
- removed Windows 2000 compatibility code (mainly RTG guard page stuff)
- D3D mode is more compatible with crappy Intel integrated GPUs that have hardware pixel shader
  but only software vertex shader support (scanlines and shader filters should work now)
- WASAPI and PortAudio sound volume control supported
- 7zip support moved to static link lib, updated to latest LZMA SDK, PPMD supported
  (no XZ because currently only plain XZ (de)compression appears to be supported in SDK)
- static png and zlib libraries updated to latest versions
- virtual directory drive fake block device geometry and block size set to non-zero values
  to fix sys:system/format division by zero crash when started from WB
- cycle exact custom cpu frequency calculation fixed
- remove non-existing paths in disk history when selected (not automatic because they might
  point to non-existing network shares = "unexplained" slowdown at startup possible)
- 68030 instruction and data cache "cycle exact" emulation code added, (68020 and 68030
  caches are slightly different 68020's cache is 64*1 longs, 68030's cache is 16*4 longs).
  Data cache can only cache fast ram and rom. (MMU is normally used to prevent IO and
  chip ram data caching) Because native expansion code (bsdsocket etc..) bypasses the cache,
  if there is emulated cache hit, data in memory is compared with data in cache and real
  memory data is used instead of stale data in cache. (test read is direct access, it does
  not mess up timing). This also means you will have problems if you use old "68030 cycle exact"
  configurations, this mode was never supported. Not that this new mode isn't any better..
- made 68020 "CE" NOP slightly slower (move.w to somewhere followed by NOP: write must be
  complete before NOP finishes, Roots 2.0 / Sanity globe effect)
- Roots 2.0 / Sanity "flower zoomer" part gaps fixed (BPLCON4 color change has 1 lores pixel
  delay compared to direct color register write. AGA-only feature)
- sprite emulation change, removed few lines of code that was not needed anymore (I hope..), this
  fixes missing bottom part on Roots 2.0 / Sanity "flower zoomer" part
- directory filesystem uses now indirect memory access (read&write is still direct, no performance
  loss + cache flush if in CE030 mode), better compatibility with dcache and MMU (other modules
  will follow)
- 68020 "CE" mode movem and some other instructions used direct memory accesses instead of
  cycle exact fetch modes (=was too fast if accessing chip ram)
- power led fade hack emulation improved
- -disableharddrivesafetycheck command line parameter disabled, it is not needed anymore
  (it was made when there was no "is drive mounted in Windows" test) This parameter has
  also become THE FIX for every, even totally unrelated possible, HD/CF related problem...
- toggle between fullwindow and fullscreen if started in fullwindow mode
- fixed data corruption in input parsing if mapped key did not exist (different keyboard)
- transparent archive support updates and handle leak fix
- small filter panel GUI changes
- single/double/triple buffering option added to Display panel, also affects D3D now mode now
- enabling any "raw" input device disables all "super" devices if they have same device class
  (and vice versa) For example "Windows mouse" enabled, enable "raw mouse" -> "Windows mouse"
  gets disabled.
- GUI treeview and listview "hot underline" mode enabled
- missing input keyboard name and status lines added to configuration file
- Game Ports panel settings does not use special case handling anymore, input panel slot #4
  is now "Game Ports" configuration slot, all gameports panel settings are always converted to
  this slot. (slot #4 because I didn't want add new slots and slot #4 is most likely to be free)
- slot mentioned above is used to store new easy to use new game ports input mapping
- added "Test" and "Remap" buttons to Input panel, both temporarily enables all input devices,
  disables GUI and waits for any input, when input event is received, input device and event
  type gets selected automatically. "Remap" exists immediately when any event arrives, "Test"
  stays active until F12 is presed. (or if GUI window becomes inactive)
  Only "raw" devices detected (for example "super mouse" and "raw mouse" don't really play well
  together)
- GUI listviews remember old cursor positions
- default caps lock key input configuration was incorrectly saved to configuration
- easy joystick remapping support finally implemented.
- autofire checkboxes added to gameports, sets/disables fire button/CD32 red button autofire,
  autofire rate modified, it is much faster now (test games and report) 

Quick instructions for new Game Ports panel remapping function:
- First select type of Amiga side device (mouse/joystick/analog joystick etc..).
- "Default" device type = mouse in port 0, joystick in port 1.
- Click Remap and the rest is near automatic :)
- Click Test to check and test current device type mapping (both built-in and remapped).
- F12 = exit, F11 = skip current event (jump to next event without mapping)

NOTE:NOTE:NOTE: Answer is still the usual: "Use Input Panel" if you want something more complex.
This is the QUICK and EASY solution for most commonly needed joystick remapping.


Final 2.1.0

Beta 25 (RC3):

- CD32/CDTV NVRAM led (DF3) works again
- Windowed mode status bar "leds" show activity status again in all Windows versions (SBT_POPOUT status bar
  flag for some reason stopped working in XP non-classic theme and later Windows versions)

Beta 24 (RC2):

- do not use waveOutSetVolume() in CDTV/CD32 CD audio routines, for some weird reason (legacy backwards
  compatibility..) it also adjusts application's global volume setting.. CD audio volume control is now
  handled by modifying sample data directly.
- expand environment variables ("%var%") in configuration file and command line paths

Beta 23 (RC1, max 1 week left for possible bug reports):

- SPS library return code check added, show notification if selected image requires newer library version
- Quickstart DF1: and CD localization fix
- beta warnings disabled

Beta 22:

- PAPEROUT and BUSY was not always forced inactive, usually preventing printing if program directly poked printer port hardware
- fixed epson emulation graphics printing again, 9-pin graphics gaps fixed, added some missing 9-pin only commands, graphics
  (both b&w and color) confirmed working. Should be perfect now :)
- added shield icon to "Add Harddrive" button (which does not do do anything, shows only admin privileges requirement)
- Vista+ file dialog multi selection fix (broken since Vista/Win7 file dialog support was added)

Beta 21:

- Epson printing updates (score positions, superscript, color support etc..), -pngprint added to select print to png image mode
  (Epson emulation only)
- CDTV 2336 sector (Mode 2 Form 0/2) read offset fix, built-in cue raw read (2336 and 2352 sector size) support added
- parallel_port configuration entry set to "default" = select system default printer
- cdimage0 pointing to image file and uaescsi.device set in configuration: mount image on uaescsi.device:0 in basic non-scsi mode
- cdimage0 configuration option now also accepts CD drive letter (in "X:\" format) and if set, only selected drive is mounted on
  uaescsi.device:0. All other drives will be ignored

Beta 20:

- winuaebootlog.txt incorrectly listed WASAPI sound devices as PortAudio devices
- raw keyboard enumeration stopped after first keyboard was found
- raw keyboards are now always enumerated (previously -rawkeyboard was required), also they can be enabled and remapped separately.
  F12=GUI hardcoded to prevent completely getting locked out of GUI (for example by disabling all keyboards)
- -rawkeyboard does not anymore disable directinput keyboard enumeration, it only disables dinput keyboard and enables all raw keyboards.
- automatically switches to raw keyboard mode if directinput enumeration returns unexpected keys
- Epson printer emulation improved. Does not anymore require freetype libraries or extra fonts. Outputs to printer directly,
  automatically uses printer's resolution internally. Old-style Epson text justification command emulated (left/right/center/full)
  (Note that this isn't "real emulation", text output is always high-quality, only bitmap graphics output looks ugly)
- parallel port sound sampler emulation implemented, input selection in IO Ports panel (DirectSound sources only).
  Sound quality is not good enough (syncronization implementation is crappy), mono only.

Beta 19:

- fixed random D3D RTG ALT-TAB crash if hardware mouse cursor was enabled
- fixed swapped sound channels if stereo separation code path was used, bug since stereo separation was implemented
- internal sprite DMA pointer bit 0 was not cleared
- _winuae.fx shader file is now built-in, will be written to plugins directory if directory is writable and
  file does not exist. File will be used as long as version in first line matches (if you want to do some shader experiments)
- winuae <file.cue or file.iso> will internally convert to cdimage=<file.ext> (not very useful currently but if someone
  wants to associate cue or iso extensions)
- added "quickstart=<model (a500,a500+,..)>,<subtype (0-n)>" configuration file option
  (probably only useful as a command line parameter, at least for now) More useful in future, perhaps..

Beta 18:

- fixed blank RTG fullscreen 8-bit modes if "Match host and RTG color depth if possible" was enabled
- D3D RTG performance improved when whole screen gets refreshed (see below for more info)
- fixed original extended adf (factor 5 images) handling (broke in b11)
- command line parsing heap corruption fix (2.0.0 bug but only caused problems randomly)
- added "minimize when focus is lost" option to misc panel
  (for example if you want to emulate fullscreen alt-tab in windowed or full window modes)
- always capture mouse when fullwindow mode gains focus (like real fullscreen mode does)
- D3D Null filter does memory copy again because it might be faster (D3D internally uses "doublebuffered"
  textures if it is told that texture data will be completely rewritten. This prevents GPU stall if previous
  frame is still being rendered)

Beta 17:

- right mouse button popup menu disk changes fixed, added "copy from dfx:" options
- possible D3D performance improvement when updating screen only partially
- CE mode crash fix when display updating is disabled (Scroll Lock)
- CDTV: return CD error status immediately when program attempts to play non-existing cd audio track
  instead of relying on CD backends to notice the error (Psycho Killer CDTV)
- do not show inserted CD32/CDTV quickstart CD image in floppy drives panel (currently cd image is quickstart-only)
- added "save screenshot to clipboard" input event (previously only save to file was possible)
- some statefiles didn't select correct refresh rate (PAL/NTSC) when restored
- added small delay to RTE instruction in 68020 CE mode because MOVE.W #x,INTREQ; RTE; currently executes too quickly,
  faster than emulated IPL lines change state causing interrupt to start again after RTE
  (another case of improving one part of emulation breaking lots of programs because not directly related part is not exact enough..)

Beta 16:

- implemented feature that makes selecting image from multi disk programs faster and easier.
  When multidisk image is in disk drive, right clicking on "Select disk image" will open menu
  that lists all detected disk images (+including all normal "favorite" menu options)
  Also added previous and next disk input events.
  Currently supports following disk number naming conventions:
  "*(disk x*", "*<a-z/A-z/-/_/ >x.*", "*_a.*", "*-a*", "*<a-z>A.*"
  (x = number 1 to 9, a = a-z/A-Z, A = A-Z, ? any character, * = anything)
- D3D vsync in interlaced modes was erratic (bug since the beginning)
- added "GamePorts" to "Copy From" option in Input panel that merges Game Ports panel mouse and
  joystick configuration with current non-compatibility input configuration, also possible old
  keyboard layout Game Ports panel mappings will be replaced with default keyboard mapping
  Nothing is remembered, slot 1 mappings are simply overwritten with new mappings.
  
Beta 15:

- D3D filter does not scale anymore in "no filter" mode to prevent confusion when switching
  between D3D and DD. D3D null filter does not waste CPU power anymore.
- RTG 8bit to non-paletted mode switch in fullscreen didn't always select correct color
  space conversion mode (older bug)
- fixed D3D 16-bit only "vertical scanline effect" introduced in b14
- onscreen led on/off configuration problems fixed
- restoring NTSC state files work again (broken when NTSC long/short line emulation was introduced)
- PAL/NTSC configuration saved with statefile (I guess this was forgotten long time ago..)

Beta 14:

- old non-shader direct3d mode is back (if you have really old card)
- do not create big tiled overlay texture if overlay texture size is same as original
  image size (hardware did not have texture size restrictions), sampler can then do the tiling
  automatically without seams (only if shader 2.0+)
- always align overlay mask top/left corner 
- updated about links (back2roots not removed, probably comes back sooner or later..)
- RTG vblank interrupts didn't work in all situations (older bug, guru when switching to RTG mode)
- fixed incorrect colors in some RTG modes (both DD and D3D)
- fixed major (in some situations) JIT performance loss introduced in b8
- READ THIS: You MUST delete old winuae.fx and winuae_old.fx and use new versions included
  with this beta

Beta 13:

- version bumped to 2.1.0
- 1620b10 broke 68020 RTE "Throwaway frame" emulation (Quik The Thunder Rabbit CD32)
- warp mode on the fly change fixed
- only check for configuration file changes (current vs changed) when needed, not
  every frame (some on the fly changes may be missed now, report if found)
- b12 "no scaling" in directdraw was wrong, scaling isn't going to be removed.
- blurry D3D RTG hardware mouse cursor fixed
- p96refresh works again (broke few betas ago)
- filesystem still had one missing unicode<>Amiga charset conversion (in some
  situations caused wierd errors when creating new files with file name
  including non-ISO-8859 charsets)
- cyrillic charset (1251) Amiga-side charset support fixed (more or less broken
  since unicode update but it only worked accidentally previously)
- fixed JIT filesystem slowdown introduced few betas ago
- fixed RTG directdraw fullscreen alt-tab blank screen


Beta 12:

- VPOSW/VHPOSW "fake" 60Hz support rewrite, ugly hacks removed, this also
  fixes possible odd/even field mismatch when program initializes interlace
  by writing to VPOSW (only clearing or setting LOF-bit, not attempting to
  do "fake 60Hz)
- JIT checkbox fixed (broke during 64-bit compilation fixes)
- Prowizard PM20 fix (Asle)

Big Direct3D change:

- more gfx subsystem unification. Direct3D is now fully shader based.
  Overlay and scanlines are done with pixel shaders, also overlay is not scaled anymore.
  Overlay and pixel shader filters are now compatible.
  PS 2.0 capable display card required. (PS 1.0 should also work)
  Scanlines and overlays can't be used simultaneously. (Easy to do with shaders but why?)
  Horiz and vert positioning works without filter enabled.
  Point/bilinear setting works now when shader filter is enabled.
  Direct3D and Null filter: wastes only CPU power, do not use. (will be fixed later)
  Currently included winuae.fx/winuae_old.fx must be in same directory as winuae or in shaderfilters
  directory (later it will be built-in. winuae_old.fx = PS1.x compatible shader)
  If you have problems: include graphics card model, Windows version, winuaebootlog.txt and winuaelog.txt.
- RTG D3D changes: full Direct3D mode support, hardware sprite is D3DSprite.
  DirectDraw still supported but only in basic mode (no hardware cursor, no scaling etc..)
  Direct3D is so much simpler and easier (automatic scaling, transparency, clipping)
  Currently D3D scanlines and overlays are also applied to D3D RTG screens which may not be what you want...

- NOTE: some older cards or drivers seem to have random problems that come and go between restarts, configuration
  changes etc.. Report Windows version, card name and driver version when this happens. (when this happens there
  are no error messages in the log and only on screen leds are visible, it is some other problem if error was logged)

- removed paletted (256 color) mode support completely (no functional changes because native modes haven't supported
  it for ages and RTG modes have used 16/32-bit modes and transparent color space remapping since 1.6)
- Direct3D selection moved to misc panel (D3D isn't filter specific anymore)

Beta 11:

- hpos "offset" was accidentally changed (DFF006 = 0000 is possible)
- .cd32 rom file extension added (missed when .a500, .a1200 and .a4000
  was added long time ago)
- b10 interrupt issues at least partially fixed (freezing or crashing demos)
- code cleanup, compiles as C++ now (do not worry, this is not "just add
  hundreds of casts to make it compile") This project has gotten so big
  that plain C is making things painful (for example archive filehandling
  would be less messy if written properly in C++, core emulation works fine
  in C, also future wxwidgets GUI is now at least theoretically possible..)
  This should also make portability simpler, easier to have better
  "insulation" between portable and OS specific code. Anyway, nothing
  really changes until (much) later..
  Random things can be broken! Report all kinds of undocumented changes
  compared to previous betas and 2.0.1.

Beta 10:

- CE interrupt handling timing rewrite, again, to better match real
  behavior (still not good enough but better than previously)
- only accept winpcap version 4 or newer
- match autoscale left position to WB max overscan size (maybe in
  future there will be "TV"-option that restricts to 1990s TV overscan)
- accept all kinds of DI8DEVCLASS_GAMECTRL devices, not just those that
  have gamecontroller-like device type

Beta 9:

- CE 68000 interrupt handling update, Spectre Party Demo /
  Phenomena works without jumping 
- autoscale left and right border position restricted to sane max
  overscan values
- enabling autoscale changed filter mode to scale2x
- autoscale detects COLOR00 (background color) changes outside of
  bitplane area 
- do not enumerate drives if every "Include .. drives" is not ticked
- CD32/CDTV crash fix (IOCTL CD crash) (b8?)

Beta 8:

- do not use D3D9Ex if no v3 shader or dynamic texture support
  (workaround for some older cards that may not be fully compatible)
- added workaround for weird display drivers that don't allow changing
  to 50Hz Direct3D fullscreen but accept it if identical directdraw
  fullscreen mode is already open
- 68000 exception3 quick fix (Zoom)
- CE 68000 CIA cycle timing updates (was too fast)
- warp mode was slow in windowed D3D mode (b7)
- selected dostype in create hardfile panel was ignored if hardfile
  type was dynamic
- added filter panel overlay/mask selection, put overlay/mask files
  in <path>\plugins\overlays
- DMS files with fake complete first cyl (containing BBS ads) didn't
  unpack correctly. Support HD DMS files (not tested)
- CE interrupt handling rewritten (still not good enough)

Beta 7:

- Direct3D errors didn't properly reset back to non-D3D mode
- pixelshader filter configuration save/load didn't work
- window was closed and opened when some filter parameters changed
- use Direct3D9Ex when running on Vista/7 or newer (direct3d is
  now in C++ because D3D9Ex uses inheritance and "emulating" it in
  plain C is not worth the pain)
- less tearing in non-vsync D3D fullscreen mode
- added support for D3D mask/overlay image files (config file only,
  gfx_filter_mask=<path>) Automatically tiled if image is smaller than
  display size, uses D3DX function to load image files, .bmp, .dds,
  .dib, .hdr, .jpg, .pfm, .png, .ppm, and .tga supported
- skip frames in D3D vsync mode when turbo is enabled
- WinXP center dialogs in fullscreen mode works now properly
- clear D3D mode borders if screen is larger than Amiga display window

Beta 6:

- filter panel GUI issues fixed
- arcadia quickstart incorrectly enabled CD mode (b5)
- directory filesystem ERROR_USER_MAPPED_FILE mapped to OBJECT_IN_USE
- directory filesystem: complain about unimplemented error(s) only once
- unminimize changed display size (update to b4 fix)
- window resize was ignored unless both width and height changed (b4)
- OSD had extra gap in right border (b1)
- D3D fullscreen handling update, device loss handling improved,
  possible ALT-TAB weirdness should be gone now, D3D debug runtime
  warnings fixed

Beta 5:

- save cdimage path to statefile (if set)
- cdimage on the fly change support (CD32 CD detection may not always
  notice it without reboot, something wrong with detection)
- cd images inside archives supported but all tracks will be unpacked
  before emulation starts = do not use with big images.. (this is
  something that can be improved someday..)
- GUI added (quickstart only). "Automatic" and "Image file" does not
  really do anything, only tries to show that real CDs are still
  autodetected like in older versions..
- disk image selection always used DF0: (b4)
- replaced advanced chipset blitter busy bug checkbox with A1000 Agnus
  (DIP package 8361/8367) because there are more differences, first
  vblank strobe is triggered on line 1, not line 0.. (Alcatraz Megademo
  2) Perhaps someday this gets moved to main chipset panel.. Thanks to
  yaqube for finding this hardware "feature" accidentally :)
- more 68000 CE interrupt timing changes

Big DirectDraw/Direct3D change. Anything can be broken..

- Direct3D filter mode is now a checkbox, there is now DirectDraw
  and Direct3D "render backend" (instead of DirectDraw and D3D
  filter hack) All software filters are available in both modes
  (of course pixel shader filters only in D3D mode) This is part of
  graphics subsystem unification, RTG is still DirectDraw only.
- point/bilinear setting moved to filter extra menu
- 16bit/32bit setting removed, uses desktop/fullscreen depth, selects
  16bit if selected software filter is 16bit only (and lets D3D do
  the conversion automatically)

Beta 4:

- ADDX and SUBX timing updates
- ABCD and SBCD idle cycle position in -(An),-(An) mode fixed
- EXG idle cycle and prefetch swapped
- BCLR/BSET/BCHG/BTST idle cycle and prefetch swapped
- writing to blitter registers while active could have confused
  blitter emulation logic, stopping the blitter mid blit (stopping
  because emulation got confused, not because emulation detected
  situation when it should really stop)
- plain A500 OCS/ECS byte writes to custom registers fixed (I think
  this was using 68020/AGA behavior for all modes accidentally)
- interrupt delay and 68000 IPL sampling timing improved
- windowed mode window was sometimes incorrectly detected as resized
  when it only lost focus (native mode size was changed to current
  window size)

  Big CD32/CDTV CD handling update:

- stupid MCI CD32/CDTV CD audio replaced with simple "audio ripper"
  that reads the digital CD audio data and sends it to audio device
  NOTE: no jitter correction yet (possibly bad sound if your drive
  is old enough to not have accurate streaming support)
- CDTV CD hardware volume control now supported
- CD32 CD mute on/off "volume" control supported (no real volume..)
- Sound-panel volume also adjusts CD32/CDTV CD audio volume
- CD32/CDTV Q sub channel data virtualized (does not need real drive
  anymore, makes new things possible, see below)
- Built-in CUE CD image support, including CD audio track support!
  .CUE + single big .BIN and .CUE + .BIN + .WAVs supported (MP3 audio
  is also supported if you have mp3 codec installed but all tracks will
  be decoded before emulation starts..) Most common data tracks
  supported. Plain iso images also supported.
  Problems = logs AND .cue file required.
  cdimage0=<path to .cue/.iso> in config file, command line parameter
  -cdimage=<path to .cue/.iso> can also be used.
  No GUI support yet.

Beta 3:

- Shadow Fighter AGA graphics priority issue really fixed now
- COPJMP cycles in DMA debugger shown correctly, no functional
  change (after COPJMPx access copper does dummy move cycle before
  COPxLC changes, dummy data and addresses shown now correctly)
- show CPU access type (byte, word or long if 32-bit bus) in DMA
  debugger. TODO: separate instruction and data fetches without
  slowing everything down..
- added DMA channel names to DMA debugger (COP, BLT etc..)  
- few hours of boring logic analyzer CPU cycle usage checks..
- 68000 AND.L, OR.L, EOR.L, ADD.L, SUB.L also write data in reverse
  order (like NOT.L, CLR.L and NEG.L do, R+0, R+2, W+2, W+0)
- CMP idle cycle and prefetch swapped (previously only CMPA)
- AND/OR/EOR/ADD/SUB #x,Dn idle cycle and prefetch swapped
- ADDQ.L #x,An had wrong cycle count
- 68000 interrupt startup cycle counting updated
- MOVE address error handling may be temporarily broken
- 68020 ce-mode cpu chip bus access used a500-like timing
- above changes seems to have fixed some demo glitches

Beta 2:

- ioctl cd drive detection corrupted memory if more than 8 drives
  found
- removed remains of old and wrong OCS Denise "bug" emulation
- 2.0.1 OCS Denise update diw counting bug fixed (Stardust map selector)
- eat relative mouse movements while mouse driver mode is active
- "blitter active while saving state" compatibility updates
- fixed buffer underflow in sprite code if sprite was really far and
  hidden in left border, it overwrote part of dual playfield priority
  tables causing weird effects in dpf modes (Shadow Fighter AGA)
- removed some code duplication from dpf mode genlinetoscr.c
- prowizard promizer18a update (Asle)
- CD32 pad emulation improved, CD32 Roadkill "non-standard" way of
  reading buttons works now
- do not scan files in floppy history at startup (=scan and add
  possible disk images inside archives)

Beta 1:

- prowizard is now in static link library (no functional changes)
- update HDIW=0 or 1 OCS Denise feature, after more research (thanks
  to yaqube for finding real technical reason), OCS Denise hdiw counter
  does not reset from last line of previous field to line 9 causing
  "random" positions to match both start and end of hdiw, including
  normally unavailable positions. This was fixed in ECS Denise.
- sometimes cpu frequency was reset to 1000000, now it resets to default
- set "A500 speed" automatically when switching to cycle exact on the fly
- renamed "Match A500 speed" to "Approximate A500 or cycle-exact A500/A1200"
- fixed rare sprite bug introduced in 2.0.0
- DF3 on screen led reused as internal nvram read/write led in CD32/CDTV
  modes
- filter presets were broken
- replace possible illegal (not in Amiga charset) characters in directory
  filesystem volume and device names, truncate to 30 characters if longer
- fixed random Direct3D filter garbage when on screen leds enabled and
  sometimes even when osd was disabled
- changed filesystem thread priority back to highest (+2), same as before
  2.0, it seems +1 isn't enough in all systems (slow fs performance when
  main thread is using all CPU time)
- removed broken URLs in about panel
- fullscreen and windowed file dialogs have separate position and size
  settings (Vista and newer only)
- attempt to center file dialogs in fullscreen mode (XP only)
- caps lock key supported in key mappings, toggle should be usually
  enabled if you are mapping host non-caps lock key to Amiga caps lock
- hardcoded keys (pause, scroll lock etc..) automatically disable
  hardcoded mapping if it is mapped in input panel (END + mappings are
  not disabled)
- num lock or scroll lock mapped to amiga caps lock -> follow led state
  (just like host caps lock key mapped to amiga caps lock key)
- filesystem charset conversion fallbacks added, ISO-8859-15 ->
  ISO-8859-1 -> windows-1252 -> current Windows codepage (not all XP
  installations have all charsets installed by default, last 2 can have
  problems with national characters but it is better than nothing)
- closing GUI debugger window won't close the emulator anymore
- rar unpack crash fix

2.0.1

Beta 3: (RC1)

- emulate OCS Denise "bug", vertical DIW already active, matches again
  with horizontal start DIW=0 or 1 -> DIW stays inactive until next
  frame. (Kefrens Megademo 8, Snake Bite part)
- emulate ECS Denise (and AGA) "bug fix", horizontal start DIW=0 or 1
  gets ignored. (=b2 fix -> ECS Denise/AGA only)
- sometimes sprite was visible even if bitplane DMA should have
  disabled it (older bug)
- ECS Denise DENISEID register returned 0x00FC, correct is 0xFFFC

Beta 2:

- if rom load fails, try to find matching rom file using rom scanner
  data by comparing file names without paths
- improved file/directory name Amiga<>Windows conversion 
- hide directory filesystem file/directory names if they have characters
  that do not exist in Amiga charset (again, was accidentally changed in
  1.6.0), they would have been inaccessible anyway
- non-tablet mouse driver mode was not enabled without magic mouse
- fixed potential crash in mouse driver mode
- "capture before filtering" not enabled mode was broken (b1)
- DIWSTRT hpos <=1: DIW state machine does not change (stop hpos >
  max was emulated long long time ago)

Beta 1:

- blitter linedraw onedot mode was partially broken in non-ce modes (2.0)
- old off-by-one sprite error fixed, was recently triggered in 2.0 final
  causing (usually) random display interference (2.0)
- avioutput "capture before filtering" option
- screenshot "before filtering" option
- manual avioutput fps selection removed, automatic now
- tar archive support (was supposed to be in 2.0)
- recursive archive engine improvements and fixes
- only accept unrar.dll version 4 or newer

2.0.0

- blitter linedraw onedot mode sometimes wrote to memory even if pixel
  was written in same line previously
- sprite DMA start and stop positions were not checked if DDFSTRT would
  have disabled the sprite
- copper wait and skip must not use odd cycles (last/first cycle "border")

Beta 26: (RC4)

- in some specific cases copper didn't use its allocated cycle
  because it thought it was reserved for BPL DMA (broke in early
  2.0 betas. Rebels Megademo "Made in Sweden" part)
- CPU writes to COPJMPx caused copper to start fetching instruction
  words instantly, using same cycle as CPU. Added 1 extra copper idle
  cycle if COPJMPx was written by CPU (harmless, caused only DMA
  debugger warnings)
- 68020 CE emulation become very slow if most accesses were cache hits
  and froze if all acceses were cache hits

Beta 25: (RC3)

- directory filesystem parameter (label, bootpri, rw) changes were
  ignored unless device name was also changed (b22)
- BPLCON0 change was partially ignored if hpos was >= e0 (b17)
- disable JIT when cycle exact is ticked in GUI
- added Quickstart Arcadia ROM selection (lists all roms)
- random jumping single black scanline bug finally fixed (variable
  that was not reset properly caused BPL DMA emulation to think this
  line had DMA disabled) I finally managed to duplicate this bug 100%
  using Arcadia Leaderboard..

Beta 24: (RC2)

- non 8 divisible width and avi video recording crash fix
- DMA debugger sprite register addresses fixed
- D3D 32-bit scanlines fixed
- frozen blitter didn't unfreeze when old channel mode was restored
  (FreeNEasy / Arctic Force does bclr.b #1,$dff042 while blitter is
  active.. Most likely simple accidental mistake)
- CE CPU emulation CMP cycle order change
- undocumented sprite DMA update, write to sprite pointer is ignored
  between sprite DMA accesses (IcewindDale BBS intro / Possessed)

Beta 23: (RC1)

- mouse capture didn't work if mouse driver (tablet) mode was enabled
  without magic mouse
- selecting wave recording (file select) disabled audio sync even if
  recording was not activated
- added disable sound sync option to output panel. Previously it was
  always disabled (for best sound quality), option was added because
  audio only recording with sync disabled can cause sound glitches and
  emulation slowdowns and vsync issues (recorded sound was still fine)
- CD32 state restore compatibility update
- only update BLTSIGN when writing to BPLCON1, not when starting the
  the blit (Anesthesia / Possessed and probably others)

Beta 22:

- do not load multiple harddrives (directory and regular hardfile) from
  configuration file if they have identical device names, also fixes
  bad handling of hardrive paths with national characters in utf8
- added simple validation to harddrive device and volume labels
- fixed small graphics glitch in Sequential / Andromeda "18 frames!"
- slightly smaller on screen leds, fits in 320 pixel wide display
- BPLCON1 to bitplane delay timing fix in some specific situations
- KS 1.x interlace screen setup was incompatible with "scandoubler"

Beta 21:

- stupid b20 VPOSR bug fixed (upper vpos bits returned "random" data
  when new frame was about to start)
- "manual" BPL1DAT write update, Sequential / Andromeda "Magnet"-part
- interrupt delay changed to 5.5 (was 6) color clocks (<=5: Gleat Stuff
  #1 breaks, >=6: Warhead audio breaks)
- reading non-existing memory in 68000 CE-mode was broken (upper byte
  was always zero), fixes Time Machine (game has buggy IFF animation
  reader, IFF parser checks end of file incorrectly and keeps reading
  "random" data and accessing "random" memory)
- ProWizard promizer20 converter update (Asle)
- only autodetect PC/Atari ST image files if file name extension is
  known (adf, adz, st, ima or img)
- file dialog file type setting is stored to registry/ini
- some work with serial port emulation via UDP (ENET). May or may not
  be implemented before final 2.0. (if you are wondering about ENET in
  serial port settings..) NOTE: do not expect most serial linked games
  to work, at least via Internet.. null-modem games expect extremely
  low latencies.

Beta 20:

- 68000 CE timing updates
- expansion panel GUI tree icon added
- serial port detection didn't detect all ports (broke in 1.6.0)
- http://, https:// and ftp:// file paths supported (pointless but it
  was very easy to implement, do not ask for extra improvements)
- dms, ipf and some other disk image types didn't unpack if inside
  archive, truncate adf converted >80 cylinder images to 80 if all 81+
  tracks are empty (uaeunp)

Beta 19:

- do not "fix" \\'s at start of path (b14)
- sound sync ignored recently emulated NTSC short/long line toggle
- less aggressive sound sync in non-vsync modes (not much point really)
- 68020 CE cycle counting rewritten (may not be better yet but easier
  to tweak in future)
- added support for single sided PC/Atari ST-style images
- added .st to disk image dialog extension list, .vhd to hardfile list
- onscreen leds show selected disk side
- onscreen led track number is dimmed when drive is empty
- always mount regular hardfiles, even if dostype is unknown or
  filesystem fails to load (unknown dostype = whole drive disappeared
  after reboot)
- add or create regular partition hardfile and size >=512M: generate
  more compatible default disk geometry (cylinders less than 65536)
- Action Replay statefile support should work again (again and again)
- AVIOutput: handle recording thread errors without freezing, record
  as 24-bit (instead of 32) if display is 32-bit
- fixed really stupid and old bug in blitter state restore
- added pause priorities (user pause > inactive > minimized), lower
  priority pause states can't unpause higher priority states

Beta 18:

- dongle GUI selection added (IO Ports), Leviathan dongle supported
- added 9pin Epson matrix printer option (9pin printer has different
  graphics aspect ratio than 24/48pin)
- visual DMA debugger (possibly useless but cool!) different colors
  mark different DMA channels, "v <val>" to enable, no parameter or -1 =
  normal,-2 = small visual, -3 = wide and -4 = big. CE-only
  Current colors: yellow = copper, green = blitter (light=normal,
  dark=line), blue = bitplane, cpu = gray, audio = red, sprite =
  white, disk = purple
- disable bitplane "speedup" optimization if dma debugger enabled
- beta versions do not load language dlls anymore
- SCSI mode GUI fixed
- minimizing: priority was set wrong, closing when minimized:
  remembered windowed mode size was reset (old bugs)
- unpause when clicking on "PAUSED" fps led
- some (vsync)sound sync experiments again..

Beta 17:

- fixed uaescsi.device TD_GETGEOMETRY total number of blocks off by one
  error, return TDERR_DiskChanged if no media inserted
- ACTION_FH_FROM_LOCK didn't reset write notification flag, caused
  ghost file notifications + parent directory date changes when file
  was closed if same file/dir was ACTION_ADD_NOTIFY'd earlier
- VHPOSW/VPOSW emulation rewritten (mainly used for "fake" 60Hz but
  also can be used for other purposes)
- less confusing GUI CPU frequency configuration
- when selecting best fit fullscreen mode, ignore modes that have
  completely wrong aspect ratio (for example rotated screen)
- right border 2 lores pixel delay properly handled in copper emulation
- RTG onscreen leds (no transparency, does not ignore scaling)
- new pointless feature: following games' protection dongles emulated:
  Leaderboard, Robocop 3, B.A.T. II, Italy'90 Soccer, Dames Grand Maitre,
  Rugby Coach, Cricket Captain
  No GUI support, add "dongle=x" where x is name of the game

Beta 16:

- Faster RTG moved to misc panel
- TD_REMOVE implemented in uaescsi.device (BabelCDRomFS media changes
  work under KS 1.3) and in uaehf.device
- bsdsocket GUI checkbox didn't work
- delay copper writes by 2 lores pixels if hpos >= 0xe0 (I am not sure
  100% why but I guess extra 0.5 cycle in PAL 227.5 color clock
  horizontal timing causes this) Fixes Leander "border", can fix other
  similar border problems. Previous fix in b15 was wrong.
- disable new expansion checkboxes when emulation is running
- CE linemode blitter non-nasty broke in b14

Beta 15:

- automatically enable ini-mode if registry initialization fails
  (this should never happen, something is wrong if HKEY_CURRENT_USER
  is read-only or admin-only..)
- August 2009 DX SDK (you know the drill, latest DX runtime required)
- A2065 Ethernet card emulation. winpcap required.
- mostly useless "kickstart replacement" works again. Broke long long
  time ago..
- hrtmon v2.32
- 68030 "MMU" "emulation" instruction decoding fixes  
- 68040 MMU on the fly switching supported
- fixed 1 lores pixel background color gap in some copper effects
- renamed display card panel to expansions and moved misc expansion
  related options from misc panel (still work to do)
- 1.5M slow ram was 1.0M+0.5M mirrored (non-power-of-2 memory sizes
  are not really supposed)
- MMU: hardreset if double bus error (real CPU would freeze and wait
  for reset in this situation, not worth the trouble)
- IDE emulation updates, read/write multiple implementation fixed,
  write interrupt fixed, 128-256 sector transfers supported, status
  register DSC must be always set. Compatible with Linux IDE driver

Beta 14:

- added very basic MMU statefile support
- and more MMU compatibility updates (LINK, RTD, CMPM)
- FTRAPcc fix from Aranym (I guess nobody uses this instruction..)
- MMU access error instruction restart update, Linux really works now
  but is quite useless because there is no hardware cdrom or network
  emulation..
- CD32 pad default mapping RWD and FFW swapped
- non-CE mode blitter timing fix (blitter timing got better few betas
  ago but it was less compatible because cpu is not slowed down..)
- bsdsocket MSG_WAITALL really works now
- added "value must change" debugger memwatch mode (C)
- another reading write-only register update, reading 0xDFF000 always
  returns whatever was left on chip bus. Only on OCS chipset and only
  0xDFF000 (BLTDDAT) does this. Correct fix for Codetrash. This demo
  has really "fun" bug, it does cmp.b #$30,$dff000;bne.s loop (should
  be $dff006) and this comparison only succceeds because of 0xDFF000
  special case AND because module player is running and there is at
  least one audio sample with value of $30! (unbelievable, isn't it?)

Beta 13:

- MMU emulation bug fix (was bug in Aranym's code, official fix now
  included), fixes MMULib crash
- other MMU emulation fixes
- Gayle IDE address mapping corrected, reserved Gayle expansion space
  not included anymore
- CD32/CDTV CD led flickers blue when there is CD activity, shows
  green when playing CD audio
- built-in hrtmon updated to 2.31
- 68020 cache freeze-bit emulation fixed
- CD32 pad default mapping green and yellow buttons switched
- MOVES fixed (this has always been wrong but nobody noticed because
  it is only used with MMU)
- bsdsocket: support MSG_WAITALL (previously recv() with MSG_WAITALL
  always returned -1)
- 68020+ bit field instruction update from Aranym (correct memory
  access size for MMU and CE020. BFCHG, BFSET ignored size)
- more regstruct (ccrflags) removal
- added U <logical address> debugger command, shows translated physical
  addresses (user+code,user+data,super+code,super+data. RW=readwrite,
  RO=readonly) or * if address is not mapped (accessing it would cause
  access violation)

Beta 12:

- increased vertical filter display buffer size by 4 pixels (max PAL
  overscan fully visible now, again..)
- autovsync vertical resolution autoselection really works now
- more MMU fixes, Linux boots now. MMULib does not work but it most
  likely is a bug in MMULib which expects some undocumented behavior
  of 68040 (like how ATC caches work etc..) Commodore's 68040.library
  works. Note that native code (for example filesystem emulation) can't
  support MMU address translation (impossible to call bus error handler
  from non-68k code without some heavy black magic) -> any non-debugging
  MMU software most likely won't work without using IDE or SCSI
  emulation. MMU support is considered finished now. Enforcer and Linux
  working = good enough :)
- version number bumped to 2.0

Beta 11:

- fixed 68020 CE-mode cycle counting bug (too slow memory accesses)
- MOVE16 MMU support update (fetch all data before writing), MOVES MMU
  support update, MOVEM to memory MMU special handling support
  (still not working with mmulib, reason unknown)
- b10 blitter cycles given to CPU update was very wrong..
- copper BFD=0 wait woke up too early in some cases (and real fix here)
- calculate autoscale settings only when display window registers have
  been stable at least 1 full scanline (also fixes NTSC "jumping")
- WASAPI shared mode closest match update

Beta 10:

- and more reading of write-only register fixes, original Cardiaxx
  loads now without extra hacks
- yet another CPU core added, 68040 MMU emulation from Aranym
  (Atari ST/TT/Falcon emulator) is finally enabled! (not compatible
  with JIT, slow etc blahblah) Enforcer+Lawbreaker seems to be working.
  Perhaps even something else that needs MMU also work..
- blitter cycles given to CPU (bltnasty=0) didn't count as free cycles
  for blitter idle cycles
- blitter line mode froze if new blit was started when last 2 final
  idle cycles were in progress

Beta 9:

- vsync automatic frequency switching is now optional ("autovsync")
- 100Hz/120Hz supported in vsync automatic switching mode
- "Disable powersaving features" is now "Disable screensaver" (when
  not active) Screensavers are always disabled when active. Programs
  shouldn't override "real" powersaving features anymore (and Vista
  and later will ignore these requests anyway)
- 68020 CE mode all instructions now need at least 1 CPU cycle (1/4
  bus cycle) to finish (+any slow chip/custom memory fetches),
  previously all instructions were instant when accessing fast ram
- CPU frequency configuration added (CE-modes only). Fast RAM (and ROM)
  is always considered wait-state free, chip ram speed does not change
  Pre-defined values use main clock as CPU clock source (=includes
  PAL/NTSC difference), manually typed frequency basically emulate CPU
  card that has separate CPU clock crystal. For example pre-defined
  "7MHz" is 7.093790.. if PAL mode) Not very useful in 68020 mode. yet.
  (see earlier beta change log for explanation)
- copper woke up 1 line too late (and never woke up if waiting for line
  255) if wait ended on NTSC long line (this was the real reason for
  NTSC jumping, b8 hack removed)
- added "cycle_exact" configuration entry, quick way to switch CE on/off
  with uae-configuration
- wrong/missing display sometimes in "too fast" CPU modes (b5)

Beta 8:

68020 CE mode updates:

- unaligned word/long accesses emulated (68020 always fetches aligned
  longs, two accesses required if for example word is fetched
  from address 3)
- emulate 68020 instruction cache logic as documented in 68020 manual,
  cache hits are free, cache misses require normal, possibly slow
  chip ram fetch
- approximate emulation of 68020 prefetch buffer, more compatible with
  self-modifying code
- very approximate 68020 MUL/DIV cycle usage added
- 68030/040/060 also supported in "020CE" mode. Not totally useless
  because this can mean more compatible HD installed games by switching
  between JIT and "CE" mode on the fly using uae-configuration.
  (switching between CPU types on the fly isn't very good idea..)

Note that 68020 "CE" is still too fast (CPU internal calculations are
not counted yet) but this is 100x better than previously because
memory fetches are emulated, too fast CPU chip memory accesses and
too fast blitter was the most common cause for problems.

- CD32 drive command communication and interrupt handling rewritten,
  should now match real hardware (I think..) At least Brian the Lion
  CD32 works again..
- NTSC mode shouldn't jump anymore
- automatic vsync mode on the fly switching between 50Hz and 60Hz
  screen modes if refresh rate is supported, disable vsync temporarily
  if rate not supported (until switching back to supported rate)
- Superstardust AGA weapon panel breaks if 1 extra BPLCON0 delay cycle
  added. Obviously previous fix wasn't right.. Lets try something else,
  add extra cycle if first bpl dma cycle is allocated (8 planes)

Beta 7:

- removed very old width divisible by 8 restriction
- genlock "emulation" (chipset clocks stop if no genlock and BPLCON0
  external sync bit is enabled) was broken few betas ago
- NTSC alternating short/long line emulated (perhaps some rare
  NTSC-only demo cares about this)
- 5.1 sound mode had wrong Amiga channels -> center/sub mixing ratio
- another MOVEM disassembler fix
- pointless regstruct duplication in sources finally removed
- 68EC020/68020 "cycle exact" mode implemented. This is A500 chipset
  cycle exact mode combined with 68020 CPU. 68020's chip RAM fetches
  are slowed by DMA, instruction cache is not emulated but "close
  enough" opcode fetches are not slowed down as much (better than
  nothing). Extra instruction processing cycle usage is not yet
  included, CPU basically runs as fast as memory allows. (which is
  more or less correct except slow instructions like mul and div need
  extra cycles) Quickstart A1200/CD32 most compatible now enables this
  new CE-mode. Some weird sound problems can be noticed, reason unknown..

Two above changes can break lots of things as usual.. Binary size also
increased, 4th CPU core added (68020CE) and finally, next official
version is now guaranteed to not be 1.6.2..

Beta 6:

- STOP increased PC only by 2 if trace was active (copy protections..)
- WASAPI exclusive mode improved (final Windows 7 SDK had much better
  examples than RC or Vista versions)
- restart sound (close and open) if sound gets stuck instead of killing
  sound completely
- thread priority updates and fixes (perhaps this fixes reported slow
  filesystem emulation)

Beta 5:

Biggest A500 cycle-exact updates should be done now.

- interrupt delay rewritten and corrected, fixes Gleat Stuff #01/BRB
- blitter/CPU timing tweak, fixes 1010 bobs/Celtic
- disable sound if sound driver buffer position gets stuck (driver bug)
- final partition read/write fix..
- try to emulate reading of non-existing/write-only custom registers
  more accurately
- Brian the Lion "dialog screen" seems to be something AGA specific
  after all.. 1 extra cycle needed after write to BPLCON0 before BPL
  cycle diagram changes (or at least in Brian the Lion's situation..)
  so add one cycle in AGA and hope it isn't totally incorrect fix..

Beta 4:

- 0x76/0x30 partition types are marked as "PART" in GUI and read/write
  should really really work..
- exec* command line didn't support command separation (;) characters,
  batch files supported ("cmd.exe /c <batch file>")
- fixed very old left border graphics error in Absolute Inebriation
- b3 sprite fix broke other programs, fixed again
- Brian the Lion "dialog screen" problem is not anything AGA-specific,
  BPLCON0 write needs 5 cycle delay, not 4 when written by copper.
  Not fixed yet, waiting odd number of cycles in copper emulation isn't
  currently possible

and few buggy demos fixed, doing weird things with the blitter and work
only accidentally.. For the first time ever Rampage/TEK works!

- Absolute Inebriation/VD "red linevector cube inside white object" part
  now works. Bug in blitter wait, rewrites blitter registers when old blit
  is still active, normally this would mess up the blit but it worked
  because write to BLTCON1 freezes the blitter if it causes switch from
  "extra" cycle fillmode to normal mode.
- Rampage/TEK blitter feature workaround added, another buggy demo, it
  changes blitter channel mode from 0x01 to 0x0D while blit is already
  active, result is blitter getting confused and changing to weird cycle
  diagram without D-channel. No writes, no memory corruption, no crash...
- above cases (blitter channel mode changing while active) also writes
  message to log. I am not going to test all combinations :)

Random freezing not yet fixed.

I guess version will be renamed to 1.7 or 2.0 because of huge A500
compatibility increase..

btw, I only have single non fully working A500 test statefile remaining,
I need more non-working A500 game/demo reports :)

Beta 3:

Two main compatibility testing demos work perfectly now:
Final Bobs/Complex and Hulkamania/TSP. (Rampage/TEK still won't work..)

Both require very exact CPU/DMA timing to work. First has "scrambling"
that uses vertical beam position as a key, main demo has already worked
if "scrambling" was bypassed, and second writes to BPLxPTs with CPU when
display DMA is already fetching data.. Yes, sane coders use copper..)

- lots more cycle-exact CPU cycle count updates
- some more blitter updates (correct startup and copper wake-up delays)
- non-DMA mode sprites were always reset during vblank (I remember that
  this was working long long time ago, possibly broke during Superfrog
  "intro bee" fix or something) Fixes B2 world rotozoomer graphic glitch

- added sound driver use/do not use GUI to sound panel (stored to
  registry/.ini) Faster startup.
- exec* command lines should work better. Check the log if problems
- 0x76/0x30 partition types are always available read/write
- bsdsocket fix, cvs (SR)

Beta 2:

Background information:

After many days of logic analyzer work, blitter should finally be
100% cycle-exact, even in line mode.

DMA emulation cycle-exactness is greatly improved, most vector
routines that had slowdowns, flickering or graphics garbage should
work perfectly now (even Los Huivos/Virtual Dreams doubleglenz work,
this has shown only major graphics garbage previously)

There are still some that won't still work or work even worse,
these could be caused by CPU emulation timing errors (even single
cycle difference in single instruction that is used regularly enough
can make the difference)

"Standard test" programs still not working: Rampage/TEK, Hulkamania/TSP
(and left border garbage in one part of Absolute Inebriation/VD, reason
is known but I am not sure how to implement the fix)

- "DMA cycle debugger", v <vpos> [<hpos>] lists selected scanline's DMA
  activity, hpos, custom register, data, address. This made
  compatibility testing much easier. (just compare this data to
  logic analyzer data) Second row can contain extra characters:
  N = blitter cycle given for CPU, b = blitter interrupt, B =
  blitter finished. (not necessarily exactly same thing)

- chipset bitplane/copper/blitter cycle exact mode DMA sequence
  routines rewritten. Emulation may be slower due to missing
  optimizations. Later.
- blitter cycle diagrams rechecked with logic analyzer, errors fixed

- CPU emulation fixes, lsl/asl/ror and friends had wrong cycle
  counts. bclr/bset/bchg are 2 cycles shorter if bit number is less
  than 16 (16-31 = add extra cycles) and more. Lots of testing to do..

- WASAPI sample format fallback didn't work correctly
- command line parser now really works exactly like Windows console
- added "win32.exec_before" and "win32.exec_after" configuration
  entries, "before" command is run when emulation starts, "after"
  when emulation shuts down or before another config is loaded.
  Multiple commands can be separated with ';'. Waits until command
  returns (=waits forever if program never exits..)
- interlace artifact removal works again (b1)
- automatically handle split dms files. If extracted data is only
  about half of standard DD disk and if file name is "*a.dms",
  attempts to open and merge "*b.dms" with already unpacked data
- do not enumerate openal recording devices

Beta 1: (too many changes, everything can break blahblah usual stuff)

- command line filename will be detected as a disk image if file don't
  have known extensions but is small enough and first 3 bytes contain
  "DOS" (previously detected as hardfiles..)
- check for windows messages more than once per frame, may reduce
  latency (in worst case it may increase power requirements..)
- marked DLLs that are rarely used/only in specific configurations
  as delay loaded, may make startup slightly faster
- inserting/ejecting USB input devices on the fly replaced all "<none>"
  and all keyboard layouts with keyboard layout A (old bug)
- "Add PC drives at startup" does not anymore mount drives that are
  also configured as real harddrives
- real harddrive safetycheck modified, now all drives can be mounted as
  long as drive does not have any Windows mounted partitions. Any drive
  with one or more Windows mounted partitions are only available in read
  only mode. Command line parameter is now only needed if you want to
  add drives that have Windows mounted FAT partitions. Drives with NTFS
  partition(s) are never (there is a complex way..) allowed in
  read-write mode.
- SCSI (RDB hdf emulation) write commands return proper write protected
  sense status if hdf is read-only
- A590/A2091 SCSI ROM 7.0 was not accepted (debugging code..)
- RDB filesystem loader still had fse_PatchFlags hack instead of
  handling it 100% correctly (no functional change, at least with any
  popular filesystem)
- accept also partition type 0x30 (another Amithlon like RDB drive
  inside real PC partition)
- added new RTG configuration panel, more space for future options, also
  old RTG setting panel was not really in correct place anymore
- command line parsing handled quotes inside strings differently than
  Windows does when running from command line

- added bitplane DMA fetches to copper debugger (there will be separate
  DMA sequence "disassembler" in future)
- Agnus bitplane DMA behavior correctly emulated when number of planes
  or resolution changes mid screen. Old code (1.5x+) was totally wrong
  and too complex..  Now all my test statefiles work 100% correctly:
  Disposable Hero, Bass-O-Matic/Crusaders, Innovation Part 2/Axxis 
  Brian The Lion "dialog" screen is corrupted again but this seems to be
  AGA specific feature (SMD chips = no logic analyzer)

- CD32 CD controller emulation improved, CDXL animations should run more
  smoothly now, previously emulation couldn't load more than few sectors
  before CD32's cd driver detected error condition and retried
- added seek delays to CD32 emulation (CD32 drive has really slow seeks)
- CD32 Lotus Trilogy's Lotus 3 finally loads (stupid loader partially
  overwriting already loaded data if CD DMA "slot" sequencing is not
  exactly correct)
- CD32 CD audio moved to separate thread, no more emulator pausing when
  CD audio starts or track changes (possibly introduces other issues..)

- D3D 2D sprites (ID3DXSprite) used in D3D filter onscreen leds, correct
  positioning, no scaling and free transparency. Scanline texture also
  converted to 2D sprite, now works correctly with D3D filters (future
  plan: convert all DirectDraw code to D3D 2D sprites)
- OpenGL filter removed, totally obsolete now. Gone forever unless
  someone updates it. (including correct positioning and scaling)

- built-in WASAPI sound driver implemented. Replaces DirectSound if
  running on Vista or newer. WASAPI has two modes, shared and
  exclusive. Shared roughly equals old DirectSound, exclusive means
  sound card is exclusively used by WinUAE. Exclusive mode has lowest
  possibly latency but note that there may be only one or two
  supported sample rates (for example 48000). NOTE: buffer sizes
  can not be directly compared between different modes. PortAudio
  is now considered very unsupported (that didn't last long..)
  Needs tuning, not good enough yet (especially exclusive mode)
- distortion in sound was possible with short square wave samples (160)
- final 16-bit sound samples always had lowest bit (or two lowest bits)
  zero, now lowest bit(s) are duplicated from real lowest significant
  bit(s)
- programmed display modes had bad sound (161b4 sound update was not
  fully complete.. most stupid 1.6.1 bug so far)
- portaudio fallback code added, unsupported samplerate = try 44000,
  48000 and default reported before disabling sound. Same with number
  of channels, unsupported channels = fall back to stereo

- Vista or newer: AvSetMmThreadCharacteristics() is used to enable
  task scheduling better suited for multimedia applications = more
  CPU time given without slowing down lower priority tasks (which
  can happen with normal priority settings)
  

1.6.1

Beta 5: (1.6.1 RC)

- JIT indirect/direct state is remembered when JIT is switched off and
  later restored when JIT is switched back on (uae-configuration etc..)
- inhibit "no disk" Windows dialogs when connecting some USB memory
  card readers without media
- do not add disk images to disk history if they are inside archive
  that was mounted as a harddrive
- fixed infinite archive recursion introduced in previous betas
- magic mouse automatic mouse capture didn't work reliably (160b7)
- Ports/About GUI icons and file association icons updated (JW)
- language identifier changed to english, neutral (was english, US)

Beta 4:

- mixed disk swapper panel id and number of input panel columns..
- magic mouse was unreliable in directinput mouse mode ("mouse *")
- magic mouse can be switched on/off on the fly
- utf8 configuration entries didn't work correctly and caused
  duplicate entries. (fix by loading and saving config again)
- added generic disk icon image (from Cloanto) that is associated
  with disk image extensions (if enabled in associations panel) This
  may change before 1.6.1 if my brother feels less lazy next week :)
- App Paths winuae.exe reg key created if winuae is run as admin
  at least once, this fixes some file association issues (wrong or
  missing icon for example), also some other association updates
- statefile harddisk restore problem fixed (still not guaranteed
  to work..)
- 60Hz on PAL (or NTSC in 50Hz) sound sync/vsync calculation was
  incorrect
- in AGA only HAM6 or HAM8 supported. HAM mode bit set with 5 or 7
  planes seems to be ignored (OCS/ECS has "HAM5")
- HAM ignored AGA BPLAM (BPLCON4) bits

Beta 3:

- added exception handler that writes log message if openal or
  portaudio device enumeration crashes
- fixed d3d pot/square texture restriction check, only for really
  old display cards (which may be too slow for d3d filter..)
- bsdsocket cleanup crash fix (ancient win32-specific bug)
- gzip decompression problem (yet another unicode conversion bug),
  also broke built-in hrtmon (which is gzipped internally)
- reset fpu rounding state to original temporarily when doing filter
  calculations (single pixel jittering in some filtering modes if
  Amiga-side code uses FPU and modifies rounding mode)
  
Beta 2:

- fs "double vsync" mode (100Hz+) was still slow in warp mode
  (note D3D mode will stay "slow" because afaik it is not possible
  to switch D3D vsync on/off on the fly)
- added warp mode to configuration file (warp=true/false, config file
  read-only)
- and another read-only configuration entry, "headless" that switches
  invisible emulation mode (window gets hidden). future feature..
- log window scrollback buffer increased to 900 lines
- command prompt "console wrapper" support (run winuae in command
  prompt: output goes to command prompt window, does not open separate
  log window) More information later, not important just yet..
- saving configuration after modifying input-panel autofire setting
  caused modified input event to be saved incorrectly (old bug)
- display scaling does not anymore change D3D filter scanline scaling
- unicode conversion broke magic mouse
- uaeunp file handling update broke some archive operations (b1)
- loading config from command line with GUI enabled didn't override
  quickstart (if enabled)
- added "toggle" option to input panel. First button/key press =
  emulated button is pressed and kept down. Second button/key press
  = emulated button is released

Beta 1:

- development PC updated to Intel Core i7 based. (Asus P6T DeluxeV2,
  i7 920 2.66GHz CPU @ 3.7GHz, 3x2G 1866MHz RAM)
- ASPI crash fixed (calling convention mismatch.. I didn't test and
  only assumed previous fix would be the only problem left..)
- filesys default codepage changed to default ansi page (1252 breaks
  many non-european characters)
- added more directory harddrive error codes to Windows->Amiga code
  translation table (unit not ready, bad unit)
- directory harddrive Windows illegal character handling was broken
- do not capture mouse at startup if window is hidden/minimized
- archive dragging to HD-led really mounts it as a harddrive, even
  if it contains only disk images
- 1760k HD and 10 sector DD PC formatted had switched internal
  DD/HD flag (=above image types didn't work)
- FAT12 formatted images supported as a harddrive (uaeunp feature)
- turbo/warp mode in fullscreen mode wasn't as fast as possible

Final 1.6.0

- filter mode PAL aspect ratio corrected (~5% difference) if keep
  aspect ratio checked. (it includes now non-square pixel ratio)
  Does basically same as long time ago removed aspect ratio option.
  Because it can look ugly and it isn't exactly required feature,
  it is only enabled in FS or autoscale modes (they need scaling
  even without aspect ratio correction)
- ASPI SCSI unicode conversion bugs fixed (random crashes..)
- "Ignore modes that have larger resolution than largest supported
  mode". Now it really does this.
- D3D fall back to non-filtered if IDirect3DDevice9_Reset failed
  (instead of closing and reopening the screen and trying again)
- filter scaling sliders didn't work in normal (1x+ mode)

Beta 29: (RC2, beta dialog removed)

- Pang hack side-effects fixed
- autoscale/keep aspect ratio combination fixed
- NTSC hardware in PAL mode: shrink display (fit PAL display in NTSC
  space) Previously NTSC was always stretched but I think it is better
  to make "base" hardware PAL/NTSC mode non-scaled. Note that PAL/NTSC
  vertical streching/shrinking is only supported in filter modes
- screenshots never worked in windowed D3D modes
- screenshot size was wrong in full-window mode
- 100% stereo separation was only about 95% stereo separation

Beta 28: (RC1)

- re-added CD32 emulation hack that was removed in b4, fixes unreliable
  booting in non-JIT modes (do not return TOC until "turn led on/off"
  command is received. At that time led command was unknown command,
  now I am quite sure this can't be the correct way to do it..)
- Rainbow Islands one missing horizontal line fixed ("Ode to Ramon"
  scanline fix broke this, OCS-only)
- printer GUI changed, checkboxes replaced with select menu.
  Passthrough: no changes, original printing method.
  ASCII-only: prints only basic ASCII text.
  Epson matrix printer emulation: you do not need to know. yet.
  PostScript options: no changes.
- list also supposedly unsupported modes/refresh rates in resolution
  list, marked with '*'. Ignore modes that have larger resolution
  than largest supported mode and modes that have 75Hz or higher
  refresh rate (just to be in safe side..) Some display drivers
  don't return custom resolutions in "monitor supported" list..
- loaded configuration files, disk images and statefiles are added to
  recent list (includes Windows 7 jump list support)
- more accurate audio Paula/native rate conversion (from UADE, I was
  supposed to merge this fix long long time ago..), this fix and some
  sound sync code updates mean much improved sound sync (SND% should
  be much more stable now, including vsync modes)
- filter-panel aspect ratio works as expected, aspect ratio selected
  is monitor's aspect ratio and automatic = aspect ratio calculated
  from desktop resolution (if fullscreen) or window size (if windowed)
- added hack that fixes Pang (and perhaps others) graphics problem,
  real fix coming (much) later..

Beta 27:

- on screen led was always enabled (b26)
- scaling in NTSC mode really fixed (b26)
- enabling autoscaling and no filters enabled: select Direct3D if
  at least 2.0 shaders supported (=fast enough), only select Null
  filter if older. (D3D9 scaling is "free" on modern hardware)
- Logitech LCD SDK updated (currently waiting for G19..)
- autoscale found sprites outside of bitplanes when BRDSPRT was
  enabled without ECSENA
- vertical positioning in autoscale was wrong in some cases
- AHI works again
- always enable Picasso96 BIF_INDISPLAYCHAIN (not enabled means
  RTG mode display size of 0x0 pixels = crash)
- delayed printer open, do not open until enough data received, also
  ignore data completely if less than 10 bytes received
- added "ASCII Printer" option. Select this option if you use programs
  that print directly to emulated parallel port (bypassing Amiga
  printer drivers) and they expect old-style printers that directly
  accept ascii text (Action Replay, demo scene disk magazines etc..)
  In future this will also include emulation of old Epson matrix
  printer control codes (de-facto control codes that most printers
  supported at that time)
- added missing "Automatic" aspect ratio setting in Filter panel
- selecting "Full Window" mode when no filters enabled = also enable
  Direct3D + FS. (this is what users apparently expect, not confusing
  tiny image on the middle of screen)
- development PC updated to Windows 7 RC

Beta 26:

- added transparent support for ICD AdIDE "bit swapped" disks and
  hardfiles. Each 16-bit data word has bits swapped, bit 0 = 15,
  bit 1 = 0, bit 2 = 14, bit 3 = 1 and so on (reason is most likely
  PCB cost) Listed as "CPRM" in "Add Harddrive" list because first
  (which is normally hidden) block starts with ascii string "CPRM"
- wrong sound device was selected if configuration was loaded and
  DS, OpenAL or PortAudio had 100% identical device names
- bsdsocket not too common connection issue fixed (b15)
- sound card index in config file > number of sound devices = very
  slow emulation
- added "All" option to RTG RGB format selection menus (make sure
  "ENV:Picasso96/ShowModes" contains "All" or only single format per
  color depth is available in screen mode dialogs)
- autoscale: show blank display using previous scaling instead of
  defaulting to non-scaling
- NTSC vertical centering fixed in scaled modes
- D3D and OGL mode was not properly closed when switching to
  windowed/fullwindow RTG mode (old graphics was visible depending
  on screen/scaling etc..)
- AHI is broken in this version. Do not use

Beta 25:

- Picasso96 crash in some specific cases when 8bit->16/32 or 16->32
  conversion is used (bug since new Picasso96 emulation was introduced)
- "yes/no"-style dialogs in fullscreen with active GUI: mouse was
  (incorrectly) captured when exiting the dialog
- switching between ce and non-ce mode in some blitter heavy programs
  could have frozen the blitter (workaround was to switch back to
  original mode)
- input was disabled when in "mouse driver" mode and focus was lost
  and regained
- DXSDK update, D3D support requires March 2009 DX runtime or newer
- D3D fullscreen "border" flickering fixed

Beta 24:

- debugger T command fixed (b15)
- JIT FPU bug, one addressing mode was wrong (b15)
- reset clears "native2amiga" command queue (it was possible to have
  command queued just before reset which would have been executed
  after reset -> random errors and crashes)
- do not include mice in parallel port joystick select menus
- add new empty adf files to disk history list
- added simple list devices, libraries and resources command to
  debugger (Td Tl Tr)
- log file long datestamps fixed

Beta 23:

- archives (zip etc) didn't unpack (b22)
- directinput keyboard was not always unacquired when focus was lost
- hq2x/3x/4x crash in specific situations (old random bug)
- clipboard initialization changed again, now initialized after all
  other residents (previously it was after dos)

Beta 22:

- do not change priority if current priority is HIGH or REALTIME
- command line parameter parsing crash fixed
- added 5:4 aspect ratio to rtg and filter settings
- archiveaccess filename encoding fixed (b15)
- recursive archive support fixed (b15)
- added adf, rdb and hdf "archive" support. It is now possible to
  browse adf/hdf/dms/ipf/fdi/extended adf inside zip/lha/whatever
  archives when mounted as a harddrive :) (uaeunp.exe feature mainly)
- clipboard initialization should really be after dos initialization,
  should fix random "UAE clipboard sharing" crashes when booting
- debugger crash fixes (b15)
- lha non-extended file/dir timestamps fixed
- 7z SDK updated to newer version, timestamps supported
- diskspare (12/24 sector) disk images supported, also includes "plain"
  adf files that have exact diskspare format size
- dragging to windowed mode HD-"led" forces harddrive mount (for
  example adf is mounted as a harddrive, normally dragging autodetects
  type and inserts adfs to disk drive)
- dragging file to harddrive panel also automounts it immediately if
  emulation is already running

Beta 21:

- registry subsystem wasn't initialized in b20 (broke lots of things)
- postscript printing crash fixed (old bug that didn't crash so
  easily in older versions..)
- slowdown introduced in b13 should be fixed (inverted comparison
  when testing if current scan line can be emulated in "fast" mode)

Beta 20: (feature complete now. I think..)

- added controller type to gameports panel, easier way to enable
  more complex standard controller configurations without need for
  input panel (analog joystick, lightpen, joystick mouse emulation..)
  Note that impossible configurations like emulating joystick with
  mouse aren't supported even if GUI seems to allow it, also
  non-mouse lightpen isn't really supported, it works but moves
  badly (not worth the trouble really, maybe)
- added "CDTV Mouse" which is CDTV remote controller mouse emulation,
  only difference between normal and CDTV mouse is speed setting,
  normal mouse speed is adjustable in input-panel, CDTV mouse speed
  is not adjustable and is same as real CDTV mouse emulation (there
  are CDTV programs that expect CDTV remote controller -like mouse
  speed and they do not work very well with normal mouse)
  NOTE: speed not yet calibrated!
- added CD32 controller type to gameports GUI, enables CD32 controller
  emulation. Now it is possible to emulate normal joysticks in CD32
  emulation mode (without using input panel)
- parallel port joystick adapter configuration added to gameports panel
  (GUI lists all devices but only joystick/keyboard supported)
- light pen cursor is centered when used for the first time
- added more compatible default analog joystick parameters
- digital joystick/buttons mapped to analog stick axis work correctly
- state restore rom detection fixed (b15), added logging
- support "0x402 An unknown error occurred" when deleting non-existing
  directory with recycle bin enabled
- drives 1 to 3 config load didn't work (b15)
- added possibly pointless command line image conversion option,
  "winuae -convert <src> <dst>" where src can be any supported archive
  and/or disk image (even archive.lha\fileinsidearchive.dms should
  unpack to adf) Separate command line unpacker maybe in future..

Beta 19:

- missing command line unicode support added
- added support for winuae.exe <paths> [<other params>] command line.
  <Paths> can be path to a configuration file, any supported floppy
  disk image file or statefile, multiple paths supported, path
  parsing stops when first parameter beginning with '-' or '/' is
  detected. Automatically disables "show gui on startup".
- improved configuration parsing, now for example something="path"
  and command line -something="path" works, previously " (or ')
  was not parsed properly
- clear dsound buffer when sound autodeactivates, it was possible to
  have some old sound data left in buffer if buffer size is really big
- gui debugger clipboard and enter address option fixed (b15)
- autoscaled screen was off center if display size was too small
- directory filesystem "unimplemented error 3" fix
- directory filesystem "unimplemented error 87" when setting file/dir
  datestamp and drive is in FAT partition (FAT date range is not as
  large as Amiga supported date range, AmigaDOS minimum date is
  1978-01-01, FAT minimum is 1980-01-01)
- directory filesystem date underflow fixed, host-side date earlier
  than 1978-01-01 caused underflow, result usually was date in
  far future.. (bug since the beginning most likely)
- updated directory filesystem date calculations to 64-bit
- directory filesystem ERROR_COMMENT_TOO_BIG implemented
- PortAudio works again, also accept only v1899 or newer library
- clear D3D filter screen when autoscale settings change
- added F13-F16 to rawkeyboard keycode array

Beta 18:

- gui debugger unicode conversion fixes (b15)
- native dll call fixed (b15)
- already existing _UAEFSDB.___ was not updated properly on NTFS
  volumes, "dirty" _UAEFSDB.___ data was not flushed when emulator
  was exited (old bug)
- non-ascii configuration strings are duplicated in UTF-8 as
  <entry name>.utf8. Now even japanese file names and paths work in
  configuration files :) (backwards compatible, old versions will
  ignore it)
- clipboard sharing: accept only v37 or newer clipboard.device
- added DD (720k) and HD (1440k) PC floppy image type to create disk
  option (image will be unformatted)

Beta 17: (even more fixes. do not use b15 or b16)

- module ripper text conversion fixed
- winuae.ini UTF-8 support (only new ones are created in UTF-8)
- ACTION_READ with "illegal" length or address crashed (b15)
- catweasel log information string wrong encoding fixed
- ACTION_SEEK 2G limit and 64-bit filesystem packet fixes
- configuration file handling bugs fixed (b15)
- directory filesystem date field ignored timezone (b15)
- crash dump file naming fixed (old bug)

Beta 16:

- multiple unicode conversion issues fixed, hardfile/drive issues,
  clipboard text conversion, statefiles etc..
- automatically add KS rom "footer" if rom is too short (for my own
  rom project, more information later...)
- unrar.dll support fixed and uses now unicode functions
- all text file reading routines now automatically support UTF-8 and
  UTF-16LE formats if BOM is included (plain files only, not inside
  archives yet)
- directory filesystem seek 2G test added, 64-bit seek function return
  code fix

Beta 15:

- WinUAE is now native unicode application (internally all strings are
  NT native UTF16-LE format instead of 8-bit "ANSI")
  What does this mean?
  - lots of breakage possible, size of one byte = size of one character
  isn't true anymore and finding all cases is difficult. Report all
  mysterious crashes (they are usually easily duplicated)
  - Windows<>Amiga directory filesystem character set conversion can
  be configured (Windows "code page" may not match Amiga charset =
  "special" characters should work better now. Default is CP 1252 which
  is functionally identical to Amiga standard ISO-8859-1)
  - logs and configuration.cache are UTF-8 formatted (UTF-8 is more
  human readable than UTF-16), "old" charset supported
  - log window supports unicode now, no more weird characters in
  (for example) device names containing national characters
  - configuration files are still in old format (would cause too many
  problems with old versions and front ends..)
  - I simply wanted to do this when I dropped 98/ME support but I wasn't
  ready until now. (also most new Vista+ APIs are unicode only,
  converting between ansi<>unicode was getting too annoying)

- ACTION_EXAMINE_ALL was quite broken, it always returned full directory
  entry data (wrong variable used..) Most (all) programs didn't care.
- "not implemented error" filesystem warning is now shown to user
  (nobody apparently noticed it in the log = I can never fix it..)
- directory filesystem >2G files are shown as 2G minus 1 byte (instead
  of truncating to 32-bit and showing negative or other random sizes),
  >4G files internally supported
- directory filesystem ACTION_CHANGE_FILE_POSITION64,
  ACTION_GET_FILE_POSITION64, ACTION_CHANGE_FILE_SIZE64 and
  ACTION_GET_FILE_SIZE64 implemented (OS4+ packets but also supported
  by 68k SFS2)
- ignore all input events (except activation events or if mousehack
  is enabled) if no focus and not active (previously only focus was
  required)

Beta 14:

- filter out PortAudio DS and MME drivers (useless duplication only)
- portaudio WDM-KS freeze fixed (ancient bug in portaudio library
  and nobody hasn't fixed it yet.. Why do I have to do everything..)
- folder selection dialog updated to larger Vista/W7 version
- new Vista/W7 style file dialog was always in "open" mode, it was not
  possible to select non-existing file when saving

Beta 13:

- mousehack mouse sync works in filter modes
- D3D filter display positioning should be correct. maybe.
- full window RTG scaling changes or RTG<>native switches didn't clear
  old graphics completely
- unofficial/experimental PortAudio audio library support, copy dll
  (portaudio_x86.dll) to plugins-directory. Main point is very low
  latency sound API (ASIO, WDM-KS, WASAPI) support. WDM-KS (XP) not
  tested, WASAPI (VistaSP1/W7 only) confirmed working. Generally
  can be ignored, do not ask :)
- file selection dialog uses new IFileDialog interface (if available,
  Vista or newer only) Dialogs still should look same, shout if
  something looks weird. (currently this is my workaround for
  Windows 7b feature/bug of remembering old directory, even if
  OPENFILENAME structure has lpstrInitialDir set)
- automatic scaling update, very large DIWSTRT/DIWSTOP values are
  clipped to max overscan size when calculating display size
  (some demos had really wide autoscaling)
- fixed autoscaling + aspect ratio set + resolution/linedoubling ratio
  not 1:1 (for example lores + doubling) = wrong aspect ratio.
- clipboard Amiga->PC conversion crashed if clipboard contained no
  text data (empty FORM FTXT structure without data content)

Beta 12:

- file comment was not reset when file already existed and file was
  opened mode = MODE_NEWFILE, also caused lost file comment if file
  was opened and old comment was set again (probably another "since
  the beginning bug") Thanks to TC for finding easy test case.
- mousehack/tablet support "mouse sync" updates (still not fixed)
- "Magic mouse cursor" mode configuration added.
  - Both = show standard Windows and Amiga cursors
  - Native = show Amiga cursor only
  - Host = show Windows cursor only (with colors and shape copied
    from real hidden Amiga cursor) This mode fakes really smooth
    looking cursor movement (as long as positioning is correct..)
- 'e' debugger command OCS/ECS color register contents are shown
  correctly in AGA mode
- sprite garbage in some rare situations (reason not fully known..)
- floppy drives were emptied if quickstart was enabled, show gui on
  startup was not enabled and GUI was entered for the first time
- sprite attachment fixed. Surprisingly it works as documented :)

Beta 11:

- fix for graphics corruption introduced in 1.5.3 when bitplane DMA
  fetch happened while bitplane pointer was updated
- AGA 6 plane mode (non-EHB) was not always enabled properly (b3)
- added -clipboarddebug command line parameter that writes clipboard
  contents to file in winuae directory. (clipboard_p2a.xxx.dat
  and clipboard_a2p.xxx.dat)
- added ripper path to Paths panel, used by prowizard and sample
  ripper (previously sample ripper used screenshot directory and
  prowizard used winuae root directory)
- directory filesystem ACTION_CHANGE_MODE was completely broken in
  CHANGE_FH mode, returned error and "Error: couldn't find key
  x / y!" was logged. Bug since the beginning
- clipboard: multiple CHRS chunk merging fixed (again), less stupid
  clipboard.device detection
- blitter line mode (only if linedraw code was "weird") broke in b3
- file selection dialog (adf, hdf etc..) remembers previous filter
  mode ("*.adf", "all files" etc..)

Beta 10: clipboard stuff.

- clipboard: multiple CHRS chunks inside FTXT supported
- clipboard: IFF ILBM Amiga to PC support implemented. EHB supported,
  HAM6/8 automatically converted to 24-bit, 24-bit IFF supported
- clipboard: PC to Amiga IFF conversion. Counts the number of colors,
  if 256 or less, creates normal paletted IFF image, if more, creates
  24 bit IFF.
- clipboard: Windows clipboard is only updated when there is new data
  in Amiga clipboard and WinUAE loses focus. Same with Amiga clipboard,
  do not copy contents of Windows clipboard until WinUAE gains focus.
- switching from "artifact fixed" interlace mode to non-laced now
  force updates the screen completely, fixes possible glitches

Beta 9:

- flickerfixer improved, also first and last line glitch fixed, sprite
  positioning fixed. Now interlaced WB is rock solid.
- "Flicker fixer" renamed to "Remove interlace artifacts" (it really
  isn't same as flickerfixer or scandoubler)
- led transparency removed, it read from display ram which caused huge
  slow down
- artifact removal broke autoscaling
- am and sm debugger commands merged to single M<sub command> command
- bitplane disable debugger command added, Mb <enabled planes>
  [<if disabled plane, show it as all zeros or as all ones>]
- automatic, transparent clipboard sharing! Data in Windows clipboard
  is automatically copied to Amiga clipboard.device unit 0 and vice
  versa. Only text-based content currently supported. OS2+ only.
- REPEAT NOTE: D3D/OGL filter is still broken. Do not use.

Beta 8:

- UAE boot rom was enabled when it should not have been (b7)
- little blitter tweak, writing to bltcon1 while blitter was
  enabled confused blitter emulation in some cases
- filter multiplier select boxes now support manually entered
  multipliers, for example 2.5 = 2.5x.
- "Commandline" registry (or ini) string entry will be parsed as a
  command line (separate step after normal command line parsing)
- built-in hrtmon cycle-exact mode issue fixed
- non-interlace to interlace switch issue fixed (another one,
  they never end..)
- do not autoresize unless display parameters are stable for next 50
  frames
- added "Include removable drives.." option. Now "Add PC drives" only
  adds nonremovable drives. USB etc. will be only mounted at startup
  if new option is ticked. "Workaround" for case when "Automount
  removable drives" is ticked but USB (or whatever) drive is already
  inserted.
- removable drive insert/eject used unallocated signal bit, it did not
  cause problems but fixed now
- experimental "flicker fixer" implemented (Display panel). Works
  perfectly in WB, not so perfect in games yet (and impossible to get
  perfect in all cases, as usual..) No more interlace artifacts when
  any graphics object or mouse pointer moves.
  NOTE: first and last line will flicker or show garbage.
  
  Technical details: normal interlaced display goes like this: draw
  even lines (0, 2, 4, etc..), next frame draws odd lines (1, 3, 5..)
  This makes 25Hz refresh rate and also causes interlace artifacts when
  objects move. UAE flickerfixer draws both fields simultaneously,
  even lines = 0,1*,2,3*,4,5* and odd lines (0*,1,2*,3..).
  * = draw display using bitplane pointers stored during previous frame
  
Beta 7:

- version number bumped to 1.6.0
- added "resize" autoscale method. Resizes windowed mode window
  to current detected Amiga display size. (1:1 pixel mapping, no
  blurriness)
- PAL/NTSC switching in KS3.x early boot screen was ignored until
  following reboot (old bug)
- do not report no_cd-status when loading CD32 statefile without CD
  inserted
- doublescan modes autoscale/resize better
- improved Amiga display size detection
- autoscale option saved to configuration file
- do not capture mouse if mouse pointer is not in normal mode, prevents
  annoying accidental capture when dragging/resizing
- very large overscanned modes are centered in autoscale modes,
  previously right border was simply clipped
- tablet+magic mouse cursor positioning will be even more broken now
- do not create registry key if ini mode is enabled (release versions
  only)
- renamed "Drawing tablet support" to "Install virtual mouse driver"
  (which is not much better but at least a bit less confusing..)
- mouse autocaptures in "sync mode" if native side mouse driver does
  not get "heartbeat" signal from Amiga-side driver (for example
  when running game that takes over the system). Current timeout is
  2 seconds.
- native mode mouse cursor shape copied to Windows cursor (yes, I am
  going really too far now..) in mousesync mode. Just experimenting..
- left mousebutton didn't always work in mouse sync modes
- fullscreen and full window should work correctly again
  (hint: full window + autoscale + correct aspect = useful if you
  don't mind blurriness, scale2x/pal filter may also help)
- on screen leds' background is translucent (32-bit screen + filtered
  only)
- NOTE: D3D/OGL filters do not yet work correctly in autoscale,
  autoresize or mouse sync modes (=mouse driver + magic mouse)
- NOTE2: screen dragging does weird things with autoscale/mouse sync
  (mouse sync issue when two different screens are visible should be
  fixable)
- NOTE3: both real and "fake" cursor is temporarily visible in mouse
  sync modes. They should always be in 100% sync and have identical
  shape. (but aren't, still much work to do..)

Beta 6:

- Spheris Legacy top/bottom border autoscaling fixed
- screen width checking only stored final display size before vblank
  (game with wide gamescreen and narrow scoreboard at the bottom would
  have used scoreboard's width)
- autoscale saved to config file
- non-filtered mode is back but enabling autoscale will automatically
  enable null filter if current selection was no filter
- filter aspect ratio setting in autoscale mode was wrong
- filter aspect ratio now set by default
- detected screen size logged
- loading new statefile didn't always trigger scale update

Beta 5: WARNING: big changes. 1.6 version change expected.

- KS loader 16-bit odd/even rom image to 32-bit merging fixed
- A1000 bootstrap rom in even/odd format wasn't loaded correctly
- added "Blacker than black" display configuration parameter.
  Ticked = borderblank is full black, color register RGB range is
  0F0F0F to FFFFFF (instead of 000000 to FFFFFF) "Fixes" missing
  "widescreen effect" in Nexus 7 galaxy effect. (blanked border is
  "blacker than black" on real hardware, at least on TV-style
  display devices)
- useless correct aspect setting is gone (use null filter instead)
- do not try to decrypt broken non-encrypted DMS files
- added new panel "Gameports", moved joystick configuration from
  io ports. (more space for future "easy" input configuration mode)
- moved mouse related settings to new gameports panel
- added tablet settings to new gameports panel
- CD32 mode onscreen CD led now emulates real CD32 CD led behavior :)
- some CD32 CD command and status code updates (did some logic
  analyzer stuff, more to do later), now updated cd.device that comes
  with FMV cartridge works. Also CD command 2 now returns full
  firmware string, "CHINON  O-658-2 24" (useless but fun, same with
  CDTV CD ROM firmware versions..)
- F12+CTRL was same as F11+CTRL (partial copypaste error)
- renamed motherboard RAM expansion areas
- Wings of Death "fake" NTSC works correctly
- Null filter is default and non-filter mode is not anymore possible.
  Finally I can use filters for other things than just simple
  filtering . See below!
- filter FS multiplier + keep aspect works as expected
- pal/ntsc vertical size change emulated (using filter scaling, try
  KS3.x early boot screen)

- mouse and tablet/"absolute mouse" support completely rewritten
  * mousehack mouse removed (not needed anymore)
  * mousehack interrupt and task renamed to "UAE tablet driver"
  * do not select any "tablet mouse" in ports-panel. Use normal mouse.
  * tablet automatically detected (currently needs to be wintab32.dll
    compatible. Really confusing Tablet PC support maybe later..)
    Tablet properties in log file.
  * tablet and mouse are separate devices, like real Amiga tablets.
  * if tablet is detected (and "UAE boot rom" is installed), "UAE
    tablet driver" will be automatically enabled:
    KS1.x: uses old-style mousehack mode
    KS2.x: creates IECLASS_NEWPOINTERPOS/IESUBCLASS_TABLET messages
    (position, range and pressure. Note that pressure variable is
    documented as "not used" in 2.x documentation..)
    KS3.x: creates IECLASS_NEWPOINTERPOS/IESUBCLASS_NEWTABLET messages
    ("lots of stuff")
  * stylus inverted = right button (if supported by tablet)
  * proximity detection (if supported by tablet)
  * reported tilt angles are 99.9% surely totally wrong
  * Tested only with old USB Wacom Graphire.
  * No tablet.library emulation because no information available.
    (Deluxe Paint requires it for pressure support)
  * TODO: configuration (left button sensitivity, margins etc..)
  * New gameports panel settings:
    - "Drawing tablet support" = install "tablet driver", mousehack
      or real tablet. Same as mouse in "mousehack" mode. (bad label,
      will be renamed later..)
    - "Full tablet emulation" = use wintab32.dll for all tablet
      parameters (x, y, pressure etc..). Real mouse still works in
      mousehack mode.
  * "Magic Mouse" updated.
    - without tablet mode enabled: like previously but more accurate
    - mousehack/tablet mode: RTG mode perfectly smooth and seamless
      mouse cursor movement inside and outside of emulation window.
      (Changes Windows mouse cursor shape, hides real RTG cursor,
      works only if RTG hardware mouse cursor enabled)
    - native mode cursor sync should be always perfect. (this took
      long and was really difficult to do properly..) Does not work
      with screen dragging (yet?)
    
  * NOTE: real table support can't be improved until I get more
  information (tilt range etc..) Official documentation is non-existing.
  (short comments in includes aren't really considered documentation..)

  And finally extremely long awaited feature that was not supposed to
  ever happen: automatic display scaling!
  - enable checkbox is "autoscale" in filter panel
  - supports all filters (maybe?)
  - scaling sliders change extra border size (middle = no borders)
  - keep aspect ratio does just that
  - ignores possible sprites outside of display area (Banshee, Spheris
  Legacy etc..) Will be updated later..
  - enabled by default, aspect ratio disabled, at least during beta
  phase. Perhaps there should be button in quickstart panel to disable
  or enable autoscaling because not everyone likes blurry display to
  become the default..
  - to prevent very small displays scaled to fullscreen (like Guru
  meditation boxes), minimum allowed internal display size is 256*192.
  Max size is 344*272 (in lores, nonlaced pixels)
  - the better this gets the more comments I get.. (which means
  screenshot and complete name and/or CRC32)
  
  Does not (cannot) work with all programs. Why did I finally do this?
  Because "magic mouse" sync mode required position of display start
  and end and it was more or less the same was required for automatic
  scaling.. And also because filter internal algorithms are finally
  good enough.
  
Beta 4:

- removable real harddrives (or other memory devices) work again
  (broke in b2)
- OCS/ECS "7-planes" mode didn't enable EHB mode
- 320x256, 640x512, 800x600, 1024x768 and 1280x1024 are always
  available in Picasso96 resolution selection, even if host does not
  support the mode (in fullscreen mode automatically selects next
  higher available mode + black borders) 320x200 and 320x240 was
  already "faked" previously
- ECS Agnus 0.5M+0.5M "1M chip" mirror works again (Move Any Mountain)
- copper disassembler uses Agnus bank instead of direct memory access,
  works now with above configuration
- blitter writes work to "chip mirror" (Move Any Mountain missing gfx)
- mouse counter emulation rewrite, now works with programs that read
  counters hundreds of times/frame. (Oil Imperium pipelining minigame,
  some weird lag can be noticed but it is much better than previously)
- added support for 81 and 82 cylinder PC/Atari ST image formats
- memwatch breakpoints work after reset/memory bank changes

Beta 3:

- HAM errors if left border was not fully visible (it seems this bug
  has been there since the beginning of UAE, code that was supposed
  to handle this case has never worked correctly..)
- mid horizontal line HAM/EHB/DPF change fixed (Cover Girl Strip
  Poker) broke in 1.5.3
- added win32.guikey to configuration file, keycode that opens GUI
  (raw directinput keycode, for example F10 = 0x44) -1 = default.
- game & io-ports <none>-setting works properly
- vhd creator didn't create fully compatible images (larger images
  were incompatible with official vhd tools, did not cause data
  corruption)
- 1st Anniversary by Lazy Bones OCS/ECS "7-planes" trick emulated
  (missing black vertical lines)
- Disposable Hero title screen is now perfect. Take screenshots
  before it gets broken again :)
- added some more sanity tests to DirectDraw surface handling

Beta 2:

- fixed b1 slowdown when lots of sprites are visible
- CD32 mode CD32.TM detection added (log only)
- RTG vblank interrupt changes, use INTB_VERTB if RTG vblank is set
  to "Chipset". (very compatible, no extra interrupts happening) Uses
  INTB_PORTS if different than Chipset. (Previously used INTB_EXTER but
  some games didn't like it, Ports seems to be more compatible) Added
  "Disabled" option which disables RTG vblank support.
- fixed possible crash when closing fullscreen mode
- uaeserial.device unit 10+ open failure fix
- hardfile os-specific and common stuff separated more logically, more
  portable (and easier to add new image types, see below)

- VHD (VirtualPC) fixed and dynamic harddrive images supported. Reading
  and writing supported, image creation supported. HDF->VHD conversion
  is not built-in but you can use for example VHDTool or any other tool
  that supports raw to vhd conversion (hdf is a basic raw harddrive
  image type) "Differencing" image type may be supported in future
  (differencing = all written data goes to another image, like adf
  "saveimages")
  
  WARNING: vhd support may not be bug free yet. Remember backups!
  
  Why YetAnotherImageFormat? Main point is dynamic images. New empty
  dynamic image is always very small (even if virtual size is multiple
  gigabytes) and image grows automatically when needed.

Beta 1:

- DXSDK updated, D3D filters again require updated DX runtime
- some CD32 pad reading routines returned phantom buttons in JIT
  modes if pad was not "connected"
- another partial sprite rendering update, fixes sprite size problems
  in screen modes that have multiple resolutions in single horizontal
  line (for example Innovation Part 2 by Axxis is 100% correct now)
- also fixes wrong sized sprites in some lores resolution modes
- superhires in lores mode supported (show only every 4th pixel)
- superhires in filtered lores supported (visible pixel is average
  color of 4 internal shres pixels. This may be slow..)
- ECS SHRES in lores supported (both non-filtered and filtered)
- 10 sectors per track PC floppy images (800k) supported

1.5.3

Beta 8:

- delay sync clock enable until 10s from reset (do not confuse
  KS delay calibration routine)
- real PCMCIA SRAM re-insert detection really really does work now
  (Thanks to Eclipse for donating PCMCIA SRAM card)
  Vista note: Vista does not come with generic PCMCIA SRAM drivers
  anymore but XP built-in drivers do work, only need memcard.sys and
  memcard.inf from XP install. 32-bit Vista tested only.
- vblank interrupt was not working in RTG vsync mode
- fixed wrong colors after 16-bit fullscreen RTG to 32-bit desktop
  switch

Beta 7:

- fixed D3D scanline missing right edge
- OCS NTSC chipset always used PAL rates
- windowed RTG mode FPS counter shows both RTG and chipset refresh
  rates "<RTG> [<chipset]"
- CIA TOD didn't stop when genlock mode was enabled without genlock
  (caused KS to detect wrong timing mode, result was most OS time
  functions, including CLI wait-command, counted incorrectly if
  configured chipset refresh rate was different than current refresh
  rate. Bug since the beginning of time but genlock option made this
  worse because old "genlock always connected" feature hide this bug..
  (CIA-A TOD configured to PS tick didn't have this problem) Thanks
  to Ed Cruse for real NTSC A3000 testing.
- Syncronize clock improved. Automatically enables PS supply tick mode
  (CIA-A TOD = sysclock only if it uses PS supply tick) and also counts
  "lost" ticks when emulation is stopped (for example GUI is open)
  This is still a hack but at least it seems to work now :)

Beta 6:

- Picasso96 vblank rewritten again, now uses build-in Picasso96 vblank
  hardware interrupt support. It really works now, WaitTOF() does not
  waste CPU time anymore
- added Picasso96 vblank rate configuration in GUI. Chipset = RTG
  vblank is same as chipset refresh rate (same as in previous versions)
  Real = real host-side refresh rate. <value> = refresh rate. Currently
  this only affects vertical blank waiting functions
- "Associate all"-button didn't work
- fullscreen to another fullscreen resolution switch on non-primary
  display could have frozen emulation in some cases
- statefile-configuration parameter also sets default statefile path
- 150b23 "disk write does not start if wordsync is enabled" was not
  exactly right, disk write works normally if wordsync is enabled and
  previous read detected wordsync. Internal "Wordsync detected" flag
  apparently only gets reset when disk read is started. Kick Off 2
  save, most likely many other programs too..

Beta 5:

- moved file extension stuff to half-empty priority panel, replaced
  button with list and added (de)associate all buttons. Extension
  command line visible and editable? Perhaps later..
- Improved emulation of reads from write-only custom register after
  some boring real Amiga testing.. (still not exactly right)
  S.E.X by Fantasys works now. (does MOVE.L INTREQ,D0 when it should
  have been MOVE.W INTREQR,D0.. This only worked accidentally)
- Picasso96 vblank wait implemented without busy waiting. Was in pre
  1.5.0 but busy waited, was "lost" when RTG was rewritten
- sometimes first vertical blank interrupt was missed when loading
  statefile if statefile was created when blitter was active

Beta 4:

- midline resolution support changed again (should be "good enough" now,
  better compatibility requires bigger changes and boring logic analyzer
  testing)
- centering was very broken in some cases (b2)
- only accept openal32.dll 6.14.357.22 or newer. (fixes possible crash at
  startup)
- missing sprites in some programs fixed, for example Leander and Battle
  Squadron (b2)
- added descriptions to file associations, fall back to user-specific
  (instead of system-wide) file associations if no admin privileges (was
  broken in Vista)
- added "Associate file extensions"-button to Paths-panel. Adds following
  extensions: .uae, .adf, .ipf, .dms, .uss. Removal not yet possible
  (it gets really tricky if other programs use same extensions and there
  is no API for adding or removing associations, only way is to access
  registry directly.. believe it or not.) Automatic .uae association
  removed. Better GUI in future. Maybe.

Beta 3:

- fixed AGA display corruption (hopefully all cases..)
- POTxDAT behavior in output mode fixed

Beta 2:

- RTG hardware cursor was still visible if switching from hardware
  cursor enabled WB installation to non-hardware cursor installation
  without closing WinUAE
- some CE-mode memory access optimizations
- configuration cache loader missed most configuration files inside
  directories (parent was set to wrong entry..)
- some midline resolution change updates. Disposable Hero looks better
  but not perfect yet.. Innovation Part 2 by Axxis also looks better
  (sprite resolution issue still remaining). Brian the Lion "message
  dialog" corruption fixed.

Beta 1:

- huge memory leak fixed (display mode switch)
- fullscreen color depth change didn't work on the fly
- multi monitor resolution list may only have listed primary monitor's
  resolutions
- OpenGL fullscreen works again

Beta 0.1:

- "always on top" change works on the fly
- "no taskbar button" works on the fly
- missing stack frame type 4 added to RTE
- dragging zipped adf to floppy leds mounted it as a filesystem, not
  as a disk image (I guess zip containing only disk image(s) dropped to
  WinUAE window should also mount as a disk image?)
- emulated OCS-only "scanline" effect if DDFSTRT < 0x18. (Music disks
  Ode to Ramon I and II by Digital Force. ECS = scroller is unreadable
  and without "scanline" effect)
- "latest news/abandon"-fix broke "nakudemo"-fix, both work now
- parallel/serial/midi select menus didn't work
- Input-panel numeric boxes at the bottom didn't work (same as above)
- sleep_millis() was not thread-safe (could have caused random timing
  glitches in some very rare cases)
- emulate joystick 2nd/3rd button pullup resistor because some games
  require it (and apparently some/many Amiga compatible 2+ button pads
  have it). For example BC.Kid 2-button mode won't work without
  joystick/pad with pullup resistor in second button pin. (regular
  single button joysticks don't have pullups) Analog joystick update in
  1.5.x "broke" this.
- POTxDAT X and Y counter bytes were inverted (Aladdin second button)
- reset current disk sound parameters when on the fly drive sound
  settings are changed (does not fix missing motor sound until drive
  motor restarts, not worth the trouble, at least not yet)
- replaced "shouldn't happen" abort()'s in JIT with error dialog and
  forced hard reset
- highgfx superhires mode missing pixels fixed (also possible in some
  normal max overscanned AGA-only screenmodes)


Final 1.5.2

- uaescsi.device only updated CMD_GETGEOMETRY parameters when emulation
  was started (and also broke CMD_READ if there was no CD in drive)
- "Magic mouse" tried to uncapture mouse when it was already uncaptured
- save relative rom paths in ini-mode

Beta 4: (final beta)

- check openal32.dll version before using
- accept 1.5.1 language DLL files (no GUI changes)
- Catweasel: do not use direct access to read joyports if driver is
  installed, caused conflicts with driver provided joystick/mouse
  (note that I still don't care about CW until 64-bit compatible
  drivers are released, if ever. Do not ask stupid questions.)
- fixed D3D 8876086C error if display number in configuration file was
  bigger than current number of displays
- display mode switching mouse cursor handling tweaks

Beta 3:

- bsdsocket initialization rewritten, should be more reliable now
  if uae rom is moved and/or other extra residents enabled
  (I don't understand how it was supposed to work previously..)
- OpenAL sound mode problems fixed ("I hope")
- Raw mouse/"name of mouse" mouse wheel support fixed (has always
  been broken)

Beta 2:

- RTG mode and width set to bigger than resolution (autoscroll)
  = bottom part of display was not updated (1.5.0)
- windowed mode minimize and restore, only title bar was visible
- mute on/off inputevent fixed
- added analog joystick emulation multiplier and offset config
  entries (not in GUI yet)
- analog joystick emulation improvements, pot line (=2nd/3rd
  firebutton) capacitor charging/discharging emulated. Not yet
  perfect, F19 Stealth Fighter still not working in analog joy mode.
- directory harddrive/uaehf.device hardfile didn't enable
  uaelib hooks (used by uae-configuration/uaectrl)
- added log message if bsdsocket host-side initialization fails
- filter preset load didn't redraw the display using new parameters

Beta 1: (crashing bug = this will be quick beta series, really!)

- 4th floppy drive track display number was clipped in windowed mode
- non-vsync RTG mode run in "warp"-mode if native mode was set to
  fullscreen+vsync
- USB "non-friendly" name buffer overflow, caused random crashes
  and weird behavior, including uae-configuration issue. (1.5.1)
- sprite garbage was possible if sprite(s) active during resolution
  change from higher to lower resolution (AGA only) (1.5.0)
- OpenAL sound support (experimental, OpenAL may be better API for
  new AHI driver than DSound) Note that OpenAL uses internally
  DirectSound if sound card does not have native OpenAL support.
  "Generic Hardware" = DSound wrapper, "Generic Software" = WaveOut
  wrapper (really bad), something else = native support. OpenAL sound
  devices only available if OpenAL is installed. DO NOT ASK something
  like "What is OpenAL". Learn to use search engines first or ignore
  this feature.
 
Final 1.5.1

- compiled with August 2008 DXSDK, shader files modified (old ones are
  not compatible anymore) D3D filter now requires August 2008 or newer
  DirectX. Shader support need pixel shader version 2.0 or later.
- MSVC 2008 updated to final SP1

RC4: (still waiting for fixed winuae.net..)

- quickstart A1200: increase A1200 KS 3.1 priority over
  Cloanto A4000 KS 3.1 (AF2008 finally includes real A1200 3.1 ROM)
- multiple identical USB game controllers fix really works now
- non-ce/non-immediate blitter timing calculation returned totally
  bogus values if AGA fmode=3, wide sprites or sprite doublescan was
  enabled (tiny blit could take few seconds to finish in worst case..)
  Ancient bug.
- input device re-enumeration cleanup after usb device insert/remove
- crash when inserting or removing USB devices before emulation has
  been started
- inserting/removing USB devices does not anymore change currently
  selected mouse or joystick in ports panel

RC3:

- bsdsocket broke in rc2
- D3D filter does not crash if texture creation fails
  (=non D3D9 compatible display card/driver)
- shader filters renamed to "D3D: <name of filter>" in GUI

RC2:

- PAL filter was not selectable
- direct3d fullscreen mode switching really works now
  (non-flashing fullscreen d3d->other mode switching coming after 
  1.5.1)
- new autoswitching input handling got confused if multiple USB
  game controller had same product GUID
- fixed some harmless and ancient thread handle leaks

RC1:

- clear RTG screen when switching to different RTG mode
- d9dx9_36.dll set to delay load, winuae now runs without recent DX
  redistributable installed as long as D3D filter(s) aren't used
- shaders moved to plugins\filtershaders\direct3d (perhaps opengl
  shaders will be implemented someday..)
- pixel shader filter on the fly change crashes fixed (I hope)
- adf was not updated if disk write DMA was aborted (Cadaver save)

Beta 8:

- PAL filter preset fixed
- fixed random copper problem introduced in b7
- Direct3D filter updated to full D3D9, added pixel shader filter
  support (http://www.si-gamer.net/gulikoza/) Pixel shader files
  included with beta. Some filters will require PS3.0, some work with
  PS2.0. Check the log for possible error messages. Pixel shader filters
  are "free" as long as display card is modern enough.
  NOTE: this beta may need recent DX9 redistributable, I'll try to
  fix this later.. NOTE: on the fly switching can crash
- include hardfile name in IDE identification command

Beta 7:

- PCMCIA SRAM can work as a memory expansion now (it was not possible
  to execute 68K code in emulated SRAM previously..)
- configuration files in subdirectories didn't load if configuration
  cache was enabled
- "refresh rates in parenthesis" handling fixed
- on-screen leds do not disappear when switching filters
- enable ini-mode if <name of winuae.exe>.ini (without .exe) is found
  (previously winuae.ini was always used)
- logic analyzer copper timing updates (thanks to yaqube for test
  program) Not 100% correct yet, there seems to be unknown 2 cycle
  offset between bitplane dma and copper, and also seems to break
  Leander's right border (as I expected, something always breaks as
  long as it isn't 100% full fix)
- background color changes on very right edge of screen are now
  visible
- stop sound while inactive or minimized paused emulation
- directory filesystem statefile restore didn't work without
  restarting emulation

Beta 6:

- RAM limit update in previous beta wasn't working..
- ddfstrt >= ddfstop "feature" emulated. OCS = display ends at "hard
  stop". ECS/AGA = starts and ends immediately = not much to see.
  Scroll text in intro "Latest News" by Abandon is now visible,
  OCS-only, scroll text missing on ECS Amigas (except small graphics
  garbage on left border)
- uaescsi.device and uaehf.device read/write command parameter
  validation improved (previously length = 0 was considered valid)
- experimental rawkeyboard mode added, add -rawkeyboard command line
  parameter to enable it (also disables directinput keyboard mode)
  Normally not needed but may help if some keys are not working in
  directinput mode. Windows XP or newer only.
- added BIF_NEWDIALOGSTYLE to path selection dialogs
- path selection dialogs autoselect old directory
- added path selection dialog to "favorite path" feature (right click
  on disk image select buttons)
- filter aspect ratio selection added

Beta 5:

- avi recording crash if only audio recording was enabled
- native dll support fixed
- do not enable second Z3 board if RAM limit reached (=decrease Z3 size)
  and Z3 size is smaller than 256M (4M+2M combination for example is
  quite stupid..)
- adjusted max RAM limit calculation (max RAM + max page file instead
  of currently available RAM + max page file)
- sound adjustments, previously it was possible to lock non-safe portion
  of directsound sound buffer causing glitches in some cases (which may
  or may have never happened)
- SuperEagle, Super2xSaI and 2xSaI 32-bit color support added
- disable filter if filter size multiplier is too big for configured
  display size (instead of overflowing buffers..)
- resolution and doubling setting change on the fly updates filter
  centering
- added -ddsoftwarecolorkey command line option. Workaround for buggy
  Intel integrated laptop chipset Vista graphics driver causing non-
  transparent (pink rectangle) RTG hardware cursor
- (new AHI driver will be only available after 1.5.1)

Beta 4:

- input panel custom events in slots 2+ were not saved if previous
  slot was empty
- debugger memwatch points were still broken in byte and word modes
- debugger movem was disassembled incorrectly (wrong source/dest
  address shown) if addressing mode was not address register relative
- raw mouse friendly names added (was easier said than done..),
  defaults to old-style "RAW Mouse" if name can't be found
- directdraw max surface size driver workaround fixed
- game Lancaster ce-mode blank-screen tweak

Beta 3:

- corrected directinput keyboard enumeration, possible fix for
  wrong keycodes (=non-working key) on some keyboard/driver
  combinations. (bug since the beginning, I blame really bad keyboard
  directinput documentation)
- Picasso96 color space conversion color errors (b2)
- Picasso96 now always keeps aspect ratio in scaled modes
  (both windowed and full-window)
- window resize worked strangely in some cases
- full-window on the fly monitor change fixed
- disappearing mouse cursor if scaled window was smaller than original
  Picasso96 resolution
- detect Amiga Forever 2008 Value Edition rom key when winuae is
  located outside of AF install directory
- fullscreen to fullscreen non resolution/depth changes won't
  reopen the display anymore (except D3D/OGL<>other filter change)
- fullscreen to fullscreen resolution/depth change speed improved
- Windowed Picasso96 scaling fixed when native mode was set to
  fullscreen or fullwindow
- nasty memory corruption fixed in configuration handling introduced
  in 1.5 betas. Causes random crash or memory corruption sooner or
  later when saving configuration few times.

Beta 2:

- Picasso96 hardware mouse cursor may have been invisible (or wrong
  graphics) in some cases after resolution change
- borderblank switching does not corrupt graphics in interlaced modes
  (this was already fixed in beta 1)
- default JIT timing value increased to 25000, should help with some
  PCs that had slowdown in 1.5.0 series, hopefully without side-effects
- HRTMon works (again) if JIT is enabled
- "Kickstart replacement" is compatible with new KS loader
- interlace should work again in "normal" mode (no doubling or
  scanlines) (broken since 1.3b2..)
- interlace<>nonlace switching graphics problem fixed (1.5.0) 
- window is now reopened only when switching to fullscreen. Every
  on the fly windowed configuration change should never reopen the
  window anymore.
- full-window modes work again, filtered modes center properly
- renamed Picasso96 option "Scale instead of switching resolution" to
  "Scale if smaller than display size setting"
- added Picasso96 option "Always scale in windowed mode", this option
  causes window size to never resize when resolution changes. Also
  enables manual window resizing. Just experimenting..
- Picasso96 "Scale instead of switching resolution" in full-window modes
  always scales to full screen
- fixed possible crashes when switching Windows desktop resolution or
  when using quick user switching (post message if there are still
  problems, I rarely use these features)
- some directdraw and direct3d memory leaks fixed

Beta 1: (1.5.1 in few weeks)

- windowed mode "instant" switching implemented (this was planned for
  1.5.0 but it would have delayed release 2-3 more weeks)
- windowed mode window sizing enabled (not available in P96 modes,
  if enabled, what it should do? scale the image?)
- A500 "Chipset extra" enables RTC if memory expansion configured
- KS 1.3 hardfile mounting fixed (so far "worst" 1.5.0 bug found..)
- rewritten full featured AHI driver coming soon


  * all AHI sample types supported (8-bit, 16-bit, 32-bit)
  * 7.1 supported (probably will convert to 5.1 if 7.1 not supported)
  * rear speakers supported in stereo mode (negative panning value)
  * "infinite" number of sounds supported (basically emulates sound
    card with "infinite" memory)
  * number of simultaneous sounds only limited by PC sound card/driver
  * all mixing is done by Windows sound driver (old driver used
    Amiga-side software mixing)

1.5.0

Beta 25: RC1

- "non-standard" Picasso96 resolutions are available again
- fixed unusable huge crash dumps if logging was enabled

Beta 24:

- real PCMCIA SRAM card removal should really really work now
- real harddisk (or memory card or usb stick) disk change message
  could have been sent to wrong device unit if multiple harddisk
  devices were configured (including hardfiles)
- direct3d and opengl fullscreen fixed
- direct3d/ogl<>Picasso96 switching fixed (instant switch not possible)
- NTSC vblank end vpos fixed (top of display was cut in overscan modes)

Beta 23:

- OGL/D3D fixed but uses old scaling method (update after 1.5)
- AF2008 ROM scanner detection problems really fixed
- JIT timing change test (perhaps faster CPU without other
  side-effects..), added command line parameter -jitevent <val>
  current default 10000, old was 3000. Experiment if interested..
- default display buffer setting changed to "DefaultRAM" (which
  is same as in 1.4.6 and older, can cause too much confusion
  if new version even in non-Picasso96 mode is much slower than
  old version due to weird display drivers)
- disk write does not start if wordsync is enabled
- improved rare heavy CPU usage situation when sync word=0
  without disk inserted
- improved dragndrop file type autodetection
- ignore duplicate directinput joystick axis indexes

Beta 22: (To do: OGL/D3D scaling options. bleh.)

- AF2008 non-KS/extended ROMs didn't decrypt properly
- configuration cache checkbox added to paths-panel (default is
  enabled, saved to registry/ini)
- added pointless CD32+FMV Quickstart entry
- CDTV extended ROM 1.0 part numbers added (2.07 PN still missing)
- Action Replay 3 v3.09 even/odd ROM checksums added (roms dumped,
  thanks to Jope for adding ROM sockets to my AR3). First four bytes,
  io-addresses that can't be dumped using software dump method, are
  0x50 0x00 0x00 0x00. (how boring..)
- possible fix for sluggish GUI Memory-panel

Beta 21:

- A3000 1.3 SuperKickstart fakeMMU bonus remapping fixed
- A3000 mode (=A3000 SCSI enabled) forces UAE boot rom to backup
  location (no more conflicts with 1.3 SuperKickstart bonus area)
- notification area icon is now created only once at startup
- added function to uae.resource that can be used to query function
  pointers using string labels (more portable and safe)
- 32->16bit Picasso96 color space conversion fixed
- all missing Picasso96 color space conversion routines added
- HAM6 with less than 6 planes emulated properly
- 0.5M chip + 0.5M slow + ECS Agnus chip ram aliasing implemented
  (DMA addresses 0x80000-0xfffff are aliased to 0xc00000-0xc7ffff)
  Previous chip mapping fixes were not 100% correct, there is no "bus
  noise" when slow ram is enabled.
  Fixes demo "Move Any Mountain" by "Lazy Bones"
- floppy drive sounds fixed in 4+ sound channel modes
- fixed rare bug in configuration list, missing directory entries
  possible if it only contained other directories (no files)
- implemented configuration cache that caches all data needed to
  populate Configuration-panel quickly without directory/file scanning.
  Currently always enabled (this way I surely get enough testing..)
  Cache is stored in file called "configuration.cache" in configuration
  root directory. Cache file is only re-created when configuration is
  saved, deleted or cache file is missing or corrupted.
  Enable/disable in future, first some testing :)

Beta 20:

- only reset sound when changing configuration if sound mode, sound card,
  frequency, channels, or buffer size is changed
- 5.1 sound settings now also send mixed sound to center and LFE channel
  (mixing volume may need adjusting, please test)
- superhires sprites in doublescan mode had halved horizontal resolution
- power led fade support (very crappy)
- possible fix to random joystick/mouse switch crash
- programmed resolutions (doublescan) are now horizontally centered
- right side max sprite clipping position was incorrect
- D3D/OGL filters do not crash anymore but still do not work as expected..
- added Amiga-side uae.resource, safe method to find "uae rom" base and
  other information. Version of resource is UAEVERSION.UAEREVISION
  NOTE: in compatible modes resource may not be available.
  Check sources for more information.
  
Beta 19:

- lha/lzh archives with directory entries ("-lhd-") crash fix
- GUI chip ram 8M option was unavailable (b17)
- joyportx and input panel parameters (except input mappings)
  supported via uae-configuration
- less useless logging in fullscreen alt-tab
- GUI autoscroll fixed when using fullscreen mode smaller than 640x480
  on non-primary monitor 
- non-AR cartridge emulation problems fixed
- dont emulate chip ram mirroring if JIT direct is enabled at startup
  (OS can detect wrong chip ram size, JIT does not support mirroring)
- emulate "bus noise" (very far from real thing currently) when ECS
  Agnus but only 512M RAM configuration (512k chip ram, 512k bus noise,
  512k chip ram, 512k bus noise) In theory 1M/2M Agnus configuration
  should be implemented because 1M Agnus + 1M chip = 1M chip ram + 1M
  chip ram mirror but 2M Agnus + 1M chip = 1M chip ram + 1M of "bus
  noise" (for example A500Plus) Later..
- Picasso96 state file support fixed (not compatible with old states)
- development PC CPU updated to Q9450 quad core CPU, 3.2GHz
  currently, more/less overclock later :) (old CPU was E6600)

Beta 18:

- sprites were visible when they were outside of DDFSTRT/DDFSTOP range
  (which really is DDFSTRT - end of line, another undocumented
  feature) "Fixes" demo Blittersweet (looks more broken now but it does
  look exact same on real A500) This update may not be 100% correct yet,
  it can break other programs. Test and complain :)
- some archives mounted as a harddrive crashed

Beta 17:

- hardware mouse cursor trails fixed when cursor height > width
- cursor directdraw surface handling changed, perhaps workaround
  for buggy drivers
- fullscreen to fullscreen picasso96 mode switching work properly
  when "Match host and RTG color depth if possible" is off
  (instant switch without resetting display mode)
- Picasso96 "fake" (320x200 etc..) display resolutions fixed
  (resolutions disappeared few betas ago)
- added 1.5M chip ram option (A500Plus + 0.5M trap door expansion)
  NOTE: do not use with JIT, JIT does not like non-power-of-2 RAM
- added 384M/768M/1.5G Z3 RAM options (enables second Z3 RAM board,
  384M = 256M+128M, 768M = 512M+256M...) Why? Because on most PCs
  1G is not possible (without having 64-bit OS) but 768M is usually
  possible and lots of RAM is fun and pointless :)
- Z3 RAM is now always mapped (more compatible with some reset proof
  programs)

Beta 16:

- winuaebootlog.txt and winuaelog.txt (if enabled) is written to crash
  dump file automatically
- uncapture mouse when paused if in windowed mode
- release only non-enabled input devices when mouse is uncaptured and
  release all devices when focus is lost. This makes WinUAE's behaviour
  more Windows-like (input is read as long as program has focus)
- "Match host and RTG color depth if possible" set and 24-bit fullscreen
  Picasso96 mode selected -> use 32-bit native mode
- fixed corrupted Picasso96 hardware mouse cursor in 8/16-bit modes

Beta 15:

- autoconfig emulation update, fixes AR3 (broken) autoconfig code that
  detected non-existing ram expansion at 0x00600000-0x009ffff
- modified directdraw fullscreen mode fallback code
- Picasso96 hires hardware sprite problem fixed. It was emulation
  problem after all.. (I really need new brown paper bag soon)
- Picasso96 hardware sprite resolution switching problem should be
  really fixed now. (lots of logging can still happen after alt-tab,
  this will be removed later)
- disk insert/remove tweak

Beta 14:

- fixed IDE emulation crash
- uae-configuration problems with some config entries
- pointless feature: 68881/68882 available in 68000/68010 modes
  (cycle-exact or more compatible not allowed at the same time)
- warp-mode didn't work in fullscreen mode if display refresh rate was
  set to "default"
- restoring statefile that includes one or more directory harddrives or
  uaehf.device hardfiles didn't restore uae boot rom properly
- some vsync tuning
- pause sound immediately when entering GUI
- maprom "shadow" ram moved to 0x0f000000 (no more conflicts with
  extended ROMs or incompatible Cloanto Kickstart ROMs)
- hardfile state restore freeze fix (Picasso96 statefile support not
  yet updated)
- Picasso96 hardware sprite DirectDraw surface is now allocated only
  once (instead of dynamically re-creating when shape changed)
- gfx garbage in mixed non-interlaced and interlaced modes should be
  finally fixed (maybe. for example Pinball Illusions scoreboard in
  hires-mode)
- totally broken interlaced doublescan modes fixed
 - "The Diagnostic 2.0" by Logica (Amiga diagnostic replacement ROM)
  keyboard detection fixed. Checksums added to ROM scanner.
- do not send initiate and terminate power-up key codes after
  restoring statefile
- floppy sounds also supported in <winuae path>\plugins\floppysounds
  directory
- JIT GUI changes, removed useless force checkbox, direct/indirect
  switching should work as designed again

Beta 13:

- more screen mode switching problems fixed
- automatically select next bigger resolution if fullscreen mode fails
  to open (for example 50Hz-only modes without 50Hz compatible display)
- added "keep aspect ratio" checkbox to filter panel, syncronizes
  vertical and horizontal zoom sliders (OGL/D3D are still broken!)
- both vertical and horizontal filter multiplier set to "FS" and aspect
  ratio checkbox checked -> keep aspect ratio
- midscreen BPLCON4 modifications fixed (broken since 1200b2, stupid bug,
  wrong register address..) fixes Gloom (and other programs using same
  copper C2P method) graphics problems
- winuaeenforcer stack debug output fix (BR)
- PCMCIA SRAM emulation eject crash fix
- fullwindow Picasso96 mode is centered again

Beta 12:

- hardfile creation: sparse file option added (sparse file = non-written
  parts of file do not take space on HD, NTFSv5+ required)
- IDE harddrive emulation LBA48 support implemented (>128G hardfiles)
  NOTE! READ THIS: http://eab.abime.net/showthread.php?t=35801
- memwatch breakpoints with value detection improved if size is word or
  byte
- CD32 CD frame interrupt was not always cleared (Liberation CD32, perhaps
  others, JIT still needs to be disabled)
- mousehack (tablet) mode fix, partially broken since 1.4.6 (not tested,
  I need to borrow my brother's tablet first..)
- Picasso96 tweaks

Beta 11:

- uaegfx.card is now WinUAE built-in, libs:picasso96/uaegfx.card is not
  needed anymore (and is ignored if it exists)
- resolution names in display preferences are now named
  "UAE:<w>x<h>" instead of "uaegfx:<w>x<h>"
- added new Picasso96 options to GUI
- 24-bit display depth Picasso96 blitter routines implemented/updated
- added all Picasso96 supported color depth modes, defaults are
  old standard PC modes (palette mode, R5G6B5PC and B8G8R8A8)
  NOTES:
  - only one 8-bit,15/16-bit, 24-bit and 32-bit mode supported
  simultaneously
  - All "new" modes require color space conversion = slower.
  - Not all mode color space conversions yet supported (black screen)
  - Can be useful with old RTG compatible demos or games that require
    specific "non-pc" display color modes
- added "Display buffer" option to misc-panel (stored to registry)
- "FS" scale setting is now the default
- refresh whole screen using very optimized routine if >80% of
  Picasso96 screen needs refreshing (faster than partial update)
- Marvin's Marvellous Adventure clouds/score interference fixed
  (It was really stupid bug, can only happen with AGA sprites)
- Skid Marks hires mode car sprite problem fixed (b10)

Beta 10:

- MOVEM is not weird in debugger anymore
- JIT RAM allocation failure path fixed (if Z3+RTG RAM fails to
  allocate, lower amount of RAM automatically and try again)
- limit internal sprite resolution to current display resolution
  (setting in display panel), should improve performance slightly
  in AGA modes if lots of sprites are used and display isn't shres
- harddrive detection crash if returned STORAGE_DEVICE_DESCRIPTOR
  was shorter than expected
- disable hardware sprite if uaegfx.card is old version without
  hardware sprite support and devs:monitors/info has softsprite=no
- adjusted DirectDraw surface allocation parameters, perhaps helps
  with P96Speed differences
- added -ddforcemode <mode> command line parameter, if you have slow
  P96Speed results compared to 1.4.6, try mode values from 1 to 3 and
  report results.

Beta 9:

- crash when fullscreen enabled and error dialog was shown before
  display was changed to fullscreen
- CD32 state restore compatibility improved
- SSCAN2 'undocumented' feature emulated. "If SSCAN2 bit in FMODE is
  set, then disable SH10 horizontal coincidence detect". This really
  means both one AND zero SH10 match = single sprite can appear twice
  on screen! (Fantastic Dizzy CD32 background)
- AGA mode only: last line of sprite may have been redrawn if bitplane
  width was changed and sprite was reused later (introduced in 1.4.5)
- debugger sp command improvements
- AGA sprite outside bitplanes position bug fix (introduced in 1.4.5)
- Picasso96 8-bit mode wrong palette after mode switch
- Picasso96 8-bit and 16-bit optimized blitter bug fix, too much data
  was blitted if width was >32 bytes (not pixels) and it was not
  divisible by 32. 32-bit mode was working properly.
- emulated LPSTOP instruction (68060 only)
- MMU instructions didn't check supervisor mode. Note that there is no
  MMU emulation, I think I have to repeat this every time I talk about
  MMU :)
- added 68040/68060 MMU instructions to table68k (no more generic
  "MMUOP" in debugger's disassembler) 68030 MMU instructions are still
  shown as "MMUOP030", they don't really fit to table68k format because
  first instruction word does not specify the instruction type
- MOVEC weird disassembly updated (MOVEM is still weird)

Beta 8:

NOTE: OGL/D3D filters still using old scaling

- uaegfx.card fallback graphics routines fixed (rarely used drawing
  modes that native C-code "blitter" does not support)
- print uaegfx.card version to log file
- simple RTG scaling support, do not change resolution but scale to
  fullscreen if display size configured in display panel is larger than
  requested Picasso96 resolution. Quality is not good, real filter
  support later. Perhaps.. Mainly useful with games/demos that use
  very low resolutions. (configuration enable option not yet added)
- "super skid marks fix" updated, previous "fix" broke all attached
  AGA-mode sprites
- GUI does not get overdrawn in fullscreen when adjusting filters
- timer calibration removed, uses now performance counters only, also
  checks periodically if counter frequency changes and adjusts to new
  rate automatically (possible fix for random power saving slowdown
  problems)
- fullscreen non-filter mode graphics problems fixed
- vsync is working but it isn't 100% smooth yet (at least on my PC)
- real CD32 rom (391640-03) checksums added to rom scanner
- fixed left and top border RTG hardware cursor graphics problems
- added warning if p96_uae_tweak is detected, it is incompatible with
  new uaegfx.card (update will be released later)
- filter temporary directdraw surface size restricted to max hardware
  supported 3D texture size (at least some cards apparently switch
  to very slow software blitter if size is bigger than max texture
  size) note that this can restrict scaling range, image simply
  disappears if scaling multiplier is out of supported range
- "watch" only visible RTG display RAM, should improve performance if
  program uses multiple temporary offscreen bitmaps
- RTG hardware cursor didn't always get erased properly when cursor
  shape was changed
- ROM chip part numbers added to rom scanner data, also added to GUI
  because not all ROMs have confirmed part number yet. "Non-ROMs" not
  included, like separate CD32 ROMs (real CD32 has single 1M ROM)
- PCMCIA SRAM on the fly insert/removal fix


Beta 7:

NOTE: _DO_ use filters (except OGL/D3D). Vsync still broken.

- Gayle and Gary CIA select lines work slightly differently, Gayle
  does not select any CIAs if both CIA select bits are zero (address
  bits 12 and 13). Gary enables both. Gary-style selection was
  emulated long time ago, Gayle-style emulated now. (I think 'select
  both CIAs' was only used by some games accidentally and perhaps
  also used by some copy protections)
- car color flickering in hires mode super skid marks (ancient bug)
- real PCMCIA SRAM card detection really works now
- uaegfx.card updated, now works even if "UAE boot rom" is not in
  "standard" 0xf00000 location (=CDTV ROM enabled) or disabled.
  Previos version simply crashed.
- uae boot rom backup location moved from 0xe70000 to 0xef0000
  (0xe70000 can conflict with KS mirror)
- jit memory allocation update, should prevent random RTG memory
  allocation failures
- Picasso96 emulation updates and tweaks
- CPU panel "After RTG" radiobutton removed, not needed anymore
- big filter rewrite (NOTE: OpenGL/Direct3D not yet updated)
  Settings needs to be readjusted
  + works more intuitively now
  + scaling does not affect centering anymore.
  + position setting (0,0) = centered.
  + 1/2x scaling factor added
  + "FS" scaling factor added = full screen scaling (obsoletes short
  lived "full screen filter" setting)
  + user scaling factor (FS,1/2x,1x,2x..) never include filter's
  possible internal scaling
  + hq3x and hq4x added
  + onscreen leds are now rendered after filter calculations
  + (some kind of "keep aspect ratio" option needed?)

Beta 6:

NOTE: Do not use filters, do not use vsync.

- real 8-bit RTG mode work (fullscreen only)
- buffer overflow in floppy image favorite shortcut code
- disappeared Z2 fast ram amount box is back
- Z3 but no RTG RAM allocation failure fixed
- Picasso96 BltPattern and BltTemplate COMPLEMENT-mode uses now native
  code
- Picasso96 "new" mode is now Windows 2000 compatible. NOTE: this is
  not 100% correct yet, graphics errors possible. W2K workaround mode
  is also slower than Windows XP+ mode
- Picasso96 RectFill() optimization (2x speedup here)
- some mode switching crashes/graphics errors fixed
- write warning to log if blitter is forced off in devs:monitors/uaegfx
- 8-bit modes removed from display-panel GUI. Native (custom chipset)
  display modes need at least 16-bit color depth now. RTG 8-bit still
  supported.

Beta 5:

NOTE: filters are currently not supported, they may or may not work
NOTE: vsync not supported. expect flashing or other issues..

- "favorite path" editing added. Path added is always last opened
  path from any file select dialog. (later..)
- "favorite path" right button context menus added to most path
  selection buttons
- picasso96.c clean up, removed old p96mode and other unused code
- new p96mode works without JIT
- CHK.L is 68020+, not 68000+ (only CHK.W is 68000+)
- uaescsi.device missing CMD_GETGEOMETRY added (not sure if "geometry"
  data is correct but at least device type and removable flag is set)
- RGB overlay option is gone, not very useful anymore and newer
  display drivers seem to emulate this in software..
- big directdraw support rewrite
- fullscreen to different fullscreen mode switching should be quick
  now (no more switching back to desktop and then back to fullscreen)
- 16 bit modes should work correctly again
- Windows-side 8 bit modes (temporarily) disabled. 8-bit RTG modes
  still work and are automatically converted to 16/32-bit
- "Match RTG color depth" option added to misc-panel. If checked
  fullscreen RTG mode uses Amiga-side color depth (as previously)
  Not checked = always use Display panel depth setting. (if you have
  programs that switch modes but you don't want Windows-side display
  mode changes) Windowed mode always uses desktop color depth
- GUI debugger updates (KB)

Beta 4:

NOTE: Fullscreen RTG modes are not fully working yet. Do not use.
NOTE: Before benchmarking, make sure Display panel display depth
matches Picasso96 display depth.
NOTE: P96 OLD-mode not supported. Only use NEW-mode.

- "Full-window" mode does not reopen window when switching modes
- 16 and 8-bit RTG mode optimized blitter operations
- RTG template-blit ("RectFill() Pattern") operations optimized (do
  pen value endian swap only once per blit, not every pixel..)
- RTG hardware mouse cursor implemented. Rock-solid, no flickering.
  Replace libs:picasso96/uaegfx.card with included updated version.
  NOTE: Make sure devs:monitors/uaegfx.info does not have forced
  software sprite setting. (SOFTSPRITE=Yes)
- 16-bit RectFill() graphics corruption fixed (b3)
- rom scan registry data updated, A590/A2091 ROMs work again, also
  version number information in the log is correct. Manual ROM rescan
  required or all roms will fail to load
- "favorite paths" added. Right click on floppy "Select disk image" or
  ".." buttons to open favorites menu. Data stored in registry, no
  GUI support yet. No data in registry: show beta-only example paths.
  There may be submenus or something similar in future if you are
  wondering about 'ALL'-part.. Will be added to other path-buttons in
  future.

Example registry editor export:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Arabuusimiehet\WinUAE\FavoritePaths]
"PATH_ALL_01"="d:\\amiga\\stuff\\games"
"PATH_ALL_02"="d:\\amiga\\stuff\\demos"
"PATH_ALL_03"="My Favorite Path #1 \"E:\\blah\\blah\\adf\""


Beta 3:

- "P96 new"-mode only: RTG display depth is now completely virtual.
  Emulation converts to real color space (configured in display panel)
  16->32, 8->32, 32->16 and 8->16 supported. 8-bit and 16-bit (without
  overlay) now possible in windowed mode. I guess real 8-bit support
  can be removed because it is not very well supported anymore..
  24-bit and 16-bit RGB (instead of 16-bit BGR) can be also implemented
  if some weird program don't support other modes..
  NOTE: make sure you have 32 bit selected in display panel if you want
  real 32-bit RTG mode. (instead of 32bit converted to 16bit)
- "new mode" fixes and optimizations
- chipset<>RTG switching is now instant (no closing and reopening) if
  both modes have same dimensions. (to do: different dimensions)
- "old p96 mode" will be removed soon because it is incompatible with
  above new features. (perhaps some optimizations to do first)
  Other new possible features will be RTG filter support (for example
  2x support for small resolutions like 320x200)

Beta 2:

- experimental Picasso96 speedup code. Default enabled, temporary
  option added to RAM-panel (stored to registry, not config file)
  May be slower on older PCs, I get up to 8x speedup in P96Speed
  benchmark (both desktop and laptop) Post your results here.
  Including PC specs, "old" and "new" P96Speed or other test results.
- harddrive detection now also includes more devices, even CDROMs..
  (perhaps this allows PCMCIA SRAM direct access)
- Weird Dreams sound problem (hospital scene when game is starting)
- GUI debugger patch I forgot to merge


Beta 1: (possible big changes in future betas)

- MSVC 2008 compiled. Does not run on Windows 98/ME anymore.
- debugger sprite dump command added (sp <addr> [<addr2>] [<size])
- A3000 2.04 revision number fixed. It really is 37.175.
- DOS HD floppy image crash fixed
- PCMCIA SRAM card emulation. SCRAM "HD controller" in harddrive panel
  (other HD parameters are ignored) Hot-swapping supported.
  Note 1: Amiga PCMCIA slot supports max 4M of directly addressable RAM
  and you can't have more than 4M of (non-32bit) fast RAM at the same
  time. Note 2: real PCMCIA SRAM card in PCMCIA/CardBus slot is not
  supported yet. I need SRAM card to implement it (or good
  documentation)
- rom scanner odd/even split and byteswapped rom support. Does not
  include: AR2/3/1200 ROMs (no real rom dumps available), Arcadia ROMs
  (not worth the trouble) or "non-rom roms" like Cloanto ROMs.
- rom scanner data in registry changed, added human-readable names
  NOTE: You need to manually rescan roms if you need to use 1.4.6 or
  older WinUAE versions
- EXTB.L was 68000+ when it should have been 68020+ (bug since the
  beginning and more)
- Gayle interrupt handling rewritten to match preliminary datasheet.
  This solved remaining PCMCIA problems. This can also fix possible
  problems with IDE emulation with specific device driver versions
- uaenet.device NSCMD_DEVICEQUERY fixed (didn't work and/or corrupted
  memory) S2_ADDMULTICASTADDRESSES and S2_DELMULTICASTADDRESSES had
  wrong command number
- uaenet.device random deadlock fixed
- really ugly uaenet.device interrupt handler setup replaced with
  proper exec.library AddIntServer() call
- added NSCMD_DEVICEQUERY to uaeserial.device
- added some sanity checks to emulated devices' open function
- Quickstart boot disk check does not complain anymore if track zero
  has errors but sectors 0 and 1 are ok
- multithreaded avioutput (finally). Video/audio encoding now runs
  in separate thread, MUCH faster encoding on 2+ core CPUs
  Note: null filter recommended (or any other 2d filter), non-filter
  mode requires reads from display RAM which is very slow
- GUI debugger improvements (Karsten Bock)


1.4.6

1.4.6 will be the last Windows 98/ME compatible version. 1.5.0
will require Windows 2000 or newer.

Beta 9:

- CD32 FMV cartridge "supported" (Actually it is a Z2 board). CD32 FMV
  ROM checksums added to scanner. Completely unusable currently.
  CD32 Cannon Fodder will try to play video, of course nothing can be
  seen or heard :)
- ECS Denise (without ECS Agnus) option re-added. Confirmed working
  configuration (except superhires, OCS Agnus does not know shres
  bitplane DMA sequence, result is vertical stripes. This "feature"
  is not emulated)
- full screen filter GUI checkbox was not initialized correctly
- small fullscreen filter tweak
- set foreground Logitech LCD priority when WinUAE has focus

Beta 8:

- input-panel NMI and END+SHIFT+Break NMI was unstable in
  cycle-exact/more compatible modes
- Denise without EHB added to advanced chipset (was already in
  A1000 "ICS" Quickstart)
- original Agnus BLTBUSY bug added to advanced chipset (also was
  already in A1000 Quickstart)
- accept same windowed mode resolution as windows desktop
- added "full screen" option to filter panel. Amiga display area
  fills whole screen when this option is enabled. Maybe useful when
  using "full-window" mode. Note: "whole screen" = resolution selected
  in full screen display select box, even in "full-window" mode.
  "Internal" filter window size can't be adjusted yet.

Beta 7:

- debugger activating when address error happened (debug code..)
- 1M CDTV ROM (0xf00000-0xffffff) confused CPU emulator if m68k
  instruction crossed extended and ks rom memory banks, 1M CDTV ROM is
  now single 1M extended rom bank (I am still doing 1M real CDTV EPROM
  tests..)
- audio emulation update, copy AUDLEN and AUDLC to backup registers
  when AUDxDAT starts interrupt-driven audio mode (Dungeon Master II)

Beta 6:

- binary support added to debugger, '%10101'
- hex/dec/bin converter added to debugger, '?<value>'
  result is 0x<hex>, %<bin>, <unsigned dec> and <signed dec>
- all debugger commands which take numeric parameters also accept
  register names: A0-A7 = RA0-RA7, D0-D7 = RD0-RD7, PC, USP, VBR,..
- debugger number prefixes: hex = 0x or $, bin = %, dec = !. Most
  command parameters default to hex (addresses) or decimal.
- do not reserve lots of jit direct ram if non-jit compatible cpu
- logitech lcd dfx/cpu/fps counter leading zeros removed
  (I have G15 again, updated revision this time)
- some incorrect Quickstart RTC configurations fixed
- keyboard reset warning feature emulated and added to advanced
  chipset panel. Reset warning information:
  http://cataclysm.cx/random/amiga/reference/Hardware_Manual_guide/node0178.html
  Reset warning sequence is only triggered if Amiga-Amiga-CTRL key
  sequence pressed and reset warning setting enabled. Or Input panel
  event "Keycode 0x78 (Reset Warning)" is received.
  Amiga-Amiga-CTRL-ALT still does instant hardreset. Second
  Amiga-Amiga-CTRL during reset warning sequence will also cause
  instant reset.
  Pre-emptive "bug report": if Amiga-Amiga-CTRL now causes gurus,
  reset delays or something weird (and does not if reset warning is
  disabled or GUI Reset-button clicked) you have buggy/badly configured
  reset handler utility installed. This is Somebody Else's Problem.
- joystick autoswitch update: firebutton press on non-connected
  (to emulated Amiga port) joystick AND another joystick already in
  joystick port (port 1) WITH firebutton pressed = insert new joystick
  to mouse port

  Following can be ignored if you aren't testing custom ROM images
  before burning EPROM(s)

- kickstart chipram overlay maps 0xe00000 rom instead of 0xf80000,
  same with 0xf00000 rom if it begins with 0x1114 (emulates my 1M CDTV
  EPROM hack..)
- 2M ROM image support. Gayle ROM mapping:
  * first 512K bank: E00000-E7FFFF (overlay bank)
  * second 512K bank: A80000-AFFFFF
  * third 512K bank: B00000-B7FFFF
  * fourth 512K bank: F80000-FFFFFF
  At least A600 and A1200 have 2MB ROM support but note that A1200
  Blizzard accel's MAPROM feature must be disabled
- cia overlay advanced chipset setting added (Pre-Gayle models use
  CIA overlay io pin, newer models have overlay logic inside Gayle)
- ROM Mirror advanced chipset setting separated to E0 and A8 ROM
  banks. (A8-B8 = Gayle feature)

Beta 5:

- fixed wrong input device GUID format in config files
- 'friendlyname' mapping didn't work if device name had trailing
  whitespace (like USB ProComp 'USB 2A4K  GamePad          ')
- C00000 and F00000 relocated beta/special KS roms supported
  (200000 already supported long time ago)
- A3000 official confirmed 2.04 ROM added (37.132 internal rom version,
  37.175 shown in "insert disk" screen..)
- possible crash when switching >2M chip setting from/to <=2M Chip
  and >0M Fast RAM configuration
- removed bogus "P96: display resolution list corruption" log message
  if biggest available resolution required more RTG RAM than available
- directory filesystem ACTION_EXAMINE_ALL is now "compatible" with
  FFS implementation. (workaround for older Scalos ExAll bugs that
  caused missing icons. Probably fixes other bad programs too..)
  - eac_Entries is now always at least 1 if continuation flag is set
  - keep returning ERROR_NO_MORE_ENTRIES even if previous call already
  returned ERROR_NO_MORE_ENTRIES

Beta 4:

- A600/A1200/A4000 IDE emulation 4G wrap around bug fixed
- "Add PC drives at startup" drive device name creation tries to detect
  already mounted device names, prevents ugly looking 'DHx_0'-style
  names. (note that this only affects name generation of "Add PC drives
  at startup"-drives)
- renamed GUI "autoboot" -> "bootable"
- rom scan duplicate path detection improved

Beta 3:

- input compatibility mouse switching restrictions added due to
  stupid Windows "supermouse" features. (Problem happens when you get
  two or more mouse button clicks from two or more virtual mice when
  in reality there is only one physical mouse..) Also you can't just
  select "raw mouse" because it can have different speed/acceleration
  than Windows "supermouse" mouse cursor..
- unusable pcmcia sram card emulation. No on the fly card insert/eject
  support yet. (insert empty sram card before starting emulation =
  card becomes system ram expansion automatically)
  This will be fully implemented after 1.4.6
- new default mapping end+shift+pause/break = IRQ7/NMI
- hardfile info panel didn't use 2G+ compatible size check
- IDE emulation end of drive check fixed (most block addresses after
  2G were detected as past end of disk)
- JIT-mode memory allocation was not disabled in non-JIT modes
  (68000/68010 and 68020 without 32-bit address space)
  Caused problems with cartridge emulation and more. (b2)
- GUI aligment/spacing errors fixed (David Walker)
- "Add Harddrive" HD controller select box updates correctly
- "SWIV" undocumented bitplane feature broke in 145b4 (not related to
  shres changes, just standard code cleanup copy/paste error..)


Beta 2:

- sprites outside bitplane area (AGA feature) was not working in all
  bitplane/sprite resolution combinations (broke when shres was added)
- relaxed Z3/RTG max RAM limits slightly (NOTE: it is 100% your
  problem if you select too much RAM resulting in massive paging and
  hd trashing)
- systray icon was not always removed
- fullscreen mode fallback fixes (145b18)
- do not flush directory filesystem cache if ACTION_MORE_CACHE is
  called with dp_Arg == 0, return current number of buffers only
- ports-panel joystick/mouse friendly/guid name saved to config file,
  no more changed selected devices if you save config, exit WinUAE,
  insert or remove some input device(s) and then reload the config

- joystick/mouse autoselection, input compatibility mode:
  Press any unselected joystick's button 0 to "insert" it in
  Amiga port 1 (joystick port) and button 1 to "insert" it in port 0
  (mouse port). Same with any unselected mouse except left mouse
  button = port 0 (mouse port) and right mouse button = port 1
  (joystick port).

- joystick/mouse autoselection, input configuration mode:
  Differences compared to compatibility mode:
  - because you can have mappings to multiple ports, device's first
  port related mapping in input-panel is decided as the only port
  number when doing remappings. When switching, only mappings that have
  same port number are remapped to new port. Old mappings that already
  have new port number will be remapped to old port number. Other
  mappings are not changed.
  - all other devices that are mapped to same port as new device will
  be disabled
  - only devices that are disabled (checkbox on right side of device
  name is not ticked) are available for autoselection
  - mouse switching is disabled if there are any "supermouse" mice
  enabled (Windows mouse etc..) because it would cause total confusion.
  Rawmouse or catweasel mouse are "safe".  
  
  Note: joystick button 0 has to select port 1 because for example
  Amiga joysticks in PC adapter may only have one button and generally
  you want joysticks in port 1.
  
  Just insert any plug&play compatible joystick on the fly and press
  first button. Can't get any easier!

Beta 1:

- ESS Mega (CDTV) "hidden" data track now reads properly on W2K/XP
  (uses SPTI READ_CD SCSI command if ReadFile() returns zero bytes.
  This is getting quite messy, mixing IOCTL, MCI and SPTI, Windows
  version specific read modes etc..) NOTE: SPTI requires exclusive
  access (IOCTL does not) so make sure no other program (including
  Windows explorer) do not have any open handles.
- crash when program executes any 68k command that causes a-line
  exception and pc was in first 64K of chip ram (145b1x)
- added inverted mouse/analog joystick input events
- 'none' input event was incorrectly parsed causing all following
  'sub configuration' entries to be ignored
- added friendly name and not so friendly (GUID) device names to input
  configuration file (so that we can match devices if they change or
  configuration gets moved between PCs, see below)
- input device insertion/removal on the fly supported (Windows 2K+)
  Lots of bugs expected.. (ports-panel settings are not updated yet)
- fixed mouse not capturing (Windows 98/ME mainly)
- dynamic JIT direct memory allocation, can now have max 1G of Z3 fast
  or 512M RTG RAM (both not possible at the same time, automatically
  lowers memory settings until allocation succeeds) Max 2G Z3 possible
  when 98/ME support is gone (need also 64-bit OS)
  Extremely pointless feature.


1.4.5

Beta 19:

- ESS Mega (CDTV) now works, added workaround for another Windows
  low level CDROM read weirdness..

Beta 18:

- moved Picasso96 resolution list from special reserved display RAM
  area to regular Amiga RAM (allocated with AllocMem) This should be
  100% fix to display resolution list corruption in display prefs
  utility. (if previous fix in b16 didn't fix it)
- following "fake" display resolutions added to Picasso96 resolution
  list (if no native support): 320x200, 320x240, 640x400, 640x480.
  In fullscreen selects next bigger supported resolution automatically.
  Note: fullscreen display is not centered
- keyboard led emulation should not cause random key presses anymore
  (but it still is quite unreliable)
 
Beta 17:

- rom scan detected roms inside archive directory failed to load
- mouse buttons #4 and #5 default Left ALT + Cursor Left/Right mapping
  fixed, was mapped to "Wheel +/-" if less than 5 buttons

Beta 16:

- added 2 non-autoconfig ram configuration entries
  addmem1/addmem2=<address>,<size>
  Adds fast ram to specified address without autoconfiguring it. Size
  must be power of 2 and min size is 64k. GUI support in future.
- uaenet.device unit number >0 abortio fixed
- 512M Z3Fast and 128M RTG RAM now works without overflowing allocated
  JIT direct access memory (no garbage gfx modes in display prefs)
- map extended ROM location depending on advanced chipset CDTV/CD32
  settings (previously 256k = 0xF0, 512k = 0xE0)
- Direct3D CreateTexture() return code was ignored, crashed if texture
  creation failed for some reason (out of video memory?)
- misc tweaks

Beta 15:

- fullscreen switching should work correctly again
- mouse moves are now ignored if winuae is not active
- do not get in "semi mouse captured" mode if WinUAE opens without
  focus (for example other program got focus before WinUAE opened)
- some uaenet.device tweaks

Beta 14:

- BPLCON3 BRDRBLNK-bit didn't work when chipset was ECS Denise
- BPLCON3 KILLEHB-bit was first implemented in ECS Denise (not AGA)
  It makes 6-plane display to work like normal 5-plane display,
  6th plane can now be used for genlock mask
- COPCON CDANG-bit allowing full register writes was first implemented
  in ECS Agnus, not in AGA. (OCS has low address limit of 0x40)
- CDTV QS Denise setting corrected (OCS, not ECS Denise)
- added "slow is fast" option to advanced chipset. (Original A2000
  with DIP Agnus has real fast at 0xc00000, some A1000 CPU socket
  fast ram expansions mapped to 0xc00000 instead of usual 0x200000)
  CPU socket RAM expansions) Speed difference only in CE-mode
- Windows message handling changes, most likely breaks something but
  also should fix Direct3D filter fullscreen switch issues (WIP)
- compressed disk images (dms, adz etc..) inside archives (lha, zip
  etc..) supported (this may have worked few releases ago, not sure..)

- uaenet.device backend replaced with winpcap
  http://www.winpcap.org/install/ (version 4.x only tested)
  differences:
  - winpcap is easier to use. Install. Done. (*)
  - promiscuous mode supported
  - all available network adapters are automatically mapped to
    uaenet.device. first adapter = unit 0, second = unit 1 etc..
    (manual configuration someday, maybe..) Check the log.
  - some (bad) software firewalls may block some/all packets..
    (at least Vista x64 + eset smart security fw seems to eat all
    non-broadcast packets..)
  - fixed bug in dropped packet (packet that nobody wanted) handling

  *) Vista note: winpcap kernel mode driver will be loaded when it is
  first required. This needs admin privileges (only once after boot)
  Another easier solution is to enable autostart:
  Open Device manager, "View"-menu, "Show hidden devices", open
  "Non-Plug and Play Drivers" from device tree, find "NetGroup Packet
  Filter Driver", select properties, "Driver"-tab, set type to
  "Automatic"

Beta 13:

- more cd/dvdrom automount issues fixed
- S2_ADDMULTICASTADDRESSES and S2_DELMULTICASTADDRESSES were not
  included in NSCMD_DEVICEQUERY list
- fixed SANA2IOF_RAW write length
- S2_ONLINE Sana2DeviceStats->LastStart uses GetSysTime() now
- -netlog command line parameter added, default logging disabled
- more compatible with raw (non-AmigaDos format) disk writes that do
  not fill complete track
- crash when loading AGA statefiles (usually only when JIT was enabled)
- CDTV SCSI emulation interrupt handling fix, would freeze randomly
- UAE boot rom is moved to 0xe70000 if CDTV mode is enabled. Now "UAE"
  HD controller harddrives work in CDTV mode. (note that other
  expansions like Picasso96 use absolute jumps and will crash if UAE
  boot rom is located in non-standard location)
- autocomplete added to most path text boxes (I didn't know Windows had
  very easy to use text box autocomplete feature..) TAB (+SHIFT) can be
  used to move between paths. (SHAutoComplete() does not work exactly
  like "normal" autocomplete because cursor keys/ESC must go directly
  to normal text box functions)

Beta 12:

- path selection really fixed now
- do not mount cd/dvdroms on the fly if removable automount was enabled
- uaenet partially rewritten, "should" be working properly now
  * multicast supported, including multicast filter (not tested)
  * IEEE 802.3 frame support (I think)
  * CMD_FLUSH implemented
  * stats trackers implemented, probably do not work correctly yet..
  * globalstats fixed
  * multiple openers handled correctly
  * interrupt handler setup is still very ugly
  * SANA2IOF_RAW supported
  * S2_PacketFilter hook supported (not tested)
  * (Genesis still refuses to send anything but I think the problem
    can't be uaenet.device but something else. Also Genesis calls
    S2_ONLINE before S2_CONFIGINTERFACE which is against the spec..)

Beta 11:

- some device insertions caused crashes
- quick start mode on/off registry setting fixed (b9)
- A3000 RAM detection problem fixed (b10)
- some hardfiles didn't automount
- Sana2 device is working, at least in theory..

Sana 2 device emulation instructions:

Requirements:

OpenVPN Win32 TAP driver
http://openvpn.net/download.html (OpenVPN 2.1_rc4 or newer)
run OpenVPN installer, only needed component is "TAP-Win32
Virtual Ethernet Adapter"

Now TAP Adapter and real network adapter needs to be bridged.
Go to "Network Connections", select both TAP adapter and your real
network adapter and select "Bridge Connections" from right mouse menu.
http://www.pavelec.net/adam/openvpn/bridge/
(only steps 1 and 2 are needed, name is not important)

Check new bridged adapter has correct IP settings. (This is now your
"real" network adapter) Windows networking should continue working
normally.

(Perhaps there is simpler solution?)

Enable "uaenet.device" in misc-panel. Emulation-side device name is
"uaenet.device" (remember to disable bsdsocket emulation or there may
be bsdsocket.library conflicts)

Note: without bridging all sent data goes to black hole and nothing
can be received either. Emulator can't detect bridge's status.

Not supported (yet):
- multicast
- tracked stats counters
- promiscuous mode
- something I forgot..

Other notes:

- global stats may not be correct
- stability may not be too good
- very ugly interrupt routine.. (CopyToBuff,CopyFromBuff made things
  very complex..)
- produces lots of logging
- MiamiDX DHCP and ping worked
- OS3.9 Genesis never tries to send any data.. Confusing..
- didn't test AmiTCP, I didn't bother to configure it :)
- as you can see, not much testing done..

Beta 10:

- added missing "barrier" bytes at end of Z3 fast. Crashed in
  non-direct JIT-mode if read/write crossed memory boundaries.
  (for example long read from END_OF_Z3 - 2)
- paths reseting to default fix (b9)

Beta 9:

- default GUI and main window position is centered, not top/left corner
- optional ini-file registry replacement.
  * -ini <file> in command line: use <file>
  * winuae.ini used if it is in same directory as winuae.exe
  * file extension must be .ini or it will be ignored
  * file will be silently deleted and re-created if
    - it is read-only but not delete-protected
    - if warning messages in ini-file are modified or deleted
    - if it is not compatible with new version
  * message will be added to both logs if registry replacement is
    enabled. Bug reports without also testing in non-ini mode will be
    ignored. Pointless Windows feature "discussions" won't be allowed.

Beta 8:

- AGA sprite doublescan fixed (b7)
- some more doublescan tweaks (Super72 modes are now detected as
  doublescanned. Other "weird" modes also work more or less, note that
  some require horizontal centering)
- sana2 configuration save fixed (but note that sana2 emulation still
  isn't really doing much)
- CDTV "Snoopy" fix corrected. Fixes random CDTV boot freeze.
- increased A590/A2091 SCSI data buffer size (crash while formatting
  if sectors per track size was large enough)
- default hardware config (used by QS) clears pc drive mount checkboxes
- harddrive removal signal was not always send to uaehf.device if drive
  was removed with disk still in drive (for example USB ZIP drive)
- directory filesystem ACTION_SET_DATE notification check crashed if
  file didn't exist
- directory filesystem and hardfile slowdown fixed (b2)
- state save crashed if directory harddrives were configured but state
  was saved before drive initialization, for example when booting
  non-dos adf
- always include empty memory space between Z3Fast and RTG RAM

Beta 7:

- added information text to hardfile panel.
  RDB hardfile: size of selected file, first 4 bytes of data.
  Regular hardfile: cylinders (warns if > 65535, OS3.5+ only), blocks,
  current size and total size of hardfile, first 4 bytes of data.
- analog joystick mouse emulation didn't "repeat"
- graphics garbage in right border fixed (happened for example when
  productivity mode with vgaonly was enabled)
- CDTV CD ROM command 0x83 emulated, returns drive name/version string
  ("MATSHITA0.97", also "MATSHITA0.96" exists. No idea if there are any
  real differences). Another quite pointless feature because CDTV's
  driver does not use command 0x83..
- ECS superhires sprite positioning fixed. Note that ECS shres sprites
  always have halved resolution (not size) due to emulation limitation
- ECS superhires "palette scrambling" emulated, ECS shres colors should
  be now 100% correct
- some doublescan emulation tweaks

Beta 6:

- do not call CD32 CD emulation handler when non-CD controller
  Akiko registers are accessed. Fixes slowdown when program uses
  C2P feature of Akiko (Wing Commander CD32, perhaps others)
- debugger ea command AGA genlock color bit support
- smc command added to debugger help
- Ghostscript and neroaspi registry detection didn't work without
  admin privileges
- directory harddrive read/write status and volume name change
  work again on the fly
- directory harddrive eject-button works again
- directory harddrive readwrite checkbox is not disabled anymore if
  no path entered
- filter superhires support
- ECS Denise hires sprite support removed, hires/shres sprite support
  is not compatible with OCS ham modes (and who needs ECS hires sprites
  when AGA is much better choice..)

Beta 5:

- AGA T (genlock transparency) color register bit emulated
  (=color register read, RDRAM=1 and LOCT=0 -> return stored
  T-bit, bit 15, value with color RGB value)
  instead of always returning zero. Nobody probably cares..)
- AGA sprite doublescan emulated (FMODE SSCAN2 bit)
  (Does something use this feature?)
- 16 bit display mode graphics problems fixed (b4)
- regular hardfiles, KS 1.3 and FFS filesys path set: all hardfiles
  gets properly mounted. Previously only first hardfile used FFS.
- switching doublescan<>non-doublescan didn't always reset all display
  parameters (bottom half of display was sometimes blank)

Beta 4:

- fixed completely broken joystick buttons (b3)
- input panel mouse wheel "buttons" added. Sends button/key down
  event, waits one frame, sends button/key up event
- started implementing "real" ROM image ROM scanner support
  (2xROM setups like CDTV extended ROM or A1200, Nordic Power etc..)
- big superhires resolution and hires/superhires sprite update
* full SuperHires resolution support (without dropped pixels)
* Doublescan hires modes are now also properly displayed (hires
  doublescan is really "half-scan" superhires mode)
* Replaced lores checkbox with lores/hires/superhires selection.
  SuperHires mode uses 4xdoubling in lores, 2xdoubling in hires and
  no doubling (and no dropped pixels) in superhires
  Hires = old non-lores mode, 2xdoubling in lores, no doubling in
  hires and drop every other pixel in superhires (*)
  Lores = no doubling in lores, drop every other pixel in hires (*),
  superhires not supported
  * = lores smooth filtering supported
  NOTE: regular (non-doublescan) superhires aspect ratio is wrong,
  use filters if you need correct aspect ratio
  NOTE2: interlaced doublescan modes are buggy
* AGA superhires sprite resolution supported (previously hires only)
* hires sprites are not converted to lores (and then doubled again..)
  anymore if screen is doubled (lores program, hires/shres in GUI)
  Check Super Stardust AGA if you want to see the difference.
* AGA hires/shres "smooth" scroll BPLCON1 bits supported
* OCS/ECS (no ECS Denise) uses old code path = no performance change.
  ECS-Denise and AGA uses new more complex and slower sprite/bitplane
  drawing code path (optimization still to do..)
* Probably breaks something...

Beta 3:

- autoboot/donotmount checkbox problems fixed
- winuaenforcer enabled and VBR not moved: interrupt levels
  6 and 7 caused enforcer hit flood
- uae boot rom was always mounted (b2)
- b2 interrupt fix update, only "pre-delay" vblank interrupt
- A-Max rom-"dongle" emulation added (manual configuration file
  editing currently needed, amaxromfile=<rom file>) Yes, this is
  very pointless feature. (A-Max technical info by Mark Knibbs)
- C debugger command only worked in byte-mode
- disk write without drives selected was emulated as a read without
  drives selected, clearing disk dma buffer
- input configuration is fully saved again, need design update..
  (in b2 all default settings disappeared after saving and loading..)
- added "directional buttons" to input panel list, for example
  "X-Axis" is available as "X-Axis" (original), "X-Axis [-]" (button
  event when joystick/dpad moved left) and "X-Axis [+]" (button
  event when joystick/dpad moved right) Currently new "buttons"
  are at the end of the list.

Beta 2:

- warp (.wrp) disk compression format supported
- ce-mode interrupt delay fix, intreq contents was incorrectly delayed
  (fixes some programs that froze in CE-mode)
- doublescanned modes look slightly better
- added 64-bit CMD_READ uaescsi.device support (if there are programs
  that access DVDs in non-SCSI-direct mode) 
- missing hardfile dos type select box is back (disappeared few
  releases ago..)
- Nordic Power v3.0 support added (Thanks Christian!)
  Interestingly this one has ROM at 0xf60000, not at 0xf00000
- EXPERIMENTAL: save only non-default configuration entries. Makes
  smaller config files but I am not yet sure if this is safe..
  (at least long list of input config entries can be removed safely)
- added autoboot (bootpri>=-127) and donotmount (bootpri=-129)
  checkboxes to GUI
- Amiga-side dummy Sana2 driver (most commands return bogus errors)
  Real communication between Sana2 driver and TAP driver (comes with
  OpenVPN, 2.1rc4 or newer required) will be implemented later,
  I hope.. current development name is "uaenet.device".
- do not show rom scan results if rom scan was automatic (missing
  registry data or new winuae version was detected)
- high end quickstart cpu changed back to 68040 (68060 does not boot
  very well without 68060.library..)

Beta 1:

- CDTV and CD32 interrupt handling improved, fixes "Snoopy In The
  Case Of The Missing Blanket"
- lzx decompressor compatibility and stability improved, store-mode
  supported
- do not include display dimensions in display list if Windows 98/ME
  (it is garbage, at least on some systems)
- Windows 98/ME serial port detection update
- possible fix for overlay issues but it might cause slow downs in
  some cases..
- added -busywait debugging command line option
- DiskSqueeze (dsq) dms-like disk packer format supported (probably
  totally useless but was easy to do..) cop, dimp, warp (not to be
  confused with mfmwarp) support may be "useful" too, perhaps in
  future.. Unfortunately most formats are not documented.

1.4.4

Beta 9: RC2

- deleting file, recycle bin support enabled and deletion fails:
  returned error code was wrong (SHFileOperation() is weird)
- Action Replay 1/2/3 work again
- bsdsocket froze if new configuration was loaded on the fly
- filter crashes (old bug) if display was big, also centering code
  is back to pre-b7

Beta 8: (this is basically RC1 if bsdsocket is fixed)

- ExAll ED_OWNER supported (return zero uid and gid) because
  there are programs that ask for ED_OWNER and ignore
  ERROR_BAD_NUMBER (as documented in autodocs)
- possible fix for bsdsocket crash/issues after reset
  (previously background threads weren't terminated properly and
  caused random access errors, another ancient bug in bsdsocket..)
  Also added some cleanup logging.

Beta 7:

- hq2x crash fix (too small temp buffer)
- directory/archive dragndrop work now without empty spare drives
- uaehf.device media insertion detection fixed
- display size and position (if not 0*0) added to display name list
- joystick direction does not get stuck anymore if active mouse and
  joystick is configured to same port using input panel
- allocate more temporary memory space for filesystem state saving
- GUI add/remove directory filesystem work on the fly (hardfiles not
  supported)

Beta 6: (DO NOT USE OLDER BETAS, they are too broken)

- real harddrive support improvements:
  - empty drives are now listed in "Add Harddrive" GUI
  - uaehf.device media change command support (CMD_ADDCHANGEINT,
    CMD_REMCHANGEINT and CMD_CHANGESTATE are not no-ops anymore)
  - drive parameters (includes size) is re-detected every time new
    media is inserted
  - automount on the fly but only if configured using "Add Harddrive"
    (drive was empty or missing when emulation was started)
    No RDB parsing.
  - do not automount as a directory filesystem on the fly if drive is
    in "Add Harddrive" list (for example: FATxx formatted zip disk/HD
    mounted using Amiga-side fat filesystem driver)
- configured directory drives always support automount (even if
  "automount removable drives" is not checked). Also keep original
  configured volume name. (do not replace with real volume label)
- harddrive safety check slightly relaxed, do not complain if drive
  is inserted on the fly and only complain once.
- 'E' in harddrive panel means drive is mounted but empty
- KS 1.3 directory filesystem WB HD icons appear again (instead of
  hiding somewhere and corrupting memory)
- KS 1.3 directory filesystem automount support
- added "Restart" (better names?) button that closes running emulation
  and returns back to GUI without changing current configuration
- do not hide mouse pointer when GUI is active in fullscreen mode
- ACTION_EXAMINE_ALL 2xbug fix. If last directory entry was filtered
  with eac_MatchString/eac_MatchFunc, previous eac_Next was not
  cleared (broke monitor driver loading if last dir entry was *.info
  or vgaonly). eac_MatchString/eac_MatchFunc filtering didn't work
  correctly, calculated number of bytes to copy in register D0, used
  D1 in main copy loop... DO NOT USE OLDER BETAS.
- hq2x filter support. I hope someone is happy now.
- [still nothing done with bsdsocket problem, FS problems first]

Beta 5:

- "Add Harddrive" button was disabled on Windows 2000 ("full
  administrator" test used function that was Windows XP+ only)
- improved directory filesystem Windows-side media change detection,
  detects now memory cards in card readers (stupid Windows having
  multiple completely different ways to get media notifications)
- added GUI "Add Harddrive" emulated HD controller selection
- directory filesystem read+write/readonly on the fly status change
  fixed
- device node is now removed when removable drive gets ejected and if
  drive was originally created on the fly. Note: device node is only
  hidden (removed from dos list) and it will be reused later when new
  disk is inserted. No KS 1.3 support yet.
- added GUI option to enable/disable on the fly automounting
- current configuration name added to window title bar
- added two A4000 quickstart configurations (68030/68882 and 68040)
- better CD32 audio end detection accuracy, last 1s was cut previously
- ["bsdsocket breaks after reset if it was initialized before reset"
  will be fixed soon]
- [uaehf.device media changes may be implemented before next official
  release but full support will be done later]

Beta 4:

- ACTION_EXAMINE_ALL_END implemented (forgot in b2..)
- directory filesystem on the fly mount implemented without need for
  spare empty devices. (I lied again, it was really simple after all..)
  "empty slot" drives removed. USB memory sticks etc will always
  mount on the fly automagically now. (if uae boot rom is available)
  Device node ("RDHx") is never removed. My black magic skill level
  is not high enough yet. Hardfile on the fly automount next..
- enable uae boot rom if chip ram > 2M enabled (KS does not
  detect more than 2MB of chip, the rest is mapped by boot rom)
- 68040/060 FPU was always interpreted (no JIT) (b1)

Beta 3:

- do not cause hard reset if PC was in memory area that disappears
  during reset ("Did something stupid.."-message appeared after soft
  reset)
- software reset didn't fully reset all subsystems. Do not use beta
  1 or 2 anymore. Can cause random crashes etc..
- added more ACTION_EXAMINE_ALL error codes (from SFS changelog, no
  space for even one directory entry = ERROR_NO_FREE_STORE, unknown
  or already finished directory scan = ERROR_OBJECT_WRONG_TYPE)
- "real" removable drives supported, for example USB memory sticks
  will get removed/mounted properly. (Restriction: new removable
  drive needs empty drive slot because new Amiga-side drives can't be
  created on the fly. Perhaps later but it would need major filesys
  emulation changes..)
- automatically adds 2 hidden empty drives if one or more directory
  filesystem drives configured (RDH0: and RDH1:, reserved slots for
  new removable drives) Testing, this might change in future..
- CD drives can be again mounted easily without uaescsi.device,
  checkbox added to GUI. (I didn't really want to do this but now it
  really works as well as it can ever work.. No audio tracks and some
  Amiga CDs really need Amiga-side CDFS but it still is much easier
  to use..) Not really recommended if uaescsi.device is used..
- compiled with MSVS 2005 again

Beta 2:

- 4-channel stereo mixing fixed (broke in b1)
- Pro-Wizard updated (1.62)
- directory filesystem ACTION_INHIBIT fixed (didn't really do much
  and if it rarely did, result was infinite loop)
- directory filesystem ACTION_EXAMINE_ALL implemented (more optimal
  but also more complex way to read directory listing). Bugs possible,
  please test it by running all kinds of new utilities. eac_MatchString
  confirmed working, eac_MatchFunc not tested (no test program found)
  Full logging currently enabled.
- some removable directory drive fixes
- Harddrives GUI can be used to eject and insert directory harddrives
  on the fly (device name ignored)

Beta 1:

- ROM scan now always scans all detected ROM paths (skips duplicate
  paths)
- zero sized files inside archives could have caused illegal accesses
  in some cases
- return HFERR_NoBoard, not IOERR_OPENFAIL when opening non-existing
  uaehf.device units. Fixes problem with <OS3.5 hdtoolbox versions
  not detecting hardfiles that are not in topmost position in harddisk
  panel.
- if blitter line draw with onedot-mode enabled, blitter does not write
  non-drawn pixel words back to chip ram (it becomes free bus cycle)
- -datapath fixed, again and again, it seems to never work properly..
- CD32 statefile support works again
- paths-panel adjustments, "new" path (in All Users) is only created
  if selected in paths-panel.
- directory filesystem ACTION_WRITE_PROTECT packet implemented
  (AmigaDOS Lock-command) Note: "hardware" lock (read-only status
  in configuration file/GUI) can't be unlocked with Lock-command.
- directory filesystem ACTION_INHIBIT implemented (not really needed
  but it uses same functions as removable drive support)
- directory filesystem ACTION_MORE_CACHE implemented (Addbuffers),
  No-op, currently always returns 50 and flushes file/dir cache.
- directory filesystem ACTION_FLUSH_CACHE implemented, flushes
  file/dir cache.
- possible filecomment leak/access error in fsdb/streams support
- filesystem ACTION_WRITE optimized (no temporary buffer if memory
  is directly accessable, optimization copied from ACTION_READ)
- removable directory filesystem support added
  - it is not possible to add new devices after emulation has been
    started (workaround: add 1 or more empty drives = add new directory
    without device/volume name or path)
  - only volume name gets removed (like CD0: without CD inserted)
  - GUI can't be used to insert/remove harddrives. Yet.
    I don't know make it easy to use..
  - drag'n'drop (directories or files/archives) to WinUAE's window is
    currently the only way to test removable drive support. Note that
    only drives that were empty when emulation was started will be
    remounted. (It is quite bad idea to remove OS/boot drive..)
  - weird things can happen if files are open when changing drive
  - volume name is automatically generated from directory or file name
  - very useful when installing software, just drag and drop
    installation package (lha-archive for example) and run it.
    No need for temporarily locations or worry about losing flags or
    file comments.
  - overrides normal (executables -> floppy drive, configuration file
    -> restart emulation etc..) drag and drop function if GUI is not
    active and dropped file/directory gets accepted by filesystem.
- CPU emulation and other cleanups (Bernd Schmidt!)
- X-Power Professional 500 v1.3 supported
- Nordic Power v1.5 supported
- compiled with MSVS 2008 (Orcas) Beta 2

1.4.3

Beta 13: (RC2)

- Action Replay 1200 "cartridge support" credits added
- Nordic Power/X-Power/SuperIV statefile support added (not complete)
- 68030 "NOP MMU emulation" fix, some variants of PFLUSH caused F-line
  exception
- illegal access logger (wd) now supports full 32-bit address space

Beta 12: (RC1)

- added quick enable/disable checkboxes to floppy panel
- non-word aligned word writes to custom registers emulated correctly
- byte writes to custom registers emulated properly on a 68060 (perhaps
  only Blizzard 68060 cards' feature?)
- 68020 "cycle-exact" does not anymore freeze when switching to RTG mode
  (but it still should not be used)
- Nordic Power v2.0 support (got another "blue" Nordic Power today,
  also "cartridge support" credits added to contributors list)

Beta 11:

- autoconfig memory banks do not show as ****'s in debugger anymore
- filesystem not initializing if JIT was enabled and no other
  autoconfig expansions enabled (ancient bug..)
- do not crash if CD32 is selected in advanced chipset without
  extended ROM
- fixes and updates to illegal access logger
- "faster RTG" "immediate copper" emulation was very broken
- reverted JIT LSL/LSR/ASR change, merge error most likely, later..

Beta 10:

- Arcadia emulation crash fixed
- SCSI emulator MODE SENSE code 3 and 4 crash fix (uaehf.device only)
- A3000 KS 1.3 ROM removed from rom scan "available"-list (only
  proper A3000 ROMs, 1.4b and 3.1 included)
- added missing version numbers to cartridge roms
- xBCD instruction 68040/060 undefined behaviour emulated, N and V
  flags are not cleared. (from Basilisk II JIT)
- JIT LSL, LSR, ASR X-flag was incorrectly modified when shift count
  was zero (from Basilisk II JIT)
- configuration and bootlog (text format) saved with statefile
  (compressed, few kb size increase, only for debugging purposes)
  NOTE: fake END-hunk inserted before CONF and LOG hunks, you can
  simply delete all "useless" data after first END-hunk without
  corrupting the statefile.
- action replay/hrtmon statefile hunks are now compressed
- drive GUI properly initialized when restoring state (disabled
  drives are "blanked", no track number visible)
- empty drive disk change status was incorrect in some cases when
  restoring state (load state, OS detects disk in empty drive)
- do not allow JIT direct mode if emulation was originally started
  without JIT direct enabled (different memory allocation which is not
  compatible with direct = crashes. Will be properly fixed in future)
- uaescsi.device SCSI mode selection reset after loading new config
- messagebox in fullscreen mode tweaks, perhaps fixes problem with
  hidden "too old rtg.library" messagebox in fullscreen mode
- close native-side open filehandles after software reset
  (fixes locked startup-sequence after directory fs setpatch reset)

Beta 9:

- ROM scan dialog listed "available" even if configuration required
  2 ROMs (like CDTV or CD32) and only one was available.
- if fullscreen resolution is smaller than GUI size, moving mouse to
  screen borders moves the GUI dialog. (in future this means it is now
  possible to increase GUI size to 800x600 without too many complaints)
- CD32 CD audio end position detection and signaling, interrupt
  handling finally implemented, fixes non-looping audio tracks,
  (for example Brian the Lion), and games that freeze (for example
  Fightin' Spirit, Base Jumpers)

Beta 8:

- plain executable mounted as a harddrive automatically creates
  virtual s/startup-sequence (same as mounting executable as a floppy)
- possible crash fix in SCSI emulation
- X-Power Professional 500 cartridge support. (basically old version
  of Action Cartridge Super IV)
- Nordic Power cartridge "support" but only 2 bad non-working rom
  dumps available (ROM chip fault, one data line stuck) And perhaps
  suprisingly, perhaps not, Nordic Power is old version of X-Power :)
- possible fix for audio problems when using audio.device (usually
  when continuously starting and stopping short samples) in JIT mode.
  (usual reason: too "fast" cpu/chipset access speed..)
- removed sound latency value from GUI, it was wildly inaccurate

WANTED: Nordic Power cartridge(s) (can be non-working)

Beta 7:

- rom scanner detects overdumped roms again
- added "(SK)" to A3000 KS 1.3 ROM name (SuperKickstart disk rip,
  this version has never been in ROM chip format, only included
  because it comes with AF)
- removed A4091 boot rom from scan result dialog (NCR SCSI won't
  be implemented in next version)
- removed add host scsi from advanced chipset (not working)
- added more rom choices to "highend" configuration
- rom scanner didn't write full path to registry (zipped roms)
- command line configuration parameters accept compressed
  configuration files ("-f myconfigurations.zip\myconfig.uae")
- some dms compressed files failed to decompress and also took
  very long time to finish 
- disk history is updating correctly again
- new rtg.library version number bump. added warning if older
  library is installed. NOTE: new rtg.library is fully compatible
  with older (Win)UAE versions.
- disabled CDTV debug logging
- hrtmon works again
- gzip decompression works again

Beta 6:

- rar unpacking double memory deallocation (unrar.dll is still
  the most stupidly designed unpacking library)
- crash if dearchiver (rar or archiveaccess) was not available
- hardfile filesys loader/relocator sometimes incorrectly allocated
  code/data space from chip memory
- lha/lzh archive detection fixed
- P96 ram allocation forced indirect JIT mode
- -datapath fixed, overrides paths-panel paths again

- recursive harddrive archive support enabled
  
  Archives inside archive are only unpacked when first accessed for
  best performance. Tested by creating 200MB zip archive that contained
  ~250 pre-installed zipped WHDLoad demo slaves. (Note that this can
  confuse some programs because size of "harddrive" gets bigger and
  bigger the more archives inside archives are unpacked..)
  
  Original archive is "duplicated" as a directory called
  <name of archive>.DIR
  
  "file not found" or "empty directory" is returned if decompression
  fails
 
  In future there may be options to disable recursive archive support
  and ability to replace original archive file with unpacked directory
  (without .DIR extension) Another future idea is write access (to
  separate "diff" directory)

  Note: rar archive inside another archive can not be unpacked
  without archiveaccess.dll (unrar.dll can't do it without temp
  files and I refuse to use temp files)

Beta 5:

- JIT on/off switching via uae-configuration re-enables direct mode
  This time it really should work as designed.
- video recording sound pitch change fix (side-effects possible..)
- random FPU fixes from Aranym (which btw, isn't feature complete
  either, at least float to integer clamping is missing)
- rom scanner uses SHA-1 now (instead of CRC32)
- archive as a harddrive emulation. Data is decompressed on the fly.
  Only directory tree is allocated in memory during mount-phase.
  "file not found error" will be returned if decompression fails
  (corrupt archive?) Already decompressed files will be left in
  memory (memory is cheap, repeated decompression can be slow)
- archive support completely rewritten (memory/file leaks possible)
  Recursive decompression possible (not yet enabled and not fully
  implemented), not sure if I enable it later or not.. (would
  enable transparent archives inside archives inside archives etc..)
- work in progress (this is really crazy idea..): xfd (Amiga
  decompression library) slave library support via separate 68k
  emulation instance :D Crazy or very stupid idea, not sure yet..
  It would enable full transparent decompression support of nearly
  every Amiga compression format..
- built-in lha/lzh archive support added
- built-in lzx archive support added (store mode not supported yet)
- "add directory/archive" harddrives: only path is mandatory, volume
  name (if left empty) is automatically generated from selected path
- added "add archive" harddrive type. Single plain file also accepted.
- real harddrive "safety check" system changed, now all drives are
  listed (and marked as empty,non-empty or RDB) but drive is not
  mounted if safety check is not disabled and drive is non-empty.
- disable "add harddrive" on vista without full admin privileges
- harddisk panel directory and archive dragndrop added
- included beta updated rtg.library, fully enables >1024 pixel wide
  bitmaps (including acceleration), obsoletes picasso96fix. (BR)

Beta 4:

- return SCSI-1 style inquiry response when using A590/A2091 SCSI
  emulation (Old HDToolbox compatibility fix)
- do not crash with "out of bounds" error if SCSI emulation tried to
  read/write non-existing HDF block(s)
- SCSI READ CAPACITY PMI-bit emulated, HDToolbox "Read configuration
  from drive" compatibility fix
- A3000 1.3 SuperKickstart support implemented (includes "bonus"
  code remapping to 0xf00000 area)
- JIT on/off switching via uae-configuration re-enables direct mode
- added MOVEC registers and PC to r <reg> <val> debugger command
- A4091 ("A3090" says driver string in ROM...) Z3 card autoconfig and
  ROM loading implemented (pointless, no NCR53C710 SCSI chip emulation
  yet, same infinite loop as with A4000T KS3.1 built-in SCSI driver)
- A590/A2091 Guru ROM adapter emulated, driver does not yet work,
  uses not yet emulated WD33C93 features.
- real SCSI device support (via hardware emulation) is not really
  working. It isn't so easy to implement after all..
- copper writes are now detected by memwatch break points (note: writes
  only, freeze not possible. copper is a special case)

Beta 3:

ROM rescan required (or new hrtmon/superiv config support won't work)

- ROM scan report dialog was totally broken
- uaescsi.device backends (SPTI/ASPI) are now available in new
  SCSI emulation mode. Checkbox added to advanced chipset, merges
  all SCSI and IDE CD/DVD devices automatically, does not override
  configured HDFs. Not multithreaded yet = emulation is stopped while
  SCSI command is executing = mostly useless for real world tasks,
  also SCSI configuration panel is still not implemented..
- confirmed A3000 3.1 ROM added to rom scan list.
- floppy drive sound GUI didn't work correctly if fdrawcmd.sys was
  not installed (=no PC floppy drives listed)
- A3000 36.141 KS ROM SCSI driver compatibility fix (long word writes
  to byte wide WD33C93 registers.. not the first time Commodore ignored
  their own programming guidelines.. )
- A3000 SuperKickstart support hack, SuperKickstart loading works!
  (simple memory map remap hack, there is no MMU!)
- QS panel does not anymore complain about boot block crc error if disk
  is A1000 Kickstart disk or A3000 SuperKickstart disk
- A3000 Quickstart settings added, 1.4 = KS with Kickstart menu,
  SuperKickstart disk (or HD installed SuperKickstart) required.
  (also try clicking on top/left corner..)
- added "need 68030 CPU" dialog (KS 1.4)
- added expansion boot rom missing dialog
- added process breakpoint debugger feature (KB)
- GPL Ghostscript registry installation detection added (AFPL was only
  supported previously)
- Ghostscript printing fixed (only worked previously by accident..)
- built-in HRTMon moved to Cartridge ROM select menu
- added "real" SuperIV cart emulation (=need loader disk)
- debugger deep trainer improved. "D[<s><dix> <[max diff]>]"
  Di = value must increase, Dd = decrease, abs(new value minus
  old value) must be smaller than "max diff". s = 1 = byte, 2 = word.
  long words not supported. (defaults to byte) Signed integers used in
  comparison. NOTE: not really tested, I was not interested :)


Beta 2:

- WD33C93 + (Super)DMAC based SCSI HDF emulation. A590/A2091, A3000 and
  CDTV with SCSI expansion. Current implementation is very minimal.
  A590/A2091 Boot ROMs 6.0, 6.6 and 7.0 tested and confirmed working.
  A3000 random KS ROMs (including "1.4") also confirmed working.
  CDTV with 1.0 extended ROM freezes during standard WB 1.3
  startup-sequence (works if run manually..) Newer extended ROMs work
  without freezes.
  NOTE: disconnect/reconnect not emulated (yet?), SCSI Message out +
  Command + Data in/out + Status + Message in phases emulated. Most
  WD33C93 registers are not emulated. Non-tested drivers (KS versions)
  most likely won't work yet. Check the log!

- A3000 KS "1.4" added to ROM list (yes, it is beta but it came with
  some A3000s) Need confirmed official A3000 and A4000(T) information
  before more A3000/A4000(T) ROMs will be added. (Note A3000 ROMs,
  not SuperKickstart images!)
- A590/A2091 6.0, 6.6 and 7.0 added to ROM list. A590/A2091 ROM is
  automatically selected, manual rom selection is not possible.
- A590/A2091 Guru ROM added to ROM list (not yet supported, I need
  A590/A2091 autoconfig er_InitDiagVec value first, Scout shows it)
- A4091 40.9 (no CRC available yet) and 40.13 ROM added to ROM list.
  NCR SCSI (A4091 and A4000T) is not yet emulated.

- Action Cartridge Super IV Professional emulated partially, also added
  support for Super IV "ROM version" (Super IV cartridge does not have
  any ROM chips, "ROM" is loaded from disk) Loader disk does not work
  yet! Interface is very different compared to Action Replay series.
 
Beta 1:

- use Segoe UI font only if running on Vista
- separated native and P96 vsync setting, note that P96 vsync has
  never been "real" vsync but sync to internal refresh rate which isn't
  usually same as real host refresh rate. Sound problems fixed when P96
  VSync and 56KHz "audio trick" was enabled.
- sprite attachment fix, fixes "Great Demo" by "The Tremendous Trio" :)
- clear sound buffer before reopening window/fullscreen
- delayed CDTV CD inserted notification (Xenon 2)
- CDTV CD audio stop command fix (DOTC2, ChaosInAndromeda CD player)
- added MB RAM support to debugger's search commands
- Paths-panel improved, added previously "hidden" AMIGAFOREVERDATA
  environmental variable (if set), and separated AF2005 and "new" WinUAE
  paths (only difference is default KS ROM path, AF2005 =
  <root>\..\system\rom, WinUAE is <root>\roms or <root>\rom)
- Quickstart-panel DF1: disable/enable checkbox added (available only in
  configurations that have DF0: enabled)


1.4.2a

- added PCMCIA to advanced chipset. It does not emulate PCMCIA (yet),
  it only reserves address space and makes CIA bank 64k (0xbf only
  instead of 0xa0 to 0xbf) Previously only AGA changed CIA bank size.
- fixed paths defaulting to CSIDL_COMMON_DOCUMENTS even if previous
  default was something else.

1.4.2

Beta 12:

- CDTV right button/second firebutton pin state fixed (CDPD IV)
  (logic high when inactive, not floating like with other models)
- Quickstart DF0:/DF1: text changed (future improvement), no
  functional changes yet

Beta 11:

- fixed randomly lost CDTV CD transfer finished interrupt in
  CE-mode
- fixed windowed mode size check
- added some preliminary SCSI hardware emulation stuff
  - A3000, minimal support, KS driver detects SCSI controller
    with no SCSI devices connected. (SuperDMAC + WD33C93)
  - A590/A2091, (DMAC + WD33C93), minimal support, boot ROM
    (tested with rev7) detects controller with no SCSI devices.
    (check log if for some weird reason you want to test it..)
  - A4000T NCR53C710, nothing implemented yet (no datasheet)
- CDTV and A590/A2091 autoconfig chained with UAE autoconfig
  devices (fast ram, HD etc works in CDTV mode)
- more GUI debugger updates

Beta 10:

- CDTV CDROM command 0x09 (play audio cd in lsn mode) fixed, parameters
  are start sector and number of sectors, not start and end sector..
- state file load: keep current disk in drive if image's path in state
  file does not exist. (keeps some programs happy that don't access the
  disk but start complaining if disk is suddenly ejected)
- fixed stupid typo in fpu clamping fix (327676 instead of 32767..)
- CDTV audio cd end position detection didn't always work
- GUI debugger improvements (Karsten Bock & TW)

Beta 9:

- new PAL filter configuration file support (forgot it in b8)
- PAL filter now works both in 16 and 32-bit modes. Internal color
  space is now only R5G6B5, even in 32-bit AGA. Makes things simpler
  (minus image quality loss) Fix later, not sure..
- map "UAE Boot ROM" automatically if any "external" expansion is
  enabled (uaescsi, uaeserial, bsdsocket etc..) Previously it was
  only mapped if filesystem (directory or hdf) was configured.
- IDE non-RDB HDF statefile support added
- filter default centering fixed (I think..) and other related tweaks
- minor FPU updates to very rarely used instructions (from aranym)
- "cpu060_revision" config entry added ("read-only", not created when
  saving config), sets 68060 revision field in PCR register (current
  default is 1)

Beta 8:

- very long CDTV CD reads don't freeze anymore (overflow in CD
  speed varible)
- added "PAL" filter. It is based on Vice C64 PAL filter with some
  changes like scanlines in 1x-mode and noise. Simulates blurry
  composite/RF signal. 32bit color depth only. NOTE: filter + AGA
  enabled = RGB 6:6:6 internal color space only. (compromise between
  speed+memory usage and image quality)
- command line parameter was skipped if previous parameter was
  win32-specific or it needed numeric parameter(s). (b7)
- IDE partition (non-RDB) hardfile support (no custom filesystem
  supported yet) NOTE: virtual RDB is read-only, all write attempts
  to RDB area are silently ignored, no errors returned.
- non-3D filter improved default centering
- replaced GUI scanline sliders with more flexible extra parameters
  settings. Added built-in filter preset support (single PAL filter
  example currently)

Beta 7:

- hardfile reset routine randomly read non-existing memory (b4)
- IDE emulation froze if total read or write transfer was larger
  than current multimode sector amount
- added 2 scanline delay before IDE command complete-interrupt is
  sent. Could cause missed interrupts in compatible 68000-mode and
  also made emulation sluggish during large reads or writes.
- HRTMon IDE commands work now in A600 configuration.
- HD onscreen led write color fixed in IDE mode
- 4/6 channel modes should really work with Emu10K based cards..
  (I can always hope..) EDIT: It did work!
- USP and ISP registers are back in debugger
- brightness/contrast/gamma setting added to display panel
  (not working in real time yet)
- "IDE Splitter" / "4-Way IDE" hardware emulation added. IDEFix or
  similar driver needed. Enabled if IDE3/IDE4 selected
- much faster IDE in JIT modes

Beta 6:

- added 4 channel and cloned stereo in 5.1 native mode. Workaround for
  non-working 4.0 modes on many sound cards. (5.1 center and lf
  channels are silent currently)
- 4ch/6ch mode swap channel, interpolation, filter (anti and sinc only)
  and stereo separation support added
- IDE CHS calculation fixed. Max heads is always 16 and max sectors is
  63 for drives smaller than 8GB. (A600/A1200 crashed or gurued with
  large HDF images) >8G should also work, current "hardware" max limit
  is 128G (no LBA48 support) NOTE: CHS value is only imaginary value for
  compatibility purposes and it has nothing to do with real geometry, it
  can even change and HD still works fine. Internally it is always
  translated to LBA.
- added some ATA-3 bits to identify drive reply

Beta 5:

- A600/A1200 and A4000 IDE emulation (mount RDB HDF as a IDE drive)
  - Following IDE harddrive commands emulated (commands that KS ROM
    require, also IDEFix97 appears to work fine)
   - Format Track (50, dummy command)
   - Identify Drive (EC)
   - Initialize Drive Parameters (91)
   - Read Sector(s) (20 and 21)
   - Read Multiple (C4)
   - Write Sector(s) (30 and 31)
   - Write Multiple (C5)
   - Recalibrate (10, dummy command)
   - Set Multiple Mode (C6)
   - Set Features (EF, no feature commands supported)
   
  - max 2 drives available. "HD Controller"-selection added to GUI.
  - support statefiles (WARNING: HDF data corruption danger!)
  - ATAPI (IDE CDROM) emulation not supported (yet?)

  Notes: you can't mix Kickstart versions. A4000 KS has only A4000
  IDE driver, A600/A1200 KS has only A600/A1200 driver.

  Emulated drive is ancient ATA-1 feature level drive, size limits
  not tested, PIO-0 speed restrictions not emulated :)

  This also means some defaults have been changed. Real IDE without
  harddrive installed is now enabled if chipset extra is set to
  A600/A1200 or A4000. Emulated "IDE wire trick" is enabled if no
  drives installed to prevent long KS boot delay.

  Interesting note: A600/A1200 and A4000 KS IDE drivers are totally
  different, for example A4000 uses LBA addressing but A600/A1200
  uses CHS. I don't see the point when the only hardware differences
  basically are base IO address and different interrupt register..
  
- HRTMon IDE activated if IDE emulation enabled. AR A1200 also works.
- 68020/68030 + JIT random crashing fixed (b4)
- non-3d filters work again (broke in 1.4.2b2)
- Agnus/Denise revision settings re-added to advanced chipset
- added non-EHB A1000 to Quickstart (not yet in advanced chipset),
  also added blitter busy bug to A1000 QS if cycle-exact enabled.
  (busy flag not set until blitter gets first bus access cycle)


Beta 4:

- statefiles with autoconfigurable (fast and z3fast) memory wasn't
  restored properly
- directory filesystem statefile support.
- Picasso96 statefile support (not very compatible yet)
- HDF statefile support. WARNING: HDF _WILL_ get CORRUPTED if you
  try to restore same HDF statefiles multiple times and there has been
  one or more writes between restores. Read-only will be forced before
  official release.
- JIT slowdown after restore fixed (CPU CACR register instruction cache
  setting syncronized with JIT cache settings)

  Filesystem statefile information:

  Handling of missing files or directories during restore:
  - missing root directory: most likely crashes
  - open file:
  dummy file with exact same name and size will be created (filled
  with zeros) to prevent crashes. Of course application using the
  file most likely fails because it may not contain data it expects
  but at least FS emulation and AmigaDOS is happy..
  - open lock:
  lock is re-created but missing file/directory stays missing. Again,
  filesystem and AmigaDOS is happy. Application may crash or return
  weird errors..
  
  Always check the log first if there are problems.
  
  NOTE: uaescsi, bsdsocket etc.. are not saved. You may be able to
  restore statefile with unsupported "expansion" devices enabled
  without crashing (for example restored uaescsi won't crash the
  emulator but Amiga-side program can get confused.. Tested with
  AmiKit, no crashes but CD0: stops working)
  
  NOTE2: statefile format can and will change in future betas.

  Manual loading of configuration recommended before restoring.


Beta 3:

- CPU/FPU on the fly change fixes
- report 68060 EC/LC ID in PCR register when FPU not enabled,
  68040/60 FPU disabled exception emulated.
- some 68030 MMU instructions had incorrect instruction length
  (no, MMU is NOT emulated but MMU instructions are still processed
  normally instead of reporting illegal instruction because some
  programs expect MMU and most/all 68EC030's don't report exceptions
  either, they simply have MMU that does not work 100%)
- http://aminet.net/util/sys/Mu680x0Libs.lha appears to be free,
  working replacement for 680x0-libraries. 68030 (didn't work in b2),
  68040 and 68060 with or without FPU confirmed working.
- FPU state restore fixed
- added CPU/FPU frequency to state files (not yet really used except
  sets A500 speed if stored statefile was A500-speed config)
- added 68030+ control register statefile support
- 1340b4 "rare divide by zero error..." really fixed..

Beta 2:

- 10x+ performance increase during "decrunching" color effects when
  no filters enabled and bitplanes disabled (background color only)
- console debugger breakpoints sometimes continued immediately
- quickstart "random" selection inside archives should be fixed
- mousehack interrupt do not start multiple times anymore
- all CPU-specific special registers added to debugger
- CPU/FPU configuration rewrite.
  - new FPU options: none/68881/68882/CPU internal
  - 68030 (EC-version, 030-only MMU instructions are simply ignored)
  - proper 68060 with FPU support. See NOTEs below!
  - 68040/68060 without FPU allowed but note that 68060.library does
  not appear to like non-FPU 68060s..
  - no FPU+68000/68010 (technically possible but not worth the trouble)

  68060 NOTES: No working Setpatch and 68060.library = NO FPU.
  68060 has FPU disable bit that all real 68060 accelerators' boot ROM
  set because KS task switching routine do not understand 68060's
  FRESTORE/FSAVE frames. Setpatch+68060.library is the fix.

  Real 68060 is also extremely slow without 68060.library because all
  caches and other speed-up features are not enabled but this is
  completely irrelevant in emulation.

  You can use "C:CPU" command to check CPU/FPU status:
  - Incorrect: "System: 68060 (INST: blahblah"
  - Correct: "System 68060 68882 (INST: blahblah"
  New setpatch (44.38 confirmed) support 68060.library directly, older
  versions need dummy 68040.library (less than 1K in size)
 
  NOTE2: FPU emulation emulates all 6888x instructions, even those that
  were removed from real 68040/060. 

  !!! NOTE3: _EMULATED_ 68040 and 68060 HAVE EQUAL SPEED !!!

  
Beta 1:

- Chip set extra config load/save missed some models (crash when
  saving if using missing models)
- GUI font dynamically switches to "Segoe UI" (Vista) or "Tahoma"
  (XP or 2000). Old font still in resource file to keep compatibility
  with older Windows versions. TODO: new GUI tree icons.
- dynamically modifying resources and resizing dialogs is "fun"...
- finally removed pixel format detection. It has not been needed for
  years..
- merged (and modified) "GUI" debugger by Karsten Bock. WIP.
  F1-F6: switch between different pages
  F1 and F2: two work areas
  F3 and F4: memory viewer
  F5 and F6: disassembler
  F3-F6: alt+cursor up/down/left/right modifies current address
- x closes debugger, xx switches between console and GUI debuggers
- extended debugger 'm' instruction, 'm r<cpu register>' 
- direct harddrive support now works with drives that return empty
  vendor and product id (confirmed: SyQuest removable harddrive)
- log window position and size stored in registry. (Log window first
  appearing in default position before jumping to stored position
  is normal, logging must be initialized before registry handling)
  Windows 2000 or newer only.
- GUI/Main window registry entry names changed, positions will reset
- blitter CE-mode ABC channel combination cycle allocation fixed
- rar archives left "temporary" files around (stupid unrar.dll..)
- added combination of fullscreen and windowed mode. If you have two
  (or more) monitors, load your favorite WB configuration, select
  non-primary monitor and "full-window" mode to both native and RTG,
  also make sure "Magic mouse" is enabled, adjust P96 resolution.
  D3D/OGL filter may also be good idea.
  Result will be near-seamless Windows/Amiga integration :)
- "Magic mouse" didn't work with some system patches, also adjusted
  sensitivity
- tweaked vblank interrupt delay by 1 cycle (game Feud)
- refresh rate switching (PAL/NTSC or by poking VPOSW) improved

1.4.1

Beta 4:

- skip unknown extensions (or files without extension) when scanning
  for known ROMs (faster scan if non-ROM files in ROM directory)
- Picasso96 RAM was incorrectly mapped in non-JIT modes
- paraport parallel port support sets INIT (pin 16) to inactive state
  (called RESET in Amiga parallel port)

Beta 3:

- map POV Hat to joystick up/down and left/right by default
- added master volume (Windows main volume) control input targets
  default: END+CTRL+(numpad - and +, * = mute on/off)
  (without CTRL = WinUAE-only volume control) Also master volume
  mapped by default to "multimedia" vol down/up/mute keys.
- custom input targets editable in GUI now (not very intuitive but
  whole input panel isn't too intuitive. someday..)
- fixed crash when switching from CD32/CDTV mode to A500 mode
- input panel input list can be browsed in "compatibility mode"

Beta 2:

- better bsdsocket threading fix, should finally fix random crashes.
- diskswapper input-panel input targets added (next/prev/insert)
- change input configuration (1-4) input target added
- custom input targets added, experimental, not in GUI yet, need manual
  configuration file editing, syntax:
  <anything>.button.x=<press>,<release>,<secondary press>,<sec. release>
  press/release = key down/up, joystick button down/up
  secondary = toggle-mode (first press uses "press" event, second press
  uses "secondary press", third press is again "press" event etc..)
  format of single event: '"entry=value"'.0 "unlimited" multiple
  entry/value pairs supported: '"entry1=value1" "entry2=value2"'.0
  empty event: NULL.0
  Examples:
  - toggle onscreen leds:
  '"show_leds=false"'.0,NULL.0,'"show_leds=true"'.0
  - refresh rate = 100 while key/button is kept down:
  '"chipset_refreshrate=100"'.0,'"chipset_refreshrate=50"'.0
  NOTES: format can change in future, toggle-mode may be added to regular
  input event mapping system in future version.
  BTW: custom input was implemented ages ago but it was not enabled until
  now... (I forgot it..)
  
Beta 1:

- startup crash fixed if serial port enumeration detected more than
  8 ports. (broke in 140b6 when "compatibility mode" enumeration was
  added) Also increased max amount of supported serial ports
- default ASPI detection selected (possibly non-existing) AdaptecASPI
- Quickstart now automatically selects working SCSI mode (uses setting
  from default.uae if available, if not, selects "best" available)
- 120b1 right border update fixed to work in interlaced modes (Unreal)

1.4.0

Beta 10 (pre-final):

- in some cases dskready signal was set active even if floppy drive
  was empty and motor was running
- yet another undocumented CIA TOD related feature implemented
  TOD does not latch (by reading TODHI) if CRB ALARM-bit is set.
  Fixes Batman the Movie (which worked in older versions only
  by accident..)

Beta 9: (RC 2)

- non-ASPI CDTV CD audio didn't always stop when exiting/reseting
- added dj [<mask>] command to debugger. Enable joystick/mouse
  input logging  
- CDTV quickstart chip ram size set to correct 1M (correct config
  is more important than workaround for one game)
- Fixed another filesystem lock leak in ACTION_FH_FROM_LOCK
  (dos.library/OpenFromLock())
- do not allow unlocking of non-existing locks in filesystem.
  Previously it caused random memory corruption and also triggered
  following (previously unknown) 1.0b2 issue:
  "added workaround for AMOS filesystem emulation incompatibility
  (infinite loop in filesystem code) Reason for freeze unknown,
  proper fix unknown.. (filesystem emulation is confusing..)"
- external drive sound selection GUI didn't work if fdrawcmd.sys
  was not installed

Beta 8: (RC 1)

- uaehf.device unit >=30 crash fixed
- CDTV CD audio will be stopped when exiting/reseting
- correct CDTV CD number of tracks returned in ASPI-mode
- re-added and fixed special case handling for 68k reset-instruction
  when more compatible CPU setting is not enabled
- filesystem ACTION_COPY_DIR_FH packet memory (lock) leak fixed

Beta 7: (possible bug fixes and small tweaks left)

- Picasso96 graphics problems really fixed
- adjusting GUI sound settings on the fly does not anymore cause
  random sound issues after returning back to emulation (like
  missing channel(s) for few moments etc..)
- Action Replay 1, ver 1.0 added to ROM scanner identication list

Beta 6:

- FPU emulation floating point to integer conversion fixed, previously
  for example float -> byte conversion simply truncated to byte instead
  of clamping it to -128 or 127 if original value can't fit in a byte.
  Same problem was with words and longs. (Aske Christensen)
- uaeserial.device compatibility fixes
- A500 D80000-DDFFFF area is unmapped (except possible RTC at DC0000)
  higher end models can have other MB devices here
- A1000 is most likely the only Amiga model that has custom chips
  mapped at D80000-DDFFFF
- RTC access is now exactly same as in real A500 (if more compatible
  setting enabled)
- AGA end of fast (or chip if no fast) to BBFFFF is not mapped, same
  with C00000 to D7FFFF. (Need more testing)
  Mapping changes may help with some buggy programs that poke illegal
  addresses.
- My A1200 seems to have KS ROM mapped at 0xA80000-B7FFFF. But with
  Blizzard 1260 installed it is replaced with 64kb "bank" of RAM from
  card's expansion RAM.. It seems all "unmapped" areas map to
  Blizzard's expansion RAM. Quite interesting effect.. (not emulated)
- serial port detection update. For some reason not all serial ports
  (at least some USB types) can't be detected by enumerating
  GUID_CLASS_COMPORT class. (and this was supposed to be the proper
  way to do it..)
- do not log KS motherboard RAM probe (less useless spam when booting)
- Picasso96 graphics corruption introduced in previous betas should
  be fixed (also other changes, can be faster or slower in some cases,
  also there is possibility something else broke..)

Beta 5:

- CD32/CDTV emulation now autodetects all CD (all drives) changes on
  the fly. Previously drive was only autodetected once when emulation
  started.
- blitter linedraw update, PD game Tanx (not same game as Tanx in HOL,
  ID=5409) uses really "interesting" way for drawing vertical lines,
  it sets ADAT=FFFF and BLTAFWM=8000.
- remove agnus/denise revision settings. Will be replaced with more
  flexible configuration later (perhaps select box with real chip
  identification strings, current system couldn't support for example
  oldest Denise without EHB and Agnus with buggy blitter wait bit)
- another possible bsdsocket thread timing bug fix
- running p96refresh automatically forces power supply cia-a tod to
  prevent clock running faster
- mapping of RTG RAM adjusted (locate immediately after end of Z3 RAM
  and align to 16M border), fix board size (previously <16M was
  reported incorrectly in Scout)
- Arcadia added to ROM scan message (but only if Arcadia bios rom(s)
  detected, Arcadia: unavailable would only confuse users..)

Beta 4:

- separate Arcadia bios and game rom selection
  (rom rescan required) Idea and original patch by Karsten Bock
- "Add PC drives at startup"/"Include network drives" fixed
- cd32/cdtv/arcadia flashfile set to <datapath>\<mode>.nvr
  in quickstart modes
- CDTV 64kb sram card quickstart mode added, saved to flashfile with
  CDTV internal sram (tested with Sim City CDTV)
- harddisk panel fixes and updates. Non-existing hardfiles and
  directories are marked with "X".

Beta 3:

- remove harddrives loaded from default.uae in quickstart-mode
- wrong device/volumename in harddisk panel (visual error only)
- S<something> in command line parameters set illegal stereo
  separation value in some cases
- hardfile configuration handling bugs fixed
- disk history list wrong item selection fixed (really old bug,
  select second entry from disk history then select first entry
  from other drive's disk history)
- sinc interpolator update from uaede 2.04
- CDTV CD audio play end position status change detection improved
- application icon updated (also includes 256x256 Vista-style icon)
- CD access freeze when CD was already open in another program, also
  tries shared access mode first before falling back to exclusive
  mode
- emulation paused mode sound start/stop issues fixed


Beta 2:

- filter zoom and position is not restricted to coordinates divisible
  by 4 pixels anymore
- datapath command line parameter fixed (broke in 1.3.4b9)
- enumerate only known DirectInput devices types (keyboards, pointers
  and game controllers), apparently there are some broken DI compatible
  "unknown" devices that crash DirectInput's internal enumeration code..
- "magic mouse" related freezes fixed
- dragndrop disk insert fixed (again..)
- added more Picasso96 modes to "unique" mode list
- possible fix for some missing Picasso96 display modes
- added Amiga-side pointer validation to bsdsocket (smaller chance for
  crashing if Amiga-side program passes garbage to bsdsocket)
- added safe host<>Amiga memcpy/strcpy helper functions to memory.c
- Aminetradio bsdsocket freeze fix (broke in 1340b6)
- do not "fix" configuration when advanced chipset compatible checkbox
  is not checked and using A4000 rom.
- Windows driver Catweasel-mode works again
- only access CW registers if CW mouse/joystick is selected, read
  keyboard port only if CW checkbox is enabled

Beta 1: Lots of scary options. Do not touch!

- added new misc configuration options "(handled in previous versions)"
  - RTC type (none, MSM6242B or RF5C01A) + adjustment in seconds
    (always enabled, MSM6242B but no 26x4bit memory implemented
    and was initialized as RF5C01A... Looks like previous developer(s)
    didn't know there was two different clock chips, neither did I
    until few days ago.. Basically 68020+ Amigas have RF5C01A)
  - CIA-A TOD clock source, vblank/50hz/60hz (always vblank except
    50Hz/60Hz in programmed modes, another hack was here)
  - built-in IDE A600+A1200 or A4000. Not really doing much yet.
    (something that prevented IDE detection delay)
  - A1000 Boot "ROM" on/off (enabled when 8k/64k ROM was used)
  - DF0: ID hardware on/off (no ID if DF0: was 35DD)
  - A3000/A4000 "motherboard resources", RAMSEY and/or Fat GARY
    (0xDE000x, 0 = TOENB, 1 = TIMEOUT and 2 = COLDREBOOT registers)
  - KS ROM mirror at 0xe00000-0xe7ffff (Cloanto ROM selected)
  - CD32 CDROM on/off (when 512k extended ROM was selected)
  - CD32 C2P on/off (when 512k extended ROM was selected)
  - CD32 NVRAM on/off (when 512k extended ROM was selected)
  - CDTV CDROM on/off (did not exist)
  - CDTV NVRAM on/off (when 256k extended ROM was selected)
  - CDTV SRAM (64k only, not saved) Card on/off (not implemented)

  Why? Because there are small differences between different Amiga
  models and even revisions and every possible model must be
  configurable for emulation.. (like more real A4000 configuration)
  Also can remove some ugly hacks (like the IDE hack) with proper
  emulation.
  
  I REPEAT: Do not touch Adv.Chipset panel if you aren't sure about
  what you are doing! :)

  NOTE: A4000 KS ROMs (Cloanto 3.x ROMs = A4000 ROM) _REQUIRE_ RAMSEY
  or they will freeze at boot. WinUAE will automatically enable RAMSEY
  and GARY if recognised A4000 ROM is selected, also default "Generic"
  Amiga setting is most compatible with old configurations.

  NOTE2: CD32 and CDTV configurations require now CD32 or CDTV setting
  in chipset-panel (Quickstart mode does this automatically). Previously
  CD32/CDTV mode was enabled depending on size of extended ROM but that
  is not a good idea anymore.

- Amiga model specific chipset extra settings added, available only if
  "compatible settings" is enabled in "Adv. Chipset" panel
- Akiko moved to separate memory bank (was in CIA bank previously, no
  functional changes)
- Configurable motherboard resources memory bank added (includes Fat
  Gary DE0000, DE0001, DE0002 and RAMSEY DE0003 and DE0043)
- RAMSEY revision configurable
- Fat Gary revision configurable (AFAIK this does not exist in existing
  chips but was planned in future. But Scout detects this so...)
- 2 x RAMSEY (A3000/A4000 memory controller chip) controlled 32-bit MB
  Fast RAM configuration added. ROM support for detection needed.
  - First max 64MB "bank" ends at 0x08000000 (A3000/A4000 ROM needed)
  - Second max 64MB "bank" from 0x08000000 (as above plus any 3.1+ ROM)
  In theory there is space for max 96MB but UAE memory system does not
  like non-power of 2 memory areas. Can be used with RTG and Z3 RAM.
- Configurable DDxxxx (A3000/A4000 SCSI) DMAC memory bank added (not
  yet doing anything)
- CDTV emulation support! (thanks to Mark Knibbs for debugging CDTV
  ROMs two years ago)
  - data and audio tracks supported
  - CDXL animations work better than in CD32 emulation
  - CD audio volume control not supported
  - multithreaded, no emulation pauses because of possible slow CD
    access or CD spin up/down. May not be fully stable yet.
  - 1x drive speed emulation
  - 2MB chip enabled in CDTV Quickstart because DF0: is always
    detected (even without drive) and apparently some games need all
    available memory. KS 1.x always uses DF0: and I am not sure how
    CDTV ROM should disable it (or does it do it? CDTV don't have
    built-in floppy drive)
  - starting data CD read without aborting previous CD audio
    freezes (for example DOTC), cdtv device driver keeps waiting
    for some signal that does not appear. (returning error status
    will fix this but it also breaks Xenon II, hopefully proper
    fix is found soon..)
- do not draw onscreen leds ofscreen (left border in narrow modes)
- "Magic" mouse option added (wip) System friendly screens + windowed
  mode only. There is still offset in position when using native
  screen.
- disk read DMA without any selected drives will finish normally
  (would have frozen emulated program in previous versions)
- "Faster RTG" "instant copper" does not freeze even if copper list
  has infinite loop.
- removed A2000 from A500/A2000 quickstart setting, they aren't
  100% same hardware (A2000 has DF0: ID hardware and CIA-A TOD clock
  is powersupply tick by default)
- IOCTL (used by CD32/CDTV emulation) CD access digital CD audio
  work in Vista (previously total silence when using Daemon Tools
  or no sound cable between CD drive and sound card)
  Ugly detail: it closes CreateFile() handle and opens MCI handle
  when CD audio calls are needed (and back to CreateFile() when
  accessing data)
- Current open GUI config panel was initialized, destroyed and
  initialized again when entering GUI and emulation was running.
- selecing keyboard layout C and then selecting any other keyboard
  layout didn't disable layout C.
- Quickstart disk swap delayed insert fixed again
- D3D does not depend on D3DX library anymore (no more need for
  dec 2004 DX SDK to prevent d3dx9_xx.dll dependancy)
- harddisk configuration handling completely rewritten. Configuration
  data and mount data are now separate, configuration data is copied
  to mount data only when starting or reseting the emulation.
  Also failed mounting won't delete the configuration data.
  No more disappearing configuration entries if paths have changed
  or USB device is not inserted or error messages when adjusting
  configuration settings when emulation is already running.
  First column shows if the device is currently mounted
- sound filter/interpolation etc was not initialized until GUI panel
  was visited

1.3.4 (30.12.2006)

Beta 9:

- interrupt timing tweak (Gravity Force in ce-mode)
- CPU Idle tweak (slightly less aggressive)
- file dialogs work again in Windows9X/ME..
- sound problems really fixed now

Beta 8: (RC3, really final?)

- random sound automatic restart delay fixed
- sound underflow handling improved
- JIT NATMEM VirtalFree() incorrect parameters fixed (MS Application
  Verifier report)

Beta 7: (RC2)

- AGA sprites outside display window emulated when sprite is above or
  below the display window. Previously they were only visible when
  it was on left or right side of display window.
  (fixes Spheris Legacy missing status graphics)
- clear garbage at the bottom of screen for example when switching from
  doubled to non-doubled 
- serial port set to none in config file didn't work properly
- cloned stereo and 4 channel sound mode uses proper initialization
  (according to MSDN WAVEFORMATEXTENSIBLE is required if >2 channels but
  for some reason "incorrect" way also worked previously..)
- mask unused DIWHIGH bits, could have caused narrow image appearing on
  screen when loading statefile with DIWHIGH having highest bit set and
  ECS Agnus or AGA enabled.
- border blanking feature (ECS/AGA BPLCON3 BRDRBLNK-bit) now also
  updates top and bottom borders

Beta 6: (RC)

- serial port "friendly" names listed in serial port selection,
  also detects virtual (for example bluetooth) serial ports.
  Windows 2000+ only. W9X/ME shows normal "legacy" names.
- more bsdsocket stability fixes
- 1M ROM image support (upper half maps to regular KS space,
  lower half to 0xe00000) Apparently A600/A1200/A4000 does the
  same with 2x512K EPROMs
- compiler optimization settings changed for release build

Beta 5:

- remove winuae-specific command line parameters before passing
  them to configuration parser.
- internal serial and parallel port selection updates
  (partially in b4 + fixes in b5)
- Paula serial port emulation fixed (broke in b4)
- more uaeserial.device tweaks
- defined more Picasso96 modeIDs, now most PC display modes have
  unique ID (updating display card/drivers, moving between PCs
  does not anymore cause mysterious mode changes)
  NOTE: you may need to reset your Picasso96 display mode if you
  used mode other than 640x480, 800x600, 1024x768, 1280x1024 or
  1600x1200.
- fixed another random Picasso96<>native switching crash
- added -maxmem command line parameter, "-maxmem 1024" enables 1G
  Z3Fast support. (32-bit max) Note: can cause random side-effects
  depending on total memory and/or Windows version.. Large RTG RAM
  sizes require larger maxmem parameter (but values over ~1060 may
  not work, check winuaebootlog.txt). Pointless but fun option :)
- vsync mode sound pitch shifting fixed. Pitch can still shift
  slightly in some cases.
- bsdsocket stability fix

Beta 4:

- uaeserial.device tweaks
- added more logging to RDB parser
- do not reopen DirectSound when losing/gaining focus
- DirectSound initialization changes
- drivesound disk selection menu selected wrong entry in some cases
- rare divide by zero error when running Amiga program tries to
  program 1 line tall display mode
- final MSVC 2005 SP1 installed
- dual core/SMP hardfile freeze fix (RD)
- bsdsocket bug fix that could have caused buffer overflows

Beta 3:

- uaeserial.device implemented, serial.device-like device that maps
  unit numbers directly to host's COMx-ports (unit 1 = COM1, 2 = COM2
  etc..) Supports most serial.device features (No xOn/xOff support)
  Bugs possible. Tested using Term and Nokia E70 via bluetooth serial
  connection :)
- page down is now properly configurable in input-panel (previously
  was internally always mapped to freeze button)
- GUI AHI sound volume adjustment support (previously was Paula only)
- disk emulation event handler error fixed, broke most custom loaders
  (bug introduced in b1)
- X-Arcade GUI tooltip compatibility update, in some cases only tiny
  piece of upper left corner was visible. (Vista only?)
- more blitter tweaks, try to be compatible with broken programs that
  write to blitter registers while previous blit has not yet finished.
- some DirectSound tweaks

Beta 2:

- fixed possible crash when input recording stops (introduced in b1)
- log memory map after reset and also after autoconfig
- log loaded KS ROM information in memory map dump
- fixed boot crash (some CPU/KS combinations only)
- bug in new event handler fixed (symptom was random really slow
  non-ce/non-immediate blitter)
- interrupt priorities are correct again (broke in b1) Some tweaks.
- filesystem flag emulation updates (again) Protection flags on FAT
  volumes should now work properly in non-UAEFSDB mode.
- filesystem directory protection flags supported (on FAT volumes)
  Very old comment says: "Unix dirs behave differently than AmigaOS
  ones. windows dirs go where no dir has gone before..." Perhaps
  Windows 95 had some issues? Hope I didn't miss something..

Beta 1:

- dms files inside archives automatically added to disk history
- Windows98/ME direct MK4 catweasel support. Need command line
  parameter "-directcatweasel 0xyzzzz". y = CW model (3 or 4,
  3 is default), zzzz is io address in hexadecimal. (simple, quick
  workaround if someone really wants to use MK3/4 under 98/ME for
  some unknown reason) IO address in configuration file is obsoleted
  (was never compatible with CW joystick or mouse port detection)
- Catweasel MK4 mouse support fixed (broke in 1.3.3)
- Catweasel direct mode automatically enabled if Windows is 2000
  or newer, IO library is installed and CW driver is not installed
  (previously was automatically enabled only if OS was 64-bit)
- compiler updated to beta SP1. I am very anti-"don't fix it if it
  is not broken" person but I think you must already know it :)
- updated to latest Windows SDK
- winuaeclipboard crash fix (BR)
- finally replaced really ugly interrupt delay hack with more
  cleaner and accurate method (fixes Fun School 4)
- made non-ce "more compatible" CPU emulators' main loop more
  compatible with programs requiring delayed interrups
- windowed mode "leds" had incorrect mouse click positions
- debugger memwatch "freeze" option now also accepts memory values
- added separate memory bank function for 680x0 opcode fetches
- debugger memwatch points can now detect between opcode fetch
  and data fetch, 68000-only currently.
- basic self modifying code (SMC) detection implemented in
  debugger (smc-command) Works in 68000-mode only.
- Windows Vista rawinput crash fix (weird change in vista..)
- avioutput sound sync errors fixed (broke in 1.3.3)
- avioutput video codec type registry saving improved
- fixed CPU emulation condition code bug caused by compiler bug or
  undefined C behaviour (not sure yet..) Affected some copy
  protections. Introduced in E-UAE merge.
- added horizontal mouse wheel input-panel support (hwheel support
  added in Windows Vista, not tested)
- add single "fake" button entry if joystick driver reports zero
  buttons (PPJoy in two-player mode, no idea if this helps)
- cleaned up AHI emulation, initialize and start recording only
  when requested for the first time
- disk image dragndrop caused instant disk swap instead of delayed
  swap (eject, wait 1.5s, insert new disk)
- fixed Windows only bug in new stack magic replacement code, both
  bsdsocket and AHI leaked Windows handles (SR)
- less aggressive sound adjustment
- horizontally scrolling list view selection fix (for example input
  panel with wide enough key name could have made autofire selection
  impossible)
- inputrecording reliability increased (but it still loses sync)

Final 1.3.3

- sound stereo channel swap setting was not saved to config..
- added "affinity <value>" -command line parameter, sets CPU affinity
  bit mask (1=first CPU only, default. 2 = second CPU only, 4 = third,
  3 = CPU 1 + 2 etc.. 0 = original startup affinity value)

Beta 8: (RC1, GUI DLL included)

- unrar.dll supported, rar-archives do not need archiveaccess.dll
  + rar support files anymore (archiveaccess support not removed)
  Note that unrar.dll is stupid, it only allows filename as an
  input archive (instead of memory pointer) which means rar archives
  inside archives can't be unpacked without archiveaccess.
- clear only first 8MB of Z3 RAM during hard reset (full clear of
  Z3 RAM can cause swapping if low on physical RAM)
- remove possible orphaned files (files that have been deleted from
  Windows side) from directory filesystem's cache (BR)
- disk eject and reset from GUI ignored the eject (broke in b4)
- floppy leds write status color works properly
- GUI in 640x480 fullscreen was incorrectly centered in some cases
- removed timestamps from winuaebootlog.txt

Beta 7:

- CIA TOD does not "re-latch" if it has already been latched
  (A1200 confirmed)
- CIA TOD hardware bug emulated, TODMED counts .. 1D 1E 1F
  10 20 21 22.. (1F->10->20 is only couple of cycles but it
  will trigger alarm comparison, not visible to normal programs
  that read TODHI first and TODLOW last)
  (A500, A1200, CD32 confirmed)
- hard reset zeroes all memory types (previously cleared only
  chip memory)
- time base calculation does not overflow even if future PCs
  have 10GHz+ timer resolution :)
- bsdsocket waitselect fix, fixes Remote Desktop (SR)
- filesystem Windows file flag handling fixes (detection if Windows
  flags support current Amiga-side flag combination or if uaefsdb
  is needed has been broken for a long time..)
  List of supported flags/flag combinations: (x = no care)
  H = Windows Hidden flag
  P = Windows System flag
  A = Windows Archive flag
  S set = not supported, FSDB required
  E or R not set = FSDB required
  xxxxR-E- = Windows Read Only flag
  ----RWED = default, no Windows flags set
  other combinations = FSDB required  
- some incorrect blitter cycle sequences corrected,
  fixes Twintris in non-immediate blitter modes.

Beta 6:

- ProWizard updated to 1.61
- added logging if required filesystem is missing (not in RDB and in
  FileSystem.resource)
- RTG RAM max size increased to 64MB (64 and 128 have always been
  possible via manual configuration file editing, 128 not in GUI
  because it may cause problems if combined with 512MB Z3)
- "mousehack mouse" crashed without HD emulation (=no UAE "boot rom")
- increased sound "resync" range again
- "100% accurate"-sound mode tweak, no more huge cpu usage in some
  games that "misuse" AUDxPER-register.
  (for example Paradroid 90, Rambo III..)
- TVicPort direct io support added (includes also 64-bit Windows
  support which is missing from winio, winio support not removed)
  http://www.entechtaiwan.com/dev/port/index.shtm
- CWMK4 direct io support + latest FPGA core built-in. CWMK4 now
  works under 64-bit Windows (yeah, very hackish way but it really
  does work..)
  PCI IO address is automatically detected (also supports MK3),
  Windows 2000 or newer only. Direct IO & PCI scan is only used if
  Windows driver is not installed and running under 64-bit Windows
  (no CW drivers) or -directcatweasel command line parameter is used.
  Direct IO is never used if Windows driver is present.
- Zoom! (SPS version) exception 3 hack (exception3 return address
  is not defined by Motorola, another "problem" when emulating
  microcoded CPU..)

Beta 5:

- built-in 7zip decompression (there is now official, easy to use
  license compatible C-only support library. Old C++/COM library
  was completely unusable.. built-in rar still missing due to
  license incompatibility)
- rom.key system rewrite, old and new (AF2006) rom keys supported
  simultaneously
- RDB HDF partition mount failed if correct filesystem was in ROM
  but RDB contains one or more not needed filesystems  
- Lightpen/gun emulation (available in input-panel, mouse-only)
  Enforcer and Orbital Destroyer confirmed working
  NOTE: random cursor trails possible. not tested in hires or
  laced modes.
  NOTE2: Trojan phazer fire button is joystick 2 left!
  (and Orbital Destroyer crashes if normal fire is pressed..)
- Faster RTG (picasso96_nocustom) added to GUI
- Faster RTG does not disable audio anymore (use automatic
  sound stop/start system instead). Also copper moves are now
  emulated instantly (all waits are simply ignored, shouldn't matter
  in RTG modes, copper is used basically only for setting hidden
  refresh rates for Paula audio frequency hacks etc..)
  Enabled by default now, should not cause any issues anymore.
- added misc-panel checkbox for allowing Windows screen/powersavers
  while WinUAE is active (previously powersaving features were
  always disabled)

Beta 4:

- rom scanner lists nondetected roms (with CRC32) in log
- improved sound underflow detection
- better approximation of sound delay values in GUI
  (includes hidden delay caused by DirectSound)
- sound led didn't always light when sound emulation was
  re-enabled
- sound autostart/stop config option (enabled by default)
- removed latency slider, new sound system should adjust
  automatically
- disable sound autostop if recording is enabled
- only use recording-mode sound auto-adjust while recording
  previously used both..
- RTG RAM enabled without Z3 RAM crash fix (broke in 1.3.2)
- debugger ea lists real AGA color registers instead of
  host RGB values..
- fixed debugger e-command random crashing
- remove some obsolete MSVC 2002 and older project files
- floppy sound didn't restart autostopped audio
- GUI disk eject-button is delayed until exiting emulation
  (fixes "instant disk swap" bug if clicking eject and then
  immediately selecting new image)

Beta 3:

- more sound tweaks, added warning "led" colors to sound buffer
  status. red = underflow (very bad), blue = nearing overflow
  situation (sound lag will get larger but no sound quality
  problems), yellow = overflow prevention triggered (still no
  sound problems but emulation will lose CPU power)
- buffer is filled with empty sample data if underflow happens,
  prevents buffer wraparound and few seconds of totally out of
  sync sound
- new feature: (could be broken feature..) stop audio emulation
  if sound hardware has been idle for 2 seconds. emulation restarts
  immediately when any audio related register is accessed (even
  if it causes no sound like setting volume to zero during boot
  process by Kickstart ROM)
  Stopped = no paula audio or resampling and mixing, host sound
  hardware is still playing empty buffer to prevent any possible
  sound glitches during starting/stopping
- point of sound buffer led is to make sound problem debugging
  easier

Beta 2:

- ReleaseCopyOfSocket() bsdsocket.library implemented,
  fixes AmiVNC (SR)
- input-panel: key mapped to <none> reverted back to its default
  mapping after saving and loading the configuration
- hardfile TD_GETGEOMETRY caused one byte memory overflow
  (long write to DriveGeometry.flags instead of byte..)
- uaescsi.device cleanup breakage fix (direct scsi didn't work etc..)
- HD_SCSICMD now returns error (unimplemented command) instead of
  not doing anything and returning success if SCSI-support is not
  available
- ROM scanner can now detect AF2006 rom.key even if it has been
  renamed, also some other ROM scanner tweaks
- partial sound handling rewrite, some tweaking still needed
  make sure lag adjustment is zeroed before testing!
- added sound buffer status "led", -30 to 30 is ok (the closer to
  zero the better) bigger values most likely cause sound issues.
  value jumping to very high or small value for few seconds after
  reset/resolution change/state file load/etc is normal
- increased "led" update rate
- "vertical scanline"-effect in 16-bit AGA modes fixed
- version changed to 1.3.3, no 1.4 until E-UAE merges and
  sound system updates are tested in public

Beta 1:

- merged portable stack magic replacement from E-UAE
- merged 68k regs-struct optimizations from E-UAE
- merged genlinetoscr from E-UAE + implemented filtered lores support
  (filtered lores now also includes "special" modes like HAM, EHB etc)
- other random E-UAE source cleanups ect merging (part 1/x)
- MSVC version of REGPARAM (__fastcall) enabled and
  USE_NORMAL_CALLING_CONVENTION disabled.
- breakage and performance increase possible, see above :)
- HDF/real HD access optimizations, removed one unneeded temporary
  buffering layer.
- replaced mostly unusable TFHB keyboard layout with "standard" WASD.
- Reset-button in GUI forces hard-reset now
- ignore DMS CRC errors while unpacking instead of aborting the
  process, for example previously harmless error in track 1 created
  completely unusable image even if all other tracks were 100% ok
- encrypted DMS files are transparently decrypted (16-bit
  "encryption key" can be brute-forced quickly..)
- GUI genlock connected-checkbox was broken
- audio emulation tweak, previously audio.device AbortIO() and then
  CMD_WRITE could have caused lost audio interrupt
- memory watchpoint F option added, "freezes" (ignores writes)
  selected address range

1.3.2

Beta 2:

- Mouse Up/Down and Left/Right input destinations can now work
  simultaneously (diagonal movement) Really works now.
- Amithlon partition detection should now work without need to
  disable safety checks
- avioutput audio recording in cloned stereo mode created incorrect
  audio (2 channel instead of 4 and 1/2 the pitch, proper way
  would be to change 4 channels back to 2, maybe later..)
- dskrdy-delay added, apparently there is very small delay before
  dskrdy changes state after switching motor off.
  (fixes Pro Tennis Tour's stupid loader)

Beta 1:

- don't open debug console when restoring state or when quitting..
- ignore printer autoflush timeout if Postscript detection is enabled
  (autoflush during Postscript parsing will quietly abort the print
  process..)
- Mouse Up/Down and Left/Right input destinations can now work
  simultaneously (diagonal movement)
- extended ROM statefile support
- CD32 statefiles supported. CD32 configuration must be set
  before loading the statefile. (will be fixed in future)
- don't save hrtmon to statefile if it has not been activated at
  least once (=hrtmon data has been modified and needs to be saved)
- FDI 2.1 format support, header checksum supported
- HRTMon DE/F keyboard layout autodetection really works now
- HRTMon WHDLoad commands don't cause WHDLoad stack error message
  anymore (for example wq)
- A1000 Kickstart disk image can be used as a ROM image file, also
  supported by ROM scanner
- Z3Fast start address can be set in configuration file. Don't touch
  it if you don't know what you are doing!


1.3.1

Beta 3:

- blitter timing updates. Maybe I am becoming crazy or something
  but I did another test and enabling A-channel does not "anymore"
  steal all bus cycles like I thought it did previously.. Or maybe
  it does in specific situations only. Anyway, Hostages insta-kill
  fixed again. broken since 1.1b4..
- more SPTI and ASPI tweaks
- bad access fault fixed in mousehack replacement code (could cause
  random crashes etc..)
  
Beta 2:

- drag'n'dropping disk images now adds them to disk history list
- drag'n'dropped floppy panel disk image file names were truncated
  if name included "]["-string
- removed "force ECS Agnus if chip ram > 512k"-fix. It is too
  restricting when trying fun configurations, should not be needed
  because of quickstart configuration. At least I hope so..
- avioutput framerate limit and fps stored in registry
- HRTMon colors replaced with "Action Replay colors". (B&W looked too
  boring... configurable in future)
- debugger "unstopped" the CPU if CPU was in stopped state when
  activating the debugger.
- debugger trainer code cleanups, z3fast added to trainers and
  prowizard
- "deep trainer" (idea stolen from Action Replay III) added to
  debugger. GUI for trainers will be added in future, with memory
  location "freeze"-option. Cl = list found trainer addresses

  Ds = start deep trainer (or plain D if this is the first time),
  continue game and lose live (or time or whatever), D = rescans
  memory and removes all addresses that have not changed since last
  scan. Repeat until correct location is found. (may take many many
  times..) Dx = rescans memory and removes all addresses that HAVE
  CHANGED since last scan.

Beta 1:

- uaescsi.device CMD_WRITE/CMD_FORMAT commands implemented (not just
  returning write protected anymore), CMD_READ also works with non-CD
  devices. Testing needed, I don't have any zip drives or similar..
- force bogoram size to 1MB if >1MB bogoram and AGA enabled
  configuration is loaded. (fixes crash if JIT is enabled)
  Gayle IO space conflicts with >1MB bogo. In reality this is totally
  bogus configuration because there are no real AGA machines with
  bogo (slow) ram...
- fixed original extended adf (Factor 5 disk images) decoding error,
  broke somewhere during 1.3 betas..
- ASPI tweaks (may or may not help with some random issues)
- disable cycle-exact if 68020/68040+JIT configuration is loaded
  (not supported configuration and has already caused too many
  useless bug reports because it can cause weird problems..)
- map Gayle memory bank if 68020+ (A4000 KS will freeze without
  something in Gayle space)
- 1280 display width limitation changed to 2048 (real current
  maximum) Previously selecting >1280xYYYY resolution would change
  to 1280xYYYY and cause weird errors.. Also unsupported >2048
  resolutions are not listed in resolution list anymore.
- HRTMon updated to 2.30
- "blitter unstuck" hack (if blitter is stuck for more than 3 frames
  due to blitter DMA being disabled, it will be forced to finish.
  Only enabled in immediate blitter-mode. Compatibility hack for
  some JIT game problems, for example SlamTilt Pinball)
- sound filter configuration load bug
- mostly harmless access fault fixed in "boot rom"
  FileSystem.resource list scanner
- "log illegal memory access"-option does not anymore log Z3
  expansion area (0xff0000xx) and extended rom area (0x00f00000)
- WHDLoad HRTMon detection works now (NOTE: hrtmon must be activated
  manually at least once before it works. WIP)
- avioutput recording incorrectly split the avi when focus was lost
- avioutput codec configuration stored in registry
- first avioutput recorded frame is not blank anymore
- window close button and GUI quit-button didn't work if emulation
  was paused
- changing filters didn't reset graphics subsystem properly
- D3D filter problems fixed, again and again.. (I hope..)

1.3

Beta 8: (second RC)

- ASPI crash fixed
- W9x/ME language dll error log spam really fixed
- hrtmon moved to 0x00a10000 (w9x/me conflict really fixed)
- uade "Sinc" interpolator fixed 

Beta 7: (RC, beta removed from about-panel)

- Action Replay state save/restore should finally work, HRTMon state
  file support added. Old AR state files are not compatible anymore!
- A1200 Action Replay CIA snooping added, previously exiting AR
  caused totally corrupt data written back to CIA registers
- don't map "filesystem boot rom" if no hard drives are enabled
  ("ROM" was visible even in basic A500-mode at 0xf00000) (b6 update)
- Quickstart CDTV description bug fixed
- preparing for uaescsi.device non-CD trackdisk support
  (will be fully implemented after 1.3 is out)
- drivesound (non PC-drive) crash fixed
- Picasso96 graphics crap fixed if P96 window was smaller than full
  P96 display window (BR)
- ROM names changed to "KS ROM xxx" (less confusing, I hope..)
- some key events were passed to emulation while END-key was kept
  pressed
- don't fill log with language DLL load errors if running W9x/ME
  (for some reason W9X/ME returns ERROR_DLL_NOT_FOUND but 2000/XP
  returns ERROR_MOD_NOT_FOUND)
- don't try to create crash dump under W9X/ME, it won't work.
- dm-debugger command fix (last bank was missed)
- hrtmon moved to 0x00a00000 (no more conflicts with 8MB fast RAM)

Beta 6:

- HRTMon 68000 bug fixed (tried to read non-existing stack frame type
  when CPU was 68000 causing crash while freezing if freezed program
  was running in supervisor mode)
- Set German/French HRTMon keyboard layout automatically
- dm debugger memory space dump command added
- AHI updates (BR)
- updated to latest uaede filters ('sinc' is currently broken)
- changing interpolation setting on the fly sometimes didn't work
  correctly
- updated uae home page url in about-panel (when did it change?)
- shutting down WinUAE caused infinite recursion and stack overflow
  when there was already another WinUAE's named pipe open
- Paths-panel info changes: "Amiga Forever 2005" -> "Amiga Forever"
  (2005, 2006 and future releases should use same directory format)
- GUI: removed all (?) visible Commodore trademarks (if they even
  exists today) like "Kickstart". Stupid yeah but you never know..
- some directory filesystem disk full errors were not converted to
  proper AmigaOS error code

Beta 5:

- "cloned stereo" mode added to sound panel (4 channel mode that
  mirrors front channels to rear channels)
- Action Replay A1200 cartridge support
- HRTMon 2.29 "cartridgefied" and is now WinUAE build-in
  (should even work in JIT and Picasso96 modes)
- fixed incorrect numpad key shortcut statefile default path
- added separate Gayle address bank, needed for future IDE controller
  hardfile emulation (A600/A1200/A4000 compatible) Will be implemented
  after 1.3 is out (I read ATA-1 spec yesterday and it was surprisingly
  simple. All "intelligence" is inside the drive, Gayle basically only
  works as an address decoder)

Beta 4:

- replaced directory harddrive size check code with >2G compatible
  code (but it may not help much because of Amiga-side software
  size calculation overflow bugs)
- UNC directory harddrives (\\server\share) work now properly
  (previously ACTION_INFO returned error, for example Shell command
  "info" ignored the drive)
- harddrive hdf creator compatibility updates
- wider harddrive selector window, swapped name and size
- directory harddrive protection flag bug (beta 2)
- overlay workaround for broken ATI X1x00-series card drivers
  (blank RGB overlay since Catalyst 6.1) -enableowr force-enables,
  -disableowr force-disables.
- 3.5" "ESCOM" floppy drive type added (Some newer A1200s came with
  modified PC drives that don't support DSKRDY-signal) Useless?!
- RTE stack frame 7 added (needed when/if MMU emulation happens..)
 
Beta 3:

- Check ROM checksum only if ROM looks like a regular Kickstart ROM
  Currently searches for "exec.library" in the first 256 bytes of ROM.
- interlace-bug fix tweaking (and i am still not happy with the fix)
- uade filter update, 44100Hz-only restriction is gone. Removed old
  filter emulation code. UADE filter/interpolation improvements by
  Antti S. Lankila
- state restore fix, some 68010+ CPU state files required loading of
  statefile twice (first load would cause Amiga-side crash because
  of trying to access not yet mapped memory)
- extended debugger e-command, ea = list AGA color registers
- added timestamps to log files (both real world and frames+vhpos)
- changing fpu_strict on the fly works
- D3D fullscreen freeze fixed (btw, December 2004 DXSDK is the last
  SDK with statically linked d9dx library)
- priority-panel pause emulation/disable sound output checkboxes
  were always shown as unticked
- directories with "illegal" characters work now in NTFS stream
  -style directory filesystems (previously for example directory
  named "blah>" would have changed back to real Windows-side
  directory named "__uae___blah" after reboot)
- only create stream fsdb -file if file/directory has illegal
  name, unsupported protection flags or comment set, also delete
  the stream-file if file does not have illegal attributes anymore
- clear disk history -button added to paths-panel
- CPU% >99% is shown without %-sign in onscreen leds because of
  not enough space

Beta 2:

- motor on/off state added to PC floppy drive sound emulation
  (fdrawcmd.sys >= 1.0.1.9, not yet released)
  NOTE: due to another stupid PC hardware limitation, motor must
  always be switched on while seeking (even if emulated motor
  is not switched on)
- MSDOS DD (720k) and HD (1440k) disk images supported
  (PC0: works fine but PCTask or Transformer won't accept DOS
  images for some unknown reason)
- possible Picasso96 screen switch crash workaround
- disk image drag'n'drop to main window fixed
- disk image drag'n'drop to status bar df0-df3 "leds" added
- input recording disk image change support added
- Both "exe" and "data" path will be used when looking for Help
  file (WinUAE.chm). Previously only "data" path was used.
- selecting from disk history (rarely) selected wrong entry
- "simple" gfx option changes on the fly don't force whole gfx
  system reset anymore (close & open screen)
- No more "No disk in drive x"-dialogs if disk history had paths
  pointing to removed removable drives (for example USB sticks)
- NeroASPI-path had extra \-character (Maybe only if Nero 7 is
  installed?)
- don't cache comment or unsupported protection flags internally if
  drive does not support UAEFSDB or NTFS streams (setting comment and
  immediately using Examine() returned saved comment even if it was
  not possible to store comments or flags to disk)
- paths-panel "WinUAE default"-setting uses relative paths. Only
  if "data" and "exe" paths are identical
- fixed AVIOutput crashes and incorrect display positioning in some
  situations
- 68000 RESET-instruction prefetch update (needed by proper Arcadia
  boot sequence, fixes ancient PC emulator Transformer)
- Arcadia emulation update from MAME 0.105u3. Uses now correct
  boot method which works with Kickstart 1.2 (old one needed KS 1.3)
  Fixes Sidewinder graphics errors (game requires KS 1.2)
- sound filter adjustments, separated filter on/emulated/off state
  from filter type. now uses uade filters by default (only if
  44100Hz frequency is selected, this limitation will be fixed
  in future by uade filter author)
- added "anti" and "sinc" interpolators from uade and set "anti"
  as a default. (note: "sinc" needs much more CPU time than other
  interpolators)
- strip ending :'s from device and volume names (seen some bug
  reports about missing harddrives because of illegal names)
- frogaspi.dll support added (http://www.frogaspi.org/)
  FrogASPI is free ASPI library (frogaspi.dll worked with older
  WinUAE versions but only if it was renamed to wnaspi32.dll)
- blitter state save fix. should fix random frozen emulation after
  restoring. (note: error happens while saving, old damaged statefiles
  won't be automatically fixed)
- "scanline"-effect in changed parts of display while in interlace
  mode bug finally fixed! (for example Pinball Illusions' score panel
  in hires mode)
- very experimental automatic lores/doubling switching added.
  Enable any filter that allows 1x/2x-checkboxes and tick "autoscale"
  at the bottom of filter panel.
  
  Now lores and doubling is automatically changed on the fly.
  - lores/nonlace: lores enabled, doubling disabled, horizontal
    and vertical filter multiplier set to 2x
  - hires/nonlace: lores disabled, doubling disabled, horizontal
    filter multipler 1x, vertical 2x
  - etc..
  - mixed hires and lores forces hires-mode (lores disabled)
  
  So whats the point? Filter 1x/2x scaling is free (display card's
  blitter does it). lores/doubling scaling uses CPU. Most games and
  demos use lores but many have hires title screen etc -> free speed
  boost without quality loss (in theory..)
  
  Whats the catch? It is currently quite useless.
  - graphics subsystem needs to be reinitialized every time
    (=windowed mode recommended now..)
  - scaling is broken (blurring)
  - sound is restarted
  
  "autoscale"-checkbox will be removed in non-beta releases
  (but it will be available by manually editing config files)

- first implementation of uae-configuration-style control software
  that works outside of emulation (using named pipe \\.\pipe\WinUAE)
  
  currently working commands:

  - "CFG <config_entry> <config_value> [<another_entry>=<value>] .."
    change configuration on the fly
  - "CFG config_entry" return value of <config_entry>
  - "CFG beginning_of_config_entry*" return all config entries that
    beging with "begining_of_config_entry"
  - "EVT event event_value [more events]" send input event
    (inputevents.def in source archive, "KEY_A 1", "SPC_QUIT 1"..)
  
  return string is status code (http-style 3 digit status) +
  message-specific extra status.

  NOTE: Named pipes require Windows 2000 or newer. WIP.
  TODO: automatic notifications when configuration changes and more
  
  ipctester.exe (in separate archive) can be used to experiment with
  this feature.
  

Beta 1:

- improved C (trainer) debug command. Multiple searches supported
  (life counter = 3, "C 3", die, "C 2", more than one result?
  die again, "C 1" etc..) C without parameters resets the search.
  byte,word,3 byte,long integers supported. value < 256 = byte,
  value < 65536 = word etc.. "C <value> <size>" can be used to
  force type of value. (1-4). Added slow and fast memory support.
- fpu_strict config option added to GUI
- added Action Replay "fa <addr> [<saddr>] [<eaddr>]"-command to
  debugger
- started implementing "Input recorder". Only keyboard, joystick,
  mouse events supported. Don't try to change disk images.
  Record/playback buttons added to Output-panel.
  "Alt. playback mode" = more compatible but less accuracy.
  (debugging option currently) May not be too reliable yet. WIP.
  Please test and report. Usage: start recording, boot emulation
  or start recording and load state file. Same for playback.  
- build-in mousehack. MH code is now automatically started if
  "mousehack mouse" is selected from ports-panel, mousehack-Amiga
  side program is not needed anymore. MH C-code converted to asm
  and moved to filesys "boot rom". (filesys.asm)
- added disk label text box to "create standard adf"-option
  ("custom" adfs are unformatted)
- and finally the best new feature ever: drive sounds from PC floppy
  drive!... (requires driver from http://simonowen.com/fdrawcmd/)

1.2

Final: (official release date in 3-6 days)

- fpu_strict=yes/no config option added. yes = more accurate
  but slower. No GUI option yet.
- winuaelog.txt logging can be enabled or disabled on the fly
- another CIA keyboard handshake update. Previous update broke
  some intros with extremely weird keyboard routines..
- removed default mapping of PC PrintScreen key to Amiga key code
  0x6e (no special key should be visible to Amiga-side by default)
- winuaeenforcer update (BR)
- small tweak to "writing to BPLxPTL while bitplane DMA was
  accessing it at the same time" (unnamed intro by the Senses)
- it was not possible to delete directories in directory filesystem
  if recycle bin-setting was disabled. (broke in 5 and stupid me)
- windows recyclebin setting is on the fly adjustable
- OGL and D3D filters replaced with original versions, 1x-8x
  select boxes will be implemented later..

Beta 6:

- png screenshots (use "-screenshotbmp" command line parameter
  to force bmp screenshots. This will be removed in future.)
- FSGLMUL and FSGLDIV slowdown fix (PK)
- language selection added to misc-panel (user-specific, stored
  in registry, not in configuration file)
- disabled SHIFT+F12 debugger shortcut in fullscreen modes
- "final" translation dll included, no more changes to GUI.
- D3D/OGL scaling still broken... (so boring thing..)

Beta 5:

- fixed swapped parallel port joystick adapter firebuttons
- more FPU precision/rounding and other updates (Peter Keunecke)
- added improved sound filter code from uade (regular versions only,
  not "E"-versions) NOTE: only available when frequency is 44100Hz
- implemented internal light pen hardware (BPLCON0 bit 3 and VPOSR
  work now properly), mostly useless because there is no cursor or
  trigger yet..
- clicking on disabled drive's trackdisplay slot in windowed mode
  does not open disk dialog anymore
- switching adf read/write-status does not leave stale file locks
  open anymore
- apparently CIA TOD only stops when writing to TODHI and restarts
  when writing to TODLOW. Writing to TODMID does not stop it.
  (demo Harmony by Haujobb)

Beta 4:

- sprite DMA cycles are not anymore available for blitter or CPU
  in ce-mode (game Detonator, probably others too)
- some small ce-mode tweaks
- tweaked Sci-fi COPJMP-update, Thai Boxing works again.
  Copper stops (until next frame) only in following condition:
  - Copper DMA is disabled
  - Copper was waiting when DMA was disabled (this was missing)
  - both COPJMP1 and COPJMP2 were accessed while DMA is disabled
  -> Copper does not restart after DMA is re-enabled
- cycle-exact blitter line draw timing updates
- HAM enabled but only 4 bit planes enabled fixed (broke in B2)
- misc JIT cleanups (Peter Keunecke)
- D3D/OpenGL "works" now. Need some positioning fixes in
  lores/non-doubled modes.
- added AmiKit to about-panel

  I found something interesting about DMA slot allocation, the
  diagram in HRM is correct but there is 5 cycle offset.
  I used simple program that read DFF007 in tight loop (68060 A1200)
  and counted available horizontal positions. 4, 6, 8 and 10 is
  always unavailable (memory refresh). 18 = audio channel 0, 20, 22,
  24 channels 1-3. 26, 28 sprite 0, etc.. This leaves 12, 14 and 16
  for disk DMA (didn't bother to test because slots fit perfectly)
  Questions: Which one is the "real" value and which one is "fake"
  and why? Whats the reason for this unexplained delay? This does not
  affect DMA timing in UAE but CPU reads from DFF007 are not 100%
  correct. (this probably only affects really stupid wait routines)
  I will later use this same method to confirm copper's cycle usage.

Beta 3:

- doubleclicking on power-"led" in windowed mode opened multiple
  (broken) GUI windows
- display filter size and position formulas modified. old presets
  are not compatible. (D3D/OpenGL not yet updated, don't use)
- CIA-A keyboard handshake update, found another game (Wicked) that
  has "interesting" key handshaking code
- configuration save crash (B1, "Filtered Lores"-config entry was
  broken)
- display was shifted by one pixel to right if horizontal centering
  in lores-mode was enabled
- another priority-panel "Above Normal"-bug fixed..
- another FPU update from Peter Keunecke
- missed B1 changelog entry: overlay-checkbox is on the fly
  configurable

Beta 2:

- Logitech G15 LCD support complete (gfx by Jani Wilen)
- D3D filter works again
- ProWizard module ripper updated to latest version
- ignore MinSecondarySampleRate and MaxSecondarySampleRate when
  selected sample rate is 22050 <= x <= 44100 (found broken
  driver that reports 48000 as a min and max frequency..)
- more Amiga Forever 2005 path updates (incorrect paths if trailing
  / was missing from AMIGAFOREVERDATA-environment variable and in some
  situations ROM-path was incorrect)
- %-character fixed in debugger's memory dump
- sprite priorities and HAM change in mid horizontal line supported.
  Fixes Bubba'n'Stix second level background and Cover Girl Strip Poker
  title screen. May also fix demos/games with single incorrect horizontal
  line(s). Disposable Hero titlescreen is not fixed yet but looks slightly
  better.
- rare CE-mode bitplane/copper timing error (demo Green Surprise by Scoopex)
- horizontal cycles 0 to 3 (about) are visible in right border (for some
  reason horizontal blanking does not start at cycle 0), until now color
  changes were delayed until next horizontal line. Fixes wrong right
  border color in Leander, T-Racer, Unreal etc..

Beta 1:

- updated to final MSVC 2005
- sound in 4 channel mode created broken 2-channel wave-files
- added hdf creator to "add harddisk" panel, creates 1:1 hdf-image from
  selected Amiga formatted harddrive.
- harddisk check (RDB detect) crashed if drive's blocksize was >512.
  (does >512 physical block size block devices even exist?)
- FPU emulation update, rounding errors fixed, bad generation of NaNs,
  some missing constansts added. (Peter Keunecke, Bernd Roesch)
- JIT ACOS FPU bug really fixed (Peter Keunecke)
- switching from OCS to ECS or vice versa on the fly didn't reset
  "Arcadia Xenon"-fix correctly. Reboot is still needed to reset it.
- new horizontal shrinking mode, "Filtered lores" in GUI. New pixel is
  now average of two pixels instead of dropping every other pixel.
  Fixes incorrect colors in programs that use superhires tricks
  (for example Virtual Karting, demo Rest-2 by Codebusters) Also
  affects hires-screens if lores-checkbox is ticked. Does not work
  in 8-bit host mode.
- Logitech G15 keyboard LCD display support. WIP.
- overlay windowed window size was incorrect by 1 pixel
- GUI string update. WIP. (M.C. Battilana, TW)
- D3D filter is broken and crashes. Trying to fix another case of
  DLL hell.. (d3dx9_xx.dll)

1.1.1

Beta 3:

- don't set CIA-A FLAG-interrupt bit when program writes to parallel
  port without connected printer. Fixes Gauntlet III.
- editing filename or path from history list works again
- fps adjustment in display panel goes to 1 fps now (was 5)
- .uae extension in registry pointed to <data path>\WinUAE.exe, not
  <path to executable\WinUAE.exe. Caused only problems if -datapath
  command line parameter was used.

Beta 2:

- SPTI SCSI SCAN mode finally works properly. Also duplicate devices
  are now automatically removed.
  Big thanks to Frank Busse for testing, Cloanto for help and donating
  some SCSI stuff. and tiny thanks to me for bothering with
  installation of old SCSI stuff to my test PC, filling my small room
  with another PC, SCSI devices (old scanner I borrowed from work is
  huge and heavy) and wasting lots of time with testing and cursing bad
  documentation..
  This really took much longer than I originally thought. Only SCSI GUI
  panel to do and then SCSI subsystem is more or less finished.
- fixed yet another disk emulation bug. Reading from empty disk drive
  returned random data. "No disk in drive"-status was detected as
  drive with unformatted tracks. (Reading unformatted tracks must
  return random bits) Fixes Xybots. Bug was probably introduced after
  "Typhoon Thompson"-fix was implemented
- disk history select boxes' path separated from filename and moved to
  right side. Now filename is always visible even if path is very long.
  Yes, I know, it does not look too good but I didn't find any non-MFC
  custom multicolumn combo-box examples..

Beta 1:

- fixed incorrect AF2005 paths after clicking "reset to defaults"
- blitter could freeze in ce-mode if D-channel was not enabled
- separated GUI fullscreen resolution and depth selection
- do ASPI check only once and cache the results, check version
  of aspi dlls before enabling, nero aspi must be >=2 and adaptec
  aspi must be >= 4. No more bluescreens/crashes under W9x/me if
  using Windows build-in wnaspi32.dll crap.
- "floppy drive speed" and "new disk image" swapped in disk-panel
- extremely stupid bug in disk emulation fixed (broke in b10,
  may have caused disk detection problems with some games)
- SPTI-mode improved, re-enabled SCSI device scan ("SPTI + SCSI SCAN"
  in GUI. Separate option because driver bugs may cause problems..)
  SCSI scanners and tape drives should now work even without installed
  Windows driver. Note that WinUAE may detect SCSI devices twice in
  this mode (one from regular SPTI enumeration and the another from
  SCSI scan)

1.1

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)
