PS3 Manager API

i will do it tomorrow.

If some of you want to try i have made an installer : https://mega.co.nz/#!8sl1wDKL!FbYUoToLOtvNptBUu3lYWFHGHyhmPy8IpEAlk1n8-nA
It will install the correct sys_init_osd.self for your cfw, it will no install it if cobra or mamba is runing or if sys_init_osd_orig.self already exist (you need to restore it as sys_init_osd.self).
If install is ok your will earn one beep and your ps3 will reboot, if not you will get back to xmb.

Note: New core do a check if fw is in cobra mode when it start, if is it mamba and vsh plugins (with mamba) was not loading, if not your fw will start in mamba mode :).
nevermind. i am using code of original core and your mambaloader mixed with new routines of your autoloader without decompression. somehow i have problems with your autoloader and i cannot enable log writing and flags also do not work for me.

but with your new code i finally can autoload mamba, ccapi v2.0 and ccapi webman :D
 
nevermind. i am using code of original core and your mambaloader mixed with new routines of your autoloader without decompression. somehow i have problems with your autoloader and i cannot enable log writing and flags also do not work for me.

but with your new code i finally can autoload mamba, ccapi v2.0 and ccapi webman :D

I have updated my code with cex and dex merged, flag and log fixed too.
 
[MENTION=600]_NzV_[/MENTION]
thanks for your update and sorry that i post again in your thread. but there are some things related to newcore, that bother me.
i have done now endless tests/softbricks with newcore, (old) ccapi and your code for mamba-autoloader and have found some interesting facts about Estwald's code.

first off, i need ccapi for debugging games that do not work in systemsoftware mode, to attach tools in release mode. so only choice for this, is ccapi v2.0, cause the other updates suck regarding memory scan speed and it is the fastest one working. (unless netcheat gets updated with ps3mapi libs, i have to stick with ccapi)

i have tried to load first ccapi self (v2.0 and v2.5 are loaded with a newcore similar self file, which then calls for ccapi.sprx), and afterwards mamba with your code. the result is, it always has frozen if i loaded them both, ccapi and mamba at once. without mamba code, ccapi could be loaded fine and has worked as if it was installed the usual way. and vice versa, without ccapi "core" self, i could autoload mamba fine.

at one point i have figured, that ONLY if i attach an usb flashdrive to usb000, i can load both of them fine without problem. then i have tried to figure out which code is responsible for this kind of acting and i came to a partial solution. the problem is, instead of original sys_init_osd.self, i load sys_ccapi.self (ccapi core self), which then autoloads original sys_init_osd.self as well, besides ccapi.sprx.

the changed call for sys_ccapi.self:
Code:
if(launchself("/dev_flash/sys/internal/sys_ccapi.self")!=0) // launch VSH at first to avoid problems with the PAD
the problem code:
Code:
    if(!from_reboot) {
        for(n = 0; n < 5; n++) {
            sysSleep(3);
            if(!filestat("/dev_usb000", &stat1)) break;
        }
        actions();
        if(dev_rw_mounted) {
            sys_fs_umount("/dev_rewrite");
            dev_rw_mounted = 0;
        }
    }
this only will work without freeze, if a flashdrive is connected to usb000. though, the failsafe routine works fine and only ccapi gets loaded.

now that i have no clues about coding, i just took the code from "try_mount_usb" and have replaced the problem code with it. and the the result is, it does not freeze anymore without any attached usb000 drive.

so this i have replaced now:
Code:
    strncpy(dev, "CELL_FS_IOS:USB_MASS_STORAGE000", 64);
	for(n = 0; n < 5; n++){
		memset(usb_buf, 0, sizeof(usb_buf));
		ret = sys_fs_mount_ext(dev, "CELL_FS_FAT", "/dev_usb000", 0, usb_buf, 0);
		if(ret == (int) 0x8001002B) sysSleep(3);
		else break;
	}
BUT for a weird matter of fact, now it acts just vice versa, if i attach an usb drive, it freezes, and booting without drive works fine.
though, i have no problem with that problem now, as long as i have not to attach permanently a flashdrive for it to work

edit
seems it only works with these portions of code, so removing does not work here...at least it works now, even it is somehow buggy
would be nice, if anybody could explain to me, what this code-snippet does. i can only translate and understand easy conditional functions so far

hmm, it seems there is really a permission problem for me, if i autoload mamba. for example the problem game middle earth does not work in folder format. if i use your mambaloader, it is the same. only if i use irisman loader, it works fine, even the modified one, which does not reload self file.
the game battlefield3 was a bad one, cause it has frozen in main screen during saving, which has resulted in a corrupt save in the end :(

i will try to add permission handler to mamba source, to see if it does any difference (or i will simply give up on that trying. too much of a hassle)
 
Last edited:
hello
how can i disable PS3 MAPI on habib cobra 4.70

thanks

If you don't use their is no need to disable it, its not a plugin its an addition to cobra features.

PS3M_API is part of COBRA 7.10 who is used in habib cobra 4.70, so you cant really disable it without disable cobra (or rebuild a new stage2.bin without it).

If you use webman-mod and don't want ps3m_api features you can manually install the non ps3m_api version of webman-mod https://github.com/aldostools/webMA...8d/updater/pkgfiles/USRDIR/webftp_server.sprx (v1.41.30).



[MENTION=600]_NzV_[/MENTION]
thanks for your update and sorry that i post again in your thread. but there are some things related to newcore, that bother me.
i have done now endless tests/softbricks with newcore, (old) ccapi and your code for mamba-autoloader and have found some interesting facts about Estwald's code.

first off, i need ccapi for debugging games that do not work in systemsoftware mode, to attach tools in release mode. so only choice for this, is ccapi v2.0, cause the other updates suck regarding memory scan speed and it is the fastest one working. (unless netcheat gets updated with ps3mapi libs, i have to stick with ccapi)

i have tried to load first ccapi self (v2.0 and v2.5 are loaded with a newcore similar self file, which then calls for ccapi.sprx), and afterwards mamba with your code. the result is, it always has frozen if i loaded them both, ccapi and mamba at once. without mamba code, ccapi could be loaded fine and has worked as if it was installed the usual way. and vice versa, without ccapi "core" self, i could autoload mamba fine.

at one point i have figured, that ONLY if i attach an usb flashdrive to usb000, i can load both of them fine without problem. then i have tried to figure out which code is responsible for this kind of acting and i came to a partial solution. the problem is, instead of original sys_init_osd.self, i load sys_ccapi.self (ccapi core self), which then autoloads original sys_init_osd.self as well, besides ccapi.sprx.

the changed call for sys_ccapi.self:
Code:
if(launchself("/dev_flash/sys/internal/sys_ccapi.self")!=0) // launch VSH at first to avoid problems with the PAD
the problem code:
Code:
    if(!from_reboot) {
        for(n = 0; n < 5; n++) {
            sysSleep(3);
            if(!filestat("/dev_usb000", &stat1)) break;
        }
        actions();
        if(dev_rw_mounted) {
            sys_fs_umount("/dev_rewrite");
            dev_rw_mounted = 0;
        }
    }
this only will work without freeze, if a flashdrive is connected to usb000. though, the failsafe routine works fine and only ccapi gets loaded.

now that i have no clues about coding, i just took the code from "try_mount_usb" and have replaced the problem code with it. and the the result is, it does not freeze anymore without any attached usb000 drive.

so this i have replaced now:
Code:
    strncpy(dev, "CELL_FS_IOS:USB_MASS_STORAGE000", 64);
	for(n = 0; n < 5; n++){
		memset(usb_buf, 0, sizeof(usb_buf));
		ret = sys_fs_mount_ext(dev, "CELL_FS_FAT", "/dev_usb000", 0, usb_buf, 0);
		if(ret == (int) 0x8001002B) sysSleep(3);
		else break;
	}
BUT for a weird matter of fact, now it acts just vice versa, if i attach an usb drive, it freezes, and booting without drive works fine.
though, i have no problem with that problem now, as long as i have not to attach permanently a flashdrive for it to work

edit
seems it only works with these portions of code, so removing does not work here...at least it works now, even it is somehow buggy
would be nice, if anybody could explain to me, what this code-snippet does. i can only translate and understand easy conditional functions so far

hmm, it seems there is really a permission problem for me, if i autoload mamba. for example the problem game middle earth does not work in folder format. if i use your mambaloader, it is the same. only if i use irisman loader, it works fine, even the modified one, which does not reload self file.
the game battlefield3 was a bad one, cause it has frozen in main screen during saving, which has resulted in a corrupt save in the end :(

i will try to add permission handler to mamba source, to see if it does any difference (or i will simply give up on that trying. too much of a hassle)

For usb detection if have found something wrong at this line "if(!filestat("/dev_usb000", &stat1)) break;" filestat will never return the right value if we check for a dir, but that not explain why you freeze ...

int filestat(const char *path, sysFSStat *stat)
{
int ret = sysLv2FsStat(path, stat);

if(ret == 0 && S_ISDIR(stat->st_mode)) return -1;

return ret;
}

For your problem with middle earth i will take a look in irisman man maybe it does more patch or less than my version based on ManaGunZ.

-------------------------------------------------------------------------------------------------------

By the way i have updated my code to v1.2.0 on github, now autoloader also include prx_loader payload so you can launch vsh plugin at boot with it if you disable MAMBA (flag mamba_off) and a lot of minor fix and code change.

So with this new update of new core cobra cfw user will have 4 mode of boot (COBRA, MAMBA, PRX LOADER, NORMAL) and no cobra cfw user 3 (MAMBA, PRX LOADER, NORMAL).

We can also improve MAMBA with autoload in new core if we load it before vsh.self (pad issue ?), if we do that we can do all patch to vsh like in cobra (memory 0x10000 to 0x10000 + vsh_text_size no more protected) maybe this can maybe help to improve it ... (some minor change need to be made in mamba before since Get_VSH_Process() will no more work we need to use the old way with the hook at process load)
 
Last edited:
If you don't use their is no need to disable it, its not a plugin its an addition to cobra features.

PS3M_API is part of COBRA 7.10 who is used in habib cobra 4.70, so you cant really disable it without disable cobra (or rebuild a new stage2.bin without it).

If you use webman-mod and don't want ps3m_api features you can manually install the non ps3m_api version of webman-mod https://github.com/aldostools/webMA...8d/updater/pkgfiles/USRDIR/webftp_server.sprx (v1.41.30).





For usb detection if have found something wrong at this line "if(!filestat("/dev_usb000", &stat1)) break;" filestat will never return the right value if we check for a dir, but that not explain why you freeze ...



For your problem with middle earth i will take a look in irisman man maybe it does more patch or less than my version based on ManaGunZ.

-------------------------------------------------------------------------------------------------------

By the way i have updated my code to v1.2.0 on github, now autoloader also include prx_loader payload so you can launch vsh plugin at boot with it if you disable MAMBA (flag mamba_off) and a lot of minor fix and code change.

So with this new update of new core cobra cfw user will have 4 mode of boot (COBRA, MAMBA, PRX LOADER, NORMAL) and no cobra cfw user 3 (MAMBA, PRX LOADER, NORMAL).

We can also improve MAMBA with autoload in new core if we load it before vsh.self (pad issue ?), if we do that we can do all patch to vsh like in cobra (memory 0x10000 to 0x10000 + vsh_text_size no more protected) maybe this can maybe help to improve it ... (some minor change need to be made in mamba before since Get_VSH_Process() will no more work we need to use the old way with the hook at process load)
you mean force_from_reboot? it is a 20sec delay boot. this really sounds exciting to me, dunno. :)

anyways, it got worse on my last tests, and it has corrupted my registry completely. i could mount and start game fine, but then only bluescreen and freeze. when i have restarted i have got that configure screen again.

edit
what do you mean with load plugin at boot? i can load both of them fine when system boots up and xmb appears.
 
Last edited:
you mean force_from_reboot? it is a 20sec delay boot. this really sounds exciting to me, dunno. :)
Don't undestand too ^^


edit
what do you mean with load plugin at boot? i can load both of them fine when system boots up and xmb appears.


The previous versions load mamba and vsh plugin at boot with it, now you can choose between load mamba and vsh plugin with it, or don't use it and load plugin with prx loader payload, or don't load mamba and vsh plugins..

Sorry if i am not always clear, i'm french so its not always easy to say what i want and to understand English^^
 
Don't undestand too ^^
i was talking about that force_from_reboot flag, where system is halted at boot and takes about 20sec to startup. it gives pad sync issues sometimes.
so you can use that interrupt do do vsh patching at boot time?

The previous versions load mamba and vsh plugin at boot with it, now you can choose between load mamba and vsh plugin with it, or don't use it and load plugin with prx loader payload, or don't load mamba and vsh plugins..

Sorry if i am not always clear, i'm french so its not always easy to say what i want and to understand English^^
that part about different startup flags i have understood. besides, you can speak english very well, at least for me
 
i was talking about that force_from_reboot flag, where system is halted at boot and takes about 20sec to startup. it gives pad sync issues sometimes.
so you can use that interrupt do do vsh patching at boot time?

I was thinking more easier

Code:
s32 main(s32 argc, const char* argv[]) 
{
    //Load MAMBA
    install_mamba();
    //Launch VSH at first to avoid problems with the PAD
    if(launchself("/dev_flash/sys/internal/sys_init_osd_orig.self")!=SUCCESS)
	{
        if(launchself("/dev_flash/vsh/module/vsh.self")!=SUCCESS)
		{
...
or
Code:
s32 main(s32 argc, const char* argv[]) 
{
    //Launch VSH at first to avoid problems with the PAD
    if(launchself("/dev_flash/sys/internal/sys_init_osd_orig.self")!=SUCCESS)
	{
         //Load MAMBA
         install_mamba();
        if(launchself("/dev_flash/vsh/module/vsh.self")!=SUCCESS)
		{
...

besides, you can speak english very well, at least for me

thanks i try to do my best :)
 
[MENTION=600]_NzV_[/MENTION] [MENTION=46]haxxxen[/MENTION]

Do you ave the same 'middle earth' issue with ManaGunZ ?
if yes, it's probably due to a wrong offset in the function fix_error(). Plz, tell me if you find a mistake.
 
[MENTION=600]_NzV_[/MENTION] [MENTION=46]haxxxen[/MENTION]

Do you ave the same 'middle earth' issue with ManaGunZ ?
if yes, it's probably due to a wrong offset in the function fix_error(). Plz, tell me if you find a mistake.

In multiman-Webman and Gamesonic Manager the problem was solved with a offset foun by deank
You can try this offset in my code
In payload 4.65
 
Due to recent change (ps3m_api include in some firmware, autoboot for mamba, ...) i have updated the main topic to be more clear and easier to understand.
Also if some one can make a "true" logo for PS3M_API :)

[MENTION=600]_NzV_[/MENTION] [MENTION=46]haxxxen[/MENTION]

Do you ave the same 'middle earth' issue with ManaGunZ ?
if yes, it's probably due to a wrong offset in the function fix_error(). Plz, tell me if you find a mistake.

In multiman-Webman and Gamesonic Manager the problem was solved with a offset foun by deank
You can try this offset in my code
In payload 4.65

I will take a look.
 
Last edited:
[MENTION=600]_NzV_[/MENTION] [MENTION=46]haxxxen[/MENTION] [MENTION=34]Zar[/MENTION]
One of you can help me with control fan apyload of Ganesobic Manager,if anyone of you dont kno the but,it this is:Whebn LEDs are enabled the audio is bugged
When LEDs are disabled the control fan not work propely

I have tried to fit it but without success,Thanks in advance to all
 
[MENTION=600]_NzV_[/MENTION] [MENTION=46]haxxxen[/MENTION]

Do you ave the same 'middle earth' issue with ManaGunZ ?
if yes, it's probably due to a wrong offset in the function fix_error(). Plz, tell me if you find a mistake.

The problem with Middle Earth was due a bug in that game. The devs are using //dev_bdvd instead of /dev_bdvd.

It can be fixed easily with this: sys_map_path("//dev_bdvd", path);

This is how webMAN and multiMAN fixes that game.
 
The problem with Middle Earth was due a bug in that game. The devs are using //dev_bdvd instead of /dev_bdvd.

It can be fixed easily with this: sys_map_path("//dev_bdvd", path);

This is how webMAN and multiMAN fixes that game.

MAMBA and COBRA have an "auto-fix" for this if i am right.

Note: The MAMBA with map_path you have shared [MENTION=46]haxxxen[/MENTION] some time ago don't have this "auto fix".

Code:
LV2_HOOKED_FUNCTION_POSTCALL_2(void, open_path_hook, (char *path0, int mode))
{
	if (path0[0]=='/')
	{
		char *path=path0;
		[COLOR="#FF0000"]if(path[1]=='/') path++;[/COLOR]
		for (int i = MAX_TABLE_ENTRIES-1; i >= 0; i--)
		{
			if (map_table[i].oldpath)
			{
				int len = strlen(map_table[i].oldpath);
				if (path && strncmp(path, map_table[i].oldpath, len) == 0)
				{
					strcpy(map_table[i].newpath+map_table[i].newpath_len, path+len);
					set_patched_func_param(1, (uint64_t)map_table[i].newpath);
					break;
				}
			}
		}
	}
}
 
MAMBA and COBRA have an "auto-fix" for this if i am right.

Note: The MAMBA with map_path you have shared [MENTION=46]haxxxen[/MENTION] some time ago don't have this "auto fix".

Code:
LV2_HOOKED_FUNCTION_POSTCALL_2(void, open_path_hook, (char *path0, int mode))
{
	if (path0[0]=='/')
	{
		char *path=path0;
		[COLOR="#FF0000"]if(path[1]=='/') path++;[/COLOR]
		for (int i = MAX_TABLE_ENTRIES-1; i >= 0; i--)
		{
			if (map_table[i].oldpath)
			{
				int len = strlen(map_table[i].oldpath);
				if (path && strncmp(path, map_table[i].oldpath, len) == 0)
				{
					strcpy(map_table[i].newpath+map_table[i].newpath_len, path+len);
					set_patched_func_param(1, (uint64_t)map_table[i].newpath);
					break;
				}
			}
		}
	}
}

Yes... if I'm right, that line was added by master deank.
 
MAMBA and COBRA have an "auto-fix" for this if i am right.

Note: The MAMBA with map_path you have shared [MENTION=46]haxxxen[/MENTION] some time ago don't have this "auto fix".

Code:
LV2_HOOKED_FUNCTION_POSTCALL_2(void, open_path_hook, (char *path0, int mode))
{
	if (path0[0]=='/')
	{
		char *path=path0;
		[COLOR="#FF0000"]if(path[1]=='/') path++;[/COLOR]
		for (int i = MAX_TABLE_ENTRIES-1; i >= 0; i--)
		{
			if (map_table[i].oldpath)
			{
				int len = strlen(map_table[i].oldpath);
				if (path && strncmp(path, map_table[i].oldpath, len) == 0)
				{
					strcpy(map_table[i].newpath+map_table[i].newpath_len, path+len);
					set_patched_func_param(1, (uint64_t)map_table[i].newpath);
					break;
				}
			}
		}
	}
}
yes, that fix was not included in mamba back then, cause there was no fix at this time available i think or because webman does autofix it.
i don't think that this is the issue, cause using irisman loader the game works perfectly fine with mamba in folder format. that was the only game i have tested with the addition of mappaths to mamba
 
ps3m_api_demo_v120_1.png ps3m_api_demo_v120_2.png ps3m_api_demo_v120_3.png ps3m_api_demo_v120_4.png

PS3 Manager API PC Lib and Demo Tools Updated.

Download: PS3M_API_Demo_Tools
Source Code: https://github.com/NzV/PS3M_API-Lib/tree/master/PC

Change log:
Code:
[B]PS3ManagerAPI.dll v1.2.0:[/B]

[LIST]
[*]Require webMAN-MOD v1.41.40 at least
[*]Add features of PS3M_API v1.2.x (Get and set IDPS/PSID anytime, VSH plugins manager)
[*]Bugfix: Fixed get and set memory on larger range (length > 65536)
[*]Bugfix: Memory can now be get and set on address upper 0x7FFFFFFF
[/LIST]

[B]PS3 Manager API Demo Tools v1.2.0:[/B]

[LIST]
[*]Small UI Change
[*]Add VSH plugins manager
[*]Add get and set idps/psid anytime
[*]Minor improvement
[*]Require webMAN-MOD v1.41.40 at least
[/LIST]



PS3Lib v4.5 [Unofficial] and "Fake" CCAPI Updated.

Download PS3Lib v4.5.1: PS3M_API_Demo_Tools
Source Code PS3Lib v4.5.1: https://github.com/NzV/PS3Lib-Unofficial

Download "Fake" CCAPI v1.1: Fake_CCAPI

Change log:
Code:
[B]PS3Lib v4.5.1 (U):[/B]

[LIST]
[*]Updated to support features of PS3ManagerAPI.dll v1.2.0
[*]Require webMAN-MOD v1.41.40 at least
[/LIST]

[B]"Fake" CCAPI v1.1:[/B]

[LIST]
[*]Updated to support features of PS3ManagerAPI.dll v1.2.0
[*]Require webMAN-MOD v1.41.40 at least
[/LIST]



For more information look at the main topic: http://www.psx-place.com/forum/utilities/ps3-manager-api-931.html
 
Last edited:

Similar threads

Back
Top