Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tenebra freezes the core (RetroArch gets pegged at 100% CPU) #155

Open
carlosefr opened this issue Dec 13, 2024 · 2 comments
Open

Tenebra freezes the core (RetroArch gets pegged at 100% CPU) #155

carlosefr opened this issue Dec 13, 2024 · 2 comments

Comments

@carlosefr
Copy link

carlosefr commented Dec 13, 2024

In Tenebra, when entering the exit gate of a level from above, the core becomes unresponsive (even RetroArch hotkeys stop working). Looking at the list of processes, I can see retroarch pegging the CPU at 100%.

If I leave it there for a while, it eventually unfreezes after a few minutes and the game continues. If I switch from the default "Spectrum 128K" to "Spectrum 48K" in the core options, it still freezes, but takes much less time (under 10 seconds) to recover.

I'm running a RetroPie-based setup (RetroArch 1.19.1) on Ubuntu 22.04 (x86-64), with lr-fuse compiled from source at commit cad85b7.

I've tested with other emulators (JSSpeccy 3, QAOP), and also with "The Spectrum" and it doesn't happen in any of those.

Steps to Reproduce:

  1. Load tenebra.tap;
  2. Press space until entering the first level;
  3. Approach the exit gate from above;
  4. Move down to enter the gate;
  5. The game freezes instead of moving along to the next level.
@carlosefr
Copy link
Author

I've found a workaround...

Tenebra supports a Kempston joystick. So, if I remap "Port 1 Controls" to that, instead of setting up joypad mappings for Up/Down/Left/Right in "Core Options", the core doesn't freeze.

I really like this game, and it would be quite annoying to always remember not to approach exit gates from above. 😅

@jfroco
Copy link
Contributor

jfroco commented Dec 16, 2024

Hello @carlosefr

Interesting,

I could reproduce the issue on RetroArch.

When I tried the game in Fuse standalone, the cassette icon lit up when moving to the next level, as if the game was trying to read from the cassette port. This gave me an idea:

What would happen if I disabled the "Core Options -> Tape Fast Load" option (after loading the game)? It works! So now we have another workaround.

There must be something related to how the game reads input from the keyboard and the Kempston joystick that is triggering the tape loading routines and freezing the core.

I may try to investigate why the behavior is different compared to Fuse standalone (or patch the game).

Best regards!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants