* EEPROM management ** Uses *** Store current keyboard ID *** Store status of various options **** key repeat rates and delays **** communications delays **** serial baud rates **** keyboard macros **** keyboard specific options ***** all caps / upper+lower ***** handling of special keys ** Allocate on demand ** System block does not change as keyboards are changed *** Items include: **** current keyboard *** All system block allocation must occur before any keyboard allocation may occur. *** Once system EEPROM is allocated, system EEPROM is "locked" *** If system EEPROM is locked, then EEPROM cannot be reallocated, although the parameters may be re-written. *** provision to unlock EEPROM, for example, when firmware is updated, or during development ** Keyboard block is reset whenever the keyboard changes *** Any parameters specific to a keyboard, such as macros, keymap-specific settings, etc. are stored here. *** This section is erased when keymap changes, but not when a keymap is loaded from EEPROM at powerup. *