the code is probably not 100% correct (I mapped the 128k in 0-0x1ffff but maybe they are 2 banks mapped in 0-0xffff), but it seems to work
otoh, I have had no luck with the EEPROM problem affecting Super Mario Advance 2 & 3, and Boktai (among the others). is there any ARM expert around, with some spare time to briefly take a look at what the system is trying to do (when it fails)?