hATARI! świetny emulatora dużych, 16-bitowych komputerów ATARI - począwszy od modeli ATARI ST/TT a skończywszy na ATARI FALCON.
HATARI Version 2.6.1 (2025-15-08)
Release notes
This is a small bugfix release for Hatari 2.6.0
Emulation improvements:
- MegaSTE:
- When using cache, only compare 24 lowest bits of address
- Don't update cache after a bus/address error
- Falcon:
- Create a fast ram buffer (_FRB) cookie when running with TT RAM to fix a problem with floppy disk access
- Video:
- Add support for STE 224 bytes overscan in medium resolution
- Set correct resolution in Shifter when accessing $FF8260 as word (fix regression in Hatari 2.6.0)
- VME for MegaSTE / TT:
- VME memory regions should return bus error when no VME board is present
Emulator improvements:
- Windows:
- Fix: late locale init messes debugger readline history handling
- GEMDOS HD:
- Fix: caches were no always flushed on writing to emulated memory
- Debugger:
- Fix: show DEL character as non-printable in memdumps
- CPU/FPU settings:
- Disallow 68881/68882 FPU in 040/060 mode
- Config / SDL GUI:
- Default screenshot save directory override option
- SDL GUI asks for file name when starting AVI recording
- Fit Hatari screen dialog to smallest required size and log errors on invalid dialog sizes
- CLI options:
- GEMDOS HD & screenshot dir options accept only existing directories
Fixed demos:
- A Letter To Sommarhack by Effect (write word at $FF8260)
- Partial fix for Double Rez Trouble by DHS (med res overscan lines)
Fixed programs:
- Spectre 3.0 (Hatari v2.6 regression, MegaSTE cache)
→ [Atari.Area] Nowa wersja emulatora Hatari
→ [ATARI] ST/Falcon:Hatari 2.6.0 21/06/2025
HATARI Version 2.6.0 (2025-21-06)
Major highlights of this new version :
Emulation improvements:
- 030+MMU:
- Workaround to correct prefetch data after bus errors
- DSP:
- Fix: JMP can also form a long interrupt instruction
- VME/SCU:
- TT / MegaSTE SCU registers and interrupts implemented
- Falcon Videl:
- Refresh rate of monochrome monitor is now correctly detected with 71 Hz
- MegaSTE:
- Add support for CPU Freq / Cache control at $FF8E21 when running in cycle accurate mode. This gives cycle exact memory accesses when running at 16 MHz, as well as emulation of the external 16 KB cache
- SCSI:
- Fix REQUEST SENSE for SCSI v2
- Serial Ports:
- Update values of DCD and CTS signals for the RS232 port connected to the MFP (as reported by the underlying OS)
- Add support for using TCCLK as RTxCB clock for the Atari TT's SCC
- Video:
- Improve support for 4 pixel hardscroll by stopping shifter with $FF8260=3. Also handle $FF8261.
- MFP:
- Fix counter when timer is stopped/restarted while counting from 1 to 0
Emulator improvements:
- SDL-GUI (and config options):
- Improvements to GUI font characters
- Add separate option for enabling/disabling >=030 CPU data cache
- Fix: file selector exit with keyboard
- Windows:
- Open console window for error and help output, so that Windows users can actually see them
- Keyboard / TOS localization:
- Symbolic key mapping improved for different TOS language versions
- Made it possible to use a mapping file with fallback to scancode mapping
- New "--fast-forward-key-repeat" option for key repeat
- (EmuTOS v1.4) Catalan country code support
- Memory snapshots:
- Fix: re/store all relevant YM2149 & MMU state variables
- Joysticks:
- Fix: segfault with negative joystick indexes
- GEMDOS HD:
- Fix: Fattrib() call on a directory
- Fix: Return correct attrib for volume labels in FsFirst()
- Fix: Fsnext() calls with DTAs having different attribs, when DTA is not from preceding Fsfirst() but earlier one
- Fix: Handle additional '*' chars at end of file mask
- Fix: Dfree() total/free on really large disk, free on Mac/BSD
- SCC:
- Fix: invalid channel B file close on uninit
- SCSI:
- Add CLI + config file option for (per ID) SCSI version
- Command FIFO:
- Fix crash when FIFO gets command right at Hatari start
- Debugger:
- Fix: DSP RESET instruction tracing
- Similarly to Atari program symbols override, load TOS symbols on TOS load, if autoloading is enabled and .sym file is present
- Add "find" command for searching CPU memory contents
- Add "struct" command to better show contents of program's structures
- Variable & debug symbol names can be given directly also to load, save, memwrite and register commands in addition to numeric values
- File name completion for commands having optional file name args
- Symbol name completion for "loadbin", "savebin" & "dspsymbols" commands
- Align "memdump" character representation also when line is not full
- Show also non-ASCII Atari chars in debugger memory content output
- Add 'c' (character) argument type support for "memwrite" command
- CPU disassembly shows resulting relative branch addresses
- "dspreg" command shows also stack contents
- When disassembling, translate logical addresses to physical ones if MMU is enabled
- Tracing:
- GEMDOS Dsetpath() + Frename() calls included to "os_base" traces
- PC value added to more traces
→ [Atari.Area] Hatari 2.6.0
→ [Atari.Area] hatari 2.5.0
→ [ATARI] ST/Falcon:Hatari 2.5.0 19/04/2024
HATARI Version 2.5.0 (2024-04-18)
Removed features:
- The "--bpp" command line option and related code (i.e. the rendering functions for 16 bits-per-pixel host screens) have been removed since almost all recent hardware should support 32 bpp nowadays
Configuration changes:
- In hatari.cfg, section [RS232], rename:
- sSccBOutFileName => SccBOutFileName
- bEnableSccB => EnableSccB
Emulation improvements:
- MFP:
- When IRQ is cleared on one of the 2 ACIAs, do not clear IRQ on the MFP side if the IRQ is still set on the other ACIA
- Blitter:
- Ignore byte accesses to blitter registers defined as word only
- TT/DMA:
- Update sound FIFO on each HBL (like on STE)
- CPU:
- Sync CPU core with WinUAE CPU core 5.2 beta
- Improved 68000 cycle accuracy (IPL, STOP, TRACE)
- Fix IACK timings
- Return vector=24 if a spurious interrupt happens during the IACK sequence
- 68010 DIV overflow undefined flags update
- NMI handling
- MMU/generic CPU mode autovectored interrupt support
- Fix 68060 MMU MOVEM.L (An)+,<regs> if regs contain An
- 68040/060 MMU fault handler bug fix for MOVEM
- Fix FSINCOS and FMOVE.L/FMOVEM.L register in disasm
- Some softfloat fixes
- Fix stacked PC for branch/jump instructions doing a bus error
- DSP:
- Fix: effective address with modifier=modulo
- Add host interface initialisation
- Add host received data interrupt
- Improve bootstrap support
- Video:
- Add support for 4 pixel hardscroll on STF by stopping shifter with $FF8260=3 (new technique by Troed/Sync)
- In monochrome mode correctly mask the video address to 22 or 24 bit space depending on the machine type. Prevent crash in some cases when Hatari is compiled with "small mem" option
- Fix VBLANK location, should be line 308 on 50 Hz (was 307 before)
- SCC 85C30 (for MegaSTE, TT and Falcon)
- Major rewrite of most of the code, should support all modes used by TOS and EmuTOS or when accessing SCC's registers directly
- Support all serial ports as well as LAN port for MegaSTE and TT
- Joypads:
- STE joypad emulation now supports analog / paddle input, too
- FDC:
- For IPF/CTR support, caps library has a bug that resets FDC's TR and DR on warm reset (68000's reset command). We keep/restore the value ourselves
- IDE:
- Fixed emulation of the HOB (High Order Byte) of the last LBA48 valueLBA28 capacity announcement is now correctly limited to 2^28-1
- Falcon:
- DMA sound: fix SNDINT/SOUNDINT values (0=playing, 1=idle) and interrupts on TAI / GPIP7 for start of frame / end of frame
- Preliminary support for more vertical refresh rates (50,60 or 71 Hz) based on Videl's registers $FF82C0 (VCO) and $FF82A2 (VFT) (was only 50 Hz before)
Emulator improvements:
- TOS:
- Fix: set TOS country code from CountryCode setting, not Language one
- Add "pl" (Poland) & "ro" (Romania) language options for EmuTOS
- RTC:
- CLI/config option to override NVRAM/RTC year, useful with applications that do not handle current dates
- Joystick/Joypad support:
- Fix: joystick button 2 space key emulation "autofiring"
- Keyboard emulation support for all STE joypad buttons/keys
- Support for re-mapping joystick buttons
- GEMDOS HD:
- Fix: Fread/Fwrite combination on Windows
- Fix: Frename() should fail when target exists
- Support up to 64 simultaneously open files (earlier limit was 32)
- Similarly to TOS, allow programs to write to a file they have opened as read-only (by opening all writable files as read/write). As this could fail with real HW under MiNT/MagiC, show warning about it
- Screen:
- Support for screenshot using .NEO or .XIMG format
- Add option "--screenshot-format <x>" (<x> = png or bmp or neo or ximg)
- Memory Snapshot:
- Add some missing variables to the savestate
- Logging/tracing:
- "os_base" trace option outputs now also dir create/delete + file delete calls (in addition to earlier pexec/pterm & file create/open calls)
- Separate CPU video cycles under its own "cpu_video_cycles" trace flag
- Suppress repeats of identical log & trace messages by default (show only their count) and add "--msg-repeat" option to toggle that
- Debug symbol handling:
- Fix: invalid free on freeing loaded GNU debug symbols
- Fix: Do not limit "A" type (constant) symbol values to 24-bit
- Add support for reading symbols from new MINT+ELF binaries
- Add support for demangled C++/a.out symbols (which can be very long and contain almost any characters)
- "<name>.sym" file beside program file acts as its symbols override
- Add optional argument for "symbols <name|code|data>" commands, to limit listed symbols to ones with the given substring Improved support for weak symbols (important for C++ code)
- Symbols with duplicate addresses are skipped on symbols loading
- Disassembler:
- Fix: CPU core disassembler crashes with longer symbol names
- When entering debugger with 'history' enabled, disassembly address
- defaults to an address in history preceding the PC register value (to give more context than disassembling directly from PC)
- Support for disassembly output options working also for CPU core disassembler, in addition to external disassember output
- More flags to change the disassembly output for CPU core (upper/lower case, show memory content, show EA, ...)
- The built-in "external" disassembler has been replaced by a disassembler provided by the Capstone library (version >= 4.0)
- Debugger:
- Fix: free all debugger allocations before exit
- Fix: memdump command always outputs only requested number of items
- Add address width (addr).[bwl] support to expression evaluation History skips address repeats (e.g. with "stop" instruction)
- Breakpoint ":quiet" option inhibits also extra output when ":file" option debugger command file is parsed
- Line-A and line-F exceptions can be caught with "--debug-except" option (in addition to breakpoints)
- Add "echo" command with escape handling, so that one can e.g. use "echo ec" to clear (ANSI) terminal before breakpoint output from a debugger command file
GUI improvements:
- SDL GUI:
- Fix: mouse not visible in floppy disk dialog when it is invoked from a keyboard shortcut in fullscreen mode
- Fix: fileselector scrollbar works with mouse also in SDL2 scaled / fullscreen window
- Support for joystick button mapping + space key vs. jump option
- Mac GUI:
- Accept all file names as Mac file selector does not show a list of the accepted file name extensions any more
Tools:
- - gst2ascii:
- Support for new MINT+ELF symbols
- "-o" option is split to "-f" and "-g" options
- "-s" option to skip symbols with duplicate addresses
- By default filters same symbols out as Hatari debugger
- This can be reverted with new '+' option variants (+l +g +s)
- More concise listing of the duplicate symbols
- Support for new MINT+ELF symbols
- - Profile data post-processor:
- Does not show (most) of symbol conflict messages any more (unless '--verbose' option is given)
- When address has multiple symbols which names are thought as C/C++ symbols, prefer shortest one
- Support for symbol files + Hatari profile data containing demangled C++ symbols
- Support weak symbols (used for C++ template methods)
- Overtly long C++ symbol names are shortened in callgraphs (unless '--full-symbols' option is given)
- Symbols given for "--only", "--ignore" and "--ignore-from" are interpreted as match patterns (with '*?[]' wildcards)
- Only single arrow shown between callgraph nodes when "--compact" option is used
- - m68k-instructions: (new)
- Tool for printing m68k instruction breakpoints & opcode info
Build improvements:
- Fix: CPU core compile warnings (WinUAE upstream)
- Fix: groff/troff warnings for manual pages
- Use cmake config file provided by the SDL2 library instead of trying to detect the SDL2 library ourselves (fixes compilation on macOS)
- Removed unused sources for HD6301 emulation
- Hatari can now be compiled with emscripten, too
Fixed demos:
- Chaos A.D.: bad sound (Falcon DMA sound interrupts)
- Little -ME- Demo end part by Overlanders: black screen after a while (IACK timing)
- Monscape: bad sound (TT/DMA FIFO update)
- Time Slice by Defence Force: monochrome demo (crash when Hatari is compiled with "small mem" option)
- What If by Troed/Sync: 4 pixel hardscroll on STF by stopping shifter
- Oergs, Terrorize your soul, Zero Three Zero demos work now also when MMU is enabled
Fixed programs:
- FlaySID (DSP host handling)
- AFM sound with equalizer enabled (DSP modulo)
- FreeMiNT (use SCC counter at start to detect the SCC clock freq)
- Spectre 3.0 Macintosh emulator (stacked PC in case of bus error)
- m68k-Linux works (again) with 040/060 emulation (MMU)
- m68k-NetBSD does not crash on boot any more (MMU)
Fixed games:
- F29 Retaliator using CTR/IPF format (handle FDC's TR reset bug in caps library)
- MIDI (MFP IRQ clear) handling:
- Bad Mood
- Midi Maze
- Midi Maze II
- Oxyd 2
- Work now also when MMU is enabled:
- Gravon (demo)
- Killing Impact
- Moongame
→ [ATARI] ST/Falcon:Hatari 2.4.1 3/08/2022
HATARI Version 2.4.1 (2020-08-03)
Emulation improvements:
- Sound:
- Much more precise function to convert CPU clocks to YM2149 clocks in the case where YM2149 doesn't use the same source clock as the CPU (fixes e.g. some STE sound glitches in BLSPLAY.TTP)
- Video:
- Fix regression in TT mode: Update video counter again on each HBL (fixes e.g. Hextracker when run in TT mode)
Emulator improvements:
- DSP:
- Avoid small extra overhead on non-Falcon machines when DSP config option is set
- Misc:
- Fix memory leaks on PNG save and GEMDOS HD program load
- All Hatari output (outside of debugger) uses now appropriate logging and trace functions so that they can be controlled
- VDI mode:
- Fix: VDI width needs to be aligned to (at least) 16-pixels
- Fix: a possible crash with (default) SMALL_MEM build config (when ST program sets a bad video base address)
- Statusbar:
- Show "Linux" when running Linux directly with --lilo
- Debugger:
- Fix: to duplicate symbol name removal
- Fix: all IDE trace output did not go to trace file
- Like with rest of debugger, profiler responses go now to stderr (not stdout)
Documentation:
- Document Hatari outputs and their controls in debugger manual
→ [ATARI] ST/Falcon:Hatari 2.4.0 9/07/2022
HATARI Version 2.4.0 (2020-07-09)
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 <none|dummy>" 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 emulationDo VDI mode size changes in (faster) 16 pix increments, and prevent user seeing invalid VDI mode sizesFine-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 readsTrace 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)
→ [ATARI] ST/Falcon:Hatari 2.3.1 27/12/2020
HATARI Version 2.3.1 (2020-12-27)
Main changes since Hatari 2.3.0:
- Hatari could crash when switching to Falcon mode and no IDE drive was used
- Fix unneeded extra prefetch for movem in 68020/30 CPU
- Fix master clock use for crossbar/DSP Handshake mode
- Fix hostport PORTB interrupt handling for DSP
- FPU setting did not work in macOS version for french language
- Fix Hatari window disappearing in the python UI when changing resolution
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)
Emulation:
- CPU:
- Fix: unneeded extra prefetch for movem in 68020/30 cpu (regression in v2.3)
- DSP:
- Fix: master clock use for crossbar/DSP Handshake mode (partial regression in v1.6)
- Fix: hostport PORTB interrupt handling
Emulator:
- ACSI/IDE/SCSI handling:
- Fix: IDE crash when switching to Falcon mode at run-time (regression in v2.3)
- Fix: No error dialog on IDE image mount errors
- Fix: Duplicate disk image mount failure handling
- TOS support:
- Fix: TOS 2.07 (Sparrow TOS) support (regression in v2.3)
- Hatari window handling:
- Fix: Hatari window disappearing from Python UI when Hatari changes its framebuffer size (SDL2 specific)
- macOS GUI:
- Fix: FPU setting doesn't work when GUI runs in French
Python UI:
- Several fixes (see its own release-notes.txt)
- Requires now Gtk v3.22 or newer
Tools:
- Fix: assert in hatari_profile (profile post-processor) with relative symbols
Documentation:
- Add PortMidi info to devices dialog section in manual
- Updated compatibility documentation
Fixed Falcon programs:
- Music missing in H2O game, in Running game main screen, Stocasto demo and Epidemic music disk (crossbar/DSP handshake mode)
- Lockup demo freezing at startup (DSP hostport PORTB interrupt handling)
- Several demos (Cruor 96k, Hmmm..., Keff, Payback 2015) and games (Beats of Rage, Capy, Confusion preview 2, Men at War preview, Moonspeeder preview 2, Neurobot, Pacmania X68000, Slippery Sam and Sokoban by Fun) not starting with TOS4 or EmuTOS unless MMU was enabled (unneeded extra prefetch in movem)
- Built-in Obsolescence demo, Delmpaint app and Sidetracked GFA musicdisk had other issues also with MMU under TOS4 or EmuTOS (unneeded extra prefetch in movem)
→ [ATARI] ST/Falcon:Hatari 2.3.0 28/11/2020
HATARI Version 2.3.0 (2020-11-28)
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)
Emulation:
- 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 680x0 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
Emulator:
- 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
Documentation:
- 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)
Vox populi
Dodaj komentarz!!!!
[Atari.Area] 20. odcinek kursu programowania u Larka
[Atari] AtariOnLine: Joypad CX41
[Atari.Area] ELITE Atari 8-bit!
[Atari.Area] BBC BASIC dla Atari XL/XE
[Atari.Area] Altirra 4.40-test23
![[ATARI] ST/Falcon:Hatari 2.6.1 15/08/2025](/Photos/www/picphoto/fa2675621.jpg,134)
Hatari is an Atari ST emulator for Linux and other systems that are supported by the SDL library.
The Atari ST, STE, TT and Falcon emulator.