Menu

#486 speed after every reset

future
open
nobody
speed (2)
5
2022-10-25
2021-11-07
efa
No

I'm keeping the Options, General, Emulation speed set to 100%.

Just after every Machine Reset, looking at the % in lower right corner, I saw it vary from 2500 to 2900% randomly in the first 7-15 seconds, then linearly slow down to 100% in the next 7 s.

This is visible also from blinking cursor that is really too fast at the start, and games (if you are luckly and can manage to load something).

I used 1.5.7 on Debian 10

Then I tried to compile myself the 1.6.0 with paired libspectrum 1.5, but same effect.

To compile I used:
- download libspectrum:

https://sourceforge.net/projects/fuse-emulator/files/libspectrum/1.5.0/libspectrum-1.5.0.tar.gz/download
$ tar xvaf libspectrum-1.5.0.tar.gz
$ libspectrum-1.5.0/
$ configure --prefix=/opt/fuse1.6
$ make
$ sudo make install
- download FUSE:
https://sourceforge.net/projects/fuse-emulator/files/fuse/1.6.0/
$ tar xvaf fuse-1.6.0.tar.gz
$ cd fuse-1.6.0/
$ export PKG_CONFIG_PATH=/opt/fuse1.6/lib/pkgconfig/
$ configure --prefix=/opt/fuse1.6
$ make
$ sudo make install

1 Attachments

Discussion

  • efa

    efa - 2021-11-09

    after a PC restart, does not happen anymore. For me it is not reproducible now.

    Take note that before restart the PC was up for 1 month and many updates was installed from Debian repo, maybe one of them that require restart generate that.

     
  • Dmytro Bagrii

    Dmytro Bagrii - 2022-09-18

    I also have encountered with the same speed emulation issue. I have "Emulation speed: 100%" in "General options" and <speed>100</speed> in ~/.fuserc. But sometimes after startup emulation speed jumps to extremely hight value, up to about 5000%. Sometimes it backs to normal speed by itself, often after opening UI menu, sometimes not. When i change "Emulation speed" to 72% (i found this value by bisecting) it works at 72% normally but when i change it to 73% emulation speed jumps to incorrect high value again.
    Fuse version 1.6.0 in Arch Linux.
    UPD: pausing/unpausing machine also likely triggers emulation speed to go crazy.

     

    Last edit: Dmytro Bagrii 2022-09-18
  • Dmytro Bagrii

    Dmytro Bagrii - 2022-09-21

    The bug is not reproduced when run with --no-sound.
    Also the bug is not reproduced if fuse is configured with --with-audio-driver=pulseaudio but slight latency in audio is noticeable .

     

    Last edit: Dmytro Bagrii 2022-09-21
  • Dmytro Bagrii

    Dmytro Bagrii - 2022-09-21

    I enabled verbose output in sound/alsasound.c by static int verb = 1;. When emulation speed becomes "unlimited" there are log messages ALSA: *buffer underrun*!. Seems like alsa output doesn't work correctly on systems with pulseaudio.

     
  • Gergely Szasz

    Gergely Szasz - 2022-10-25

    Hi,

    ALSA: buffer underrun!

    message means: fuse cannot pump enough sound sample to the ALSA buffer in time

    --with-audio-driver=pulseaudio but slight latency in audio is noticeable .

    Uhum... pulseaudio is an another layer over ALSA, with additional buffer, so the road of a sample is longer than without -> more audio lag

    The speed% anomaly is timer problem, may connected to the sound buffer...

    Which ui did you use (GTK2/3 or SDL)?

     
    • Dmytro Bagrii

      Dmytro Bagrii - 2022-10-25

      GTK3.
      I suspect snd_pcm_writei() behavior is quircky with ALSA emulation under pulseaudio. Probably it doesn't respect hardware timings and cannot be used as a timer base.

       
  • efa

    efa - 2022-10-25

    GTK me too.

     

Log in to post a comment.