|
|
#21 | |
|
Member
![]() Join Date: Oct 2009
Posts: 86
Likes: 15
Liked 20 Times in 16 Posts
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
|
That's why i am trying to build it from source. |
|
|
|
|
|
|
#22 | |
![]() ![]() Join Date: Jun 2012
Posts: 104
Likes: 0
Liked 338 Times in 77 Posts
Mentioned: 56 Post(s)
Tagged: 0 Thread(s)
|
And AFAIK, PSL1GHT doesn't have the NPDRM version of exitspawn - only the PS3 SDK does. This is the reason why RetroArch PS3 on DEX can boot a SELF from another SELF (as in - load another core) - because it is one of the few pieces of homebrew (I think the only one right now) that uses NPDRM exitspawn. Last edited by Squarepusher2; 07-25-2012 at 06:47 AM. |
|
|
|
|
|
|
#23 |
|
Senior Member
![]() Join Date: Jun 2009
Posts: 5,125
Likes: 1,880
Liked 1,789 Times in 1,170 Posts
Mentioned: 220 Post(s)
Tagged: 0 Thread(s)
|
@Squarepusher2
would that be fself eg make_fself eboot.elf eboot.bin ? to make a debug eboot ?
__________________
|
|
|
|
|
|
#24 | |
![]() ![]() Join Date: Jun 2012
Posts: 104
Likes: 0
Liked 338 Times in 77 Posts
Mentioned: 56 Post(s)
Tagged: 0 Thread(s)
|
the SELFs will need to be NPDRM SELFs otherwise the NPDRM version of exitspawn won't be able to boot them. I never got FSELF booting with exitspawn to work on DEX for RetroArch PS3 - so I just went with the NPDRM solution instead. Really, it might be worthwhile to make Showtime compilable with both the PS3 and PSL1GHT SDKs. There's no technical reason why this can't be done - RetroArch PS3 can be compiled with either PSL1GHT or the PS3 SDK as well - the two SDKs are mostly exactly the same except for a few names that got changed - so a file like this should be able to get you a long way - https://github.com/Themaister/RetroA.../sdk_defines.h Last edited by Squarepusher2; 07-25-2012 at 06:51 AM. |
|
|
|
|
|
|
#25 |
|
Member
![]() Join Date: Oct 2009
Posts: 86
Likes: 15
Liked 20 Times in 16 Posts
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
|
I am not quite sure that you are right! You see, if i compare the 2 multiman pkgs that are out (CEX and DEX) i see that the only difference is that the DEX EBOOT.BIN is much larger and, thus, decrypted (as a part of decryption is compression) than the CEX EBOOT.BIN. And looking with a HEX editor the 2 EBOOTs, in fact proves that the DEX working EBOOT is decrypted (you can see strings and stuff in it).
So, i am pretty sure that it's not NPDRM that causes the problem. I think that, in order to work on DEX, something needs to be either signed with the PS3SDK (as you said) or plain fself! Maybe the problem was geohot's npdrm tricks (or some other trick we used to do on CFWs)? Last edited by stadicon; 07-25-2012 at 05:22 PM. |
|
|
|
|
|
#26 | |
![]() ![]() Join Date: Jun 2012
Posts: 104
Likes: 0
Liked 338 Times in 77 Posts
Mentioned: 56 Post(s)
Tagged: 0 Thread(s)
|
You don't need to look at this with a hex editor, you need to look at the source with a text editor. Read code, not whether or not there are strings in your SELF. (there will be strings in your SELF when looked at with a hex editor if you don't strip debug symbols when making a build). The principal problem here is - FSELF tries to boot another FSELF with exitspawn (on DEX). I've found that on DEX - this simply does not work no matter how many times you try. The only way you will be able to make something like this work (where you spawn another process from an existing process) is by using NPDRM exitspawn (which is provided to you by the PS3 SDK - I don't think PSL1GHT provides it though) - AND by making the SELF executables NPDRM SELF. Now you have two problems here - 1) Showtime was written for PSL1GHT - and since it doesn't support NPDRM exitspawn, I don't think switching to another process will work on DEX (for the record, Deank has started using this method for Multiman too on DEX ever since I told him about how I use it for RetroArch PS3 - Multiman is compiled with the PS3 SDK though). 2) Showtime uses the non-NPDRM version of exitspawn - and since it's PSL1GHT, we can't change it to NPDRM exitspawn either even with the source available. Only solution I see is compiling the app with the PS3 SDK (which will require some changes - maybe a lot) and then replacing the sections where exitspawn is used to NPDRM exitspawn - then making NPDRM versions of the SELFs. Now if there's a better, less time-intensive way to make Showtime run on DEX, then by all means, show me. I would like to see this run as well. Last edited by Squarepusher2; 07-25-2012 at 05:38 PM. |
|
|
|
|
|
|
#27 |
|
Member
![]() Join Date: Oct 2009
Posts: 86
Likes: 15
Liked 20 Times in 16 Posts
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
|
All right, first of all, thanks for letting me know about all those stuff.
Now, if the problem about shotime is how it calles other SELFs, then it's not such a big deal: it's just a self (showtime.self) called from an EBOOT, the same self that multiman calls. Now, if Multiman does load external selfs with the correct exitspawn (i am not 100% sure what i am talking about, i hope i don't sound very stupid), then by simply making this single showtime.self an NPDRM self, we could load it just fine from Multiman. Does that make sense? Btw, that's what the XMB check function returns, when i check multiman: Click here to see full text
Code:
------------------ System Information ------------------ Program : PlayStation®3 System Software Version 4.11 Checker Version : 3.21 Log Format : 10000000 ------------------ Target Information ------------------ Input : (Dir) /dev_hdd0/game/BLES80608 Target Type : HDD Game Title ID : BLES-80608 Version : 01.00 Title(default) : mmCM Parental Level : 0 SDK Version : 03.4000 System Version : 03.4000 --- Log --- [Info] Checking HDD Game.(HG,"/dev_hdd0/game/BLES80608") [Debug] Checking System File /dev_hdd0/game/BLES80608/PARAM.SFO. [Info] TITLE_ID = BLES80608. [Info] PARENTAL_LEVEL = 0/--/--/--/--/--/--. [Info] ATTRIBUTE = 0x25. [Info] PS Vita/PSP™ remote play is supported. (PS Vita/PSP™: AVC (480x272)) [Info] BGM with XMB™ (in game) is supported. [Info] RESOLUTION = 0x3F, 1080/720/576/576(16:9)/480/480(16:9). [Info] SOUND_FORMAT = 0x303, 2LPCM/5.1Dolby/5.1DTS. [Info] VERSION = 01.00. [Info] PS3_SYSTEM_VER = 03.4000. [Info] APP_VER = 04.04. [Debug] TITLE_ID = BLES80608. [Warn] PARAM.SFO: Param PARENTAL_LEVEL: Currently being rated. [Debug] PARENTAL_LEVEL = 0/--/--/--/--/--/--. [Debug] ATTRIBUTE = 0x25. [Error] PARAM.SFO: Param LICENSE: Unexpected value. [Debug] RESOLUTION = 0x3F, 1080/720/576/576(16:9)/480/480(16:9). [Debug] SOUND_FORMAT = 0x303, 2LPCM/5.1Dolby/5.1DTS. [Debug] VERSION = 01.00. [Debug] PS3_SYSTEM_VER = 03.4000. [Debug] APP_VER = 04.04. [Debug] NP_COMMUNICATION_ID = NPXS80608_00. [Debug] PS3LOGO.DAT: Logo. [Error] PARAM.HIS: Invalid History file. [Debug] ICON0.PNG: 320x176/32bit. [Debug] PIC1.PNG: 1920x1080/32bit. [Error] PIC1.PNG: Invalid Depth(32bit). [Info] EBOOT.BIN: PPU SELF file, SDK version = 03.4000. [Debug] EBOOT.BIN: 400.001 (PPU) : crt0 [Error] EBOOT.BIN: Version conflict error (crt0, 400.001). [Debug] EBOOT.BIN: 400.001 (PPU) : crt1 [Error] EBOOT.BIN: Version conflict error (crt1, 400.001). [Debug] EBOOT.BIN: 400.001 (PPU) : libvpost_stub [Error] EBOOT.BIN: Version conflict error (libvpost_stub, 400.001). [Debug] EBOOT.BIN: 400.001 (PPU) : libvdec_stub [Error] EBOOT.BIN: Version conflict error (libvdec_stub, 400.001). [Debug] EBOOT.BIN: 400.001 (PPU) : libfont_stub [Error] EBOOT.BIN: Version conflict error (libfont_stub, 400.001). [Debug] EBOOT.BIN: 400.001 (PPU) : libfontFT_stub [Error] EBOOT.BIN: Version conflict error (libfontFT_stub, 400.001). [Debug] EBOOT.BIN: 400.001 (PPU) : libmixer [Error] EBOOT.BIN: Version conflict error (libmixer, 400.001). [Debug] EBOOT.BIN: 400.001 (PPU) : libmstreamSPURSMP3 [Error] EBOOT.BIN: Version conflict error (libmstreamSPURSMP3, 400.001). [Debug] EBOOT.BIN: 400.001 (PPU) : libadec_stub [Error] EBOOT.BIN: Version conflict error (libadec_stub, 400.001). [Debug] EBOOT.BIN: 400.001 (PPU) : libaudio_stub [Error] EBOOT.BIN: Version conflict error (libaudio_stub, 400.001). [Debug] EBOOT.BIN: 400.001 (PPU) : libnet_stub [Error] EBOOT.BIN: Version conflict error (libnet_stub, 400.001). [Debug] EBOOT.BIN: 400.001 (PPU) : libnetctl_stub [Error] EBOOT.BIN: Version conflict error (libnetctl_stub, 400.001). [Debug] EBOOT.BIN: 400.001 (PPU) : libpngdec_stub [Error] EBOOT.BIN: Version conflict error (libpngdec_stub, 400.001). [Debug] EBOOT.BIN: 400.001 (PPU) : libdbgfont_gcm [Error] EBOOT.BIN: Debug library linked (libdbgfont_gcm). [Error] EBOOT.BIN: Version conflict error (libdbgfont_gcm, 400.001). [Debug] EBOOT.BIN: 400.001 (PPU) : libgcm_cmd [Error] EBOOT.BIN: Version conflict error (libgcm_cmd, 400.001). [Debug] EBOOT.BIN: 400.001 (PPU) : libgcm_sys_stub [Error] EBOOT.BIN: Version conflict error (libgcm_sys_stub, 400.001). [Debug] EBOOT.BIN: 400.001 (PPU) : libio_stub [Error] EBOOT.BIN: Version conflict error (libio_stub, 400.001). [Debug] EBOOT.BIN: 400.001 (PPU) : libsysutil_stub [Error] EBOOT.BIN: Version conflict error (libsysutil_stub, 400.001). [Debug] EBOOT.BIN: 400.001 (PPU) : libsysmodule_stub [Error] EBOOT.BIN: Version conflict error (libsysmodule_stub, 400.001). [Debug] EBOOT.BIN: 400.001 (PPU) : libfs_stub [Error] EBOOT.BIN: Version conflict error (libfs_stub, 400.001). [Debug] EBOOT.BIN: 400.001 (PPU) : libhttp_util_stub [Error] EBOOT.BIN: Version conflict error (libhttp_util_stub, 400.001). [Debug] EBOOT.BIN: 400.001 (PPU) : libspurs_stub [Error] EBOOT.BIN: Version conflict error (libspurs_stub, 400.001). [Debug] EBOOT.BIN: 400.001 (PPU) : libjpgdec_stub [Error] EBOOT.BIN: Version conflict error (libjpgdec_stub, 400.001). [Debug] EBOOT.BIN: 400.001 (PPU) : libhttp_stub [Error] EBOOT.BIN: Version conflict error (libhttp_stub, 400.001). [Debug] EBOOT.BIN: 400.001 (PPU) : libsysutil_music_export_stub [Error] EBOOT.BIN: Version conflict error (libsysutil_music_export_stub, 400.001). [Debug] EBOOT.BIN: 400.001 (PPU) : libsysutil_photo_export_stub [Error] EBOOT.BIN: Version conflict error (libsysutil_photo_export_stub, 400.001). [Debug] EBOOT.BIN: 400.001 (PPU) : libsysutil_video_export_stub [Error] EBOOT.BIN: Version conflict error (libsysutil_video_export_stub, 400.001). [Debug] EBOOT.BIN: 400.001 (PPU) : libsysutil_screenshot_stub [Error] EBOOT.BIN: Version conflict error (libsysutil_screenshot_stub, 400.001). [Debug] EBOOT.BIN: 400.001 (PPU) : libsysutil_np_stub [Error] EBOOT.BIN: Version conflict error (libsysutil_np_stub, 400.001). [Debug] EBOOT.BIN: 340.001 (PPU) : libcontrol_console_ppu [Debug] EBOOT.BIN: 400.001 (PPU) : libstdc++ [Error] EBOOT.BIN: Version conflict error (libstdc++, 400.001). [Debug] EBOOT.BIN: 400.001 (PPU) : libm [Error] EBOOT.BIN: Version conflict error (libm, 400.001). [Debug] EBOOT.BIN: 400.001 (PPU) : libc [Error] EBOOT.BIN: Version conflict error (libc, 400.001). [Debug] EBOOT.BIN: 400.001 (PPU) : liblv2_stub [Error] EBOOT.BIN: Version conflict error (liblv2_stub, 400.001). [Debug] EBOOT.BIN: 400.001 (PPU) : libusbd_stub [Error] EBOOT.BIN: Version conflict error (libusbd_stub, 400.001). [Error] EBOOT.BIN: Embedded SELF found (ofs=12C598). [Debug] EBOOT.BIN: Orphan Embedded SPU found (seems stripped). [Info] EBOOT.BIN(embedded#00): SPU ELF file, SDK version = unknown. [Debug] EBOOT.BIN(embedded#00): SPU name = spu/msngSPURS_MP3. [Debug] EBOOT.BIN(embedded#00): SPU GUID = 27 6b c8 19 23 e7 57 b3. [Debug] EBOOT.BIN(embedded#00): No section headers. [Info] BROWSER.SELF: Compressed Segment found, being decompressed. [Info] BROWSER.SELF: Signed PPU SELF file, SDK version = unknown. [Info] CU.BIN: Compressed Segment found, being decompressed. [Info] CU.BIN: Signed PPU SELF file, SDK version = unknown. [Info] DATA0: Compressed Segment found, being decompressed. [Info] DATA0: Signed PPU SELF file, SDK version = unknown. [Error] DATA1: Invalid ELF format. [Info] SHOWTIME.SELF: Compressed Segment found, being decompressed. [Error] SHOWTIME.SELF: Invalid ELF format. [Info] SP.BIN: Compressed Segment found, being decompressed. [Info] SP.BIN: Signed PPU SELF file, SDK version = unknown. [Info] RELOAD.SELF: Compressed Segment found, being decompressed. [Info] RELOAD.SELF: Signed PPU SELF file, SDK version = unknown. STATUS: ERROR |
|
|
|
|
|
#28 |
|
Member
![]() Join Date: Oct 2009
Posts: 86
Likes: 15
Liked 20 Times in 16 Posts
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
|
Update: I just managed to compile showtime from source (i've setted up a new VM for this purpose, if anyone is interested) so i have the elf. Any ideas about what to do with it?
|
|
|
|
|
|
#29 |
|
Senior Member
![]() Join Date: Jun 2009
Posts: 5,125
Likes: 1,880
Liked 1,789 Times in 1,170 Posts
Mentioned: 220 Post(s)
Tagged: 0 Thread(s)
|
u need to make the elf in to a debug eboot with make_fself_npdrm.exe
__________________
|
|
|
|
|
|
#30 |
|
Member
![]() Join Date: Oct 2009
Posts: 86
Likes: 15
Liked 20 Times in 16 Posts
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
|
I think we have some progress here. Leaving the existing structure (EBOOT.BIN and showtime.self) didn't work with any EBOOT/showtime combination, so i did produce a "standalone" EBOOT.BIN with make_fself_npdrm, as carldenning suggested, and it won't produce the 80010017 error anymore. It almost starts, then it returns to the XMB (so unexpected crash, maybe). The interesting thing is that some new files and directories are created (like cache and settings) so believe that the actual application works, but it crashes on some point (so it's a matter of the code and not the signing or something).
I'd like to take a look at the crash dump or something. Anybody knows if there's some log on crashes? Last edited by stadicon; 07-26-2012 at 01:18 PM. |
|
|
|
![]() |
| Bookmarks |
| Thread Tools | |
|
|