#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;
}
