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

8-bit Normal Serial IO mode not working #2172

Closed
felixjones opened this issue May 13, 2021 · 0 comments
Closed

8-bit Normal Serial IO mode not working #2172

felixjones opened this issue May 13, 2021 · 0 comments
Labels
hardware:link Issues in linking and serial subsystems platform:GBA Game Boy Advance-related issues
Milestone

Comments

@felixjones
Copy link
Contributor

felixjones commented May 13, 2021

ELF & ROM download (project.zip)
((please excuse the use of "master/slave" terminology))

On mGBA the master player must await for the ready state of the slave player. This is done by reading bit 2 of REG_SIOCNT (AKA "SI State (opponents SO)") until the value is "low" (0, ready state).

This status never changes in mGBA. It is always "high" (1, not ready state).

Video of the above ROM on hardware:
https://user-images.githubusercontent.com/1824671/118163070-d4ad9c00-b421-11eb-96ee-9a2be376da84.mp4

In this demo ROM player 1 can send buttons A and/or B to player 2 (regardless of master/slave setting, however P2 cannot send to P1 - due to normal mode being one directional with AGB cables. CGB cables are two directional).

Tested on latest mGBA as of this writing (0.10-6995-96988133b)
Recreation steps:

  • Load up ROM
  • Open multiplayer window
  • Load up same ROM
  • Select Master on Player 1
  • Select Slave on Player 2
  • Press A and/or B on Player 1
  • Expected: Player 2 receives value. Actual: Master "times out" (bit 2 of REG_SIOCNT never changes).

EDIT: Tested with Normal32, which seems to work fine. I suppose this issue is Normal8 only.

@felixjones felixjones changed the title Normal Serial IO mode not working 8-bit Normal Serial IO mode not working May 13, 2021
@endrift endrift added the platform:GBA Game Boy Advance-related issues label May 13, 2021
@endrift endrift added this to the mGBA 0.9.2 milestone May 15, 2021
@endrift endrift added the hardware:link Issues in linking and serial subsystems label May 15, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
hardware:link Issues in linking and serial subsystems platform:GBA Game Boy Advance-related issues
Projects
None yet
Development

No branches or pull requests

2 participants