FMCB/FHDB release thread

Discussion in 'Sony Programming and Development' started by sp193, May 21, 2016.

  1. sp193

    sp193 Site Soldier

    Joined:
    Mar 29, 2012
    Messages:
    2,054
    Likes Received:
    782
    EDIT 2016/12/15: v0.973 (FMCB v1.953) released - http://assemblergames.com/l/threads/fmcb-fhdb-release-thread.61599/#post-924042
    EDIT 2016/06/18:
    v0.972 (FMCB v1.952) released
    EDIT 2016/05/21: v0.971 (FMCB v1.951) released - http://assemblergames.com/l/threads...fmcb-v1-8c-installer.46670/page-3#post-882012
    EDIT 2016/01/04: v0.97 (FMCB v1.95) released
    EDIT 2014/06/29: v0.96 (FMCB v1.94) released
    EDIT 2013/10/13: v0.95 (FMCB v1.93) released
    EDIT 2013/08/17: v0.94D and H released.
    EDIT 2013/07/20: v0.94C released. Includes stability fix and translation updates.
    EDIT 2013/07/16: v0.94B1 released. Includes stability fix.
    EDIT 2013/07/14: v0.94B released. Includes minor bugfix.
    EDIT 2013/07/12: v0.94A released. Includes minor bugfix.

    What is FMCB?

    Free Memory Card Boot (FMCB) is a homebrew software which is designed to setup your PlayStation 2 console and provide you with a means of launching homebrew software, without the need for any extra hardware, modifications to your console or dangerous tricks like the legendary swap trick.

    FMCB was originally developed by Neme and Jimmikaelkael, but they have been kind enough to provide me with access to its source code, for me to make some improvements to it.

    What is FHDB?
    Free Harddisk Drive Boot (FHDB) is basically FMCB that gets installed onto the PlayStation 2 console's HDD unit. It does everything like FMCB does, but is meant to be used with the Sony HDDOSD (Browser update v2.00).

    Does FMCB/FHDB support my console?

    All PlayStation 2 consoles but the late models should be supported, although FHDB can only be used on consoles that can have a HDD connected to them (SCPH-10000 to SCPH-55000 series).

    The unsupported late PlayStation 2 console models start from the SCPH-90000 (Manufactured starting in the 3rd quarter of year 2008). They have boot ROM v2.30 or newer, and will never support FMCB.
    How to determine if your SCPH-90000-series console is supported: http://assemblergames.com/l/threads/fmcb-fhdb-release-thread.61599/#post-882017

    The PSX (DVR) unit is also partially supported; you can run PlayStation 2 games and software from it, but FMCB for the PSX has no support for its XMB.
    There is no version of FHDB for the PSX.

    Please refer to this Q&A article if you have further questions: http://ichiba.geocities.jp/ysai187/PS2/FMCB/FMCB_19_QA.htm
    If you have questions that were not addressed in the Q&A article, please feel free to post in this thread.

    Translations
    Like with the other major tools released by me, the FMCB installer supports the 8 languages that the PlayStation 2 supports. If you would like to contribute to the translation efforts, please refer to http://ichiba.geocities.jp/ysai187/PS2/LanguageSupport.htm for more information on writing new translations.
    To submit your translation, please feel free to either send me a PM or an e-mail message.

    Translation status:
    1. Japanese (never done).
    2. English (Built in; already done)
    3. French (Done): ShaolinAssassin
    4. Spanish (Done): Previously done by ElPatas and pool7.
    5. German (Done): Delta_force
    6. Italian (out of date): master991.
    7. Dutch (out of date): port187.
    8. Portuguese (Done): gledson999

    Downloads/links and for more information
    FMCB/FHDB + FMCBInstaller project page (go here for downloads): http://ichiba.geocities.jp/ysai187/PS2/FMCB
    Sister post on psx-scene: http://psx-scene.com/forums/f153/fmcb-v1-9-series-release-thread-116247/
     
    Last edited: Dec 15, 2016
  2. sp193

    sp193 Site Soldier

    Joined:
    Mar 29, 2012
    Messages:
    2,054
    Likes Received:
    782
    PlayStation 2 model compatibility

    However, FMCB and FHDB will not support the late model of the SCPH-90000 series, PS2TV (PX300-1), DEX (DebugStation/TEST) consoles that do not support MagicGate file decryption and the TOOL unit.
    The unsupported DEX consoles include the DTL-H100xx and DTL-H300xx series consoles. The DTL-T10000(H) TOOL unit is not supported.

    As for the PlayStation 2: the late model of the SCPH-90000 series has ROM v2.30, which lacks a working update function. It is believed that such consoles are R-chassis models.
    There is also the PlayStation 2 TV (PX300-1), which comes with ROM v2.50. Like with the late SCPH-90000, it lacks a working update function.

    How does one determine the chassis model? All consoles (starting from the D-chassis SCPH-30000 and later) have the chassis model printed on their device information sticker:
    [​IMG]
    [​IMG]
    If your SCPH-90000 series console is a R-chassis model, it does not support FMCB/FHDB.

    To confirm whether your console has ROM v2.30/v2.50, you can use PS2Ident to check the ROMVER string: http://assemblergames.com/l/threads/playstation-2-identification-tool.46947/
    The ROMVER string looks like "0100JC20000217", whereby the first 4 digits represent the version number. In this example, the ROMVER string indicates that the ROM is v1.00.

    All unsupported consoles will never be supported because they have a dysfunctional/missing update function in their BOOT ROMs. As the BOOT ROM chip is a Programmable Read Only Memory (PROM) chip that can only be programmed once, there will never be a fix.
    The late PlayStation 2 consoles had their update mechanisms removed, while the early DEX and TOOL units lacked the ability to decrypt MagicGate files.

    The old method to determine whether FMCB supported, was based on the date code of the console. That method did not apply to all PlayStation 2 regions (only the US and some territories had date codes), hence it was not a very good indicator.
    However, this new method is still relatively untested. If anyone manages to find a console that does not follow this rule (i.e. a R-chassis model with ROM v2.20 or a P-chassis model with ROM v2.30), please let me know.
     
  3. Jack.

    Jack. RISC Master Race

    Joined:
    Sep 3, 2014
    Messages:
    129
    Likes Received:
    9
    Hi! Long time FMCB user here. Good news. Hope you'll keep working on it!
    I can help with the Italian translation, if you want. Drop me a PM.
     
  4. sp193

    sp193 Site Soldier

    Joined:
    Mar 29, 2012
    Messages:
    2,054
    Likes Received:
    782
    Please feel free to contribute a new translation. If you need help with understanding the requirements, please feel free to ask me or to post here.
     
  5. sp193

    sp193 Site Soldier

    Joined:
    Mar 29, 2012
    Messages:
    2,054
    Likes Received:
    782
    FMCB v1.953 released!

    Changelog for the installer v0.973:
    1. Updated to contain the fixed USBHDFSD module.
    2. Updated to contain the updated HDD modules (<=2TB HDD support, bugfix to PFS etc).
    3. The APPS partition will only be created, if it does not already exist and only if the APPS-HDD directory contains something.
    4. Corrected error-passing within code that determines what to copy.
    5. Replaced the font-drawing system with a new design.

    Changelog for FMCB/FHDB v1.953:
    1. Updated to contain the fixed USBHDFSD module.
    2. Updated to contain the fixes to the HDD modules.
    3. Ported fixes to FSCK from HDDChecker.

    Downloads/links:
    FMCB + FHDB + Installer Project page: http://ichiba.geocities.jp/ysai187/PS2/FMCB

    I regret to say that I've been pretty busy with other things in life lately, so there might have been some submissions and other promises that I might have forgotten. If I have forgotten anything, please feel free to drop me a PM!

    On a side node, it might be good to mention here and now that this update is also meant to solve the problem with the dumped files being corrupted. I still don't know for sure what the problem was, but I once tracked the corruption to commit 1c19a3 (05/09/2014).
    I guess that it has something to do with the design of scache; scache caches sector accesses in blocks of 4096 bytes. The modification to fat_writeFile was meant to speed up writing, by not requiring every sectors to be always read into memory if the whole sector is going to be rewritten.

    I guess that because sector-management within the cache is done on a sector-level basis (but caching is done on a block basis), scache has no way of knowing which sectors are used or not, and because of various other reasons like perhaps the partition of the disk not being aligned on 4096-byte boundaries, it is hence possible for fat_writeFile to cause scache to "reserve" a region of 4096 bytes that has some sectors that are used. Since it doesn't read in any of those other sectors within the block, the content of those sectors would get overwritten (perhaps even by random data).

    Either way, even if there isn't such a problem... I guess that this is the best compromise that I can offer for now. Hopefully, it will prevent further files from being corrupted as they are written.

    ***

    The FMCB+FHDB package and FMCBInstaller have been adjusted again today, to address the issues that were reported in the FMCB thread on psx-scene.

    Also because I discovered that the homebrew kernel patch for the SCPH-10000/SCPH-15000 could block the user from adjusting the language setting, so I made an update to the PS2SDK and an update to FMCBInstaller.
    However, this problem will occur as long as the user doesn't use the HDD Browser and runs a piece of homebrew software that was built between 2013 and mid-December 2016. HDDChecker, PS2Ident and FMCBInstaller have been updated to rectify this issue.

    Changelog for FMCBInstaller:
    • Fixed coordinate overflow in font-drawing.
    • Removed unused Japanese font. Will re-add, if a translation is added.
    • Updated Germal localization. Special thanks to LopoTRI.
    • Rebuilt to not have the full kernel OSD patch (PS2SDK update).
      (prevents users of SCPH-10000/SCPH-15000 from being blocked from changing the language setting)

    Changelog for FMCB+FHDB+FSCK:
    • (FSCK) Fixed coordinate overflow in font-drawing.
    • (FSCK) Changed version number to match HDDChecker's.
    • Rebuilt to not have the full kernel OSD patch (PS2SDK update).
      (prevents users of SCPH-10000/SCPH-15000 from being blocked from changing the language setting)
     
    Last edited: Dec 16, 2016
    l_oliveira and fate6 like this.
  6. sp193

    sp193 Site Soldier

    Joined:
    Mar 29, 2012
    Messages:
    2,054
    Likes Received:
    782
    Some R-chassis consoles may be compatible with FMCB!
    A counter-example has been found, so there are R-chassis consoles with ROM v2.20 (that support FMCB).
    The example is a SCPH-90004a with datecode 8C, so it could mean that the switch to ROM v2.30 happened shortly after.

    Special thanks to Mihaelzeuch from ps2-home.

    This method may still have some use, compared to the traditional method of comparing datecodes. Given that not all models had datecodes, but had chassis model letters.
     
  7. sp193

    sp193 Site Soldier

    Joined:
    Mar 29, 2012
    Messages:
    2,054
    Likes Received:
    782
    FMCB v1.96 Released!

    Changelog for v1.96
    • Updated USBHDFSD, for better USB device performance
    • Updated HDD modules.
    • Updated to build with the latest PS2SDK, for reliability.
    • Corrected logic error in history-updating code.
    • Replaced DVD player booting code, to give the Sony-like behaviour. For compatibility with all DVD players and projects.

    Changelog for the installer v0.981
    • UI rework.
    • Updated USBHDFSD module for performance.
    • Updated translation template.

    Note: there were a lot of changes made, code-wise. Some changes were even lost in time.

    Downloads/Links
    FMCB project page (downloads at bottom): http://ichiba.geocities.jp/ysai187/PS2/FMCB/
     
    uyjulian, 1UP, svotib and 7 others like this.
  8. sp193

    sp193 Site Soldier

    Joined:
    Mar 29, 2012
    Messages:
    2,054
    Likes Received:
    782
    FMCB v1.96 Re-released!

    Changelog for FMCB/FHDB

    Changelog for v1.96:
    1. Updated USBHDFSD, for better USB device performance
    2. Updated HDD modules.
    3. Updated to build with the latest PS2SDK, for reliability.
    4. Corrected logic error in history-updating code.
    5. Replaced DVD player booting code, to give the Sony-like behaviour. For compatibility with all DVD players and projects.
    6. NEW! - Re-released with the corrected USBHDFSD and PFS modules.

    Changelog for the installer
    Changelog for v0.981:
    1. UI rework.
    2. Updated USBHDFSD module for performance.
    3. Updated translation template.
    4. NEW! - re-released with the corrected USBHDFSD and PFS modules.
    5. NEW! - Updated FSCK to v0.96.
    Note: LaunchELF has been updated to use the corrected USBHDFSD and PFS modules as well.

    USBHDFSD had issues with writing correctly. Since external homebrew software may use the USBHDFSD module that FMCB/FHDB provides, I have made a new package.
    LaunchELF also has its own copies of USBHDFSD and PFS, which have been updated as well.

    Downloads/Links
    FMCBInstaller + FMCB + FHDB project page (downloads at bottom): http://ichiba.geocities.jp/ysai187/PS2/FMCB/
     
    uyjulian, Jolek and AlGollan84 like this.
  9. sp193

    sp193 Site Soldier

    Joined:
    Mar 29, 2012
    Messages:
    2,054
    Likes Received:
    782
    New Poweroff ELF

    Switches off the PlayStation 2 console. This may be used as a menu item to switch off the PlayStation 2 console.
    Original code by belek666.

    Changelog for v1.00
    • Added missing SIF Initialization at boot.
    • Replaced IOP reset with a standard version. Also for compatibility with all PlayStation 2 models.
    • Replaced call to libhdd functions with a direct call to libpwroff's functions.

    Downloads/Links
    Poweroff (source + binary): http://www.mediafire.com/file/p9qza52b7bw2bu7/[180613]poweroff.7z
     
    uyjulian, 1UP and Jolek like this.
  10. sp193

    sp193 Site Soldier

    Joined:
    Mar 29, 2012
    Messages:
    2,054
    Likes Received:
    782
    Installer Update v0.982

    Changelog:

    • Reverted change from v0.98 - the IOP will no longer be reboot between the signing of each file.
    While I am all for keeping the modules free of unofficial code, it appears that rebooting the IOP between the signing of each file increases the odds of an "Installation failed" happening.
    Such a vague message is printed when an unrecognized error code is encountered. At that point, it does seem like some part of the installer has entered an undefined state, since it is impossible to make another installation after that. I have no wish to deal with such randomly-occuring problems.

    Hence there is less reason to keep the official workaround for supporting both CEX and DEX consoles, in favour of the simpler workaround of getting secrman_special itself to adapt to the DEX. This was done previously.

    Note: no change to FMCB/FHDB was made. You do not have to download the new package, if you had no problems installing FMCB.

    Downloads/links
    FMCB + FHDB + installer project page (downloads at bottom): http://ichiba.geocities.jp/ysai187/PS2/FMCB/
     
    AlGollan84 likes this.

Share This Page