libretro / fuse-libretro

A port of the Fuse Unix Spectrum Emulator to libretro
GNU General Public License v3.0
39 stars 50 forks source link

Joystick & Speed Notifications ? #149

Open zzedmore opened 1 month ago

zzedmore commented 1 month ago

@jfroco

Since your update i'm getting Joystick and Speed Notifications on the screen with every game I run. It's quite annoying. How do I turn these off without turning off my other notifications ? And what is the point of the emulation speed option ? It just makes the sound horrible. I don't think it's the same as Mhz increase (like Spec Next does).

jfroco commented 1 month ago

Hello @zzedmore,

Thank you for your feedback!!!

You’re right; it can be annoying. I will add an option to turn off the notifications regarding joystick and speed (default setting) in the next release, which will likely be next weekend, as I'm planning to add a couple of features.

The speed option is ported from Fuse and acts as a multiplier for the processor speed. I watched a couple of videos, and it seems to match the behavior of the Spectrum Next at 7MHz (I have mine boxed, so I apologize for not being able to test it myself). Could you help me identify a game where the behavior is different? Anyway, I'm going to try testing on Fuse and the core to see if there are any differences.

Best regards!

zzedmore commented 1 month ago

Thanks for replying ! A core option to turn off the notifications would be great as currently the only way to do it is turn off notifications completely in Retroarch. My experience with the speed option just makes it sound like the sound is clipping or stuttering (I tried Stunt Car Racer and a couple of others). Maybe it also sounds like that on the Next ?

Any hints on the features you'll be adding from Fuse ? 😄

Thanks!

jfroco commented 1 month ago

This is my wish list:

But I'm open to suggestions.

zzedmore commented 1 month ago

Looks like you've got your work cut out! The only thing on that list that peaks my interest is the tape browser but i'm not sure how that will be possible in Retroarch. Libretro-vice doesn't even do it.

Other things that maybe good - AY Volume etc. Touch screen support for the on-screen keyboard.

leiradel commented 1 month ago

The tape browser should be provided by the front-end.

jfroco commented 1 month ago

Looks like you've got your work cut out! The only thing on that list that peaks my interest is the tape browser but i'm not sure how that will be possible in Retroarch. Libretro-vice doesn't even do it.

Other things that maybe good - AY Volume etc. Touch screen support for the on-screen keyboard.

AY volume and touch screen support for the on-screen keyboard sound interesting. Thank you!!!

jfroco commented 1 month ago

Hello @leiradel

The tape browser should be provided by the front-end.

Yes, I've been thinking a lot about that. I checked other cores that should support it, and they only offer some control mapping for play, stop, rewind, etc.

In the Fuse emulator, you have a simple tape browser that allows you to move through the tape by double-clicking on a segment:

image

I was considering implementing simple tape controls like VICE and using the frontend notifications to show the 'name' (or segment number) with something like:

env_cb(RETRO_ENVIRONMENT_SET_MESSAGE_EXT, &info);

What do you think?

leiradel commented 1 month ago

I do believe this is a front-end thing. It has support for floppy and CD-ROM removable media that every core can use in retro_disk_control_ext_callback, it should also have tape management for the cores that can load from tape. I believe it should be just an update to the disk control interface with operations particular to tapes:

Once the interface is in place and the front-end UI has the necessary elements to allow for the above actions, it's just a matter of updating the cores to use it.