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

[Libretro] mojozork doesn't accept any input #21

Open
vanfanel opened this issue Jan 15, 2023 · 4 comments
Open

[Libretro] mojozork doesn't accept any input #21

vanfanel opened this issue Jan 15, 2023 · 4 comments

Comments

@vanfanel
Copy link

Hi there,

Just built mojozork for the first time. Awesome idea all in all!
However, the libretro port doesn't accept any input.
I load my cores like this:
retroarch -L cores/mojozork_libretro.so zork1.dat
...Every core works like this, including keyboard (on the FBNeo MSX1 subsystem, for example) and joystick input (using USB gamepads), except for mojozork.

In fact, when loading the mojozork core, I can see the Zork 1 game, but I can't even toggle the RetroArch menu via the button combo I use with other cores, and I have to kill it via killall.

This is on GNU/Linux, aarch64, running RetroArch on Wayland+Vulkan.

I have tried enabling/disabling game focus mode, with no success.

Any ideas?

@icculus
Copy link
Owner

icculus commented Jan 16, 2023

I guess the first question is: the text cursor where the game is waiting to accept input: is it blinking? It should be blinking on and off every other second.

If it's not blinking, it probably means the core froze up without returning control to the libretro frontend.

In which case, can you send me the copy of Zork that's causing this? It might be triggering a bug in the interpreter and I'd like to look more closely.

If it is blinking, we're going to have to puzzle this out together for a bit to figure out what went wrong.

@vanfanel
Copy link
Author

Thanks for taking time to look into this, Ryan :)

The text cursor is not blinking at all.

Yes, it looks like the core is hung without returning the input to RetroArch.

I have tried disabling the shaders, it makes no difference.
I tried changing the video driver from Vulkan to OpenGL, no difference.
I have also tried passing -fsigned-char to the CMake options, because that fixes Frotz on aarch64, but it makes no difference either.

@vanfanel
Copy link
Author

@icculus Mistery (partially) solved: the problem happens when settings->video->synchronization->sync to exact content framerate is activated.
As soon as that option is deactivated, the core works perfectly as expected. I am leaving this open in case you want to fix the core so it works with that option (not so important in text-driven games, but anyway...)

@icculus
Copy link
Owner

icculus commented Jan 17, 2023

Yeah, I think I have it hardcoded to 15fps (because what is a good framerate for a text-based game?!). I was thinking slower would use less CPU and save battery.

I'll see if I can reproduce here and find a way to make the frontend happy.

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