!

[ATARI] Altirra x86 i x64 4.20 test VI 05/03/2023

[1] # AtariAge Altirra 4.20 | !!! Niedziela, 5 Marca 2023 19:54 CET [18-02-2023 23:34 CET]

[ATARI] Altirra x86 i x64 4.20 test VI 05/03/2023

Nowe wersja testowa Altirry emulatora ATARI XE/XL/5200/2600. Wstępna emulacja egzotycznych mutacji 8bitowej serii  mikrokomputerów ATARI 1400XL/1450XLD (syntezator mowy i wbudowany modem).

Ostatnia pełna wersja tego emulatora, autorstwa Avery 'Phaeron' Lee,  jaka publicznie została udostępniona to Alirra 4.10 z 1 stycznia 2023 r.

 

Altirra 4.20 Beta VI (6) 05/03/2023

changes

  • nw

features added

  • Additions: Added PHLOAD.COM to trigger peripheral handler loads via type 4 polling.
  • Debugger: bta (set tracepoint on access) can now supply a default trace message.
  • Input: Pad input area can now be moved and resized via Configure HUD.
  • System: Added 1400XL and 1450XLD emulation support (currently only minimal V:/T: support).

 

bugs fixed

  • AltirraOS: Fixed incorrect MEMLO adjustment when loading peripheral handlers through CIO via type 4 poll.
  • CPU: 65C816 PLB and PLD instructions were not setting NZ flags.
  • CPU: 65C816 PHP instruction could write bits 4/5 as zero after re-entering emulation mode from native mode with MX bits cleared.
  • Debugger: Fixed Step Over command not working above bank 0.
  • Devices: Fixed some stack wrapping bugs with Veronica's 65C816 CPU.
  • Disk: Fixed XF551 full drive emulation sometimes not handling write protect state properly.
  • Disk: Reinterleave command wasn't marking the disk as modified.

 

author's comment:

  • Initial 1400XL/1450XLD emulation.
  • Pad input area for tablet/powerpad can now be moved and resized in Configure HUD.
  • 65C816 fixes for PLB/PLD flag handling, PHP bits 4/5 after returning to emulation mode, incorrect stepping outside of bank 0, and some stack wrapping bugs specific to the Veronica '816.
  • Fixed XF551 write protect handling and improved FDC read/write timing.
  • The Reinterleave option in the Disk Drive dialog now marks the disk as modified.
  • AltirraOS updated to 3.35 with a bug fix for incorrect MEMLO handling when loading CIO handlers via type 4 polls.
  • Added PHLOAD.COM to Additions disk to trigger type 4 polling and peripheral handler loads.
  • Debugger: 'bta' command can now be used without a trace string; a default one is provided.

First thing to say about 1400XL/1450XLD: voice and telecomm does not work currently. The handlers will initialize, but V: does not actually play any voice and T: cannot actually dial out. I tried hooking up V: to the system speech API, but that is not amenable to just-in-time phoneme delivery. T: requires more research into the 1400XL's audio circuits as there are some unusual control bits that affect the audio routing. There is one new handler ROM for the V: and T: devices that are automatically added in 1400XL mode.

The 1400XL OS is not needed to use the 1400XL/1450XLD. The 1400XL is essentially just an 800XL with memory mapped at $D600-D7FF and two built-in PBI devices (V:/T:), and the regular XL/XE OS is perfectly capable of driving all of the new devices; despite some of the 1400XL OS revisions having reference to separate internal device PBI registers, the known handler ROMs are designed to work with standard $D1FF access. The 1400XL OS is rather underwhelming. The initial version has almost no real differences from the XL/XE version 2 OS that it is chronologically closest to, but is incompatible with a lot of software because of small changes that shift almost all of the routines in the $Cxxx region by 2-6 bytes, and an SIO change that also shifts some of the routines in the main EF region. The silliest changes are due to the OS having been reassembled by a newer assembler that fixed some instructions being unnecessarily assembled with absolute addressing mode instead of zero page when accessing page zero locations, e.g. STA CRITIC changing from 8D 42 00 -> 85 42. Reverting back to the rev. 2 OS for the remaining products was very much the right move.

The parallel disk controller is more interesting. In order to use it, you need to manually add the 1450XLD controller device, of which there are three versions: standard 1450XLD with real handler but simulated controller, 1450XLD with real handler and real controller (full emulation), and 1450XLD "TONG" with real handler and real controller (full emulation). The PBI handler ROMs are cross-compatible but the TONG and non-TONG controller ROMs are not, the TONG firmware will not work on the non-TONG hardware or vice-versa. Furthermore, the TONG controller firmware that was posted on the Atari History Museum site is NOT compatible with the TONG schematic that was posted with it; I had to reverse engineer the changes to the circuits from the 8048 disassembly. When the 1450XLD device is active, the parallel disk controller will take over D1:. It also tries to shift the SIO drives, which will not currently work as in the emulator they will fight over the D1: disk interface.

The design of the parallel disk controller is odd. It is essentially the SIO protocol redirected over a PBI interface, with regular command frames and data frames. This includes a bit of silliness like the SIO checksums still being computed and sent. The daughterboard version of the disk controller is quite underwhelming -- despite having a double-density controller and 256 bytes of RAM, it only implements single and enhanced density and the basic 1050 command set. The data transfer protocol is slow for a parallel interface due to handshaking, but it's still a bit faster than SIO divisor 0. The sad part is that despite the disk controller being fast enough to read at least 5:1 high-speed interleaved disks, it doesn't support formatting with a high-speed skew. Since the controller also doesn't have enough memory to do track buffering, this means that in most cases it is no faster than a 1050. Also strange is that despite the 1050 being well-established when this was made, the density reporting is incompatible, with medium density being reported in bit 5 instead of bit 7. The PBI handler ROM is pretty buggy, with the earliest Revision E handler [CRC32 E8F9C8A7] being the one that boots most reliably with the commonly available 1450XLD controller. It will actually boot many copy protected disks, but compatibility is hindered by the handler not returning sector data on a read error. Holding the SELECT button on start tells the handler to slow down disk reads to closer to 810/1050 timing, if you happen to have a faster interleaved disk.

The "TONG" controller is more evolved. Despite the TONG schematic showing a compatible circuit to the daughterboard, the controller ROM that's been published for it does not work on it -- it requires different chip select bits for the FDC and RAM. The controller firmware is quite a bit improved, with support for double-sided double density, 1050-compatible density reporting, fixed density detection, sector number validation, faster format, faster transfers, and more reliable ATTN/BUSY protocol handling. Of the three handler ROMs that work with it, the "U6" ROM [CRC32 29359910] appears to be the latest. However, I haven't been able to get the controller to boot double density. There is, unfortunately, a major bug in the TONG controller that wasn't in the earlier version: it always returns the current type I FDC status from the Get Status command instead of the FDC status from the last read, which alone breaks the majority of protected disks. It also still doesn't support a high-speed skew format, which is a shame given a disk interface that could out-do any SIO high-speed disk drive.

The 1450XLD controller shares similarities with the XF551, which is also 8048 based. It actually has a faster CPU (10MHz vs. 8.3MHz) and more RAM (256b internal + 256b external vs. just 256b internal), and runs at 288 RPM instead of 300 RPM. However, the XF551 was definitely more polished, supporting the PERCOM block commands, being more compatible, and being much more tightly coded. The two also have incompatible DSDD formats. Both write to side 2 with reversed tracks, but the XF551 also reverses the sector order.

 

Altirra 4.20 Beta V (5) 22/02/2023

Starblade (1987, Activision)

changes

  • nw

features added

  • Debugger: Added explicit option in the disassembly window for whether the current D register state affects symbol lookup for direct page addressing modes.
  • Display: Added support for main display pan and zoom.
  • Input: Added support for Chalk Board PowerPad controller.
  • Input: Mouse wheel can now be bound as an input.
  • Input: Added an option to show pointer location when driving a tablet, pad, or light pen/gun with a non-mouse input.

bugs fixed

  • Debugger: Symbol lookup is now suppressed for (dp), (dp,X), and (dp),Y addressing modes with D != 0 like with other direct page addressing modes.

author's comment:

  • Debugger: (dp), (dp,X), and (dp),Y addressing modes now also suppress symbol lookup for non-zero D register, and there is now an option in the Disassembly window to control this behavior.
  • Horizontal and vertical mouse scrolling can now be bound in input maps. In particular, this allows two-finger panning on Precision Touchpads for uses like paddles.
  • Corrected the input map generator not binding mouse inputs for some light pen/gun types.
  • Added an option to draw touch points for pad/gun controls. In particular, this allows seeing the current touch point when driving such a control with a non-mouse input or when multi-touch input is involved.
  • Added emulation support for the Chalk Board PowerPad controller.

The PowerPad controller is an interesting controller. It is natively a multi-touch controller, which poses challenges for emulating it with standard input methods. Micro Illustrator is particularly unusable without it as it requires a minimum of two touches to use, one to set the current position and another to activate. To support this, the emulator supports pre-setting a secondary touch and activating it via a second button. With the default mouse-mapped input map, this is done by setting the contact point and radius with the middle mouse button and then activating it with the right mouse button. With the default gamepad mapping, up to four multitouch points are supported, with those points changed when pressing the appropriate button with left trigger (LT) held. Right trigger (RT) is mapped the same as the primary touch button for convenience.

The timing of PowerPad reads is currently untuned and currently instant, as I have no information as to how long the matrix scans actually take. The delays that appear are in the software, to avoid running afoul of the impedance-related signal limits on the controller port. A quirk of the PowerPad is that reading the pad slows down as the contact areas grow bigger, since it takes longer for the scan to return every individual contact switch to the computer. Every point is currently returned to the computer, as there isn't a mention in the docs of point filtering/coalescing. This means that in Micro Illustrator, drawing will be more responsive as the touch point is shrunk (mouse wheel). The default radius is about a finger width.

There are a few additional changes that I'm considering that haven't made it in yet. One is altering the default pad area to be square and configurable. Currently it is always mapped to the window, which is often non-square -- thus the contact oval that you will see right now until the window is adjusted. Combined with the previous changes to allow the display to be arbitrarily positioned, this would allow for more natural arrangement of the pad area vs. the display. The other change is support for actual multi-touch input for those with touch screens. Altirra currently has multi-touch support, but it isn't plumbed all the way through to be usable for PowerPad emulation yet.

 

 

Altirra 4.20 Beta IV (4) 19/02/2023

changes

  • nw

features added

  • nw

bugs fixed

  • Debugger: PEI (dp) instruction no longer shows indirect data in disassembly.

author's comment:

  • Another attempt to fix the downmix setting. It now also disables in mono.
  • PEI (dp) no longer shows deref value.

Altirra 4.20 Beta III (3) 19/02/2023

changes

  • nw

features added

  • Display: Added support for main display pan and zoom.

bugs fixed

  • Audio: Fix downmix setting not saving.

author's comment:

  • Display pan/zoom capability added.
  • Fixed some bugs in the D3D11 display path with GPUs that require power of two sized textures.
  • Fixed stereo-as-mono setting not saving.

Display pan/zoom lets you pan and zoom the display to any desired placement. It's independent of the existing sizing settings, but lets you manually offset the screen or zoom in very close on a selected part. It can be accessed either from View > View Frame > Pan/Zoom Tool, or by Alt+MMB drag for pan and Alt+Wheel for zoom. The direct controls are on Alt to prevent accidental zoom, especially with a trackpad.

 

Altirra 4.20 Beta II (2) 5/02/2023

changes

  • Command Line: Switches are no longer allowed at the end of arguments, e.g. disk.atr/f or /f/nosi. Switches must now be separate arguments.

features added

  • Save States: R-Time 8, XEP80, Black Box, MIO, Ultimate1MB, SIDE/2/3, and MyIDE[-II] are now included in save states.
  • VFS: Added support for reading from .zip files that use Enhanced Deflate compression.
  • VFS: Add special:// protocol to access specific images.

bugs fixed

  • Devices: Fixed sporadic initial interrupt state issue with MIO.

author's comment:

  • VBXE blit logging uses beam tagged logging again.
  • Command line parsing changed for better consistency: switches now must be separate arguments and are no longer allowed combined with other switches or arguments, e.g. "test.atr/s/f" must now be "test.atr /s /f".
  • Added special:// protocol to access some internal images, including special://basic.car to bind to current default BASIC cartridge.
  • Added support for enhanced Deflate (a.k.a. Deflate64(tm)) in .zip files.
  • The currently selected output is saved in save states when multiple outputs are active (i.e. XEP80).
  • Added MIO save state support.
  • Fixed an MIO issue with initial interrupt state that could cause a hang at boot.

Altirra 4.20 Beta I (1) 29/01/2023

changes

  • nw

features added

  • Cartridge: Added Williams 16K cartridge type.
  • Cassette: Load Data as Audio option now supports raw FSK and PWM data blocks in .cas files.
  • Debugger: Symbols escaped with '#' prefix can now include @ in their name.
  • Debugger: .vbxe_traceblits command now has a compact mode.
  • Debugger: .vbxe_bl command now has a compact mode and can dump a blit list at an arbitrary address.
  • Save States: Devices can now opt-in to save state support.
  • Save States: R-Time 8, XEP80, Black Box, Ultimate1MB, SIDE/2/3, and MyIDE[-II] are now included in save states.
  • Save States: CPU mode, 65C816 high memory, and Axlon memory are now included in save states.
  • UI: Added /registeruserfileassocs, /registersysfileassocs, and /unregisterfileassocs for silent registration/unregistration of file type associations.

bugs fixed

  • Cartridge: Phoenix and Blizzard cartridge types now also react to CCTL reads as well as writes.
  • Debugger: Zero page symbols were not being loaded from CC65 symbols.
  • Devices: R-Time 8 is now reset on a cold reset.
  • Devices: SIDE 2 now returns floating bus data instead of $FF when reading from deselected CF card.
  • Input: Fixed paddles not responding when driven in absolute mode from a digital input (regression since 4.10).
  • Save States: Fixed POKEY having keys stuck down after loading a save state.
  • Save States: Fixed last 64K of extended memory not being saved properly in 128K and 320K memory modes.

author's comment:

  • Save state rework:
    • Added Covox, R-Time 8, U1MB, VBXE, and XEP80 save state support.
    • Added partial SIDE 1/2, SIDE 3, MyIDE, and BlackBox save state support. Save states will not work if saved during a disk transfer; there is now a warning if a save state is attempted during one.
    • Axlon and 65C816 high (linear) memory are now saved.
    • Fixed a bug with SKSTAT not being saved properly, which caused stuck keys.
    • Fixed some extended memory not saving properly in 128K and 320K modes.
    • Fixed DP register not being saved in 65C816 mode.
    • Added thumbnails to save state files. They are not used in the emulator yet, however.
  • Updated file association registration:
    • The placeholder app registration created by Explorer is removed on registration to get rid of the duplicate app entry.
    • Fixed an issue where the Windows shell might not be updated immediately after changing file type registrations.
    • There are now command-line switches to have the emulator register or unregister file types in silent mode.
    • Added a dialog explaining how to navigate the brain-dead Windows 10/11 Default Apps settings UI.
  • Debugger: It is now possible to escape a symbol name that starts with @, e.g. #@current.
  • Debugger: VBXE blit logging/dumping now has a compact display mode, and the .vbxe_bl command can now dump a blit list at any local address.
  • Debugger: Zero page addresses are now loaded from CC65 debug info.
  • Cassette: Added data-as-audio playback support for raw FSK and PWM blocks in .cas files. There are some harmonics from turbo tapes when doing this due to jitter from the 10KHz resolution in raw .cas blocks which appears hard to filter out; Altirra's internal tape precision is 31KHz but a pulse adjustment pass would be needed to take advantage of that.
  • Input: Fixed POT lines being grounded improperly when binding a digital (binary) input to the analog paddle knob.
  • Cartridge: Fixed the Phoenix and Blizzard cartridge types to also disable the cart on CCTL reads.
  • Cartridge: Added support for the Williams 16K cartridge type.

 

NOWSZY [ATARI] Altirra x86 i x64 4.20 test XXX 14/12/2023
Time Wizard (2023, Amarok). Zwycięzca tegorocznej edycji Abbuc Contest - całkiem zasłużony zwycięzca:)

Altirra 4.20 Beta XXIX (29) 14/12/2023

changes:

  • nw

features added:

  • nw

bugs fixes:

  • Cartridge: SIC! 128K and 256K images now retain their original type rather than being converted to 512K on load.
  • Command line: Address specified in /soundboard switch was always overridden to default.
  • Debugger: Debug display wasn't decoding IR mode 8 properly.
  • Debugger: Improved visibility of keywords in source views in dark theme.
  • Devices: Fixed 8048 ADDC,@Rn and MOVP3 A,@A instructions and TF emulation.

author's comment:

  • Fixed MOVP3 A,@A instruction in XF551 full emulation (fixes HyperXF menu).
  • Fixed a compatibility issue in zip decompressor and improved decompression speed.
  • Optimized speed and memory usage of trace analyzer load/save.
  • Trace recorder no longer records disk sector-under-head information for hard disk like images which only have one track, which looked silly.
  • Adjusted color of keywords in source views as they were hard to see in dark theme.
  • Fixed debug display incorrectly rendering Graphics 3 (IR mode 8).
  • Added separate internal cartridge types for SIC! 128K and 256K cartridge sizes, and added separate flash ROM types to match.
  • Fixed bug in the keyframe flags emitted by the video recorder when writing an uncompressed AVI file.
  • Fixed an ARM64-specific bug in the video recorder (source only for now, since I don't usually include ARM64 test releases).
  • Fixed /soundboard command line switch not correctly applying the specified address.

 

NOWSZY [ATARI] Altirra x86 i x64 4.20 test XXIX 6/11/2023

Altirra 4.20 Beta XXIX (29) 9/10/2023

changes

  • nw

features added:

  • Devices: Added SIO serial adapter device to bridge serial devices directly to the emulated SIO bus without requiring motor control activation.

bugs fixes:

  • Custom Devices: Programmatic memory layer changes no longer bypass auto-PBI.
  • Devices: Fixed broken ATI0/1 commands for SX212.

author's comment:

  • R-Verter now adjusts to PAL system timing and has more accurate timing with irregular bytes.
  • Network serial device no longer passes writes from the computer to the network connection on a baud rate mismatch.
  • Network serial device now keeps bytes queued prior to a graceful shutdown as long as a new connection doesn't arrive.
  • Added an SIO adapter variant of R-Verter without control line support, allowing simple TCP bridging of SIO devices (i.e. EPG satellite adapter).
  • Fixed broken SX212 ATI command.
  • Fixed modem ATS? command returning 00 for invalid register.
  • Fixed a regression with handling grounded POT lines that broke 1200XL startup.
  • Fixed bug with custom devices where programmatic mode changes to a memory layer ignored auto-PBI gating.

 

 

 

 

Altirra 4.20 Beta XXVIII (28) 9/10/2023

changes:

  • nw

features added:

  • Debugger: u (unassemble) now has -m option to change CPU mode used for disassembly.

bugs fixes:

  • Cassette: SIO data in line is now released when motor stops.
  • AltirraOS: SIOV now resets BRKKEY when returning Break key pressed condition.

author's comment:

  • AltirraOS 3.41: SIO now resets BRKKEY (fixes Arsantica 3 demo).
  • 1400XL: Improved address decoding accuracy (A5-A7 now don't care).
  • Debugger: 'u' command now takes CPU mode override, .dumpdsm supports separators for 8048, and 65C02 disassembler now reports NOP for all unsupported opcodes.
  • Cassette: SIO Data In line is now released when motor stops or at end of tape.

 

 

 

 

Altirra 4.20 Beta XXVII (26) 15/09/2023

changes:

features added:

  • Devices: Added 835, full 835, and full 1030 hardware emulation.

bugs fixes:

  • AltirraOS: FASC no longer clears first byte of FR0.

author's comment:

  • AltirraOS 3.40: Fix for FASC overwriting FR0.
  • Added 835 HLE emulation.
  • 1030 HLE emulation now supports analog loopback, more accurate behavior of dialing and the P command, and when SIO commands can be issued.
  • 1030 full emulation timing improved by removing a one byte transmission delay. 
  • Additions/built-in T: now tracks on/off hook state, handles carrier detect timeout, waits for ACK after commands, and has better touch dial timing.

Altirra 4.20 Beta XXVI (26) 09/09/2023

changes:

  • nw

features added:

  • Devices: Added full 835 and 1030 hardware emulation.
  • PerfAnalyzer: Added approximated import for Atari800WinPLus 4.0 monitor execution traces (TRON/TROFF).

bugs fixes:

  • nw

author's comment:

  • Added screen reader support for reading out foreground/background colors (Windows+F or NVDA+F).
  • Added 835 modem full emulation.
  • Performance Analyzer can now load monitor execution traces from Atari800WinPLus 4.0 (TRON/TROFF).

This is a bit of a grab bag, so going down the list in more detail:
 
The UIAutomation code now supports text formatting attributes, so it can report foreground/background colors. Interestingly, NVDA seems somewhat better at naming colors than Windows Narrator, as Narrator will report "teal" and "maroon" for colors that NVDA reports more accurately as "blue" and "red".
 
The 835 modem emulation is based on the 1030 emulation, with adjustments for the 835 hardware. It requires the 835 firmware as there is currently no high-level emulation; the 835 hardware and firmware are so close to the 1030 that this was a relatively quick adjustment. Unlike the 1030, the 835 has no boot support and no tone dialing support, but interestingly it does support playing phone audio, which the 1030 doesn't. So the 835 shipped with phone audio but no tone dialing, the 1030 shipped with tone dialing and autobooting but no phone audio, and then finally the XM301 had both phone audio and tone dialing but no autobooting. As far as I can tell the 835 doesn't seem to have shipped with a T: handler at all, so pretty much the only thing that officially could drive it was TeleLink II.
 
The Performance Analyzer can now import a monitor trace generated by Atari800WinPLus 4.0's TRON/TROFF commands, which is essentially a big text file with one line per instruction. This requires some hokey tricks to re-assemble the instructions back to opcodes and guessing at a bunch of missing information, but it's enough to get some usable traces. For instance, the importer reconstructs an approximation of SIO traffic based on POKEY register accesses, so here's a trace of the SuperDOS 5.1 issue in Atari800WinPLus, where SuperDOS tries to do a high-speed Status command and A8WP responds with Error instead of NAK:

The Performance Analyzer can now import a monitor trace generated by Atari800WinPLus 4.0's TRON/TROFF commands

 


The importer does have to fill in quite a bit of missing information. There is no indirect effective address (EA) information, no halted/unhalted cycle accounting, and it has to guess when interrupts occur and what type. The serial traffic timing is approximated since the trace only shows when the CPU read SERIN or wrote SEROUT, and not when the shifters actually ran. The instruction trace can also have the wrong opcodes for some undocumented instructions, since the importer actually has to run an assembler to recover the opcodes. But it actually works better than I thought it would.
 
Note that Altirra's binary trace format is more compact than this text format. The raw TRON trace above, which is just under 4 seconds, generated a 116MB raw text file. It compresses to 5.9MB with .zip and 1.1MB with .7z, but is 349K when resaved to .attrace format. Text trace with instruction logging is of course easy to implement, but it doesn't scale too well to four minute long traces.
 
As for why the importer only supports output from the older Atari800WinPLus 4.0, it's just because newer versions of Atari800 don't seem to have the monitor trace functionality compiled into the official Windows releases -- they're built with the TRACE command disabled.

 

 

 

 

NOWSZY [ATARI] Altirra x86 i x64 4.20 test XXV 05/09/2023

Altirra 4.20 Beta XXV (25) 05/09/2023

changes:

  • nw

 

features added:

  • Debugger: Source windows now have context menu options to reopen the file externally.
  • Devices: 1030 relay sound is now heard when phone is placed on-hook.
  • Devices: Added full 1030 hardware emulation.

bugs fixes:

  • Debugger: Fixed panes that displayed the context menu at the wrong place when activated from the keyboard.

author's comment:

  • Fixed debugger crash when opening source windows after having closed one, and tweaked the lookup algorithm.
  • Fixed debugger windows that did not implement context menus properly when activated from the keyboard.
  • Added context menu options to the source window to open the file in Explorer or the default editor.
  • 1030 relay sound is now played instead of generic sound when going on-hook.
  • 1030 full emulator now supports analog loopback.

 

 

 

Altirra 4.20 Beta XXIV (24) 04/09/2023

changes:

  • nw

features added:

  • Debugger: The debugger now additionally tries to resolve source file references against the module binary path and the paths of any open source windows.
  • Debugger: Added full 1030 hardware emulation.

bugs fixes:

  • Devices: Fixed 8048 ADDC,@Rn instruction and TF emulation.

author's comment:

  • Add full 1030 modem emulation.
  • Fixed 8048 ADDC A,@Rn and JTF instructions.
  • Fixed a bug with some 1030 device options being sticky, particularly the answer setting.
  • Improved debugger source file resolution -- the debugger now attempts to resolve source file references against the module path and the paths of any open source windows.

Probably not surprising after I posted the dumps for the 1030 chips -- I had propped the firmware on a munged version of the XF551 emulation to confirm some things, and it wasn't too hard to get the full modem working from there. A couple of things are currently missing: analog loopback, and the relay sound. The 1030 has an audible 'twing' from a small relay when it puts the phone on-hook, which is most noticeable when pulse dialing and more characteristic than the default short thud that Altirra plays.

 

Altirra 4.20 Beta XXIII (23) 28/08/2023

changes:

  • nw

features added:

  • Command Line: Added /[no]casautobasicboot, /kernelref, /basicref, and /diskemu switches.

bugs fixes:

  • Disk: Sectors are now ignored on mixed-density disks when not using the current density.

author's comment:

  • Fixed standard emulator not filtering on FM/MFM tracks; fixes booting disks that deliberately use this to cause missing sector errors.
  • Improved behavior of manual FM/MFM mode switching via the format command.
  • Added /diskemu switch to set disk emulation mode.

Altirra 4.20 Beta XXII (22) 28/08/2023

changes:

  • nw

features added:

  • Disk: Improved timing compensation when burst I/O mode is enabled.
  • PerfAnalyzer: Added trace channel for disk sectors passing under the drive head.

bugs fixes:

  • Disk: Fixed rotational position being updated while motor is off.
  • Disk: Fixed 810 post-read delay being used for 1050 emulation in single density.
  • Disk: Improved timing precision for full disk drive emulators.

author's comment:

  • Fixed bug with the standard disk emulator using 810 post-read timings for single density even with the 1050 profiles. This fixes a couple of disks that were very sensitive to read timings and previously only booted with the 1050 full emulator.
  • Slightly improved timing accuracy of the full drive emulators.
  • Added sector-under-head tracing.
  • Fixed a bug where acceleration timing compensation was not working properly for disk burst I/O. This allows some disks to boot with burst I/O enabled that would previously fail timing checks.
  • Fixed a bug in the standard disk emulator where the disk rotational position was being updated for motor-off time.

 

Altirra 4.20 Beta XXI (21) 20/08/2023

changes:

  • nw

features added:

  • Devices: Added shortcut command to rescan a virtual FAT16/FAT32 disk.

bugs fixes:

  • Disk: Fixed 810, 1050, and XF551 based full drive emulators not consistently acting on write protect status.
  • Disk: Improved accuracy when reading and writing sectors with missing data fields.
  • Display: Removed horizontal offset in PAL high artifacting.
  • MMU: Extended RAM priority is now adjusted when U1MB is enabled to emulate difference in VBXE MEMAC behavior.

author's comment:

  • Fixed 810, 1050, and XF551 full drive emulators forcing write protect off on reset.
  • Standardized disk emulation behavior for sectors that have the RNF bit set for missing data fields. These are now uniformly treated as missing sectors that go the full 2/5 rotations for reads and are ignored for writes (since the FDC rewrites the entire data field in that case).
  • Fixed writes to sectors that have missing data fields. This now forces reallocation of the data field if necessary, where previously it would sometimes drop the data if no space was allocated in the original disk image.
  • Fixed handling of address CRC errors for writes in the standard disk emulator and for reads/writes in the full drive emulators.
  • The Check for Updates dialog now allows switching between the release and test channels, which previously were hardcoded based on the type of release.
  • Added emulation of U1MB CASINH behavior so that U1MB extended memory windows override VBXE MEMAC windows.
  • Added extended device command to refresh the directory listing of a virtual FAT16/FAT32 device.
  • Fixed horizontal offset in PAL high artifacting.

Altirra 4.20 Beta XX (20) 3/08/2023

Electrician (1984, Synapse Software)

changes:

  • nw

features added:

  • nw

bugs fixes:

  • nw

author's comment:

Something a little different -- this build adds some basic accessibility support:

  • The Display panel now supports reading out text for screen readers, such as Windows Narrator. This reads out the text using a similar mechanism to Copy Text, except that it will also identify and bracket inverse text. This works at the emulated hardware level where the cursor is not visible, so currently screen readers can't tell where the cursor is and scanning the text is necessary. Support for this needs to be enabled in Configure System > Accessibility currently, as the UIAutomation API is pretty fragile and for some reason the On Screen Keyboard likes to activate it too. XEP80 displays are not yet supported.
  • Restructured windows a bit to fix a focus issue that would trap the focus when trying to navigate between panes with Narrator+Left/Right, and added Previous/Next Pane commands to explicitly cycle between the panes.
  • Fixed a bug with hidden minimize/maximize controls being present on docked window frames, which showed up in Narrator navigation.
  • Added some invisible window captions so that splitters can be distinguished from panes.
  • Ctrl+C now works to copy out the contents from Altirra's fancy message boxes.

 

Altirra 4.20 Beta XIX (19) 22/07/2023

Encounter (1983, Synapse Software)

changes:

  • nw

features added:

  • Cassette: BASIC auto-boot can now handle BASIC program tapes that require RUN "C" instead of CLOAD.

bugs fixes:

  • Cassette: BASIC auto-boot detection now handles BASIC programs saved with the rev. B BASIC bug.
  • Disk: Add workaround for ATX disk images that have extra zero padding words at the end.
  • PerfAnalyzer: Fixed crash in tape code after stopping trace with a tape mounted.
  • VBXE: Fix false P/M priorities on right half of screen in core 1.26 in lines that have no P/M graphics.

author's comment:

  • Fixes the tape auto-BASIC boot: fixed detection to allow for BASIC programs that have the rev. B padding bug, and added support for booting tapes that require RUN "C" to boot.
  • ATX disk image loader now allows null dwords at the end of the file.
  • Fixed VBXE P/M priority bugs on right side when emulating 1.26 core, due to not clearing the full priority buffer on lines with no P/M graphics.
  • Fixed a crash in the tape code after recording a performance analyzer trace with a tape mounted.
  • Fixed performance analyzer reporting an error when saving a trace if the history window had been moved to view a later part of the trace.
  • Revised trace save format: removed unnecessary complicated multi-stripe system, optimized codec/decoder, and compacted cycle counters. This is a hard format break.

The story behind the RUN "C" change: there are some BASIC tape loaders that are protected with a zero-length immediate line. This caused a lock-up when the emulator tried to boot the tape with CLOAD followed by RUN, because the RUN statement would lock up the interpreter. Problem is, RUN "C" doesn't work on other tapes because it uses long IRGs instead of short IRGs, and there's no CRUN command. So what Altirra does now is that it uploads a small patch to temporarily shim the C‍: device so that RUN "C" uses short IRGs and both kinds of tapes work.

 

NOWSZY [ATARI] Altirra x86 i x64 4.20 test XVIII 10/07/2023

Altirra 4.20 Beta XVIII (18) 10/07/2023

changes:

  • nw

features added:

  • PerfAnalyzer: Added support for saving and loading traces.

bugs fixes:

  • nw

author's comment:

  • Added support for saving and loading traces in the Performance Analyzer.
  • Added menu commands for selecting all text on screen and deselecting.

The PerfAnalyzer .attrace format contains most of the same data as the in-memory trace, but with better compression and a more version-independent format. CPU instructions, hardware channels, and video frames are saved; tape trace channels are not currently supported. The existing in-memory CPU trace format compresses the raw history from 28 bytes/instruction down to ~8.5 bytes/instruction, while the serialized format uses a combination of Deflate and more aggressive encoding and blocking to get this down as low as ~1.2 bytes/instruction. The result is that a 2min. PAL trace takes about 70MB on disk, and a full 12min. trace of the Numen demo is ~600MB. The encoding/decoding process is fairly involved and the trace needs a bunch of memory to unpack, so the 64-bit version is highly recommended if trying out this feature as you may run out of memory with the 32-bit version.

The .attrace format itself is not yet documented, though I plan to once it's more finalized and the reader is more flexible. The top-level container is a .zip file, though the majority of the data is binary encoded. The CPU trace format is designed with a flexible predictor system, so it's possible to encode traces without the full set of predictors that Altirra uses -- which means mostly just dumping register state per instruction into a fixed-size record stream.

 

Altirra 4.20 Beta XVII (17) 5/07/2023

Gunfight (1983, Epyx)

changes:

  • nw

features added:

  • Command Line: Added /[no]casautobasicboot, /kernelref, and /basicref switches.
  • Debugger: Added a menu command to export the debugger help from the .help command in HTML form.
  • Debugger: @hwwritereg(addr) can be used to read back write-only system hardware registers.

bugs fixes:

  • Cassette: Fixed FLAC decoder crashing on some files on some CPUs.
  • POKEY: Fixed stop bits not playing properly out audio channels 1/2 in two-tone mode.
  • UI: Fixed Input Setup controller diagrams displaying blank in some configurations.

author's comment:

  • Fixed a crash in the FLAC decoder on some CPUs.
  • Fixed audio output with two-tone mode enabled not reflecting stop bits.
  • Fixed a bug with MDDOS cartridge banking.
  • Added command-line switches: /[no]casautobasicboot, /kernelref, and /basicref.
  • Fixed input diagrams sometimes appearing blank in Input Setup dialog.
  • Added Help > Export Debug Help command.
  • Added @hwwritereg(...) debugger function to read back write-only hardware registers. For instance, @hwwritereg(irqen) can be used to read back the IRQEN state.
  • Fixed up some omissions from the debugger help, such as the linear cart: address space type.

The exported debug help produces an HTML page (debughelp-4.20-test17-t2e.pl.html) that is inspired by some ones that others have generated; it works by dumping the dbghelp.txt into an HTML template and parsing with JavaScript. I wanted to just drop in the dbghelp.txt file raw, but needed to escape characters since HTML doesn't support CDATA. You can, however, easily substitute in an escaped version of dbghelp.txt from any other version. An example is attached.

 

Altirra 4.20 Beta XVI (16) 1/07/2023

Hans Kloss (1992, L.K.Avalon)

changes:

  • nw

features added:

  • Cartridge: Changed existing JRC cart type to JRC6 64K without RAM and added JRC RAMBOX cartridge type.
  • Debugger: Added c (compare memory) command.

bugs fixes:

  • AltirraOS: S: now properly overrides the no-clear flag for GR.0.
  • Devices: Added missing emulation of IDE+2 CF detect in $D1FA bit 6.
  • Devices: Fixed virtual FAT32 device limiting included files to FAT16 cluster limit.
  • Display: Fixed inverted field polarity detection in interlace mode (since 3.90) and improved auto-flip behavior.

author's comment:

  • Revised recently added MDDOS and JRC cartridge types, and added reset button to JRC carts.
  • Fixed all cartridges having a cartridge switch instead of just the COS32K type.
  • Fixed inverted field polarity detection in interlace mode and improved auto-flipping behavior when no explicit interlacing is detected.
  • AltirraOS 3.39: Fixed S: to ignore the no-clear bit in mode 0.
  • Fixed virtual FAT32 device limiting the image to 64K clusters, which only applies to FAT16.
  • Added compare memory (c) command to debugger.

 

Altirra 4.20 Beta XV (15) 20/06/2023

The Gladiator (1985, Richwood Software)

changes:

  • nw

features added:

  • Network: Emulation gateway now supports ICMP echo requests (only to the gateway; not forwarded).
  • Network: Emulation gateway now has a more distinctive Ethernet address to avoid conflicts when bridging through a VXLAN tunnel.

bugs fixes:

  • AltirraOS: Fixed K: not applying inverse video to vertical bar ($7C) character.
  • AltirraOS: Fixed timing issue in SETVBV
  • CPU: Improved accuracy of NMI timing when NMIs occur across a write to WSYNC.
  • Debugger: Fixed a crash when clearing breakpoints from debugger symbol based assert/trace directives.
  • Network: Emulation dhcpd no longer reports a gateway to DHCP clients if routing is disabled (NAT off).
  • Network: Fixed VXLAN tunnel code sending two extraneous bytes with each Ethernet frame.
  • VBXE: Fixed incorrect blitter cycle speed for $00 bytes transformed by AND/XOR mask.
  • VBXE: Blitter collision detection now returns the first hit instead of the last hit.
  • VBXE: Fixed pixel shadows when using HR blit mode (mode 6).

author's comment:

  • Added build workaround for modules/PCH bug in VS2022 16.6/7preview.
  • Added a configvar for the directory length limit in virtual SDFS disks, which is no longer hardcoded at 256 entries.
  • Emulation network DHCP server no longer advertises a gateway if the networking mode is set to Host Only.
  • Emulation network gateway now responds to ICMP pings.
  • Emulation network gateway now has a different local MAC address to reduce the chances of conflicts when bridging to a LAN.
  • Fixed VXLAN code sending two extra bytes in Ethernet frames.
  • Fixed problem with emulation network HTTP server not shutting down connections properly.
  • Emulation network tracing now decodes IPv6 frames.
  • Improved emulation TCP stack handling of RST packets.
  • AltirraOS 3.38: Fixed vertical bar not being invertible, Ctrl+3 can now be remapped through XL/XE KEYDEF, caught the 65C816 version up on Display Handler fixes, and fixed SETVBV timing issue.
  • Accuracy fix for CPU execution timing around writes to WSYNC that cross an NMI, specifically whether the next instruction is executed or not prior to the NMI sequence starting.
  • Fixed crash in debugger when clearing directive breakpoints loaded from symbols.
  • VBXE: Fixed blitter handling of mode 6 (HR stencil); collision detection now returns the first collision instead of the last; fixed a bug where cycle timing was based on the raw source value instead of the post-AND/XOR value.

 

NOWSZY [ATARI] Altirra x86 i x64 4.20 test XIV 03/06/2023

Altirra 4.20 Beta XIV (14) 03/06/2023

changes:

  •  nw

features added:

  • Debugger: Ctrl+F in the history view moves focus to search box.
  • Network: Raised max MSS in emulation TCP stack from 512 to 1460.

bugs fixes:

  • AltirraOS: Shift+Help and Ctrl+Help are now reported properly in HELPFG.
  • AltirraOS: KEYREP and KRPDEL are now supported properly on the 65C816 build.
  • AltirraOS: Improved compatibility of NOCLIK handling.
  • Devices: Added missing emulation of CF detect in $D1FA bit 6.
  • Network: Fixed emulation TCP stack not sending final FIN packet to emunet after graceful shutdown from remote host.
  • PerfAnalyzer: Fixed keyboard shortcuts not working in the perf analyzer's history view.
  • PerfAnalyzer: Snapshot frame timing at end of session so VBI/DLIs don't get confused when emulation is restarted after the trace ends.

author's comment:

  • AltirraOS 3.37: Improved NOCLIK compatibility, fixed Ctrl/Shift flags in HELPFG, and fixed KEYREP/KEYDEL not being implemented in '816 version.
  • Fixed IDE+2 1.9 BIOS not detecting CF card.
  • Fixed keyboard shortcuts not working in history window in the performance analyzer.
  • Ctrl+F in history view selects search field.
  • Fixed emulated TCP not properly handling graceful shutdowns from the remote side.

Altirra 4.20 Beta XIII (13) 28/05/2023

Flight Simulator 2 (1987,SubLOGIC)

changes:

  •  nw

features added:

  • Cartridge: CAR types 76, 78-93, and 160 are now supported without advanced configuration overrides.
  • Debugger: Memory window now accepts arbitrary address expressions.
  • Devices: Added copy/paste support to devices UI.

bugs fixes:

  • AltirraOS: Force C=1 on exit from CIO for compatibility (undocumented behavior).
  • Devices: H: no longer returns Y=$03 for imminent EOF when reading directories.
  • Disk: Improved Happy 1050 memory map to closer match hardware, including contended regions.
  • HLE: Set Y and C=1 in program loader to emulate CIO results when invoking init/run address.
  • POKEY: Improved accuracy of truncated/restarted POTGO scans.
  • UI: Ensure that undocked tool windows are on-screen when restoring window layout.
  • UI: Added workaround for Windows 10/11 touch keyboard sending the wrong extended key state for movement keys.

author's comment:

  • AltirraOS: Updated to 3.36 with compatibility fix: CIO now returns C=1 for programs that assume the C flag state on run.Custom devices: Fixed broken R-Verter sample custom device.
  • Cartridge: Added support for CAR types 76, 78-93, and 160, which were already supported but no longer require advanced config overrides. (Credit to Jindroush for driving the cross-emulator coordination work.)
  • Custom devices: Custom device system retargeted onto new socket framework.
  • Devices: Fixed devices dialog sometimes not updating in real-time for device status changes.
  • Devices: Added support for copy/paste of devices as text.
  • Debugger: Memory window now accepts general address expressions.
  • Disk: Improved accuracy of Happy 1050 hardware memory map.
  • Host device: Directory reads no longer return EOF Y=$03 code.
  • POKEY: Added emulation of altered results with truncated/restarted pot scans.
  • UI: Undocked windows are now moved on-screen if completely off screen on layout restore.
  • UI: Added workaround for Windows UWP touch keyboard sending the wrong key encodings for special keys.

Altirra 4.20 Beta XII (12) 7/05/2023

changes:

  • nw

features added:

  • Devices: MidiMate now exposes a serial port for custom MIDI interfacing.
  • Devices: File writer device can now also be used with serial ports.
  • Devices: Added networked serial port device.

bugs fixes:

  • nw

author's comment:

  • MidiMate device now exposes a serial port that can be connected to serial devices.
  • Parallel port file writer generalized so it can also attach to and log data from serial ports.
  • Added networked serial port device that connects to a serial port and transfers data over TCP/IP.
  • Added serial port splitter to allow two different serial port devices to independently handle the input and output halves of a serial connection.

If you're suspicious at this point of the specific devices added here, you're correct, this is for MIDImaze:

 

 

A lot of this was work to write a new generalized socket service in the emulator to make it easier to implement network connected devices. Which means that there are now four socket worker classes in the emulator, but the plan is to get that eventually down to one to end the madness.

For two nodes, the MidiMate device needs to have a networked serial port device attached, with one listening on a TCP port while the other connects to it. The connecting side will keep trying to reconnect every few seconds.

image.thumb.png.841260e7647e227faa0d61ce01239899.png

For three or more nodes, the computers need to be linked in a loop from MIDI in to MIDI out line per the MIDImaze directions. This requires using the network splitter so the input and output directions use separate TCP connections. Input doesn't need to be listen and output doesn't need to be connect, but each connection between nodes needs connect on one side and listen on the other.

image.thumb.png.86c5b5a0ea254aec38a5b2f076649e51.png

A limitation of the current setup is that anything that pauses the emulator will cause the game to drop, because the emulation being paused will prevent MIDImaze from communicating and the game times out after a fraction of a second.

As for MIDImaze's multiplayer protocol itself, it appears to be lockstep with transferring input, so its data transfer requirements are minimal (as would be needed at 300 baud).

Altirra 4.20 Beta XI (11) 29/04/2023

changes

  • nw

features added

  • Cartridge: Added linear ordered version of JRC 64K cartridge type.
  • Cartridge: Added MDDOS cartridge type.
  • Cartridge: Added COS 32K cartridge type.
  • Cartridge: Added Pronto cartridge type.
  • Devices: Added SIDE 3.1 (JED 1.4) support.
  • Devices: Added CPS SuperSALT Test Assembly support.

bugs fixed

  • Devices: Fixed "use long path names" setting not saving properly on the H: device.
  • Devices: MIDI output device from MidiMate is now reset on cold reset.

author's comment:

  • Fixed the "use long path names" setting not saving on the H: device.
  • Added devices: SIDE 3.1, SuperSALT test assembly.
  • Added cartridge types: JRC 64K with non-interleaved (linear) layout, MDDOS, COS 32K, and Pronto.
  • Fixed a couple of recently introduced crashes related to device changes.
  • Fixed an issue with MidiMate's clock being too fast when used for synchronous receive.
  • MidiMate MIDI output is now reset on cold reset.
  • Improved .pia command output in the debugger, fixed duplicate 'wx' help entry, and fixed silly "Play" for Record in the perf analyzer.

There is a known issue where attempting to run CPS SuperSALT with the test assembly in 800 mode will result in one test failure on POKEY from the I/O test. This is due to some weird behavior in the test that I can't figure out. The issue is that the test assembly hardwires controller ports 1 and 3 together and one of the joystick lines to joystick 1 trigger input, and it sets PORTB to output mode pulling all lines up while checking the joystick trigger, which is pulled up when it expects it to be low. This gets flagged as paddle A input stuck at +5V since the test assembly also hardwires paddle A input to the same joystick line, but the code in question is special-cased to test only trigger 0 and flag just that one paddle line. The other strange thing is that this part of the test code also leaves the SIO command line floating as an input when it is normally used as an output to enable the ADC output on the joystick lines, but that should be getting pulled up on the computer side.

 

 

 

 

Altirra 4.20 Beta X (10) 17/04/2023

changes

  • Input: Removed the extraneous hidden Button 1 input on light pen/gun controllers.

features added

  • Input: Added support for Stack Lightpen controller.

bugs fixed

  • Disk: Fixed crash when attempting to convert a disk using an unknown or unsupported filesystem.
  • UI: Fix crash when using Calibrate Screen command without any hardware graphics acceleration.

author's comment:

  • Fixed crash when converting disk with unknown or unsupported filesystem.
  • Fixed crash when opening Calibrate screen with hardware acceleration disabled or unavailable.
  • Added support for the Stack Lightpen.
  • Input mapping dialog is now resizable.

 

Altirra 4.20 Beta IX (9) 11/04/2023

Frantic (Computronic, 1986)

changes

  • nw

features added

  • Devices: 1030 now does actual pulse/tone dialing.

bugs fixed

  • Debugger: Fixed .diskdumpsec command not working on virtual disks.
  • Input: Fix light pen not working in port 4.

author's comment:

  • Added cartridge auto-detection for Blizzard 32K type.
  • Fixed light pens/guns not working in port 4.
  • Fixed pulse dialing detection of 0 and increased interdigit pulse dialing time.
  • 1030: Implemented actual dial detection, fixed bogus echoing, and fixed on/off hook status flag in handler mode.
  • Debugger: Fixed .diskdumpsec command not working with virtual disks.
  • Fixed 1400XL internal device not saving settings.

 

Altirra 4.20 Beta VIII (8) 27/03/2023

changes

  • nw

features added

  • nw

bugs fixed

  • nw

author's comment:

  • 1400XL internal device is now visible and configurable for modem settings.
  • Added pulse and tone dialing detection so the emulator can now tell when a number is being dialed. This is only implemented for the 1400XL right now, but will be extended to the 1030.
  • 1400XL internal audio control is now implemented.
  • Fixed BRL instruction using the wrong bank for symbol lookup.

The 1400XL and 1030 do tone dialing by coupling the Atari's audio output to the phone line and then play the DTMF tones with 4-bit volume only audio through POKEY. It's not the highest quality, but it is good enough. The tricky part is that this meant that the emulator couldn't tell if or what was being tone dialed without doing DTMF detection on the audio, Altirra now has both pulse and tone dialing detectors and can actually tell what number is being dialed, although that information isn't used yet -- it still just "dials" the dial proxy address.

The DTMF detector was a bit involved, it required downsampling to 8KHz and running a filter bank to compare the power in the DTMF tones versus the rest of the signal. The compiler did a bit of a crappy job in code generation for the filter, but it's still <1% CPU.

 

Altirra 4.20 Beta VII (7) 12/03/2023

changes

  • nw

features added

  • Debugger: Math pack symbols can now be unloaded independently.
  • Debugger: Added static trace PBI (stp) command to auto-trace parallel bus interface firmware.

bugs fixed

  • Debugger: Disassembler now does basic block detection in 8048 mode.

author's comment:

  • Math pack symbols can be unloaded separately in the debugger to avoid conflicting with PBI firmware.
  • Added static trace PBI (stp) command.
  • Fixed basic block detection when disassembling 8048 code.
  • Fixed a bug with bogus $01 banks showing up in 8048 mode.
  • Fixed data bank showing up with PEI (dp) indirection preview.
  • Added option to reinterleave floppy disks at 2:1.
  • Added firmware detection for the two known versions of the 1400XL V:/T: firmware.
  • Added support for drive/side selection on 1450XLD drive, and workaround for boot sector encoding issue.

Revision F or newer 1450XLD handler firmware is now required for the TONG controller, as the rev. E handler will get stuck on the non-installed D2-D4:.

With this update, the two-sided mode of the original controller will now work, as documented in the Intro to DOS 3 manual -- D1: and D2: will now refer to the first and second sides. The TONG controller does not implement this, as instead it supports DSDD operation. However, the DSDD layout is not compatible with the XF551 on side 2, as it allocates tracks forward with sectors backward, instead of both tracks and sectors backward.

The TONG controller will now also boot double density, but there is a significant odd incompatibility that the emulator papers over. For some reason, it stores the boot sectors in the last half of the sector instead of the first half. The result is that if you try to boot a disk that has been formatted with another double-density drive like the US Doubler, the TONG controller won't be able to boot it properly. The emulator remaps the boot sectors on a decoded format like ATR to the layout that the 1450XLD expects so double density can actually be used, but it can still fail if you use a format like ATX that can actually store the full physical boot sectors.

I did some tests with the 1450XLD controller and different interleaves, and it is indeed fast -- in single density, it can keep up with a 2:1 interleave. Double density is a bit slower and needs more like a 3:1 or 4:1, but is still faster than many SIO-based disk drives even with high-speed operation and track buffering. It's doubtful that it could have kept up with a 1:1 interleave even with rewritten controller firmware, though -- the timing for this would have been too tight without track buffering due to the separate read/transfer stages.

As for the V:/T: handler firmware versions, they are virtually the same, with CRC32 5EC3EC7D being the slightly newer firmware. The T: handler has a fix for an IRQ reentrancy issue in the interrupt handler, while the V: handler has a fix for an additional character encoding (not sure about the details yet).

wstecz05/03/2023 19:54
Inne treści związane z tematem
[ATARI] Altirra x86 i x64 4.21 [ATARI] Altirra x86 i x64 4.21
Nowa wersja ALTIRRA - emulatora ośmiobitowych konstrukcji firmy ATARI - znowu z zaskoczenia;). Wersja tym razem bardziej fix, niż addon... ale dobre i to - tym razem nie musieliśmy czekać 1,5 roku;)
[Atari] AtariOnLine: Zbigniew Kasprzycki - współtwórca Polskiego Logo [Atari] AtariOnLine: Zbigniew Kasprzycki - współtwórca Polskiego Logo
W końcu udało się odnaleźć na dyskach materiał filmowy nagrany w 2011 roku, zmontować go i niniejszym zaprezentować. 13 lat temu Tomasz "TDC" Cieślewicz przeprowadził interesującą rozmowę z panem Zbigniewem Kasprzyckim, na temat informatyki lat 80. i 90. Pan Kasprzycki to między innymi autor: interpretera języka Logo dla komputerów ...
[Atari] AtariOnLine: "Zoltar Cosmic Pirates" w sieci [Atari] AtariOnLine: "Zoltar Cosmic Pirates" w sieci
Yerzmyey napisał:"Właściwie to swoje pierwsze Atari kupiłem od razu do pracy, co ciekawe, a wcale nie do gier i dem (z którymi zapoznałem się dopiero wiele lat później, za sprawą Pana Pinokia i jego STE). Mój pierwszy komputer 16-bitowy to jednak była Amiga 500. Używana właśnie do gier i dem. Zakupiona w 1994 roku. Jakoś ...
[VCS] Gopher 0.29.1 13/03/2024
Stella ma całkiem rozwiniętego konkurenta, który jak większość multiplatformowych aplikacji potrafi doprowadzić mnie do szewskiej pasji kiedy chce załadować gry z innej partycji;) Po za tym, to całkiem przyjemny emulator ATARI 2600 posiadający dość dobry filtr "psujący" obraz i parę dodatkowych ustawień pozwalających na dopicowanie naszego wirtualnego VCS. W ...
[ATARI] ASAP 6.0.3 10/03/2024 [ATARI] ASAP 6.0.3 10/03/2024
Piotr Fusik opublikował kolejną wersję swojego playera muzyczek z ośmiobitowych maszynek  ATARI - ASAP, który oprócz dystrybucji na okienka (32 i 64 bitowe), posiada także porty dla innych systemów opearcyjnych  - wszystkie można znaleźć je tutaj. Po muzykę - naprawdę spore archiwum - warto udać się na stronę projektu ASMA (Atari SAP Music Archive), ...
Do ściągnięcia
Dodatkowe informacje
Komentarze
... bez komentarza
Ostatnio dodane pliki
Newsy Linkownia Emulatory na PC Wideoteka Screenshoty Bajtek Reduks Ready.Run

© Try2emu 1999 - 2024 | Krzysztof 'Faust' Karkosza Kontakt Polityka Prywatności OWU