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?