Не пойму, в чем затык. Как в EXE файле виндовс находит, где код, куда его совать в памяти, где данные, где таблицы импорта, какие байты надо поправить, чтобы он был переносимым? Как ворд определяет, где в док файле текст, а где разметка страницы и картинки? NES - такой же файл, как все остальные, придуманный человеком в силу того, что в денди, в отличие от поздних приставок, в роме нет никакой информации о объеме и прочих параметрах картриджа. Почему господь создал NES файл именно таким? Одному ему известно. Как узнать, где чего и как? Читай доки и внимательно, что пишут другие люди. На счет определения, какой маппер и как работает, я уже не раз именно тут объяснял.