Hatari est un émulateur Atari ST, STE, TT et Falcon tournant sous Linux, BSD, BeOS, Mac OS X et bien d’autres systèmes supportant la bibliothèque SDL.
Following features are deprecated and will be removed in a future release:
– Support for the SDL 1.2 library (i.e. SDL 2.x should be used instead)
– SDL 2.x « bUseSdlRenderer » config and « GPU scaling » GUI options
(after HW support for SDL2 is available widely enough)
– The old UAE CPU core (i.e. the new WinUAE CPU core should be used instead)
– Python v2 support in Python scripts (Python 2 was end of life in 2020)
– 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)

– FDC / Disk :
– Support for MegaSTE DIP switch register $FF9200
(set floppy drive to HD by default on MegaSTE/TT/Falcon)
– support for DD/HD mode on MegaSTE at $FF860E
(when FDC is set to HD mode, reading DD floppies will fail)
– Support for the ‘Disk Change’ (DC) signal on TT machines on TT’s MFP GPIP4
– Fix: IDE disks with sector size > 512 bytes
– Fix: IDE controller is now always available in Falcon mode, even if
no hard disks have been configured.
– CPU:
– Update CPU core to latest WinUAE 4.4.0 beta : full support for undocument
fields in 68000 bus/address error stack frames, as well as CCR flags for
most of the 680×0 instructions (using a cpu tester program on the real
hardware that checks all possible opcodes’ combinations)
– 68030 MMU hardware bus error support + various fixes
– FPU fixes
– Video:
– Improved timing when setting Vsync signal
(same place where video counter is reloaded)
– Handle screen where vertical DE signal is completely disabled
– Better start/end position for the VBlank signal at 50Hz and 60Hz
– Sound:
– Add a better filter for downsampling the internal 250 kHz signal, should
give better results when the YM2149 outputs high frequency sounds
– Fix microwire mask shifting when CPU runs > 8 MHz
– MFP :
– Rewrite MFP code to handle several MFP objects and add support
for the TT’s 2nd MFP (not all TT’s MFP signals are emulated yet)
– Improved Falcon’s DMA sound interrupt on GPIP7 and AER
– Blitter:
– Large rewrite of the blitter’s core, improving cycle accuracy and
handling the complex cases where xcount=1 and nfsr=1. Code is slighlty
smaller and closer to the logic of the real hardware
– Handle restart in non HOG mode when the CPU uses a RMW instruction
(eg TAS)
– Improve access to memory regions that would generate a bus error
for the CPU
– Emulate additional RTC/NVRAM registers
– megaSTE should start at 8 MHz, not 16 MHz

– Miscellaneous:
– Fix: freeze at Hatari exit and RS-232 device file changes,
when device file(s) are FIFO(s)
– Fix: when autostarting programs without pre-existing INF file,
enable blitter also with EmuTOS
– Use floppy track’s size in bytes to detect DD/HD/ED
(instead of counting sectors)
– Add –lilo debug option for more convenient m68k Linux loading
– Config file handling:
– Support config file values with ‘=’ in them
– Skip reading global config file if HATARI_TEST environment
variable is set
– Memory handling:
– Memory snapshot version increase due to FDC changes
(i.e. old snapshots won’t work with new version)
– Accept 10MB as valid ST-RAM amount (max on real MegaSTE/TT machines)
and correct invalid Falcon ST-RAM amounts
– Fix: 24-bit address mode change while emulation is running
(triggered e.g. when TT-RAM is enabled for TT)
– HD images:
– Fix: run-time IDE byte swap change requires IDE re-init
– Fix: TOS booting from A: although SCSI drive was enabled
– Support read-only HD image files, and show error dialogs
for image file open/lock issues
– GEMDOS HD emulation:
– Support FASTLOAD program flag with GEMDOS HD
– GEMDOS HD emulation cartridge assembly functionality is moved almost
completely to emulator side. Fixes Atari side error handling when program
file is not readable, and TOS stack overflows in some rare cases
– Detect DTA re-use to reduce DTA cache usage, grow cache on
demand and give warning if its entries need to be re-cycled
(= cache max size is reached)
– Invalid DTA in Fsnext() return -ENMFIL, like TOS does
– Fix: skip non-existing host files on FSnext() instead
of returning an error (latter broke directory listings)
– Fix: Dsetpath/Dgetpath empty path handling
– Hatari graphics support:
– Low/med-rez line doubling uses less CPU and doubled lines in
« TV » display mode are now drawn at half intensity, not as black
(fixes TV mode being too dark)
– SDL2: « –zoom » option accepts any values between 1.0 – 8.0
– SDL2: « –zoom » option is changed to always enable low resolution
doubling before SDL framebuffer is scaled up (or down) by the zoom
factor. This way Hatari output window is approximately same sized
regardless of emulated Atari resolution, like on a real CRT monitor
– SDL2: scale quality is selected automatically; nearest pixel for sharp
output with integer scaling factors, and linear scaling to smooth out
issues with non-integer scaling and window resizes
– SDL2: Now redundant « nRenderScaleQuality » config option is
removed and « Linear scaling » option in GUI is replaced with
the « GPU scaling » option (=bUseSdlRenderer config option)
– Added new « –screenshot-dir » option to select the folder for screenshots
– Fix: [ffmpeg/video] Invalid PNG signature 0x89504E470D0A1A
– Fix: garbage graphics (by clearing the whole render area)
– Fix: Spec512_StoreCyclePalette when using 16 or 32 MHz
– Input handling:
– Support SDL « Hat » events in addition to « Axes » events
(= support 80’s game controllers, also in SDL GUI)
– Map a turbofire button independent of the fire button if the game
controller is capable
– Show mouse grab toggle shortcut key in startup statusbar message
– Center host mouse to Hatari window on Atari resets and resolution
changes only when window is focused and mouse pointer is within it
– Fix: keypad emulation with SDL2
– Fix: simulated (socket API) key input with SDL2
– Profiler:
– Profiler backtrace shows now real caller addresses
and their offsets from the function entry points
(slows profiling of addresses with symbols)
– All profiler outputs have now reasonable limits
(so that they don’t flood console)
– Fix: exception in profile post-processor script
(with symbol address aliases)
– Tracing:
– Fix: CPU disassembly trace output doesn’t go to specified trace file
– Trace flags can be added and removed instead of needing to
always specify all the relevant ones, both with « –trace »
command line option and debugger « trace » command:
–trace os_base,aes, trace +xbios,bios, trace -bios,-aes
– VDI trace shows names also for NVDI/Speedo/GDOS functions
– VDI & AES trace function numbers are shown in hexadecimals
with 0x prefix like rest of the OS calls
– Debugger:
– New « screenshot » command for saving screen dump to a PNG/BMP file
– « symbols resident » option replaced with « symbols autoload »
option which can be used to completely disable automatic symbol
loading and unloading for programs run through the GEMDOS HD
(helps debugging resident programs started from GEMDOS HD)
– Improvements to UAE and external disassembler disassembly
– UAE disassembler is now default instead of external one
(latter doesn’t decode all instructions correctly)
– New « info » subcommands:
« acia », « dmasnd », « ikbd », « mfp », « nvram », « rtc » and « scc »
– Also UAE disassembler can now show the profile info
– « info » command can show AES & VDI information on on their
respective traps without VDI mode/tracing being enabled
– Breakpoint « :info » option to call specified info function
on tracing breakpoint hits (one can now use e.g. « :info vdi »
on VdiOpcode breakpoints)
– Improved symbols info output
– Native features:
– Support for missing NF_SHUTDOWN (reset) sub commands
– Test code for rest of features (except for NF_SCSIDRV)
– When Hatari resets or exits due to emulated program
NF_SHUTDOWN / NF_EXIT call, output user a note about that

Tools and Hatari Python/Gtk UI:
– Python scripts use now « python3 » because most current distros don’t
anymore install Python v2 by default. To use a script with v2,
change « python3 » in its first line to « python2 »

Building and unit tests:
– Source repository moved from Mercurial to Git
– Fix: issue with multilib capable cross-compilers
– Only Caps library v5.1 is supported (support for old v4.2 is dropped)
– Obsolete Mudflap option replaced with AddressSanitizer support
– Add tests for GEMDOS HD, fullscreen/overscan display, blitter and Hatari
command FIFO + improve CPU/MMU variant coverage in earlier tests

– Up to date documentation provided at: https://hatari.tuxfamily.org/doc/
– New m68k-linux.txt and m68k-netbsd.txt documents on how to
test m68k Linux and NetBSD under Hatari
– Debugging and profiling information is split from manual.html to
a separate debugger.html file
– Minor improvements

Fixed demos:
– Pacemaker STE demo (end part), when it’s run from GEMDOS HD
– Multi scrolls part in Closure by Sync
(regression since Hatari 2.2, vsync in bottom border)
– Fullscreen part in Hard As Ice STE demo by I.C.E.
(screen with no vertical DE signal)
– Fullast Vinner by Troed/Sync
(improved vblank position, partial fix for now)
– Electric Night Falcon demo by Dune
(MFP DMA sound interrupt on timer A using AER)
– Oompa by No Extra (after greetings part)
(blitter access to bus error regions)
– E.K.O System (music should now play in the racing scene)

Fixed programs:
– MS Write (crash), when it’s run from GEMDOS HD
– Akaisex program reading AKAI S1000 HD floppies converted to STX
– EmuTos drawing vertical lines with blitter and leaving some trails
(blitter in non HOG mode using TAS intruction to restart)
– Cecile v2.22, now also works if no IDE drive has been configured
– Trans D-Bug Express by PHF (lock when running in megaSTE mode at 16 MHz)

– Misc



Télécharger Hatari (x86) v2.3.1 (5.0 Mo)

Télécharger Hatari (x64) v2.3.1 (5.5 Mo)

Site Officiel

En savoir plus…