Kto czekał to się doczekał, kto śledzi zmiany w betach - będzie to podsumowanie kolejnego etapu pracy nad emulacją maszynek ze znaczkiem Amigi - WinUAE 4.0.0.
New major features:
- Beam Racing Lagless VSync which reduces input latency to sub-5ms. Replaces old Low Latency VSync. (Use 1-2 slice Lagless VSync to match old Low Latency VSync behavior)
- Virtual multi monitor support. Each virtual Amiga video output connector (Video port graphics adapter, RTG boards) can be “connected” to separate WinUAE window, emulating real hardware being connected to more than one physical monitor.
- Debugger supports running Amiga executables from shell, adds symbol and gcc stab debugging data support, loads executable to special reserved address space which enables detection of any illegal accesses byte accurately and more. (Details)
- Host mode FPU emulation mode is finally full extended precision (80-bit) capable. It is also fully JIT compatible.
New other features:
- Overlay graphics led (power, floppy etc) support.
- Close confirmation option added to misc panel.
- Default WASAPI audio device automatically follows Windows default audio device.
- Directory harddrives now use uaehf.device as a fake device driver (replacing non-existing uae.device), for example programs that query extra information (like SCSI Inquiry data) now get valid data.
- Directory filesystem harddrive fake block size dynamic adjustment now starts from smaller disk size, workaround for WB free space calculation overflow when partition is larger than 16G.
- Harddrive imager now also supports native (mainboard/expansion board) IDE connected CHS-only drives.
- Disk swapper config file data is restored from statefile.
- Cirrus Logic RTG horizontal doubling support, keeps aspect ratio in doublescan modes.
- Action Replay II/III state file support improved.
- Windowed mode resize enable/disable option.
- CDTV SCSI and SRAM options moved to Expansions.
3.6.x bug fixes:
- WD33C93 based SCSI controllers hung the system if controller didn’t have any connected SCSI devices.
- Direct3D11 fullscreen mode didn’t open if monitor was connected to non-default GPU. (For example laptops with Intel and NVidia GPU with NV GPU connected to external monitor)
- Direct3D11 fullscreen ALT-TAB refresh problems and other D3D11 fixes.
- 68030 MMU PLOAD was broken (Caused Amiga Linux crash at boot).
Older bugs fixed:
- On the fly switching from non-cycle exact to cycle-exact mode stopped emulation in certain situations.
- Fixed E-Matrix accelerator board RAM selection.
- If CD was changed and system was reset during change delay, drive become empty and new CD was never inserted. Mainly affected CD32 and CDTV.
- Reset when uaescsi.device CD was mounted caused memory corruption/crash in certain situations.
- Code analyzer warnings fixed (uninitialized variables, buffer size checks etc..)
- Old JIT bug fixed: many CPU instructions didn’t set V-flag correctly. (Aranym)
- Inserting or removing USB input device caused crash in some situations.
- Softfloat FPU edge case fixes (FABS, FNEG with infinity, logarithmic instructions with NaN)
- Decrease/increase emulation speed input events didn’t do anything.
- Toccata audio was not fully closed when reset/reset and caused crash if new config was loaded and started.
- Removed forgotten, useless and obsolete “The selected screen mode can’t be displayed in a window, because..” check.
- Fixed WASAPI Exclusive mode audio glitches when paused/unpaused.
- Paula audio volume GUI volume setting was ignored if audio mode was mono.
New emulated expansions:
- C-Ltd Kronos
- CSA Magnum 40
- DCE Typhoon MK2
- GVP A1230 Series II
- Hardital TQM
- MacroSystem Falcon 040
- Xetec FastTrak
→ [AMIGA] Winuae 3.6.0 Final
WinUAE 3.6.0 (17.01.2018) released.
Core emulation updates:
- 68030, 68040 and 68060 full instruction and data cache emulation, with or without MMU emulation.
- 68030, 68040 and 68060 EC model partial MMU (transparent translation registers only) emulation.
- 68030, 68040 and 68060 MMU emulation performance improved (added extra translation caches).
- STOP-instruction CPU model specific undocumented behavior emulated when parameter does not have S-bit set.
- 68020+ DIVS/DIVU CPU model specific undefined overflow condition N and Z flags emulated.
- Undocumented 68881/68882 FMOVECR values emulated.
- 68020/030 BCD instructions undocumented V flag behavior fixed (68000 was already correct)
- Optional Toshiba Gary slow (chip ram like) Z2 IO and/or ROM space access speed.
Emulated hardware expansion updates:
- Added Cubo CD32 later revision hardware support, PIC copy protection, touch screen, NVRAM and RTC emulation. (TODO: Coin and ticket dispenser support, no hardware information available)
- Cubo CD32 is now an expansion device, added DIPs, PIC game ID/language and expansion device enable options.
- A2090 Combitec and MacroSystem 3rd party ROM update/adapter supported.
- DKB 1230/1240/Cobra and Rapidfire flash rom write support added.
New emulated hardware expansions:
- Ashcom Addhard (SCSI)
- Evesham Micros Reference (SCSI)
- FastATA 4000 MK I/II (IDE)
- Gigatron Arriba (IDE)
- Kupke Golem HD3000 (OMTI)
- Profex HD3300 (OMTI)
- Reiter Software Wedge (OMTI)
- Sprit Technology InMate (SCSI)
- Music Master dongle
Direct3D 11 support implemented:
- Requires Windows 7SP1 and later. Windows 7 requires KB2670838 (Available via Windows update as an optional update), Windows 8 and later does not need any extra packages like D3D9 support required (Ancient DX9 redistributable).
- Requires hardware level 9.1 or higher, which means most Windows 7 capable GPUs are supported.
- All Direct3D9 mode features supported (overlays, masks, custom shaders)
- Variable sync (G-Sync, possibly also FreeSync) supported in windowed mode.
- Many D3D9 custom shaders are supported automatically, some require manual modifications to work in Direct3D 11 mode.
Other new features and updates:
- Simple box art/screenshot config file support.
- If Wait for Blitter is enabled and blit size makes no sense, don’t wait. Fixes long delay in Vital / Mystic.
- Added “CIA 391078-01” advanced chipset checkbox. This CIA revision has a bug in IO port output mode, reading output mode port will always read output mode data state. Other models, including original DIP 8520, 391078-02 and Akiko internal CIAs read IO pin external voltage level as documented. This can affect “bad” mouse left button/joystick fire button reading code (not working or stuck button). Used in A600. A1200/A4000 can have -01 or -02 revision.
- Added ATAPI Tape drive emulation.
- CD SCSI emulator READ CD-DA and READ CD-DA MSF commands emulated.
- Expansion device GUI changes are now always activated after hard reset.
- uaehf.device hardfiles/harddrives unit number is now user configurable.
- “Include CD and FMV Audio” and/or sound mode change on the fly when CD or FMV audio is playing is now supported.
- Debugger assembler support (a) and some other misc debugger updates.
- Optional non-rawinput mouse and keyboard mode is back (-norawinput_all)
- Added Misc panel option to show WinUAE in Windows shutdown/logoff screen (Vista or newer) if emulation session is active.
- JIT Direct is allowed in CyberStorm PPC configuration but it also disables CSPPC MAP ROM hardware feature.
- Ability to image CHS-only IDE drives using USB adapters that don’t support CHS-only drives. (Common side effect is drive being detected but it appears as zero size drive in Windows Disk Management)
- It was not possible to override Z2 RAM board autoconfig data if board had built-in manufacturer/product ID defaults.
- It was not possible to change existing path with Select Directory/Select Archive or Plain File buttons.
- Fixed 64-bit version random crashes that usually happened with some shell extensions.
- Z3 RAM in manual mode was completely broken.
- UAE directory harddrive/hardfile KS 1.2 autoboot hack didn’t work without extra reset if UAE autoconfig board wasn’t first board in autoconfig chain.
- 68030 data cache emulation corrupted data if write was cached, write size was word or long and address was odd.
- 68040/060 without FPU: many FPU instruction F-line exceptions generated incorrect stack frames.
- ECS Denise BPLCON2 ECS-only bits (for example KILLEHB) were masked unless AGA was also selected.
- Obsolete IDE FORMAT TRACK command fixed.
- GamePorts panel custom mapping incorrectly parsed joystick autofire state from config file.
- Directory filesystem ACTION_SET_DATE failed to change date stamp if file was read-only.
- 68020 memory cycle exact CPU speed slider is again partially working, CPU speed can be reduced but not increased.
- GamePorts panel custom mapping incorrectly parsed joystick autofire state from config file.
- uae-configuration joystick port (joyportx) modification only queued but didn’t apply changes.
- uaeserial.device crash fixed. DTR/RTS state now match serial.device behavior when device is opened.
- Fixed uaegfx VRAM size check, some modes that almost filled whole VRAM didn’t appear in resolution list.
- uaenet.device didn’t close low level ethernet handles when Amiga was reset, causing duplicate packets.
- Bitplane overrun condition triggered incorrectly in rare situation where bitplane DMA is enabled after DDFSTOP on OCS
- Tape drive emulation fixes. Fixes Amix install error if last file on tape was selected for install.
AVI recording bug fixes and updates:
- First avioutput recorded frame was sometimes partially corrupted.
- When saving state with avioutput active: last frame before state save was not recorded.
- Number of avioutput frames buffered (waiting for compression thread processing) counter was reset periodically which caused lost frames (and leaked memory) in recorded video if CPU was not fast enough.
- Delay initialization until first display frame or sound buffer recording request comes, previously “before filtering” option may have used wrong display size in some situations.
- Uncompressed video selection is not forgotten anymore.
- First frame was not rendered (and also not recorded) if statefile was restored when emulation was already running.
- If emulator state was changed (debugger breakpoint, statefile save etc..), last frame before state change was not recorded.
- File splitting (2G limit) incorrectly flushed sound buffers causing random sound glitches.
- Added -max_avi_size <bytes> -command line parameter to set split size.
- If recording was started and GUI was never opened in same session, sound recording rate become 44100Hz, causing AV syncronization issues if real rate was not same.