|Altirra 3.90 Test3 ||[witek], 2019-06-30 20:23:29|
-Experimental support for dark theme. This is hidden behind a /dark command line switch because it is incomplete due to a ton of really annoying restrictions in the OS (basically a total lack of actual dark support in the Win32 API), so I im not sure if it is feasible to get it to a polished state, but it works well enough that I have left it on for my own development. Some UI elements like buttons and menus are not reskinned due to insufficient OS support (short of going ham on owner draw).
-Improvements to the debuggers Disassembly window. As seen above, it now has an option to infer and visually separate procedures, as well as hyperlinking and previewing JSR/JMP targets. This makes it possible to peek at the called procedure without losing your place. There are also go back/forward buttons.
-The history loop detector has been updated to more tightly identify loops, reducing the number of loose instructions in the trace.
-Disassembly options in the disassembly and history windows are now saved.
-Several debugger commands that take paths now accept "?" as the path, which causes the debugger to open a file dialog to browse to the desired file: .loadsym ?
-Accuracy improvements based on research into power-up state on actual hardware. Several registers have been tweaked to have more representative values, and the reset NMI on 400/800 models is now properly synchronized to vertical blank.
-WIP on new save state system. The format has been changed to a zip file with mixed JSON and named memory block files, which makes it much easier to pull out data with tools. The internals have been rewritten as well to better support in-memory saves and extensibility, the CPU save code can now save in the middle of an instruction, and standard disk drives can now save and restore a pending disk read operation. The plan is to gradually increase the amount of state saved, including device state that previously has not been saved. Note that saving to the v1 *.altstate format is no longer supported, although loading it still is, and this is still very new so I really dont recommend keeping your valuables in save states.
-Tape decoding and emulation code has been partially rewritten. The emulation-side of the tape decoder has been rewritten to be edge-based with much less host CPU load during tape operations, especially with acceleration on. There is also a prefilter option now to reduce phase shifts from high-frequency attenuation, which improves the reliability of turbo decoding of tapes archived using non-Atari tape recorders.
-The Add Firmware UI now has heuristics to detect 10K and 16K OS ROMs other than the specific Atari ROMs in the signature list, including custom OS ROMs. This helps detect when a ROM image appears to be another 16K ROM type is actually an OS ROM.
-AltirraOS updated to 3.20: XL/XE mode boot screen now continues boot instead of restarting when a disk is inserted for faster boot and preserving Option suppress-BASIC state, POKEY configuration changed to give more familiar sound during tape loads, QUICKED.SYS and SIDE Loader compatibility fixes, fixed background color in GR.11, fixed combined disk+rightcart and disk+tape boots. This ROM export package is attached for people testing this outside of the emulator.
Also, deprecation notice: 3.20 will be the last major version of the emulator to support Windows XP/Vista. The plan is to release the next version as 4.00 with Windows 7 as the minimum OS. 3.90-test1 still currently builds with XP targeting but I will be changing over to the newer non-XP toolchain in the future.
-Fixes non-command SIO writes. This was a regression from some surgery I did for save states.
-Fix for the color matching setting not being set properly on initial start. (Candidate fix for a 3.21 release, if I do one.)
-There was a bug in the dark mode code that caused list views to render all white when dark mode was disabled -- should be fixed now. (The reason for this is that to implement dark mode on Win32, you have to override system colors on individual controls.) But otherwise, the controls are actually there including their items, so if you are really good, you can click where things are supposed to be. How well do you know the emulator?