Altirra, an 8-bit Atari computer emulator (original) (raw)

I had access to a number of 8-bit computers in my childhood, but my most favorite was the Atari 800, a 1.79MHz 6502-based computer with color graphics and a disk drive, and which as the predecessor to the Amiga, another favorite of mine. Over a decade later, I was struck by both nostalgia and ambition and started to write a new 8-bit Atari emulator from scratch. This is the result.

At this point, I've learned a lot more about the Atari and Altirra now emulates more than I ever had or did years ago, but I still work on it periodically. It also serves as a modularity test for the VirtualDub code base, from which Altirra shares some components. If you are struck by nostalgia too or have a desire to do some Atari development, perhaps it might be useful to you, too.

Note: Neither the author nor the software on this page is affiliated with Atari, and there is no code or software from Atari included in the downloads. All trademarks belong to their respective owners.

Features

Before you begin

Altirra is designed with emulation quality in mind, sometimes over speed and polish. It's designed as a system emulator and debugger instead of a games machine, so there is some setup involved. There is a README file in the archive, but here are some quick tips:

First: Software. you need some actual 8-bit Atari (not Atari ST!) software to run. If you don't have any, it'll be a pretty boring experience. I can't give this to you for various reasons, but there are freely available demos, and if you have converted your Atari software to disk images for other emulators, those will work too. Specifically, disk images are supported in ATR, DCM, ATX, and PRO formats; some simple cartridge types are also supported, and you can directly load Atari executables as well (.obx/.xex).

Second: kernel ROMs. Altirra has an internal kernel that can be used to run Atari software, and thus you can run demos, games, and productivity software without needing any Atari ROM images. However, this kernel is reimplemented from scratch, and has some compatibility problems with software that depends on undocumented entry points or behavior. Therefore, you may want to consider hooking up real kernel ROM images, which will greatly increase Altirra's software compatibility. I'm afraid I can't offer these for download, but if you have downloaded ROM images from your Atari, Altirra uses the same format and filenames as most other popular Atari 8-bit system emulators.

Third: compatibility. Altirra is designed to emulate the actual Atari hardware as closely as possible. Its compatibility has been increasing over time, and at this point it should run most software correctly. However, there can still be problems, some of which may be emulation bugs, and some of which are related to hardware emulation settings. Tips:

System requirements

Altirra has relatively few system requirements:

Still running Windows XP or Vista? Altirra 3.91 is the last version that will run on versions of Windows older than Windows 7.

Do you have a CPU that doesn't support SSE2? Altirra 2.90 is the last version that will run on non-SSE2 capable CPUs.

Downloads

Altirra is licensed under the GNU General Public License (GPL), version 2.

Binaries, i.e. stuff you can run (all local downloads):

Starting with 3.10, both x86/x64 and ARM64 versions are provided. Almost all computers should use the x86/x64 package. The ARM64 package is a native ARM64 build for systems running Windows 10 on ARM on a Snapdragon 835 or higher and will run faster on those systems.

Version 4.x binaries (local download):
Altirra 4.21: [4.21 (x86/x64)] [4.21 (ARM64)]
Altirra 4.20: [4.20 (x86/x64)] [4.20 (ARM64)]
Altirra 4.10: [4.10 (x86/x64)] [4.10 (ARM64)]
Altirra 4.01: [4.01 (x86/x64)] [4.01 (ARM64)]
Altirra 4.00: [4.00 (x86/x64)] [4.00 (ARM64)]
Version 3.x binaries (local download):
Altirra 3.91: [3.91 (x86/x64)] [3.91 (ARM64)]
Altirra 3.90: [3.90 (x86/x64)] [3.90 (ARM64)]
Altirra 3.20: [3.20 (x86/x64)] [3.20 (ARM64)]
Altirra 3.10: [3.10 (x86/x64)] [3.10 (ARM64)]
Altirra 3.00: [3.00 (x86/x64)]
Version 2.x binaries (local download): [2.90] [2.81] [2.80] [2.71] [2.70] [2.60] [2.50] [2.40] [2.30] [2.20] [2.10] [2.00]
Version 1.x binaries (local download): [1.9] [1.8] [1.7] [1.6] [1.5] [1.4] [1.3] [1.2]

Source code (i.e. stuff programmers can modify and compile). This includes the source code to AltirraOS, Altirra BASIC, and all of the utilities on the Additions disk.

Starting with 4.00, the source code archive is compressed using the 7-zip format (.7z).

Altirra 4.21 source code (local download)
Altirra 4.20 source code (local download)
Altirra 4.10 source code (local download)
Altirra 4.01 source code (local download)
Altirra 4.00 source code (local download)
Version 3.x source code (local download): [3.91] [3.90] [3.20] [3.10] [3.00]
Version 2.x source code (local download): [2.90] [2.81] [2.80] [2.71] [2.70] [2.60] [2.50] [2.40] [2.30] [2.20] [2.10] [2.00]
Version 1.x source code (local download): [1.9] [1.8] [1.7] [1.6] [1.5] [1.4] [1.3] [1.2]

Acid800 Test Suite

Acid800 is a test suite designed to stress 8-bit Atari emulators. It tests a wide variety of program-visible hardware behaviors and reports any deviations from actual hardware behavior, such as missing features or incorrect timing. Acid800 can be run either as a full suite or as standalone tests, with symbols and source included. Also included are the Acid5200 test suite for the 5200 SuperSystem and the AcidSAP suite for SAP players.

Reference Manual

Hardware reference manual

This is a document describing all of the interesting behavior I've discovered in the Atari 8-bit hardware.

[Altirra Hardware Reference Manual, 2024-09-21 version (local download, PDF)](/downloads/Altirra Hardware Reference Manual.pdf)

BASIC reference manual

This is the manual for Altirra BASIC, the BASIC interpreter embedded within the emulator.

[Altirra BASIC Reference Manual, 2018-08-12 version (local download, PDF)](/downloads/Altirra BASIC Reference Manual.pdf)

Screenshots

Experience 80s technology with an interface designed for modern computers. No console windows, obscure keys, or 320x200 interfaces here — native UI, menus, configuration dialogs with contextual help, and the standard Windows file browser. Copy and paste text like in any other application and drag files in and out of disk images with the Disk Explorer. Enhanced text mode means you don't have to edit your BASIC program in 40x24. Altirra is built for modern Windows, supporting Direct3D 11, XInput, per-monitor high DPI, Windows on ARM, and Unicode.
Altirra's best in class accuracy means what you see in emulation is closer to the real hardware than ever before. View graphics with the correct aspect ratios and the correct speeds, with proper distinction between NTSC and PAL. Adjust the colors to match the TV and computer that you remember, not someone else's. Hear the classic beep-beep-beep of Atari floppy disk loading and the audio track of tapes. Go farther with Altirra exclusives such as PAL artifacting and full disk drive emulation.
See the latest and greatest. Raster effects, digisounds, they all work. Run classic demos such as Bewesoft's 8 Players Demo or Taquart's Numen, or run newer demos like Mad Team's Ilusia and JAC!'s Silly Things — and see them push hardware to the metal just like on the real hardware. Or, perhaps, write and test your own demo.
Move beyond debugging one instruction step at a time with Altirra's advanced debugger. Browse machine code in the disassembly view with block delimiting and inline branch/call target preview. Quickly interpret past execution history with the History pane's automatic call and loop folding. Use conditional PC and memory access breakpoints to stop only on desired conditions. See symbols instead of addresses and even step at source code level with symbols from compatible assemblers and compilers.
Record a trace of a program using the Performance Analyzer and scrub backwards in time through minutes of execution history, including frame thumbnails, CPU timelines, and ANTIC display lists. Profile ranges of time to find the hotspots and examine CPU history to see exactly what code the 6502 was running at that time.

Changelog

Version 4.21 [March 16, 2024]: [features added]

[bugs fixed]

Version 4.20 [December 29, 2023]: [changes]

[features added]

[bugs fixed]

Version 4.10: [January 1, 2023] [changes]

[features added]

[bugs fixed]

Version 4.01: [February 2, 2022] [bugs fixed]

Version 4.00: [November 13, 2021] [changes]

[features added]

[bugs fixed]

[See older change log entries]