WinUAE 6.0.3

6.0.x fixes

  • Fixed chipset emulation bug introduced in 6.0.2. Fixes display corruption in Back in Bizness / 2000AD, Sly Spy, probably others too.
  • Bottom right OCS Denise blanking bug was not visible in Overscan+ mode.
  • In some situations fast drawing mode had unstable vertical blank interrupt trigger (sometimes 1 line too early) and long/short line detection was wrong.
  • Fast drawing mode had unreliable long/short field detection in some programmed interlaced modes.
  • HIGHGFX SuperHires + interlace screen mode got corrupted when screen was dragged down in fast drawing modes.
  • Display drawing could overflow output buffer by drawing 1 pixel more than fits in the buffer and causing random crashes.
  • Switch from RTG to native + fast mode: graphics garbage was randomly possible in right border.
  • GUI operations that update the display in realtime (for example Display panel brightness/etc adjustments) caused hang if done before emulation was started.

Other bug fixes

  • If 1G (max size) of “32-bit” Chip RAM is enabled: always use UAE Z3 mapping. Hardware info panel before starting emulation now shows correct Z3 board start.
  • Integer scaling now uses correct aspect ratio when “VGA mode resolution autoswitch” is active.
  • Internal sound buffer overflowed if WASAPI sound buffer was set to max and channel amount was 6 or more.
  • Plain HDF with virtual RDB (Plain HDF mounted to emulated non-UAE HD controller) didn’t allow access to last 256k of HDF (wrong virtual HDF offset calculation). Bug probably since virtual RDB support was added.
  • Directory filesystem ACTION_CHANGE_MODE responded incorrectly with ERROR_OBJECT_IN_USE if it was used to change already shared mode file handle or file lock to shared mode.

New features

  • It is now possible to connect multiple emulated CD drives and use multiple CD images simultaneously. Internally support was mostly done years and years ago but it was not finished.
  • If RAM panel memory size is adjusted that is also used for accelerator board RAM: adjust also accelerator RAM size. Expansion panel accelerator RAM to RAM panel copy was implemented previously.
  • If standard output is redirected (“winuae.exe >path/somewhile.txt”), all logging will get redirected. Log console is disabled if redirection is used, redirected output is in utf-8 format.
  • -version command line only outputs winuaebootlog.txt “header” lines and then exits.
  • Original X-Surf IDE ports emulated.
  • Added Buddha v103.17 ROM to ROM scanner.

WinUAE 6.0.2

6.0.x bugs fixed

  • Custom chipset emulation fixes.
  • Status bar Power and DFx: offset when selecting with a mouse click.
  • Add Harddrive didn’t always mount the drive at boot even if it was selected.
  • Restoring statefile with active blitter may not have restored blitter state correctly.
  • Horizontal offset that follows mouse cursor in some chipset modes and it was possible to have graphics garbage near left and right borders.
  • Horizontal centering positioning in programmed/scandoubled modes.
  • Lightpen fixes (For example blank screen or trails in some configurations)
  • Native/RTG autoswitch didn’t default to enabled.
  • A2024 and other display port adapters work again.
  • S3 Virge PCI was broken.
  • Fixed AVI Output wrong colors, possible vertical jitter and possible crashes.
  • WASAPI sound driver supported mode/channel/frequency enumaration stopped early with some sound drivers resulting in no sound.
  • Random guru at bootup with JIT enabled.
  • Autoresolution + NTSC (possibly also in some other display modes) switched between lores and hires continuously.
  • On the fly switching to 68000/010 cycle-exact from any other mode caused CPU to run too slow.
  • Multiple crash fixes.

Other bug fixes

  • Fixed bad drive click code, sound buffer size affected click sound quality.
  • Fixed stuck left ALT when using ALT-TAB and Misc panel when active and mouse uncaptured = pause emulation.
  • Fixed harddrive imager GUI getting stuck at the end of imaging process.
  • D3D11 fullscreen mode active, enter GUI, switch screen mode to windowed or full-window, press Reset button: GUI closed, emulation screen was not restored.
  • External HRTMon ROM images were not accepted.
  • Gameports remap window didn’t always list all mapped input events, mapping analog stick to digital joystick movement now always selects digital event target ([-][+] at the end of event name).
  • If A2090 or Mast FireBall hardfile is added, RDB mode was not fully activated automatically.

New features

  • Added “Always stretch NTSC mode” checkbox to Filter panel.
  • Added “Override initial native chipset display” to RTG panel.
  • Filter panel position and size numeric text boxes added and increased manual mode positioning range.
  • If 680×0 CPU is stopped with IPL mask 7 (CPU can only wake up with NMI or reset), CPU OSD shows CPU as stopped.
  • Added Processor slot RAM setting to main memory GUI. This RAM type is much more common in real world than Z3 RAM.
  • If any GUI text box is selected, ESC will only unfocus the text box instead of exiting the GUI.
  • Using GUI to increase Chip RAM size and emulation has not yet been started and OCS Agnus is selected: set Agnus model to ECS.
  • RDB/OFS/FFS hardfile creation option is now separated to RDB and OFS/FFS. RDB adds RDSK identifier to new hardfile and enables Full drive/RDB mode automatically.
  • Added 3.2.3 KS ROM checksums.

WinUAE 6.0.1

6.0.1 bugs fixed

  • Entering and exiting GUI when in fullscreen mode crashed.
  • Vertical and horizontal centering works again.
  • ECS superhires works again.
  • Filter overlay graphics display positioning/size calculation was broken.
  • Virtual mouse driver mode was not in sync with host cursor, both RTG and native modes.
  • Fast drawing mode with 32-bit Chip RAM fix.
  • When switching from emulated graphics board to native programmed mode screen, sometimes native screen had horizontal offset
  • In some situations emulated graphics board was not drawn fully, bottom part was blank.
  • Add Harddrive: Storage devices containing MBR partition table with RDB in later blocks was not detected correctly.
  • Chipset COPxJMP sequence didn’t work in some situations.
  • Rarely used chipset collision register fix.
  • TCP serial mode hang fix.
  • OpalVision crash fix.

Other updates and fixes

  • PC keyboard without numpad/end key optional translation mode. When enabled, PageUp becomes End (End still works normally). Because cartridge freeze is also PageUp, freeze becomes PageUp + PageDown. END/PageUp + cursor left is Pause and cursor right is Warp mode. (Replacing print screen key). PageUp + 7890/UIOP/JKL/M emulates numpad. Note that numpad emulation is done before PC to Amiga translation which means it does not override enabled numpad joystick option. Option in Input panel. This is registry/ini specific setting (Similar to F11 swap option).
  • Copilot key now works as a right Windows (Right Amiga) key. Note that this is a quick hack and causes some (harmless) extra shift and left Windows key presses and releases when Copilot key is pressed and released because Copilot key is weird.
  • Added Native/RTG autoswitcher option. Previously all RTG boards without built-in switcher always autoswitched, now it is optional, default enabled.
  • ROM scanner now detects CyberStorm MK3/PPC and BlizzardPPC flash rom images using checksums. Address ranges that make ROM image unique (Serial number/board config and boot menu config data areas) are skipped in checksum calculation.
  • Built-in AROS ROM updated.
  • ROM scanner/loader CD32 1M single ROM handling fix.
  • RoboCop 3 dongle emulation fixed.
  • Debugger disassembler miscellaneous fixes and updates.

WinUAE 6.0.0

Major update to custom chipset emulation. Internally almost everything in main chipset emulation has been rewritten.
Fastest possible/JIT mode chipset timing/sync had major changes which can cause side-effects.
Bugs are very possible, especially in very rarely used features.

Custom chipset rewrite

  • Custom chipset emulation (Agnus/Alice and Denise/Lisa) almost completely rewritten. Almost every part of chipset emulation is now internally cycle accurate.
  • Custom chipset Denise/Lisa emulation is now running in separate thread for large performance increase in accurate emulation modes compared to previous versions.
  • VPOSW/VHPOSW tricks are now cycle-accurately emulated without restrictions.
  • Horizontal and vertical blanking and sync start/end, csync, csync equalization pulses, etc are now fully cycle-accurately emulated, both hardwired and programmed. Mixing of hardwired and programmed is fully supported. Agnus/Alice hardwired PAL/NTSC sync generator is almost logic gate level emulated.
  • “Display” and Agnus/Alice vertical and horizontal counters are now fully separately emulated, display emulation now works correctly even if Agnus vertical or horizontal is moved backwards or forwards or anywhere (even outside of normal display range), unlimited times per line and/or field.
  • All screenmodes (including “Fake” NTSC or similar mode) now count total number of “display” lines and uses it to setup display height. These modes now work even if they do multiple V(H)POSW modifications.
  • Interlace detection now uses vsync timing like real displays.
  • BPLCON0 ERSY=1 without connected genlock sync stop timing is now accurate. This was faked previously.
  • Full AGA hires/shres bitplane and sprite horizontal granularity support. Separate subpixel mode does not exist anymore.
  • ECS Agnus/AGA UHRES bitplane and sprite RGA DMA slots (0x78, 0x7a) emulated. Completely useless feature because UHRES can only do some DMA transfers to nowhere. It needs extra hardware that was never implemented. UHRES needs to be emulated because (possibly accidentally enabled) UHRES DMA can steal cycles from copper, blitter and CPU.
  • NTSC LOL (long line) state is accurately emulated. Mismatched STRLONG strobe and LOL state now causes correct lores pixel wide horizontal shift. (Mismatched = for example CPU writing to STRLONG when line is not long)
  • Blitter channel sequencer should be 100% accurate now, except possibly line to non-line mid operation switch. Blitter “micro-operation” timings are not yet 100%: when exactly it applies A shift, B shift etc. This will be tested and implemented in the future. Only affects blitter result if BLTxDAT/shifts/etc are modified mid-blit. Channel enable/fill mode/desc/minterm/BLTxMOD/BLTxPT mid-blit changes should be already fully accurate.
  • Collision emulation is now very fast. Collision mode default changed to Full collision.
  • Ultra extreme debug mode now shows normally hidden bitplane and sprite pixels inside horizontal and vertical blanking periods. Previously only background color was fully visible.
  • DMA debugger has much more detailed information available.

Other new features

  • Low level keyboard emulation. Emulates keyboard microcontroller internal ROM code and keyboard matrix, optionally with or without NKRO. All 3 keyboard MCU variants supported. (CSG 6570-036, 68HC05C and D8039HLC. 6500-1 used in A1000 keyboards is same as 6570-036 but with older ROM code. 6500-1 ROM is not yet dumped). Caps lock led state is fully emulated in low level keyboard emulation modes, including demos that flash caps lock led. Chipset panel “Keyboard connected” checkbox replaced with Keyboard mode (“Disconnected”, “UAE high level keyboard” and list of different low level emulated keyboard models)
  • PCI Matrox Millennium, Millennium II, Mystique and Mystique 220 emulation from 86box (originally from PCem)
  • Merged Voodoo 3 emulation updates from 86box.
  • Added 512kWOM A1000 512k WOM expansion emulation. Option in Expansions->Built-in expansions.
  • Added RIPPLE IDE controller emulation.

Fixes

  • Prometheus FireStorm PCI bridge PCI IO mapping fixed.
  • Fixed Mediator 1200TX second PCI window mapping logic.
  • Fixed TekMagic onboard RAM config type.
  • Do not reject (reject = not hardware accelerated, lets Picasso96 software fallback to handle it) uaegfx Picasso96 blit operation if RenderInfo BytesPerRow field is zero. Zero BPR is allowed.
  • GDI mode didn’t free all resources when switching between native and RTG mode.
  • If selected graphics API is not supported, test all other options. Previously failing D3D9 switched to GDI, even if D3D11 was available.
  • Fast/non-accurate emulation mode and writing to CIA high timer register didn’t load timer from latch immediately in oneshot mode if timer was already running (Introduced in 4.9.x)
  • uaegfx RTG vertical blank interrupt might have been duplicated or lost in some situations (very old bug), depending on RTG panel refresh rate setting.
  • Passthrough printing mode fix for v4+ Windows printer drivers.
  • Fixed FDI disk image support.
  • JIT FPU mode FPU registers lost some accuracy when FPU registers were read/written to/from memory with FMOVEM.
  • Removing last sound device on the fly (for example USB sound card without enabled on-board sound device) crashed in WASAPI mode.
  • Added A1000 EHB Denise and non-EHB Denise models to Chipset panel. Also renamed existing entries.
  • Fixed strange window movement when clicking on title bar and keeping it pressed and “Automatically capture mouse when window is activated” was enabled.
  • Expansion panel SCSI controller ID selection enable/disable/selection fixed. (For example A4091)

Updates

  • Default configuration is now cycle-exact A500. Previously default was approximate A500.
  • Query PC drive/network drive/removable drive status only after confirming drive type first. For example if “Add PC drives at startup” or “CDFS automount” is only ticked, don’t query status of possible network drives that might not be mapped or available, causing boot delays.
  • CD32 CD reads should be more real optical drive friendly, when CD32 is reading data sequentially (playing CD streaming animation or video), host side CD sector reads are now also sequential, without periodically re-reading part of previously read sectors.
  • Disabled annoying CD audio playback aOSD led flicker.
  • When exiting debugger, restore focus back to previously active window.
  • If real HD/memory card has Windows supported partition table and partition metadata can be queried without administrator privileges but administrator privileges are needed to read/write partition data, list partition(s) in Add Harddrive dialog with “ACCESS DENIED” text. Previously partition(s) were not listed.
  • Added Amiga GPT partition type support. Works the same as 0x76 partition type with MBR partitioned drives.
  • Add harddrive Lock option didn’t lock all partitions if drive had MBR partition table + one or more Windows supported partition types.
  • GUI Configurations file list’s expanded tree nodes are now stored in registry/ini and are loaded and expanded automatically in following sessions.
  • Hide expansion device “autoboot disabled” checkbox when device does not have any autoboot jumpers. (or have nothing to do with storage devices)
  • Integer scale horizontal/vertical resolution aspect ratio correction should now work more sanely (for example if superhires + vertical doubling, output will be always vertically doubled first, after doubling, integer scaling ratio is selected). Supports also programmed doublescan modes.
  • TV Overscan options now work when combined with most filter modes.
  • Added (config file only currently, “rtg_noautomodes=true”) option that disables uaegfx automatically generated screen modes. With Picasso96 v3.4+ and P96Prefs new modes can be created manually, just like when using real hardware. Note: Older Picasso96 versions and PicassoMode utility don’t support manual uaegfx modes.
  • Added 3840×1080 to known uaegfx automatically generated resolution list (“known” = gets static mode id)
  • Fixed crash when doubleclicking config tree view root node.
  • Subpixel emulation option removed. Emulation is now always subpixel accurate in accurate emulation modes.
  • On the fly chipset type switching improved (For example AGA colors are now preserved, not all registers were preserved fully previously)
  • Added line count and type to bottom border status line (for example 313p or 625i), fully supports all weird modes.
  • Obsolete 16-bit host color depth support removed.
  • All software filters removed. Removal of 16-bit host screen depth support and always-enabled temporary graphics buffer (new chipset emulation does not need it anymore) makes software filter support unnecessarily complex and they are obsolete anyway. In the future better shader filter support will be implemented.
  • Serial port TCP/IP mode uses now TCP_NODELAY flag to reduce latency.
  • If selected WASAPI sound channel mode is not supported, try all possible channel modes until supported mode is found, or until all combinations have been tested. Also if channel count needs changing from stereo to higher channel count (for example sound device only supports 6 or 8 CH modes internally), use 6/8 channel cloned stereo variant because user might only have stereo speakers.
  • Limit initial Windows to Amiga clipboard copy to max 30k (initial = when Amiga is booted and Windows clipboard is not empty) if clipboard sharing is enabled. This prevent slow startup if clipboard sharing is enabled and configuration is not fast and Windows clipboard has some random large image.
  • Added address and length to sample ripper file names.