Unlike the NES/Famicom, which booted straight into the game, the Game Boy was designed to always boot from an internal 256-byte ROM, and only then jump to the game code. The boot process is as follows :
- After the console is switched on, the CPU starts reading from address 0x0000 (the Game Boy's ROM location).
- RAM and APU are initialised.
- The Nintendo logo graphics are copied from the cartridge ROM to Display RAM, and then drawn at the top edge of the screen. If there is no cartridge inserted, the logo will contain garbage tiles. The same may happen if the cartridge is improperly inserted.
- The logo is scrolled downwards and the iconic po-ling sound is played.
- The game's Nintendo logo is compared with the one stored in the console's ROM. Afterwards, a quick checksum is performed on the cartridge's ROM header to confirm the cartridge is correctly inserted. If either of these checks fail, the console freezes.
- The console's ROM is removed from the memory map.
- CPU begins executing the game.
Interestingly enough, the Nintendo logo displayed on the screen is not cleared from VRAM, leaving the opportunity for games to apply some animation and effects to transition to their own logos.

Start of the animation. The logo appears from the top and scrolls down.

End of the transition. If the ROM's checks have passed, the console will proceed to execute the game, otherwise it stays frozen.
The revised sequence

The Game Boy Color's boot screen, the logo doesn't slide anymore but instead features a rainbow effect.
Once again, in the case of the Game Boy Color, we find drastic changes in the contents of the ROM. For instance, the size of the ROM is now 2 KB and the routines exhibit new behaviour:
- The boot sequence now checks whether it's got a Game Boy-only or Game Boy Color game inserted, and then sets the corresponding registers to activate DMG or CGB mode. To do this, the boot code examines specific game metadata (within the cartridge's ROM) that is structured differently for CGB games.
- If a DMG game is inserted, the boot program also fills Palette RAM with calculated palettes. These are based on a simple yet clever algorithm that also relies on the game's metadata. This is what gives monochrome games a coloured appearance when running on the next-generation console.
- At this stage, the user may press a button combination to alter the boot code's palette of choice.
- For some reason, the Nintendo logo is copied to HRAM as well, and the checksum stage will only check the first half of the logo in HRAM.