From 4c7389e452b10cbfd34797ff5fe3a28b2a251ee7 Mon Sep 17 00:00:00 2001 From: wheremyfoodat Date: Tue, 23 Aug 2022 01:01:54 +0300 Subject: [PATCH] [Pad] Watchdog stuff --- docs/controllersandmemorycards.md | 34 +++++++++++++++++-------------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/docs/controllersandmemorycards.md b/docs/controllersandmemorycards.md index 377280d..ed3ee73 100644 --- a/docs/controllersandmemorycards.md +++ b/docs/controllersandmemorycards.md @@ -1357,20 +1357,6 @@ Entering configuration mode enables the DualShock rumble method and disables the xx=00h Stay in Normal mode xx=01h Enter Configuration mode ``` -Caution: Additionally to activating configuration commands, entering config -mode does also activate a Watchdog Timer which does reset the controller if -there's been no communication for about 1 second or so. The watchdog timer -remains active even when returning to normal mode via Exit Config command. The -reset does disable and lock rumble motors, and switches the controller to -Digital Mode (with LED=off, and analog inputs disabled). To prevent this, be -sure to keep issuing joypad reads even when not needing user input (eg. while -loading data from CDROM).
-Caution 2: A similar reset occurs when the user pushes the Analog button; this -is causing rumble motors to be stopped and locked, and of course, the -analog/digital state gets changed.
-Caution 3: If config commands were used, and the user does then push the analog -button, then the 5Ah-byte gets replaced by 00h (ie. responses change from "HiZ -id 5Ah ..." to "HiZ id 00h ...").
#### Config Mode - Command 42h "B" - Read Buttons AND analog inputs ``` @@ -1481,12 +1467,30 @@ unknown. The command does not seem to be used by any games.
These commands do return a bunch of 00h bytes. Purpose unknown. These commands do not seem to be used by any games.
+#### Watchdog Timer +Caution: Additionally to activating configuration commands, entering config +mode does also activate a Watchdog Timer which does reset the controller if +there's been no communication for about 1 second or so. The watchdog timer +remains active even when returning to normal mode via Exit Config command. The +reset does disable and lock rumble motors, and switches the controller to +Digital Mode (with LED=off, and analog inputs disabled). To prevent this, be +sure to keep issuing joypad reads even when not needing user input (eg. while +loading data from CDROM).
+Caution 2: A similar reset occurs when the user pushes the Analog button; this +is causing rumble motors to be stopped and locked, and of course, the +analog/digital state gets changed.
+Caution 3: If config commands were used, and the user does then push the analog +button, then the 5Ah-byte gets replaced by 00h (ie. responses change from "HiZ +id 5Ah ..." to "HiZ id 00h ...").
+Caution 4: Most emulators do not emulate this watchdog functionality +so any homebrew with analog pad support should ideally also be tested on hardware +to make sure it doesn't accidentally trigger the watchdog
+ #### Note Rumble is a potentially annoying feature, so games that do support rumble should also include an option to disable it.
- ## Controllers - Dance Mats PSX Dance Mats are essentially normal joypads with uncommonly arranged buttons, the huge mats are meant to be put on the floor, so the user could step on them.