pumpitupdev / pumptools

A collection of tools to run Pump It Up games.
The Unlicense
22 stars 7 forks source link

NX locked up when Free Play option enabled #2

Closed voidderef closed 3 years ago

voidderef commented 3 years ago

In GitLab by @xuserv on Mar 2, 2020, 15:08

Summary

When you changed Coin Option to Free Play the game itself locked up.

Expected behavior

The game should be set to Free Play then continues

Current behavior

The game locks up when Coin Options changed to Free Play and Exit from Test Mode.

Detailed Description

The game locks up when Coin Options changed to Free Play and Exit from Test Mode.
The log right after locks says following below :

[I][2020/3/2-22:56:9:138][redir.c][redir.c:363] Redirect /SETTINGS/PIUNX.INI -> /media/xuserv/DATA/PIU/18_nx/save/PIUNX.INI
[M][2020/3/2-22:56:9:170][patch-hdd-check][hdd-check.c:151] /dev/hdd opened: 13
[M][2020/3/2-22:56:9:170][patch-hdd-check][hdd-check.c:164] /dev/hdd fdopen: 0xcb8b5e0
[M][2020/3/2-22:56:9:171][patch-hdd-check][hdd-check.c:110] fseek, offset 0x200, origin 0
[M][2020/3/2-22:56:9:171][patch-hdd-check][hdd-check.c:51] fread, pos 0x200, bytes 512
[M][2020/3/2-22:56:9:171][patch-hdd-check][hdd-check.c:118] /dev/hdd fclosed

Steps to reproduce

  1. Set Coin Options to Free Play
  2. Exit from Test Mode

Possible solution

Force quit after locks up then start again will boot the game into Free Play but locks again after Exit from Test Mode.

Context (Environment)

Pumptools version(s) affected

Log output

See attachment.
piueb.log pumptools.log

Configuration files

See attachment.
hook.conf

Command line arguments

./piueb run

APIs used

OS version

Linux xuserv-mbp 4.15.0-88-generic #88-Ubuntu SMP Tue Feb 11 20:11:34 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux [Linux Mint 19.2]

Hardware specs

  • CPU: Intel Core i5-4308U 2.80GHz
  • RAM: 16GB
  • GPU: Intel Iris Graphics 5100
  • Controllers/IO: Keyboard
voidderef commented 3 years ago

In GitLab by @xuserv on Mar 2, 2020, 15:14

Also seems IO emu conflicts with built-in inputs unlike other versions (EXC2, ZERO), it always insert 1 service credit after exit from Test Mode when patch.hook_main_loop.disable_built_in_inputs set to 0.

voidderef commented 3 years ago

In GitLab by @xuserv on Mar 3, 2020, 13:17

changed the description

voidderef commented 3 years ago

In GitLab by @jack980517 on Mar 16, 2020, 16:48

it always insert 1 service credit after exit from Test Mode

Cannot reproduce. I exited test mode with the same amount of credits as when I entered test mode, unless I pressed coin when in test mode, in which case the credit count would increase accordingly.

voidderef commented 3 years ago

In GitLab by @xuserv on Mar 17, 2020, 08:59

I should mention my key assignments, here is my key assignments for pumptools.

[F1] - Test
[F2] - Service
[F3] - Coin Clear
[F5] - Coin 1
[F6] - Coin 2
[QESZC] - P1 Inputs
[79513] - P2 Inputs

also been tested in other environments and yup additional coin didn't happend on PC but on laptops (MBP, T520) does. seems keyboard driver issue rather than pumptools.

voidderef commented 3 years ago

In GitLab by @jack980517 on Mar 17, 2020, 10:05

Why would you not disable built in keyboard input and then configure the same keys in pumptools? In that case I would expect the keys to trigger twice.

voidderef commented 3 years ago

In GitLab by @xuserv on Mar 17, 2020, 10:25

Previous games were just worked fine with it so I just didn't bother to do, such a lazy person right? lol

voidderef commented 3 years ago

In GitLab by @icex2 on Apr 21, 2020, 19:21

Ok, so I am seeing two issues here which I would like to address separately:

  1. NX getting stuck when turned to free mode -> Can confirm that as I was able to reproduce the issue.
  2. I also cannot reproduce the issue that coins are dropped after exiting the test menu. However, the game enters the test menu randomly when I start the game. Since both issues might be linked to the same root cause which I assume are random inputs on the test button, I might confirm that I can reproduce it. I will have a look at what I can reproduce and fix that. Then we can check if your issue @jack980517 still persists.
voidderef commented 3 years ago

In GitLab by @icex2 on Apr 22, 2020, 24:08

Some debugging notes: Looks like this might be a race condition of some sort. If strace or valgrind are attached to the game, everything's fine and the bug is gone. Both applications are very heavy and slow down the the process they are attached to.

voidderef commented 3 years ago

In GitLab by @icex2 on Apr 22, 2020, 18:05

Some more debugging notes:

voidderef commented 3 years ago

In GitLab by @icex2 on Apr 23, 2020, 24:05

Figured it out and fixed for the next release. A stale file handle state broke the internal hooking code and caused the game to fail on a hdd check. If the hdd check fails, the game goes into an endless loop and just hangs.

voidderef commented 3 years ago

In GitLab by @icex2 on Apr 23, 2020, 24:05

closed