ppsspp icon indicating copy to clipboard operation
ppsspp copied to clipboard

UNO - NPUH10027 freezes up (doesnt deal the cards)

Open benderscruffy opened this issue 7 years ago • 27 comments

jpcsp trace.txt using version 1.3 after you select solo player the music still plays but the game freezes up this comment in jpcsp made it work r3366 sceNetInetSocket: draft implementation for socket type 10. From the JpcspTrace, it looks like a SOCK_STREAM, but the specifics are still unknown. Improved sceNetInetSelect: some of the parameters can be NULL.

here is a jpcsp trace

jpcsp trace.txt

benderscruffy avatar Oct 06 '16 01:10 benderscruffy

Has this worked previously? Does it work if the wifi switch is off?

-[Unknown]

unknownbrackets avatar Oct 07 '16 18:10 unknownbrackets

ppsspplog.txt debug log rename txt to zip

no it hasn't worked in previous versions no it doesn't work with the WiFi switched off

benderscruffy avatar Oct 08 '16 01:10 benderscruffy

v1.5.4-933-g386c9d4fc still present the game doesnt deal the cards

benderscruffy avatar Apr 27 '18 01:04 benderscruffy

v1.6.3-526-g669079454 still present the game doesnt deal the cards ppsspplog.zip

benderscruffy avatar Oct 02 '18 08:10 benderscruffy

v1.7.5-566-gf316a6590 still the same problem Unimplemented HLE functions ppsspplog.zip

benderscruffy avatar Mar 14 '19 11:03 benderscruffy

Problem still here.. no UNO, girlfriend not happy.

[libretro INFO] [SCEIO] stderr: [01-Jan-2020 17:53:46] connect failed to 58.1.2.128:8111! [libretro INFO] [SCEIO] stderr: [libretro ERROR] [SCENET] UNIMPL sceNetInetSend(-1, 09fbf604, 96, 00000000) [libretro ERROR] [HLE] Unimplemented HLE function sceNetInetSelect [libretro INFO] [SCEIO] stderr: [01-Jan-2020 17:53:46] CommonSocket::recv_msg() select error : 0 [libretro INFO] [SCEIO] stderr: [libretro ERROR] [HLE] Unimplemented HLE function sceNetInetInetAddr [libretro ERROR] [SCENET] UNIMPL sceNetInetConnect(-1, 09fbf590, 16) [libretro INFO] [SCEIO] stderr: [01-Jan-2020 17:53:46] CommonSocket::do_connect() can not init connection! code : 0 [libretro INFO] [SCEIO] stderr: [libretro ERROR] [SCENET] UNIMPL sceNetInetSocket(2, 10, 0) [libretro ERROR] [SCENET] UNIMPL sceNetInetSetsockopt(-1, 65535, 4, 09fbf550, 4) [libretro ERROR] [SCENET] UNIMPL sceNetInetSetsockopt(-1, 65535, 4098, 09fbf554, 4) [libretro ERROR] [SCENET] UNIMPL sceNetInetSetsockopt(-1, 65535, 4097, 09fbf554, 4) [libretro INFO] [SCEIO] stderr: [01-Jan-2020 17:53:46] connect failed to 58.1.2.128:8111! [libretro INFO] [SCEIO] stderr: [libretro ERROR] [SCENET] UNIMPL sceNetInetSend(-1, 09fbf604, 96, 00000000)

defcon8 avatar Jan 01 '20 17:01 defcon8

connect failed to 58.1.2.128:8111!

Does thsi still work on a PSP? Seems like the game server is down. Maybe we're not giving an error code properly...

-[Unknown]

unknownbrackets avatar Jan 01 '20 18:01 unknownbrackets

Dont know, i'm trying to run UNO in single player mode on ppsspp (i also don't understand why it's giving sockets errors, don't even know if its related to the original problem), the game runs fine.. until you see the decks of the cards.. music still plays.. but controls are not responding and you're stuck.

defcon8 avatar Jan 01 '20 18:01 defcon8

single player doesnt need to connect to the server

benderscruffy avatar Jan 02 '20 09:01 benderscruffy

@unknownbrackets do you need a jpcsp trace

benderscruffy avatar Jan 02 '20 12:01 benderscruffy

This Game is unplayable due to sceNetInet Functions are not implemented on PPSSPP

Panderner avatar Mar 18 '20 09:03 Panderner

Even the single player mode Didn't Work. it stucks at the starting the game

Panderner avatar Mar 18 '20 10:03 Panderner

Uno works in JPCSP. Why isn't it working in PPSSP?

lexterror avatar Jun 18 '20 01:06 lexterror

Likely because for whatever reason the game tries to connect to a server even in single player mode, and we haven't implemented the internet functions it uses at all, so it gets error codes it doesn't expect and gets confused.

hrydgard avatar Aug 20 '20 11:08 hrydgard

Hrydgard I hope it's not too offtopic but for those that want to play the exact same uno game I would recommend downloading Dolphin Emulator for either PC or Android and downloading "uno.wad" file which is available from archive.org at no cost. I just found out a few minutes ago. It plays great and it's the exact same uno game. Thank you again for your effort Hrydgard!

lexterror avatar Aug 20 '20 12:08 lexterror

Hrydgard I hope it's not too offtopic but for those that want to play the exact same uno game I would recommend downloading Dolphin Emulator for either PC or Android and downloading "uno.wad" file which is available from archive.org at no cost. I just found out a few minutes ago. It plays great and it's the exact same uno game. Thank you again for your effort Hrydgard!

@lexterror it's off topic, this issue is for PPSSPP bug reports and feature requests

Panderner avatar Aug 20 '20 12:08 Panderner

I think it's on topic because it's about the Uno game. Good advice for passersby finding this through Google.

hrydgard avatar Aug 20 '20 13:08 hrydgard

I managed to get UNO to work on single player, it seems this game is communicating with it self through 127.0.0.1 on single player (local Client-Server mode), WLAN/adhoc multiplayer also worked image

But there is something strange with this game... it's trying to set a very large socket RCVBUF size (more than 150 Megabytes per socket?!!!) for the server(listen) and client(connect) socket, which is absurd! image

While on accepted socket it only set 65536 bytes, which is quite normal (at least on PC). image

Edit: Based on jpcsp trace on the first post, it seems to be returning an error (-1) when the game attempting to set a very large socket buffer

10:42:35 MAIN_THREAD - sceNetInetSocket 0x2, 0xA, 0x0, 0x0, 0x0, 0x1, 0x14, 0x8918220 = 0x3
10:42:35 MAIN_THREAD - sceNetInetSetsockopt 0x3, 0xFFFF, 0x4, 0x9FBCCD0, 0x4, 0xDEADBEEF, 0xDEADBEEF, 0xDEADBEEF = 0x0
10:42:36 MAIN_THREAD - sceNetInetSetsockopt 0x3, 0xFFFF, 0x1002, 0x9FBCCD4, 0x4, 0xDEADBEEF, 0xDEADBEEF, 0xDEADBEEF = 0xFFFFFFFF
10:42:36 MAIN_THREAD - sceNetInetSetsockopt 0x3, 0xFFFF, 0x1001, 0x9FBCCD4, 0x4, 0xDEADBEEF, 0xDEADBEEF, 0xDEADBEEF = 0xFFFFFFFF

I guess it was successful because it's possible to set such absurd buffer size on windows LOL

Anyone know what is the maximum SO_RCVBUF and SO_SNDBUF on PSP? so i can return an error if it's too large Probably SO_SNDBUF can have larger size than SO_RCVBUF since their minimum size is also larger on SO_SNDBUF on most OS

Based on the jpcsp trace of sceNetInetAccept, setting the buffer size to 65536 seems to be okay, so the max limit probably larger than 64k

10:42:36 MAIN_THREAD - sceNetInetAccept 0x3, 0x9FBB9A0, 0x9FBB980, 0x9FBB9B0, 0x2, 0xDEADBEEF, 0xDEADBEEF, 0xDEADBEEF = 0x5
10:42:36 MAIN_THREAD - sceNetInetSetsockopt 0x5, 0xFFFF, 0x4, 0x9FBB960, 0x4, 0x1, 0x0, 0x0 = 0x0
10:42:36 MAIN_THREAD - sceNetInetSetsockopt 0x5, 0xFFFF, 0x1002, 0x9FBB964, 0x4, 0xDEADBEEF, 0xDEADBEEF, 0xDEADBEEF = 0x0
10:42:36 MAIN_THREAD - sceNetInetSetsockopt 0x5, 0xFFFF, 0x1001, 0x9FBB964, 0x4, 0xDEADBEEF, 0xDEADBEEF, 0xDEADBEEF = 0x0

anr2me avatar Mar 07 '21 00:03 anr2me

That value is 0x093CB350, so clearly an address by mistake. Not sure how that should correctly behave... would need to create a test.

-[Unknown]

unknownbrackets avatar Mar 07 '21 04:03 unknownbrackets

Since PSP networking is closer to BSD than linux, and i saw somewhere that BSD have a max limit of 8mb for SOCK_STREAM and less than 64k for SOCK_DGRAM, i'll just use 8mb as the max limit for now.

anr2me avatar Mar 07 '21 05:03 anr2me

Well, it's almost certainly a lot less given the small RAM size of the PSP. But seems unlikely to matter much.

hrydgard avatar Mar 07 '21 09:03 hrydgard

I managed to get UNO to work on single player, it seems this game is communicating with it self through 127.0.0.1 on single player (local Client-Server mode), WLAN/adhoc multiplayer also worked image

Can you provide instructions on how you made it possible? I can't seem to replicate it on my own.

BTFighter avatar Jun 09 '21 17:06 BTFighter

I managed to get UNO to work on single player, it seems this game is communicating with it self through 127.0.0.1 on single player (local Client-Server mode), WLAN/adhoc multiplayer also worked image

Can you provide instructions on how you made it possible? I can't seem to replicate it on my own.

Currently you'll need to use the test build with infrastructure support https://www.dropbox.com/s/6q64mhqd87x3z59/PPSSPP_1.11-infratestbuild_Win32x64.zip?dl=0 Which is related to this https://github.com/hrydgard/ppsspp/issues/14256

anr2me avatar Jun 10 '21 02:06 anr2me

Currently you'll need to use the test build with infrastructure support https://www.dropbox.com/s/6q64mhqd87x3z59/PPSSPP_1.11-infratestbuild_Win32x64.zip?dl=0 Which is related to this #14256

Thanks for the support, much appreciated.

BTFighter avatar Jun 10 '21 03:06 BTFighter

When 2 androids connect to each other on a local network, they are able to see each other. However, when an android plays UNO with an iPhone, they cannot see each other. Other games like Tekken 6 and Platypus works.

BTFighter avatar Jun 12 '21 06:06 BTFighter

PPSSPP v1.13.1-162-gc3324c872 still a problem ppsspplog.zip

benderscruffy avatar Aug 04 '22 02:08 benderscruffy

As mentioned before, UNO game need infrastructure to be implemented first before it can work properly, because single player is actually use networking by connecting to localhost.

Games like Tekken / Platypus are using AdHoc which already implemented, while infrastructure is not implemented yet.

For the meantime, you can use infrastructure test builds based on v1.13.1-12 (Windows, Linux, Android, MacOS, iOS, UWP) available here https://sam.nl.tab.digital/s/LmPs4ELKTftRXZB

anr2me avatar Aug 04 '22 03:08 anr2me