The boot.py file - Kyuchumimo/Micro-Joy-Home-Video-Computer GitHub Wiki

When the computer is turned on, this is the first thing that runs. Think of it as the BIOS of a PC.

micro_joy_hvc_boot png

This file imports libraries, creates constants (like some pin assignment (not all pin assignment are found in boot.py, some pin assignment are found in the libraries themselves)), functions and initializes the hardware (clears VRAM, display text, play some tones).

Its purpose is to check that the hardware responds correctly, i.e. if there is no image, something is wrong with the VDP. If there is no sound, something is wrong with the PSG. It also reduces the final size of the programs by providing the developer with general purpose functions.

Additionally it also checks if an external memory exists, if so, it executes its content. Think of it as if it were a media or cartridge.

Due to the modular architecture of the computer and the fact that it communicates with the hardware using communications protocols that do not perform acknowledgment for its operation, the computer does not know if a particular component is present or missing (except for the external memory). This has the advantage that the computer can function even if one or more components are missing.

This file must be present in the root of the internal memory of the microcontroller.