Changelog:
Version 1.6.1 (2012-01-13):
---------------------------
This version is mainly a bugfix for 1.6.0, where monochrome mode
gave a black screen and was not usable.
Emulation:
- Fixes to bootup issues in monocrome mode
- Better left border removal timings
- DSP external memory access cycles taken into account
Other changes:
- Fix to allow build with Xcode 3.1.3/OS X 10.5.8 PPC
- Several fixes & updates needed to Hatari UI & hconsole
for them to work correctly with Hatari v1.6.x
- Test programs added for testing TOS booting with different
HW configurations and for finding out values needed in
Hatari keymaps
- Remove a potential segfault in the debugger
Fixed Demos :
Vodka Demo - Kill The Beast 2 (left border removal)
* Update MASTER_SITES and HOMEPAGE.
* Remove c++ from USE_LANGUAGES.
* Set LICENSE.
Changelog:
Version 1.6.0 (2012-01-01):
---------------------------
The Hatari project has been moved from hatari.berlios.de to
http://hatari.tuxfamily.org/. Please update all bookmarks!
Emulation:
- More accurate FDC emulation (correct status bits and commands' timings,
DMA transfer by blocks of 16 bytes, floppy change detection). This should
fix a lot of non working games
- More accurate microwire clock emulation
- SCSI class 1 (ICD) command support for drives > 1 GB
- Improved color conversion table so that colors are a little bit brighter
- Improve shifter (add another method to do 4 pixel hardware scrolling,
better emulation for 0 byte blank line)
- Some fixes to the IKBD emulation
- Better filters and model for sound emulation
- Correct VBL timings in TT monochrome (double clicking works now)
- More cycle accurate Falcon DSP <-> CPU emulation. All the demos that
needed 32Mhz CPU with the old CPU core in Hatari v1.5, work now at
correct 16Mhz with the WinUAE CPU core
- 030 MMU emulation with the WinAUE CPU core
Emulator:
- Switch to ST mode when using TOS <= 1.04
- Replace "--slowfdc" with "--fastfdc" option and default to fast FDC being OFF
- "--fast-boot" option to initialize "memvalid" system variables to
by-pass the memory test of TOS, so that the system boots faster
- "--force-max" option to force Hatari use specified maximum resolution
to avoid window size changes messing up Hatari video recording
- "--desktop-st" option to keep desktop resolution also for ST/STE modes
(unfortunately without scaling besides the low-res doubling)
- GEMDOS HD emulation:
- Allow drives up to Z: (not Y:)
- Unique name for each partition
- Warn user when using too old TOS version
- Dfree() reports host disk total and free size if they're below
value understood by TOS and unlike earlier, it forwards Dfree()
requests for other (IDE/ACSI image) partitions to TOS
- Debugger improvements:
- "history" command to list instructions executed before entering
debugger
- each trace output line is flushed to avoid it being buffered
- Fixed behavior of the Caps Lock key
Other changes:
- Fixes to Hatari UI Hatari window embedding
- Latest Linux sfdisk is borked so atari-hd-image script creates
HD image partition table now itself (experimental)
- Windows needs also HOMEDRIVE for full home path in case Hatari
isn't installed on C:, bug 18297
- Minor fixes
Fixed Demos :
Overscan Demos and Shforstv.exe by Paulo Simoes (black line at top),
ACF - Just Bugging (FDC), Delirious Demo IV (FDC, shifter),
Overdrive Demos - Snirkel Screen (IKBD), Oxygene - Stniccc2000 (FDC),
Cream - Madness (FDC)
Fixed Games :
Superior 65 - Super Monaco GP, DBug 24 - Knightmare, Pompey Pirates 27 - X-Out,
Fuzion 32 - Pang, Fuzion 108 - The Simpson, Fuzion 40 - Super Grand Prix,
Fuzion 46 - Warlock, Fuzion 51 - Navy Seals, Fuzion 61 - Gods, Fuzion 78 -
Carmen Sandiego, Fuzion 82 - Flight Of The Intruder, Fuzion 83 - RBI Baseball 2,
Fuzion 102 - Exile, PP46 - Yolanda, Medway Boys 15 - Murders In Venice,
Medway Boys 83 - Yogi Bear, BBC 2 - Platoon, BBC 39 - The Deep, Superior 71 - The
Running Man, Adrenaline 24 - Demon Blue, Superior 93 - Alien Storm
Fixed Misc Programs :
Procopy 1.50, Terminators Copy 1.68, maxYMizer (caps lock key)
Version 1.5.0 (2011-07-19):
---------------------------
Emulation:
- Alternative CPU core based on WinUAE for more accurate future
HW interaction emulation (see readme.txt on how to enable it)
- Use precise clocks values (as described in Atari's official schematics)
for better video/dma audio synchronisation (e.g. More Or Less Zero by DHS)
- DSP:
- Some DSP-timing sensitive Falcon demos that by luck happened to work
with Hatari v1.4, don't work anymore in v1.5 with the default UAE CPU
core. This is because while DSP cycle accuracy has been improved,
the default UAE CPU core isn't fully cycle accurate. The experimental
WinUAE core is needed to run them
- Undocumented 2 bit shift special case for DSP SSI <-> crossbar exchanges
in hanshake mode with 32 Mhz clock (fixes DSP MP2 player used in many
demos & programs, but that requires also using WinUAE core)
- Sound improvements:
- Major rewrite and accuracy improvements in STE DMA sound, including
emulation of the 8 bytes FIFO, giving results nearly identical to
a real STE (e.g. HexTracker by Paulo Simoes)
- Improved precision in sound emulation, with nearly no rounding errors
over successive VBL (correct sound latency on US TOS running at 60 Hz)
- By default mix 3 YM voices using a lookup table of values
measured on real STF to improve digisound (e.g. Flashback demo sound)
- Remove old ST Sound's code used for tone and noise step compute
(some low period values were not correctly emulated)
- Video emulation on STF/STE:
- On STE, correctly shift display 8 pixels to the left when using
224 bytes overscan
- Add support for spec512 mode in med res (fixes 'Best Part Of The
Creation' in 'Punish Your Machine', 'HighRes Mode' demo by Paradox)
- Correctly shift the screen 4 pixels to the left when left border is removed
in med res overscan (Hatari 1.4 handled only low res, fixes 'No Cooper'
by 1984, 'Best Part Of The Creation' by Delta Force)
- Precisely emulate the number of frames per sec (eg 50.053 fps in PAL
instead of the usual 50 Hz)
Emulator:
- Atari program given as argument to Hatari will be automatically
started after TOS boots. GEMDOS hard disk directory can now be
give also as an argument, not just as a (-d) option
- TOS4 or --machine falcon option use enables DSP emulation now
(follow them with --dsp none to disable DSP emulation)
- Memory state saving and restoring fixes, especially for Falcon
- Crossbar state is included -> state file ABI break
- AVI recording options can be set in the new [Video] config file section
- AVI recording supports non integer frame rates.
- Falcon/TT Videl/hostscreen improvements:
- New setting/option for using Desktop resolution & scaling
in fullscreen instead of changing the resolution. On by default
- User's desktop size is used as max limit for Videl zooming.
Requires SDL >= 1.2.10
- Videl resolution change is done immediately, not 3 VBLs late
- Fix issues in switching between same sized VDI & TT resolutions
- SDL GUI improvements:
- DSP can be disabled from the GUI without needing to restart Hatari
- Disk access LED and desktop-resolution options
- AVI video length (mins:secs) is shown in titlebar during recording
- Option for cropping statusbar from videos & screenshots
- Fileselector scrollbar can be used with mouse
- YM mixing method selection
- Debugging improvements:
- New disassembler with more Motorola like syntax
- CPU & DSP "disasm" and "memdump" commands accept register & symbol
names in addition to numeric addresses / address ranges
- Option to disable Falcon mic
("--mic off" is needed for Mudflap debugging)
- "--run-vbls" can be set also at run-time
- "--bios-intercept" can be toggled from debugger (not just enabled)
- BIOS CON: output is converted to ASCII and redirected to host console
with the --bios-intercept option
- Support for tracing DSP, Videl and Crossbar
- Support for tracing AES calls. VDI calls can now be traced
also without using an extended VDI resolution
- BIOS/XBIOS/GEMDOS/VDI/AES/Line-A/Line-F opcode breakpoint support
- TEXT, DATA and BSS variables for addresses of corresponding segments
in currently loaded program
- "aes", "vdi" and "gemdos" subcommands for "info". Without arguments
they will output information about corresponding OS part state,
with (a non-zero) argument, opcode/call name table is shown.
"video" subcommand for showing video related information.
"cookiejar" subcommand for showing cookiejar contents.
- "file" subcommand to "lock" that executes debugger commands from
given file when debugger is entered (or ":lock" breakpoint is hit)
- ":lock" option to breakpoints that will show (without stopping the
emulation) the same output as what's shown on entering the debugger
- ":file" option to breakpoints that executes the commands from
given file when the breakpoint is hit. This can be used to chain
debugger actions
- multiple breakpoints options can be specified per breakpoint
- parenthesis in "evaluate" command are used to indicate memory
accesses (instead of operator precedence like earlier)
- DSP and CPU code profiling functionality. Provides statistics about
profiled code (executed code address ranges, max and total counts
and cycles), lists addresses/instructions taking most cyles and if
symbols are loaded, what were the most used symbol addresses.
- Profiling information is also shown in disassembly output
Other changes:
- hmsa tool can create empty disk images in addition to converting
disks between ST & MSA formats
- Minimal hatari-tos-register.sh Linux init script (example)
to register Hatari as binfmt_misc handler/runner for TOS programs
- hatari-console.py renamed to hconsole.py, documented and made extensible
(hconsole is command line Python interface for Hatari remote API)
- Support for plain Makefiles removed (except for internal tests),
only CMake is used for configuring and building Hatari
- CMake doesn't require anymore working C++, C-compiler is enough
Emulation:
- IDE improvements:
- Support for second drive (IDE slave)
- WIN_FORMAT command (allows HD Driver to format IDE drives)
- GEMDOS HDD emulation:
- Minor fixes to Fseek(), Fopen(), Fdatime() (e.g. Pure debugger works)
- On TOS v4 Fread() size arg is unsigned, on earlier TOS its signed
(bad code can use -1L to read whole file instead getting fail on TOS4)
- Prevent DTA and read/write functions accessing invalid memory areas
- Programs can now change read-only files to be writable
- Falcon sound emulation:
- Microphone (jack) emulation in Falcon mode (requires portaudio library)
- SSI direct sound entrance ("Audio Fun Machine" and winrec are working)
- DMA sound recording
- Crossbar handshake mode transfers
- Max VDI rez increased to TT-hi size (1280x960)
- 68020+FPU changed to 68EC030+FPU (no MMU 030) for Falcon and TT modes
(Some Falcon programs didn't work with 020)
- Video emulation on STF/STE:
- correctly shift the screen 4 pixels to the left when left border is removed
- add support for STE's 224 bytes overscan line without stabilizer
- when reading $ff8205/07/09 on STE, take into account the value
of horizontal scrolling/prefetch and linewidth
- when writing to $ff8205/07/09 on STE, correctly handle the case
where the write is made while display in ON
- LMC1992 emulation / STE sound filtering
* Fixed HD boot drive when drive C: does not exist. TOS 2.06 was
crashing during the boot process when drive C: did not exist, but
* Fixed drive enumeration of GEMDOS HD emulation. Single partition
GEMDOS HD emulation did not work anymore when an ACSI HD image was
also used, due to some problems with the automatic drive letter detection.
* Fix ConnectedDriveMask with multiple, non-contiguous GEMDOS partitions.
* Fix to incorrect use of DESTDIR in python-ui installation
* more compact debugger output (return to emulation msg)
* update copyright, fix trace settings names
* fix: debugger memdump/disasm show/save/load need now to use '$' for hex
* Improved the CSS of the manual and compatibility list. The "font-
family:Fixed" did not work at all on Windows. Also cleaned up the
CSS in general.
* The hatari icons for the Windows executable must not be put into an
archive for linking.
Emulation:
* Falcon DSP emulation good enough to improve some few games/demos, e.g.
Virtual City. (most still work better with emulation disabled, though)
* New sound engine that fixes all problems with the old one
* 16-bit stereo sound (instead of 8-bit mono)
* Improved blitter emulation (blitter cycles emulation, blitter interrupt)
* Improved STE support for some video registers (hscroll, linewidth, ...)
* Improved printer emulation
* Improved STE microwire emulation
* Improved support for games & demos which are accessing IKBD directly
(including a fake 6301 emulation for the known IKBD programs)
* ACSI emulation fix to get HDDriver working
* Some other minor bugfixes to ST/STe emulation (FDC, MFP, PSG, RS-232)
* Improved MFP emulation
* Improved 68k emulation (move.b Ax,(Ay) and extb.l)
* Fixed bugs in the GEMDOS HD emulation (Pexec() etc.)
Emulator:
* Statusbar and overlay led features
* Screenshots work also in VDI/TT/Falcon mode and are saved as PNGs
* Support for automatic frameskip and pausing emulation
Lots of changes, including
Hatari version 1.0.0
Version 1.0.0 of the Atari ST, STE, TT and Falcon emulator Hatari has
been released. A lot of things have been changed this time:
The user's configuration files are now located in the directory ~/.hatari/
[...]
Hatari version 0.95
Hatari version 0.95 has been released. This release brings you basic
Atari TT and Falcon emulation! Please note that both new emulation
modes are still highly experiemental,some few games and demos work,
but most still have more or less big problems. Basic emulation of
Falcon video shifter (Videl), NVRAM and DMA sound is in place. The
biggest drawback: There is no working Falcon DSP emulation yet.
[...]
- Better Spectrum 512 support (60Hz support, improved I/O memory waitstates).
- STE right border opening support (used in Obsession, Pacemaker).
- Blitter Smudge mode support (used in Pacemaker demo).
- Wheel-mouse simulates cursor up and down.
- Work-around to FDC handling, --slow-fdc option is not anymore needed.
- Bugfix to MFP, sound works now in more YMRockerz releases.
- Bugfix to GEMDOS path handling (Hatari SIGSEGV).
- Bugfix to emulated memory initialization (4MB was cleared earlier, now
exactly the amount set up for Hatari. Saves memory on embedded systems
if less than 4MB is specified.)
- Re-written command-line option handling.
- (Again) lots of code const/static, type usage and indentation cleanup.
- Preliminary support for TOS 3.0x and 030 TT software that runs in ST
resolutions and doesn't need PMMU.
- Native GUI for Mac OSX.
- ACSI emulation fixes to get HD formatting to work with AHDI 5. HD emulation
now works quite fine with AHDI 5 (but other HD drivers are currently not
supported).
- Joystick shortcut changed to toggle cursor emulation between ports 0 and 1.
- Keys for all Hatari shortcuts can now be configured from hatari.cfg.
- Added command line option for setting ST keyboard mapping.
- Joystick command line option requires now parameter for a port for which
the joystick cursor emu is enabled.
- Fixed relative mouse event handling in zoomed low-rez.
- Hatari shows now more of the bottom borden (screen size is now 384x276
instead of 384x267).
- Fixed sync delay timings - sound should now be better (e.g. on Mac OS X).
- Support for STE hardware emulation: STE palette, STE shifter (horizontal fine
scrolling, split screen effects), DMA sound and STE joypads.
See the manual for a list of working STE applications/games/demos.
- Hatari can now emulate up to 14 MiB ST RAM instead of only 4 MiB.
- Support for parallel port joysticks.
- Improved GEMDOS HD emulation (added Fattrib() call).
- Adding and removing a GEMDOS or ACSI hard disk should now work correctly.
- Re-factoring of the screen conversion functions.
- Improved manual: Now with screenshots of the options dialogs.
aalib-x11 and aview-x11.
SDL dependencies change, so bump PKGREVISION (and BUILDLINK_RECOMMENDED)
for affected packages.
Addresses PR 32046 by Leonard Schmidt.
- As always: Code cleanup and bug fixes.
- No more crashes when a program tries to access illegal sector numbers.
- Improved built-in ROM cartridge.
- Rewrote the IO memory emulation code -> Better compatibility.
- Support for TOS 1.06 and TOS 1.62
- Emulated CPU can now also be run at 16 MHz or 32 MHz.
- File selection dialog scrollable with mouse wheel or cursor keys, too.
- Hatari now works on 64-bit host CPUs, too.
- Floppy disk images can now be set writable/write-protected in the GUI.
- Hatari can now also load a global configuration file (e.g. /etc/hatari.cfg).
- Configurable logging functions.
Several changes are involved since they are all interrelated. These
changes affect about 1000 files.
The first major change is rewriting bsd.builtin.mk as well as all of
the builtin.mk files to follow the new example in bsd.builtin.mk.
The loop to include all of the builtin.mk files needed by the package
is moved from bsd.builtin.mk and into bsd.buildlink3.mk. bsd.builtin.mk
is now included by each of the individual builtin.mk files and provides
some common logic for all of the builtin.mk files. Currently, this
includes the computation for whether the native or pkgsrc version of
the package is preferred. This causes USE_BUILTIN.* to be correctly
set when one builtin.mk file includes another.
The second major change is teach the builtin.mk files to consider
files under ${LOCALBASE} to be from pkgsrc-controlled packages. Most
of the builtin.mk files test for the presence of built-in software by
checking for the existence of certain files, e.g. <pthread.h>, and we
now assume that if that file is under ${LOCALBASE}, then it must be
from pkgsrc. This modification is a nod toward LOCALBASE=/usr. The
exceptions to this new check are the X11 distribution packages, which
are handled specially as noted below.
The third major change is providing builtin.mk and version.mk files
for each of the X11 distribution packages in pkgsrc. The builtin.mk
file can detect whether the native X11 distribution is the same as
the one provided by pkgsrc, and the version.mk file computes the
version of the X11 distribution package, whether it's built-in or not.
The fourth major change is that the buildlink3.mk files for X11 packages
that install parts which are part of X11 distribution packages, e.g.
Xpm, Xcursor, etc., now use imake to query the X11 distribution for
whether the software is already provided by the X11 distribution.
This is more accurate than grepping for a symbol name in the imake
config files. Using imake required sprinkling various builtin-imake.mk
helper files into pkgsrc directories. These files are used as input
to imake since imake can't use stdin for that purpose.
The fifth major change is in how packages note that they use X11.
Instead of setting USE_X11, package Makefiles should now include
x11.buildlink3.mk instead. This causes the X11 package buildlink3
and builtin logic to be executed at the correct place for buildlink3.mk
and builtin.mk files that previously set USE_X11, and fixes packages
that relied on buildlink3.mk files to implicitly note that X11 is
needed. Package buildlink3.mk should also include x11.buildlink3.mk
when linking against the package libraries requires also linking
against the X11 libraries. Where it was obvious, redundant inclusions
of x11.buildlink3.mk have been removed.
Changes:
- Again some code cleanup and bug fixes.
- The configuration file layout has changed a little bit: You might have to
check your settings in the GUI and to save the new configuration again.
- Window/fullscreen mode is now correctly initialized from the configuration
file.
- Added --window command line option to force a start in window mode.
- Added alert boxes to show warnings, errors and information messages.
- PC mouse pointer is now better in sync with the ST mouse pointer.
- It's now possible to load an alternative cartridge image file.
- A lot of internal code cleanup and bug fixes.
- Added a dialog for creating new blank floppy disk images.
- The source code has been optimized for better emulation speed.
- Added RS232 emulation (still very experimental and not very well tested! It
seems not to work reliable yet. Help for debugging is very appreciated!).
- Some bugs in the 68000 emulation have been fixed.
- The emulator now checks for double bus errors and stops the emulation if
necessary (instead of crashing the emulator).
- Timer-D is now patched correctly again.
- The old font has been replaced by two new fonts so that the GUI now looks
better in high resolutions.
- The fonts are now linked into the executable.
- Added support for DIM floppy disk images.
in the process. (More information on tech-pkg.)
Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and
installing .la files.
Bump PKGREVISION (only) of all packages depending directly on the above
via a buildlink3 include.
Changes since 0.30 include (please see the doc/changelog.txt in the hatari
source distribution for full details):
* Speed improvements
* Emulation improvements including:
+ GEMDOS hard disk
+ Mega-ST realtime clock
+ Improved memory mapping
+ Improved bus errors and exception cycles
+ Various games now work
+ Simple printer support
+ Initial MIDI emulation
* General bug fixes including:
+ rtc year fix
+ Fix corruption bug in MSA compression function
* Improvements added for cross-compilation of hatari
Changes:
- Changed output audio sample format back to unsigned again (seems to work
better on some systems).
- Adjusted audio functions so that Hatari's sound should be right again.
- Fixed TOS patching routine - it was only working on big endian machines
(Thanks to Tony Smolar for the hint!).
- IKBD_Cmd_ReadClock() should now work.
- Some parts of the code accessed the SR directly to read the IPL - however
the UAE CPU core only updates the SR when doing a MakeSR() first. So this
is done in the affected code parts now, too.
- The IPL wasn't raised when a MFP interrupt occured - fixed now.
- Full screen resolution for ST-Low can now be selected from the screen
setup dialog.
- The IKBD emulation does not longer duplicate joystick fire buttons when
a game (like Babarian) tries to use both, joystick and mouse => Games like
Lotus Turbo Esprit Challange are now working again!
- Improved audio timer function - the code should now be a little bit faster.
- Resynced Hatari's UAE CPU core with UAE 0.8.22 - this fixes some bugs in
68k instructions like ABCD and SBCD.
- Now only reinitializing the sound subsystem if really needed, this should
fix a problem with Linux ALSA sound driver (Thanks to Tony Smolar for
discovering this problem!).
- Added another patch for TOS 2.05 so that this TOS version should now work
with Hatari, too.
- Rewrote TOS patching routine. It is more flexible now.
- Removed 0xa0ff opcode for VDI resolutions; using GEMDOS_OPCODE now instead.
- Fixed MMU RAM size configuration bug.
- Rewrote some screen conversion functions in C (low320x8.c, low640x8.c,
med640x8.c and spec640x16.c).
- When a bus or address error occurred, the PC was often not set to the
right exception handler routine. This has been fixed now - thanks to
Philippe Gerin for finding the bug and the patch for solving it!
as emulators/hatari.
Hatari is an Atari ST emulator for systems supported by the SDL library.
You need a copy of an Atari ST TOS ROM to use this program. Then run
the program as follows: hatari --tos tos.image