[ATARI] ST/Falcon: Dev Hatari 2.x 10/01/18

[21] @ środa, 10 Stycznia 2018 02:08CET

[ATARI] ST/Falcon: Dev Hatari 2.x 10/01/18
Skomentuj

Jak większość współczesnych projektów, także i ten posiada swojego devBulida, warto więc czasami zerknąć, co też nowego testują twórcy tego świetnego emulatora dużych, 16-bitowych komputerów ATARI - począwszy od modeli ATARI ST/TT a skończywszy na ATARI FALCON. Warto, bo Hatari! ma spore odstępy pomiędzy kolejnymi aktualizacjami.
Ostatnia pełna wersja to Hatari 2.0.
 

 Version 2.x.x (XXXX-XX-XX)

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
    • 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)
    • Improve caches for 68020/30, add cache support when using MMU
    • Add 68040/60 data cache emulation, with optional MMU support
  • -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: 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, asks TOS to 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:
    • Add "CycleCounter" variable
    • Add "info dta [addr]" command
    • Add support for reading GNU-style a.out (GCC default) symbol table format 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 one 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)
  • Fixed 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)

 [detail changelog]

→ [ATARI] ST/Falcon: Dev Hatari 2.x 29/11/16

 Version 2.x.x (XXXX-XX-XX)

Emulation:
- Add (dumb) Videl address counter emulation

Emulator:
- Initial patching for ST-Book ROM
- Support memory check skipping also on TOS v3 & v4
- Extended VDI mode font selected based on VDI height
- Fix: TOS v2 & v3 Atari logo display in extended VDI resolutions
- Fix: Limit Videl widths for GLES2 SDL2 backends
- Fix: off-by-one error in ACSI image file name handling
- Fix: Normal users cannot use tmpfile() directly under Windows
- Fix: DESTDIR support for RPM packaging
- Debugger:
  - Add "CycleCounter" variable
  - Add "-f" option to 'cd' so that setup scripts can specify
    what directory is used after currently invoked script(s)
    have finished

Fixed Falcon games:
- Ishar 1, 2 and 3
- Lasers and Hommes
- Moonspeeder (preview 2)

Fixed Falcon demos:
- Bound 3
- Mahabharata (with SDL2)

Fixed programs:
- Hextracker (for Falcon)

 [detail changelog]

→ [ATARI] ST/Falcon:Hatari 2.0 [test]

Hatari Development version:

Emulation:

  • Machine:
    • Support for MegaST & MegaSTE machines added
  • 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:
    • 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
  • Sound:
    • DMA sound should be played even when start address = end address
  • CPU:
    • 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)
    • Fixes to DSP addressing

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"
  • 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
    • NatFeats SCSI driver for Linux added
  • 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 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)
→ [ATARI] ST/Falcon:Hatari 1.9 [test]

Hatari Version 1.9.0 (2015-xx-xx):

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
  • GEMDOS HD:
    • Fix: matching exactly 8 chars long file names containing '.'
    • Better mapping of host errors to GEMDOS error codes
    • Support for mapping file names with 8-bit characters between host and Atari encodings (umlauted chars etc)
    • Program header (TT-RAM) allocate flags support
  • CPU:
    • update WinUAE CPU core version from 2.3 -> 2.8.1 -> 3.0 -> 3.1
    • MMU emulation fixed
    • data cache emulation
    • cycle accuracy, etc.
    • in 68000 mode, remove some un-allowed 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,", 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 emulation (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
  • MFP:
    • better emulation of GPIP, AER and DDR
  • MIDI:
    • some RX/TX interrupt conditions were not correctly handled
    • TDRE bit is status register more accurately handled
  • Video:
    • fix value when reading video counter $FF8205/07/09 in high res
  • DSP:
    • better emulation of the HREQ signal Emulator:
    • Support for compiling with libSDL2 (experimental)
    • SDL2 supports other than 2x scaling factors for ST/e emulation
  • Misc fixes:
    • Fix: WinUAE CPU core (FPU) memory state restore
    • Fix: chrash with VDI extended resolution emulation when C: isn't GEMDOS HD emulated drive
    • Fix: invalid defaults for real joysticks
    • Fix: compilation when zlib is missing
    • Fix: bugs from Debian bug tracker: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=716536 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=688594
  • Additional TOS run-time patching:
    • Support fast boot also with TOS v3 & v4
    • Support 32-bit addressing also with TOS v4
    • Replace TOS v4 instructions unsupported on 060
    • HW specific phystop value in VDI mode
  • Options:
    • Fast boot (warm boot / memory check bypass) is disabled by default
    • 68060 CPU level and --ttram support with new WinUAE CPU core
    • New --png-level option to decrease AVI compression CPU load
    • Mouse warping on reset & resolution change can be controlled with new --mousewarp option
  • Hard drive emulation:
    • BUS ID for ACSI drive can be specified with --acsi
    • GUI and command line options to enable 8-bit file name Atari <-> host charset conversion for GEMDOS HD
    • GUI and command line options to specify GEMDOS HD emulation drive (default = C:), or to skip recognized drives used by partitions on ACSI & IDE images
    • Partition count parsed by Hatari might not match count used by Atari HD driver due to driver differences in interpreting disk MBR
    • Refuse to mount same HD image from multiple Hatari instances (on platforms supporting BSD flock()), to avoid corrupting them
  • 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 emulated 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 IDE trace 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)

Fixed programs:

  • Realtime and M by Eric Ameres (midi + mfp, toggle bit 0 of AER)
  • Notator (midi, more precise TDRE bit in status register)
Do ściągnięcia
hatari-win32-commit-r6807-t2e.pl.zip
hatari-win64-commit-r6807-t2e.pl.zip
Dodatkowe informacje
Inne treści związane z tematem
[Atari.Area] Altirra 2.90 [Atari.Area] Altirra 2.90;
Wszyscy o tej porze zapewne przewracali się z boku na bok, tymczasem dziś w godzinach wczesno-rannych czasu GMT+1, pojawiła się kolejna wersja najbardziej rozwijanego emulatora 8-bitowego Atari oraz konsoli 5200. Co w niej znajdziemy nowego: 5200: Built-in database now provides mapper types ...
[Atari.Area] Silly Venture 2k17 - invitka na Atari XL/XE [Atari.Area] Silly Venture 2k17 - invitka na Atari XL/XE;
Wczoraj ukazała się kolejna invitka na tegoroczną (9-tą) edycję największej imprezy poświęconej fanom marki Atari - Silly Venture 2k17 w Gdańsku. Tym razem stworzono ją na platformę Atari XL/XE w składzie: Wieczór (konwersja logo SV2k17, kod, design oraz muzyka), mOOnie ...
[Atari.Area] Silly Venture 2k17 - invitka na Atari ST/STe [Atari.Area] Silly Venture 2k17 - invitka na Atari ST/STe;
Ledwo co zdążyliśmy Was poinformować o zaproszeniu na Atari 2600 oraz Atari XL/XE, a już ukazało się kolejne - tym razem na Atari ST! Zostało ono zaprezentowane na odbywającym się w ten weekend w Finlandii "Assembly party" (imprezie organizowanej nieprzerwanie od 1992 roku, gdzie swoją ...
[Atari.Area] Ironia 2017 - results [Atari.Area] Ironia 2017 - results;
Dostępne są już oficjalne wyniki konkursów, które odbyły się na zeszłotygodniowym zlocie Ironia 2017, który odbył się w OSP Wysoka. GAME 1 Tensor Trzaskowskiego - Mgr inż. Rafał 175 p. 2 Pac-Mad - Bocianu / anticSHOP 164 p. 3 Piekiełeczko - Koala / Agenda 129 p. 4 Kobieta Zmienna Jest ...
[Atari.Area] Zorro II - trochę faktów [Atari.Area] Zorro II - trochę faktów;
Z przyjemnością przekazujemy, że grupa Classic Game Shrine oficjalnie poinformowała o rozpoczęciu finałowych prac nad grą Zorro II. Gra będzie miała status freeware. W Zorro II będziemy chodzić, walczyć, pływać, przełączać, strzelać, wspinać się, używać, rozmawiać, ...