PS2 FORTUNA FMCB Launcher by VTSTech

Discussion in 'PS2 Homebrew' started by VTSTech, Dec 27, 2019.

By VTSTech on Dec 27, 2019 at 10:33 AM
  1. 378

    VTSTech Developer

    Apr 8, 2019
    Likes Received:
    Trophy Points:
    Home Page:
    In the PS2 Community developer @VTSTech has been sharing a few new tools and utilities and the developer recently release the FORTUNA FMCB LANUNCHER (SCPH-9XXXX Models w/ 2.30 bios), currently residing at version 0.2 the tool is a great asset to the recent breakthrough of the Fortuna Project, which a new ps2 exploit by developer @krat0s (from With this utility by VTSTech you can "quickly launch FMCB or BOOT2.ELF from either Memory Card" as VTSTech details below for full info surrounding this recently released tool:


    • FORTUNA FMCB Launcher (BOOT.ELF Replacement)
      This tool will quickly launch FMCB or BOOT2.ELF from either Memory Card.
      Intended for use on SCPH-9XXXX PS2 w\ 2.30 BIOS

      The logic flows as follows:
      If FMCB Exists-> Run FMCB from MC0 if present, Then MC1 if present

      If BOOT2.ELF Exists (And FMCB not present) -> Run BOOT2 from MC0 if present, Then MC1 if present
      If any condition in that order presents a path to execution. It will take the first one.

      Demo 1 (no FMCB)
      Demo 2 (FMCB)

      Code cleanup
      No longer loading Pad Manager
      No longer Initializing DVD
      Removed all delays
      No longer in Beta
      Now includes Source Code, Packed/Unpacked BOOT.ELF
      Added missing mc1 BOOT2.ELF detection
      Made a '0 delay/no sleep()' build available.
      First public release
      Checks for FMCB on either MC.
      Checks for BOOT2.ELF in /FORTUNA/ on either MC
      Boots FMCB if it is present.
      Otherwise boots BOOT2.ELF
      Includes packed/unpacked ELF

      Uses OSDInit.c/h & libcdvd_add.c/h from 'OSD Initialization Libraries' by SP193
      Compiled with current PS2SDK as of Nov 2019
      Packed with PS2-Packer v1.1.1-unofficial-09ac9c6 by Nicolas "Pixel" Noble

    Attached Files:

    Last edited by a moderator: Jan 12, 2020
    mk2escort, Johnnie, jeka26 and 8 others like this.


Discussion in 'PS2 Homebrew' started by VTSTech, Dec 27, 2019.

    1. jolek
      So the main function of this launcher is to automatically launch FMCB from both MC,
      instead of doing this manually with FORTUNA Homebrew Launcher.

      What happens if someone will FMCB on both MC?
      Will it load only FMCB from 1st MC?
    2. VTSTech
      The way the logic flows currently.

      Boolean FORTUNA/FMCB/BOOT2 present flags
      Boolean MC0/MC1 flags for both FT/BT2/FMCB

      If FMCB -> Run FMCB from MC0 if present, Then MC1 if present

      If BOOT2 (And FMCB=0) -> Run BOOT2 from MC0 if present, Then MC1 if present

      If any condition in that order presents a path to execution. It will take the first one. The rest are ignored as program is no longer running.

      FORTUNA flag is just used for detection, I've assumed that BOOT2 resides on same MC as FORTUNA in /FORTUNA/ on either MC
      TnA, jolek and Algol like this.
    3. TnA
      The most important part yet would be the detection, where it is started from, IMO!

      I think wLE's code would be a good choice for this!
    4. jolek
      You mean the detection from where FMCB will be started\launched?
      This part is in video that VTSTech uploaded in the 1st post:

      Anyway I've tried this launcher, currently only on SCPH-50004 through wLe.
      Everything seems to be fine, I know that the proper way will be to do it through Fortuna...

      As VTSTech mention when I'll have 2 MC with FMCB, FMCB will be loaded from mc0.
      When there is no MC, literally no MC in 1st slot, FMCB is in 2nd slot, this launcher will load FMCB from mc1.
      When regular data is on MC in 1st, FMCB is on MC in 2nd slot, launcher will load FMCB from mc1.
      When FMCB will be on MC in 1st slot, regular data on 2nd, launcher will load FMCB from mc0.
      When I have only one MC with FMCB in 1st slot, launcher will load FMCB from mc0.
      TnA and Algol like this.
    5. TnA
      No! The detection, where the ELF/ReBooter/"Fortuna FMCB Launcher" had been started from!

      Actually, the idea is to have a Launcher/(Re)Boot-App, which launches FMCB or either BOOT.ELF or BOOT2.ELF, depending on various conditions and not being depend on Fortuna! That is, why a check for the path and name would be useful! ;)

      Ah... If nothing is found on mc0, it seems to skip mc1... Yerp, a bug!

      Yerp... Bug!

      "regular data"?

      Just like on the OSDSYS...

      Is there anything wrong about that, or was it just intended to report functionality?! :)
    6. jolek
      It is not a bug:
      If FMCB -> Run FMCB from MC0 if present, Then MC1 if present
      Everything is fine.

      What? Everything is as it should be.

      I mean e.g. save files.

      Everything is fine, I just wanted to point how currently this launcher is working.

      BTW my English mostly fails when more detailed info needs to be write, so sorry about that...
    7. TnA
      So it also starts FMCB, when no MC is present in the first SLOT?

      YES, then everything is fine!
      I misread it!

      GREAT, that this works as it should!

      It is only missing some small changes IMO!
    8. jolek
      No MC in 1st slot, FMCB on MC in 2nd slot. Launcher will start FMCB from MC in 2nd slot.
      TnA and VTSTech like this.
    9. jolek
      It may be a dumb question, but what will happens when Fortuna will launch osdmain.elf from B?EXEC-SYSTEM?
      Or I will manually launch this ELF through wLe?
      Will it react the same as this launcher?
      I mean will it also launch FMCB?

      Of course FMCB on MC is required.
      Last edited: Dec 27, 2019
      VTSTech likes this.
    10. VTSTech
      The osdmain.elf is not launched the traditional way most other ELF's are launched. (Also why you can't click on the osdmain.elf in wLE) The entire payload for FORTUNA would have to modified. It cannot just be pointed to osdmain.elf and work.

      On my end this looks like ExecPS2() for regular ELF's and LoadExecPS2() for rom0 modules and encrypted/signed ELF's like osdmain.

      I'm almost positive there is no way FORTUNA will load this in it's current form. (Use this however and... :P )

      I will likely be re-tooling this program (FORTUNA FMCB Launcher) to be of more specific use to the modchip community as a separate tool. (DEV1 FMCB Launcher) dropping FORTUNA detection/support and in it's place using DEV1 /BOOT/BOOT.ELF

      Also, this may be a point of confusion for some people:

      MC0 is Memory Card 1
      MC1 is Memory Card 2

      mc0: and mc1: are the actual device paths (you can see these in wLE)
      Last edited: Dec 27, 2019
    11. TnA
      IMO it all can be accomplished via one ReBooter...

      Path-detection ("Where am I started from?") would be crucial for that, though.
    12. jolek
      I made another bizarre test.
      I've copied "osdmain.elf" into "FORTUNA" folder, rename it into "BOOT.ELF".
      Turn off PS2, pull out MC.
      Turn on PS2, insert MC (currently there is no FMCB menu).
      "Trigger" Fortuna (rev_2), PS2 "resets", I have FMCB menu.

      Test was made with SCPH-70004, so console should't have any problems to boots FMCB normally,
      but it was just for test to see if "osdmain.elf" can be also launched.

      I wonder what will happens on console with ROM-VER 2.30 or higher?
    13. TnA
      It did NOT launch it!
      It failed to start it, the OSDSYS started and that started FMCB...

      Try it with an MC, where you have no FMCB installed on... It won't work!

      It also makes 0 sense, to copy the KELF somewhere else...
      jolek likes this.
    14. jolek
      I'm not sure what you have in mind.
      If there will not be FMCB on MC, "osdmain.elf" will launch regular browser.
      That is why I was wondering what will happen on a console with ROM-VER 2.30 or newer.

      Probably as you mentioned... nothing.
      It'll just soft reset the console.
    15. VTSTech
      If you see the FMCB Logo, That is a crash/reboot. it is intended fallback when invalid params are passed to Exec() (either reg ELF or Encrypted) -- If you get just the menu, with no logo. That is actually launching osdmain.elf proper.

      If you pass a file that does not exist or an encrypted file to an unencrypted launch function. It will crash/reboot and give FMCB logo like you just turned on console (assuming FMCB compat system with FMCB installed. It's just like you flicked the power button)
      TnA and jolek like this.
    16. jolek
      I've checked this scenario.
      When I'll launch renamed ("osdmain.elf) BOOT.ELF through Fortuna I ain't getting any logo.
      It is booting straight in FMCB menu, the same way as with this FMCB Launcher.
    17. VTSTech
      Hmm. I only have FMCB compat PS2, so i can't have FORTUNA/FMCB on same MC otherwise it's impossible for me to test FORTUNA by itself.

      If I copy osdmain.elf to /FORTUNA/ and rename to BOOT.ELF .... it just goes back to the memory card screen. Screen does flicker for a sec. My text isn't corrupted (bars) anymore like it was on rev1 when it failed to launch for whatever reason.
      Algol likes this.
    18. jolek
      That is what I was trying to tell, I just forgot to add that I also tested it with rev_2.
    19. VTSTech

Share This Page