Altirra 2.50 test 16 [30.12.2013]
- Debugger: .printf now supports string output and variable width/precision.
- CPU: Reverted unintentional change to IRQ timing (affected PM 2.0).
- HLE: Program loader now detects and rejects SpartaDOS X executables.
- LLE: CIO now checks permissions on get/put operations.
- the P-M 2.0 issue was due to an unintentional change in IRQ timing incurred when I added accelerated '816 support. It didn't get caught in autotests because the timing was still within realistic bounds (matches my 130XE at cold temp). Fixed version.
» [ATARI] Altirra 2.50 Test XL
Altirra 2.50 test 40 [21.07.2014]
- Alright, I have everything about set to release 2.50, except for a small problem... namely that the compiler I've been using to build it is running very flakily on this new system. I've been able to generate a build by forcing off precompiled headers, which is a bit wonky. Please give this test build a check and see if you spot anything awry. It's basically the same as 2.50-test39 except for a small fix for slow startup. If all's good after a short check then I can release 2.50 final. To fix this problem, the next version (2.60) will be built with Visual Studio 2010, so I'll be dropping support for Windows 2000 and XP pre-SP2. I doubt anyone actually runs it on these, but if you do, fair warning....
» [ATARI] Altirra 2.50 Test XXXVIII
Altirra 2.50 test 38 [30.04.2014]
- The Atarimax flasher does a read from $D530 to disable the 1MB+myIDE cart before it does the 1MB detection. Cart.txt's a little incomplete here -- should say access, not write.Also, I got the MaxFlash emulation moved over to the common flash module and switched the 1MB+Flash cart over to the M29F010B. The Am29F010 device ID was also wrong, was $21, now $20, and it was allowing too long for multiple sector erase commands (was 80us, now 50us). Still need to switch over the 8MB cart... have one on order, so we'll see if I get a different one. Seems like flash chips commonly get changed on different runs of devices... fine for whole reprogram, bad if you're trying to do sector erase.
» [ATARI] Altirra 2.50 Test XXXVII
Altirra 2.50 test 37 [27.04.2014]
- Cartridge: Fixed incorrect flash device ID for MaxFlash 1MB+MyIDE cartridge..
- Was reporting the wrong flash device ID for the MaxFlash 1MB+MyIDE cart (Am29F040B instead of Am29F010B) – fixed. And yes, the cartridge banking registers start at $D520 for that cartridge type. The cart emulation is split in Altirra – the flash cart portion is set up from the cartridge side, and the IDE emulation from the hard disk side. It's set up this way because I don't have an internal infrastructure that can support combined devices cleanly. Therefore, to get proper emulation, you need to set up both the MF1MB+MyIDE cartridge and the IDE emulation in MyIDE External ($D500) mode. However, the flasher doesn't care about the MyIDE portio
» [ATARI] Altirra 2.50 Test XXXVI
Altirra 2.50 test 36 [20.04.2014]
- UI: Added direct keyboard layout mode.
- Ultimate1MB: Added SST39SF040, Am29F040B, and BM29F040 as alternate flash chip options.
- Cartridge: Fixed some cases where flash writes would stop working with emulated MaxFlash cartridge.
- Found an issue with the MaxFlash code that cause the flash write layer to sometimes drop out when U1MB was enabled... this should be a bit more reliable. Also adds more flash chip options for U1MB (U1MB must be disabled and re-enabled to take effect).
» [ATARI] Altirra 2.50 Test XXXV
Altirra 2.50 test 35 [15.04.2014]
- UI: Shift modifier is allowed again for Start/Select/Option.
» [ATARI] Altirra 2.50 Test XXXIV
Altirra 2.50 test 34 [14.04.2014]
- CIO and math pack fixes to LLE OS so that DOS 3 and BASIC XE work. (The latter is a bit naughty and relies on some math pack routines not modifying $DE-DF).
- ATBasic's line number search routine now optimizes forward searches to start from the current line.
» [ATARI] Altirra 2.50 Test XXXIII
Altirra 2.50 test 33 [1.04.2014]
- Messed up the audio integral tables for the linear case. (I moved the high-pass filter farther up, so it needs identity tables for when this filter is supposed to be disabled.)
» [ATARI] Altirra 2.50 Test XXXII
Altirra 2.50 test 32 [30.03.2014]
- Accidentally disconnected the speaker... fixed:
» [ATARI] Altirra 2.50 Test XXXI
Altirra 2.50 test 31 [29.03.2014]
- Debugger: Added partial CC65 dbgfile support.
- POKEY: Audio output path now emulates analog decay effects.
- 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.
- A couple of major changes in this version. First, I've redone the audio output path to try to improve sound accuracy. There is now a second high-pass filter to better replicate the exponential decay from real hardware and I've adjusted the volume curve based on measurements. The result is that the sound will be a bit clearer at typical volume levels due to less compression, but overall louder due to the stiffer knee on the volume curve. You can adjust the overall sound level in System > Audio > Options. It's still a bit off from the real thing, but I can't emulate that without doing a lot more reverse engineering of exactly why and how POKEY's output is saturating -- the technique I've used here is only an approximation because the effective volume curve varies by frequency.
2.50-test31 is also a little bit faster when no audio is playing due to a problem I found and fixed in the high-pass filter. Stupid denormals.
The second major change is that I've added partial support for CC65 source-level debugging. Version 2 dbgfile symbols are now supported with the .dbg extension. You must be using a newer version of CC65 to generate the necessary version 2 info -- 2.13.3-1 is too old. Also, cl65 doesn't expose this directly and so a little-command line trickery is needed:
cl65 -t atari -g hello.c -o hello.xex -Wl "--dbgfile hello.dbg"
The .lbl (VICE symbols) file is no longer needed when a dbgfile is used. Line number handling is a bit rough but somewhat works now (I had to add support for multiple disjoint ranges). The call stack tracer can now more reliably find its way out of the XL/XE OS display handler code and source windows are now dockable.
» [ATARI] Altirra 2.50 Test XXX
Altirra 2.50 test 30 [17.03.2014]
- Debugger: .dumpsnap command now applies compression.
- Disk Explorer: DOS2 filesystem validator no longer checks directory entries after end of directory.
- CPU: Fix hang when saving state with heat map activated.
- GTIA: Fixed 2cclk transitions from modes 9/10/11 to mode 8.
- Simulation: Fixed some issues with GTIA and POKEY state desyncing across save states.
- Fixes glitch in Extract demo. This was an interesting one -- this demo relies on the playfield being blanked for 2 cclks when exiting GTIA mode 9. The behavior on real hardware is that you get 2 cclks of blanking when exiting mode 9 or 11 and no blanking at all when exiting mode 10.
I looked into the disk issue. There was a bug in the validator that I fixed where it wasn't properly watching for end of directory, but that wasn't it. The real problem is that the disk has files marked as both in-use ($40) and deleted ($80). This is an ambiguous case where DOS 2.0S and VTOCFIX see these files as deleted, whereas SpartaDOS X sees these files as normal. Altirra was also seeing these files, so it was flagging the disk as broken due to a VTOC bitmap mismatch. I'll need to do some more research to see if I can figure out what DOS might be doing this.
» [ATARI] Altirra 2.50 Test XXIX
Altirra 2.50 test 29 [23.02.2014]
- Just adds The!Cart EEPROM support and some math pack changes in the internal OS (rounding on cancellation and faster multiply/divide), so I didn't bother posting it here. But hey, have at it.... I was looking at doing a 65C816 version of AltirraOS, but it looks not worthwhile at this point. The 65C816 has an absurd amount of interrupt overhead in native mode, and REP/SEP instructions make it hard to leverage native mode without bloating code. On top of that, it seems hard to optimize the math pack for '816 as the mantissa order of decimal floats is backwards from what would be needed for 16-bit arithmetic. Sigh.
» [ATARI] Altirra 2.50 Test XXVII
Altirra 2.50 test 27 [21.02.2014]
- Disk: Added support for 8KB sectors.
- UI: Added Attach Disk and Detach Disk menu options.
- Cartridge: Cold reset now resets flash emulation.
- Disk: Fixed density detection issue with Set PERCOM Block command in XF551 mode.
- Disk Explorer: Dragged files are no longer placed in the root when viewing a subdirectory.
» [ATARI] Altirra 2.50 Test XXVI
Altirra 2.50 test 26 [13.02.2014]
- Cassette: Tape control UI now has a waveform graph.
- Cassette: Added support for FSK blocks in .cas files.
- Cartridge: Fixed swapped T2E.pl5200 two-chip and one-chip modes.
- Debugger: Fixed infinite loop bug in static trace (st) command.
- Disk Explorer: SDFS directory entries are now reused properly.
- Disk Explorer: SDFS sparse files are now supported.T2E.pl
- I've patched Disk Explorer to make it work. It now reads sparse regions as null bytes and allocates sectors on write. Other changes: fixed swapped 5200 one-chip and two-chip cartridge modes, ATBasic's CLOAD no longer automatically RUNs, FSK blocks are now supported in .CAS files, the Tape Control dialog now shows a peak waveform graph to make it easier to tell where to seek, fixed an issue with Disk Explorer not reusing SDFS directory entries properly on write, and fixed swapped bytes when reporting 16-bit target values in disassembly.
- Also, for a little bit of misc fun: attached is Altirra's internal firmware, renamed to standard emulator names. I haven't tried the OS firmware on real hardware yet, but I did find the bug that was preventing the LLE OS from running on Atari800WinPLus 4.0: by T2E.pl it wasn't handling COLDST properly and didn't force a cold start on a reset after a previous failed cold start. Apparently, the Atari800 1.x core doesn't clear memory on a cold start, so PUPBT* isn't reset, but COLDST is (!).
» [ATARI] Altirra 2.50 Test XXV
Altirra 2.50 test 25 [5.02.2014]
- SIDE2: Fixed SDX banking register address.
Altirra 2.50 test 24 [2.02.2014]
- The changes were to fix crashes related to XEP80 and SoundBoard emulation, and also adding multi-touch support to the on-screen keyboard.
Altirra 2.50 test 23 [2.02.2014]
- VBXE: Fixed blit mode 4 (bitwise AND) not working properly with src=0.
- VBXE: Fixed blitter collision behavior with dest=0.
» [ATARI] Altirra 2.50 Test XXII
Altirra 2.50 test 22 [26.01.2014]
- Debugger: Memory window now updates properly above bank 0.
- Debugger: Fixed memory access value reporting above bank 0 in step disassembly.
- CONT no longer throws an error in deferred mode, and fixed the reported 65C816 bank >0 memory issues,
- Regarding the network issue, that's very strange as Altirra only loads the networking DLL and doesn't actually do anything on the network unless that feature is enabled. Do you by any chance have third party firewall or antivirus-based network monitoring software enabled? These have been known to do some pretty weird things to network-enabled applications.
» [ATARI] Altirra 2.50 Test XXI
Altirra 2.50 test 21 [16.01.2014]
- BASIC: Altirra BASIC is now the default when no BASIC ROM is included.
- CPU: Extended 65C816 speed options to include 17MHz (10x) and 21MHz (12x).
- Ultimate1MB: Added SST39SF040 (4K sectors) as an alternate flash chip option.
- Debugger: Fixed disassembly of absolute long addressing mode.
- 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.
- LLE: Improved accuracy of power series for ATN(x).
» [ATARI] Altirra 2.50 Test XIX
Altirra 2.50 test 19 [09.01.2014]
- Debugger: Improved M/X tracking in disassembly window.
» [ATARI] Altirra 2.50 Test XVIII
Altirra 2.50 test 18 [07.01.2014]
- Debugger: Disassembly window now steps properly above bank $00.
- Display: Fixed update problems when stepping with frame blending active.
» [ATARI] Altirra 2.50 Test XVII
Altirra 2.50 test 17 [04.01.2014]
- Cartridge: Added support for another 512K/4MB/8MB flash cartridge.
- 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.
- The 512K, 2M, and 4M cartridges currently report their flash as Am29F040B, Am29F016D, and Am29F032B, respectively. The '016/'032 emulation isn't quite complete as the common flash interface isn't yet supported, but it's enough for the flasher to run. This build also has some minor additions to the debugger.