JuiceBox Boot

Booting the JuiceBox
This page documents the boot conditions that are supported by the JuiceBox.

Boot Process
The JuiceBox will always boot first from its internal JuiceBox Boot Rom and depending on certain conditions will then either execute the onboard MP3 and Demo modes or continue to boot from an external NAND device on the JuiceBox Slot connector. Normally the external boot device is a JuiceWare cartridge but any NAND with the correct data in the first 0x250 bytes will boot. See JuiceWare Test Image for details of making a boot-able NAND flash. The JuiceBox will not boot from an MMC card. The Mem Test indicates that up to 4 NAND devices are supported. The following table was developed by running the Mem Test with the chip select (nCS) of a boot-able NAND flash connected to each of the "unused" pins on the external connector.

As can be seen from the table above only "Cartridge #1" (GPC2) will be seen as boot-able. Also if a MMC card is found the NAND will be ignored and the JuiceBox will boot to MP3 mode. Below is a simplified high level view of the boot process;

/*JuiceBox boot sequence pseudo code*/ bool checkMMC {/*If MMC detected with GPC11 low - return TRUE else FALSE*/} bool validNAND {/*If Correct data read from NAND interface with GPC2 low - return TRUE else FALSE*/} bool validMMC {/*If FAT12/16 detected with at least one file type .mp3 or .jbp in /- return TRUE else FALSE*/} void runDemo {/*Play Demo Loop*/} void mp3Mode {/*Boot mp3 mode*/} void bootNAND {/*Read first pages from NAND - boot accordingly (JuiceWare etc.)*/} void main { if (checkMMC) {      if (validMMC) {      mp3Mode; }   } elseif (validNAND) {   bootNAND; } runDemo; }