#define LOAD_FILE(x) ((long (*)(unsigned long *))0x3103EEC8)(x) #define ROCK_MAGIC 0x524f434b long ramload(unsigned long *flash_data) { long r = LOAD_FILE(flash_data); if (r != 0 && flash_data[0] == ROCK_MAGIC) { ((void (*)(void))(&flash_data[1]))(); return 0; } return r; }