Closed obibann closed 2 years ago
Hi all,
I tried to build Nintendont with HID debug enabled, but I have no traces in the generated log file ...
What I changed :
in global.h
#define DEBUG_HID 1
What I got :
Nintendont IOS58 v25.32
Built : Aug 7 2021 13:18:51
Version : 6.496
Game path: /games/The Legend of Zelda Collector's Edition [PZLP01]/game.iso
EXIInit Start
EXI: Trying to open /saves/PZLP.raw
EXI: Trying to open /saves/PZLP_B.raw
EXI: Slot B has been disabled.
Kernel Start
DIP:Apploader, preparing to patch
DIP:DOL Size:3147652 MinOff:0x00003200 MaxOff:0x0031BB80
DIP:DOL EntryPoint::0x80002F90, GameEntry::0x80003254
Patch:Offset:0x00003200 EOffset:0x0031BB80 Length:00318980
Patch:Game ID = 505a4c50
Patch:[SI] applied 19 times
Patch:[AI] applied 17 times
Patch:[DI] applied 41 times
Patch:[OSExceptionInit] skipped (0x0002E968)
Patch:[SetInterruptMask] applied (0x00031488)
Patch:[__OSDispatchInterrupt] applied (0x00031870)
Patch:[__OSResetSWInterruptHandler] applied (0x00032D74)
Patch:[OSGetResetButtonState A] applied (0x00032DE4)
Patch:[__DVDInterruptHandler]: 0x00035818 (0x00035818)
Patch:[PADRead A] applied (0x0003CB40)
Patch:[PADControlMotor B] applied (0x0003CEEC)
Patch:[ARStartDMA] applied (0x0003E330)
Patch:[ARInit] skipped (0x0003E488)
Patch:[__ARHandler] skipped (0x0003E554)
Patch:[__ARChecksize B] applied (0x0003E93C)
Patch:[ARQPostRequest] skipped (0x00040000)
Patch:[GXInit] stw r5,-0x7820(r13) (0x000409D6)
Patch:[PI_FIFO_WP] rlwinm r3,r0,0,3,1 (0x00041F5C)
Patch:[__GXSetVAT A] applied (0x00042C18)
Patch:[GXInitTlutObj B] applied (0x00044D28)
Patch:[GXLoadTlut] skipped (0x00044D60)
Patch:[__fwrite B] applied (0x0004F7FC)
Patch:[EXIImm A] applied (0x000565F8)
Patch:[EXIDMA A] applied (0x000568F4)
Patch:[EXIDMA] ChanLen:00000040
Patch:[EXISync B] applied (0x000569E0)
Patch:[__EXIProbe A] applied (0x00056C74)
Patch:[EXISelect A] applied (0x00056FB0)
Patch:[EXIDeselect A] applied (0x000570DC)
Patch:[EXIntrruptHandler B] applied (0x000571F0)
Patch:[TCIntrruptHandler B] applied (0x000572B8)
Patch:[EXILock A] applied (0x00057770)
Patch:[EXIUnlock A] applied (0x000578BC)
Patch:[CompleteTransfer A] applied (0x00058380)
Patch:[SIEnablePollingInterrupt A] applied (0x000589F0)
Patch:[SIEnablePollingInterrupt A] applied (0x000589F4)
Patch:[SIInit A] applied (0x00058C40)
Patch:[SIInterruptHandler] applied (0x0005864C)
Patch:[SIInterruptHandler] applied (0x00058778)
Patch:[__SITransfer A] applied (0x00058CF4)
Patch:[__SITransfer A] applied (0x00058DDC)
Patch:[SIGetType A] applied (0x000596DC)
Patch:[DSP v5] patched (0x002FBEE0)
Patch:[PADInit] applied (0x0003CB3C)
Patch:[C_MTXPerspective] not found
Patch:[C_MTXLightPerspective] not found
Patch:[__OSInitAudioSystem] not found
Patch:[__DSPHandler] not found
Patch:[PADControlAllMotors] not found
Patch:[PADIsBarrel] not found
Patch:[__PADSetSamplingRate] not found
Patch:[__CARDReadStatus] not found
Patch:[__CARDClearStatus] not found
Patch:[__CARDStat] not found
Patch:[ReadROM] not found
Patch:[__OSReadROM] not found
Patch:Using a EXI Timing of 1900
Jumping to 0x80003254
<< Dolphin SDK - EXI release build: Apr 17 2003 12:33:17 (0x2301) >>
<< Dolphin SDK - SI release build: Apr 17 2003 12:33:19 (0x2301) >>
Dolphin OS
Kernel built : Apr 17 2003 12:33:06
Console Type : Retail 2
Memory 24 MB
Arena : 0x8032bba0 - 0x817ffce0
<< Dolphin SDK - OS release build: Apr 17 2003 12:33:06 (0x2301) >>
<< Dolphin SDK - DVD release build: Apr 22 2003 15:49:00 (0x2301) >>
<< Dolphin SDK - AR release build: Apr 17 2003 12:33:55 (0x2301) >>
<< Dolphin SDK - ARQ release build: Apr 17 2003 12:33:56 (0x2301) >>
<< Dolphin SDK - VI release build: Apr 17 2003 12:33:22 (0x2301) >>
<< Dolphin SDK - GX release build: Apr 21 2003 14:55:46 (0x2301) >>
<< Dolphin SDK - PAD release build: Apr 17 2003 12:33:44 (0x2301) >>
<< Dolphin SDK - AI release build: Apr 17 2003 12:33:54 (0x2301) >>
<< Dolphin SDK - DSP release build: Apr 17 2003 12:34:16 (0x2301) >>
Got Shutdown button call
EXI: Saving memory card(s)...Done!
I just ended up in similar fault situation as didn't know better but i have one thing to comment
I accidentally wrote for "Power" button wrong value 2,01
While launching a game it registers Power button as it goes instead of game intro to back Homebrew launcher just as pressing Power button.
0F0D 00C1
Device parameters was used.
I retested and if i keep pressing the actual button while 'incorrect' Power button value, it will register it and wont "power off" and at intro once again wont register anything so it reads during launch at least controller input correctly.
The HORIPAD + Switch also has the PID 00dc. It presents itself ans an Xinput device, for some reason.
Completed? is there a fix for this?
@endrift did this issue fixed in frames of some other commit? or why closed it?
I'm not the one who closed it.
I see, it's @carnage702
Currently my Wii with Nintendont and HIDTest 0.6 detected the controller, preparing mapping and will share it soon.
Still Not working :(
Mac detects the gamepad as
HIDTest v 0.6 detects it but with different PID
I have created two different files with names 00C1_0F0D.ini
and 00DC_0F0D.ini
but still not working
ini file content
[Switch Wired Game Cube]
VID=0F0D
PID=00DC or 00C1
Polltype=1
DPAD=1
DigitalLR=1
A=0,04
B=0,02
X=0,08
Y=0,01
Z=0,80
L=0,10
R=0,20
S=1,10
Left=2,06
Down=2,04
Right=2,02
Up=2,00
RightUp=2,01
DownRight=2,03
DownLeft=2,05
UpLeft=2,07
StickX=3
StickY=4
CStickX=5
CStickY=6
Power=1,20
LAnalog=1,04
RAnalog=1,08
@carnage702 @endrift could you please hint me with possible direction of fixing this issue?
I agree that there is some kind of issue with this controller, my understanding is that it's not purely a Switch Pro controller since it works in HID Test, so this should be reopened.
There is actually a workaround to use this controller, by using a Mayflash Magic-NS 2 adapter. I made a custom config for this controller which I posted here: https://github.com/FIX94/Nintendont/pull/851#issuecomment-1229569455
I'm not sure about the mode with PID 00c1, but when the mode is 00dc it acts as an XInput controller. It requires a special packet to be sent to it before it will start sending input reports: https://github.com/paroj/xpad/blob/master/xpad.c#L1397-L1401
wow @FailedShack nice catch, what is the plugin scheme with that "Mayflash Magic-NS 2 adapter"?
on the video is this GameCube game?
@endrift I'm not proficient in HID devices, but perhaps it shows itself as two devices at once and that confuses Nintendont? 00DC
as an XInput controller and 00C1
(presumably) as a Switch Pro controller?
@cystbear Not sure what you mean by plugin scheme and yeah it is a Gamecube game, Smash Bros Melee.
Assuming you had the adapter: Extract controllers.zip
in my comment to the root of the SD card. Plug the Battle Pad into the adapter and then that into the Wii. Turn on the Wii. Press and hold the button on the side of the adapter, the LED will change color, repeat until it turns blue (you only need to do this once).
@FailedShack "plugin scheme" I mean this "Plug the Battle Pad into the adapter and then that into the Wii" thanks
@cystbear By plug meaning insert. Insert the end of the controller into the adapter, and the adapter into a USB port on the back of the Wii. Either should work.
My VID_PID
@FailedShack I have bought Mayflash Magic-NS 2
Everything works for me.
What I defined Mayflash Magic-NS 2 works without any additional .ini file and my own .ini file ignored. I think fo reason my VID_PID different than HIDTest shows, for this reason I can not override that settings.
I have set adapter to sky blue mode.
I have swapped A <=> B via The buttons AB and XY can be switched (remapped) by pressing and holding START + A/B for 3 seconds.
Only one question left: is it possible to inverse C-stick by X-axis, it's game (Zelda WindWaker) issue. But is any way to invert it back via config?
@cystbear @FailedShack I'm late to this whole conversation but I just wanted to know if the light version of the MAYFLASH adapter or the first revision of the adapter works for nintendont. Along with this, does the controller work in the nintendont menu, or even the homebrew menu? Sorry for the inconvenience.
@Gonefishingonewrong I did not experimented, I bought exactly that MYFLASH which @FailedShack mentioned, probably higher models should work as well.
No, controller works only in GC game. For navigation in nintendont you should use wiimote.
Thanks for the help, I bought the adapter and it is working flawlessly.
Strangely enough the Cronus Zen identifies as a Horipad S in Windows (0F0D:00C1) in Nintendo Switch emulation output mode (set via Zen Studio) and it is an adapter itself. Luckily it has the option to be set to Dualshock 3 or Dualshock 4 mode as output but I was hoping it could be set to Nintendo Switch mode on Nintendont. It seems not as most of you guys use a Mayflash adapter. Using a mayflash adapter to have a Cronus adapter working is a bit weird.
@FailedShack Thank you very much for solving the problem. I bought this adapter, used your file and everything works great. @cystbear Thanks for the reminder about the ability to reassign buttons.
This GamePad is supposed to be supported because Hid Test sees it and when buttons are pressed, values change.
However, despite of having a folder "controllers" and the file controller.ini on SD root, the gamepad does not work under Nintendont.
But something is strange about this controller.
1) identification problem
On the computer, the gamepad is identified as 0F0D:00DC.
Bus 001 Device 019: ID 0f0d:00dc Hori Co., Ltd HORIPAD S
On HID test 2 devices are listed : 0F0D:00DC and 0F0D:00C1.
When I use a controller.ini file fo 0F0D:00DC, Hid Test tells me it's not the right file. When I use a controller.ini file fo 0F0D:00C1, Hid Test detects the gamepad and I can test the buttons.
2) Nintendont
I tried using 0F0D:00DC and 0F0D:00C1 in controller.ini, the controller is not detected. controller.ini.txt