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

DEV9: Move Adapter Detection Hack #11908

Merged
merged 2 commits into from
Oct 15, 2024

Conversation

TheLastRar
Copy link
Contributor

Description of Changes

Relocate the Adapter Detection Hack
Relocate call to resetting the network backend (tap/pcap/sockets)

Rationale behind Changes

The Adapter Detection Hack sets TXEND/RXEND/TXDNV bits in the SPD_R_INTR_STAT in order to pass a check during initialisation.
PSBBN (see #11746), however, clears TXEND/RXEND after we set them, causing it to fail to init.
HW tests indicate that both TXEND(expected) & RXEND(??) get set when processing SMAP_E3_TX_GNP_0.
TXDNV also exists, but isn't set during SMAP_E3_TX_GNP_0 (at least in the init phase), so I'm yet unsure where it comes from.

Additionally, none of the values written to SMAP_R_EMAC3_TxMODE1 are related to resetting, so move resetting the network backend.
The EMAC and PHY are reset during SMAP initialisation, so lets reset the network backend when the PHY is reset.

Suggested Testing Steps

Test networking games and homebrew.
Test with sockets, since that would be more sensitive to backend resets.

SMAP_R_EMAC3_TxMODE1_L is unrelated to resetting the adapter
@github-actions github-actions bot added the DEV9 label Oct 12, 2024
pcsx2/DEV9/smap.cpp Outdated Show resolved Hide resolved
@TheLastRar TheLastRar force-pushed the DEV9-MoveAdapterResetHack branch from 6b95f1f to 62fc66f Compare October 13, 2024 15:23
@F0bes F0bes merged commit e3a666b into PCSX2:master Oct 15, 2024
12 checks passed
@TheLastRar TheLastRar deleted the DEV9-MoveAdapterResetHack branch October 15, 2024 12:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants