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

Host: Removing and reinserting VMU without battery occasionally causes controller to lock up #2

Open
Tails86 opened this issue Aug 28, 2022 · 3 comments
Assignees
Labels
bug Something isn't working

Comments

@Tails86
Copy link
Collaborator

Tails86 commented Aug 28, 2022

To reproduce:

  • Plug in controller
  • Plug VMU (without battery) into controller, and wait until power on beep completes
  • Remove VMU
  • Repeat above two until controller stops responding completely
@Tails86
Copy link
Collaborator Author

Tails86 commented Aug 28, 2022

When a VMU is plugged in and initially powers up, the controller completely stops communicating for a while. Normally, the microcontroller will detect this and internally disconnect then continually ask for status until it responds again. This matches how the Dreamcast operates. Unlike the Dreamcast, this implementation sometimes puts the controller in a non-functioning state until it is reset. One peculiar thing I noticed is during the VMU initialization beep, logic LOW sits about 1.3 to 1.4 V when measuring SDCK lines at the controller. On the Dreamcast, the same sort of oddness happens, but logic LOW sits about 1.0 to 1.1 V.

@Tails86
Copy link
Collaborator Author

Tails86 commented Sep 5, 2022

I found that the pico has some resistance on its output already. I reduced the added resistance on the GPIO to match the total resistance that a Dreamcast has. This didn't seem to help much.

I then played around with a real Dreamcast and was actually able to reproduce this issue there. Since this is an issue on a real system too, I don't think there is much I can do about it. I'm keeping this issue open though so I can keep thinking of ways this can be fixed.

@Tails86 Tails86 added the bug Something isn't working label Oct 1, 2022
@Tails86 Tails86 changed the title Removing and reinserting VMU occasionally causes communication to fail Removing and reinserting VMU without battery occasionally causes communication to fail Oct 1, 2022
@Tails86 Tails86 self-assigned this Nov 27, 2022
@Tails86 Tails86 changed the title Removing and reinserting VMU without battery occasionally causes communication to fail Removing and reinserting VMU without battery occasionally causes controller to lock up Dec 26, 2022
@Tails86
Copy link
Collaborator Author

Tails86 commented Jan 2, 2023

The supposed reset sequence, 14 pulses on msckb while mscka is low, does not do anything to get the controller out of this state

@Tails86 Tails86 changed the title Removing and reinserting VMU without battery occasionally causes controller to lock up Host: Removing and reinserting VMU without battery occasionally causes controller to lock up Jan 16, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant