Emudreams(1996) NEWS FROM 60 DAYS MUSEUM

Altirra 4.00 test5 [1096][witek], 2020-07-10 23:51:41

[Source: https://atariage.com/forums/topic/308053-altirra-390-released/page/6/#comments]

First, there are a couple of breaking changes in 4.00:

- End of support for Windows XP SP3 and Vista. The new minimum operating system requirement is Windows 7 SP1.
- End of support for DirectDraw, which has not been native since Vista, and OpenGL, of which only old versions were used anyway (and was not enabled by default).

test1:
New features and fixes:

- Palette solver: Matching color palettes in Altirra has been a long-standing issue, since it is unable to take .pal/.act files due to needing the generation parameters for the palette rather than the final colors for various features, and matching colors from real hardware is a difficult task. Pretty much everyone has their opinion on what "true colors" should be. Well, in 4.00-test1 there is now a solver to guess the parameters for you.
- Debugger: On-screen watches now update continuously while stepping and the "wx" command has options for hex formatting, bank-sensitive debugging is now supported for SpartaDOS X cartridges, improved handling of subdirectories when looking for source files, and the console output window is faster when flooded with output. Oh, and the Memory window has been improved with scrolling and more display options.

- Display: Added pure white monochrome mode, and fixed a bug in the high artifacting engine where chroma artifacts moved in the wrong direction for ascending hues.
- XEP-80: Fixed an emulation bug in the way that scrolling occurs, and added a couple of new toys to the Additions disk: an XEPVHOLD.COM tool to reprogram the XEP80s timing chain for a shorter display thats less likely to roll on modern displays, and a new ultra-speed ALTXEP8U.SYS driver that runs at symmetric 31.5Kbaud instead of 15.7K or 31.5K send / 15.7K receive.
- Tape: Added support for KSO Turbo 2000.
- Disks: Added emulation for the Percom AT88-SPD, and added 1791/1795 FDC selection for the AT-88. Fixed support for virtual SpartaDOS disks with directories and files whose names start with periods. Added a polling workaround option for virtual disks for environments where file change notifications dont work (some Wine environments).
- Audio: More accurate emulation of uneven volume bits, and rewrote cycle-level filtering emulation for improved high frequency aliasing rejection during downsampling.
- UI: Dark mode now has reskinned buttons. Added support for auto-hiding the menu bar. Fixed mouse wheel scrolling when the OS page-at-a-time option is on.
- H: device: Lifted 16MB limit for binary (untranslated) access, and fixed errors not being returned properly during burst I/O accesses.
- AltirraOS 3.27: Fixes to the printer handler for EOL handling, particularly for the Atari 1025, and improved compatibility of variable usage to work with Monkey Wrench II.
- Custom Devices: More scripting language constructs like break, while/do-while loops, and forward declaration of functions, better threading support, and more scripting methods for manipulating memory. Custom devices can now raise Parallel Bus Interface IRQs. Custom video outputs can now be created with either text or graphical output, and even support text select/copy like the emulators built in ANTIC and XEP-80 video outputs. New sample custom devices: Bit-3 80 column, 1090 80-column, and a PBI-based metronome.

test2:
- Fixed breakpoint weirdness with new memory window -- there was a block memory read accidentally using non-debug reads.
- Fixed regression with linear volume ramp.
- Fixed full-screen menus updating checkmarks too late.
- Added an option to lock the mouse pointer to the current display in full screen mode. Didnt notice the lack of this before, but these days I dock my - TV above the primary monitor so it doesnt get shifted by display mode changes, which made the lack of this super obvious.

test3:
- Improved behavior of toggling VBXE on the fly -- hardware registers are now force-pushed to prevent visual errors if the current program is not writing color registers every frame.
- Rewrote 5200 digital noise code, should fix Galaxian again. You may still see the ship veer off once before you wiggle the stick; this is unavoidable without having the input jitter constantly in all games that use analog input, like Gorf.
- Fixed indeterminate state in XEP80 outputs that sometimes caused the XEP80 driver to fail to init after a cold reset due to the input line being held low.
- Preserve relative column offset when scrolling in the new Memory window.
- Fixed a regression with the current frame indicator being inverted in the Call Stack window.
- The startup log can now capture any logging group also exposed to the debugger. In particular, /startuplog:hostdisp will now display logging related to the host display code. The HOSTDISP log group has also been upgraded with some more logging from the D3D9 driver.
- The D3D9 display code now has additional logic to quickly reject useless devices that dont have enough VRAM to even create the swap chain. Previously the display code would get stuck in a re-init loop because this failure would only happen on the first paint. For some strange reason, Wine advertises a useless D3D9 device with 1MB of VRAM if you dont have an accelerated graphics device on the Linux host.
- Added new XEP80 drivers to the Additions disk: an ultra-speed ALTXEP8U.SYS driver with symmetric 31.5KHz communications instead of the previous asymmetric 31.5 send / 15.7 receive, and two new ALTXEP8P.SYS / ALTXEPUP.SYS variants that auto-switch to 50Hz PAL on startup. The ultra-speed driver also has timing adjustments for better reliability on a variety of systems. The previous ALTXEP8F.SYS driver has been removed to reduce the number of variants (and to avoid the variants being F and U).
- Fixed a bug in keyboard handling where a key up could be missed if the Alt key was released before the other key and an input map was bound to that key. An example was pressing Alt+Left to move the cursor when the default arrow key -> joystick map was enabled; if Alt was released first, the left arrow key would get stuck down in emulation.
- Added .fpaccel command to the debugger to allow specific floating-point acceleration hooks to be selectively disabled. (This only applies when FP acceleration is globally enabled.)
- AltirraOS bumped to 3.28 with a fix for a bug in FDIV that was causing the errors in the Pi program (overrun from a temporary into the low digits of the divisor), and a bug in E: that caused some put commands with the cursor disabled to return Y=2.
- Fixed an issue with tracepoints that caused excessive debugger UI redrawing and slowdown when using tracepoints that captured return values (e.g. bt fdiv "%g / %g = %%g" fr0 fr1 -- fr0).
- Fixed a bug in the heat map tracking where memory locations were not properly marked as being read with some read-modify instructions like ADC zp,X.
- Fixed compile-time YASM check in build scripts.
- CPU history size is now easier to retune in the source code (it is still a compile-time option).

test4:
- Input maps marked as quick maps now cycle in sorted name order rather than random order. This fixes Shift+F1 cycling sometimes cycling Joystick (port 2) -> Joystick (port 1) instead of the other way around.
- XInput 1.4 is now supported if available. This allows use of the Guide button on Windows 8 and above without needing XInput 1.3 to be installed.
- Improved 5200 jittering algorithm to only apply to digital input and large analog deltas, so that controllers that provide smooth input already bypass it. This avoids unnecessary jitter when using a mouse or analog stick.
- Invisible mouse cursor is now constrained in relative mode so that the pointer cant escape no matter how fast it moves.
- Added support for using the Windows Raw Input API to receive relative mouse input. This allows mouse acceleration to be bypassed and can provide smoother mouse input in some cases. It is off by default and enabled in Configure System > Input.
- Added an option to force immediate pot updates on POKEY, in Configure System > Input. This allows a slight fib in pot scan timing to work around a latency issue inherent in the real hardware, which is that paddles require nearly a full frame to scan. This is emulated accurately, but adds another frame of latency on top of all the other sources of latency. With this option enabled, the POT0-7 registers can update based on host input immediately before the VBI, which helps reduce the latency for paddles and 5200 controllers.

test5:
Started out with a simple idea, trying to collapse the majority of the presets into a common template-based generator so its easier to set up all of the different kinds of controllers Altirra supports without having to add zillions of presets. However, in the process this also exposed a bunch of bugs in the input system. Might be some new bugs introduced, but hopefully it is Better(tm).

- Templated input map presets can now be generated via System > Input > Preset > Create from Template. This allows generating a preset for any combination of controller port, controller, input source, and absolute/relative mode. As usual these maps can be edited after creation. The intent is to eventually replace the majority of the existing hardcoded presets and whittle down the default list a bit.
- Normalized use of Left/Right/Up/Down as aliases for normal and inverted Axis0 and Axis1 inputs. This was supported for only some controller types and now also works for mice, trackballs, paddles, and 5200 controllers.
- Fixed bug where the joystick trigger would get held down for the rest of the session after using an input map with a light gun or pen, even after turning it off.
- Standardized some controller names to be of the form "Controller Name (CXcode)." Built-in presets are not renamed yet.
- Mouse input now has a signed input mode, basically emulating an analog stick with the screen. Its in there right now just so that absolute mode input maps generate reasonably for mouse input, but in the future I might make the screen area configurable and visible.
- Made some adjustments to relative mouse speeds so that they R more consistent with button/D-pad and analog stick bindings with the same speed settings, and fixed relative bindings of analog sticks so that the acceleration setting on the binding works. This means that existing input maps in relative mode may be faster and slower than they used to be and require readjustment, but now "speed 5" should be reasonable speed in more cases.
- Tablet controllers had their Left/Right relative inputs flipped.
- Fixed a bug in the input manager that prevented digital mappings with the same target from being tracked properly as a group. The result was that if you bound two keys to the same target and pressed both keys at the same time, the target trigger would release with the first key-up instead of the second as intended. This improves operation of double-bound diagonals in numpad-based input maps as now the stick wont return to center while keys are still held down.
- Fixed a nasty bug where accidentally dragging a profile in the profile editor could create a parent loop in the profile system and prevent that profile from loading or saving global settings. The visible result of this was that the profile would not load or save any settings unless it was set to store those settings locally. This is is now blocked in the UI and the settings code.

Download oraz dodatkowe info w wÄ…tku.