12-04-2012,03:39 AM

Originally Posted by
pant3k
Can i find any reference like this:
aHR0cDovL3d3dy5jcGx1c3BsdXMuY29tL3JlZmVyZW5jZS9jc3 RkaW8v (base64encode)
for ps2?
for example functions:
SifInitRpc
FlushCache
SifExitCmd
SifLoadFileExit
SifExitIopHeap
SifExecModuleBuffer
SifIopReset
Maybe on archive sites ? (base64 encoded):
aHR0cDovL3dlYi5hcmNoaXZlLm9yZy93ZWIvMjAwNjEyMDUwMz UxMDYvaHR0cDovL3BzMmRldi5vcmcvDQpodHRwOi8vd2ViLmFy Y2hpdmUub3JnL3dlYi8yMDEwMTAyMzEwMjQ1My9odHRwOi8vcH MyZGV2Lm9yZy9wczIvVHV0b3JpYWxzDQpodHRwOi8vd2ViLmFy Y2hpdmUub3JnL3dlYi8yMDA1MDUyMTEyNDM0NC9odHRwOi8vcH MyZGV2LmxpdmVtZWRpYS5jb20uYXUva2IuYXNwP3Q9MQ0KaHR0 cDovL3dlYi5hcmNoaXZlLm9yZy93ZWIvMjAwODA1MTQwNjQ1NT kvaHR0cDovL3BzMmRldi5vZmNvZGUuY29tL21vZHVsZXMvd29y ZHByZXNzLz9wYWdlX2lkPTM3DQpodHRwOi8vd2ViLmFyY2hpdm Uub3JnL3dlYi8yMDAyMDEyODIyMzQ1NS9odHRwOi8vcHMyZGV2 LmxpdmVtZWRpYS5jb20uYXUva2IuYXNwP1Q9Nzg=
on last link we can see English scelib(dot)txt but not available (no copy of this link on web archive)
Any help, hints?
Maybe someone has a copy of function references(if any exist)?
Thanks.
You need to get a copy of the Sony PS2SDK. Sorry, but such information is a bit hard to come across.
There are samples in the homebrew PS2SDK that shows that the SIF needs to be initialized (And how the IOP should be reset), but they don't explain what each function does, when to and when not to invoke them, and are sometimes redundant/incorrect.
I've struggled in 2009 to understand all that, so here is what I've learned:
1. The Playstation 2 has two MIPS processors: The Emotion Engine (EE), which is the CPU, and the I/O Processor (IOP) which deals with I/O requests to the peripherals.
2. These two processors are interconnected by the Sub-processor InterFace (SIF), which consists of three DMA channels. SIF0 and SIF1 are used for EE<->IOP communication, and both of them are unidirectional. Only SIF2 is bidirectional, but it's not used on retail consoles (It's used for debugging on TEST/debug units).
3. Functions on the other processor are invoked from the processor that the calling function is running on through Remote Procedure Calls (RPCs) that run over the SIF.
4. When your program starts up, you should reset the IOP to initialize it into a known state, and to clear off whatever modules there are running on it. It's not only to save IOP RAM, but to prevent potential module conflicts.
Standard IOP initialization and deinitialization sequence:
Code:
SifInitRpc(0); // Initialize the SIF RPC interface to set up the location for receiving SIF command packets on the IOP side, for the IOP reset to work properly.
while(!SifIopReset(NULL, 0)){};
//Feel free to do anything here that does not involve the IOP.
while(!SifIopSync()){}; //Wait for the IOP to reset.
// Bring up the SIF RPC
SifInitRpc(0);
//Initialize other RPC services...
...
// Deinitialize RPC services
...
//Shut down the SIF RPC
SifExitRpc();
return 0;
In this example, I reset the IOP with the default IOP image. Some homebrew may use rom0:EELOADCNF, but this IOPRP image is missing from all Protokernel boot ROMs (SCPH-10000 and SCPH-15000) and the Playstation 3.
To reset the IOP with an external IOP image, the syntax passed as the first argument to SifIopReset() would be in this format: "rom0:UDNL <Full path to IOPRP image>".
The only supported devices for retrieving IOPRP images from are the ROM, CD/DVD drive, and the Memory Card (However, a Magicgate-encrypted updater program must be specified in place of rom0:UDNL).
The 2nd argument to SifIopReset() is the flags field, and setting it to 0x100 enables decrypting the specified updater program. However, nobody will usually use it.
Sony has the following restrictions placed on IOP module loading, and this applies to IOP resets too:
1. Unencrypted modules may only be loaded from read-only devices, such as the ROM and CD/DVD drive.
2. Modules loaded from user-modifiable devices like the HDD unit and memory card must be encrypted.
3. For IOPRP images, #2 is performed by using a special, encrypted updater program which contains the IOPRP image embedded in it, in place of rom0:UDNL.
4. The rom0:LOADFILE module in the boot ROM does not support sceSifLoadModuleBuffer(), hence a call to sbv_patch_enable_lmb() is required to enable this RPC after the IOP is reset. This is required to enable SifExecModuleBuffer().
5. Sony does #4 as well, when the HDDOSD is booted.
Unmodified SCPH-77006 with SM 3.6
SCPH-39006 with M-chip modchip, SCPH-10281 NA and refurb Seagate 80GB HDD
SCPH-10000 v1.00 with SCPH-10190 PCMCIA NA and SCPH-20400 HDD unit

PS2ESDL v0.823B
やっほー 汗がひかる♪