I was wondering if there are any efficient ways to handle multibyte reads for page crossings, assuming you got the endian all down. I thought about this, and all I could come up with was making the prg banks share with one another in a big array, but that would mean I have to copy the prg rom data everytime a mapper makes a bankswitch. I guess what one could also do is a stream of if statements for something seeing if it near the page boundary like read16()/readxx() and then act otherwise. Is there any methods that you guys use to read across boundaries without any extra logic?