[ATARI] ST/Falcon:Hatari 2.1.0

[72] @ !!! Czwartek, 8 Lutego 2018 20:42 CET [08-02-2018 20:31 CET]

[ATARI] ST/Falcon:Hatari 2.1.0
Skomentuj

No i mamy kolejną wersje tego świetnego emulatora dużych, 16-bitowych komputerów ATARI - począwszy od modeli ATARI ST/TT a skończywszy na ATARI FALCON. Hatari 2.1.0. Jak zwykle z pokaźną ilością zmian i poprawek.

→ [Atari.Area] hatari 2.1.0

Hatari Version 2.1.0 2018-02-07

  • Major rewrite of the YM2149 with a new cycle accurate emulation
  • Major rewrite of the blitter to allow cycle exact bus accesses and correct bus sharing with the CPU
  • Improved video emulation: bottom border at 60 Hz and number of displayed lines, video counter reloading, timer B in mono mode
  • Add full support for MMU/MCU RAM configuration at $FF8001, support more RAM combinations (256 KB and 2.5 MB)
  • Some STX floppy images were not correctly emulated when verify bit was set in the FDC
  • Support for undocumented STOP behaviour on 68000
  • Fix some rare bus accesses order and stack frames
  • Fix some flags after DIV and BCD instructions
  • Improved memory timing for 68030 depending on RAM type
  • 68030 instruction cache was not correctly disabled when EI=0 in CACR
  • Improve caches accuracy for 68020/30/40/60, with optional MMU support
  • Large improvements to FPU emulation, including a new softfloat method
  • MIDI support for Windows and macOS (with PortMidi library)
  • Add support for AVI files > 4GB (up to 256 GB)
  • SDL UI shows refresh rate and blitter usage
  • Several improvements/fixes when using VDI
  • Improvements/more options for autostart using virtual INF file
  • Many improvements to debugger, especially for symbols handling
  • Fix compilation for more targets (ARM64, MIPS, ...)
  • Fixed demos: Sprite32 by Leonard, Jam-Cols by ICE, 4getful, Beams, many Falcon demos should run better
  • Fixed programs: Hextracker for Falcon, Protracker 2.1 and Neochrome Master 2.8 at 60 Hz, Audio Sculpture

Revision Hatari Version 2.1.0 (2018-02-07)

Emulation:

  • Video:
    • Fix correct number of displayed lines when removing bottom border
    • Improve bottom border removal on 60 Hz screen
    • More accurate position for reloading video counter on line 310/260
    • Fix STE video counter regression at start of VBL (off by 4 cycles)
    • Fix Timer B counting when screen is in Mono mode and video resolution is set to low/medium
    • Fix bug preventing screen to be drawn when video address = 0x0
    • Add (dumb) Videl address and vertical frequency counters emulation
    • Videl unused bits at $FF820E are read as zero
  • Sound:
    • New cycle exact emulation of the YM2149, all counters are incremented using a simulated freq of 250 kHz, giving a 250 kHz audio stream which is downsampled to the desired output frequency. Some undocumented cases were also measured on real STF Result should be much more accurate, clearer and emulate complex effects (phase cancelling on 2 voices for example)
    • Fix bad sound during YM sample playing on Falcon/TT
  • CPU:
    • Support undocumented behaviour for STOP on 68000 when new SR has bit S=0
    • Fix some cases where bus/address error stack had a wrong PC
    • Correctly store the 32 bit address in the stack in case of a bus error
    • Better memory timings for RAM accesses in 68030 mode (for Falcon)
    • Accurate DIV overflow undocumented flags
    • Correct V flag for BCD instructions for 68020/30
    • 68030 instr cache was not correctly disabled when writing EI=0 in CACR
    • Improve caches for 68020/30, add cache support when using MMU
    • Add 68040/60 data cache emulation, with optional MMU support
  • FPU:
    • Large improvements in FPU emulation and related instructions/exceptions
    • Support for undocumented 68882/68881 FPU constants
    • Support for softfloat FPU emulation (slower but more accurate)
  • Memory / MMU / MCU:
    • Add full support for STF/STE MMU/MCU at $FF8001 and address translation (emulate the RAS/CAS signal depending on the size of the memory banks, TOS memory routines don't need to be patched anymore)
    • Better results when reading "void" region between end of RAM and 4MB (return latest data seen on the bus on STF/STE)
    • Add support for more RAM combinations (256 KB and 2.5 MB)
  • Blitter:
    • Add cycle exact bus handling for the blitter (correct bus count for CPU and blitter, suspend/resume blitter after any memory access, run part of next CPU instruction in parallel when starting the blitter)
    • When writing busy bit=0, update interrupt line and don't clear hog bit
  • Floppy:
    • Emulate ripple carry adder "bug" for STF DMA address at $FF8609/0B/0D
    • For STX images, add support for the verify bit in Type I commands
    • Fix a rare case when looking for the next sector header of an STX image
  • IKBD:
    • Support for Audio Sculpture's custom IKBD program
  • Emulator:
    • MIDI support for Windows and macOS (with PortMidi library)
    • Add support for AVI files > 4GB (up to 256 GB)
  • Miscellaneous:
    • Initial patching for ST-Book ROM
    • Add keyboard shortcut for toggling borders
    • Fix: rate-limit DSP illegal instruction warnings output
  • Disk handling:
    • Add "--gemdos-time " option so that user can specify whether emulation or host timestamps are used with GEMDOS HD files
    • Fix: off-by-one error in ACSI image file name handling
  • Memory handling:
    • Support memory check skipping also on TOS v3 & v4
    • Allow RAM size values in KiB instead of MiB
  • SDL UI:
    • Add a 'blitter-meter' to the status bar, depending on the blitter's usage
    • Add refresh rate in the status bar (50, 60 or 71 Hz)
    • Disable alt+F4 under Windows so that it doesn't close Hatari (in case alt+F4 is also used in the emulated program)
  • Display handling:
    • Add --resizable option to control whether Hatari SDL2 window can be resized (= turn it off to prevent accidental resizes)
    • Support scaling AVI recording (PNG/BMP) frames
    • Extended VDI mode font selected based on VDI height
    • Fix: Handle window expose events with SDL 2.0
    • Fix: don't switch bitdepth when recording AVI
    • Fix: X11 window embedding (to Python GUI) with SDL2
    • Fix: TOS v2 & v3 Atari logo display in extended VDI resolutions
    • Fix: Limit Videl widths for GLES2 SDL2 backends
  • Virtual INF file handling:
    • Add "--auto" option to autostart programs also from somewhere else than C: root, and to enable required GEMDOS interception without full GEMDOS HD emulation
    • Add --tos-res option to specify TOS ST/STE/TT resolution for color monitors, with or without autostart. Also enables blitter for machines & TOS versions supporting it
      *Uses existing INF file as base, if one exists If not, specifies open window for boot drive
    • Fix: Use separate INF files for TOS v1 and v2+ autostarting
    • Fix: Normal users cannot use tmpfile() directly under Windows
  • Debugger improvements:
    • Fix: '>>' bit-shift parsing
    • Fix: CPU prefetch when changing PC address
    • Add "CycleCounter" variable
    • Add "info dta [addr]" command
    • Add "cpu_regs" trace option to show register values after each executed instruction
    • Add support for reading GNU-style a.out symbol table format (which is GCC default) in addition to DRI/GST symbols
    • Add absolute symbols support in addition to BSS/DATA/TEXT ones
    • Use terminal size for paging (disassembly, memdump, symbols) commands. NOTE: remove old dDisasmLines & nMemdumpLines options from Hatari config file, or set them to -1, to enable this!
    • Add 'nSymbolLines' configuration option to specify how many lines 'symbols' command pages
    • 'symbols resident' command and 'bSymbolsResident' config option toggle whether program symbols are removed when program terminates, or only when the next program starts
    • 'symbols match" command and 'bMatchAllSymbols' config option toggle whether TAB completes all symbols or just symbol types relevant for given command
    • 'symbols addr' is split into 'symbols code' & 'symbols data'
    • TEXTEnd value is now TEXT+TextSize, instead of TEXT+TextSize-1
    • Add "-f" option to 'cd' so that setup scripts can specify what directory is used after currently invoked script(s) have finished
    • Move exception mask setting from config file "Log" section to "Debugger" section where it belongs
  • Compilation:
    • Fix compilation when using ARM 64 target
    • Allow compilation on untested host architectures (e.g. MIPS & s390x)
    • Search for local headers first, then system's one (eg zip.h)
    • Don't redefine bswap_16/_32 macros if they already exist
  • Other changes:
    • Add French keyboard mapping that works also with SDL2
    • All symbols output by gst2ascii are now TEXT relative and it supports also a.out format symbol tables
    • Fix: Python GUI updated for Hatari v2.0
    • Fix: Python GUI explicitly uses Python v2 (Arch Linux)
    • Fix: Python tools made compatible both to Python v2 & v3 (Arch Linux)
    • Fix: icon symlink generation (rpmbuild chroot)
    • Fix: DESTDIR support for RPM packaging
  • Fixed Falcon games:
    • Ishar 1, 2 & 3, Lasers and Hommes, Moonspeeder preview 2 (Videl video counter)
    • Boom preview, Lasers and Hommes, Tank Blaster (68030 instr-cache)
    • Aazohm Krypth, Men at War, Push It, Running, Sky Fall, Sworm (autostarting)
    • Fixed Falcon demos:
    • Bound 2, E.K.O system (memory access timings)
    • Bound 3 (Videl video counter)
    • Agony & Chaos A.D. don't freeze anymore (vertical frequency counter)
    • Mahabharata (Videl widths with SDL2)
    • 2x1287, A Rh positive, Are you experienced, Autowaschen Verboten, Bound, Bound 42, Codein, Cycedelic knockout, Dan's Lustiges Kinderfest, Derealization, Dream Dimension, Echos, E.X. Illusion, Geranium, Hex Pistols, Hmmm, Oergs, Polygon Discount, Terrorize your soul, Warum, Virtual City (68030 instr-cache)
    • Terrorize your soul (DSP warnings 100x slowdown)
    • Firestarter, Virtual City, Whirlpool (autostarting with packed demos)
    • Fixed TT versions of demos:
    • 4getful, Beams (68030 instr-cache, undocumented FPU constants)
    • programs for Falcon:
    • Hextracker (Videl video counter, when not auto-started)
  • Fixed games:
    • Le Necromancien' STX image (verify bit in type I commands)
  • Fixed ST/STE demos:
    • Sprite32 by Leonard (RESTART_VIDEO_COUNTER on line 310/260)
    • Jam-Cols by ICE (STE video counter timings broken in v2.0)
  • Fixed ST/STE programs:
    • Protracker 2.1 and Neochrome Master 2.8 (shifter, bottom border at 60 Hz)
    • Audio Sculpture 1.3 and 1.5 beta (timer B in mono mode, bit S=0 in STOP, IKBD)
    • True RAM's size detection under TOS/EmuTOS (memory config at $FF8001)

 

→ [Atari.Area] hatari 2.0
→ [ATARI] ST/Falcon:Hatari 2.0.0

Hatari Version 2.0.0 (2016-11-04) Release Notes

Emulation:

  • Machine:
    • Support for MegaST & MegaSTE machines added (this also replaces the Real Time Clock / RTC option, since this chip is only available on the Mega machines)
    • The general purpose registers of the TT SCU are now correctly emulated (this fixes the problem with AHDI not finding any partitions during boot)
    • HD:
    • Fix: Disable GEMDOS opcodes after GEMDOS drive is disabled
    • Fix: GEMDOS HD can now be initialized multiple times, e.g. when running EmuTOS RAM image from a normal TOS
    • Fix: WORD access to IDE data register at 0xf00002
    • Fix: '*.*' pattern with GEMDOS HD should match also files without extension
  • Video:
    • Full rewrite of the GLUE state machine, including support for the 4 wakeup states in STF mode, as well as more accurate video timings(hbl, timer b, top/bottom and left/right removal, mixing 50/60/71 Hz lines)
    • Correctly shows the last 8 pixels for STE 224 byte overscan
    • Fix: reading video counter $FF8205/07/09 after modifying it while display is ON
    • Fix: location of the video counter's restart when screen runs at 60 Hz
    • TT: sync ST & TT color registers immediately on write, handle palette bank setting correctly, fix duochrome colors
    • Falcon: handle byte access special case for ST color registers
    • Falcon: border color support also in HiColor
    • better hbl/timer b interrupts when CPU runs at 16/32 MHz
  • Sound:
    • Special cases for STE DMA sound when start address = end address
    • Increase STE DMA volume when compared to the YM2149 volume
    • Greatly improve Falcon DMA sound
  • CPU:
    • use WinUAE CPU for STF/STE mode too, not just Falcon (old CPU core is considered deprecated)
    • improved IACK and simultaneous interrupts
    • access IO regs on 2 cycle boundaries when possible
    • More accurate 68060 mode (instructions from previous CPU versions removed in 68060 aren't accepted/emulated anymore)
    • Misc bus error / IO mem register handling fixes for TT & Falcon (e.g. add TT DIP switch register handler)
  • Blitter:
    • Better bus arbitration when blitter is started
    • Don't cause bus error when accessing regions causing CPU bus error
    • Fixes to DSP addressing
  • Floppy:
    • Fix the value of the WPT bit when inserting/ejecting a write protected floppy

Emulator:

  • Generic fixes:
    • Autosave to already existing file works first time after v1.4(dialog for file overwrite got automatically canceled on exit)
  • SDL GUI:
    • MegaST/MegaSTe support
    • Shortcuts can be configured in the keyboard dialog
    • User can provide volume label when creating a floppy image
    • Show dialog on HD image size issues
  • Better SDL2 support:
    • SDL2 is now enabled by default
    • Resizable windows, including ST/STE screen scaling
    • "--desktop" option is used also for ST/STe instead of "--desktop-st"
  • Command line:
    • Renamed --fpu-type option to --fpu
  • Configuration:
    • Hatari defaults to ST both with oldUAE & WinUAE CPU core
    • Preferred private configuration directory is now ~/.config/hatari  on Linux/Unix (the legacy location ~/.hatari is still used if the other one does not exist yet)
    • Windows config location is now: AppDataLocalHatari
    • Support SDL key names in keymap files in addition to key codes
    • Comment characters (#, ;) can also be mapped in keymap file
    • Added NatFeats SCSI (NF_SCSI) driver for Linux version of Hatari
  • Debugger:
    • Fix: close debugger log file only when explicitly requested, not when continuing emulation from debugger
    • Fix: direct DSP register, disasm and memdumps to debugger log file, similarly to CPU
    • Fix: direct CPU and DSP symbol traces to trace file, not stderr
    • Fix: ':once' option when there's only one breakpoint (v1.9 regression)
    • Fix: NatFeats NF_DEBUGGER command now actually drops to debugger
    • 'n' (next) command run until (dbcc backwards branch) loop exits (in addition to running until subroutine and exception calls return)
    • Support Atari debugger XBios(11) / Dbmsg() API
    • 'variables' / 'v' command to list Hatari debugger's builtin symbols
    • Also trace exception can be caught
  • Removed features:
    • Support for rendering to 8-bit host screens
    • Support for (buggy) RsConf() interception with --bios-intercept

Other:

  • Allow building without Zlib
  • zip2st tool can convert directories to .st image files, not just .zip files.

Fixed games:

  • Chainz and Jewelz by Paradize (blitter, bus errors)

Fixed demos:

  • spec512 image in the Intro of the Place To Be Again (video, restart counter)
  • Menu screen in the Place To Be Again (video, writing/reading video counter during active display)
  • A Little Bit Insane by Lazer (no DMA sound during the demo)
  • LoSTE and Closure by Sync (video, wakeup states and glue timings)
  • Death of the left border by TNT (video, stabilizer)
  • Gen4 Demo by Ziggy / Overlanders (video)
  • Suretrip 49% by Checkpoint (cpu, exceptions stacking)
  • Tymewarp by YM Rockerz (megaste mode, cpu control at $ff8e21)
  • overscan plasma in Graphics Sound 2 in Relapse by Cybernetic (blitter)
  • RGBeast by Agression (blitter)
  • Drone by DHS, PhotoChrome Viewer by DML (video, last 8 pixels)

Notes:

→ [ATARI] ST/Falcon:Hatari 1.9.0

 

ATARI Hatari:Menu Pompey#92
FDD Menu: Pompey#92

Hatari Version 1.9.0 (2015-09-10):

Emulation:

  • STE Joypads:
    • Fix: Joypad A Option button
    • Fix: Joypad B extended buttons
  • ACSI / IDE:
    • Fix: image file attribute check when using device files
    • Fix: v1.8 ACSI regression with A1=0 case
  • CPU:
    • update WinUAE CPU core version from 2.3 -> 2.8.1 -> 3.0 -> 3.1
    • MMU emulation fixed
    • instruction/data cache emulation
    • better 68020/30 prefetch pipeline
    • cycle accuracy, etc.
    • in 68000 mode, remove some un-allowed <ea> for CMPI, BTST and TST
    • check for address error when new PC is set at the end of RTE, RTS and RTR
    • fix "move.b an,<ea>", it's not allowed and should give illegal instruction
    • improve stack frame for bus error and address error
    • allow bus control only for 030 (i.e. prevent TOS forcing 16Mhz at boot with higher CPU levels)
  • Memory:
    • TT-RAM / 32-bit addressing support both for TT & Falcon emulatio n (when using EmuTOS, this requires version 0.9.4 or later)
  • FDC changes:
    • for STX disks, fix type I commands with verify bit on tracks with no sector
    • for ST/MSA, check read address and read track are not beyond max track
  • Emulator:
    • Support for compiling with libSDL2 (experimental)
    • SDL2 supports other than 2x scaling factors for ST/e emulation

SDL GUI:

  • joystick navigation in options GUI
  • keyboard navigation & shortcuts in options GUI
  • sort file selector items case-insensitively with folders first
  • Partial support for showing Latin1 chars from UTF-8 file names
  • AltGr+F<1-4> keyboard shortcuts to switch mode/type for emulate  joysticks and joypads
  • User can reset or quit emulation from CPU halt dialog
  • Fix: sync joystick changes with statusbar
  • Fix: update default max window size for 2-line statusbar NOTE: size would need to be updated in Hatari config files too!
  • Fix: statusbar assert when FPU/MMU/TT-RAM are enabled in WinUAE CPU core
  • When cpu enters 'halt' state in case of double bus/address errors, show a dialog window to reset or call the debugger
  • Fix bug in the filesector dialog that could create bug in other dialogs used in Hatari

Debugger:

  • Fix: crash when GEMDOS tracing is used without GEMDOS HD emulation
  • Fix: update external disassembler's CPU mask when CPU type is changed (it wasn't restricted to opcodes valid for given CPU type)
  • Fix: breakpoint addition/removal within chained breakpoints
  • Fix: Atari program detection on Windows for "symbols" command
  • Profiler support for TT-RAM (uses *ton* of memory)
  • Profiler support for (030) data cache and new "profile caches" command to show i/d-cache hit/miss histograms
  • Add trace support for IDE, MIDI and keymaps. ACSI (SCSI) and IDEtrace output shows primary partition tables for ACSI & IDE images (both Atari and DOS MBRs are supported)
  • Add "os_base" trace option to trace Fopen/Fclose/Pexec/Pterm*. That and "os_all" will now enable also xconout console redirection
  • Output from --conout goes now to stdout instead of stderr
  • Add "reset <hard|soft>" command
  • Add "save" subcommand to "history" command
  • Add "basepage" address variable

Other changes:

  • Add script to convert long host file names to Atari file names, use that in atari-hd-image script
  • Add hatari-prg-args script for providing arguments to autostarted programs
  • Fix Atari program detection on Windows in "gst2ascii" tool
  • Hatari & disk image icons in SVG & PNG formats (multiple sizes)
  • Remaining Hatari OSX UI changes for Hatari v1.8.0 (localization)
  • Add video-recording.txt doc on video recording/uploading best practices

Fixed demos:

  • Graphix Sound 2 in Relapse by Cybernetics (blitter+cpu, bus arbitration)
  • RGBeast by Aggression (video, writing to video counter during active display)
  • My Socks Are Weapons by Legacy (video, reading video counter in high res)

Fixed games:

  • Superior 65 - Blood Money (cpu, exception stack and bus error) (note that this version is bugged and will crash with TOS 1.04 or 1.62)
  • Obitus (STX version) (fdc, seek+verify on a track with no sector)
  • The Teller (STX/CTR version) (cpu, exception stack and address error)
  • War Heli (cpu, exception stack for address error and prefetch)

Fixed programs:

  • Realtime and M by Eric Ameres (midi + mfp, toggle bit 0 of AER)
  • Notator (midi, more precise TDRE bit in status register)

Known regressions (see compatibility list):

  • Suretrip demo by Checkpoint
  • Golden Island game demo with WinUAE CPU core
→ [ATARI] Hatari 1.8

Hatari Version 1.8.0 (2014-07-30)

Emulation:

ST video changes:

  • Handle 0 byte line by switching freq in STE mode
  • Use high res when ff8260 is set to 3
  • Randomly return 0 or 1 when reading unused bits 3,7 and 11 of color registers (except when running from ROM)
  • Better detection of bottom border removal on a 60 Hz screen
  • support for color change during only 4 cycles
  • better bitmap/color alignment for STE med res overscan at 60 Hz
  • Set default value of nSpec512Threshold to "1" instead of "16"
  • Update the position of the next VBL when 50Hz and 60Hz lines are mixed
  • When video address is set into IO region, keep the video pointer on 24 bits

Videl changes:

  • correct masking of the true color palette registers

CPU changes:

  • Fix a case when MFP's interrupt happens during the IACK sequence for HBL/VBL
  • Many prefetch changes required by some game's protection

Sound changes:

  • Fix STE sound mixing using LMC when mixer=0 (DMA sound only)
  • Fix some crossbar's sound errors for Falcon
  • Fix Microwire's decoding of mask/data (based on official LMC1992's doc)

FDC changes:

  • Add configurable RPM speed for each floppy drive, the possibility to turn each drive ON/OFF and the choice between single or double sided drive
  • Correct timings, behaviour and status register for all commands when a drive is OFF or empty.
  • Rewrite the index pulse part and all the delays expressed as disk's revolution
  • Add support for the "Force Int on Index Pulse" command
  • Rewrite the DMA functions for better accuracy
  • Add support for IPF/CTR files by using the capsimage library
  • Add open source support for Pasti STX files, including random/fuzzy bits and variable length bits. Also allow to save writes to a .stx file into an additional .wd1772 file (store 'write sector' and 'write track' data)
  • Don't force drives A and B at $4c2, keep the values detected by TOS
  • Many other timing / status register improvements

GEMDOS HD emulation:

  • Fix: clip filenames given through GEMDOS calls to 8+3 length using first '.'
  • Fix: autostarting programs with GEMDOS-illegal host characters in their names
  • ACSI hard disk changes:
  • Fixed/improved READ CAPACITY and INQUIRY commands
  • Unsupported commands are now handled correctly
  • Now using fseeko() instead of fseek() for supporting large images

Other changes:

  • Don't enable MegaST's real time clock by default, it can cause some crashes in STF/STE mode
  • Improve ACIA's wait state with E clock
  • Add support for IKBD commands 0x11 and 0x13 (resume/pause output) and 0x17 (joystick monitoring)
Emulator:

SDL GUI:

  • Update clock speed in the status bar when changing bus speed in Falcon mode
  • In the floppy dialog, use a checkbox to enable/disable drives A and B and another checkbox to choose single/double sided drive
  • In the screen dialog, add checkbox for --desktop-st option
  • Add a 2nd line in the status bar, with infos on FDC, joysticks, monitor
  • Fix OSX performance issue caused by statusbar and overlay LED doing their own SDL_UpdateRects() calls

New command line options:

  • Options --drive-a and --drive-b to enable/disable drives A and B
  • Options --drive-a-heads and --drive-b-heads to select single or double sided drives A and B
  • --slowdown option to increase (multiply) VBL wait times

New Native Features commands:

  • NF_EXIT exits emulator with given exit code
  • NF_DEBUGGER invokes Hatari debugger from native program
  • NF_FASTFORWARD sets fast forward on/off
  • Tracing improvements:
  • Add option for tracing NatFeats calls
  • Fix: Xbios(255) modified the given argument string
  • Allow BIOS, XBIOS, GEMDOS, VDI and AES tracing to be enabled without enabling also X/BIOS interception, GEMDOS HD emulation or extended VDI mode
  • Show PC value for traced Bios/XBios/GemDOS calls

Debugger:

  • Fix: release mouse in all cases where debugger can be invoked
  • Fix: DSP disassembler didn't in all cases show illegal opcodes correctly
  • Fix: "symbols" command crash when it was used during TOS bootup
  • Fix: TOS and cartridge addresses weren't (with all TOS versions) in address order which asserted in profile data post-processor
  • Fix: "next" command didn't work correctly in "hex" number base
  • Fix: depending on compiler/linker/assembler, DATA/BSS debug symbol offsets can in programs be either relative to their own, or to TEXT section start. If former fails, try latter when loading symbols.
  • New "ym" info subcommand to show YM register values
  • "quit" command by-passes exit confirmation dialog and takes an optional Hatari exit code value
  • removed limits on breakpoints and their conditions
  • when entering debugger, current program's DRI/GST format debug symbols are automatically read from it, if such are available
  • new --debug-except option to specify which exceptions invoke the debugger, and WinUAE CPU core support for -D toggle option
  • "next"/"dspnext" commands work like in other debuggers, they skip subroutine/exception calls, for all other instructions they works like "step" command (earlier they always moved to next instruction in memory)
  • "next" and "dspnext" commands support optional "instruction type" argument, which can be used (for example) to continue emulation until subroutine returns
  • "history" command takes optional parameter specifying how many instructions of history will be tracked
  • CPU & DSP profile commands have now subcommand for profiling loops
  • "CpuInstr" and "DspInstr" variables for count of instructions executed since emulation was last continued from debugger
  • In addition to "!" condition, also "<" and ">" conditions can store the checked value (when both sides of conditions are identical). With above change, this can be e.g. used to detect and profile what are worst frames in games and why
  • New "rename" command to rename files. Useful for scripted worst frame and spinloop profiling
  • Address space in 'dm' command can be given like in DSP disassembly, "dm x:$100", in addition to earlier "dm x $100" syntax
  • Fix out of bounds memory access that could result in bad disassembly output when using the external disassembler (only "dc.w" were printed)
Tools:
  • Increased max partition size in atari-hd-image script to 512MB.
  • New hatari_spinloop.py script for post-processing loop profile data. It can tell how many times loops were executed, how many times they spinned at minimum and maximum, at which VBL those happened, and what was the standard deviation of that.
  • gst2ascii supports now both section relative and TEXT section relative DATA/BSS symbol offsets
  • hconsole.Main() takes now Hatari command line options as argument
  • AHCC/GCC/VBCC examples on using (all) Native Features APIs
  • Improved mingw cross-compilation support
Fixed demos:
  • 4-pixel plasma screen by TOS Crew (video, color change during only 4 cycles)
  • HighResMode by Paradox (video, color changes in overscan med res at 60 Hz)
  • It's A Girl 2 by Paradox (video, bottom border removal on a 60 Hz screen)
  • Pacemaker by Paradox (microwire, YM sound was muted)
  • Panic by Paulo Simoes (video, was broken since Hatari 1.7)
  • Shforstv.exe by Paulo Simoes (video, did not work in STE mode)
  • Sommarhack 2011 Invitro by DHS (CPU/MFP, top border not removed)
  • Stax Compilation #65 (conflict with Mega ST's RTC)
  • The Union Demo (cpu, memory access, ikbd, protection)
  • The World Is My Oyster
  • Convention Report Part by Aura (video, res=3)
  • Tymewarp (cpu, bus error)
  • UMD 8730 by PHF (video, unused bits in STF color registers)
  • IKBD no jitter by Nyh (acia/video, use a VBL of 160240 cycles)
Fixed games:
  • Batman The Movie (cpu, exception stack)
  • Chart Attack Compilation (cpu, prefetch)
  • Darkman (cpu, prefetch)
  • Dragon Flight (cpu, illegal instruction)
  • International 3D Tennis (cpu, prefetch)
  • Leavin' Teramis loader text (video address at $ffe100)
  • Lethal Xcess Beta (cpu, bus error, code running at $ff8800)
  • Lethal Xcess (mfp, top border not removed sometimes)
  • Maze (by Martin Dennett & John Parker)
  • Parasol Stars (cpu, prefetch)
  • Reeking Rubber (by Nature), Falcon game
  • Titan (cpu, prefetch)
  • To Be On Top (cpu, memory access, ikbd, protection)
  • Warp (ikbd, interrupt used for decoding sectors)
  • Xenon 2 (cpu, prefetch)
→ [ATARI] ST/Falcon:Hatari 1.7
Lotus Esprit Turbo Challenge (a.k.a. Lotus I)(Gremlin Graphics Software Ltd., 1990)

Hatari Version 1.7.0 (2013-06-24):

Emulation:

  • TT video emulation :
    • Extend the ST palette registers from 9bit to 12bit for ST modes
    • Duochrome mode instead of monochrome for ST High
    • Implementation of SampleHold in TT Hypermono video mode
    • Sound changes :
    • Better model of the YM2149 noise generation (no noticeable audible impact)
    • Slightly better volume table (measured by Paulo Simoes on a real ST)
    • CPU changes :
    • Added experimental MMU emulation for the 68030 mode
    • Handle the IACK cycles during an exception for HBL/VBL
  • ACIA/IKBD changes :
    • Full implementation of the MC6850 ACIA, giving much more robust IKBD emulation
    • Better timings for all IKBD commands (measured on a real STF)
    • Clock is handled internally in IKBD, host date/time is used only to initialize RTC at boot. I.e. pausing emulation doesn't cause time skips when unpausing
    • Fix slow mouse when absolute mode is used with scale values
  • MFP changes :
    • Fixed priority errors when simultaneous interrupts happened
    • MFP's IRQ should be delayed by 4 cycles before reaching the CPU
    • MFP's IRQ signal was not correctly updated in some cases
    • Handle the IACK cycles between CPU and MFP during an exception
  • FDC changes :
    • Better delays for all the GAPs inside a track
    • Emulate the disk's rotation and its angular position to get accurate delays when accessing a sector header
    • Internal timer for FDC was wrong and sometimes slower than expected
    • Correct delay for type I commands with "verify" bit=1
  • GEMDOS HD emulation changes :
    • Support Fforce() for GEMDOS HD emulated files and close at Pterm*() all internal handles to emulated files program had left open
    • Fix: cut file and dir names to 8+3 chars like all TOS versions do
    • Fix: GEMDOS HD emulation overwrote last 28 bytes of basepage space for the started process command line (with the program header)
    • Fix: Fwrite() content wasn't flushed to disk on each write, so later Fopen() + Fread()s calls on such files (if they were not closed in the meanwhile) could get data that was out of date.
    • Fix: Dfree() return value

Emulator:

  • Fix: problems with run-time CPU type changing
  • Fix: MIDI IRQs were not enabled if MIDI was enabled at run-time. MIDI toggling will now imply reset
  • Much improved console redirection functionality and a separate --conout option for it (--bios-intercept doesn't anymore imply console redirection)
  • Fixed a bug with the axes' mapping in the joystick's detection
  • Display handling:
    • Fix: max resolution limit wasn't handled properly for ST mode.
    • Don't change TOS-calculated font size for VDI mode.
    • Setup NVRAM video mode based on VDI mode, when in VDI mode.
    • This makes VDI mode work with EmuTOS also under Falcon emulation which is useful as EmuTOS doesn't support native VIDEL expanders
    • Limit VDI screen memory usage to 300kB, this allows upto 2048x1200 monochrome and 1024x600/800x768 16-color VDI screens
  • GEMDOS HD emulation:
    • Fix: to DTA host filename cutting to 8+3 chars when whole filename was < 12 chars (caused EmuTOS crash)
    • Give warning if GEMDOS dir/file path exceeds 8+3 characters (as those won't work with real TOS)
    • New --gemdos-case option to specify whether new dir/filenames are forced to be created in upper (default) or lower case
    • Giving empty string as GEMDOS HD dir disables GEMDOS HD emulation
  • SDL GUI:
    • Fileselector has "CWD" button for changing to Hatari's work directory
    • Fileselector remembers previous position which is nicer with large directories
    • Make the drive leds blink with a brighter green when the FDC is executing a command
  • Profiler:
    • Fix: profiler assert on invalid PC register values
    • Fix: profiler usage in debugger files invoked by breakpoints
    • Fix: profiler CPU & DSP cycles information is for previous instruction
    • Fix: WinUAE CPU requires cycles counter usage for getting current CPU instruction cycles
    • Profiler provides timing information, based on used cycles
    • Profiler provides CPU instruction cache misses information when using cycle-exact WinUAE CPU core (which is Falcon emu default)
    • Profiler top instruction count/cycles/misses lists show the related instructions
    • For DSP, profiler adds min/max cycle difference info to disassembly
    • New "addresses" subcommand can be used to see addresses through which code passed during profiling (e.g. while program seems frozen, this gives much better overview of code that is being run, than cpu trace)
    • New "callers" subcommand lists all addresses from which loaded symbols' addresses were "called" from. This way one can e.g. find in which contexts interrupt handlers were called and it can be used to construction program execution callgraph
    • New "save" subcommand saves profile address and caller information to given file, with extra information needed for post-processing
    • New "stack" subcommand that can be used to get backtraces during profiling with symbols, for ':noinit' backtraces
  • Debugger:
    • New ':noinit' and ':quiet' breakpoint options. Quiet option removes most of breakpoint matching "noise" and ':noinit' breakpoints can be used with "profile stack" command, to prevent profile data and related callstack information from being reseted on breakpoint match
    • "blitter" and "dsp" subcommand added to "info" command, to show blitter register values and DSP state (e.g. stack content)
    • "prg" subcommand added to "symbols" command, for loading debug symbols from DRI/GST symbol table in last started program
    • "step" and "next" commands added for single stepping CPU and DSP code
    • -> 's' shortcut is now for "step", not "save"
    • "--disasm" option for selecting between UAE core and external CPU code dissassembler and setting output option flags for latter
    • When -D option is used, also undefined/illegal DSP instructions and DSP stack under/overflows invoke debugger, not just CPU issues
    • Fix: when several breakpoints should have triggered on the same address, only first was handled
    • Fix: after breakpoint, 'c <n>' continues one instruction too little
    • Fix: tracking breakpoint values were updated only when all conditions matched, now they can be also used together with other conditions
    • Fix: info command crash (triggered on NetBSD)
    • Fix: disassember output bug on NetBSD (usigned char < -1 test)
    • Fix: info osheader and basebase subcommands under MiNT
    • Fix: debugger history duplicates removal
    • Fix: expression expanding CPU "pc" for DSP shortcut commands
    • Fix: expression expansion messing lines in command line history
    • Remote API debugger commands can also use expression expansion
    • Both single and double quotes can be used to mark expressions
    • In addition to text section offset, data and bss section offsets can be given when loading symbols (useful for Devpac symbols)
    • Output what value was set by options if it's not otherwise shown by UI
    • New 'cpu' and 'dsp' options to 'history' command for tracing just one of these processors on Falcon
    • Function arguments are shown in traces for all non-MiNT GEMDOS calls and subset of arguments are now shown also for AES calls (values in intin array and strings in addrin array)
    • Add NVRAM read & write tracing
    • Support for the basic Native Features and --natfeats option to control it: http://wiki.aranym.org/natfeats/proposal

Windows specific changes:

  • "-W" option added for opening a console window. Like on all other platforms,
  • "-D" will now just toggle CPU exception handling
  • Fix: console stderr redirection (used invalid "wr" mode)
  • Fix Windows localtime() not supporting dates before 1970:
  • TOS not being able to access files with such dates, or further files
  • causing IKBD emulation crashes (wasn't problem with Cygwin, just with Mingw builds)

Tool updates:

  • New hatari-profiler.py script for post-processing output from profiler's CPU and DSP profiling "save" commands:
    • profile save <filename>
    • dspprofile save <filename>
  • With symbol address information it can provide function level instruction, processor cycle & i-cache miss statistics
  • With callers information it can create function call callgraphs and create callgrind format files for Kcachegrind GUI
  • New gst2ascii tool to extract DRI/GST symbol table from Atari program, for use with the profile data post-processor
  • Added scripts for converting symbol tables in Devpac 3 listings and DSP LOD files to a format understood by Hatari debugger 'symbols' command, and to clean 'nm' output of GCC & VBCC built a.out binaries for it

Other changes:

  • HTML documentation indeces generated dynamically with JS
  • Debugger tests building fixed

Fixed Games:

  • Atomix (MFP, flickering bottom of the screen during samples)
  • BBC 52 Menu (Video/CPU, top border not removed)
  • Bolo (MFP, couldn't start a game)
  • Captain Blood (IKBD, fixed problem when setting the clock)
  • Fokker and Downfall (ACIA/IKBD, had regressed in Hatari v1.6.x)
  • Fuzion CD 77/78/84 Menu (MFP, random crash with digidrums in STF mode)
  • James Pond (Fuzion CD 25) (FDC, game stuck during the intro)
  • Microprose Golf (FDC, crash during the intro)
  • Spidertronic (Zuul CD 84) (crashed before 50/60 Hz screen)
  • Super Hang On and Super Monaco GP (MFP, flickering rasters)
  • The Final Conflict (MFP, locked during the sampled intro music)
  • The Sentinel (IKBD, mouse much too slow)
  • Zuul 100/101 Menu (MFP, flickering top border)

Fixed demos :

  • Anomaly Demo Main Menu by MJJ Prod (MFP, flickering top/bottom borders)
  • Audio Artistic Demo by Big Alec (MFP, bad sample speed at start)
  • Decade Demo - Reset (MFP, flickering bottom border)
  • High Fidelity Dreams by Aura (MFP, flickering left rasters)
  • ST-NICCC 2000 Demo by Oxygene (FDC, demo ran slower than expected)

Fixed apps:

  • Monst v1.x
  • Spectrum 512 (IKBD, mouse too slow)
  • Cubase (when MIDI was enabled after Hatari startup)
Inne treści związane z tematem
[Atari.Area] Last Party 2017 results i stuff [Atari.Area] Last Party 2017 results i stuff;
Dostępne są już wszystkie prace oraz wyniki z zakończonego dziś jubileuszowego zlotu w Opalenicy: Last Party 2017. Music Compo: 1. 20 lat lejter - Lisu/Tristesse 2. Oldtekkno - Miker 3. Distilled Implant Cleaner - Pigu + Zlew Graphics Compo: 1. Last Train - Rocky/MadTeam 2. Snowman - ...
[ATARI] Altirra x86 i x64 3.10 test 1 [ATARI] Altirra x86 i x64 3.10 test 1;
Nowa wersja testowej Altirry, emulatora ATARI XE/XL/5200.  Ostatnia pełna wersja tego emulatora, jaka publicznie została udostępniona to Alirra 3.00 z 28 grudnia 2017 r.
[Atari] AtariOnLine: Wyniki Kaz Kompo 2016 [Atari] AtariOnLine: Wyniki Kaz Kompo 2016;
Przedstawiamy wyniki jedenastej edycji konkursu na najlepszą grę roku Kaz Kompo 2016.1. Laura, 590 p.Twórcy gry:Kod, pomysł: Arkadiusz „Larek” Lubaszka, grafika: Paweł „Ripek” Szewczyk, muzyka: Bartłomiej „Wieczór” ...
[MULTI] Pantheon 6.598 [MULTI] Pantheon 6.598;
Multiemulator Pantheon, programu autorstwa  Bostjana 'Grandy' Grandoveca i jego kolejna odsłona. Tym razem dodano obsługę 93 tytułów dla SEGA Megadrive.
[Atari.Area] Altirra 3.00 [Atari.Area] Altirra 3.00;
Last Party zbierało się do końca, tymczasem Phaeron wypuścił nową wersję najlepszego i najpopularniejszego obecnie emulatora 8-bitowego Atari - Altirra. Oto najważniejsze zmiany i uspraweninia (w języku angielskim): Accuracy: Illegal 6502 opcode and 65C816 fixes, VBXE fixes and timing ...
Do ściągnięcia
hatari-2.1.0 windows-t2e.pl.zip
hatari-2.1.0 windows64-t2e.pl.zip
Dodatkowe informacje
Komentarze