hrydgard / ppsspp

A PSP emulator for Android, Windows, Mac and Linux, written in C++. Want to contribute? Join us on Discord at https://discord.gg/5NJB6dD or just send pull requests / issues. For discussion use the forums at forums.ppsspp.org.
https://www.ppsspp.org
Other
10.78k stars 2.12k forks source link

PSP to PS2/PS3 connectivity emulation (via pcsx2/rpcs3) #13098

Open ghost opened 3 years ago

ghost commented 3 years ago

This is a feature that lets you connect a PSP to either a PS2 or PS3 so you could get more content or transfer saves to/from them. There is a partial list here for PSP to PS2 : https://www.reddit.com/r/ps2/comments/atwi34/list_of_ps2_games_with_psp_connectivity/ Didn't find a list for PS3 games but there are some that could connect to a PSP. I know that Dolphin does something similar for GBA to GC connection by using VBA-M . The PSP connect to the PS2 via the USB port.

Panderner commented 3 years ago

PSP to PS3 connectivity is used for Hatsune Miku: Project DIVA Dreamy Theater which can be played on PSP Project Diva games on a PS3 But it requires a PSP connected to a PS3.

ghost commented 3 years ago

Well there is an issue open on rpcs3 side which lists some games : https://github.com/RPCS3/rpcs3/issues/4119 I didn't find any corresponding issue on PCSX2 side though.

unknownbrackets commented 3 years ago

I'm less sure about PS3, since there was very limited remote play support, but I think PS2 "connectivity" was just importing save data on the memory stick. I think it DID support this via USB, but it'd be simpler (especially for Android) if the PS2 emulator just exports a file for you to put in PSP/ somewhere.

It's also possible some of these used online features that are no longer available.

-[Unknown]

ghost commented 3 years ago

I'm less sure about PS3, since there was very limited remote play support, but I think PS2 "connectivity" was just importing save data on the memory stick. I think it DID support this via USB, but it'd be simpler (especially for Android) if the PS2 emulator just exports a file for you to put in PSP/ somewhere.

It's also possible some of these used online features that are no longer available.

-[Unknown]

For PS3 it was also about transfering saves and modifying them.

FMecha commented 3 years ago

For GTPSP, you can upload transfer favorite cars to GT5's Arcade Mode to a section called "Portable Garage".

Florin9doi commented 3 years ago

I collected a list of games which may support this feature. This list is based on this page: https://report.ppsspp.org/logs/kind/306 but it may be incomplete because old logs are no longer visible.

Armored Core Formula Front
Assassin's Creed: Bloodlines
ATV Offroad Fury Pro
B-Boy
Burnout Dominator
Burnout Legends
Daxter
FIFA 07
FIFA 08
FIFA 09
Formula One 2006
Gran Turismo
Gun Showdown
Hatsune Miku: Project DIVA
Hatsune Miku: Project DIVA 2nd
Juiced 2: Hot Import Nights
Madden NFL 06
Madden NFL 07
Madden NFL 10
Marvel Nemesis: Rise of the Imperfects
Metal Gear Acid
Metal Gear Acid 2
Midnight Club 3: DUB Edition
Mortal Kombat: Unchained
NBA LIVE 07
NHL 2007
OutRun 2006 - Coast 2 Coast
PIPOSARU GETYOU P!
Prince of Persia: The Forgotten Sands
Pro Evolution Soccer 6
Pro Evolution Soccer 2008
PES 2014
Ragnarok Tactics
Resistance: Retribution
Routes PORTABLE
Sega Genesis Collection
Sega Rally
Shinobido: Tales of the Ninja
SOCOM: U.S. Navy SEALs Fireteam Bravo
SOCOM: U.S. Navy SEALs Fireteam Bravo 2
SOCOM: U.S. Navy SEALs Fireteam Bravo 3
SOULCALIBUR: Broken Destiny
Stacked with Daniel Negreanu
Super Monkey Ball Adventure
TACTICS OGRE: Let Us Cling Together
The Sims 2 Pets
WILDARMS XF
Winning Eleven Pro Evolution Soccer 2007
World Series of Poker
World Series of Poker: Tournament of Champions
World Soccer Winning Eleven 9 Ubiquitous Evolution
WORLD SOCCER Winning Eleven 2009
WORLD SOCCER Winning Eleven 2010
WWE SmackDown! vs. RAW 2006.
Yu-Gi-Oh! GX Tag Force 2

ガンダムバトルクロニクル / Gundam Battle Chronicle
実況パワフルプロ野球ポータブル2 / Jikkyou Powerful Pro Yakyuu Portable 2
実況パワフルプロ野球2011決定版 / Jikkyou Powerful Pro Yakyuu 2011 Ketteiban
凉宫春日的追忆 / The Reminiscence of Haruhi Suzumiya / Suzumiya Haruhi no Tsuisō
아바마마 오셨다! 어서 굴려라! / Me & My Katamari
忍道 焔 / Shinobido Homura
湾岸ミッドナイト / Wangan Midnight Portable
Panderner commented 3 years ago

For Crash Tag Team Racing, You can connect the PSP to PS2 to unlock exclusive cars and battle arenas.

ghost commented 3 years ago

Interesting thing about Resistance Retribution it got unique features when connected to a ps3 or the TV while playing R2 . Too bad the game is not working properly on PPSSPP.

inukaze commented 2 years ago

Someone had Explanation or Cheats for example to Unlock Outrun 2006 Content in the PSP version ?

ghost commented 2 years ago

Does USB count as networking? I think this might be more simple then adhoc/infrastructure etc but maybe I am wrong.

unknownbrackets commented 2 years ago

Well, USB is implemented as its own API and special device on the PSP. It's not related to any of the networking APIs.

It's also a bit annoying to debug, because the tooling we use to create automated tests and examine blackbox PSP firmware behavior operates and communicates with a PC via USB - so testing the APIs, parameters, error codes, etc. means doing it a slower way.

I've only seen games do this via save data, but I've heard since my last comment about games doing it via a live USB connection.

-[Unknown]

anr2me commented 2 years ago

Just a reference of what kind of USB devices can be emulated on PCSX2 https://forums.pcsx2.net/Thread-Qemu-USB-plugin-formerly-known-as-USBqemu-wheel https://github.com/jackun/USBqemu-wheel

ghost commented 2 years ago

Yeah on PCSX2 the USB side (peraphials etc) is emulated almost 100% well. Not sure about RPCS3 but it also emulates some USB stuff properly : https://wiki.rpcs3.net/index.php?title=Help:Peripherals_and_accessories

very few PS3 games uses the USB connection (like Assassin's Creed: Bloodlines) though.

ghost commented 2 years ago

Some further info that I found (from JPCSP repo): https://wololo.net/talk/viewtopic.php?f=54&t=31344 https://github.com/shoobyban/open-rp https://www.psdevwiki.com/ps3/Remote_Play

Florin9doi commented 2 years ago

that I found

Lol

ghost commented 2 years ago

that I found

Lol

Yes thanks for the link. I saw that you contribued code for usb emulation on rpcs3/pcsx2. Would it be mangable to emulate it on either JPCSP or PPSSPP any time soon?

paperclone22 commented 2 years ago

I've only seen games do this via save data, but I've heard since my last comment about games doing it via a live USB connection.

-[Unknown]

For reference since you didn't mention an example, Daxter requires a live connection to Jak X for the secret content to exchange

ghost commented 2 years ago

JPCSP got a bit further now with it's draft implementation (I have made an issue request there too). https://github.com/jpcsp/jpcsp/commit/ef6799ec0768c555f842e6a1db0cdf4035e07fe7 If someone is interested to look at.

mitch03 commented 1 year ago

any news on this?

anr2me commented 1 year ago

nobody working on it (yet?) AFAIK, if there are some changes related to this, someone will probably post it here

LunaMoo commented 1 year ago

It's much easier to just unlock those things by cheats or plugins and for some more popular games those already exist. No game actually downloads anything from the other console, it's just an advertisement to get the game on multiply platforms and all of the "extra content" exists on the disc from the start.

ghost commented 1 year ago

It's much easier to just unlock those things by cheats or plugins and for some more popular games those already exist. No game actually downloads anything from the other console, it's just an advertisement to get the game on multiply platforms and all of the "extra content" exists on the disc from the start.

Some games got it for transferring progress though from ps2 to psp which would be nice if you did start a game on ps2 or pcsx2 and wanna play it on your psp/ppsspp afterwards (could be that you wanna sell your console/PC or/and you wanna play it on the go on Android/IOS). But yeah it does sounds niche enough.

agent13 commented 1 year ago

Monster Hunter 2 have connectivity with Monster Hunter Portable. You can unlock the monster Yian Garuga quest on MH2 village and other bonus: https://www.youtube.com/watch?v=YOsss1IajvE

Dasha-98 commented 1 year ago

This would be very useful for the PES scene.

As you maybe know, Pro Evolution Soccer games lack a lot of licences (kits, emblems, ...).

There are communities (ex : EvoWeb, ...) where we create option files to update all unlicensed things (player names, kits, ...) to improve the overall game experience.

There is no utility to convert these PS2 option files to PSP option files. The only way is to connect a PSP to a PS2 and use the in-game feature to transfer the modifications contained in the PS2 option file to the PSP one.

Having the connectivity from PCSX to PSP (real hardware) or maybe to PPSSPP would really be awesome and help the PES scene.

StillPlay2 commented 11 months ago

This is especially needed for WWE Smackdown Vs Raw 2006 were the PSP/PS2 versions are linked up to unlock Jake 'The Snake' Roberts. PCSX2 & PPSSPP connectivity would be an amazing feature, similar to Dolphin/mGBA in regards 😃😊

LunaMoo commented 11 months ago

especially needed for (..) unlock

Nah. I mean I understand the way of thinking "game I like is the most important", however "unlocking" stuff can be done with basic cheats or memory editing, if such doesn't already exist it just means not enough people cared or even knew there's some hidden stuff to unlock.

The whole connectivity between few completely different emulation projects while cool and might happen someday requires far more effort than simply making some cheats or even injecting some stats into the game memory directly then saving it.

hrydgard commented 11 months ago

Yeah this would be cool but the amount of gain for the amount of effort would be very, very small. So it's unlikely much effort will be spent in this direction soon.

anr2me commented 8 months ago

Another approach may be, by creating a plugin on PSP, PS2, and PS3 sides (that can works with emulators too) that hooks on some sceIo syscalls and intercept any access to usbpspcm devices (ie. Resistance Retribution might be using usbpspcm0: instead of usbpspcm:) and transmit the data it read/writes over TCP/IP (ie. plugin to plugin communication). We will also need to make sure the game detects a usb connection by faking it so it can progresses to reading/writing data on it.

LunaMoo commented 8 months ago

usbpspcm0 is only used by that Resistance Retribution plugin as fake ID, probably only changed to recognize it from other syscall, the game normally calls usbpspcm

E[SCEIO]: HLE\sceIo.cpp:2086 UNIMPL sceIoDevctl("usbpspcm:", 03415001, 08ed48a0, 4, 00000000, 0)
anr2me commented 8 months ago

yeah, anything that starts with usbpspcm should be treated as usb connectivity for games

Florin9doi commented 2 months ago

Rpcs3 has now support to connect real PSPs : https://github.com/RPCS3/rpcs3/pull/15540