mirror of
https://github.com/ran-j/PS2Recomp.git
synced 2026-09-26 08:51:05 -04:00
c4355c8cda
Real PS2 pads power up in DIGITAL mode (CURID 4, mode byte 0x41) and only switch to analog (CURID 7, 0x73) when the game calls scePadSetMainMode. The three open-time sites in Pad.cpp incorrectly set analogMode=true, so scePadInfoMode(PAD_MODECURID) reported analog from frame 0. Games that gate logic on the analog transition (e.g. DQ8 fn_165b20) saw an impossible state. - PadPortState default, initializePadPortLocked, scePadPortOpen: analogMode=false - scePadSetMainMode remains the only path into analog mode (unchanged) - Updated the existing pad-info test's at-open CURID expectation (7 -> 4) - Added a regression test: open reports digital (CURID 4, 0x41), then scePadSetMainMode(mode=1) switches to analog (CURID 7, 0x73)