PS2 PS2 Intro Loader v1.0

PS2 Intro Loader application that enables you to play a custom intro video file on your PS2

  1. 23
    26
    37
    dekkit

    dekkit Member

    Joined:
    Dec 29, 2017
    Messages:
    23
    Likes Received:
    26
    Trophy Points:
    37
    Gender:
    Male
    Banner_small.jpg

    A few of us have been working on a new homebrew app and we thought it was about time to share it with the ps2 community....

    • PS2 Intro Loader v1.0
      Mar 15, 2019
      Development Team: @Krah.Johlito (@Krah) , @dekkit, @Tupakaveli.
      Description: PS2 Intro Loader is a homebrew application that enables you to play a custom intro video file on your PlayStation 2. It will then exit to a specified ELF stored on your Memory Card.

      It is designed to be launched on console boot as AUTO E1 Launch Key via FMCB/FHDB.

      Note This is one of our first attempts at customising a C/C++ program on dedicated PS2 hardware, so feedback is welcome at the official release site: https://www.psx-place.com/threads/ps2-intro-loader-v1-0.23004/

      This is NOT an attempt to bypass the FMCB logo. In fact, FMCB/FHDB is required for this application to function as intended.

      Please distribute freely. The creators of this application are not liable for any damage that may be caused.

    • Basic Usage
      • Place a video file named 'intro.avi' onto the root of USB device. E.g. mass:/intro.avi
      • Place INTROLDR.ELF on either MC, when first launched it will create an 'INTRO' folder containing a config file on MC.
      • The default ELF that will be launched on exit is mc1:/BOOT/BOOT.ELF - if not found, the Browser will be launched.
      • If launched from any device other than MC, the default settings will be used and the Browser will be launched on exit.
      • Run INTROLDR.ELF - via FMCB, LaunchELF or any other homebrew ELF launcher.

      Advanced Usage
      • The config file can be customised and either USB or HDD can be specified for source of video.
      • If using internal HDD, ensure that video is stored in the 'common' partition. E.g. pfs:/__common/intro.avi
      • The video mode can also be specified in the config file, the options are: AUTO, NTSC, PAL, and 720p.
      • The exit path can be customised to launch any ELF stored on your MC in either slot.
      • The intro video filename can also be changed by editing the config file.

    • Support Media Types
      Only media files supported by Simple Media System(SMS) can be used. For the AVI container (.avi), SMS supports DivX and Xvid codecs. SMS also supports MPEG-2 video.

      It is advisable to test any videos in SMS v2.9 R4 before using them with PS2 Intro Loader.

      There are many tools freely available to convert any videos to XVID format.

    • Credits
      PS2 Intro Loader was developed using a heavily modified version of Simple Media System (2.9 R4). Full credit and thanks to the original author Eugene Plotnikov (http://members.casema.nl/eugene_plotnikov/) for his work and sharing the original source code.

      Thanks to doctorxyz and belek666 for updating it to compile with the lasest PS2SDK (https://github.com/doctorxyz/sms) (https://github.com/belek666/sms).

      Thanks to sp193 for his time, advice and dedication to PS2 homebrew in general.

      Thanks to UniqueUserName R.I.P. for keeping together all the different SMS repositories and his enthusiasm for both the PS2 and SMS (http://psx-scene.com/forums/f111/sm...hread-actively-seeking-new-developers-157677/).

    • Download link: https://github.com/dekkit/PS2-Intro-Loader-Public-Releases/wiki/Downloads.
      4.68 MB (4904341 bytes)
      MD5 = 7b892e29271f9c1e91d854485d71c4f9

      Mirror(s):

    Please note psx-place is the official thread for any questions, general support, or future versions.
     
    Last edited by a moderator: Mar 16, 2019
    chronoss, Johnnie, krHACKen and 11 others like this.
  2. 183
    65
    57
    FmTGamer

    FmTGamer Member

    Joined:
    Mar 8, 2018
    Messages:
    183
    Likes Received:
    65
    Trophy Points:
    57
    Gender:
    Male
    Occupation:
    working
    Location:
    Portugal
    THAT IS AWESOME.
    thx for your work
    im ggnna test it right now
     
    Tupakaveli, Krah, T.A.U and 3 others like this.
  3. 2,111
    1,997
    272
    Berion

    Berion Developer

    Joined:
    Feb 3, 2015
    Messages:
    2,111
    Likes Received:
    1,997
    Trophy Points:
    272
    Gender:
    Male
    Location:
    rom0:/
    AVI is a container, so it's a little lack of informations what kind of video is supported. However if this is "rip off" from SMS (BTW: very nice idea!) than this point as, the end users, to what is supporting and what is not.

    VLC said:
    ps2ldr_intro_codec.jpg
     
    Last edited: Mar 15, 2019
    Krah, T.A.U, DeViL303 and 1 other person like this.
  4. 23
    26
    37
    dekkit

    dekkit Member

    Joined:
    Dec 29, 2017
    Messages:
    23
    Likes Received:
    26
    Trophy Points:
    37
    Gender:
    Male
    Yep, pretty much test if it can open and play in SMS, then it should theoretically work in intro (ie xvid/divx/mpeg video etc).

    Note - Updated the first post with additional info.

    Also found this - suggestions on encoding methods to get the most out of sms https://github.com/TheMrIron2/Simple-Media-System
     
    Last edited: Mar 15, 2019
    T.A.U likes this.
  5. 215
    264
    122
    Tupakaveli

    Tupakaveli VIP PSX-Place Supporter

    Joined:
    Sep 19, 2017
    Messages:
    215
    Likes Received:
    264
    Trophy Points:
    122
    Gender:
    Male
    Location:
    Australia
    We forgot to include it in the documentation lol.

    The sample video was made in 4:3 for NTSC and PAL video modes but the maximum resolution we got working was 960x540 in 720p.

    Other codecs and containers should be supported but it wasn't extensively tested.
     
    Last edited: Mar 15, 2019
    T.A.U, dekkit and DeViL303 like this.
  6. 1,329
    949
    272
    jolek

    jolek Senior Member

    Joined:
    Dec 29, 2017
    Messages:
    1,329
    Likes Received:
    949
    Trophy Points:
    272
    Gender:
    Male
    It is something new, so thanks for that.

    Can config file be also on USB (for test)?
    Maybe in root folder (like for a video "mass:/intro.avi")?

    Also it easier to edit something on PC than in wLe.
    I mean I can also copy&paste config file on USB drive through wLe, edit it on PC, copy&paste it on MC,
    but it is a bit "frustrating".

    Why not use "mc?:/BOOT/BOOT.ELF" instead of "mc1:/BOOT/BOOT.ELF".
    This way support for both MC can achieved.
     
  7. 154
    183
    97
    Krah

    Krah Developer

    Joined:
    Jul 20, 2018
    Messages:
    154
    Likes Received:
    183
    Trophy Points:
    97
    I get why this is more convenient but currently which modules are loaded are dependent on the cfg, so until it has read your cfg the USB modules aren't even loaded because it doesn't know if it needs to load them yet. The idea was to only load as few needed modules as possible to reduce loading times. ie If device is set to HDD then USB modules are never even loaded ;)

    Both MCs are supported, cfg etc is read/written to whichever MC the ELF is booted from. Its just the default exit path that we threw the 1 in. I'm not sure if mc? requires additional code for it to work or not?
     
  8. 1,329
    949
    272
    jolek

    jolek Senior Member

    Joined:
    Dec 29, 2017
    Messages:
    1,329
    Likes Received:
    949
    Trophy Points:
    272
    Gender:
    Male
    I mean support for both exit paths on MC.
    "mc1:/BOOT/BOOT.ELF" supports only MC in slot 2, while the config will saved in mc0:/INTRO.
    "mc?:/BOOT/BOOT.ELF" will support both MC, while the config will saved in mc0:/INTRO.

    Theoretically FMCB configurator, OPL, SMS supports it, so there is a chance that also this launcher might supports it.
    E.g. SMS.cfg can be loaded on mc0 or in mc1.
    conf_opl.cfg also can be loaded from mc0 or in mc1, etc.

    EDIT: Maybe it can be done in the same as it works for wLe.
    I mean config file needs to be in the same path as wLe is:
    mass:/BOOT.ELF, mass:/LAUNCHELF.CNF.
    If config file will not be in the same path, it'll look for it in mc?:/SYS-CONF/LAUNCHELF.CNF.
     
    Last edited: Mar 16, 2019
    Krah likes this.
  9. 154
    183
    97
    Krah

    Krah Developer

    Joined:
    Jul 20, 2018
    Messages:
    154
    Likes Received:
    183
    Trophy Points:
    97
    I'll try it later, it will still work the way you're saying as in you can use either but you do need to specify which atm.. for example I was running it from MC Slot 2 but specify "mc0:/OPL/OPNPS2LD.ELF" as the exit path when testing
     
  10. 1,329
    949
    272
    jolek

    jolek Senior Member

    Joined:
    Dec 29, 2017
    Messages:
    1,329
    Likes Received:
    949
    Trophy Points:
    272
    Gender:
    Male
    Maybe it can be done (loading config file) in the same as it works for wLe.
    I mean config file needs to be in the same path as wLe is:
    mass:/BOOT.ELF, mass:/LAUNCHELF.CNF.
    If config file will not be in the same path, it'll look for it in mc?:/SYS-CONF/LAUNCHELF.CNF (default path).

    EDIT:
    BTW How long intro intro can played?
    I mean what is max video duration?
     
    Last edited: Mar 16, 2019
  11. 154
    183
    97
    Krah

    Krah Developer

    Joined:
    Jul 20, 2018
    Messages:
    154
    Likes Received:
    183
    Trophy Points:
    97
    All the codecs, decoding, rendering etc is SMS at work so there is no limit...you could have a 2hr boot animation if you want...lol not that anyone would. We also forgot to mention you can skip the video if it becomes tedious to see at start up, its mapped to CROSS.
     
  12. 23
    26
    37
    dekkit

    dekkit Member

    Joined:
    Dec 29, 2017
    Messages:
    23
    Likes Received:
    26
    Trophy Points:
    37
    Gender:
    Male
    Valid feedback points. I think once it's setup, you probably won't touch the cfg much.

    Will continue monitoring this thread for feedback/suggestions, in case any of us have time to put together another version (works for our needs, and shared in case anyone else would find useful)

    Would using network to store the vid (as per existing sms functionality ) be useful to anyone?

    Also keen to see examples that folks are using as their custom intro vid
     
  13. 1,329
    949
    272
    jolek

    jolek Senior Member

    Joined:
    Dec 29, 2017
    Messages:
    1,329
    Likes Received:
    949
    Trophy Points:
    272
    Gender:
    Male
    I'm especially waiting for that.
    E.g. we can also have separate video of a OPL, wLe, etc. which will be launch after short demonstration\intro (exit path).

    Hmm, what about "INTROLDR1.ELF" will use "intro1.cfg" on MC.
    "INTROLDR2.ELF" will look for "intro2.cfg" also on MC.
    First program ("INTROLDR1.ELF") and video will be e.g. for OPL,
    second ("INTROLDR2.ELF") e.g. for SMS.

    I mean ("INTROLDR1.ELF") can show short OPL intro and launch it based on config that is set in "intro1.cfg".
    Something similar is in POPStarter.
    E.g. XX. prefix is looking for games on USB.
    SB. through SMB.
    Without and prefix from HDD.
     
  14. 23
    26
    37
    dekkit

    dekkit Member

    Joined:
    Dec 29, 2017
    Messages:
    23
    Likes Received:
    26
    Trophy Points:
    37
    Gender:
    Male
    We had thought and discussed a few options (including using popstarters configless method) but in the end Krah came up with a really straight forward method using a cfg file which met the needs of playing a single video.

    Also when mapping out a filename convention for a popstarter style it was going to be tricky to have all configuration items in the elf filename ie name/vidmode/device/elfpath etc.

    It's doable to have something like that (one idea was to have a bunch of help videos on my fmcb menu on how to use emulators, another idea was to build some sort of video and picture presentation slide show ) but then it starts becoming less about a quick intro and more about extra stuff for media player that sms already sorta does.

    So can see value in it (with having it more dynamic) so will keep note if have time to do another version at some point in future.

    That said working with SMS code and ps2 dev is incredibly challenging (hence 3 of us working thru reviewing several versions of the code and coming across several deadends /issues - plus we are new to all this).

    It is possible to automate all sorts of stuff in sms tho but it's not necessarily quick or easy to do!
     
  15. 154
    183
    97
    Krah

    Krah Developer

    Joined:
    Jul 20, 2018
    Messages:
    154
    Likes Received:
    183
    Trophy Points:
    97
    This isn't a bad idea and would be easily doable, only thought is that if going to this trouble it might be feasible to just embed say OPL for example in the ELF that plays the OPL intro video that way you only need to keep one ELF on your MC instead of having a bunch of intro ELFs pointing to different APPS.

    Trouble there would be updating the embedded APPS, I think @Tupakaveli mentioned a while back about something sp193 did with mini OPL being able to inject updates into an ELF or something? That's quite interesting....
     
  16. 3
    1
    7
    Fuso

    Fuso Forum Noob

    Joined:
    Nov 22, 2018
    Messages:
    3
    Likes Received:
    1
    Trophy Points:
    7
    Gender:
    Male
    The default exitpath works and boots uLaunchELF. But when I change it to load mc1:/OPL/OPNPS2LD.ELF (yes, I use slot 2 for booting FMCB and Apps) goes to black screen after the intro and nothing happens. I tried also with mc?:/ but then just goes to browser or whatever your FMCB is configured to load on startup.
     
    jolek likes this.
  17. 23
    26
    37
    dekkit

    dekkit Member

    Joined:
    Dec 29, 2017
    Messages:
    23
    Likes Received:
    26
    Trophy Points:
    37
    Gender:
    Male
    As noted, you need to specify the mc0 or mc1.

    The black screen usually means it cannot find the file or has crashed loading the exit elf.

    In testing, sometimes we noted there was a conflict with some versions of opl and only after you ran intro loader several times in a row.

    WORK AROUND
    If your setup has similar issues, one workaround is to copy a version of ule into the intro folder and point the exit elf to that copy of ule.

    In ule, you can set a 'default' app via configuration settings. Then set the timeout to zero (0) and save the setting's (it will create a cnf file in the same folder).

    This will then use ule to autoload the next elf (in your case, your version of opl).

    Try that and see how you go.
     
  18. 2,111
    1,997
    272
    Berion

    Berion Developer

    Joined:
    Feb 3, 2015
    Messages:
    2,111
    Likes Received:
    1,997
    Trophy Points:
    272
    Gender:
    Male
    Location:
    rom0:/
    Hello,
    what do You think about adding disc support ("cdfs:/" or "cdrom0:\") with *.vob? To be honest, I need some special build for AIO Project which don't need any config and boot "cdfs:/AIO/AIO.ELF".

    ^^"
     
    dekkit and Tupakaveli like this.
  19. 215
    264
    122
    Tupakaveli

    Tupakaveli VIP PSX-Place Supporter

    Joined:
    Sep 19, 2017
    Messages:
    215
    Likes Received:
    264
    Trophy Points:
    122
    Gender:
    Male
    Location:
    Australia
    I like this idea, time to do some experiments :)
     
    Berion likes this.
  20. 956
    475
    122
    TnA

    TnA Member

    Joined:
    Jul 1, 2018
    Messages:
    956
    Likes Received:
    475
    Trophy Points:
    122
    Gender:
    Male
    Location:
    Germany --> Saxony
    I like the ideas here!


    @Based_Skid: This might be useful for your project! :)


    Regarding the issue of redundancy (multiple ELFs): What about loading the ELF via an arg which points to the config which should be used?

    Sadly neither FMCB/FHDB nor wLE supports starting ELFs via args as there is no config-support for it. I suppose it wouldn't be too much work for the ELF-Loader, if it doesn't already support it.
     

Share This Page