4.01 / 21-02-2022






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


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 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.


  • 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.

Show Previous Changes


bug fix release for the 3.x line containing critical bug fixes


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.