Skip to content

Commit

Permalink
DEV9: Add note regarding IF_CTRL bit 3
Browse files Browse the repository at this point in the history
  • Loading branch information
TheLastRar authored and F0bes committed Oct 17, 2024
1 parent 46d5d24 commit 1e23e7e
Showing 1 changed file with 11 additions and 2 deletions.
13 changes: 11 additions & 2 deletions pcsx2/DEV9/DEV9.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -733,8 +733,17 @@ void SpeedWrite(u32 addr, u16 value, int width)
//else
// DevCon.WriteLn("DEV9: IF_CTRL ATA DMA Disabled");

if (value & (1 << 3))
DevCon.WriteLn("DEV9: IF_CTRL Unknown Bit 3 Set");
/* During a HDD DMA transfer, the ATA regs are inacessable.
* The SPEED will cache register writes and wait until the end of the DMA block to write them.
* Bit 3 controls what happens when a read is performed while the ATA regs are inacessable.
* When set, the SPEED will asserts /WAIT to the IOP and wait for the HDD to end the DMA block, before reading the reg.
* When cleared, the read will fail if mid DMA. bit 1 in reg 0x62 indicates if the last read failed.
* Our DMA transfers are instant, so we can ignore this bit.
*/
//if (value & (1 << 3))
// DevCon.WriteLn("DEV9: IF_CTRL Wait for ATA register read Enabled");
//else
// DevCon.WriteLn("DEV9: IF_CTRL Wait for ATA register read Disabled");

if (value & (1 << 4))
Console.Error("DEV9: IF_CTRL Unknown Bit 4 Set");
Expand Down

0 comments on commit 1e23e7e

Please sign in to comment.