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,167
    Likes Received:
    963
    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,167
    Likes Received:
    963
    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,167
    Likes Received:
    963
    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,167
    Likes Received:
    963
    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,167
    Likes Received:
    963
    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,167
    Likes Received:
    963
    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,167
    Likes Received:
    963
    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,167
    Likes Received:
    963
    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
     
  10. sp193

    sp193 Site Soldier

    Joined:
    Mar 29, 2012
    Messages:
    2,167
    Likes Received:
    963
    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.
  11. sp193

    sp193 Site Soldier

    Joined:
    Mar 29, 2012
    Messages:
    2,167
    Likes Received:
    963
    FMCB v1.961 Released!

    Changelog for v1.961:
    • (FHDB) Re-released with the corrected PFS module, so that the configurator can save properly to the HDD.
    • (FHDB) Updated FSCK to v0.961.
    Changelog for the installer, v0.983:
    • Added option to format the HDD unit, if not formatted.
    • Updated translation template.
    • Rebuilt to have the fixed PFS driver.
    • Updated FSCK to v0.961 - fixed checking of PFS partitions.
    • Updated LaunchELF.

    The version number is increased, to help users differentiate between the initial release (which occurred nearly 10 days ago) and this one.

    For the changes to LaunchELF, please refer to this thread.

    Downloads/Links
    FMCB, FHDB + installer project page (downloads at bottom): http://ichiba.geocities.jp/ysai187/PS2/FMCB/
     
  12. sp193

    sp193 Site Soldier

    Joined:
    Mar 29, 2012
    Messages:
    2,167
    Likes Received:
    963
    FMCB v1.961 Re-released!

    Changelog for v1.961 (as of 2018/06/19):
    • (FHDB) Re-released with the corrected PFS module, so that the configurator can save properly to the HDD.
    • (FHDB) Updated FSCK to v0.961.
    Changelog for the installer, v0.983 (as of 2018/06/19):
    • Added option to format the HDD unit, if not formatted.
    • Updated translation template.
    • Rebuilt to have the fixed PFS driver.
    • Updated FSCK to v0.961 - fixed checking of PFS partitions.
    • Updated LaunchELF.
    • NEW - Corrected logic error in UI that prevented FHDB from being installed.
    • NEW - Updated FSCK, to also correct the same logic error within it.
    • NEW - Updated LaunchELF, to fix the display mode setting problem.
    For the changes to LaunchELF, please refer to this thread.

    Downloads/Links
    FMCB, FHDB + installer project page (downloads at bottom): http://ichiba.geocities.jp/ysai187/PS2/FMCB/
     
    HI_Ricky likes this.
  13. sp193

    sp193 Site Soldier

    Joined:
    Mar 29, 2012
    Messages:
    2,167
    Likes Received:
    963
    FMCB v1.962 Released!

    Changelog for v1.962:
    • Fixed inability to boot DVDs from the browser, by re-addeding the accidentally deleted cleanup code.
    • Added a call to deinitialize libpad to the FMCB Configurator, for stability after exiting.
    • Fixed play history being updated twice, when a DVD Video disc is played.

    Also because I must have accidentally hit the "keep both files button", the previous update did not get overwritten. So there is now probably some confusion over the version number. This shall become the new release, which will hopefully be the last one...

    As for how the glitch came about: I changed the DVD Player selection code for v1.96. So while trying to get it to work, I commented out the code that deinitializes the RPC services... so libcdvd was (silently) failing because its semaphores were deleted by the EE kernel, but it couldn't be initialized because it thinks it already was initialized. So the lesson here, is as some old advice goes - there is a risk involved when we comment out code while debugging.

    Downloads/Links
    FMCB + FHDB + installer project page: http://ichiba.geocities.jp/ysai187/PS2/FMCB/

    EDIT: file has been updated.
     
    Last edited: Jun 20, 2018
    AKuHAK and AlGollan84 like this.
  14. sp193

    sp193 Site Soldier

    Joined:
    Mar 29, 2012
    Messages:
    2,167
    Likes Received:
    963
    FMCB + FHDB v1.962 Re-released!

    This update is mainly to replace the previous package, which had a LaunchELF build that had issues with launching some (older) homebrew software.
    The replacement LaunchELF build also has the rename operation enabled for all supported devices (memory card, USB mass storage device and the HDD unit).

    For those of you who have no need to install/update FMCB/FHDB, you can simply grab the new LaunchELF from here: http://www.psx-place.com/threads/wlaunchelf-release-thread.13727/page-3#post-128685

    Changelog for v1.962:
    • Fixed inability to boot DVDs from the browser, by re-addeding the accidentally deleted cleanup code.
    • Added a call to deinitialize libpad to the FMCB Configurator, for stability after exiting.
    • Fixed play history being updated twice, when a DVD Video disc is played.
    • NEW - Updated OSD init code (fix for the mix-up on 06/23). Might not really result in any real benefits though.
    Changelog for installer v0.983:
    • Added option to format the HDD unit, if not formatted.
    • Updated translation template.
    • Rebuilt to have the fixed PFS driver.
    • Updated FSCK to v0.961 - fixed checking of PFS partitions.
    • Updated LaunchELF.
    • Corrected logic error in UI that prevented FHDB from being installed.
    • Updated FSCK, to also correct the same logic error within it.
    • Updated LaunchELF, to fix the display mode setting problem and the inability to reliably boot ELFs.
    • NEW - Updated LaunchELF to fix booting of old software and to enable renaming for supported devices.

    NEW: new changes to the current version.

    Downloads/Links
    FMCB + FHDB + installer project page (downloads at bottom): http://ichiba.geocities.jp/ysai187/PS2/FMCB/
     
    AlGollan84 and nold like this.
  15. sp193

    sp193 Site Soldier

    Joined:
    Mar 29, 2012
    Messages:
    2,167
    Likes Received:
    963
    FMCB + FHDB v1.963 released!

    Changelog for v1.963:
    • Fixed inability to boot the DVD player update, by re-addeding the accidentally deleted code.
    • Updated USBHDFSD.
    • Updated LaunchELF.

    I have attempted to fix the age-old flaw within USBHDFSD that might be responsible for the rare occurrance of filesystem corruption, whenever new files are added (or if files are renamed).

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

    EDIT: I replaced all the FMCB files a while ago, in case the files on my USB disk were bad.
     
    Last edited: Jul 2, 2018
    Traace and wisi like this.
  16. sp193

    sp193 Site Soldier

    Joined:
    Mar 29, 2012
    Messages:
    2,167
    Likes Received:
    963
    FMCB v1.963 Re-released!

    There was a logic error within the cache of USBHDFSD, which can cause corruption when the disk is written to. This update addresses that glitch.

    Changelog for installer v0.983 (2018/07/04):
    • NEW - Updated LaunchELF.
    • NEW - Updated USBHDFSD, to ensure that files can be written and renamed safely.
    • NEW - Pressing the back button at the keep CNF screen will abort the installation.
    NEW: New changes that were made since the initial releases.

    Changelog for FMCB+FHDB v1.963 (2018/07/04):
    • Fixed inability to boot the DVD player update, by re-addeding the accidentally deleted code.
    • NEW - Updated USBHDFSD, to ensure that files can be written and renamed safely.

    NEW: New changes that were made since the initial releases.

    Downloads/Links
    FMCB + FHDB + installer project page (downloads at bottom): http://ichiba.geocities.jp/ysai187/PS2/FMCB/
     
    SkySnake, Traace and americandad like this.
  17. americandad

    americandad Familiar Face

    Joined:
    Jul 4, 2011
    Messages:
    1,427
    Likes Received:
    267
    Is this KrHacKen's DVD region-free mod?
     
  18. SkySnake

    SkySnake Member

    Joined:
    Oct 15, 2013
    Messages:
    21
    Likes Received:
    0
    Thank you for these updates sp193!

    Last night I tried a fresh install of FHDB v1.963 on a new formatted HDD (using the latest uLaunchElf). However, I came across an issue where Open PS2 Loader no longer mounts VMCs. I can create a VMC, OPL will assign it in the game's settings but the game doesn't detect any memory cards.

    I'm not sure whats at fault. I'm using the latest OPL beta build and my +OPL partition is expanded to 8gb (if that makes a difference).
    It may also be worth mentioning that this OPL build worked fine with a previous FMCB install.
     
  19. uyjulian

    uyjulian Active Member

    Joined:
    Jul 23, 2016
    Messages:
    36
    Likes Received:
    26
    Any DVD Player update booting is fixed, including that.
     
    americandad likes this.
  20. sp193

    sp193 Site Soldier

    Joined:
    Mar 29, 2012
    Messages:
    2,167
    Likes Received:
    963
    To elaborate on what @uyjulian meant: the official purpose of that function was to boot official DVD player updates.
    krHACKen's work is saved as a DVD player update. While FMCB could boot (select whichever DVD player is newer) DVD Player updates since v1.90, it was done with general know-how, which caused it to not work as how the browser handled updates. The differences led it to be incompatible with krHACKen's work.
    So this fix is meant to make it function as similarly as possible.

    But the software will have full control over the PS2.
    Did you try using other games? What if you boot OPL from LaunchELF instead?
    There was nothing really changed in FMCB/FHDB though. While 1.96 is a major update, it was because I had been replacing the kernel initialization stuff with new code from the new disassemblies, and to make FMCB work with the new kernel patches. There was a lot of change, but none of it was visible to the user.

    The new kernel patches included more complete TLB support, which I think was required for properly supporting the PSX's kernel; when the PSX kernel is switched to 32MB mode, the new memory map (controlled via TLB) is effective when ExecPS2/LoadExecPS2() is executed. Executing ExecPS2() could result in the kernel faulting when ExecPS2() is called with parameters stored on the stack, if the stack is stored at the end of its 64MB.
     
    AlGollan84 and americandad like this.

Share This Page