– Fixed some more issues with CD-ROM CHD support (ex.: Zombie Virus).
– Improved handling of floating point clamping, fixing issues with games like TMNT3, Drakengard and many others.
– Other compatibility fixes (Toy Story 3, Wall-E are now playable).
– Fixed some save state stability issues.
– Desktop: Added a way to disable close confirmation popup.
– Misc fixes
Major highlights of this new version:
– Major rewrite of the internal delays/timers, speed up emulation by ~10% on average
– Various CPU improvements (FPU, IPL timing)
– Faster CPU emulation for 68000 in cycle exact mode (speed up emulation by ~7%)
– More accurate MFP emulation, combined with the new internal timers
– Improved VBLANK position in 50 and 60 Hz mode
– Improved cycle accurate YM2149 emulation, supporting new effects (syncsquare in maxYMiser v1.53)
– Better value for MFP GPIP bit 7 (STE DMA sound and Falcon sound)
– For SCSI, improve « Mode Sense » and « Report Luns »
– For IKDB, better emulation of commands $A and $B
– Better MIDI using PortMidi (Linux/Windows/macOS)
– Better RS232 support for BSD/macOS
– Some fixes for Gemdos HD mode
– Many debugger improvements
– Hatari now defaults to the SMALL_MEM build option, using less RAM during emulation
Following features are deprecated and will be removed in a future release:
– SDL 2.x « bUseSdlRenderer » config and « GPU scaling » GUI options (after HW support for SDL2 is available widely enough)
– The « external » disassembler (i.e. use « –disasm uae » instead)
– Hatari XBios(255) API enabled with the « –bios-intercept » option (i.e. use « –natfeats » & « –cmd-fifo » options and « hconsole » instead)
– The old ~/.hatari configuration file location (use ~/.config/hatari instead)
– The rendering functions for 16 bits-per-pixel host screens (almost all recent hardware should have 32 bpp nowadays)
Removed features (that were marked as deprecated in earlier releases):
– Support for the SDL 1.2 library (i.e. SDL 2.x should be used instead)
– Support for building Hatari for Windows CE has been removed, too, since this was relying on version 1.2 of the SDL library.
– The old UAE CPU core (i.e. the new WinUAE CPU core is now always used)
– Python v2 support in Python scripts (Python 2 was end of life in 2020)
Emulation improvements:
– Internal timers:
*Rewrite the internal timers used to emulate delays/events/mfp timers (gain ~10% on average, up to 60% in very specific cases)
– CPU:
*Improve FPU emulation (exceptions, unimplemeted instructions, fsincos)
*Improve FPU emulation in softfloat mode
*Improve IPL timing update in various opcodes
*Faster emulation of 68000 in cycle exact mode (gain ~7%)
– MFP:
*Use the new internal timers for MFP timers
*Improve accuracy when reading MFP’s Timer Data Register
*More accurate emulation by processing all internal timers first before reading/writing any MFP register (was previously delayed after processing the current CPU instruction, which was too late in some cases)
– Video:
– Fix position for detecting when VBLANK should be disabled in 50 Hz and 60 Hz
– DSP:
*Improved interrupts handling and SSI (from Previous NeXT emulator)
– Sound:
*Improve accuracy of YM2149’s sample generation by using the main CPU clock as a reference for all timings (syncsquare effect as used in recent maxYMiser v1.53)
*Use specific memory functions when doing DMA for STE and Falcon sound (don’t generate bus error when pointed memory is not present)
*Improve value of MFP GPIP bit 7 for DMA sound in the case of STE/TT
(video mono XOR dma sound xsint)
*Use 2 different signals SOUNDINT and SNDINT for Falcon (connected to MFP GPIP7 and MFP Timer A input)
– FDC:
*Stall the CPU during 32 cycles when DMA FIFO is filled/transferred
– SCSI:
*Improve MODE SENSE, add REPORT LUNS support
– IKBD:
*support deltax/deltay in command $A (set mouse keycode mode) and threshold x/y in command $B (set mouse threshold)
Emulator improvements:
– TOS support:
*Support 1024k EmuTOS images also on TT & Falcon
*Add country code option to select EmuTOS language, keyboard layout and screen refresh rate on Mega/ST/STe machines (ones lacking NVRAM)
– MIDI support:
*Fix: PortMidi rejects Hatari MIDI events
*Fix: MIDI IRQ needs to be re-enabled on MIDI device change even when there’s no reset
*Support for matching PortMidi device name by prefix when there’s no exact full match
– RS232:
*The RS232 receiver code has been rewritten to use polling instead of using a thread. This should avoid deadlocks on BSD/macOS systems when shutting down or reconfiguring the RS232 settings.
– TT/Falcon:
*Increase max TT-RAM amount to 1024 MiB
*Separate config + CLI options to override NVRAM language and keyboard layout settings
*NVRAM language default is taken from the LANG env variable
– Falcon:
*Fix: restore zoom mode correctly when loading snapshots
*Correct also smaller specified memory amounts to valid ones
*Microphone emulation now uses SDL2 instead of PortAudio
– MegaSTE/TT:
*Add VME/SCU registers « –vme  » access option (Linux needs « none » option and TOS v2 / v3 need « dummy » one until Hatari implements real VME/SCU register emulation)
– VDI mode:
*Relax VDI mode width alignment from 128/planes to 16/planes, and height alignment from 16 to 8 pixels
– SDL GUI:
*Fix: ignore unrecognized events in file selector (buttons could be incorrectly shown as selected)
*Fix: avoid key release event from SDL GUI closing leaking to emulation
*Do VDI mode size changes in (faster) 16 pix increments, and prevent user seeing invalid VDI mode sizes
*Fine-tune CPU dialog texts and keyboard shortcuts
– GEMDOS HD:
*Fix: clear GEMDOS Fread / Fwrite errors
*Fix: Allow GEMDOS tasks to use other tasks’ file handles
– Command line:
*Support « off » as alias for « none » when disabling DSP, FPU, Joysticks and VME, for consistency with HW on/off options
– NatFeats:
*Fix: freeze with NF_STDERR when string is empty or unterminated
– Debugger:
*Fix: profile header so that profile data post-processor knows how to parse built-in WinAUE CPU core (« uae ») disassembly output, not just « ext » disassembler output
*Repeat CPU & DSP « step » and « next » commands on Enter
*Output PC location in CPU & DSP disassembly
*More readable « variables » command output
*Add « PConSymbol » variable for breaking on symbol addresses
*Add « mmu » and « vme » options for « info » command
*Add « scc » and « vme » (VME/SCU reg access) tracing support
*Setting trace to « none » disables also xconout console output enabled by « os_base » trace option
* »next subreturn » will run until current function returns, even if function calls other functions before that
*Symbol loadind code is now shared between debugger « symbols » command & « gst2ascii » tool, and it can now read also long symbol names from Pure-C debug information
*Auto-detection for whether section offsets should be used when loading symbol information
*MIDI trace options are split to « midi » (device & MIDI events) and « midi_raw » (IRQ and register read/write access). Trace logging added also for MIDI byte writes, not just reads
*Trace options are listed in alphabetical order
– Windows:
*Next/prev drive change buttons added to SDL GUI file select dialog
Build/configure:
– SMALL_MEM option is enabled by default
Tools:
– Add (SDL2 specific) « listkeys » key mapping helper back
– TOS boot tester: support 1024k EmuTOS images, misc fixes
Documentation:
– Compatibility updates, especially for 060 programs that need FPSP060.PRG for missing instructions emulation
Fixed demos:
– Hackabonds Demo (wrong vblank detection)
– We Were @ HD version under GEMDOS HD (file handle access)
Fixed programs:
– maxYMiser FM v1.53 by gwEn (support for syncsquare effect)
Fixed games:
– Chambers of Shaolin : DMA sound was wrong in STE mode with 1 MB RAM (mfp gpip bit 7)
– Super Hang On : fix flickering raster colors (bclr #0,$fffffa0f sometimes happened at the same time timer C expired)
– Have project target .NET 6. Good performance jump. Make sure to download the .NET 6 Runtime before updating.
– Updated extra libs to target .NET 6
– Remove the use of the DS4Audio monitor class for select devices. Use appropriate DS4 feature flags instead. Will likely fix headphone muting issues while rumble is active for several third party DS4 controllers
– Changed expanded output range for Gyro Mouse-like Joystick
– Added additional checks for HidHideClient path
– Changed gyro mode subcommand calls for Switch Pro and JoyCon controllers
– Added try catch for initial outputKBMHandler connect call. Skip over failed FakerInput connection and attempt to fall back to SendInput
– Changed Backslash OEM key alias for FakerInput mapping
– Corrected current gyro toggle flags. Could have impacted profile switching
– Raise default warning intervals used for controller readings control and lightbar flashing
– Removed several DS4 BT Windows 7 workarounds. Seriously, Win 7 support is done. 8.1 is almost EOL
– Fixed use of WIN64 compilation symbol for HID serial reading routine. Visual Studio probably stripped it with the .NET 5 migration
– Bundled updated XInputChecker and DS4Updater that target .NET 6
– Binaries are no longer digitally signed. No longer have a valid OV certificate anymore. Going to make distribution harder
Cette archive inclut Mupen64Plus + ParaLLEl-RDP + une interface utilisateur.
Notez que la dernière archive incluant le plugin GlideN64 est disponible ici.
– Fix auto updater: you’ll need to manually update to this version before it starts working again
– Fix issue when configuring controller profile where inputs were sometimes picked up twice
– This release includes a new feature I’ll call « Dynamic SI DMA Duration » for now. The SI (Serial Interface) is the hardware that communicates with the game controllers. The emulator now dynamically calculates an optimal value for how long data transfers should take. This greatly improves performance when using the Raphnet adapter (used to play with a real N64 controller). It also improves the performance generally in some games, for instance, Body Harvest CPU usage is roughly halved.