07-05-2014, 03:05 PM (This post was last modified: 07-05-2014, 03:31 PM by Zinx777.)
Wierd,I cant play Metal Gear Solid: Portable Ops + online agein.
I wanted to post pictures but i always get socket errors on log and getting error 80410b09 in the game.
I guess the emulator is unstable or something.
edit:works now.
I found a few bugs, and Metal Slug XX now can see the host, but joining still have issue :/
The host shows the 2nd player joined and the game can be started, but the client/guess stuck and still showing the host list screen even though it's already joined the host
From the log it seems the guess/client failed to allocate a memory at the time it stuck after joining, i wonder if PSP's memory is full for some reason
07-06-2014, 02:10 PM (This post was last modified: 07-06-2014, 03:35 PM by Bober-kun.)
(07-05-2014, 03:05 PM)Zinx777 Wrote: Wierd,I cant play Metal Gear Solid: Portable Ops + online agein.
I wanted to post pictures but i always get socket errors on log and getting error 80410b09 in the game.
I guess the emulator is unstable or something.
edit:works now.
Which version of ppsspp do you use? Can you upload adhoc server files?
Update:
Testing Peace Walker. Second player trying to connected and nothing happened. But server see all players moves. Anyone can check co-op in game?
07-06-2014, 06:22 PM (This post was last modified: 07-06-2014, 07:15 PM by AdamN.)
Metal Slug XX is now have a working multiplayer the main issue was related to the Core/HLE, since the game could crash ppsspp when it copy a memory using an invalid address so i added a checking to prevent it from crashing
But i still have one more issue i need to fix before releasing new test build, it seems Full Auto 2 have issue with Join, it tried to join an invalid group name, while both Host and Join suppose to use the same group Oh well it seems jpcsp also have the same issue, i guess it's the game that have the bug
PS: All adhocMatching functions are practically implemented now, but there might be other unimplemented adhoc functions needed by the games (ie. adhocDiscover function)
(07-06-2014, 07:38 PM)vnctdj Wrote: As PPSSPP is under GPL, don't forget to share the source code with your builds, AdamN
Also, why not making a pull request on GitHub ?
I'm planning to commit it but need to cleanup all the testing code first otherwise there are people complaining about too many commented codes XD
But more importantly i need to make sure this one didn't break an already working multiplayer
After this one commited i'm planning to integrate adhoc server into ppsspp
07-06-2014, 08:04 PM (This post was last modified: 07-06-2014, 08:05 PM by captainobvious.)
After this commit, in Soul Calibur you can no longer see the other person in the lobby. Meanwhile, in Dissidia 012, while waiting in the lobby you can't see anyone like before and get this in the console:
(07-06-2014, 07:47 PM)AdamN Wrote: After this one commited i'm planning to integrate adhoc server into ppsspp
07-06-2014, 09:37 PM (This post was last modified: 07-06-2014, 09:41 PM by GamerzHell9137.)
(07-06-2014, 06:22 PM)AdamN Wrote: Metal Slug XX is now have a working multiplayer the main issue was related to the Core/HLE, since the game could crash ppsspp when it copy a memory using an invalid address so i added a checking to prevent it from crashing
But i still have one more issue i need to fix before releasing new test build, it seems Full Auto 2 have issue with Join, it tried to join an invalid group name, while both Host and Join suppose to use the same group Oh well it seems jpcsp also have the same issue, i guess it's the game that have the bug
PS: All adhocMatching functions are practically implemented now, but there might be other unimplemented adhoc functions needed by the games (ie. adhocDiscover function)
Metal Slug XX crashes for me always when i try it.
For "Lord of Apocalypse", the host still leaves the adhoc server after creating a room(says I left group and stopped playing the game).
Code:
48:09:857 AppMainThrea I[HLE]: HLE\scePower.cpp:369 scePowerSetClockFrequency(333,333,166)
48:09:871 AppMainThrea E[NET]: HLE\sceNet.cpp:139 UNTESTED sceNetInit(poolsize=32768, calloutpri=19, calloutstack=0, netintrpri=39, netintrstack=0) at
08bffa14
48:09:894 AppMainThrea I[NET]: HLE\sceNetAdhoc.cpp:224 sceNetAdhocInit() at 08bffaa8
48:09:894 AppMainThrea I[NET]: HLE\sceNetAdhoc.cpp:265 sceNetAdhocctlInit(7168, 39, 08ce45e0) at 08bffaec
48:09:909 AppMainThrea W[NET]: HLE\sceNetAdhoc.cpp:1006 UNTESTED sceNetAdhocctlAddHandler(8bfeaec, 0): added handler 0
48:09:909 AppMainThrea I[NET]: HLE\proAdhoc.cpp:871 FriendFinder: Begin of Friend Finder Thread
48:09:909 AppMainThrea I[NET]: HLE\sceNetAdhoc.cpp:1412 sceNetAdhocctlConnect(groupName=AGSADHOC) at 08bffc70
48:09:909 AppMainThrea I[NET]: HLE\sceNetAdhoc.cpp:1338 sceNetAdhocctlCreate(AGSADHOC) at 08bffc70
48:10:049 AppMainThrea I[NET]: HLE\proAdhoc.cpp:916 Received 7 Bytes of Data from Adhoc Server
48:10:049 AppMainThrea I[NET]: HLE\proAdhoc.cpp:923 FriendFinder: Incoming OPCODE_CONNECT_BSSID
48:10:145 AppMainThrea I[ME]: HLE\sceAtrac.cpp:1337 0=sceAtracSetHalfwayBufferAndGetID(08e45020, 00007dc0, 0000bdc0)
48:10:145 AppMainThrea W[ME]: HLE\sceAtrac.cpp:1191 This is an atrac3+ stereo audio
48:10:149 AppMainThrea I[NET]: HLE\sceNetAdhoc.cpp:2543 sceNetAdhocMatchingInit(32768) at 08c009c4
48:10:149 AppMainThrea I[NET]: HLE\sceNetAdhoc.cpp:2587 sceNetAdhocMatchingCreate(mode=2, maxnum=5, port=1, rxbuflen=4096, hello=1000000, keepalive=10
0000, initcount=10, rexmt=500000, callbackAddr=08c00b88) at 08c00a60
48:10:149 AppMainThrea I[NET]: HLE\sceNetAdhoc.cpp:324 sceNetAdhocPdpCreate(059be490, 1, 4096, 0) at 08c00a60
48:10:150 AppMainThrea W[NET]: HLE\sceNetAdhoc.cpp:2706 UNTESTED sceNetAdhocMatchingStart(1, 16, 7168, 8, 0, 768, 08d0cad4) at 08c00aa0
48:10:150 AppMainThrea I[NET]: HLE\sceNetAdhoc.cpp:4657 EventLoop: Begin of EventLoop[1] Thread
48:10:150 AppMainThrea I[NET]: HLE\sceNetAdhoc.cpp:4774 InputLoop: Begin of InputLoop[1] Thread
48:15:070 AppMainThrea W[NET]: HLE\sceNetAdhoc.cpp:2444 UNTESTED sceNetAdhocMatchingStop(1)
48:15:081 AppMainThrea I[NET]: HLE\sceNetAdhoc.cpp:4913 InputLoop: End of InputLoop[1] Thread
48:15:087 AppMainThrea I[NET]: HLE\sceNetAdhoc.cpp:4743 EventLoop: End of EventLoop[1] Thread
48:15:088 AppMainThrea I[NET]: HLE\sceNetAdhoc.cpp:789 sceNetAdhocPdpDelete(1, 0) at 08c00ae4
48:15:088 AppMainThrea W[NET]: HLE\sceNetAdhoc.cpp:2538 UNTESTED sceNetAdhocMatchingDelete(1) at 08c00ae4
48:15:088 AppMainThrea W[NET]: HLE\sceNetAdhoc.cpp:2577 UNTESTED sceNetAdhocMatchingTerm()
48:15:088 AppMainThrea I[NET]: HLE\sceNetAdhoc.cpp:2543 sceNetAdhocMatchingInit(32768) at 08c009c4
48:15:088 AppMainThrea I[NET]: HLE\sceNetAdhoc.cpp:2587 sceNetAdhocMatchingCreate(mode=2, maxnum=5, port=1, rxbuflen=4096, hello=1000000, keepalive=10
0000, initcount=10, rexmt=500000, callbackAddr=08c00b88) at 08c00a60
48:15:088 AppMainThrea I[NET]: HLE\sceNetAdhoc.cpp:324 sceNetAdhocPdpCreate(059be490, 1, 4096, 0) at 08c00a60
48:15:089 AppMainThrea W[NET]: HLE\sceNetAdhoc.cpp:2706 UNTESTED sceNetAdhocMatchingStart(1, 16, 7168, 8, 0, 768, 08d0cad4) at 08c00aa0
48:15:090 AppMainThrea I[NET]: HLE\sceNetAdhoc.cpp:4657 EventLoop: Begin of EventLoop[1] Thread
48:15:091 AppMainThrea I[NET]: HLE\sceNetAdhoc.cpp:4774 InputLoop: Begin of InputLoop[1] Thread
48:16:804 AppMainThrea I[HLE]: HLE\scePower.cpp:369 scePowerSetClockFrequency(333,333,166)
48:16:805 AppMainThrea W[NET]: HLE\sceNetAdhoc.cpp:2444 UNTESTED sceNetAdhocMatchingStop(1)
48:16:813 AppMainThrea I[NET]: HLE\sceNetAdhoc.cpp:4913 InputLoop: End of InputLoop[1] Thread
48:16:820 AppMainThrea I[NET]: HLE\sceNetAdhoc.cpp:4743 EventLoop: End of EventLoop[1] Thread
48:16:820 AppMainThrea I[NET]: HLE\sceNetAdhoc.cpp:789 sceNetAdhocPdpDelete(1, 0) at 08c00ae4
48:16:820 AppMainThrea W[NET]: HLE\sceNetAdhoc.cpp:2538 UNTESTED sceNetAdhocMatchingDelete(1) at 08c00ae4
48:16:820 AppMainThrea W[NET]: HLE\sceNetAdhoc.cpp:2577 UNTESTED sceNetAdhocMatchingTerm()
48:16:857 AppMainThrea I[NET]: HLE\sceNetAdhoc.cpp:2543 sceNetAdhocMatchingInit(32768) at 08c009c4
48:16:857 AppMainThrea I[NET]: HLE\sceNetAdhoc.cpp:2587 sceNetAdhocMatchingCreate(mode=1, maxnum=5, port=1, rxbuflen=4096, hello=1000000, keepalive=10
0000, initcount=10, rexmt=500000, callbackAddr=08bff4c0) at 08c00a20
48:16:857 AppMainThrea I[NET]: HLE\sceNetAdhoc.cpp:324 sceNetAdhocPdpCreate(059be490, 1, 4096, 0) at 08c00a20
48:16:857 AppMainThrea W[NET]: HLE\sceNetAdhoc.cpp:2706 UNTESTED sceNetAdhocMatchingStart(1, 16, 7168, 8, 0, 768, 08d0cad4) at 08c00aa0
48:16:858 AppMainThrea I[NET]: HLE\sceNetAdhoc.cpp:4657 EventLoop: Begin of EventLoop[1] Thread
48:16:861 AppMainThrea I[NET]: HLE\sceNetAdhoc.cpp:4774 InputLoop: Begin of InputLoop[1] Thread
48:20:712 AppMainThrea W[NET]: HLE\sceNetAdhoc.cpp:2444 UNTESTED sceNetAdhocMatchingStop(1)
48:20:716 AppMainThrea I[NET]: HLE\sceNetAdhoc.cpp:4913 InputLoop: End of InputLoop[1] Thread
48:20:721 AppMainThrea I[NET]: HLE\sceNetAdhoc.cpp:4743 EventLoop: End of EventLoop[1] Thread
48:20:721 AppMainThrea I[NET]: HLE\sceNetAdhoc.cpp:789 sceNetAdhocPdpDelete(1, 0) at 08c00ae4
48:20:721 AppMainThrea W[NET]: HLE\sceNetAdhoc.cpp:2538 UNTESTED sceNetAdhocMatchingDelete(1) at 08c00ae4
48:20:721 AppMainThrea W[NET]: HLE\sceNetAdhoc.cpp:2577 UNTESTED sceNetAdhocMatchingTerm()
48:20:722 AppMainThrea W[NET]: HLE\sceNetAdhoc.cpp:1089 UNTESTED sceNetAdhocctlDelHandler(0): deleted handler 0
48:20:722 AppMainThrea I[NET]: HLE\sceNetAdhoc.cpp:1099 sceNetAdhocctlTerm()
48:20:731 AppMainThrea I[NET]: HLE\proAdhoc.cpp:1122 FriendFinder: End of Friend Finder Thread
48:20:732 AppMainThrea I[NET]: HLE\sceNetAdhoc.cpp:1430 sceNetAdhocTerm()
48:20:732 AppMainThrea W[NET]: HLE\sceNet.cpp:129 UNTESTED sceNetTerm()
48:20:733 AppMainThrea I[HLE]: HLE\scePower.cpp:369 scePowerSetClockFrequency(333,333,166)
48:20:735 AppMainThrea E[HLE]: HLE\ReplaceTables.cpp:117 Replace_memcpy: Invalid address (00000000,00000000,0) at 08c22a0c
48:20:735 AppMainThrea E[HLE]: HLE\ReplaceTables.cpp:117 Replace_memcpy: Invalid address (00000000,00000000,0) at 08c22a0c
48:20:763 AppMainThrea W[NET]: HLE\sceNetAdhoc.cpp:2444 UNTESTED sceNetAdhocMatchingStop(1)
48:20:763 AppMainThrea W[NET]: HLE\sceNetAdhoc.cpp:2538 UNTESTED sceNetAdhocMatchingDelete(1) at 08c00ae4
48:20:764 AppMainThrea W[NET]: HLE\sceNetAdhoc.cpp:2577 UNTESTED sceNetAdhocMatchingTerm()
48:20:764 AppMainThrea E[NET]: HLE\sceNetAdhoc.cpp:1091 UNTESTED sceNetAdhocctlDelHandler(-1): asked to delete invalid handler -1
48:20:764 AppMainThrea I[NET]: HLE\sceNetAdhoc.cpp:1099 sceNetAdhocctlTerm()
48:20:764 AppMainThrea I[NET]: HLE\sceNetAdhoc.cpp:1430 sceNetAdhocTerm()
48:20:764 AppMainThrea W[NET]: HLE\sceNet.cpp:129 UNTESTED sceNetTerm()
48:20:764 AppMainThrea I[HLE]: HLE\scePower.cpp:369 scePowerSetClockFrequency(333,333,166)
48:20:764 AppMainThrea I[HLE]: HLE\scePower.cpp:369 scePowerSetClockFrequency(333,333,166)
48:20:809 AppMainThrea I[ME]: HLE\sceAtrac.cpp:1337 1=sceAtracSetHalfwayBufferAndGetID(08e51000, 00007df0, 0000bdf0)
48:20:809 AppMainThrea W[ME]: HLE\sceAtrac.cpp:1191 This is an atrac3+ stereo audio
Something wrong with memcopy?
@0x08c22a0c there's a jal memcpy
when I check this function I get this:
And this code doesn't seem to trigger at all when I set a breakpoint there, so I have no clue what happens:|
================
On the bright side, different game which was just recently fixed - Frontier Gate Boost+ does work fine on your new build:3
Short test using same save for client and host:
To think this one wasn't even working properly a day ago and now it has both single and multiplayer working just fine^_^, thanks.
http://forums.ppsspp.org/showthread.php?tid=6594 - Custom PPSSPP Shaders!
http://forums.ppsspp.org/showthread.php?tid=3590&pid=117172#pid117172 - simple CE scripts to help creating CWCheats,
https://github.com/LunaMoo/PPSSPP_workarounds - CWCheat workarounds.
07-06-2014, 10:44 PM (This post was last modified: 07-06-2014, 10:47 PM by TheSoraHD.)
Hi guys, I'm TheSoraHD and I can only say that you're doing a great job with AdHoc Project, specially @AdamN because of his latest builds
I wanted to ask if it's possible to fix multiplayer for Birth By Sleep. Someone has asked before about this game and he was pretty close to start a match with a friend. For the first time we could see each other.
After a few tries we could even D-Link between us (but only if the client requests to the host)!!! But, unfortunately, we couldn't start playing. Doing a match like this:
Ended up into a message telling that the event was cancelled (I think the problem is given because some "scepollrequest" not giving a proper answer (I don't remember the name of the function exactly)):
Or also it crashes the entire emulator or only the game leaving some messages:
Finally, but I don't think it's so important, when you go online but then you play solo in the arena, every frame is giving errors to the console:
Thanks for your attention and keep the good work up!
07-07-2014, 02:46 AM (This post was last modified: 10-26-2019, 04:09 AM by AdamN.)
Hmm looks like many games still doesn't work :/
And i haven't been able to make GTA:VCS to works either but i think the issue is with the unimplemented sceKernel something which is beyond my knowledge
Games that getting too many Invalid address in the log are also difficult to dealt with, sometimes they just hung/frozen (probably related to unimplemented HLE stuff also)
@LunaMoo: memcpy was always treated like Fast Memory enabled (doesn't check address validity) and when the game is using invalid address it could crashed ppsspp, i think memmove also have the same issue but i haven't check it out.
And yes, games that use adhocMatching seems to try to leave the group, but they usually joined a different group afterward, i even saw a game (forgot which game) Terminating Matching when multiplayer game started, but i can still play the game without issue (as long all players already inside the game world)
Btw, there is something wrong with how the game initialize/terminating network in that log O.o
A normal network sequence is NetInit->NetAdhocInit->NetAdhocctlInit->NetAdhocMatchingInit->(some adhoc functions)->NetAdhocMatchingTerm->NetAdhocctlTerm->NetAdhocTerm->NetTerm
But in that log even after NetTerm the game still tried to use Matching function O.o (which should be failed because the socket can't be used anymore)
@sum2012: did Metal Slug XX still crashed ppsspp? i didn't play it long enough to see what happen after a long multiplayer game, according to GamerzHell9137 it still crashed O.o i wonder if he have Fast Memory enabled
Btw, there is delay time when both player joined and multiplayer game started, it didn't start as soon as possible (like having a few seconds delay) when i "ACCEPT" it (before moving on to the character selection), is this normal? (ie. also happened on real PSP?), i also noticed the same delay issue with Full Auto 2 (making me feels it failed to start the game for a moment)