4.9.1 / 04-02-2022
WinUAE is a Commodore emulator for Windows:
High accuracy and compatibility for A500, A500+, A600, A1000, A2000, CDTV
Good compatibility (Cycle-exact chipset emulation, CPU memory accesses are cycle-exact, CPU internal instruction execution speed is not exact) for A1200 and CD32
Fast CPU emulation only (chipset/chip ram CPU accesses optionally cycle-exact) for A3000, A3000T, A4000 and A4000T. To see all features, follow this link.
PPC CPU core plugin, 1.5.1+ Direct3D Pixel Shader filters, Improved drive sounds, Portaudio library
UAEUNP 0.8 to extract Amiga based disk images and archive
Windows: XP SP3 32-bit+
CPU: SSE2 capable
GPU: For Direct3D11 - Windows 7: SP1+
For Direct3D9 - June 2010 DirectX 9 redistributable required
Most Recent Changes
4.9.0 bugs fixed
JIT indirect was unstable.
JIT enabled + emulated (not uaegfx) RTG board corruption was possible in certain situations.
Direct 3D 11 mode shader buffer leak.
x86 AT bridgeboard (A2286 and A2386SX) boot crash.
PCem RTG board 15 and 16-bit lores modes didn’t horizontally double correctly.
Remove interlace artifact option added 1 scanline offset to bitplanes and sprites.
Custom chipset and programmed display mode updates and fixes.
Older bugs fixed
Mouse would start moving erratically if emulator has been running continuously more than 10 hours.
Integer scaling only worked correctly if horizontal (lores, hires, superhires) and vertical resolution (non-doubled, doubled) matched.Filtered lores had wrong colors if host graphics mode was 16-bit.
NTSC mode and software switch to PAL: display was incorrectly vertically stretched.
Software YUV based filters had bad colors (32-bit only)
Paula configured for 4us (GCR) mode but normal 2us MFM disk in drive: disk index reporting was unreliable.
Programmed display mode improvements (positioning, blanking etc)
uaegfx Picasso96 overlay now works correctly with screen dragging.
It is now possible to type (almost) normally in warp mode. Keyboard key (if non-qualifier key) presses are released immediately in warp mode.
Epson printer emulation does not anymore print each page as a separate document.
Added IDE scsi.device disable hack. Makes booting noticeably quicker on OS39 and newer KS versions if mainboard IDE is not needed.
PCem Cirrus Logic SVGA emulation planar support enabled. Picasso96 supports 4bit/16 color planar mode.
“Default” filter and integer scale filters now automatically double horizontal or vertically if horizontal and vertical resolutions are different (for example lores + vertical doubling)
Major update: custom chipset emulation rewrite (biggest reason for far too long release cycle)
Agnus/Alice internal DMA cycle processing and RGA bus pipelining (bitplanes, copper, blitter etc) accurately emulated.
Programmed display mode support greatly improved, for example cycle accurate horizontal blanking (even if it is changed mid-screen), badly documented BEAMCON0 bit combinations accurately emulated, previously unknown undocumented features emulated and more.
Blitter internal logic emulation updates, for example blitter register modifications when blitter is active are now accurately emulated, line mode with B channel enabled undocumented behavior emulated and more.
Chipset edge-cases and chipset version specific undocumented behavior emulation improved, for example Copper waiting for Blitter chipset bug is accurately emulated (which causes visible glitches and was not emulated previously), borderblank glitch if horizontal window is opened early.
Display emulation is now from hsync to hsync (not scanline to scanline) which enables accurate emulation of left (programmed modes or blanking modified) and right border (normally visible, position where horizontal position wraps around) edge cases without extra hacks, both bitplanes and sprites. Vertical is also from vsync to vsync, for example last visible line of display can be line 0 (or even larger if special programmed mode) which wasn’t fully emulated previously. Multiple DIWSTRT/STOP regions in single scanline supported, including start/stop horizontal wrap around.
Bitplane DMA overrun condition is not a special case anymore, all overrun conditions are now fully supported, including bitplane wrap around. Overrun can be used to create special modes that are still fully PAL (or NTSC) compatible without usual restrictions (for example it is possible to have full overscan, horizontal scrolling in 64-bit fetch mode and still have most sprites available)
Overscan+ and Extreme display size options. Can see everything in emulation that real chipset can output in PAL/NTSC compatible modes with adjusted blanking timing when using converters like OSSC. Also OCS Denise blanking bug on first and last line is now emulated and visible.
Audio internal timing is now accurate, for example low audio period (lower than DMA can support) interrupt and sample reload timing is now cycle-accurate.
New emulated hardware
CyberVision 64, CyberVision 64/3D and S3 Virge PCI emulation. (S3Trio and S3Virge chipset emulation from PCem)
Voodoo 3 (8M VRAM) PCI emulation. (Voodoo 3 emulation from PCem)
M.A.S.T. Fireball (SCSI HD controller)
Hardital Synthesis (SCSI HD controller)
A.L.F.2 (OMTI HD controller)
Combitec HD 20 A/HD 40 A (OMTI HD controller)
GVP G-Force040 (68040 accelerator)
GVP A1230 Turbo+ Jaws (68030 accelerator)
Prelude A1200 clockport expander support
JIT update (Aranym) + shift instruction flag fix.
x86 bridgeboard emulation updated to PCem v17 x86 core.
Recent Picasso96 multimonitor support: usegfx Picasso96 DISPLAYCHAIN is now only forced if uaegfx monitor is monitor id=0 (shared with native chipset). Previously DISPLAYCHAIN was always forced.
ALT+Space does not anymore open WinUAE window standard menu when input is captured.
Saving config file: Confirm overwrite if existing file is read-only.
Do not allow opposite joystick directions at the same time (some games crash..) if mapped using Game Ports panel. It is still allowed if configured using Input panel and it was mapped to left/right/up/down events (not horiz/vert).
Debugger updates. Configurable disassembly format, DMA debugger DDFSTRT, DDFSTOP, horizontal window, vertical window, blanking markers, full 32-bit/64-bit bitplane/sprite pointer addresses, cycle conflict info, fi command accepts assembly syntax (for example “fi trap #0”).
Picasso96 v3.0+ uaegfx screen dragging and dual palette support.
uaeserial.device CMD_WRITE with io_Length=-1, EOFMODE and Mark and Space parity support implemented.
bsdsocket.library SBTC_GET_BYTES_RECEIVED, SBTC_GET_BYTES_SENT, SIOCIFADDR, SIOCIFFLAGS, SIOCIFBRDADDR, SIOCIFCONF, SIOCIFNETMASK, SIOCIFMETRIC and SIOCIFMTU support added.
All Z2 DMA HD controllers are now 24-bit addressing capable by default (real world capability), checkbox option added to enable full 32-bit capability (emulation only).
Added CD image select/eject keyboard shortcut. END+F5 = select CD image, END+SHIFT+F5 = eject CD. Statefile quick restore moved to END+F6
Executable as a disk image mounting now supports FFS and HD disks. Uses DD+OFS if selected file fits (like previously), then DD+FFS, finally HD+FFS (if drive is HD).
Amiga Bootblock Reader brainfile support (copy ABR package xml files to \plugins\ABR). Used when clicking “?” button in quickstart and disk panels.
Multi monitor mode window positions are now stored to registry/ini.
Experimental HDR mode. Supports brightness and contrast adjustment without immediate white clipping or black crush.
Fixed HAM left border corruption if overscan HAM mode and bitplane horizontal start was earlier than current filter horizontal start.
CDTV and CD32 CD audio playback statefile restore bugs fixed.
A2410 emulation fixed.
NPCap/WinPCap crash if more than 9 network devices was found.
Fixed GDI handle leak. GUI panel change leaked 2 font handles.
Floppy emulation rotation speed was slightly out of spec.
bsdsocket recv/recvfrom() returning truncated data now matches Unix/Amiga behavior. Windows also returned error when data was truncated.
OSD led font graphics is now generated from real Windows font and is high DPI aware.
If game controller was plugged in after config was loaded and loaded config had game controller configured in game ports panel, game controller was correctly remembered but type and autofire mode was set to default values.
68040/68060 unimplemented FPU instruction emulation fixes, all 68060 FPSP test package tests pass now.
Softfloat FMOD, FREM update. FSINCOS implemented, calculates both SIN and COS simultaneously, previously FSINCOS calculated SIN and COS separately.
Add harddrive button tried to incorrectly guess logical geometry and didn’t enable full drive mode if drive didn’t already have RDB. Result was unusable drive.
CDFS mounting used wrong character set translation functions, files with region specific characters failed to open depending on Windows regional settings.
“Remove interlace artifacts” last line flickering workaround fix.
Fixed empty formatted standard HD ADF creation.
Many minor bugs fixed.
To do before 5.0. (Early 2022 – Summer 2022)
68000 interrupt sampling timing needs to be 100% accurate (My cputester + extra tester hardware should solve this). This is the last remaining non-100% accurate part of A500 emulation.
Detect programmed modes that real world display can’t support. Blank emulated display when detected.
4.9 bug fixes.
Replace PCem with 86Box?
68000 address and bus error (bus errors are not used in Amiga) stack frames are now 100% accurate, including all undefined behavior like partially updated flags or registers. Last missing part that wasn’t fully accurate previously.
68010 emulation is now cycle-accurate. Including loop mode.
68030 MMU emulation simplified and optimized.
CPU tester detected rare CPU/FPU bugs fixed.
Multiple CPU tester detected undocumented CPU and FPU (all models) behavior emulated, mainly edge cases that almost never happen normally. More information in detailed changelogs.
Debugger assembler and disassembler updates and fixes.
1x-8x CPU multipliers are now also supported in prefetch (more compatible) CPU mode.
Implemented Paula serial port emulation receive break condition detection support.
“diskchange rdh0:” can be now used to eject drag&drop mounted directory/file/archive harddrive.
On screen led floppy leds have brighter border if inserted disk is write protected.
If 2 light pens/guns enabled and if gun 2 moves, enable only gun 2 crosshair. Previously gun 1 move enabled both crosshairs.
“Default” filter mode now enables aspect ratio correction and scales to window/screen size only when display size is too large or too small.
Ignore ncap/winpcap dll version because recent ncap versions have smaller version number than old winpcap versions.
GUI Reset button now copies current full GUI config to active config, including options that normally can’t be changed on the fly.
FPU default is back to 64-bit. Very few programs require 80-bit accuracy, it wasn’t worth the speed loss.
Black borders are not anymore enabled in autoscale center mode.
Few custom chipset and CIA emulation updates.
Added easy to use and transparent printf()-like debug logging method for developers.
If disk read DMA was started without any selected drive(s), it was always emulated in turbo mode.
Screen capture to clipboard created blank image if 256 color or less RTG mode and capture before filtering was set.
When ejecting directory filesystem that points to plain file or archive, not all host file handles were closed properly.
Switching GUI panels left stale entry in internal array, possibly causing random crash after switching panels many times.
Config file (*.uae) icon is now correct again.
4.3.0 bugs fixed
Some RTG to RTG mode resolution switches didn’t resize windowed mode correctly.
CD32 pad red button didn’t always work as a normal fire button, depending on how it was configured.
CD32 ROM delay loop patch was skipped. Broke CD32 CD if CPU speed was too fast.
New emulated hardware
Hardital Dotto (clone of ICD AdIDE)
On their next update, this section will be refreshed.