Nowa wersja emulatora Altirra, emulatora Atari XE, XL, a także konsoli ATARI 5200. Oczywiście polujących na pełne wersje emulatora zapewne zdziwi obszerność changelogu, dla śledzących wersje testowe to oczywista oczywistość.
Altirra Version 4.00: [November 13, 2021]
changes
- Display: Dropped support for DirectDraw and OpenGL.
- Input: Relative mouse binding and 5200 trak-ball speeds have been adjusted for better uniformity. Existing input maps may need to have their speeds adjusted.
- Platform: Dropped support for Windows XP/Vista; Windows 7 or higher is now required.
- UI: Keyboard shortcuts have been reset to default to fix a bug with them being stored in the wrong place and to only store changes from default shortcuts.
- UI: Default shortcuts for toggling audio channels have been changed from Ctrl+Alt+[1-4] to Alt+Shift+[1-4] to fix a conflict with some AltGr+key bindings in the Spanish keyboard layout.
features added
- Additions: Replaced ALTXEP8F.SYS fast XEP80 driver with ultra-speed ALTXEP8U.SYS driver with symmetric 31Kbaud communication.
- Additions: Added ALTXEP8P.SYS and ALTXEPUP.SYS variants with auto-switching to PAL (50Hz) on initialization.
- Additions: Added XEPVHOLD.COM utility to improve XEP80 video timing compatibility with modern displays.
- Cassette: Added support for KSO Turbo 2000.
- Cassette: Added new level-based turbo decoding filter.
- Cassette: Added FLAC decoding support.
- Cassette: Added feature to hold data line across VBI to increase reliability of OS C: reads.
- Custom Devices: Scripting support added for break, while, do/while, and forward declarations.
- Custom Devices: Added support for creating alternate video outputs and PBI IRQs.
- Debugger: On-screen watches can now update continuously as well as per-frame.
- Debugger: Watch expression (wx) now has options for hex formatting.
- Debugger: Extended cartridge bank debugging support to MaxFlash 1Mbit and SDX 64K/128K cartridge types.
- Debugger: Memory window now supports scrolling, variable width, and graphics decoding.
- Debugger: Improved speed of console output window.
- Debugger: Added .fpaccel command to selectively toggle math pack acceleration routines.
- Debugger: Effective addresses are now shown in history in 65C816 mode.
- Debugger: Added .pagesums command.
- Debugger: lft -u option enables logging with microsecond timestamps, and -r enables raw timestamps.
- Debugger: "Auto-reload ROMs on cold reset" setting is now saved.
- Debugger: Go frame (gf) command now has a quiet (-q) option.
- Debugger: 65C816 M/X mode handling can now be configured in the disassembly window.
- Debugger: .diskdumpsec now has invert (-i) option.
- Debugger: Added debug link support to receive SDX symbol information from ATDEBUGX.SYS driver.
- Debugger: Added 'dbx' command to evaluate an expression over a range.
- Debugger: Added verifier options for detecting stack wrapping and stack in page zero.
- Devices: Added Percom AT88-SPD emulation.
- Devices: Percom AT-88 emulation now allows 1791/1795 FDC selection.
- Devices: Added SIDE 3 emulation.
- Devices: Added virtual hard disk device that translates a read-only host directory to a FAT16, FAT32, or SDFS partition image.
- Devices: Added temporary write filter hard disk device.
- Devices: Added preview SoundBoard 2.0 emulation.
- Devices: Added 1090 80 Column Video Card and Bit 3 Full-View 80 emulation.
- Devices: Added parallel port buses to all devices that support printer output and file writer device to sink printer output to a file.
- Disk: Disk rotational positions are now randomized on periperal reset.
- Disk: ATR loader now matches 77-track disk geometries for 8" disks.
- Disk: Added support for Happy 810 Autospeed mod.
- Disk: Percom RFD-40S1 double-clock mode is now implemented.
- Disk: Added option in Disk Drives dialog to show location of mounted disk images in File Explorer.
- Disk: Added full emulation for the Atari 815 disk drive (read only).
- Disk: Added support for reading from and writing to Indus GT CP/M 2.2 filesystems.
- Disk Explorer: Added options to import/export files with text (line ending) translation.
- Display: New Palette Solver in Adjust Colors dialog to derive color parameters from a palette file or photograph of a palette image.
- Display: Added white monochrome mode.
- Display: Added option to constrain mouse pointer to active display in full-screen mode.
- Display: Added high dynamic range (HDR) display support (requires Windows 10 / DXGI 1.6).
- Firmware: Warn if ROM image being added is blank.
- Firmware: Added autodetection of 1200XL rev. 11 OS and 1050 rev. H.
- HDevice: Lifted 16MB file size limit for untranslated access (H1-H4:).
- IDE: VHD differencing mode images can now be mounted.
- Input: Added support for XInput 1.4.
- Input: Added an option to use the Raw Input API (Configure System > Input).
- Input: Added an option for immediate potentiometer updates to reduce paddle and 5200 controller latency.
- Input: Mouse, trackball, and 5200 controllers now accept mouse delta bindings to Left/Right/Up/Down, and paddle controllers accept digital bindings to Left/Right.
- Input: Added preset template generator for input maps to make it easier to set up less common controller setups.
- Input: Ctrl/Shift are now optionally blocked from virtual key mappings when used by input maps with the 'share' option off. (They are still processed for character mappings due to OS limitations.)
- PerfAnalyzer: Added trace channel for SIO command state.
- Platform: Added option to poll virtual disk and H:/PCLink sources for systems that have broken file change notifications.
- POKEY: Improved audio filters for better performance and aliasing rejection.
- Simulator: Added centralized randomization control under boot options.
- Simulator: Throttling code updated with waitable timers for better efficiency.
- UI: Dark mode improved with reskinned buttons.
- UI: Added option to auto-hide menu in windowed mode.
- UI: Added advanced configuration dialog to expose hidden, unsupported parameters.
- UI: Performance analyzer now supports dark mode.
- UI: Added /reset to load last profile without the device tree.
- UI: Right-clicking on a menu item now provides a direct path to open Keyboard Shortcuts to bind a key to that menu item.
- UI: Added /tapepos to pre-seek tape to specified position.
- XEP80: Improved accuracy of XEP80 bit and byte timing based on measurements on real hardware.
- XEP80: Added NS405 FIFO timing emulation.
bugs fixed
- 5200: Rewrote noise implementation again to work around games with buggy joystick position filters (Galaxian) and to avoid drift for relative bindings.
- Additions: BOOT850 no longer leaves CRITIC set on failure.
- ANTIC: Fixed unstable horizontal scrolling in IR mode 3.
- ANTIC: JVB instructions now have the correct replayed height when ending a vertical scroll region.
- Audio: Changes to the default audio device are now tracked in WASAPI mode.
- Audio: Improved aliasing rejection of output audio filter.
- Cartridge: Fixed MegaCart 512K (3) banking disable behavior to only use bit 7.
- Cassette: Fixed regression with proceed/interrupt turbo modes not working.
- Cassette: Turbo decoding/filtering settings now apply to the "Analyze tape decoding" command.
- Cassette: Motor and play/record/pause state is no longer reset when switching tapes.
- Custom Devices: Fixed script compiler allowing async methods to be called from handler contexts that don't support async operations.
- Debugger: The Find Source File dialog now strips subdirectories when populating the file filter.
- Debugger: Fixed heat map not reflecting reads from some read-modify ALU instructions (e.g. ADC zp,X).
- Debugger: Improved performance of tracepoints that check return values by suppressing UI updates on the hidden breakpoint.
- Debugger: .disktrack command now works with geometries other than 18 sectors/track.
- Debugger: .diskreadsec now always uses the virtual sector length for consistency with .diskwritesec.
- Debugger: Fixed disassembler prescanner using the wrong instruction length for COP n instructions.
- Debugger: Removed JSR (abs,X) and added RTL and BRL to list of opcodes that trigger a procedure separator.
- Debugger: Fixed crash in 65C816 mode with access breakpoints with the same page address but different bank address.
- Debugger: Step Over at disassembly level now handles JSR (abs,X), JSL, and MVN/MVP opcodes.
- Debugger: Added .vbxe_pal command.
- Debugger: Fixed disassembly window repeatedly trying to scroll near the top of address space.
- Devices: Fixed a case where Rapidus could fail to cleanly switch from the 65C816 to the 6502.
- Devices: Fixed bug where debug reads from SIDE/SIDE2 flash windows could trigger side effects during sector erase operations.
- Devices: Rapidus fast RAM windows no longer have priority over ROM.
- Devices: Fixed Rapidus main RAM speed override sometimes being reverted; main RAM is now always at slow speed and extended RAM is also slow speed.
- Devices: Fixed R-Time 8 state being changed by debug reads in the debugger.
- Disk: Fixed name mangling on virtual SDFS disks for files and directories with names starting with periods.
- Disk: Fixed corrupted double-density ATRs being written in some cases from full disk drive emulators.
- Disk: Fixed bug with final write from full drive emulators not always triggering auto-flush.
- Disk: Fixed corruption of first byte sent by 810/1050 full drive emulators.
- Disk: Recalibrated ACK-to-Complete delays for the standard disk emulator for Status and Read PERCOM Block commands based on firmware timings.
- Disk: Virtual SDFS volumes now use creation timestamps for directories.
- Disk: Added workaround for 1050 Turbo firmware not detecting density if the drive is powered up with a disk already inserted.
- Disk: Fixed hang when loading ATX images with extra data pointing to out-of-range sectors.
- Disk: Fixed XF551 formatting side 2 of disks with incorrect interleave.
- Disk: Motor off timer adjusted for 1050 timing and to not count down during disk operations.
- Disk: Accurate sector timing mode now waits for the full length of long sectors in 1050-based emulation modes.
- Disk: Fixed broken audio output from Indus GT disk drives.
- Disk: Generic disk emulation profile supports XF551 acceleration again.
- Disk: Fixed several broken/missing instructions in Z80 emulation.
- Display: Fixed chroma signal having reversed phase in NTSC high artifacting mode, causing chroma artifacts in mono mode to move in the wrong direction.
- Display: D3D9 driver now allocates swap chain immediately to force a fallback with useless D3D drivers that report PS3.0 but only have 1MB of VRAM.
- Display: Fixed intensity scale color setting not affecting saturation in NTSC high artifacting mode.
- Display: Fixed issues in the high artifacting chroma filters causing some excessive banding.
- HDevice: Fixed burst writes not returning error status correctly.
- HLE: CRITIC is no longer zeroed from PBI-based SIO acceleration to fix key repeat issues with some versions of SpartaDOS X.
- IDE: Fixed Rev. S not supporting some Rev. D registers and being detected as Rev. C.
- Input: Fixed arrow keys getting stuck down in emulation when pressing Alt+arrow and then releasing Alt first, with arrow keys bound to a controller.
- Input: Quick maps are now always cycled in sorted name order.
- Input: Fixed controller triggers getting stuck down in some cases when detaching light gun controllers.
- Input: Fixed flipped horizontal relative movements for tablets.
- Input: Trigger targets are now collapsed properly so that multiple mappings to the same target cooperate, e.g. Left -> Numpad7, Up -> Numpad7, Up -> Numpad8, with both keys being pressed and released in any order.
- Input: Direct keyboard layout had incorrect mappings for Ctrl/Shift+Space.
- PCLink: Fixed reversed directory sort order.
- PCLink: Now uses last write timestamp for files instead of creation timestamp.
- PerfAnalyzer: Fixed painting bug with ANTIC DL event channel at some zoom levels and scroll positions.
- PerfAnalyzer: Fixed timing error for bytes sent to the computer from a full disk drive emulator, which were shown starting at their actual end times.
- POKEY: Channel mixing updated to use more representative per-channel non-linear steps.
- POKEY: Fixed channels occasionally having their timing disrupted when toggling timer IRQs.
- POKEY: Fixed extra audio pulse when timer 1/2 underflow coincides with two-tone timer reset.
- POKEY: Fixed keys not being re-reported in raw non-full scan mode when enabling debounce with keyboard scan already enabled.
- UI: Fixed mouse wheel scrolling when the system wheel scroll setting is set to pages instead of lines.
- UI: Profile editor no longer allows parenting a profile to itself or its children.
- UI: Settings load/save code now detects profile loops due to the profile editor bug and forces a reparent to the global profile so settings saving still works.
- UI: ARM64 emulation dialog no longer allows saving "OK" response.
- UI: Added 5 second timeout when notifying an existing instance in single instance mode to prevent processes piling up if the instance is hung.
- UI: Full-screen file browser scrolls back to top when changing folders.
- VBXE: Improved GTIA state syncing when toggling VBXE on the fly.
- XEP80: Scrolling now always removes one physical line, not a logical line as E: does.
- XEP80: Fixed an occasional issue with indeterminate state after cold reset.
- XEP80: Printing a char at the right margin now only inserts a line when EOL is overwritten.
- XEP80: Delete line can now slice a multi-line logical line like the real XEP80 does.
- XEP80: Fill EOL ($1C6) command was using the wrong fill byte.
→ NOWSZY [ATARI] Altirra x86 i x64 4.01 Final 2/02/2022
Altirra Version 4.01: [February] 2, 2022
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.
→ [ATARI] Altirra x86 i x64 3.90 Final
Altirra Version 3.90: [July 12, 2018]
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.
→ [ATARI] Altirra 2.60 Final
Altirra v2.60 [21.03.2015]
changes
- Devices: PCLink, DragonCart, XEP-80, SlightSID, Covox, R-Time 8, 850, 1030, P:, and H: have been moved to the Devices tree.
features added
- ATBasic: Improved execution speed.
- ATBasic: Added partial support for CONT statement.
- ATBasic: Added support for DPOKE, BPUT, BGET, ERASE, PROTECT, UNPROTECT, DIR, RENAME, MOVE, HEX$(), DPEEK(), !, %
- AltirraOS: Optimized FPI routine.
- AltirraOS: Improved rounding of FDIV results.
- BlackBox: Initial emulation support.
- Debugger: Changed .writemem to use length syntax.
- Debugger: .basic_dumpline updated with shortcuts for STMCUR/STMTAB and continuous output.
- Debugger: Added .basic_rebuiltvnt command.
- Debugger: Added support for one-shot, grouped, and clear-on-reset breakpoints.
- Debugger: Added support for return tracepoints (bt --).
- Debugger: Added .sprintf command and @ts tokens.
- Debugger: Added @t0-t9 (temporary) and @ra (return address) variables.
- Debugger: Added option to randomize application memory after EXE load (direct EXE load only).
- Debugger: Added .diskreadsec and .diskwritesec commands.
- Debugger: Added dbi (dump bytes with INTERNAL text) command.
- Devices: Added support for SIO-based real-time clock devices.
- Devices: Added SIO type 3/4 polling test devices.
- Devices: Added SX212 modem emulation.
- Devices: Added MidiMate emulation.
- Disk: Added support for creating and exploring DOS 3 disk images.
- Disk: Added generic emulation mode with 57,600 baud high speed support.
- Disk: ATX, PRO, DCM, and XFD disk images can now be written.
- Disk: Detach Disk commands now turn off disk drives.
- Disk: Added rotate disk commands.
- Disk Explorer: Added read/write support for MyDOS and DOS 2.5 disks.
- Disk Explorer: Added create directory (new folder) option for MyDOS and SDFS disks.
- Display: Sharp bilinear now works on pixel shader 1.x devices.
- Display: Vertical overscan can be overridden separately from horizontal.
- HDevice: Added option to use lowercase filenames.
- HDevice: H: can now be hot-started or stopped without a reboot.
- HDevice: H: can now also be installed as D:.
- IDE: CF hot swapping is now supported.
- Input: Added support for quick-cycling between a set of input maps.
- MMU: Axlon banking register aliasing is now optional.
- Printer: Added SIO-level 820 emulation.
- Serial: Modem now supports RTS/CTS flow control (&K3).
- Serial: Added software T: handler and support for 1030 handler bootstrap.
- Simulation: Added support for mixed NTSC/PAL ANTIC+GTIA combinations (PAL-60 and NTSC-50).
- Simulation: Added support for more realistic power-on memory patterns.
- Software: Added Additions disk containing supplementary utilities.
- UI: Added new firmware management dialog and support for multiple custom OS and BASIC ROMs.
- UI: Added /[no]cheats switch.
- UI: Improved high DPI support.
- UI: Added /portablealt:<file> switch to use alternate INI files.
- UI: Multiple disk images can now be loaded with repeated /disk switches.
- UI: Full screen mode state is now saved on exit.
- UI: Improved full-screen UI.
bugs fixed
- ATBasic: Fixed precedence of unary minus vs. exponentiation.
- ATBasic: Fixed x^y for x<=0.
- ATBasic: Error messages now indicate STOPPED or line numbers as appropriate.
- ATBasic: Fixed not being able to Break out of a single-line loop.
- ATBasic: TRAP line is now reset more appropriately.
- ATBasic: Fixed range reduction in SIN() and COS().
- ATBasic: GRAPHICS no longer reopens E:.
- ATBasic: Fixed CONT sometimes failing in deferred mode.
- ATBasic: Fixed parsing errors on the right side of a string relational expression.
- ATBasic: Banner changed so startup programs that hardcode line 2 work.
- ATBasic: Use of IOCB #0 is no longer allowed.
- ATBasic: Out of memory errors are now detected and thrown.
- ATBasic: PUT now takes an aexpr instead of avar.
- ATBasic: PTABW is now supported.
- AltirraOS: SIO no longer saves STACKP before invoking PBI routines (fixes BlackBox crash).
- AltirraOS: SIO now leaves ICBALZ/ICBAHZ equal to ICBAL/ICBAH for better custom DOS compatibility.
- AltirraOS: Fixed CRITIC being left on after servicing a PBI-based SIO request.
- AltirraOS: Fixed GET BYTE returning bogus characters for PBI-based CIO devices.
- AltirraOS: E: now supports forced read mode.
- AltirraOS: SETVBV now preserves I flag.
- AltirraOS: AUX1/2 are now updated properly on R: XIO commands.
- AltirraOS: Fixed CIO type 4 polling support.
- AltirraOS: Fix timeout for SIO operations.
- AltirraOS: Fix ESC-Clear handling in E:.
- AltirraOS: Cassette boot now reads EOF record.
- AltirraOS: Fixed diagnostic cartridge handling.
- ANTIC: Improved emulation of phantom P/M DMA effects.
- Cassette: Fixed inconsistent motor control state when using C: patch with short IRG mode.
- CPU: Fixed NMI not triggering early enough when occurring during IRQ entry sequence.
- CPU: Fixed spurious IRQs when interrupts are masked for more than 2^32 cycles.
- CPU: Fixed video snow problem when running CPU faster than 1.79MHz.
- Debugger: -$80000000/-1 no longer causes a crash.
- Debugger: .printf %u formatter now works correctly for numbers >=10^10.
- Debugger: Fixed EXP/EXP10 not being logged to FPACCEL channel.
- Debugger: Fixed static trace (st) not stopping properly on BRK/RTS/RTI instructions.
- Debugger: Debug display now reflects CHACTL bits.
- Disk: Rewrote ATX image parser to be more robust.
- Disk: Added workaround for XFD images improperly named .ATR.
- Disk Explorer: Fixed DOS 2 filename encoding for filenames without extensions.
- Disk Explorer: Fixed directory parsing for double-density DOS 2 filesystems.
- Display: Fixed crash on display hardware change when using DirectDraw.
- Display: Added workaround for crash when initializing Direct3D 9 with VirtualBox display driver.
- Display: Improved windowed mode vsync strategy when DWM is active.
- Display: Improved quality of NTSC high artifacting mode.
- GTIA: Fixed DMA reads from hardware registers.
- HDevice: Fixed NOTE command sometimes giving incorrect positions.
- HLE: Hook page for H:, P:, R:, T:, and E: hooks is now better at dodging conflicting hardware windows.
- HLE: Fixed EXP10(-1) returning an error with FP acceleration enabled.
- HLE: Improved register return values for several FP acceleration calls.
- HLE: SIO patch acceleration is skipped if the I flag is set.
- Input: Fixed right mouse button not working on mouse controllers.
- Input: Keyboard and mouse inputs are now auto-released when display window loses focus.
- Input: Moved joystick poll before VBI to reduce input delay.
- Network: Fixed emulated Ethernet packet timing.
- POKEY: Undetectable $C0-C7 and $D0-D7 scan codes are now blocked.
- Serial: 6502-based R: handler now waits for output buffers to drain on a close command.
- Serial: Fixed emulated R: device only draining one byte from transfer buffer per call in unthrottled mode.
- Serial: Many fixes to 1030 T: device command handling.
- UI: Fixed mouse pointer blinking when a video player injects mouse moves to prevent the display from sleeping.
- Ultimate1MB: Fixed SDX control register not gating non-SIDE external cartridges properly.
- XEP80: Move Cursor to Start of Logical Line ($DB) no longer moves cursor to left margin.
- XEP80: Set horizontal/vertical position commands now update the cursor address.
→ [ATARI] Altirra 2.50 Final
Altirra v2.50 [27.07.2014]
features added
- BASIC: Altirra BASIC is now the default when no BASIC ROM is included.
- Cartridge: Added support for another 512K/4MB/8MB flash cartridge.
- Cartridge: Added support for The!Cart and MegaMax 2M cartridge types.
- Cassette: Tape control UI now has a waveform graph.
- Cassette: Added support for FSK blocks in .cas files.
- CPU: Extended 65C816 speed options to include 17MHz (10x) and 21MHz (12x).
- Debugger: Register (r) command can now set the emulation (E) flag.
- Debugger: Improved display of 65C816 register state.
- Debugger: Disassembly window now steps properly above bank $00.
- Debugger: Added search capability to History pane.
- Debugger: Added some 65C02 and 65C816 instructions to assembler.
- Debugger: Added .loadobj command.
- Debugger: Keyboard shortcuts are now configurable.
- Debugger: .basic_dumpline now decodes BASIC XL/XE tokens.
- Debugger: Added x (examine symbols) command.
- Debugger: Added module!symbol syntax for resolving symbols specific to a module.
- Debugger: .sdx_loadsyms command now works on more versions of SpartaDOS X.
- Debugger: .printf now supports string output and variable width/precision.
- Debugger: Failed assertions now report file/line info if available.
- Debugger: Added .basic_dumpstack command to dump BASIC runtime stack.
- Debugger: Added option to hide namespaces for nested symbols in history window.
- Debugger: .dumpsnap command now applies compression.
- Debugger: Added partial CC65 dbgfile support.
- Disk: .ARC files can now be mounted as SpartaDOS X disk images.
- Disk: Added option to format new disks with the SpartaDOS File System (SDFS).
- Disk: Added support for 8KB sectors.
- Disk Explorer: DOS2 filesystem validator no longer checks directory entries after end of directory.
- Display: Fixed update problems when stepping with frame blending active.
- Input: Middle mouse button (MMB) can now be used to release mouse capture if it is not already bound.
- Input: Added XInput support.
- Network: DragonCart emulation support.
- POKEY: Audio output path now emulates analog decay effects.
- Printer: Added Clear option to printer output pane.
- Profiler: Added columns for unhalted cycles.
- Serial: Service field in ATDI command is now optional and defaults to telnet (port 23).
- Serial: Added Telnet terminal type negotiation support.
- Serial: Added Telnet binary transfer support.
- Serial: Added full 850 Interface Module SIO protocol and handler support.
- UI: Added some touch device support.
- UI: Added Attach Disk and Detach Disk menu options.
- UI: Added direct keyboard layout mode.
- Ultimate1MB: Added SST39SF040, Am29F040B, and BM29F040 as alternate flash chip options.
bugs fixed
- 65C816: RTI can no longer clear the X flag in emulation mode.
- Cartridge: Fixed swapped 5200 two-chip and one-chip modes.
- Cartridge: Cold reset now resets flash emulation.
- Cartridge: Fixed some cases where flash writes would stop working with emulated MaxFlash cartridge.
- Cartridge: Fixed incorrect flash device ID for MaxFlash 1MB+MyIDE cartridge.
- CPU: Fixed crashes when disabling heat map tracking.
- CPU: Reverted unintentional change to IRQ timing (affected PM 2.0).
- CPU: Fix hang when saving state with heat map activated.
- Debugger: lm (list modules) and .unloadsym now work by IDs instead of indices to avoid index renumbering problems.
- Debugger: Improved M/X tracking in disassembly window.
- Debugger: Fixed disassembly of absolute long addressing mode.
- Debugger: Memory window now updates properly above bank 0.
- Debugger: Fixed memory access value reporting above bank 0 in step disassembly.
- Debugger: Fixed infinite loop bug in static trace (st) command.
- Debugger: CC65 label parser now strips the first leading period from label names.
- Debugger: Fixed truncated call stack when encountering reused function epilog code paths.
- Disk: Fixed crash when host file is modified on virtual SDFS mounted path and accessed before emulator can notice the change.
- Disk: Fixed a bug that caused some root files on virtual SDFS disks to not hot-update reliably.
- Disk: Writes to virtual disks are now blocked.
- Disk: Fixed density detection issue with Set PERCOM Block command in XF551 mode.
- Disk Explorer: SDFS directory entries are now reused properly.
- Disk Explorer: SDFS sparse files are now supported.
- Disk Explorer: Dragged files are no longer placed in the root when viewing a subdirectory.
- GTIA: Fixed 2cclk transitions from modes 9/10/11 to mode 8.
- HDevice: Files can now be created in append mode.
- HDevice: Improved error handling in delete, rename, lock, and unlock operations.
- HLE: Acceleration hooks no longer fire in 65C816 native mode or with a non-standard emulation mode environment.
- HLE: Program loader now detects and rejects SpartaDOS X executables.
- HLE: Fixed state of carry flag when exiting DSKINV after failure (fixes Micropainter with SIO patch enabled).
- HLE: Fixed EXP(-1) returning an error with FP acceleration enabled.
- HLE: Added alternate hooking mechanism so that CIO device hooks can activate on OSes that don't use the standard CIOINV vector.
- Input: Relative binding to the axis 0/1 inputs of a tablet controller now works.
- Input: Fixed mouse capture malfunctioning when activated by keyboard shortcut when the mouse is outside of the window.
- LLE: Writes to S: in mode 0 now extend logical lines properly.
- LLE: CIO now checks permissions on get/put operations.
- LLE: Improved accuracy of power series for ATN(x).
- PCLink: Fixed race condition in completion of fwrite() command.
- POKEY: Fixed POTn registers changing without POTGO being strobed.
- Printer: High bit is now stripped on printed characters so that inverse characters can be read instead of becoming ?.
- Serial: Fixed escaping of $FF bytes over Telnet protocol.
- Serial: Cold reset now forces modem back to command state.
- Serial: Modem command handling is now case-insensitive.
- Serial: Fixed control line status from status commands issued between OPEN and XIO 40 (was causing ForemXEP drops).
- SIDE2: Fixed SDX banking register address.
- Simulation: Fixed some issues with GTIA and POKEY state desyncing across save states.
- UI: Shift modifier is allowed again for Start/Select/Option.
- VBXE: Extended color bit now enables LSB of GTIA color registers.
- VBXE: Fixed blit mode 4 (bitwise AND) not working properly with src=0.
- VBXE: Fixed blitter collision behavior with dest=0.
→ [ATARI] Altirra 2.40 Final
Altirra v2.40 [01.11.2013]
features added
- 65C816:Optimized mode switches.
- Audio:Added drive sound volume level option.
- Cartridge:Added support for .CAR types 53-59 (2K, 4K, right-as-left 8K, right slot 4K, 128-512K SIC!).
- CPU:Preliminary support for accelerated 65C816 operation.
- Debugger:Added .dmabuf command.
- Debugger:Added %e, %f, and %g formats to .printf command.
- Debugger:Verifier can now detect 64K address space index wrapping and abnormal DMA conditions.
- Debugger:Added fbx (fill bytes with expression) command.
- Debugger:r (register) command now allows access to 65C816 registers.
- Disk:Added "Extract Boot Sectors" command to disk dialog for use with bootable virtual disks.
- LLE:Added PBI device interrupt support.
- MMU:High (65C816) memory can now be adjusted from 0KB-4032KB.
- Profiler:Added 65C816 support.
- Recorder:Added .WAV file audio recording.
- Recorder:Added option for encoding duplicate frames as full frames.
- UI:Added on-screen indicators for console buttons held on startup.
- UI:Added on-screen indication for some view mode changes.
- UI:Added support for per-monitor DPI scaling in Windows 8.1.
- UI:Added custom debug font dialog for half point sizes.
- UI:File > Exit now confirms if there are modified images.
- XEP80:Initial support.
bugs fixed
- 5200:Floating data bus is now enabled in 5200 mode.
- 65C816:Fixed cycle timing for JMP (abs) instruction.
- 65C816:Fixed cycle timing for TXY instruction.
- 65C816:Fixed TYX instruction.
- 65C816:INX was checking M bit instead of X bit.
- 65C816:Read/modify/write instructions now do read/write/write in emulation mode.
- 65C816:Fixed (dp), (dp,X), and (dp,Y) behavior with DP!=0.
- ANTIC:Disabling playfield DMA after playfield start now reads bus data into the line buffer.
- ANTIC:Abnormal playfield DMA is now emulated.
- ANTIC:Improved precision of CHACTL changes.
- Cartridge:Fixed $BFxx reading with 5200 64K cartridge type.
- CPU:Illegal instruction option now saves correctly.
- Debugger:Display float (df) command displays all ten significant digits.
- Debugger:Fixed LLE kernel ROM auto-reload and symbol load option.
- Debugger:UI panels are now more consistent with debugger commands in numeric base handling.
- Debugger:Fixed incorrect disassembly on step when running from high banks.
- GTIA:Fixed bug with VDELAY on missiles.
- GTIA:Fixed regression with hires player-playfield collisions (since 2.30).
- LLE:Fixes and optimizations to math pack.
- LLE:Decimal flag is now cleared before dispatching IRQs.
- LLE:Fixed BRK handler to handle stack wrapping.
- LLE:5200 BIOS now strobes NMIRES for DLIs.
- LLE:Fixed CIOINV timing so that emulated CIO hooks work.
- LLE:Corrected K:debounce logic and E:AUX2 open handling (fixes Action! with LLE firmware).
- HLE:Fixes to math pack acceleration.
- HLE:Added partial fix for CDTMA1 during accelerated disk reads (fixes Ankh with SIO patch enabled).
- IDE:Fixed value of Sector Count register after READ SECTOR and WRITE SECTOR commands.
- MMU:Fixed aliasing of high memory banks.
- POKEY:SKSTAT bit 1 is now emulated.
- Printer:Emulated P:device now supports the PUT CHARS command with len=0.
- Serial:Emulated R:device supports break interrupts.
- UI:Fixed GDI handle leak in text editor.
- UI:Added workaround for set file associations dialog not appearing on Windows 8.
- UI:Fixed ANTIC DMA visualization mode with extended PAL height.
- UI:Fixed PCLink indicator not updating.
- U1MB:Fixed PIA read decoding to only respond to $D300-D37F (unfixes Bounty Bob Strikes Back!).
→ [ATARI] Altirra 2.30 Final
Altirra v2.30 [15.05.2013]
features added
- Cartridge: SIC! cartridges can now be switched between Am29F040B and SST39SF040 flash chip emulation in Options.
- Debugger: History pane supports horizontal scrolling and hiding S/P registers.
- Debugger: Added .readmem command.
- Debugger: .basic_dumpline command now handles DATA statements and decodes variable names.
- Debugger: The ESC key moves from several debugger panes to the Console pane.
- Debugger: Added set tracepoint (bt) command.
- Debugger: Added deref signed dword (dsd) operator.
- Debugger: Added brief (-b) format to .sio command.
- Debugger: .tapedata command now supports seeking options and reports gaps.
- Debugger: Added .reload command.
- Disk: Folders can now be mounted as virtual disk images using the SpartaDOS file system.
- Display: Normal overscan mode now only shows 224 scanlines in NTSC mode instead of 240.
- Display: Altered full screen resolution selection to allow possibly unsupported modes for better access to 50Hz refresh modes.
- IDE: Added SIDE 2 support.
- MMU: Added support for Axlon banked memory.
- Simulation: Split XL/XE hardware into separate XL and XE modes to handle hardware differences.
- UI: Full-screen mode can now be used when paused.
- UI: Added full-screen versions of the Boot Image file browser and emulation error dialog.
- UI: Added initial UI bindings for controllers (under the Console controller).
- UI: Added on-screen keyboard (activated by UI Option from main screen).
- UI: Improved text rendering quality.
- UI: Right-drag drop brings up a context menu with mounting options.
- UI: Panes can now be stacked with tabs.
- VBXE: Updated core support to 1.24, including a/r flag in bit 7 of the MINOR_REVISION register.
bugs fixed
- 65C816: The abs,X, abs,Y, (dp),Y, [dp],Y and (d,S),Y addressing modes can now cross bank boundaries.
- 65C816: An additional instruction is no longer executed after WAI before servicing the interrupt.
- 65C816: JMP (abs) now always reads from bank 0 instead of the data bank.
- 65C816: JMP (abs,X), and JSR (abs,X) now read from the program bank rather than the data bank.
- 65C816: Fixed switch between DL=0 and DL!=0 in emulation mode not taking effect immediately.
- 65C816: Indexed modes now properly take an additional cycle for writes and for 16-bit index registers.
- 65C816: The d,S addressing mode can now index out of page one in emulation mode.
- 65C816: d,S and (d,S),Y now always read from bank 0.
- 65C816: 16-bit stack operations can access page zero and page two in emulation mode.
- 65C816: TCS/TXS can no longer change SH in emulation mode.
- Debugger: .tracecio now reports correct status.
- Debugger: Fixed an issue with stack overflow in History pane on very deep recursion.
- Debugger: Verifier now allows jumps to the CIO device initialization vectors.
- Debugger: Fixed incorrect wrapping of zero page indexed addressing modes in disassembly.
- Debugger: Threaded static trace (st) command.
- Debugger: e (enter) now follows normal expression evaluation rules.
- Debugger: Fixed disassembly of PEA ($F4) opcode.
- Debugger: PHX and PHY no longer create bogus call trees in the History window in 16-bit indexing mode.
- Debugger: Fixed disassembly of opcodes with the (d,S),Y addressing mode.
- Debugger: Corrected off-by-one index handling in .unloadsym command.
- Debugger: Fixed blowup with memory access breakpoints in GTIA range with VBXE enabled.
- Disk: Status byte 1 bit 5 is now updated after a Write PERCOM Block command.
- Display: Fixed a crash when Direct3D 11 is enabled and fails to initialize.
- Display: Fixed alignment errors in OS Screen Only mode with extended PAL height enabled.
- Display: Enabled frame skip and reduced latency in full screen vsync mode.
- GTIA: Player/missile size code %10 can now trigger shifter lockup.
- GTIA: Improved accuracy of mid-shift size changes.
- HLE: Fixed editor tab commands.
- HLE: Fixed bug with init segment dispatching.
- IDE: READ SECTOR and WRITE SECTOR commands now allow up to 256 sector transfers.
- IDE: READ MULTIPLE and WRITE MULTIPLE commands now produce errors when multiple mode is disabled.
- IDE: The block size set by the SET MULTIPLE MODE command is now reflected in IDENTIFY DEVICE output.
- Input: Fixed MultiJoy #8 input conflict.
- LLE: Fixed system reset NMI handling.
- LLE: Implemented PBI handler and CIO support.
- LLE: Keyboard routines now update ATACHR.
- LLE: Fixed editor tab set/clear commands.
- LLE: Added printer (P:) device support.
- LLE: Added light pen/gun support.
- MMU: Fixed crashes accessing high 65C816 memory in the x64 version.
- MMU: VBXE can now properly overlay Covox.
- POKEY: Fixed timers 3+4 occasionally not being shut off when switching to asynchronous receive mode.
- POKEY: Fixed timers 1-3 having the wrong offset when underflowing immediately before a write to STIMER.
- POKEY: Corrected start timing of polynomial counters.
- POKEY: Corrected audio pattern for 9-bit and 17-bit polynomial counters (was incorrectly inverted).
- Recorder: Fixed 8-bit uncompressed output.
- Recorder: Minor fixes to compressor.
- Serial: SIO emulation level setting is now saved correctly.
- VBXE: Writing a '1' to the blitter start bit no longer aborts an active blit.