Важная информация

User Tag List

Страница 5 из 6 ПерваяПервая 123456 ПоследняяПоследняя
Показано с 41 по 50 из 52

Тема: GameBoy ROM disassembly

  1. #41
    Activist
    Регистрация
    06.04.2015
    Адрес
    г. Приозерск, Ленинградская обл.
    Сообщений
    299
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    Встаем на интересующий адрес с DB и жмем N
    не все так просто,проблема именно в страницах,адреса светятся красным и не переименовываются.
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	4000.JPG 
Просмотров:	92 
Размер:	33.4 Кб 
ID:	59628  
    Scorpion ZS-256turbo_Проф ПЗУ27040_Smuc_HDD_PCkeyMause(Scorp)_GS_512+XTR Модем(X-Trade)
    ZX-Evolution rev.С+VDAC+OldGS_512+OpenSMUC+TSFM+TS-conf
    Amiga500 1m+512k
    Schneider EuroPC
    ReVerSE-U16

  2. #42
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,405
    Спасибо Благодарностей отдано 
    320
    Спасибо Благодарностей получено 
    598
    Поблагодарили
    444 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Покажите мне карту сегментов. Или дайте базу и я покажу что не так.

  3. #43
    Administrator Аватар для CityAceE
    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    4,574
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    399
    Спасибо Благодарностей получено 
    1,207
    Поблагодарили
    394 сообщений
    Mentioned
    48 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    Или дайте базу и я покажу что не так.
    Вот, пожалуйста, база.
    С уважением, Станислав.

  4. #44
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,405
    Спасибо Благодарностей отдано 
    320
    Спасибо Благодарностей получено 
    598
    Поблагодарили
    444 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В общем, все проблемы из-за того, что IDA не заточена под банксвитчинг. Несмотря на то, что вы при создании базы присвоили всем переключаемым сегментам адреса 4000-7FFF, IDA этот параметр применяет только к счетчику команд, продолжая использовать реальный адрес сегмента в исходном файле для вычисления относительных адресов. Потому как рушатся только те команды, которые, используют относительную адресацию операнда. Кстати, они не соответствуют Z80. И если отменить распознавание и по чистому запустить сразу, например, в сегменте ROM04, то все ошибочные адреса вылезают в ROM06, что и соответствует правильным адресам, если бы ROM04 реально стоял в 4000, а ROM06 при этом как раз попадает на ОЗУ. У IDA есть вот такое окно:

    Это карта видимости сегментов. И согласно мапперу, ROM00 должен видеть всех, а ROM01...ROM1F должны видеть только ROM00 и все верхние сегменты (адреса внутри процессора 8000-FFFF). Если это указать здесь, то часть ошибок уходит, остаются только спецкоманды Шарпа с относительной адресацией. И я не знаю, как это решить здесь, может плагин-маппер нужно написать (не путать с лоадером)?

    PS А вот массивы лучше задавать вот с такими параметрами:

    И тогда, было:

    Стало:


    - - - Добавлено - - -

    Ах да, куча мест, где код распознан как массив и наоборот (например, массив выше это код). Продолжайте изучать тему дизассемблинга, повышайте свое мастерство. И, быть может, в этом как раз и таится загадка этих ошибочных адресов, которых быть и не должно. Кто знает?

  5. #45
    Administrator Аватар для CityAceE
    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    4,574
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    399
    Спасибо Благодарностей получено 
    1,207
    Поблагодарили
    394 сообщений
    Mentioned
    48 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    У IDA есть вот такое окно:
    Да, я пытался шаманить в том окне, аналогичным образом, но это, к сожалению, не принесло нужного результата.

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    Ах да, куча мест, где код распознан как массив и наоборот (например, массив выше это код). Продолжайте изучать тему дизассемблинга, повышайте свое мастерство. И, быть может, в этом как раз и таится загадка этих ошибочных адресов, которых быть и не должно. Кто знает?
    Это скорее пожелание к IDA Pro, а не ко мне Потому что я предоставил базу сразу после загрузки в неё бинарника и автоматического распознавания без малейшего вмешательства с моей стороны, чтобы полностью исключить нарушение логики переключения банков, включая и окно, о котором шла речь выше. Поэтому, естественно, во многих местах код и массивы автоматически определены неверно.
    С уважением, Станислав.

  6. #46
    Guru Аватар для jerri
    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,752
    Спасибо Благодарностей отдано 
    265
    Спасибо Благодарностей получено 
    283
    Поблагодарили
    211 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    В общем, все проблемы из-за того, что IDA не заточена под банксвитчинг. Несмотря на то, что вы при создании базы присвоили всем переключаемым сегментам адреса 4000-7FFF, IDA этот параметр применяет только к счетчику команд, продолжая использовать реальный адрес сегмента в исходном файле для вычисления относительных адресов. Потому как рушатся только те команды, которые, используют относительную адресацию операнда. Кстати, они не соответствуют Z80. И если отменить распознавание и по чистому запустить сразу, например, в сегменте ROM04, то все ошибочные адреса вылезают в ROM06, что и соответствует правильным адресам, если бы ROM04 реально стоял в 4000, а ROM06 при этом как раз попадает на ОЗУ. У IDA есть вот такое окно:

    Это карта видимости сегментов. И согласно мапперу, ROM00 должен видеть всех, а ROM01...ROM1F должны видеть только ROM00 и все верхние сегменты (адреса внутри процессора 8000-FFFF). Если это указать здесь, то часть ошибок уходит, остаются только спецкоманды Шарпа с относительной адресацией. И я не знаю, как это решить здесь, может плагин-маппер нужно написать (не путать с лоадером)?
    а как вызвать это окно в IDA 6.8?
    где и как искать?
    С уважением,
    Jerri / Red Triangle.

  7. #46
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #47
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,405
    Спасибо Благодарностей отдано 
    320
    Спасибо Благодарностей получено 
    598
    Поблагодарили
    444 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Там же, где и остальные окна про сегменты.

  9. #48
    Guru Аватар для jerri
    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,752
    Спасибо Благодарностей отдано 
    265
    Спасибо Благодарностей получено 
    283
    Поблагодарили
    211 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    HardWareMan, ага в версии 6.8 такого нет
    С уважением,
    Jerri / Red Triangle.

  10. #49
    Guru
    Регистрация
    16.12.2008
    Адрес
    Kharkov, Ukraina
    Сообщений
    2,221
    Спасибо Благодарностей отдано 
    4
    Спасибо Благодарностей получено 
    21
    Поблагодарили
    18 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Раз уж зашла речь о loaders. Вот вам варианты на Python. Пишем Loader в любом текстовом редакторе, ложем в папку loaders и пользуемся.
    Вложения Вложения
    Электроника КР-02, MSX YIS-503IIR, Орион-128, Ленинград-2, Pentagon-128k, MSX2 YIS-503IIIR, MSX-EXT, ...

  11. #50
    Administrator Аватар для CityAceE
    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    4,574
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    399
    Спасибо Благодарностей получено 
    1,207
    Поблагодарили
    394 сообщений
    Mentioned
    48 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от jerri Посмотреть сообщение
    в версии 6.8 такого нет
    Есть, конечно! Edit -> Segments -> Change segment translation...
    С уважением, Станислав.

Страница 5 из 6 ПерваяПервая 123456 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Service rom + 128 basic rom
    от VELESOFT в разделе Оси
    Ответов: 1
    Последнее: 24.03.2013, 04:48
  2. GAMEBOY CLASSIC хочу
    от newart в разделе Барахолка (архив)
    Ответов: 3
    Последнее: 19.06.2011, 15:27
  3. Sea Dragon GameBoy
    от nzeemin в разделе Nintendo
    Ответов: 18
    Последнее: 08.05.2011, 16:23
  4. Advanced ROM Manager (ROM Switvcher + Prof. ROM)
    от Alex_NEMO в разделе Память
    Ответов: 4
    Последнее: 04.10.2010, 11:43
  5. Nintendo GameBoy
    от BYTEMAN в разделе Nintendo
    Ответов: 13
    Последнее: 28.07.2010, 11:55

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •