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.

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.

Updated USBD & USBHDFSD for compatibility with devices that have only one Alternate Interface configuration.

Updated LaunchELF.

FMCB Configurator: fixed bug that prevented the PS2 from being switched off when there is no HDD installed.

Changelog for the installer v0.984 (21/10/2018):

Compiled with FreeType v2.9.1.

Fixed UI bug when dealing with enums (not used for this project).

Compiled with updated USBD & USBHDFSD modules. For compatibility with devices that have only one alternate interface configuration.

Warning.
PS: Usually the FMCB\FHDB developer uploads his latest versions onto forums as well.
This time only official homepage was updated.
So... I don't know what happened.
Maybe some hardware failure caught him?

NEW 2018/11/03 - FMCB Configurator: prevent potential crash if config file cannot be opened from device, by not closing the FD if it was not opened.

NEW 2018/11/03 - FMCB Configurator: Avoid accessing the HDD unit, if possible.
Attempt to load configuration file from the device that it is booted from, before trying all other devices. When attempting to load USB modules, check memory cards before the HDD unit.

Changelog for installer v0.984 (03\11\2018):

Compiled with FreeType v2.9.1.

Fixed UI bug when dealing with enums (not used for this project).

Compiled with updated USBD & USBHDFSD modules. For compatibility with devices that have only one alternate interface configuration.