Jump to content
IGNORED

Altirra 4.00 released


phaeron

Recommended Posts

12 hours ago, phaeron said:

When trying to figure out if an option is a problem, you don't have to reset all your settings to test with a fresh config. You can run the emulator with /portabletemp to have it start clean with no saved settings, and not read or modify the saved settings.

Excellent...Thank you..

Link to comment
Share on other sites

I appreciate Altirra (and the ton of hard work that went into it) for the fact that I can try things out (emulate) before I buy it to see if I like it, or if it's worth it for what I'm doing on real hardware. 

Edited by Ricky Spanish
Link to comment
Share on other sites

I would like to report that Altirra misjudges the length of an audio file if the tape image contains an audio track - the length is doubled.

 

image.png.b2fb2ce1ae3f06703b12cce3fb0eb391.png

 

BTW. Is there an option to listen to the audio of the pilot tone while loading tape image? I cannot find this in the options.

 

By the way, I won't forget to always add that @phaeron does an excellent job :)

Link to comment
Share on other sites

7 hours ago, dely said:

I would like to report that Altirra misjudges the length of an audio file if the tape image contains an audio track - the length is doubled.

 

image.png.b2fb2ce1ae3f06703b12cce3fb0eb391.png

I can't reproduce this. What version of the emulator and what audio format are you using (mono/stereo, 8/16-bit)? I assume it's WAV input.

 

7 hours ago, dely said:

BTW. Is there an option to listen to the audio of the pilot tone while loading tape image? I cannot find this in the options.

If the tape is stereo and has an audio track, this tone will only play if the pilot tone has also been recorded on the audio track. Otherwise, you won't hear the tone from the data track, same as on a real tape. (There may be a small amount of cross talk on a real setup; this is not emulated.)

 

If the tape is mono, then how the audio track is formed depends on Configure System > Cassette > Load data as audio. If that is set, then the mono track is assumed to be both the data and audio tracks. If it is cleared, then the mono track is assumed to be only the data track and the audio track is silent.

 

  • Like 1
Link to comment
Share on other sites

7 hours ago, phaeron said:

I can't reproduce this. What version of the emulator and what audio format are you using (mono/stereo, 8/16-bit)? I assume it's WAV input.

This is very interesting, because I exported the file from Audacity again using exactly the same settings (16 bit, 44 kHz, PCM) and this time the length in Altirra is correct. Anyway, I can't replicate it now either - but it really was, I have witnesses :)

 

7 hours ago, phaeron said:

If the tape is stereo and has an audio track, this tone will only play if the pilot tone has also been recorded on the audio track.

Thanks, didn't know that!

Link to comment
Share on other sites

https://www.virtualdub.org/beta/Altirra-4.10-test15.zip
https://www.virtualdub.org/beta/Altirra-4.10-test15-src.7z

  • View > Screen Effects now has pertinent links to Configure System or Windows Settings when HDR is supported but not enabled.
  • Added a calibration screen to tune white/black levels and check HDR rendering.
  • Fixed corrupted text rendering in HDR mode.
  • Fixed the "use system SDR intensity" HDR settings not saving.
  • Fixed the non-native (exclusive full screen) file browser corrupting UNC network paths.
  • Debugger: Fixed heat map triggering bogus traps in the OS with fast boot enabled, due to main memory not being marked as initialized when skipping the memory test.
  • Debugger: Randomize-on-EXE-load now uses the global seed, and prints a warning to the console when it activates.
  • Fixed a random crash that occurred when the emulator was forced out of D3D11 exclusive fullscreen by Windows due to being covered by another program.
  • High-precision timers are now used on Windows 10 1803+ for more stable emulator timing.
  • Fixed D3D9 code running unnecessary ticks in the background.
  • Major rework of D3D11 display code for improved latency tracking and reporting.
  • Added an adaptive vsync option (D3D11 only).

This version has some pretty major rework of the D3D11 rendering path to further reduce latency. For best results, you will need to have D3D11 enabled in Options (now default for new installs), and be running on Windows 8.1 or later. A change to the waitable latency object handling helps avoid 1 frame of latency after mode changes or accessing menus, and another change to leverage frame statistics to track vsync times helps schedule presentation times to drop ~0.5 frames of latency or so. There is also a new option in Configure System > Speed to adjust the emulation speed to match vsync, which in optimum conditions (full-screen with stable timing) can drive latency down to half a frame on average. This only works when the refresh rate is close to the ideal rate (60Hz for NTSC, or 50Hz for PAL).

 

There are also a bunch of related new config vars to debug this, if needed. The most pertinent one is an old one, display.show_debug_info, which displays some more statistics now:

 

image.thumb.png.1b086adadb4d86db08dadbc289aae538.png

 

"Present latency" now measures the latency from both Direct3D and the DWM, when frame statistics are available. In optimal conditions in exclusive full-screen mode or when the DWM is able to devote an overlay (Hardware: Independent Flip), Altirra will be able to drive this down below 1 frame (<16.7ms). When DWM compositing is involved, this will unfortunately always be at least ~1.5 frames and sometimes even 2.5 frames on average. I spent days fighting this with GPUView and various strategies and there is no way around this, the Windows 10 DWM has a bug where sometimes it will stack two frames into its flip queue and drive the latency up for everything one frame higher than necessary. Windows 7 in classic theme avoids this delay as there is no composition, but there are some pretty major problems in DXGI in that version such that windowed vsync is still less effective there than it is on Windows 8.1+.

 

On the other hand, after extensive testing, I've gotten better at River Raid and Kaboom!. Still suck at Alley Cat, where apparently my issues were not latency related.

 

There are also some changes to HDR rendering, although aside from the calibration screen there's no actually much different. I went down that particular rabbit hole while diagnosing rendering issues on a new LG27GN800B monitor, which turns out to have quite worse HDR rendering than my existing LG27GL83A due to a much more aggressive tone mapping curve which makes everything muddy. The new HDR calibration screen helps expose this. I also found out that it is possible to influence the tone mapping curve by setting the MaxCLL and MaxFALL values sent to the monitor, but it's not clear if this is helpful -- most of the time it just makes the monitor tone map more aggressively and try to lie even more about how bright it can actually display. But at least the calibration screen makes it easier to tell what's happening, and whether you can actually get better colors in HDR mode or not.

 

  • Like 10
  • Thanks 4
Link to comment
Share on other sites

11 hours ago, phaeron said:

On the other hand, after extensive testing, I've gotten better at River Raid and Kaboom!. Still suck at Alley Cat, where apparently my issues were not latency related.

 

Alley cat is one of those games that just sucks away your heart and soul...

Link to comment
Share on other sites

4 hours ago, MrFish said:

Feature Request

Would it be possible to add some way of boosting the GTIA sound output level -- as an option?

It would be nice if it could be set to a level that's closer to the POKEY output level.

 

Yeah, I can add a cvar for this pretty quickly in Advanced Configuration. Actually, I just also found a bug where the speaker output is about 8dB lower than intended, which I'll fix in the next test release -- got introduced when I added the uneven volume bit emulation. Altirra's default speaker level is tuned compared to an 800XL; haven't tested the 130XE. 800 is of course ambiguous because of the separate speaker, which can't really be emulated without using separate sound outputs.

  • Like 3
  • Thanks 2
Link to comment
Share on other sites

3 hours ago, phaeron said:

Yeah, I can add a cvar for this pretty quickly in Advanced Configuration.

Thanks, that would be handy. I like how you have the drive volume as an individual slider (I keep it pretty low).

 

3 hours ago, phaeron said:

Actually, I just also found a bug where the speaker output is about 8dB lower than intended, which I'll fix in the next test release -- got introduced when I added the uneven volume bit emulation.

8dB is quite a bit.

[Edit] When was uneven volume bit emulation added? I'm actually still using 4.00 as my main version (I know I should be using 4.01 instead -- just lazy). I usually don't run the test versions much; just to check out this or that. 

 

3 hours ago, phaeron said:

Altirra's default speaker level is tuned compared to an 800XL...

Tuned to what, your own general ideal?

 

Link to comment
Share on other sites

11 hours ago, MrFish said:

8dB is quite a bit.

[Edit] When was uneven volume bit emulation added? I'm actually still using 4.00 as my main version (I know I should be using 4.01 instead -- just lazy). I usually don't run the test versions much; just to check out this or that. 

It was added in 4.00.

 

11 hours ago, MrFish said:

Tuned to what, your own general ideal?

No, measurements of square waves played through POKEY and GTIA on the audio output -- GTIA's audio output being approximately the same amplitude as a single POKEY channel at volume 6.

Link to comment
Share on other sites

4 minutes ago, phaeron said:

No, measurements of square waves played through POKEY and GTIA on the audio output -- GTIA's audio output being approximately the same amplitude as a single POKEY channel at volume 6.

Ah, ok, I misunderstood what you meant. Sounds kosher.

 

Link to comment
Share on other sites

5 hours ago, Mclaneinc said:

I suspect "best guess" is a phrase he does not like to use :) Either way, we all appreciate it...

I didn't suspect him of doing any guessing. I thought he was using the word "compared" in the sense of contrast or differences, and producing something either to his own choosing or according to some other reasoning (hence the question mark), in relation to what was known by him about the 800XL.

 

Just a misunderstanding on my part; but I'm glad I asked, as he provided some more specific information.
 

Link to comment
Share on other sites

It's a valid question. I do still need to check if the 130XE is any different.

 

It's also possibly worth revising in light of the 800's internal speaker. The vast majority of programs don't make interesting use of the speaker outside of the OS beep. The game Rescue at 94K, though, uses it for a proximity detector sound. There are also a few sound demos, including one that combines it with POKEY sound for "stereo." The 800's speaker also sounds a bit different because it's trapped inside the case, so it sounds a bit more echo-y than normal sound output. But I'm not sure how easy it is to emulate that as reverb effects are a pain to implement.

 

The 400 is worth checking as well, though it's such a pain to get it hooked up even here in the US. RF output only?? WTF....

 

Link to comment
Share on other sites

1 hour ago, phaeron said:

The 400 is worth checking as well, though it's such a pain to get it hooked up even here in the US. RF output only?? WTF....

I still keep an old VCR here ($5 pickup at Goodwill about 8 years ago) specifically for some RF-only systems I have around. Of course, new TV's are HDMI-only, and most new computer monitors are HDMI or DisplayPort - so for my 400's, I have to go 400 --> VCR --> RetroTink --> HDMI television. Yuck. :)

Link to comment
Share on other sites

I think the 800 internal speaker is a valid thing to do, sure it wasn't used much but when it was, it was fun, also, if you are going to emulate the machine then as much of a PITA it is, it deserves to be heard.

 

Obviously, I'm not doing the coding (be grateful of that :) ) but I'm just in favour of it getting its rightful place in the emulation if only to keep the super high standards of overall emulation that Altirra already has. It's only a piddly little speaker, but it is part of the hardware.

 

But in the end, you are the boss, I have no right to spend your free time for you...

Link to comment
Share on other sites

https://www.virtualdub.org/beta/Altirra-4.10-test16.zip
https://www.virtualdub.org/beta/Altirra-4.10-test16-src.7z

  • 810/1050 full disk drive emulators now have tighter validation for disk geometry: they will now warn when attempting to use 80 track, double sided or 26 sector per track double density disks.
  • Fixed unintended change in GTIA speaker volume and added an advanced config var for overriding the volume (audio.speaker_vol_override).
  • Added option for downmixing stereo audio to mono.
  • Fixed some crashes related to the adaptive vsync profiler and calibration UIs at small window sizes.
  • Fixed bugs in the profiler's Copy as CSV option causing double context menus and incorrect data dumps.

 

  • Like 4
  • Thanks 4
Link to comment
Share on other sites

54 minutes ago, phaeron said:

Fixed unintended change in GTIA speaker volume and added an advanced config var for overriding the volume (audio.speaker_vol_override).

Thanks for the fix and addition.

 

Maybe I should have asked first (I haven't messed with any Advanced Config variables until now); but, I set it to "1", which got some nice higher volume (although maybe a tad too loud; didn't have a chance to compare to POKEY because of what follows here); then, I closed Altirra -- to see if the change held -- and when I attempted to reopen it I got this.

 

altirracrash.png.a0b45acb48e9bcb33de8becc4e89e8f9.png

 

AltirraCrash.mdmp

 

My 4.00 copy of Altirra still boots; but multiple attempts with this test version got the same result.

 

Link to comment
Share on other sites

34 minutes ago, MrFish said:

AltirraCrash.mdmp 28.18 kB · 1 download

 

My 4.00 copy of Altirra still boots; but multiple attempts with this test version got the same result.

 

Try now:

https://www.virtualdub.org/beta/Altirra-4.10-test17.zip
https://www.virtualdub.org/beta/Altirra-4.10-test17-src.7z

 

In the future, launch with /advconfig to get directly to the advanced configuration dialog box before those settings are applied.

  • Like 2
  • Thanks 4
Link to comment
Share on other sites

17 hours ago, phaeron said:

Try now: Altirra 4.10 test17

No crashes now. Thanks for the quick fix.

 

What are the valid values that can be used? I tried 1 - 5 (0=off); but to be honest, 1 is quite a bit above typical POKEY levels (and 5 blasted my eardrums out). For comparison, I'm playing some recently posted GTIA chip music and some POKEY music that I have on hand. It looks like the volume ramp needs to start a little lower.

 

The GTIA music I've tested so far is this one: Try This Tone, but I have a lot of others ones I'll test out too. This is my reason for being interested in the having the setting.

 

17 hours ago, phaeron said:

In the future, launch with /advconfig to get directly to the advanced configuration dialog box before those settings are applied.

Is this standard procedure for first time changes to anything in the advanced config? I made my subsequent changes without following this procedure.

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...