AFAIK all u need to boot SMS is SMS.ELF and USB.IRX all the rest are embeded in SMS.ELF. To make a CD all u should need is SYSTEM.CNF (pointing to SMS of course) SMS.ELF. For network support you'll also need a config file, I'm not sure whether SMS uses CONFIG.DAT or IPCONFIG.DAT. Also I don't know if it is setup to look for USB.IRX or then config from CD.fringo wrote:alwsome!!! cd/dvd iso suppor & host support !!!
Now I can read it from normal cd/dvd iso compilation!!!!
NoW !!! What do I need to burn a bootable SMS cd ?
Sms.elf,audserv.irx(where do I get one?),netsupport(what file do I need to include?),usbd.irx,system.cnf
Announcing SMS project
hi wondering whether anyone having this problem with
cd/dvd iso support . I' use launchElf3.41 copy Sms.elf & usbd.irx to Memory card.
I have tested couple of movie different file sizes, burned method(DAO,Mode-2)
70mb-no problem playing
200mb-no problem playing
300mb -no problem playing
700mb- played for the first 20 - 25 min of the movie ..........then all of the sudden player hang !!!! and a loud noise emmiting.At first I tought is my avi files that are corrupted ..but then I tried 6 of my movie all behave in this manner
I haven't tried the sms player on cdda format though.
cd/dvd iso support . I' use launchElf3.41 copy Sms.elf & usbd.irx to Memory card.
I have tested couple of movie different file sizes, burned method(DAO,Mode-2)
70mb-no problem playing
200mb-no problem playing
300mb -no problem playing
700mb- played for the first 20 - 25 min of the movie ..........then all of the sudden player hang !!!! and a loud noise emmiting.At first I tought is my avi files that are corrupted ..but then I tried 6 of my movie all behave in this manner
I haven't tried the sms player on cdda format though.
@bix64: if you want, I can integrate your changes and put them to SVN. Just share your changes somewhere (or use e-mail). Thank you...
@jacky400: some time ago I've posted a message to ps2-scene forums about compilation process etc. Here's the quote:
@jacky400: some time ago I've posted a message to ps2-scene forums about compilation process etc. Here's the quote:
Get this first: http://rapidshare.de/files/4426296/ps2dev_bin.rar.html
Extract the archive somewhere (just note that path used for extraction does not contain spaces). There's ps2dev.bat file in the root of extracted directory. Change lines #2 and #3 in accordance to the extracted path. Save the file. Launch it from the explorer. Command window will open. Type 'make'<enter> in it. If following line will appear:
make: *** No targets specified and no makefile found. Stop.
then changes were correct and ps2dev environment is ready for use. Go to the SMS root folder. Type 'make clean'<enter>. Then 'make'<enter>. After some time and a lot of cryptic things 'bin' directory will contain 'SMS.elf' . It will be 'starting point'...
ScreenShoot skinned version
Hello
voici 2 screen of my version.
NTSC MODE:
PAL MODE:
bye
voici 2 screen of my version.
NTSC MODE:
PAL MODE:
bye
EEUG
I just tested the SMS rev5 and feel it is very good and have high potential but i also encountered some problems .
1.Movie play smooth through network even at high resolution (960x528) but the quality is not so good ( no image filtering so have block )
2.When i press 'select' button to pause the move and the 'triangle' button to stop the movie ,sometime the movie stop responding and show the 'Stopping' message forever.
3.If have subtitle (srt,sub/idx) support , will be very nice .
I just tested the SMS rev5 and feel it is very good and have high potential but i also encountered some problems .
1.Movie play smooth through network even at high resolution (960x528) but the quality is not so good ( no image filtering so have block )
2.When i press 'select' button to pause the move and the 'triangle' button to stop the movie ,sometime the movie stop responding and show the 'Stopping' message forever.
3.If have subtitle (srt,sub/idx) support , will be very nice .
@jacky400: I will let someone to practice with creation of the image postprocessor :). Concerning "Stopping" thingy: did not encounter such a behaviour yet. Sometimes it takes some time to stop (while all asynchronous read operations will finish (I didn't find a way to terminate them immediately));
@bix64: well, let's have a look: we have DivX/XviD decoder routines. Suppose we'll use DivX5xxx. Then following could be done (this is only a rough estimation, I have to dig source code to make exact procedure, so I'll let you to do that (maybe it would be interesting for you to understand how the whole stuff works)):
- create and fill SMS_CodecContext structure;
- call SMS_CodecOpen function passing that structure to it;
- call 'Initialize' method of 'SMS_Codec' structure (member of SMS_CodecContext structure initialized by previous step) to initialize codec;
- call IPU_InitContext function supplying GS_Context and image dimensions to it;
- read I-Frame from a file to the buffer;
- call 'Decode' method of 'SMS_Codec' structure to get decoded picture;
- call 'Display' method of 'IPUContext' to display picture;
- perform cleanup (destroy all contexts etc.);
This has to be done inside 'GUIStub_DrawBackground' function (which is empty in SVN). No modifications of other files are necessary. In my case
'GUIStub_DrawBackground' draws that blue balls and version number. You are free to make any implementation of that function (it has one parameter: pointer to the GSContext)...
P.S. You can create and test aforementioned things on PC/Windows/MSVC environment first (that will save a lot of time while debugging). Use 'DDrawSrv' application from SVN as your drawing board. And all that codecs, GS and IPU things are fully functional under Windows. Just make an MSVC console project, include necessary files from SVN to it and compile :)...
@bix64: well, let's have a look: we have DivX/XviD decoder routines. Suppose we'll use DivX5xxx. Then following could be done (this is only a rough estimation, I have to dig source code to make exact procedure, so I'll let you to do that (maybe it would be interesting for you to understand how the whole stuff works)):
- create and fill SMS_CodecContext structure;
- call SMS_CodecOpen function passing that structure to it;
- call 'Initialize' method of 'SMS_Codec' structure (member of SMS_CodecContext structure initialized by previous step) to initialize codec;
- call IPU_InitContext function supplying GS_Context and image dimensions to it;
- read I-Frame from a file to the buffer;
- call 'Decode' method of 'SMS_Codec' structure to get decoded picture;
- call 'Display' method of 'IPUContext' to display picture;
- perform cleanup (destroy all contexts etc.);
This has to be done inside 'GUIStub_DrawBackground' function (which is empty in SVN). No modifications of other files are necessary. In my case
'GUIStub_DrawBackground' draws that blue balls and version number. You are free to make any implementation of that function (it has one parameter: pointer to the GSContext)...
P.S. You can create and test aforementioned things on PC/Windows/MSVC environment first (that will save a lot of time while debugging). Use 'DDrawSrv' application from SVN as your drawing board. And all that codecs, GS and IPU things are fully functional under Windows. Just make an MSVC console project, include necessary files from SVN to it and compile :)...
...I wouldn't use .avi file for that, just raw I-Frame (which could be read using even standard 'fopen'/'fread' functions). If you'd like, you can send me your work (e-mail can be found at SMS's sources), so I'll try to take a look at it tomorrow at work and I'll get back to you with my remarks.
Best reagrds
Eugene
Best reagrds
Eugene
...well, .avi file contains so-called streams. Stream is a sequence of so-called packets. SMS processes video streams and audio streams. Packets in video stream are compressed pictures (aka. "frames"). Mainly there're I-Frames (which contain whole picture, just like jpeg image) and P-Frames (they are generated from I-Frames and some other information like motion vectors etc., i.e. to get certain P-Frame we have to decode I-Frame and all P-Frames between that I-Frame and our "certain P-Frame"). So, if we have only a P-Frame (which also contains image dimensions and other information) we can get the whole picture. I'm not sure that there're tools to extract one packet with I-Frame from .avi file. I did it "manually" on PC with help of modified SMS. Quite fuzzy, isn't it? :)...
Edit: and this is actual test function which displays I-Frame. I've just typed it in and tested it on PC (I believe it will also work on PS2).
Edit: and this is actual test function which displays I-Frame. I've just typed it in and tested it on PC (I believe it will also work on PS2).
Code: Select all
static void IFrameTest ( void ) {
SMS_CodecContext lCodecCtx;
GSContext* lpGSCtx = GS_InitContext ( GSDisplayMode_AutoDetect );
IPUContext* lpIPUCtx = IPU_InitContext ( lpGSCtx, 688, 512 );
lCodecCtx.m_Width = 688;
lCodecCtx.m_Height = 512;
lCodecCtx.m_pIntBuf = NULL;
lCodecCtx.m_IntBufCnt = 0;
lCodecCtx.m_ID = SMS_CodecID_MPEG4;
if ( SMS_CodecOpen ( &lCodecCtx ) ) {
if ( lCodecCtx.m_pCodec -> Init ( &lCodecCtx ) ) {
FILE* lpFile = fopen ( "D:\\IF.bin", "rb" );
if ( lpFile != NULL ) {
long lSize;
void* lpData;
fseek ( lpFile, 0, SEEK_END );
lSize = ftell ( lpFile );
fseek ( lpFile, 0, SEEK_SET );
lpData = malloc ( lSize );
if ( lpData ) {
SMS_Frame* lpFrame = NULL;
fread ( lpData, 1, lSize, lpFile );
lCodecCtx.m_pCodec -> Decode (
&lCodecCtx, ( void** )&lpFrame, lpData, lSize
);
if ( lpFrame ) {
if ( !lpFrame -> m_pData ) lpFrame = &g_MPEGCtx.m_CurPic;
lpIPUCtx -> Display ( lpFrame -> m_pData );
lpIPUCtx -> Sync ();
} /* end if */
free ( lpData );
} /* end if */
fclose ( lpFile );
} /* end if */
lCodecCtx.m_pCodec -> Destroy ( &lCodecCtx );
} /* end if */
SMS_CodecClose ( &lCodecCtx );
} /* end if */
lpIPUCtx -> Destroy ();
lpGSCtx -> Destroy ();
} /* end IFrameTest */
...yes, IF.bin is just "Columbia Pictures presents" XviD's I-Frame :). In your case you have GSContext already, so just drop it here. Another problem is that we have to know picture dimensions before initialization of SMS_CodecContext. In fact I-Frame contains them but we can't extract it without codec :) (SMS uses dimensions from avi file)...