Sharpnull, похоже, там нет BCD. Сначала через RAM Search смог определить адреса, по которым хранится положение курсора - 0xFF0E19 - строка, на которой стоит курсор, 0xFF0E17 - номер "страницы". При помощи отладчика "и какой-то матери" смог определить, где в ROM-е задается количество страниц с играми. И да, там оказалась "система", в которой отдельно задается количество страниц, и скорее всего, где-то должно задаваться количество игр на каждой странице. При чем там какая-то извращенная система - отдельно задается максимальная страница, и отдельно задается страница, которая появится при листании с первой страницы назад. 0x30DF - максимальная страница, 0x2FCD - страница, которая появляется при листании с первой страницы назад.
Добавлено позже:скиньте ром, уже давно посмотрели бы.
Если я скину ROM, то вы, скорее всего сами разберетесь, фактически сделав мою работу за меня. Мне не хочется вас грузить своей работой.
Добавлено позже:Я смог разобраться с кодом меню. Спасибо
Sharpnull за объяснение, как искать значение через отладчик. Не смотря на то, что там было описано для NES, я смог применить этот совет и для Mega Drive.
Для начала, я изучал
вот это меню (прикрепленный файл в конце сообщения). Смог найти там значения, которыми можно изменить размеры списка игр. Там очень извращенческая система.
Адреса в ROM-е:
0x30DF - максимальная страница
0x2FCD - страница, которая появляется при листании с первой страницы назад.
0x2F3B - номер максимальной страницы, чтобы код меню смог отличить ее от "обычной" и ограничить на ней количество строчек (для движения курсора вниз).
0x2EB9 - номер максимальной страницы, чтобы код меню смог отличить ее от "обычной" и ограничить на ней количество строчек (для движения курсора вверх).
0x2F45 - количество строчек на "максимальной" странице.
0x2ECB - на какую строчку переставить курсор, если нажать "вверх" на "максимальной" странице.
0x2F99 - количество строчек на "обычной" странице.
0x2F1D - на какую строчку переставить курсор, если нажать "вверх" на "обычной" странице.