sd->memory_size was only initialized in init_pointers(), that was called before the executable was loaded and the machine-type detection was run. Even though sim_load() duplicated most of the code in init_pointers(), it failed to update the memory_size in sd, so if we attempted to run code from a memory location not available on the original h8300, we'd get a confusing illegal-instruction error, because h8_get_cache_idx would return -1. This patch updates sim_load() such that it matches init_pointers() in this regard. Ok to install?