virtualdub.org Proof that I had too much free time in college

### Current version

Altirra 2.00

### Navigation

Main page

# Altirra, an 8-bit Atari computer emulator

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.

### System requirements

Altirra has relatively few system requirements:

- Windows 2000, XP, Vista, 7, or later (either 32-bit or x64 edition).
- Pentium CPU or better (1GHz or faster recommended).

If you can run VirtualDub, you can run Altirra, with the one exception that it will not work with the Win9X derived versions of Windows (Windows 95/98/ME).

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

- Disable BASIC (unless you're actually running a BASIC program).
- For older games, use 800 hardware and 48K RAM, and the OS-B kernel.
- For newer games, use XL hardware and 128K RAM (XE), and use the XL kernel.
- For demos and games written in Europe, use XL hardware/kernel, 320K RAM, and PAL.
- If you don't have kernel ROM images, use the HLE kernel instead.
- Use Input > Joystick to toggle the joystick, which uses the arrow keys and the left control key.

### Downloads

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

Binaries (i.e. stuff you can run):

> Altirra 2.00 binary (local download)
> Altirra 1.9 binary (local download)
> Altirra 1.8 binary (local download)
> Altirra 1.7 binary (local download)
> Altirra 1.6 binary (local download)
> Altirra 1.5 binary (local download)
> Altirra 1.4 binary (local download)
> Altirra 1.3 binary (local download)
> Altirra 1.2 binary (local download)

Source code (i.e. stuff programmers can modify and compile):

> Altirra 2.00 source code (local download)
> Altirra 1.9 source code (local download)
> Altirra 1.8 source code (local download)
> Altirra 1.7 source code (local download)
> Altirra 1.6 source code (local download)
> Altirra 1.5 source code (local download)
> Altirra 1.4 source code (local download)
> Altirra 1.3 source code (local download)
> Altirra 1.2 source code (local download)

The compile requirements are the same as for VirtualDub 1.9.2: Visual Studio 2005, YASM 0.4.0+, DirectX SDK, Platform SDK (now Windows SDK).

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

- Acid800 0.9 binaries and source (local download)
  - Added virtual DMA and VSCROL+DLI tests.
- Acid800 0.8 binaries and source (local download)

### 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, 11/23/2010 version (local download, PDF)
> Now with 5200 SuperSystem information

### Screenshots

A complex screen in the game Alley Cat.
Running the SpartaDOS X shell.
Mid-scanline changes in the BeweSoft 8 players demo.
3D graphics in the Numen demo.
Running drac030's 65C816 XL/XE OS.
Debugging one of the GTIA unit tests.
Running BASIC in enhanced text mode.

### Changelog

Version 2.00 [December 24, 2011]:
  [breaking changes]
  - Debugger: The step over command has been changed from s to o.
  [features added]
  - UI: Added OS Screen size setting.
  - UI: Added support for gzip compressed images (*.gz, *.atz).
  - UI: Arrow key behavior is now configurable.
  - UI: Added speed options.
  - UI: Added option to control whether emulation sees the Shift key pressed after a Shift+F5 cold reset.
  - UI: Added MRU list for booted images.
  - UI: Color settings can now be exported as a palette file (*.pal).
  - UI: Display API options can now be changed through the GUI (not just cmdline).
  - UI: Added full screen resolution options.
  - UI: Added single instance option.
  - UI: Request 1ms system timer precision only when unpaused.
  - UI: Added option to bind file associations in Windows for image types.
  - UI: Added /run, /disk, /tape, and /cart switches to force load types on the command line.
  - UI: Added mute option.
  - Debugger: Added command aliases (ac, al, as, a8).
  - Debugger: Added watch expression (wx) command.
  - Debugger: Added multiple memory panes.
  - Debugger: Added watch panes.
  - Debugger: Initial version of debug display.
  - Debugger: Disassembler can now display offsets from symbols.
  - Debugger: Profiler now distinguishes between VBIs and DLIs in function sampling mode.
  - Debugger: Profiler now shows unhalted cycle counts and DMA contention rates.
  - Debugger: Added call graph profiling support.
  - Debugger: Mouse wheel is now position-based instead of focus-based.
  - Debugger: Address range breakpoints can now trigger commands.
  - Debugger: Added log output filter commands (lfd/lfe/lfl/lft).
  - Debugger: Added .ide command.
  - Debugger: Enter (e) command now takes expressions.
  - Debugger: Added bitwise/low-byte/high-byte operators and address/value variables to expression evaluator.
  - Debugger: Break on expression command (bx) can now include address ranges.
  - Debugger: Added dump double words (dd) command.
  - Debugger: Go (g) command now has options to preserve and force source mode.
  - Debugger: Added batch (.batch) command.
  - Debugger: Added source mode control (.sourcemode) command.
  - Debugger: Commands can now be queued to run when an EXE loads or runs.
  - Debugger: Source line breakpoints can now be set prior to line debug information being available.
  - Debugger: A matching .atdbg file is now processed when an executable loads.
  - Debugger: startup.atdbg in the program directory is now processed on startup if present.
  - Debugger: Ctrl+Up/Down from output window command line now scrolls log pane by single lines.
  - Debugger: Added fill (f), search (s), and move (m) commands.
  - Debugger: Register (r) command can now set individual flags.
  - Debugger: Improved output of .pia command.
  - Debugger: Call, loop, and interrupt collapsing in history window can now be toggled.
  - Debugger: History window can now show timestamps in cycles, unhalted cycles, and microseconds from an anchor point.
  - Debugger: Extended memory syntax now allows access to hidden RAM (r: prefix).
  - Debugger: Added .tape and .tapedata commands.
  - Disk: Added support for Write PERCOM Block command.
  - Disk: Added option to auto-detect firmware overrides of disk accesses and automatically disable SIO patch for those drives.
  - Disk: Live disk images can now be explored directly from the disk drive entry rather than requiring an unmount and remount.
  - Disk: Disk explorer shows timestamps.
  - Disk: .ARC compressed archives can now be explored.
  - Disk: Fixed a couple of bugs with DCM disk image decoding.
  - Cartridge: Added another Atrax 128K cartridge variant used for SpartaDOS X.
  - Cartridge: Added support for OSS 8K, Blizzard 4K, AST 32K, Atrax SDX 64K, Turbosoft 64K, and Turbosoft 128K types.
  - Cartridge: Added support for newer MaxFlash 1MB cartridges that power up in bank 0 instead of bank 127.
  - Cartridge: Added support for 1M Megacart (different type with similar name).
  - Cartridge: Added support for a 5200 64K cartridge with 32K banks.
  - Input: MultiJoy8 support.
  - Input: CX-80 and 5200 trackball support.
  - Input: 1200XL F1-F4 keys can now be enabled in keyboard options.
  - Input: ~ key is now an alternate mapping for the inverse key.
  - IDE: KMK/JZ IDE / IDEPlus 2.0 emulation support.
  - IDE: Initial SIDE emulation support.
  - IDE: Solid-state mode supports up through PIO mode 6.
  - IDE: Read-only physical disk access.
  - GTIA: SECAM support.
  - GTIA: Optimizations to mode 9 and mode 10 rendering.
  - MMU: Added 800 8K/24K/32K/40K configurations.
  - MMU: Added 320K and 576K Compy Shop configurations.
  - MMU: Sped up extended bank switching.
  - Simulator: Added XEGS support.
  - SoundBoard: Multiplier support.
  - POKEY: Rewrote sound core to defer repeating events whenever possible for extra speed.
  [bugs fixed]
  - ANTIC: Added emulation of bus data displaying at the very right border of a wide scrolled playfield.
  - ANTIC: Improved accuracy of mid scan line changes to HSCROL and DMACTL.
  - ANTIC: Fixed phantom DMA data during WSYNC.
  - ANTIC: Implemented phantom DMA artifacts along right side of wide playfield.
  - ANTIC: Fixed NMIs not being reactivated after a write to NMIRES on cycle 7.
  - Disk: PERCOM block is now initialized for a drive without a disk.
  - Disk: Fixed errors in PERCOM block track and sectors per track counts.
  - Disk: Switching a disk from R/W to VirtRW mode now clears pending flush errors.
  - Disk: Fixed incorrect serial transfer rates for XF551 high speed Put/Write and Write PERCOM commands.
  - Disk: Fixed H: device not handling zero-byte get/puts properly with burst I/O enabled (affected GET/PUT from BASIC).
  - Disk: H: device now supports OPEN with AUX1=7 to fix directory listing from DOS 2.5.
  - Disk: Disk explorer now properly increments volume sequence number when modifying SpartaDOS X images.
  - Disk: DSKINV hook now supports writes to sectors bigger than 128 bytes.
  - Disk: Fixed crash with very short disk images.
  - CPU: Fixed undocumented $BB opcode using abs instead of abs,Y addressing mode.
  - CPU: Undocumented $6B opcode now supports decimal mode.
  - Debugger: Profiler sometimes lost track of intermediate call frames during function sampling.
  - Debugger: Mouse wheel now uses system wheel scroll setting.
  - Debugger: Improved parsing of MADS listings.
  - Debugger: Fixed command escaping so that escapes are no longer processed unless enabled, i.e. \"foo\nbar".
  - Debugger: Register (r) can no longer clear bits 4 and 5 of P when unsupported by current CPU mode.
  - Debugger: _ and . are now accepted as part of symbol names in expressions.
  - Debugger: Fixed crash when attempting to load empty file as symbol file.
  - Debugger: Source path matching now allows partial path matches both ways and has improved behavior with duplicate filenames in different directories.
  - Debugger: Fixed wrapping of frame counter in history window.
  - Debugger: Built-in kernel symbols now take priority over loaded symbols.
  - Debugger: Fixed page scrolling in history window after enabling CPU history tracking.
  - IDE: Added mandatory Recalibrate, Read Verify, Read Multiple, Write Multiple, Seek, Set Multiple Mode, and Initialize Device Parameters commands.
  - IDE: Fixed response from device 1 status register.
  - IDE: Improved response from Identify Drive command.
  - IDE: Set transfer mode command is now supported.
  - Cartridge: Reverted OSS 034M mapper back to original bank order and added OSS 043M mapper mode for alternate bank layout.
  - Input: Fixed crash when activating triggers to unavailable controllers.
  - PIA: Implemented IRQB and control bit 6.
  - HLE: Fixed escape handling in display handler.
  - HLE: Screen setup now matches the display list and playfield addressing of the stock OS ROM.
  - HLE: Fixed cartridge handling so that cartridges are run after disk boot completes.
  - HLE: Added known RTS instruction at $E4C0.
  - HLE: CIO now allows SPECIAL commands to be issued on a closed IOCB.
  - HLE: Boot loader now sets DBYTLO/DBYTHI to $0400 before launching.
  - HLE: Fixed crash in CIO on OPEN command with unknown device.
  - HLE: S: now supports the Get Status, line, and fill commands.
  - UI: Disk sector display was incorrect for accelerated writes.
  - UI: Fixed crash if DirectX 9 is not installed.
  - UI: Display window can no longer be undocked in full screen mode.
  - UI: Adjusted default NTSC color preset. The old preset is still available.
  - UI: Command-line processing now better matches standard VC++ escaping rules.
  - UI: Direct3D9/OpenGL rendering now works over Remote Desktop with Windows Vista/7.
  - SoundBoard: Restricted $D5/D6xx mapping to $D500-D53F and $D600-D63F.
  - POKEY: Fixed incorrect latching on IRQST bit 4 (serial output ready IRQ).
  - POKEY: Fixed deassert timing for IRQST bit 3 (serial output complete IRQ).
  - POKEY: Added partial emulation of SKSTAT bit 4 (direct input) during disk transfers.
  - Cassette: Fixed data blocks being silently dropped when reading some .cas files.
  - Cassette: Fixed inaccuracy in data rate produced from loading .cas files.
  - GTIA: Fixed incorrect color for %%1000 pattern in mode 10 with lores ANTIC input.
  - VBXE: Warm reset no longer resets all registers like a cold reset.
Version 1.9 [May 15, 2011]:
  [features added]
  - Debugger: Multiple memory access breakpoints can now be placed.
  - Debugger: Added option to break on run address of loaded executable.
  - Debugger: Conditional breakpoints (bx) are now supported.
  - Debugger: Commands can now be run when a breakpoint fires.
  - Debugger: Added ? (evaluate) and .printf commands.
  - Debugger: Trace and assert statements can now be embedded in assembler listings.
  - Debugger: Added vta, vtc, vtl, and vtr commands to control verifier OS entry point checking.
  - Debugger: Added .dumpsnap command.
  - Debugger: Memory access breakpoints can now be placed on an address range.
  - Debugger: History window now has a Copy Visible context menu option.
  - Debugger: Verifier modes are now configurable.
  - Debugger: Verifier can now catch register corruption across interrupts.
  - Debugger: .writemem now supports extended address syntax.
  - Debugger: Added .sio command.
  - Debugger: Added .sdx_loadsyms command.
  - SoundBoard: Initial support.
  - UI: Added emulator crash dialog.
  - UI: Show FPS option now also shows CPU usage.
  - Input: Added Amiga mouse support.
  - Input: Added CX-85 keypad support.
  - GTIA: NTSC and PAL modes can now have separate palettes.
  - GTIA: Added option for PAL encoding quirks.
  - GTIA: Added PAL high artifacting mode.
  - Disk: Initial version of disk explorer.
  - Serial: Inbound connections are now supported.
  - Serial: Added support for A, L, M, P, Q, S, T, V, X, &C, &D, &F, &G, &P, &T, &V, and &W modem commands.
  - Serial: Added DTR and CRX signal support.
  - Serial: Added IPv6 support.
  - Serial: Added option to force specific connection and DTE communication rates.
  - Serial: Added option to bypass accurate serial port rate throttling.
  - Cartridge: Two cartridges are now supported for 800 left+right and stacked cartridge configurations.
  - Cartridge: 2K and 4K cartridges are now supported (as mirrored 8K cartridges).
  - Cartridge: SIC! cartridge support.
  - PCLink: Initial support.
  [bugs fixed]
  - UI: Pane dragging is less twitchy and no longer undocks a pane as soon as you click on the caption.
  - UI: Fixed undocked panes getting lost on exit when no other panes were docked.
  - UI: Optimized Direct3D9 code to reduce flickering when switching artifacting modes.
  - UI: Fixed current beam position indicator not updating properly when stepping with interlacing enabled.
  - UI: Auto-size command now works when menu wraps.
  - HLE: Fixed crash when NMI handler is invoked with no NMIs pending.
  - HLE: Added support for XL OS PENTV vector.
  - HLE: E: device now excludes prompts from data returned by get-line commands.
  - HLE: Increased HLE kernel compatibility with SpartaDOS X.
  - HLE: Fixed BASIC ^ operator with HLE kernel or floating-point acceleration.
  - HLE: Fixed AFP not accepting leading spaces (which broke the Atari BASIC READ statement).
  - Simulator: Default kernel mode now prefers ROM images properly again.
  - Simulator: BOOT? and DOSINI are now set at the beginning of EXE/XEX loads to support more WARMSV tricks.
  - Cheats: Enable checkbox on cheats was broken.
  - CPU: Added missing SHA abs,Y ($9F) instruction.
  - CPU: Fixed CMOS BIT #imm ($89) instruction.
  - CPU: Fixed 65C02 $FC instruction.
  - CPU: Back-to-back interrupts are no longer allowed.
  - CPU: Added emulation of BRK/NMI bug.
  - CPU: Added option to emulate masked NMIs (off by default).
  - CPU: Fixed dp,X, dp,Y, and (dp,X) page wrapping behavior in 65C816 E=1 mode.
  - ANTIC: DMACTL bits 6 and 7 are no longer reflected in .dlhistory output.
  - ANTIC: Fixed CPU not being halted when playfield DMA occurred on cycle 10.
  - ANTIC: Fixed timing of when VSCROL affects DLIs.
  - Debugger: Optimized History pane.
  - Debugger: Avoid re-requesting the same source file when it is not found on disk.
  - Debugger: Improved reliability of source-level stepping.
  - Debugger: Added XL OS entry points to default entry points allowed by verifier.
  - Recorder: Fixed crash on recording errors.
  - Recorder: Fixed incorrect format on video stream when using ZMBV compression.
  - Disk: SIO receive speeds are now validated for more reliable high-speed SIO detection.
  - Disk: VAPI (ATX) images can now be loaded from .zip files.
  - Disk: Fixed problems binding disk images to D9:-D15:.
  - GTIA: NTSC high artifacting mode now respects artifact phase setting.
  - GTIA: Fixed trigger state sometimes being initially wrong when enabling latching.
  - GTIA: Improved accuracy of transitions from mode 8 to mode 9/10.
  - GTIA: Fixed hires lines not artifacting correctly with the extended PAL height setting enabled.
  - Serial: Telnet emulation now reads out of band data.
  - Serial: Telnet emulation now handles incoming WILL and WONT commands.
  - Serial: Telnet server now attempts to turn off local echo on remote end.
  - Serial: Fixed sporadic missing newlines on modem status messages.
  - Serial: Control line state is now reported in non-concurrent mode.
  - Serial: Ring pattern adjusted to match US standard (2s/4s).
  - Serial: Re-opening the R: device now flushes buffered data.
  - Serial: Closing the R: device deactivates concurrent mode to make subsequent status requests work.
  - Serial: Fixed crash in R: when invoking GET BYTE with an empty input buffer or PUT BYTE with a full output buffer.
  - Serial: Fixed BASIC GET command failing after XIO on R:.
  - Serial: Fixed erroneous CR-to-CRLF conversion on transmit path.
  - Serial: XIO commands to R: instead of R1-R4: now work properly.
  - Serial: Closing R: waits for queued output data to flush.
  - Printer: Fixed close command not actually closing IOCB.
  - VBXE: VBXE memory no longer overlays extended memory in 1088K mode with shared memory disabled.
  - IDE: Cold reset now also resets the emulated IDE device.
  - IDE: Addressing is now restricted to offsets $00-07 to avoid conflicting with OS PBI scan.
  - Cartridge: Corrected banks 1 and 2 for OSS 034M cartridge type.
Version 1.8 [December 22, 2010]:
  [features added]
  - Initial 5200 support.
  - Simulator: Added 16K memory size support.
  - Simulator: 576K and 1088K modes now allow ANTIC access to extended memory.
  - Simulator: ROM image paths are now configurable.
  - Cartridge: Added support for Corina 1MB + 8K EEPROM and 512K + 512K SRAM + 8K EEPROM cartridges.
  - Cartridge: Added support for Telelink II NVSRAM.
  - Cartridge: Added support for DB 32K, Williams 32K / 64K, Diamond 64K, SpartaDOS X 64K/128K, Phoenix 8K, Blizzard 16K, and Atrax 128K cartridges.
  - Cartridge: Added support for 8K right slot cartridges.
  - Cartridge: Added support for non-switchable 256K-1M XEGS cartridges.
  - Cartridge: Mapper dialog attempts to detect Atari 2600 cartridge images (unsupported).
  - Debugger: The history window no longer needs to be closed and reopened after toggling history mode.
  - Debugger: Source windows now highlight lines that have symbol information associated and can be used for execution control.
  - Debugger: Added on-screen watch byte/word commands (wb/ww/wc/wl).
  - Debugger: History window now detects and collapses loops.
  - Debugger: Added optional length parameter for dump and disassemble commands.
  - Debugger: Added dump INTERNAL string command (di).
  - Debugger: Added .iocb command.
  - Debugger: Added ya/yc/yd/yr/yw commands for manually adding symbols.
  - Debugger: Verifier now detects recursive NMIs.
  - Debugger: Font and font size can now be changed.
  - Debugger: Added 6502 miniassembler.
  - Debugger: Added detailed command help.
  - Debugger: Added .pathrecord command and documented existing path commands.
  - Debugger: Added .basic and .basic_vars commands.
  - Debugger: Console window now supports multiple history entries and page up/down from the command line.
  - Debugger: Added symbol parsing support for ATasm and XASM assembler output.
  - Disk: Added support for D9: through D15:.
  - UI: Added DirectSound support.
  - UI: Audio latency can now be adjusted.
  - UI: Switched to larger font for on-screen UI.
  - UI: Shift key now controls whether dropped files are mounted/added (shift) or booted (no shift).
  - UI: Left-shift and right-shift keys can now be bound separately.
  - UI: Warnings are now displayed before modified images are implicitly discarded.
  - UI: Enabled themed controls.
  - UI: Removed borders on docked panes.
  - UI: Added first pass at pause button (F9).
  - UI: Ctrl+Arrow keys now give the un-Ctrl'd keys on the emulated keyboard for programs that use pseudo arrow keys.
  - UI: Mouse auto-capture is now an option.
  - UI: Added option to resize main window to remove letterboxing on display.
  - Input: Input map editor redesigned for easier controller configuration.
  - Input: Input maps now support shifted subsets via flags.
  - Input: Analog axes can now be bound as either relative or absolute, with tunable speed for relative mode.
  - Input: Paddles now support rotation-based control.
  - Input: Added light pen/gun support.
  - Input: Added tablet support.
  - VBXE: 5200 support added.
  - IDE: Added option to switch between short and long BSY-to-DRQ delays to simulate platter and solid-state media.
  - Serial: Added support for 850 R: and basic virtual-modem-over-TCP emulation.
  - Cheats: Added simple cheat finder and value locker.
  - Recording: Added options to tweak the frame rate and to record at half rate.
  [bugs fixed]
  - Disk: Added workaround for yet another goofy way to store boot sectors in a DD ATR image (3 x 128K followed by 384K of nulls).
  - Disk: Fixed crash when opening .zip file containing files with no filename extension.
  - Disk: Disk drives dialog now highlights disk images that have been modified and not saved.
  - IDE: Fixed excessively long delay for BSY to assert after a command is issued.
  - Input: Binding mouse up/down/left/right outputs to digital inputs now works.
  - UI: Fix for crash when using Direct3D display on video cards that don't support arbitrary non-pow2 textures.
  - UI: Rewrote audio output path to use block duplication/removal rather than resampling to maintain sync.
  - UI: Fixed emulated mouse button not working reliably.
  - UI: Reduced border artifacts when using bicubic display stretching.
  - UI: Fixed crosstalk between interlace and frame blending settings.
  - PIA: Control bits 6 and 7 are no longer writable.
  - POKEY: Fixed RANDOM offset in 17-bit noise generator mode.
  - POKEY: Fixed IRQ timing for CPU-triggered IRQs.
  - POKEY: Fixed serial output complete interrupt not always deactivating properly.
  - POKEY: Clearing SKCTL bit 1 now disables the keyboard.
  - POKEY: Adjusted timing of 15KHz and 64KHz timers after exiting initializing mode.
  - GTIA: Phantom P/M graphics DMA is now implemented.
  - GTIA: Fixed graphic output when changing the size in the middle of a player image.
  - GTIA: Improved accuracy of graphic output when changing GTIA modes mid-screen.
  - GTIA: Latched triggers are now implemented.
  - HLE: Delete line ($9C) now resets cursor column.
  - HLE: Implemented CRSINH function.
  - HLE: IRQ handler now clears decimal flag.
  - HLE: Fixed crash when jumping to cassette init routine.
  - Debugger: Fixed MADS listing parsing for code lines after ORG statements.
  - Debugger: .dumpdsm command works again.
  - Debugger: History window now shows effective addresses.
  - Debugger: Disassembly and history windows now allow disassembly columns to be toggled.
  - Debugger: Stepping in source view now steps by source line instead of instruction.
  - Debugger: Fixed uninitialized screen data sometimes appearing when stepping.
  - Debugger: Register "r" command can now set A register.
  - Debugger: Breakpoints now work on the run address of a loaded executable.
  - Debugger: Fixed .writemem crashing if filename was invalid.
  - CPU: Fixed IRQ timing around CLI and SEI instructions.
  - CPU: Fixed a couple of bugs with decimal mode.
  - CPU: Taken branches now delay IRQ/NMI acknowledgement by one cycle.
  - CPU: Fixed false read behavior for: STA (zp),Y; STA abs,Y; STA abs,X; STX abs,Y.
  - CPU: Implemented reserved NOPs in 65C02 mode.
  - CPU: Fixes to undocumented opcodes: RLA ($23, $27, $2F, $33, $37, $3B, $3F); ASR ($4B); SAX ($83, $87, $8F, $97); SHX ($9E).
  - ANTIC: Fixed occasional unexpected DLIs on cold reset, which was causing once-only emulation crashes.
  - ANTIC: Corrected NMIST change timing.
  - Cartridge: Fixed OSS 034M and M091 mappers.
  - Recording: Fixed crashes in some cases when recording start process failed.
  - VBXE: Attribute map RES bit is now implemented.
  - VBXE: Fixed attribute map addressing getting scrambled on mid-screen changes.
  - VBXE: Overlay scrolling and addressing is now reset at VBL and no longer affects bitmap modes.
  - VBXE: Frame blending is now supported in VBXE mode.
Version 1.7 [September 4, 2010]:
  [features added]
  - Cartridge: Fixed ID mistake on mappers 1 and 2; added 3, 15, 26-30, 32-38.
  - Cartridge: Added dialog to ask for mapper when header is missing.
  - Cartridge: Added write support for 1Mb/8Mb flash cartridges.
  - Cartridge: Added option to create new 1Mb/8Mb flash cartridges.
  - Cartridge: Added option to save cartridge images.
  - Cartridge: Added support for AtariMax 1Mb+MyIDE cartridge banking mapper.
  - UI: Added /bootvrw and /bootrw to boot disks in read/write or virtual R/W mode.
  - UI: Added /artifact switch for controlling video artifacting.
  - UI: Multiple types of images can now be mounted simultaneously via the command line.
  - UI: Added /type switch to push keys on startup.
  - UI: Added /cartmapper switch to specify mapper when booting headerless cartridges.
  - UI: Added support for saving settings in an .ini file instead of the Registry.
  - UI: Added more color presets.
  - UI: Added save screenshot command.
  - UI: Ctrl+\ and Ctrl+Shift+\ now produce Ctrl+Esc and Ctrl+Shift+Esc.
  - UI: Added /portable mode to switch to Altirra.ini for settings.
  - UI: Added help file.
  - UI: Disk, cartridge, and tape images can now be loaded from .zip files.
  - UI: Heads-up display now indicates H: access.
  - Recording: Added video recording.
  - Simulator: Added option for faster kernel boot by accelerating checksum and RAM test routines.
  - Simulator: .bin and .xfd extensions now override content-based identification for images.
  - Simulator: BASIC disable now lifts Option key on playfield enable rather than VBI enable to avoid breaking games that don't use VBIs.
  - Debugger: Added .pathbreak command to stop when new code is executed for the first time.
  - Debugger: Disassembly window now auto-pages when scrolling up or down beyond the current view.
  - Disk: Individual disk drives can now be powered on and off from the Disk Drives dialog.
  - Disk: Improved compatibility of H: device.
  - Disk: Added support for H: burst I/O.
  - IDE: Added emulation support for MyIDE interface.
  - HLE: Rearranged SIO to improve compatibility with naughty programs that copy out parts of kernel ROM.
  [bugs fixed]
  - UI: Fixed random crash when opening debugger or new debug panes.
  - UI: Booting images on the command line now removes previously mounted images.
  - UI: Fixed Alt+8 keyboard shortcut.
  - UI: Remapped Insert/Delete/Home keys to better match their Atari equivalents.
  - UI: Fixed joystick ports 3 and 4 not being mappable.
  - UI: Fixed focus anomalies when bringing up profile view undocked.
  - UI: Rewrote bicubic pixel shader to fix artifacts on Intel GMA 950.
  - UI: Display acceleration is now supported on secondary monitors.
  - POKEY: Added support for using channel 2 as serial transmit clock (SKCTL[6:5]=11).
  - POKEY: Unassigned registers now properly read $FF.
  - Disk: Increased delay from complete byte to first data in high speed mode to fix data overruns in SIO-based routines.
  - Disk: Fixed bug that caused corruption of newly created disk images during incremental updates.
  - CPU: Fixed bug in DCP opcodes.
  - CPU: Added missing ARR #imm ($6B) opcode.
  - CPU: Added missing SAX zp,Y ($97) opcode.
  - CPU: Added missing XAS abs,Y ($9B) opcode.
  - CPU: Fixed ATX #imm ($AB) opcode.
  - Debugger: Fixed crash/errors when trying to reopen printer pane after closing it.
  - Debugger: Memory leak fixes.
  - Debugger: Fixed disassembly window jumping when changing breakpoints after selecting a nested call stack frame.
  - Debugger: Fixed Alt+Shift+0 shortcut for profiler view.
  - Simulator: Fixed bug where BASIC bit wasn't handled properly in 576K and 1088K memory modes.
  - Cartridge: SuperCharger 3D cartridge is now saved and restored properly across runs.
  - HLE: Added initial cassette reading support.
  - HLE: Fixed bugs in E: logical line handling in bottom third of screen.
  - HLE: Fixed handling of undocumented ZFL entry point in math pack with accelerated FP disabled (improves compatibility with Atari BASIC).
  - HLE: SIO now disables level 2 VBLANK when active.
  - HLE: CIO no longer throws an error when closing an IOCB that is not open.
  - HLE: CIO now allows opening a device without a colon, i.e. "K".
  - GTIA: Fixed some display artifacts when extended PAL height is enabled.
Version 1.6 [April 25, 2010]:
  [features added]
  - Debugger: Added profiler.
  - Debugger: Added support for loading CA65 labels.
  - Debugger: Added verifier to catch possible coding errors.
  - Debugger: Added support to view extended memory to some commands and panes.
  - UI: Added option for controlling vertical sync lock.
  - UI: Added /opengl command line switch.
  - UI: BASIC ROM is now noted on window caption.
  - UI: Window position is saved on exit.
  - UI: Added /debug switch to launch in debugger mode.
  - UI: Added /f switch for full-screen mode.
  - UI: Added .car extension to Open Image dialog.
  - UI: Input maps can now be cloned.
  - UI: Input maps can now be bound to a specific game controller index.
  - UI: Create disk dialog now has entries for standard disk formats.
  - UI: Added ability to paste text from clipboard.
  - UI: Moved warm reset to F5, bound Help to F6 and Break to F7, and merged Run into F8 to match other emulators.
  - UI: Added program icon.
  - Simulator: Added option to fill memory with a psuedorandom pattern on cold boot instead of zeroes.
  - Simulator: Added support for 65C816 high memory at banks $01-03.
  - POKEY: Increased playback sampling rate to 44KHz.
  - POKEY: Added option to toggle non-linear mixing.
  - POKEY: Added option to toggle individual sound channels.
  - POKEY: Implemented keyboard overrun bit.
  - VBXE: Register window can now be switched between $D6xx and $D7xx.
  - Disk: Added support for 1050 drive dual density format.
  - Disk: Added support for XF551 drive high speed commands.
  - GTIA: Added a stronger level of NTSC artifact emulation.
  [bugs fixed]
  - Fixed command line parsing and added several new switches.
  - HLE: Fixed math pack issues preventing Atari Basic ATN(), INT(), and SQR() from working.
  - HLE: Fixed handling of BASIC enable/disable on warm reset.
  - LLE: Improved math pack implementation.
  - ANTIC: Playfield DMA wasn't properly shut off on cold reset.
  - ANTIC: Improved emulation of mid scan line DMACTL changes.
  - ANTIC: Reset line now resets position counters.
  - ANTIC: Emulated single cycle glitch in VCOUNT at the end of a frame.
  - ANTIC: Implemented delay for changes to CHBASE to take effect.
  - POKEY: Adjusted timing of STIMER and timer rollovers.
  - POKEY: Retuned filters and non-linear mixing curve.
  - POKEY: Fixed behavior of SKSTAT serial overrun bit.
  - GTIA: Added option for displaying full PAL height when extending display past scan line 239.
  - GTIA: Fixed display of beam position when single stepping with VBXE enabled.
  - Debugger: Fixed bug where history window didn't allow scrolling to the bottom via the slider.
  - Debugger: History window now always shows last executed instruction.
  - Debugger: History window now flushes and rebuilds the tree when the history window rolls over.
  - Debugger: "Toggle read/write breakpoint" in the memory window was using the wrong address.
  - Debugger: Disassembly window now tracks 65C816 M/X/E state.
  - Debugger: .history command was using wrong register state for decoding indexed effective addresses.
  - Debugger: Fixed incorrect index register values in Registers pane in 65C816 emulation mode.
  - Debugger: Fixed disassembly of JMP (abs,X) and JSR (abs,X) instructions.
  - CPU: XCE instruction no longer sets M/X bits when staying in native mode.
  - CPU: Fixed bank used by JML, JMP (abs), and JMP (abs,X) instructions in 65C816 mode.
  - Disk: Added support for reading broken DD disks that have full 256 byte boot sectors.
  - Disk: SIO acceleration hook now sets SKCTL correctly.
  - UI: Fixed issue where full-screen mode didn't always cover the entire screen.
  - Simulator: Shortened delay to releasing OPTION on startup.
Version 1.5 [January 31, 2010]:
  [features added]
  - Added option to redirect P: to a text pane.
  - UI: Added handing for gamepads being added or pulled during execution.
  - UI: Rewrote input system and added general input mapper.
  - UI: Added options for controlling display stretching and aspect ratio.
  - UI: Added better handling for cases in which a requested firmware ROM is not available.
  - UI: Added option to control overscan display.
  - UI: Mounted disks and cartridges are saved and restored across runs.
  - UI: FPS display in window caption is now optional.
  - UI: System configuration is now shown on the window caption.
  - POKEY: Added volume control.
  - Simulator: Added "Other" firmware option to load an otheros.rom custom kernel (16K XL).
  - Cassette: Added seek UI.
  - Cassette: Reworked playback indicator.
  - GTIA: Added option to blend adjacent frames to reduce flicker.
  - GTIA: Added System > Video > Adjust Colors.
  - GTIA: Added support for interlaced output.
  - Disk: Added sector counter option.
  - Disk: Increased max drive count to 8.
  - Disk: Added burst transfer mode compatible with SpartaDOS X.
  - Disk: Get Status and Read PERCOM Block commands are now accelerated.
  - Disk: Lazy writes are now incremental.
  - VBXE: Initial emulation support.
  - Misc: Added R-Time 8 support.
  - Debugger: Added list nearest symbol (ln) command.
  - Debugger: "Go to Source" command now asks for source file location if it
  cannot be found.
  [bugs fixed]
  - HLE: Improved compatibility of screen editor.
  - HLE: Fixed bug in emulated math pack that broke Atari Basic.
  - Debugger: Fixed crash when a source file couldn't be found.
  - Debugger: Auto-loading of symbols for executable files works again.
  - Debugger: Source windows no longer recenter when toggling breakpoints.
  - Debugger: Fixed misspelled SKRES symbol.
  - ANTIC: Fixed incorrect CPU timing for STA WSYNC + PHA combination.
  - ANTIC: Vertical scroll bit is now kept across VBLANK if display list is too long.
  - ANTIC: Fixed timing of display list DMA enable changes (DMACTL bit 5).
  - ANTIC: Internal line buffer is no longer cleared when repeating mode lines with display list DMA disabled.
  - ANTIC: Mode lines can now repeat across VBLANK with display list DMA disabled.
  - ANTIC: Added emulation of bug where VBLANK can fail to occur if scan line 247 is a hires line.
  - POKEY: Fixed reading of POT timers before pot counters have stabilized.
  - CPU: Implemented SBX instruction ($CB).
  - Disk: Increased reliability of lazy flush mechanism.
  - Disk: Fixed PERCOM block for large disk images.
  - Disk: Fixed boot sector count for 512 byte/sector images.
  - Disk: Hard disk (H:) no longer goes away on a warm reset.
  - Disk: Reverted change to raise RTCLOK on SIO acceleration to fix bugs with programs that monitor RTCLOK from a VBI handler.
  - UI: Mouse capture is automatically released when the simulator stops.
  - UI: Fixed USER handle leaks.
  - Simulator: 1088K memory mode no longer disables self-test bit when extended RAM is disabled.
  - LLE: Fixed cartridge initialization.
  - LLE: Fixed BASIC ROM switching.
  - LLE: K: open/close calls are now implemented.
  - LLE: Added initial math pack implementation.
  - LLE: SIO now shuts off all audio channels.
Version 1.4 [November 8, 2009]:
  [features added]
  - Debugger: Added .diskorder command to force phantom sector load order.
  - Debugger: Added .dma command to dump current ANTIC DMA pattern.
  - Debugger: Added .caslogdata to diagnose cassette data read failures.
  - Debugger: Added .pia command to dump PIA state.
  - Disk: Added support for command $4E (Read PERCOM Block).
  - Disk: Added support for reading Diskcomm (DCM) images.
  - Cassette: CAS images and mono WAV files now play data as audio.
  - Cassette: The SIO acceleration engine now reports diagnostics about damaged blocks to the console window.
  - Cassette: Made accelerated read routine more robust against interpreting garbage as the start of block sync.
  - Cassette: Optimized WAV processing routine.
  - Cassette: Added command to unload tape.
  - Cassette: Added emulation of feedback from SIO motor control line into audio input.
  - UI: Added command to reset window layout.
  - UI: Drag-and-drop is now a synonym for the Open Image command.
  - UI: Added more key mappings.
  - UI: Added Boot Image command to unload all existing cartridges/disks/tapes and cold reset after loading an image.
  - UI: Added debugging option to dump raw audio to disk (32-bit float @ 63920.4 NTSC / 63337.4Hz PAL).
  - UI: Added .com to list of file filters for the Open Image/Boot Image commands.
  - UI: Added enhanced text display mode.
  - Simulator: Added support for loading OS-A kernel ROM.
  - GTIA: Added support for PAL artifacting.
  [bugs fixed]
  - UI: Mapped Ctrl+alpha/num and Ctrl+Shift+alpha/num keys.
  - UI: Arrow-keys now auto-repeat.
  - UI: View > Display works when the debugger is disabled.
  - UI: Fixed window activation and sizing problems when toggling full screen mode.
  - UI: This simulation is now throttled in full-screen mode.
  - CPU: Implemented TDC instruction in 65C816 mode.
  - CPU: Implemented undocumented $93 (SHA) and $BB (LAS) opcodes.
  - CPU: Fixed flags on $9C (SHY) opcode.
  - CPU: Removed bogus 65C816 opcode ($DC) in 6502 decoder.
  - Cassette: Fixed desync between audio and data after accelerated load.
  - Cassette: Audio/data channels are no longer swapped when processing stereo input.
  - Cassette: Raised cutoff on control line low-pass filter to fix reliability problems at turbo baud rates.
  - Cassette: Fixed incorrect SIO return code for accelerated cassette reads.
  - Cartridge: Fixed MMU mapper so that the cartridge ROM now overrides BASIC at $A000-BFFF.
  - Cartridge: TRIG3 is now deasserted when $A000-BFFF is unmapped.
  - Cartridge: The second bank setting for Bounty Bob Strikes Back! cartridges is now saved in save states.
  - Disk: Added support for weak bit emulation in VAPI images.
  - Disk: Fixed VAPI image read errors when missing sectors are present.
  - Disk: Fixed incorrect FDC status when loading long sectors that set the "lost data" status bit.
  - Disk: SIOV/DSKINV acceleration handlers set more kernel variables for better compatibility.
  - Disk: Abort acceleration attempt when disk buffer contains SIO timeout flag (TIMFLG).
  - Disk: Adjusted sector read delay to increase VAPI image compatibility.
  - Disk: Fixed cases where the virtual read/write setting was not obeyed properly.
  - GTIA: Changes to GRAFPx/GRAFM are latched and no longer affect a sprite image that is already shifting out.
  - GTIA: Increased timing precision of console speaker from 28 cycles to single cycle.
  - GTIA: Fixed bug that caused some apps to misdetect the video mode as SECAM.
  - GTIA: Adjusted timing for mid-screen changes to P/M graphics and color registers.
  - GTIA: CONSOL output bit 3 wasn't affecting input bit 3.
  - GTIA: VDELAY now masks DMA fetches rather than actually delaying loads.
  - POKEY: Fixed random crash in stereo mode.
  - POKEY: 15KHz and 64KHz clocks are no longer joined between the left and right channel chips.
  - POKEY: The channels now have the correct 0-3 clock skew for reading the noise generators.
  - POKEY: Implemented channel 1/2 inversion when not in volume-only mode.
  - POKEY: Implemented non-linear mixing.
  - POKEY: Audio plays again when initialization mode is active.
  - POKEY: Implemented serial force break bit (SKCTL bit 7) affecting two-tone mode.
  - POKEY: STIMER now resets output channel states properly.
  - POKEY: Asynchronous serial input mode now holds down timers 3 and 4 again when a byte is not shifting in.
  - HLE: The math pack is now emulated even if the acceleration option is disabled.
  - HLE: POTGO is now strobed during vertical blank stage 2 processing.
  - HLE: STRIG2/3 are now updated from TRIG0/1 instead of TRIG2/3 for XL/XE hardware compatibility.
  - HLE: Fixed bug where POKEY was put into initialization mode after an unaccelerated SIO transfer.
  - HLE: POKEY audio channels are now shut off after an SIO operation.
  - HLE: Added keyboard click.
  - ANTIC: Two-line resolution mode now reloads GTIA every scan line.
  - ANTIC: Fixed timing when using read-modify-write instructions to trigger WSYNC.
  - Simulator: Memory banking wasn't updated properly on changes to the port B data direction register.
Version 1.3 [September 4, 2009]:
  [features added]
  - Debugger: Register pane now shows 65C816 state.
  - Debugger: Added context menu to disassembly pane.
  - Debugger: *.lst and *.lab symbols are automatically detected and loaded for direct-run EXEs and cartridges.
  - Debugger: Improved source-level debugging capability.
  - Debugger: Opcodes are now cached so that they show correctly in the history log even with bank switching.
  - UI: Filter mode is now saved on exit.
  - UI: Added command to copy current frame to the clipboard.
  - UI: Added paddle support.
  - GTIA: Optimized artifacting code.
  - GTIA: Added the ability to disable collisions for cheating.
  - Cartridge: Added support for 64K XEGS and 512K MegaCart cartridge types.
  - Cartridge: Added support for SuperCharger 3D cartridge.
  - Cassette: Added support for non-standard baud rates.
  - Cassette: Added auto-boot option.
  - Cassette: Device open commands are now accelerated.
  [bugs fixed]
  - Simulator: More fixes to executable loader.
  - Simulator: 320K memory mode now banks ANTIC along with the CPU.
  - Simulator: Joystick and bank switch masking via the PIA data direction register is now supported.
  - Simulator: Rewrote BASIC handling to use the OPTION switch rather than masking PORTB bit 1.
  - Simulator: Reset PIA, ANTIC, and CPU on warm reset for XL hardware.
  - Simulator: Self-test ROM no longer appears if kernel ROM is disabled.
  - Simulator: Adjusted PAL frame rate.
  - Simulator: Disk boot flag is now set when loading EXEs to accommodate programs that warm start through DOSINI vector.
  - Simulator: EXE loader is more tolerant of broken files.
  - CPU: Fixed many 65C02/65C816 bugs.
  - CPU: Fixed emulation of NMOS 6502 decimal mode.
  - CPU: Fixed bugs in undocumented instructions.
  - CPU: Fixed emulation crash when switching to 65C816 on the fly.
  - CPU: Fixed handling of break flag.
  - CPU: Now allow one instruction to pass before taking IRQ interrupt after clearing I flag.
  - Debugger: Improved handling of 65C816 modes in disassembler.
  - Debugger: Debug memory reads no longer see $FF in the page where a read memory breakpoint is set.
  - Debugger: Fixed bugs in symbol parser when loading MADS listings.
  - Debugger: Fixed line highlighting in source windows.
  - Debugger: Disassembly recomputes on 65C816 mode changes.
  - Disk: Fixed bug in loading of ATR files that have non-standard boot sector counts.
  - Disk: Additional compatibility fixes to DSKINV acceleration.
  - Disk: Status commands are no longer delayed by the accurate disk timing option.
  - Disk: Applied slight adjustment to SIO transfer rate.
  - Disk: POKEY timers are now shut off after SIO/DSKINV acceleration.
  - Disk: Strengthened disk image format validation and made XFD loading more tolerant.
  - UI: Fixed bug in CPU mode dialog that prevented selection of 65C02 mode.
  - UI: Fixed crash when accessing menu with display pane closed.
  - UI: Keyboard-as-joystick logic no longer allows simultaneous up+down and left+right.
  - UI: Added support for controlling joystick port 2.
  - UI: Blocked invalid machine configurations with XL kernel and 800 hardware or less than 64K of memory.
  - ANTIC: Fixed broken mode 9.
  - ANTIC: Vertical reflect now works on modes 4-7.
  - ANTIC: Player/missile DMA no longer occurs during vertical blank.
  - ANTIC: Fixed behavior of vertical scrolling on blank lines.
  - ANTIC: Changes in playfield width are now supported later in a scan line.
  - ANTIC: Moved VCOUNT advance forward by one cycle.
  - ANTIC: NMIs are now suppressed if enabled too close to trigger point.
  - ANTIC: NMIs are now delayed by one cycle if enabled exactly on cycle 8.
  - GTIA: Bogus missile-player collisions were reported if a register change occurred in the middle of a missile.
  - GTIA: Fixed CONSOL I/O interactions on switch lines.
  - GTIA: Save states now restore player/missile widths.
  - HLE: DSKINV now supports double-density disks.
  - HLE: Improved compatibility of post-init PORTB state.
  - POKEY: Rewrote resampling filter to better block high frequencies.
  - POKEY: Fixed 17-bit noise register polynomial and shift direction.
  - POKEY: Initialization mode (SKCTL[1:0] == 0) now resets the low-speed clocks and polynomial shift registers.
  - POKEY: Asynchronous serial receive mode no longer suspends channels 3 and 4.
Version 1.2 [July 5, 2009]:
  [features added]
  - Debugger: Added memory pane.
  - Debugger: Shift+F11 is now a shortcut for Step Out.
  - Debugger: History window now supports the mouse wheel.
  - GTIA: Added artifacting support.
  - UI: Cursor auto-hides when over display pane.
  - UI: Added window pane layout saving.
  - UI: Basic support for an Atari ST mouse in port 2.
  - UI: Added more keyboard mappings.
  - Simulator: Added initial save state support.
  - Simulator: Added option to pause when not the active application.
  - CPU: Initial 65C02 and 65C816 support.
  [bugs fixed]
  - Simulator: Fixed RUNAD handling in executable loader.
  - Simulator: Fixed incorrect TRIG3 cartridge sense on launch.
  - UI: Tweaked aspect ratio constants.
  - UI: Fixed some bugs with pane undocking.
  - ANTIC: Added missing address wrapping (fixes hang loading Bounty Bob).
  - ANTIC: Fixed VSCROL timing to acccommodate more mode line extension tricks.
  - ANTIC: Fixed low bits in NMIST register.
  - POKEY: Tweaked hi-pass to sound better.
  - POKEY: Implemented fast pot scan mode.
  - POKEY: Two-tone serial mode now affects timer 1/2 sound output.
  - Debugger: Breakpoints can now be seen on the active line.
  - Debugger: Fixed early stop when trying to Step Out across a PLA or PLP instruction.
  - Debugger: CPU status traces on single-step use the instruction PC rather than the raw PC.
  - HLE: Fixed black status pane in Pole Position due to incorrect attract mode handling.
  - HLE: Fixed startup path problems that prevented SpartaDOS X from starting.
  - HLE: Screen handler now adjusts user memory limit.
  - HLE: Fixed length return value bug in CIO put characters command.
  - HLE: Control codes now work with S:.
  - Disk: Fixed CIO return codes for H: handler.
  - Cartridge: Cart bank is now reset on cold reset.
  - Cartridge: Fixed banking and recognition problems with MaxFlash 1M cartridge format.
  - CPU: Added option to halt on BRK instructions.
  - GTIA: Fixed nasty bug where P/M collisions got messed up whenever the simulator dropped a frame.
  - GTIA: Fixed behavior of sprites when repositioned during active region.
  - GTIA: Implemented text blink and vertical reflect bits.
  - GTIA: Fixed low bit in PAL register in NTSC mode.
Version 1.1 [May 12, 2009]:
  [features added]
  - CPU: Added an option to disable illegal opcode support.
  - Disk: Added .XFD support.
  - Disk: Added rudimentary hard disk (H:) support.
  - UI: Added exception handler to write crash information.
  - UI: F8 now also breaks into the debugger.
  - UI: Fixed some window activation issues in the docking system.
  - UI: Display is now locked to correct aspect ratio.
  - UI: Dockable panes are now based on percentage rather than absolute width.
  - UI: Changed location of Registry key to work around antivirus false positives.
  - Cartridge: Added support for cartridge images that have headers.
  - Cartridge: Added support for MaxFlash 128K and 1M cartridge formats.
  - Debugger: F5/F8/F9/F10/Shift+F10 now work.
  - Debugger: Frames are now double-clickable in the call stack window.
  - Debugger: F10 now works in the console command line.
  - Debugger: Added history window.
  - HLE: Rewrote HLE kernel mode to be based off the LLE kernel for better compatibility.
  [bugs fixed]
  - Simulator: Init and run vectors are now implemented properly -- fixes New Year's Miracle demo.
  - Simulator: $FFFF optional headers in executables no longer produce load errors.
  - Kernel: DRKMSK was not set -- fixes missing status bar in The Last Word.
  - Debugger: The start of instruction PC is now reported instead of the CPU raw internal PC.
  - Debugger: Fixed infinite loop when viewing disassembly beyond $FFFF.
  - Debugger: Disassembly view edit window now works.
  - Debugger: Fixed a cycle being lost by the CPU on each step or breakpoint hit.
  - Debugger: Console window now scrolls to bottom when updating.
  - UI: Implemented some Ctrl+Key combinations.
  - UI: Fixed jittering problems in full-screen mode.
  - UI: Fixed some focus problems when docking and undocking panes.
  - UI: Full-screen mode no longer shows window borders when using GDI or DirectDraw for display.
  - UI: Removed horizontal and vertical blank regions from display window.
  - UI: Caps Lock now works.
  - UI: Mouse pointer is now hidden in full-screen mode.
  - Disk: Improved disk emulation compatibility with SpartaDOS X.
  - Disk: Fixed corruption of first byte on sector writes.
  - Pokey: Added missing channel 2+4 high pass filter.
  - Pokey: Fixed off-by-one in 1.79MHz 16-bit timing that screwed up some demos using 4-bit polynomial beats.
  - Pokey: Pot scanning is now implemented.
  - GTIA: Color mixing with PRIOR D0-D3=0 now works.
  - GTIA: Fixed incorrect luminance for background in 16 color mode.
  - GTIA: Fixed player/playfield priorities in 9 color mode.
  - GTIA: Fifth player now mixes in PF3 color properly in 16 color/luma modes.
  - GTIA: Color registers no longer have four luma bits.
  - GTIA: ANTIC modes other than 2, 3, and F now work with GTIA modes.
  - GTIA: Implemented psuedo-mode-E caused by resetting the GTIA mode mid-scanline.
  - GTIA: Collisions now register in 9 color mode.
  - GTIA: Implemented one color clock shift in 9 color mode.
  - GTIA: Changing HSCROL in the middle of a mode line now works.
  - ANTIC: Corrected WSYNC, DLI, and VBI timing.
  - CPU: Fixed instruction timing for read-modify-write opcodes using abs,X addressing.
Version 1.0:
  - Initial release.