p3io jubeats - Issues thread #92

Open
opened 2022-01-06 12:54:11 +03:00 by icex2 · 20 comments
icex2 commented 2022-01-06 12:54:11 +03:00 (Migrated from github.com)

In GitLab by @mon on Jan 6, 2022, 10:54

After releasing the p3io support for Jubeat, a number of issues have been reported. I'll be collating them here so I have a nice list of things to work on.

  • knit, sometimes test menu is entered randomly. Seems identical to #89? What have you learnt about it so far @icex2?
  • Black plug code for knit/copious seems like it must match exactly. I am getting some reports of security failures. Should be fixable by just using the provided sidcode instead of a hardcoded one
  • knit/copious, some timers run fast (end-of-song timer, attract mode "welcome to jubeat" voice line). Happens in Spice too, so it's not bemanitools specific
  • reported by @HAYU "If knit use eamio-icca.dll together, It can use wavepass reader perfectly, but if copious use it, copious will have a problem after reading the card once"
  • Documentation needs to be clearer, I've had someone try to use the knit jbhook2 on copious
  • knit has been reported to crash when saving settings in the test menu (needs triage)
  • It may be better for vertical rendering to be the default as the crash is logless and everyone expects vertical rendering

I will be adding to this list as things are reported, removing from it as I triage and resolve issues, and linking it to other people to submit their own issues as required.

In GitLab by @mon on Jan 6, 2022, 10:54 After releasing the p3io support for Jubeat, a number of issues have been reported. I'll be collating them here so I have a nice list of things to work on. - knit, sometimes test menu is entered randomly. Seems identical to #89? What have you learnt about it so far @icex2? - Black plug code for knit/copious seems like it must match exactly. I am getting some reports of security failures. Should be fixable by just using the provided `sidcode` instead of a hardcoded one - knit/copious, some timers run fast (end-of-song timer, attract mode "welcome to jubeat" voice line). Happens in Spice too, so it's not bemanitools specific - reported by @HAYU "If knit use eamio-icca.dll together, It can use wavepass reader perfectly, but if copious use it, copious will have a problem after reading the card once" - Documentation needs to be clearer, I've had someone try to use the knit jbhook2 on copious - knit has been reported to crash when saving settings in the test menu (needs triage) - It may be better for vertical rendering to be the default as the crash is logless and everyone expects vertical rendering I will be adding to this list as things are reported, removing from it as I triage and resolve issues, and linking it to other people to submit their own issues as required.
icex2 commented 2022-01-06 12:55:55 +03:00 (Migrated from github.com)

In GitLab by @mon on Jan 6, 2022, 10:55

@HAYU I don't quite understand what you mean - does your cabinet have a wavepass reader? Does copious also fail on the second scan when using keyboard?

In GitLab by @mon on Jan 6, 2022, 10:55 @HAYU I don't quite understand what you mean - does your cabinet have a wavepass reader? Does copious also fail on the second scan when using keyboard?
icex2 commented 2022-01-07 10:52:21 +03:00 (Migrated from github.com)

In GitLab by @HAYU on Jan 7, 2022, 08:52

I'm sorry for causing confusion by selecting the wrong word. I tested with P4IO PC and P3IO PC in cab with contactless reader.

  • jbio-p4io + eamio-icca -> (need to recheck) card cannot be used after recognizing it once. and the game stopped when I enter IC CARD CHECK in test mode.
  • jbio-p4io + eamio -> real contactless card reader is not working, and the '+' button on the keyboard number pad is still working. At this time, there is no problem recognizing the card several times.
  • real P3IO -> There's always a security error when the launcher uses the "-p" option. I realized that it's because the round plug is directly connected to P3IO, but I wish it's possible to bypass.

I'm sorry I need to reconfirm the most important part. I'll test it again when I have time and catch the log.

In GitLab by @HAYU on Jan 7, 2022, 08:52 I'm sorry for causing confusion by selecting the wrong word. I tested with P4IO PC and P3IO PC in cab with contactless reader. - jbio-p4io + eamio-icca -> (need to recheck) card cannot be used after recognizing it once. and the game stopped when I enter IC CARD CHECK in test mode. - jbio-p4io + eamio -> real contactless card reader is not working, and the '+' button on the keyboard number pad is still working. At this time, there is no problem recognizing the card several times. - real P3IO -> There's always a security error when the launcher uses the "-p" option. I realized that it's because the round plug is directly connected to P3IO, but I wish it's possible to bypass. I'm sorry I need to reconfirm the most important part. I'll test it again when I have time and catch the log.
icex2 commented 2022-01-07 13:46:06 +03:00 (Migrated from github.com)

In GitLab by @HAYU on Jan 7, 2022, 11:46

I just discovered that logs are not recorded from the time the copious game screen appears. maybe from 5.37.
and card reader error symptoms are irregular, so I'm trying to figure it out again.

(edit) There was a card reader problem with the same symptoms on the knit.

In GitLab by @HAYU on Jan 7, 2022, 11:46 I just discovered that logs are not recorded from the time the copious game screen appears. maybe from 5.37. and card reader error symptoms are irregular, so I'm trying to figure it out again. (edit) There was a card reader problem with the same symptoms on the knit.
icex2 commented 2022-01-08 02:14:26 +03:00 (Migrated from github.com)

Provided some feedback regarding the misfiring issue in #89. Since this seems to be an issue across games, I suggest we continue with this in the issue #89 and collect any information we have on this there.

Provided some feedback regarding the misfiring issue in #89. Since this seems to be an issue across games, I suggest we continue with this in the issue #89 and collect any information we have on this there.
icex2 commented 2022-01-09 17:25:04 +03:00 (Migrated from github.com)

In GitLab by @mon on Jan 9, 2022, 15:25

@HAYU Thank you very much for your clarification.

  • eamio-icca, this is very curious. Does eamiotest.exe work as expected? Can you scan the IC card twice using it?
  • "jbio-p4io + eamio -> real contactless card reader is not working" - this is expected, since normal eamio uses keyboard input
  • real P3IO: sorry, but this is not supported. It might seem simple but bypassing just the security check would be very difficult. The only true solution is to make a jbio-p3io, but I will not do this because it will take too much time.

About the logs - if knit is anything like jb2008, it doesn't log much, and may also disable logging (jubeat is notoriously inefficient). There might be ways around it, but for now I hope you can try eamiotest.exe and see if it works.

In GitLab by @mon on Jan 9, 2022, 15:25 @HAYU Thank you very much for your clarification. - eamio-icca, this is very curious. Does eamiotest.exe work as expected? Can you scan the IC card twice using it? - "jbio-p4io + eamio -> real contactless card reader is not working" - this is expected, since normal eamio uses keyboard input - real P3IO: sorry, but this is not supported. It might seem simple but bypassing just the security check would be very difficult. The only true solution is to make a jbio-p3io, but I will not do this because it will take too much time. About the logs - if knit is anything like jb2008, it doesn't log much, and may also disable logging (jubeat is notoriously inefficient). There might be ways around it, but for now I hope you can try eamiotest.exe and see if it works.
icex2 commented 2022-01-09 19:33:40 +03:00 (Migrated from github.com)

In GitLab by @HAYU on Jan 9, 2022, 17:33

  • I've never thought of using eamiotest.exe with eamio-icca. lol thanks
  • Using the '-c' option using jbio-p4io and eamio, the game does not boot properly, but it is difficult to accurately explain the symptoms, so I omitted it. I guess it's because It can't use H44B too.
  • Everyone may think that P3IO support is easy, but after looking at the source, I was convinced that it was not easy. and I give up because I don't have the ability to bypass the plug check by modifying device.dll.
  • Knits continue to update logs even after the game screen is created, but copious stops updating logs.
  • I can't check it because I don't have any data for jb2008. and although outside of discussion, that's too bad that ripples can't boot either. I don't know who can upload the unpacked module in 2022, but I wish someone to do it.
In GitLab by @HAYU on Jan 9, 2022, 17:33 - I've never thought of using eamiotest.exe with eamio-icca. lol thanks - Using the '-c' option using jbio-p4io and eamio, the game does not boot properly, but it is difficult to accurately explain the symptoms, so I omitted it. I guess it's because It can't use H44B too. - Everyone may think that P3IO support is easy, but after looking at the source, I was convinced that it was not easy. and I give up because I don't have the ability to bypass the plug check by modifying device.dll. - Knits continue to update logs even after the game screen is created, but copious stops updating logs. - I can't check it because I don't have any data for jb2008. and although outside of discussion, that's too bad that ripples can't boot either. I don't know who can upload the unpacked module in 2022, but I wish someone to do it.
icex2 commented 2022-01-10 10:41:56 +03:00 (Migrated from github.com)

In GitLab by @HAYU on Jan 10, 2022, 08:41

There is no problem using contactless reader in eamiotest. It scan well several times.

In GitLab by @HAYU on Jan 10, 2022, 08:41 There is no problem using contactless reader in eamiotest. It scan well several times.
icex2 commented 2022-01-10 15:38:03 +03:00 (Migrated from github.com)

In GitLab by @mon on Jan 10, 2022, 13:38

Thank you for the extra information - I will see what I can do.

In GitLab by @mon on Jan 10, 2022, 13:38 Thank you for the extra information - I will see what I can do.
icex2 commented 2022-04-03 08:13:58 +03:00 (Migrated from github.com)

In GitLab by @expandbanana on Apr 3, 2022, 07:13

All 16 buttons go off on Copious with the magic box jbio at seemingly random intervals, but doesn't go into test/service. Can also hang the test menu sometimes when it happens while there.

In GitLab by @expandbanana on Apr 3, 2022, 07:13 All 16 buttons go off on Copious with the magic box jbio at seemingly random intervals, but doesn't go into test/service. Can also hang the test menu sometimes when it happens while there.
icex2 commented 2022-04-03 15:15:56 +03:00 (Migrated from github.com)

In GitLab by @mon on Apr 3, 2022, 14:15

Definitely seems like another instance of #89. The most painful bug in all of bemanitools? Quite possibly!

In GitLab by @mon on Apr 3, 2022, 14:15 Definitely seems like another instance of #89. The most painful bug in all of bemanitools? Quite possibly!
icex2 commented 2022-04-03 15:29:49 +03:00 (Migrated from github.com)

In GitLab by @mon on Apr 3, 2022, 14:29

Ok, some updates. Any code changes are in my jb-fixes branch, which is an upcoming MR.

  • button misfires: still no idea. IO is crazy yo.
  • Security errors: sec code is now taken from ea3-config. Mismatching code (due to append.txt being present) will abort boot with a user message.
  • fast timers: the game uses some utterly terrible frame timing code that assumes the fps is 30, which totally falls apart in windowed mode on modern 60Hz systems. All timing is correct when the display is set to 30Hz. Fixing it is going to be far more effort than it's worth, just run fullscreen or windowed with a desktop FPS of 30.
  • wavepass errors: @HAYU, a thought. If it's not too difficult, can you try running SDVX with the wavepass reader? I wonder if there is an edge case in eamio-icca that is hit with wavepass only?
  • docs: eh, whatever. I know it's a thing, if anyone has the same issue I can triage easily
  • crash in test menu: really cannot replicate at all. Not much else to do...
  • vertical as default: too annoying to change the defaults as I can't think of a good letter. Have just modified everything in dist/ to render vertical by default.
In GitLab by @mon on Apr 3, 2022, 14:29 Ok, some updates. Any code changes are in my jb-fixes branch, which is an upcoming MR. - button misfires: still no idea. IO is crazy yo. - Security errors: sec code is now taken from ea3-config. Mismatching code (due to append.txt being present) will abort boot with a user message. - fast timers: the game uses some utterly terrible frame timing code that assumes the fps is 30, which totally falls apart in windowed mode on modern 60Hz systems. All timing is correct when the display is set to 30Hz. Fixing it is going to be far more effort than it's worth, just run fullscreen or windowed with a desktop FPS of 30. - wavepass errors: @HAYU, a thought. If it's not too difficult, can you try running SDVX with the wavepass reader? I wonder if there is an edge case in eamio-icca that is hit with wavepass only? - docs: eh, whatever. I know it's a thing, if anyone has the same issue I can triage easily - crash in test menu: really cannot replicate at all. Not much else to do... - vertical as default: too annoying to change the defaults as I can't think of a good letter. Have just modified everything in `dist/` to render vertical by default.
icex2 commented 2022-04-03 15:48:35 +03:00 (Migrated from github.com)

In GitLab by @HAYU on Apr 3, 2022, 14:48

@mon You want me to run SDVX using eamio-icca?

In GitLab by @HAYU on Apr 3, 2022, 14:48 @mon You want me to run SDVX using eamio-icca?
icex2 commented 2022-04-03 15:53:45 +03:00 (Migrated from github.com)

In GitLab by @mon on Apr 3, 2022, 14:53

Yes - I wonder if eamio-icca itself has problems, instead of jbhook.

In GitLab by @mon on Apr 3, 2022, 14:53 Yes - I wonder if eamio-icca itself has problems, instead of jbhook.
icex2 commented 2022-04-03 16:11:00 +03:00 (Migrated from github.com)

In GitLab by @HAYU on Apr 3, 2022, 15:11

Ok I'll try it soon.

In GitLab by @HAYU on Apr 3, 2022, 15:11 Ok I'll try it soon.
icex2 commented 2022-04-03 22:20:46 +03:00 (Migrated from github.com)

The symptoms I have observed with this issue so far in #89 point to an issue in the hooking backend, probably capnhook. The following does not back it up further, rather adds more mystery: pumptools's hook backend is based on capnhook and experiences the same issues. I do not know if these issues are connected. Considering that pumptools runs on Linux while bemanitools runs on Windows, it may be unlikely. However, the code on pumptools is based of capnhook and uses the same design and shares serveral platform independent data structures, e.g. list implementation.
This might be a clue reducing the scope of the issue, but could also be misleading.

Maybe it helps to get an investigation started.

I remember trying to debug this issue several times but have failed due to not being able to reproduce the issue locally and reliably.

The symptoms I have observed with this issue so far in #89 point to an issue in the hooking backend, probably capnhook. The following does not back it up further, rather adds more mystery: pumptools's hook backend is based on capnhook and experiences the same issues. I do not know if these issues are connected. Considering that pumptools runs on Linux while bemanitools runs on Windows, it may be unlikely. However, the code on pumptools is based of capnhook and uses the same design and shares serveral platform independent data structures, e.g. list implementation. This might be a clue reducing the scope of the issue, but could also be misleading. Maybe it helps to get an investigation started. I remember trying to debug this issue several times but have failed due to not being able to reproduce the issue locally and reliably.
icex2 commented 2022-05-05 10:48:08 +03:00 (Migrated from github.com)

In GitLab by @HAYU on May 5, 2022, 09:48

Sorry I'm late. I tested eamiotest, jubeat knit, copious, festo, SDVX IV, and V on Windows 10 x64 PC using eamio-icca.

The wavepass reader works fine with eamiotest, festo, SDVX IV, and V. but knit and copious stop I:aciodrv-device: Resetting device without further progress.

test version is 5.38. Recently, the cab was not available, so there was no real IO because it was tested on a PC. Please let me know if you need any more results.

+) Who should I ask for permission to Merge requests? I want to add windowed mode support to jbhook3.

In GitLab by @HAYU on May 5, 2022, 09:48 Sorry I'm late. I tested eamiotest, jubeat knit, copious, festo, SDVX IV, and V on Windows 10 x64 PC using eamio-icca. The wavepass reader works fine with eamiotest, festo, SDVX IV, and V. but knit and copious stop ``I:aciodrv-device: Resetting device`` without further progress. test version is ``5.38``. Recently, the cab was not available, so there was no real IO because it was tested on a PC. Please let me know if you need any more results. +) Who should I ask for permission to ``Merge requests``? I want to add windowed mode support to jbhook3.
icex2 commented 2022-05-06 21:34:53 +03:00 (Migrated from github.com)

Actually, I noticed just now that @mon has not merged his approved MR https://dev.s-ul.net/djhackers/bemanitools/-/merge_requests/109 yet. I can look into that later and push out another minor release.

The wavepass reader works fine with eamiotest, festo, SDVX IV, and V. but knit and copious stop I:aciodrv-device: Resetting device without further progress.

Not having more data points on that, but that does sound like interaction with the aciodrv is slightly different on some games for different card types. You sound like you have some dev experience. Considering you have a setup to test and reproduce this, you could look into adding some simple debug prints/printf calls to several spots in the eamio-icca library. Build it, set logging to file, run the game and reproduce the issue. Get output for a working case, e.g. from festo, and a non working case, e.g. knit, and compare the two. Try to understand what's different in the output and where it gets stuck. With the good debug output, you might be able to understand what might be to expect next on the test where the game gets stuck. That insight might already give us some pointers what we need to further look into next.

I hope this helps somewhat as I don't have a lot of time to spare for bemanitools right now. Otherwise, an actual live debug session might be a valuable thing to do.

Let me know if you have any questions or ideas how I might support you.

+) Who should I ask for permission to Merge requests? I want to add windowed mode support to jbhook3.

Just open a MR once you got something you would like to get reviewed. There is @xyen and myself who can review less game specific things, which includes window mode support. For very game specific stuff for games we haven't worked on, it's usually good to also get @mon's perspective. Depending on our confidence we will make sure to loop in the right people.

Actually, I noticed just now that @mon has not merged his approved MR https://dev.s-ul.net/djhackers/bemanitools/-/merge_requests/109 yet. I can look into that later and push out another minor release. > The wavepass reader works fine with eamiotest, festo, SDVX IV, and V. but knit and copious stop `I:aciodrv-device: Resetting device` without further progress. Not having more data points on that, but that does sound like interaction with the aciodrv is slightly different on some games for different card types. You sound like you have some dev experience. Considering you have a setup to test and reproduce this, you could look into adding some simple debug prints/printf calls to several spots in the eamio-icca library. Build it, set logging to file, run the game and reproduce the issue. Get output for a working case, e.g. from festo, and a non working case, e.g. knit, and compare the two. Try to understand what's different in the output and where it gets stuck. With the good debug output, you might be able to understand what might be to expect next on the test where the game gets stuck. That insight might already give us some pointers what we need to further look into next. I hope this helps somewhat as I don't have a lot of time to spare for bemanitools right now. Otherwise, an actual live debug session might be a valuable thing to do. Let me know if you have any questions or ideas how I might support you. > \+) Who should I ask for permission to `Merge requests`? I want to add windowed mode support to jbhook3. Just open a MR once you got something you would like to get reviewed. There is @xyen and myself who can review less game specific things, which includes window mode support. For very game specific stuff for games we haven't worked on, it's usually good to also get @mon's perspective. Depending on our confidence we will make sure to loop in the right people.
icex2 commented 2022-05-06 23:54:00 +03:00 (Migrated from github.com)

In GitLab by @HAYU on May 6, 2022, 22:54

I also thought it strange that the MR of Mon would not be merged for a long time lol

Shamefully, I have no previous dev experience, but I tried out as a wild man because of BEMANI. I will try the part you mentioned by myself and ask for help if there is a problem. and now I have confirmed that I have a new merge request button. Thanks!

In GitLab by @HAYU on May 6, 2022, 22:54 I also thought it strange that the MR of Mon would not be merged for a long time lol Shamefully, I have no previous dev experience, but I tried out as a wild man because of BEMANI. I will try the part you mentioned by myself and ask for help if there is a problem. and now I have confirmed that I have a new merge request button. Thanks!
icex2 commented 2022-05-23 18:10:44 +03:00 (Migrated from github.com)

In GitLab by @HAYU on May 23, 2022, 17:10

Is there anyone else who turns off before the game window pops up? All other versions are fine, but only Copious has this problem. This symptom appears approximately once every 5~10 times. I've had problems before, but I forgot the report. When the game is turned off, no unusual logs occur, and they just turn off at the end of the attached log.txt.

from Windows 10 x64 PC

log.txt

In GitLab by @HAYU on May 23, 2022, 17:10 Is there anyone else who turns off before the game window pops up? All other versions are fine, but only `Copious` has this problem. This symptom appears approximately once every 5~10 times. I've had problems before, but I forgot the report. When the game is turned off, no unusual logs occur, and they just turn off at the end of the attached `log.txt`. from Windows 10 x64 PC [log.txt](https://dev.s-ul.net/djhackers/bemanitools/uploads/64eb83f5a8f8ec887a9269db7f27f5a5/log.txt)
icex2 commented 2023-04-06 15:56:33 +03:00 (Migrated from github.com)

FYI that the PR https://github.com/djhackersdev/bemanitools/pull/236 includes potential fixes. The fixes are also included in the tagged release 5.44. Any testing feedback is welcome.

FYI that the PR https://github.com/djhackersdev/bemanitools/pull/236 includes potential fixes. The fixes are also included in the tagged release 5.44. Any testing feedback is welcome.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Max/djhackersdev_bemanitools#92