Advertising (This ad goes away for registered users. You can Login or Register)

[WIP] PRO ONLINE

Most of the homebrews discussed in this forum can be downloaded here
Locked
Coldbird
Guru
Posts: 472
Joined: Sun Nov 14, 2010 12:33 am

[WIP] PRO ONLINE

Post by Coldbird »

Image
PRO ONLINE will be what you guys have been dreaming of. Online Gaming with nothing but a PSP, Router and any Adhoc-Enabled Title you want.
This post will serve as my way of keeping everyone of you up 2 date on the latest developments.

PRO CFW on the other hand is undergoing some critical revamps aswell to be "mentally prepared" for the upcoming online module.
If I do Beta-Tests, then they will most likely be limited in a timely fashion and provided as plugin modules.

The final revision will be included into PRO CFW and be opensource / gpl like all our other developments.

[04.12.2011] ~ Sony Internet Library UNVEILED ~
[spoiler]Previously most of the work in the Adhoc Emulator for Infrastructure went into coding complex workarounds, background worker threads, etc. to properly link the Adhoc and Infrastructure API together...

Yesterday I thought there has to be a better way to do it and there really was... Interested in finding a way that saves me coding my own worker threads I had the brilliant idea of just handing the work down to the Sony Infrastructure Library Internal Thread, hoping it would take care of timing issues, etc. for me.

Sadly, the PSPSDK we got is heavily outdated, only about 10% of the PSP's features are documented and comparing the Internet Library PRX exports with the PSPSDK made it quite obvious that the PSPSDK is missing about 70% of the Internet Functions... so... I got my shovel (disassembler) and started digging.

Basically, I've discovered a bunch of useful functions & flags that allow me to pass most of the Adhoc Data 1:1 to the Infrastructure Library with nothing but a minimal wrapper... (for example translating the Microsecond Timeouts from Adhoc into Millisecond Timeouts for Infrastructure) greatly reducing the ATPRO module size and improving it's effectiveness. Timeouts no longer have to be dealt with manually, it's now all done within the Infrastructure Library Sony provides with it's firmware.

I also decided that I would drop GameMode Support from my ToDo List, as it's the only thing in the Adhoc Library that isn't 1:1 translateable into Infrastructure without a heavy wrapper.
That means... no <= 4.X game support until >= 4.X games are properly supported.

Starting with 4.0 Sony decided to drop something from the Adhoc Library called GameMode (which is nothing but a Token-Ring network architecture really...) in favor of making Adhoc more similiar to Infrastructure (which doesn't support Token-Ring), that means all 4.0+ Games run on a Adhoc Mode that effectively mimics a local Infrastructure system...

That's quite perfect for us, isn't it? Less work to translate stuff.

Either way, I hope to share my findings on the Networking Libraries (both Adhoc and Infrastructure) once I finished this big project of mine, to help people that might wish to dig deeper into the PSPs Networking Layer.
[/spoiler]
Result: Implemented sceNetAdhocPdpCreate, sceNetAdhocPdpSend, sceNetAdhocPdpRecv, sceNetAdhocPdpDelete, sceNetAdhocPollSocket, Dummied sceNetAdhocSetSocketAlert, sceNetAdhocGetSocketAlert.

[15.01.2012] ~ New Networking Structure ~
[spoiler]It has been a while since I posted an update here but things have been moving, so don't worry.

Since last time I posted here I've finished up some more library exports, even though they are currently stubbed out until I get to properly implement them.

This resulted in something brilliant, bringing us a big step forward: Mixed Modules.

No longer do I have to replace the full Adhoc Library, it's enough for me to replace only pspnet_adhoc.prx, pspnet_adhocctl.prx and pspnet_adhoc_discover.prx now.

The biggest troublemaker, pspnet_adhoc_matching.prx no longer is a troublemaker at all, since I can just skip it! That's right.

What this module does is organize the network logic for "dumb programmers" aka. Game-Developers, but inside it's code all it does is use pspnet_adhoc.prx functions...

As I already have those emulated, Sonys own module now works against them by emulating Adhoc for us. :lol:

On the other side, I'm currently restructuring the network layout of ATPRO to work on a true peer 2 peer basis without a core server.

So what does this mean? I save myself money, thus reducing hosting costs tremendously, requiring less donations to keep this alive and you guys still get the full experience.

This will be achieved via a IP-Table that every PSP has saved, this table in turn will be used for the peerfinding and data transmission.

In the previous revision of ATPRO it was required to connect to a central server that managed the active peers to find its way around... this time around the peer management will be done by the enduser himself.

The only downside produced by this will be that you cant "randomly find people online" any longer... which means players will have to use forums to organize gamerooms.

I plan to release a phpBB3 plugin eventually that allows users to create IP-Tables for ATPRO gaming with a single click by choosing people from their forum friendlist.

I am hoping that wololo might volunteer to make /talk the first ATPRO forum in existence.
[/spoiler]
Result: Added OFW pspnet_adhoc_matching.prx Compatiblity, Started True Peer 2 Peer Network Structure Code.

[19.01.2012] ~ PTP Timeout Problem solved ~
[spoiler]One of the problems with emulating PTP (Sonys TCP Clone for Adhoc PSP) was that it supported Timeouts while the official Berkeley Sockets didn't... in fact whole TCP doesn't support timeouts on connect / accept calls...

The solution was stunningly easy however it required some PSP testing to figure out the proper return values for this one.

A long story short... Timeouts on Adhoc PTP Accept and Connect calls are now properly emulated aswell.

Other than that, I've emulated some more minor functions for the PTP API too, leaving only 2 more to be emulated to cover all of them.
Oh and I've finished the last mission PDP function, completing this emulator library.
[/spoiler]
Result: Implemented sceNetAdhocPtpAccept, sceNetAdhocPtpConnect, sceNetAdhocPtpOpen, sceNetAdhocPtpListen, sceNetAdhocPtpClose, sceNetAdhocGetPtpStat, sceNetAdhocGetPdpStat, Dummied sceNetAdhocPtpFlush.
Advertising
Last edited by Coldbird on Thu Jan 19, 2012 1:37 pm, edited 4 times in total.
Image
PSP N-1000 ✔ / 6.20 PRO NIGHTLY ✔ / PRO ONLINE ✔
Mishka84
Posts: 89
Joined: Sat Apr 09, 2011 1:12 pm

Re: [WIP] ATPRO Translator

Post by Mishka84 »

Good Luck Coldbird!

I hope that you or Codestation can make an support for NHL07, the only one Ice-Hockey Game for PSP :)

What do i say...good luck ;)
Advertising
Coldbird
Guru
Posts: 472
Joined: Sun Nov 14, 2010 12:33 am

Re: [WIP] ATPRO Translator

Post by Coldbird »

Whether it will be supported or not in the first version you can check easily.
All you gotta do is issue the following command and post the resulting textfile in a spoiler here, I will tell you whether it will be compatible or not then.

Code: Select all

prxtool -f EBOOT.BIN 2>&1 | grep Adhoc > imports.txt
Make sure you decrypt the EBOOT.BIN prior to doing that though, tools like EDecrypt or PRXDecrypter will do that for you.

Effectively, all Adhoc Games minus those that use Token-Ring GameMode will work.

Okay, Source cleaned up, enough work for today... Next Weekend I'll get back to it. :twisted:
Image
PSP N-1000 ✔ / 6.20 PRO NIGHTLY ✔ / PRO ONLINE ✔
noname120
Developer
Posts: 777
Joined: Thu Oct 07, 2010 4:29 pm

Re: [WIP] ATPRO Translator

Post by noname120 »

It's good to know.
Thanks.

PS: Be careful, the mods don't like the "WIP". I hope they won't blame you...
Funny stuff
<yifanlu> I enjoy being loud and obnoxious
<yifanlu> rooting an android is like getting a hooker pregnant
<xerpi> I sometimes think I should leave all this stressing **** and be a farmer instead
Darkrainbow
Posts: 468
Joined: Sun Feb 27, 2011 1:27 pm

Re: [WIP] ATPRO Translator

Post by Darkrainbow »

This is what Rules say:
Avoid creating work in progress (or W.I.P.) topics unless there is significant progress (e.g. a beta download, etc.) to be posted. The mod team reserve the right to lock such topics. We don't like vaporware.

This will propably get locked :|
Welcome
Coldbird
Guru
Posts: 472
Joined: Sun Nov 14, 2010 12:33 am

Re: [WIP] ATPRO Translator

Post by Coldbird »

Want me to post the prototype + server executable then?
I think it will be fine, afterall there is a prototype that works (even if only for a single game so far).
Image
PSP N-1000 ✔ / 6.20 PRO NIGHTLY ✔ / PRO ONLINE ✔
Killerfeeshy
Posts: 262
Joined: Wed Jun 01, 2011 9:49 am

Re: [WIP] ATPRO Translator

Post by Killerfeeshy »

Sick work coldbird :P

Keep up the great work man! ;)
70 M3 M7 P5P 15 L1K3 4 DRUG 1F I75 /\/07 I/\/ M7 P0CK37 1M G0/\//\/4 P4/\/1C
My Homebrews
Crazy Eyes
ProKill
Top Down Racing
And others currently unreleased
Got any questions? http://www.ask.fm/Killerfeeshy
Disturbed0ne
Retired Mod
Posts: 3787
Joined: Sun Jan 16, 2011 5:44 am
Location: In a van, down by the river!
Contact:

Re: [WIP] ATPRO Translator

Post by Disturbed0ne »

This isn't really vaporware as there is progress made by Team PRO on their Google code repository.

Keep up the awesome work Coldbird. I'm glad you've stuck around the scene, you give the rest of use hope. 8-)
DO NOT MESSAGE ME ABOUT THE NAME OF ANY NINJA RELEASE GAME! I WILL NOT PROVIDE YOU WITH THE NAME OF THE GAME AND IF YOU PERSIST THEN I WILL REPORT YOU TO THE STAFF!
I AM A RETIRED MODERATOR!
wololo
Site Admin
Posts: 3621
Joined: Wed Oct 15, 2008 12:42 am
Location: Japan

Re: [WIP] ATPRO Translator

Post by wololo »

Coldbird wrote:the PSPSDK is missing about 70% of the Internet Functions...
This brings back something we discussed recently: is there still any collective effort made to maintain the PSPSDK? Who has write access to the original repository, that is still active on the scene? Should we create a copy, and host it on something like google code? Is there another repository actively maintained (I'm thinking of the minpspsdk ?)
If you need US PSN Codes, this technique is what I recommend.

Looking for guest bloggers and news hunters here at wololo.net, PM me!
Salmon
Posts: 68
Joined: Fri Jan 07, 2011 12:08 pm

Re: [WIP] ATPRO Translator

Post by Salmon »

wololo wrote:
Coldbird wrote:the PSPSDK is missing about 70% of the Internet Functions...
This brings back something we discussed recently: is there still any collective effort made to maintain the PSPSDK? Who has write access to the original repository, that is still active on the scene? Should we create a copy, and host it on something like google code? Is there another repository actively maintained (I'm thinking of the minpspsdk ?)
There is an organisation on github that is somewhat active: here. The person that created it is the original creator of the psptoolchain scripts. I have write access and will merge any patches sent.
Locked

Return to “Homebrews”