jolek
Senior Member
-
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).
Patched/modified copies of the HDDOSD may not work, although non-Sony disks are supported by FHDB itself.
***Whether the hacked HDD OSD supports non-Sony disks or not depends on whether it was modified to support non-Sony disks.***
Modifying or getting a pre-modified copy of the HDDOSD is not under this project, which is why that topic will not be discussed here. -
What does FMCB v1.9 offer?
For mere humans:
- Smaller, faster and more stable. :P
- The HDD unit is now supported.
- The "Early Japanese"/PCMCIA units (SCPH-10000, SCPH-15000 and SCPH-18000) are fully supported.
- Chinese consoles are now supported (e.g. SCPH-50009).
- Support for the PSX DVR (Currently dysfunctional).
- When you leave the CD/DVD tray ejected, FMCB/FHDB will not stall.
- Your play history will now be updated (The towers in the background of the "Sony computer entertainment" screen should continue to grow taller and greater in numbers)
Technical changes:
- Initialization code has been cut down.
- Some IRX modules (init.irx and chkesr.irx) have been removed (superceded by code that runs from the EE, like their Sony originals).
- DVD player selection code has been replaced with one similar to the one used by Sony.
- The console initialization code has been replaced with a Sony-like version.
- CNF parsing code has been optimized.
- The memory map has been adjusted slightly, so everything now fits below Sony's idea of "user memory" (below 0x00100000).
- Support for the Protokernel and all HDD OSDs have been added.
- (For the HDDOSD version of FMCB only) ELFs can be booted from any partition on the HDD. The format of the path is <partition>:<full path to file on pfs:/>. (e.g. hdd0:__sysconf:pfs:/FMCB/FMCB_configurator.elf).
This can be easily set using the included FMCB/FHDB configurator. - The CD/DVD drive will now be stopped if a normal ELF is started (Under the assumption that most homebrew ELFs probably won't ever use the drive).
- The user's history file (the file which affects the towers within the "Sony Computer Entertainment" startup screen) will now be updated whenever Playstation/Playstation 2 game/software discs are launched, as well as DVD video discs.
- Reloading the OSD from within the OSD triggers a full reload of FMCB, because I felt that it'll be cleaner.
- The location of ESR will now be checked only when ESR is requested to be loaded.
- The embedded EELOAD module has been cleaned up, and loads at 0x00082000 instead (Like rom0:EELOAD does).
- FMCB has been split into two. The part of FMCB which remains resident will be copied into its place during runtime, allowing the initialization part of it to have the entire PlayStation 2 for initialization and drawing something nice on the screen (Not done at the moment as it makes FMCB quite a fair bit larger).
- Full support for the SCPH-10000 and SCPH-15000. Not only will it patch up the SCPH-10000 and SCPH-15000 kernels fully (Applies OSD argument-passing patch), it also includes its own HDD support modules and can act as a replacement for the Sony system driver update.
- Partial support for the PSX. Its OSD is not supported, meaning that there will be no hacked OSD for the PSX.
- Supports non-Sony HDD units (Support for non-Sony HDD units within the HDD OSD/browser v2.00 update depends on the HDD OSD itself).
- New FMCB configurator program which supports the HDD unit.
- Added support for the Chinese consoles (Magicgate region 09, folder letter C. e.g. SCPH-50009).
-
Unsupported consoles:
Please refer to this thread: PlayStation 2 model compatibility.
-
Please read the included README file for information regarding limitations/known issues and other important notes!
Before posting/asking questions, please read this question and answer:
https://sites.google.com/view/ysai187/home/projects/fmcbfhdb/fmcb-1-9-faq. -
EDIT 2019/04/13: FMCB v1.966 re-released:
https://www.psx-place.com/threads/f...e-harddisk-drive-boot-fhdb.20790/#post-172533.
EDIT 2019/01/14: FMCB v1.966 re-released:
http://www.psx-place.com/threads/fr...e-harddisk-drive-boot-fhdb.20790/#post-153861.
EDIT 2019/01/11: FMCB v1.966 re-released:
http://www.psx-place.com/threads/fr...e-harddisk-drive-boot-fhdb.20790/#post-153179.
EDIT 2019/01/07: FMCB v1.966 released:
http://www.psx-place.com/threads/fmcb-fhdb-v1-9-series-release-thread.13413/page-8#post-152415.
EDIT 2018/12/08: FMCB v1.965 re-released:
http://www.psx-place.com/threads/fmcb-fhdb-v1-9-series-release-thread.13413/page-5#post-148042.
EDIT 2018/11/03: FMCB v1.965 re-released:
http://www.psx-place.com/threads/fmcb-fhdb-v1-9-series-release-thread.13413/page-4#post-144373.
EDIT 2018/10/27: FMCB v1.965 re-released:
http://www.psx-place.com/threads/fr...e-harddisk-drive-boot-fhdb.20790/#post-143625.
EDIT 2018/10/21: FMCB v1.965 released:
http://www.psx-place.com/threads/fr...e-harddisk-drive-boot-fhdb.20790/#post-143577.
EDIT 2018/07/21: FMCB v1.964 released:
http://www.psx-place.com/threads/fmcb-fhdb-v1-9-series-release-thread.13413/page-4#post-131088.
EDIT 2018/07/04: FMCB v1.963 re-released:
http://www.psx-place.com/threads/fmcb-fhdb-v1-9-series-release-thread.13413/page-2#post-129231.
EDIT 2018/07/03: FMCB v1.963 released:
http://www.psx-place.com/threads/fmcb-fhdb-v1-9-series-release-thread.13413/page-2#post-129101.
EDIT 2018/06/28: FMCB v1.962 re-released:
http://www.psx-place.com/threads/fmcb-fhdb-v1-9-series-release-thread.13413/page-2#post-128686.
EDIT 2018/06/20: FMCB v1.962 released:
http://www.psx-place.com/threads/fmcb-fhdb-v1-9-series-release-thread.13413/page-2#post-127560.
EDIT 2018/06/19: FMCB v1.961 released:
http://www.psx-place.com/threads/fmcb-fhdb-v1-9-series-release-thread.13413/page-2#post-127435.
EDIT 2018/06/12: FMCB v1.96 re-released:
http://www.psx-place.com/threads/fmcb-fhdb-v1-9-series-release-thread.13413/#post-126696.
EDIT 2018/06/08: FMCB v1.96 released:
http://www.psx-place.com/threads/fmcb-fhdb-v1-9-series-release-thread.13413/#post-126237.
v1.953 - 2016/12/16
- (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)
- Updated to contain the fixed USBHDFSD module.
- Updated to contain the fixes to the HDD modules.
- Ported fixes to FSCK from HDDChecker.
- Corrected OSD setting initialization.
- Fixed USB device support; added 2s delay to the boot process + 10s timeout to the FMCB core.
- Updated code to work reliably with the PS2SDK.
- Added button hints to FSCK.
- Corrected flipped button processing (OK -> Quit) in FSCK.
- Fixed language support in FSCK.
- Fixed ESR support.
- Fixed alpha blending for the hacked OSD.
- The FMCB version number can now be accessed through the %VER% variable in FREEMCB.CNF, for the top and bottom delimiters.
- Updated for use with the latest PS2SDK.
- Updated to build with the new PS2SDK, for stability. This includes the use of the new USB modules.
- Changed all KELF/KIRX files to type 01 (Update files), for compatibility with Debugstation consoles.
- Changed PSX updater module to be loaded from a memory card instead.
- DVD video disc sector reading is now enabled by loading a dummy DVD player-flagged KIRX from a memory card.
- Cleaned up sources and corrected (non-critical, disassembly-related) mistakes in the v1.00 and v1.01 kernel patches.
- Added FSCK tool for FHDB.
- Removed HDD support for the PSX, allowing FMCB to boot on a PSX that has lost its HDD unit.
- Corrected the stack address of all cores (FMCB main core, MBR and EE ELF loader).
- Corrected the buffer overflow bug within the OSD history updating function.
- Added an additional IOP reset for the PSX to load the standard PS2 modules into the IOP, since that the the reinitialization of libcdvd seemed to cause the CD/DVD drive to strangely malfunction.
- Restructured the initialization code, for better integration of #3.
- The CD/DVD drive boot certification code has been replaced with a simpler one that was copied from the Sony OSD.
- Updated to be compilable with the latest PS2SDK revision.
- Compiled with the latest PS2SDK revision for enhanced stability.
- The IOP will now be reset for programs that are loaded from the HDD. Sony does this, presumably to clear the IOP of modules like DEV9 (or in our case, hack'ish stuff like IOMANX), which would cause problems if loaded twice.
- Standardized the crt0 module's argument buffer size for the EE ELF loader, FMCB core and main body.
- Corrected region handling for when an unsupported regions.
- Fixed the default language selection, for export consoles that have the language set to Japanese (usually caused by having a dead battery) or some bogus setting.
- Fixed support for the PSX (DVR unit). It will now boot properly, and sets the EE and CD/DVD drive into "PS2 mode".
- Changed the way arguments are passed to the OSD program. FMCB will no longer parse and repeat the arguments, but passes the arguments directly to the OSD program "as-is".
- Recompiled the FMCB configurator to have the updated FMCB release version number. Also, with this recompilation, the Protokernel patch within it has been updated (Note: This doesn't really matter because the patch from the FMCB binary would have already been applied).
- The MBR program's EELOAD module had it's argument storage widened, so that it can take in 16 user arguments (To avoid buffer overflows, since the code within it was always limiting the number of accepted arguments to 16).
- Added a clone of the kernel update for the SCPH-10000 (v1.01) and SCPH-15000.
- Fixed OSD configuration setup for the SCPH-50009. Its OSD sets its "region" field to 2 instead of 1, despite this console being in the NTSC region.
- Modified the "inner browser" setting to allow the user to specify how FMCB/FHDB will handle booting into the OSD (Either always boot into the browser or not, or just let the browser have its default behaviour). For those who wish to edit this setting by hand, the valid values are as follows: 0 = AUTO, 1 = force ON (always boot into the browser), 2 = force OFF (always stay out of the browser). It was made this way for backward compatibility.
- Removed the "return to loader" option, since I had no intent on maintaining it. The user can put uLaunchELF basically anywhere, and uLaunchELF isn't part of FMCB anyway.
- FMCB will now no longer display the FMCB logo when software like the DVD player quits, to match the behaviour of the OSD program.
- Fix for the SCPH-70000 series consoles: Added a IOP reset at the start of FMCB, so that the IOP will contain the same modules across all console models.
- Fixed the kernel patch (See PS2SDK updates for today and yesterday) for the SCPH-10000 and SCPH-15000.
- Removed IOP reset from the EE ELF loader, as some homebrew software depend on the loaded modules for file access.
- The patch for sceCdForbidDVDP() will now be specially invoked earlier on for the Protokernel OSD, as the bulk of the patch code is run after sceCdForbidDVDP() is run by the OSD. This solves DVD booting.
- Adjusted DVD video/ESR-patched disc booting code, so that a definite result will result (Either a BootError or the disc boots).
- Optimized code.
- Fixed OSDSYS patch for the SCPH-10000 with boot ROM v1.00. The HDD modules should now be loaded when the card is inserted in slot 1.
- Added code that kills all threads but the main thread. When control is wrenched from the hacked OSD, any thread created by the OSD is left behind and that can result in weird behaviour (e.g. if the stray thread(s) reinitializes a RPC connection with the IOP, especially during an IOP reset). This fixes ELF launching on the SCPH-10000 and SCPH-15000, when the OSD is reloaded.
- Fixed ESR support.
- Removed calls to FlushCache() before ExecPS2(). The Sony documents say that it's a requirement because the game might be running on an unpatched Protokernel. However, FMCB will patch the kernel at startup and this is not required.
- Changed the splash image to a 16-bit bitmap. 30KB of space is saved... but the overall gain (after packing) is minimal because graphics isn't a really compressible sort of data.
- For FHDB: The HDD unit will not be powered-off when the ROM OSD is used.
- Updated ATAD drivers.
- Rebuilt the FMCB configurator to use bin2o and to have slightly cleaner code.
- Removed the incomplete support for the PSBBN since it's not possible to ever support it without it losing some functionality.
- Removed support for the osd110 and fsck110 folders, as I've learned that those aren't official directories.
- Fixed the generation of the system data (Related to the history file) icon: The Sony OSDs have this weird bug whereby the size of the icon file is exactly 1776 bytes in size, despite the actual data within the icon file being far shorter than that. Unfortunately, not doing that meant that at least the HDDOSD would deem the icon file as being invalid. :/
- Added support for the Chinese consoles (Magicgate region 09, folder letter C. e.g. SCPH-50009).
- If a valid HDD OSD installation cannot be loaded, FHDB will attempt to use the ROM OSD instead.
- Fixed the rescue mode.
- Fixed DVD player launching (DVD player selection code has been replaced with one similar to the one used by Sony).
- Optimized core core.
- FHDB will now disable the HDD update checking feature of the ROM OSD if the ROM OSD has to be used in place of the HDD OSD. A loop would occur if the user did not enable the SkipHDD option.
- If the DVD player cannot be booted, the OSD will now be relaunched with "BootError".
- The BootError argument is now recognized.
- If BootError, BootBrowser or BootClock is specified, any inserted disc will no longer be fastbooted.
- Items stored on a USB device can be booted from off the hacked OSD menu, when FMCB is booted from Memory Card Slot 2.
- FMCB configurator will now load USB modules that are stored in hdd0:__sysconf/FMCB/.
- The system data save will now be created in two languages: Japanese, for Japanese consoles. And in English for everything else.
- The SkipHdd option is now re-enabled, unless when the HDD modules are installed.
- (Fast) Disc booting support fixed.
- Programs can now be launched from the hacked OSD menu.
- Programs stored on a USB device can now be launched from the hacked HDDOSD.
- The HDD unit will now be switched off if a disc is (fast-)booted from the HDDOSD.
- Support for the PSBBN has been added, although it will not be modified in any way during runtime.
- Fixed path generation by the FMCB configurator for targets stored on the HDD unit.
- The MBR had the path to FSCK v1.10 fixed (hdd0:__system/fsck110).
-
If someone have problems with latest FMCB\FHDB version, try:
-
FMCB\FHDB 1.965 from 08\12\2018 with wLe and USB drivers from 14\01\2019:
http://www.mediafire.com/file/x7m7zxb17pcofg3/%5B081218%5DFMCB-1965-bin_%28USB-140119%29.7z.
-
FMCB\FHDB 1.953 from 16\12\2016 with wLe and USB drivers from 14\01\2019:
http://www.mediafire.com/file/zox7ua4131lgr7g/[161216]FMCB-1953-bin_(USB-140119).7z.
-
FMCB 1.8b:
https://www.mediafire.com/file/hlhnqxjszhovdj9/Free_McBootv1.8b.rar.
-
FMCB\FHDB 1.965 from 08\12\2018 with wLe and USB drivers from 14\01\2019:
Downloads/links and more information: - FMCB/FHDB v1.9 series release thread -
Help & support: http://www.psx-place.com/forums/free-mcboot.78/.
FMCB & FMCB installer project homepage: https://sites.google.com/view/ysai187/home/projects/fmcbfhdb.
Last edited: