You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Apologies for posting this as an issue - not sure how to get in touch with folk who understand the protocol.
I'm finding that I cannot get a valid response from the controller until I have called decrypt and then init on it.
My controller is a cheap gamepad clone from eBay.
I can see that the nuncheck source code in controller.c get_id() seems to be reading the controller device id before doing anything else and then using that response to decide whether the init and or decrypt should be called and n what order.
However, with my controller I cannot successfully get the device id until I've already decrypted and init'd the controller.
Up until I have decrypted and init'd the controller I just get 0xFF as the device id.
This means the nuncheck64 takes be down the device unknown branch.
However if I do EXACTLY the sequence decrypt/init/getid then I get back 0x01 | 0x00 | 0xA4 | 0x20 | 0x03 | 0x01
This result is similar to the one you have for ID_NES_Classic_Mini_Clone_Encrypted however byte[4] is is 0x03 in my case rather than what you have 0x00 because my init code is requesting data format 3 and not data format 0.
Data format 0 is not available on my controller and it only respond with 8 bytes (ie format 3) and not 6 bytes so rather than doing an init requesting format 0 I'm requesting format 3. BTW If I request format 0 it still respond with format 3 regardess.
In anycase it seems the logic in nunchuck 64 doesn't work for my clone and the only order that works is .. decrypt/init and then getid or read state work fine.
Is this a known issue with some controllers?
Is there a forum where this would be better asked?
Thanks
The text was updated successfully, but these errors were encountered:
Johnlon
changed the title
Problem wit communicating with Nes mini clone controller
Problem communicating with Nes mini clone controller
Aug 25, 2021
Apologies for posting this as an issue - not sure how to get in touch with folk who understand the protocol.
I'm finding that I cannot get a valid response from the controller until I have called decrypt and then init on it.
My controller is a cheap gamepad clone from eBay.
I can see that the nuncheck source code in controller.c get_id() seems to be reading the controller device id before doing anything else and then using that response to decide whether the init and or decrypt should be called and n what order.
However, with my controller I cannot successfully get the device id until I've already decrypted and init'd the controller.
Up until I have decrypted and init'd the controller I just get 0xFF as the device id.
This means the nuncheck64 takes be down the device unknown branch.
However if I do EXACTLY the sequence decrypt/init/getid then I get back 0x01 | 0x00 | 0xA4 | 0x20 | 0x03 | 0x01
This result is similar to the one you have for ID_NES_Classic_Mini_Clone_Encrypted however byte[4] is is 0x03 in my case rather than what you have 0x00 because my init code is requesting data format 3 and not data format 0.
Data format 0 is not available on my controller and it only respond with 8 bytes (ie format 3) and not 6 bytes so rather than doing an init requesting format 0 I'm requesting format 3. BTW If I request format 0 it still respond with format 3 regardess.
In anycase it seems the logic in nunchuck 64 doesn't work for my clone and the only order that works is .. decrypt/init and then getid or read state work fine.
Is this a known issue with some controllers?
Is there a forum where this would be better asked?
Thanks
The text was updated successfully, but these errors were encountered: