A method for "booting up" a multiple function device that involves first
detecting the activation of the multiple function device. A 1.sup.st boot
algorithm, retrieved from read-only memory, is executed to identify the
location of a 2.sup.nd boot algorithm. The 2.sup.nd boot algorithm,
retrieved from a specified location based on the booting inputs, is
verified for executability. When the 2.sup.nd boot algorithm is
executable, it is executed to retrieve the functional algorithms that
configure the multiple function device in the desired configuration. When
the 2.sup.nd boot algorithm is not executable, and the multiple function
device is operably coupled to a host, the correct functional algorithm or
a default functional algorithm is downloaded and executed to configure
the multiple function device. When an executable functional algorithm
cannot be retrieved from memory or the host, the multiple function device
powers down after a predetermined amount of time.