WinUAE 4.9.0 (06.12.2021) released.
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”).
- FloppyBridge support.
- 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.
- Possible optimizations.
- Replace PCem with 86Box?
WinUAE 4.4.0 (01.07.2020) released.
- 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)
WinUAE 4.3.0 (19.12.2019) released.
- GUI high DPI support rewritten.
- Lagless vsync stability improvements.
- Added Trojan light gun preset to Game ports panel.
- On the fly chipset model switching compatibility improved.
- SPTI CD/DVD access mode now internally emulates all CD audio commands. All other commands are forwarded to the drive like previously.
- PCMCIA hot swap support improved. (PCMCIA SRAM and IDE needs to be set again if previously configured)
- My CPU tester detected edge cases, bugs and undocumented CPU behavior updates implemented. (More details in separate CPU tester note later)
- More compatible partition HDF default geometry calculation if size is 1000M or larger.
- CD32 pad does not anymore disable joystick second button if both CD32 and 2-button joystick is active simultaneously.
- Host directory/archive drag and drop to WinUAE window now supports mounting multiple items simultaneously.
- Debugger disassembler fixes and few very rarely used instructions dissemble now correctly.
- Disk index pulses were not being generated when disk was being written (Cadaver v0.1 save disk writing)
- CDTV audio CD playing state restore fixed.
- A2024 monitor didn’t show full viewable area.
- 24-bit uaegfx RTG mode had random wrong color pixels in some situations.
- nrg CD images didn’t load correctly in relative path mode.
- Graphics glitch in some programs that also depended on display scaling/size (for example Alien Breed 3D)
- Disk swapper path modifications did nothing while emulation was running.
- Restoring CD32 or CDTV statefile with CD audio playing: start playing immediately, do not include normal CD audio start delays.
- Fixed possible crash when PPC emulation stopped emulated sound card audio.
- Quite special kind of CD32 pad button read code was not emulated correctly.
- Added separate 68000-68060 CPU tester/validator project based on UAE CPU core generator.
- Removed all 68020 cycle-exact CPU mode internal idle cycles. It mainly slowed down the CPU too much and didn’t match real world well enough.
New emulated hardware:
- Archos Overdrive HD (PCMCIA IDE adapter)
- ICD Trifecta (A500 IDE/SCSI controller)
- M-Tec Mastercard (SCSI expansion for M-Tec T1230 A1200 accelerator)
- Scala MM dongles