
4.1 / 04-01-2023
Altirra
Accuracy
Performance
Features
Altirra is a full cycle-exact emulation of all documented hardware features for the Atari 400/800, 1200XL, 600/800XL, 130XE, XEGS, and 5200 systems and is particularly notable for having a very well equipped debugger tool.
--
Windows: XP SP3+ for x86/x64
Qualcomm Snapdragon 835+ for ARM64
Most Recent Changes
--4.10--
Changes
Display: Direct3D 11 and borderless mode are now enabled by default for new installs.
Input: Light pens and light guns have been split for 4.10+. Input presets may need to be updated and offsets readjusted.
UI: ANTIC/GTIA visualization options have been moved to the Debug menu.
Features Added
Audio: Added option downmixing stereo POKEY output to mono.
Audio: Added 800 console speaker acoustics simulation.
Cartridge: Added support for CAR types 71-75 (5200 Super Cart, bank 0 init version of MaxFlash 8Mbit).
Cartridge: Added support for the XE Multicart.
Cartridge: Added support for SIC+.
Cassette: Added config variable to manually tweak balance between mark/space bit detectors.
Cassette: Added support for PWM encoded turbo data in CAS files.
Cassette: Added support for SIO data out controlled turbo (Turbo Blizzard).
Custom Devices: The priority of memory layers can now be customized.
Debugger: Memory locations can now be edited in the Memory pane.
Debugger: Memory pane now has an option to display 8bpp graphics.
Debugger: Randomize Memory on EXE Load option now logs when randomization occurs and uses the global randomization seed.
Debugger: .loadobj and .loadmem now take VFS paths.
Debugger: Added .error command to decode various error codes.
Debugger: Added Breakpoints pane and Ctrl+B as a shortcut for a new breakpoint.
Debugger: Added initial support for DWARF5 debugging information from LLVM-MOS .elf files.
Debugger: Disassembly window now supports address expressions and mixed source/disassembly view.
Devices: Improved selection behavior when adding or removing devices.
Devices: NVRAM can now be isolated per profile and follows the temporary profile state.
Devices: Added SimCovox support.
Devices: Added shortcut command to temporarily mount VHD images in Windows to access FAT32 partitions.
Devices: APT partitions on hard disks can now be opened in Disk Explorer.
Disk: Added emulation of buffered track reads for Happy 1050 and Speedy 1050 devices in standard emulation mode.
Disk: 810/1050 full drive emulations now warn on attempts to use double-sided disks that can’t be read in those drives.
Display: SDR/HDR balance in HDR mode can now use the system-wide SDR intensity setting.
Display: Added support for DXGI 1.3 seamless custom refresh rate support on integrated display panels.
Display: Reduced buffered frame latency in display paths.
Display: Added adaptive speed option to lock to refresh rate for reduced latency.
Firmware: Added detection of several XF551 firmware ROMs.
HDevice: Added full long filename mode.
HLE: Program loader now simulates SDFS disk in Disk Boot mode to auto-trigger EXE load under SDX.
Input: Extended immediate pots option to allow support immediate light pen/gun inputs.
Input: Added interactive tool to recalibrate light pen/gun offset.
Input: Improved accuracy of light pen/gun trigger pulse timing.
Input: Added an option for light pen/gun noise.
PerfAnalyzer: Added support for exporting to Chrome tracing format.
Tape Editor: Bit position is now marked purple if a single bit flip is identified that would fix a bad checksum in a standard block.
UI: The Check for Updates dialog now has a link to the internal RSS feed used to deliver the new update info.
UI: Added support for copying and pasting characters from the interactional character set.
UI: Keyboard shortcut dialog now has better support for binding Alt+keys and is more keyboard accessible.
UI: Added dark mode support for checkboxes and radio buttons.
UI: Alt+click decode can now decode MyDOS error messages.
UI: Paste can now paste visible control characters from Unicode.
UI: Improved clarity of screenshots captured with true aspect ratio by changing image filter.
Bugs Fixed
Additions: Fixed BRK instruction in LOADEXE.COM.
AltirraOS: Improved compatibility of TIMFLG usage and initial register values on tape boot.
Cartridge: Fixed banking issues with SIC! during flashing and when loading save states.
Cassette: Accelerated C: loads now handle block reads with timeouts longer than 30 seconds.
Cassette: Accelerated C: loads now set TIMFLG.
Cassette: Fixed FLAC decoder errors with some files.
Custom Devices: Blocked ++/– increment operators to avoid confusion (they were parsed as pairs of unary operators, which was usually not intended).
Debugger: Fixed memory window horizontal scrollbar not updating after some changes.
Debugger: Fixed long pauses or broken history listings when toggling the collapse options in the History window.
Debugger: Fixed .printf command outputting a garbled character with %d/i format.
Debugger: Improved load speed of source windows.
Debugger: Fixed symbol-related crash when opening source windows with deferred symbol loads.
Debugger: Fixed Step Out/Into commands not using source mode in an undocked source window.
Debugger: Fast boot hook now marks memory as preset to avoid tripping false uninitialized memory errors when heat map trapping is enabled.
Debugger: Source window was keeping stale source line data when reloading symbols.
Debugger: Fixed ##BANK annotations in MADS listings not being parsed properly with decimal bank numbers.
Debugger: Fixed bug where memory access breakpoints would stop working after clearing other access breakpoints at the same address.
Devices: Fixed SD card multiple-block write command.
Devices: Fixed SD card state not being reset on SD power toggle.
Devices: Fixed bug with virtual FAT16/FAT32 hard drives returning bad sector data when re-reading final partial data sectors of a file.
Disk: Fixed too short timeout for Record Not Found (RNF) errors.
Disk: Improved sound of recalibrations in 810-based standard emulation modes.
Disk: Retuned receive rates for Happy 810 and Happy 1050 standard emulation modes.
Disk: Fixed idle motor-off timeout occurring too quickly after long commands with retries.
Disk: XF551 full emulator now supports IN A,BUS instruction used by some modified firmware.
Disk Explorer: Fix incorrect Unicode mappings for control characters in viewer.
Display: Reduced frame jitter in D3D11 windowed mode on Windows 8.1+.
Display: Fixed monochrome modes with VBXE or high artifacting.
Display: Fixed low quality text rendering in D3D11 mode after a change in HDR mode.
Display: Fixed crash when forced out of D3D11 exclusive full screen mode by OS due to an overlapping window.
HDevice: Fixed append mode not working for files on H6-H9:.
Input: Fixed vertical offset on light pen/gun position in PAL.
Input: Add Ctrl+Shift+Alt+0 as an alias for Ctrl+Shift+0 to work around Windows stealing this key for a keyboard layout switching shortcut.
PerfAnalyzer: Tape channels now show proper jumps when accelerated loads occur.
PerfAnalyzer: Fixed NMI showing as IRQ when NMI preempts IRQ.
PCLink: Directory enumerations now report if a directory is the root or a subdirectory.
PCLink: Improved path compatibility with standard SpartaDOS X path parser.
POKEY: Fixed glitches in low linked timer 3 audio output when updating linked timer 3+4 state.
POKEY: Improved accuracy of serial port clock timing.
POKEY: Serial output bit state is no longer reset by initialization mode.
POKEY: Improved accuracy of timer reloads.
Profiler: Fixed negative unhalted cycle counts showing up around STA WSYNC instructions.
SaveStates: Fixed bug where sprite engine could get desynced after loading a save state.
Tape Editor: Fixed draw tool using wrong threshold for bit polarity with waveform display enabled.
Tape Editor: Fixed SIO capture option not showing enable state on menu.
Tape Editor: Captured accelerated C: loads now show sync bytes.
Tape Editor: Block checksum status is more reliably shown during live SIO data capture.
Tape Editor: Fixed extraneous bit data being added when saving a new CAS file after editing.
UI: Reduced glitches when toggling the debugger or full screen mode.
UI: /startuplog can now exclude log channels with ‘-‘ and ignores Ctrl+C.
UI: Removed delay when switching from very slow speed (1%) to t.
UI: Progress dialogs are now suppressed in exclusive full screen mode to avoid popping out of full screen when loading tapes.
UI: Fixed non-native file browser not working with UNC paths.
UI: Fixed focus glitching when selecting a docked tab with an undocked pane selected.
UI: Fixed an issue where Unicode text would sometimes be read out of the clipboard as ANSI text.
--4.01--
Bugs fixed
Additions: Fixed LOADEXE.XEX using old $FD device SIO code for the program loader instead of $7D.
AltirraOS: Fixed math pack compatibility issue with FDIV modifying FLPTR (fixes B-Graph pie chart routine).
AltirraOS: Fixed a cursor position checking bug with split screen Gr.0 (fixes the BASIC game House of Usher).
AltirraOS: Fixed compatibility issue with KEYDEL handling (fixes cursor movement in BrushupV40).
ATBasic: IOCB#7 is now automatically closed on I/O errors to avoid SAVE files being kept open for write.
Cassette: Fixed FLAC decoder crash with some block sizes.
Cassette: Fixed regression with FSK blocks in CAS files being read as turbo pulses instead of FSK pulses.
Disk: Retuned XF551 high-speed C/E to data frame delay.
Display: Workaround for D3D11 minimum precision crash on Intel Iris Xe 30.0.101.1069 driver.
Serial: Pad out 850 relocator to match length of original firmware relocator (fixes compatibility with loaders that hardcode the relocator length).
VFS: Fixed wrong file being accessed when using atfs:// paths to access files inside a DOS 2 disk image.
--4.00--
Tape: New turbo support, tape editor, and support for loading raw tapes directly from .flac files.
Disk: Atari 815 emulation, 8" disk geometry support, Disk Explorer can now access files in Indus CP/M images, many full disk drive emulation fixes.
Display: Palette solver, monochrome mode, HDR display support, ANTIC fixes.
Sound: Improved audio filtering, automatic output switching when using WASAPI output, POKEY fixes.
Input: Preset template generator for making input maps, low-latency paddle option, retuned trackball speeds, 5200 fixes.
Devices: Percom AT88-SPD, SIDE 3, 1090 80-column board, Bit 3, virtual FAT16/FAT32/SDFS hard disk; modem, XEP80 and Rapidus fixes.
UI: Improved dark mode theme support.
Debugger: Memory window upgraded with variable width, type, and graphics decoding support; improved speed, more banked cartridge debugging support, improved 65C816 native mode support, more timestamped logging options, and more verifier options.
--3.91--
bug fix release for the 3.x line containing critical bug fixes
--3.90--
features added
* AltirraOS: The boot screen in the XL/XE version now continues boot on disk insertion rather than forcing a reboot.
* AltirraOS: Extended memory scan limit for 800 version to $D000 to support 52K expanded configurations.
* Audio: Individual channels on the secondary POKEY can now be muted.
* Cartridge: Added JRC 64K + RAM cartridge type.
* Cassette: Optimized cassette tape emulation routines.
* Cassette: Added option for high-pass prefiltering before the turbo tape decoder.
* Debugger: Improved loop detector in history view to more precisely capture loop.
* Debugger: Added @tapepos pseudovariable.
* Debugger: Specifying ? for a path argument now opens a file dialog to select the path.
* Debugger: The disassembly window now has support for showing procedure dividers, previewing called procedures, and jumping to call targets.
* Debugger: Disassembly and History views now save their disassembly settings.
* Debugger: Added option to disable automatic system symbols.
* Debugger: Alt+Shift+click on the display jumps to History at the corresponding beam position.
* Debugger: Verifier supports detecting access to non-canonical hardware addresses.
* Debugger: .caslogdata command superceded by updated CASDATA/CASDATA2 logging channels.
* Devices: XEP80 can now be switched to different controller ports.
* Disk: Added full emulation for 810 Turbo, Amdek AMDC-I/II, and Percom AT-88 disk drives.
* Disk: A warning is now displayed when attempting to insert a disk into a drive that doesn't support it (e.g. double-density disk into an 810).
* Disk: Detailed errors are displayed when a disk image write fails on the host and is remounted virtual read/write.
* Disk Explorer: Added Import File and Export File commands so that drag and drop is not needed to copy files.
* Display: Added option for frame blending in linear color space for better accuracy.
* Display: Color settings can be saved and loaded from external files.
* Display: Added new default preset for PAL.
* Display: The Hue Start slider in color settings now has the same I-Q angle definition in PAL quirks mode and works in PAL high artifacting mode.
* Firmware: Add Firmware now detects OS ROM images even if the specific image is not recognized.
* Firmware: Added detection for more MIO firmware images and support for auto-trimming padded 16K images down to 8K.
* Input: The keyboard layout editor now warns if the key mapping being added conflicts with a keyboard shortcut.
* Recorder: Added options for pixel aspect ratio and frame scaling.
* Recorder: Added support for recording to WMV and H.264 through Media Foundation on Windows 7 and later.
* SaveStates: Save state format rewritten to v2 (*.atstate2), now based on JSON within a .zip file for better accessibility and versioning.
* SaveStates: CPU state can now be saved mid-instruction.
* Simulator: Reordered frame wait and device poll timing around VBLANK to reduce input and output latency.
* UI: Added experimental dark theme support.
* UI: Added /reset command-line switch to selectively reset settings.
* UI: Audio monitor now shows modified frequencies for two-tone mode, indicators for two-tone mode and asynchronous receive mode, and better shows ultrasonic effects.
* UI: Added audio scope for viewing raw POKEY output.
* UI: Added options for controlling mouse pointer visibility.
* UI: Audio monitor positioning can now be customized.
* Video: Added PERITEL adapter and monochrome monitor emulation.
bugs fixed
* AltirraOS: Audio configuration is reset more often on tape reads to produce familiar sounds.
* AltirraOS: Disk boot can now occur after cassette boot and right cartridge non-boot.
* AltirraOS: OLDADR usage adjusted for compatibility with SDX QUICKED.SYS.
* AltirraOS: SIO transmit operations can now be interrupted by User Break.
* AltirraOS: The Display Handler now properly sets the default background color (COLOR4) to $06 when opening a GR.11 screen.
* AltirraOS: KRPDEL is now set and keyboard repeat rates are NTSC/PAL adjusted on the XL/XE/XEGS version.
* AltirraOS: Fixed an SIO issue with an out-of-spec short delay from asserting the command line to first command byte.
* AltirraOS: Fixed disk boot issues if a PBI device or cartridge init routine issued an SIO request with DAUX2 > 0 before the disk boot.
* AltirraOS: The boot screen now resets the Break key state properly after a boot is interrupted by the Break key.
* AltirraOS: Improved native mode compatibility of 816 version.
* ANTIC: RNMI (400/800 System Reset) is now always synchronized to VBI.
* Audio: Fixed stereo mixing being twice as loud as mono mixing.
* CPU: Fixed cycle timing for indexed illegal read-modify-write instructions and ARR #imm ($6B).
* CPU: Fixed extra instruction being run occasionally for a DLI delayed by WSYNC.
* CPU: 65C816 (dp,X) addressing mode now always wraps in emulation mode when accessing high byte regardless of DP.
* CPU: 65C816 (dp) addressing mode properly wraps in emulation mode with DP aligned, except for PEI (dp).
* CPU: 65C816 WDM instruction now properly fetches two bytes.
* Debugger: .dumpdsm -s option now interprets 6809 instructions.
* Debugger: Line number information is now updated properly when using cartridge bank mapping in MADS listings.
* Debugger: Disassembly window now accepts cartridge bank addresses.
* Debugger: Fixed broken option to auto-load kernel ROM symbols.
* Debugger: Reduced frequency of stale memory in the disassembly window.
* Debugger: Fixed incorrect call nesting in history window in Z80 mode.
* Debugger: Fixed some disassembly errors in 6809 mode.
* Debugger: Input byte (ib) now correctly issues read cycles with side effects in the main CPU address space.
* Devices: Fixed crash on ANTIC reading from SoundBoard hardware registers.
* Devices: 65C816 emulation fixes for Veronica.
* Disk: Fixed some illegal indexed RMW instructions taking too few cycles for 6502 coprocessors in full disk emulators.
* Disk: Full drive emulation FDC now allows Write Track commands to proceed immediately when the index signal is already active.
* Disk: Improved accuracy of RIOT interval timer.
* Disk: Corrected FDC head load and initial DRQ timings for Write Track command.
* Disk: Implemented FDC Write Track quirk for back-to-back CRC ($F7) tokens.
* Disk: Fixed some 6809 coprocessor emulation bugs.
* Disk: Corrected side 2 sector mappings for ATR8000, Percom, and XF551 full drive emulators.
* Disk: Fixed case where drive timing could be disrupted after hitting a drive coprocessor breakpoint.
* Disk: Seek sounds no longer overlap when disk access is accelerated.
* Disk: Fixed crash when ejecting disk at specific point during disk read command.
* Disk: FD1771 FDC now properly times out in two revolutions instead of five in 810 full drive mode.
* Disk: Fixed bogus FDC interrupts from Force Interrupt commands.
* Disk: Indus GT ignores ready status to match hardware.
* Disk Explorer: Fixed a filename validation bug with DOS 2 disks where duplicate files could be written if the original filename had extra characters after the extension.
* Disk Explorer: Modifying a mounted disk image now forces a disk change to flush caches on emulated full drives that do track buffering.
* Display: Fixed an issue with color profiles having the wrong color matching setting when initially established.
* Display: Fixed crash when pasting into enhanced text display in CIO mode.
* Display: Typing in enhanced text display (CIO mode) now clears the attract mode counter.
* Firmware: Fall back to next available firmware if default firmware for a type is removed.
* Input: Character mappings in custom keyboard layouts didn't work for non-ASCII extended characters.
* Input: Changes to custom keyboard layouts didn't take effect immediately.
* PerfAnalyzer: Joystick state (PIA port A) is now captured in traces.
* POKEY: Improved accuracy of two-tone mode timing at 1.79MHz.
* Recorder: Fixed SAP type R initial silence detector checking AUDFx registers instead of AUDCx registers.
* SaveStates: POKEY serial input state is now saved.
* SCSI: Fixed BSY being asserted in selection phase even for non-existent devices.
* Simulator: Improved accuracy of power-up values for POKEY and GTIA registers.
* Simulator: Display message via placeholder ROM if kernel ROM file could not be loaded.
* VBXE: Fixed a crash when toggling shared memory option.
* VBXE: Fixed double correction of display with gamma or color correction options enabled.
* VFS: Fixed zip/gz paths with non-ASCII characters not being encoded properly and getting dropped on restart.
--
On their next update, this section will be refreshed.