strange API:
- xbank_validate_program() does two things. first it checks if there is a valid program in the SRAM. then, if a valid program is found, it is activated.
This should be split into parts. Maybe by providing an xbank_activate_program( u_char ). Otherwise it is not possible to check if there is a valid (as in correct with crc) image stored in XRAM without activating it at the same time.