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

User Tag List

Страница 2 из 6 ПерваяПервая 123456 ПоследняяПоследняя
Показано с 11 по 20 из 52

Тема: GameBoy ROM disassembly

  1. #11
    Master
    Регистрация
    27.11.2013
    Адрес
    г. Санкт-Петербург
    Сообщений
    827
    Спасибо Благодарностей отдано 
    34
    Спасибо Благодарностей получено 
    128
    Поблагодарили
    108 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    злостный оффтоп:
    есть "осёл на складе" (в смысле животное/бездарный работник на складе), а есть "осел на складе" (в смысле товар размещён на долгое хранение на складе).
    Если писать "попсово" (как нынче пишут в "прессе") без буквы Ё - то смысл фразы кардинально меняется.

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

    По умолчанию

    solegstar, от оно че, Михалыч... Не подумавши сказал, ага. Но ведь запятых нет!

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

    AlexG, а вот Дизайнер Всея Руси не любит "Ё". Он даже имя изменил, чтобы исключить ее.

  3. #13
    Guru Аватар для Shiny
    Регистрация
    19.01.2017
    Адрес
    г. Арзамас
    Сообщений
    2,121
    Записей в дневнике
    36
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    21
    Поблагодарили
    10 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    странные вы люди. Можно подумать, что IDA все знают в совершенстве.

    поправили бы образец скрипта, было бы легче.

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

    По умолчанию

    Шынни, я вообще далек не то что от ИДЫ, от VC на котором следует писать плагины к ней. Но я же разобрался. Да, была рыба, но ее найти в гугле без проблем. И кто странный теперь?

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

    По умолчанию

    Цитата Сообщение от solegstar Посмотреть сообщение
    лодырь=loader


    А я ведь реально не понял этого сленга! И хорошо, что это было всего лишь моё недопонимание

    В общем, слегка подкорректировал скрипт:

    1. Загрузил ROM1 (16К) по адресу #8000.
    2. С адреса #10000 сформировал 30 банков по 16K и загрузил туда соответствующие данные.

    То есть теперь все данные загружены. Но я по-прежнему не знаю как сделать так, чтобы IDA Pro думала, что это именно банки, включаемые в одно окно, а не последовательно расположенные сегменты. И я даже не могу найти пример, чтобы посмотреть, как это должно выглядеть. Мне кажется, что это можно как-то задать даже в самой программе и не обязательно на этапе загрузки.
    Вложения Вложения
    С уважением, Станислав.

  6. #16
    Administrator Аватар для CityAceE
    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    4,543
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    383
    Спасибо Благодарностей получено 
    1,170
    Поблагодарили
    381 сообщений
    Mentioned
    48 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Дизассемблирование The Legand og Zelda для GameBoy оказалось хоть и увлекательным занятием, но довольно сложным и отнимающим много времени. А кроме того, на первоначально этапе работа идёт довольно медленно.

    Код:
    ROM0:0150 ; ---------------------------------------------------------------------------
    ROM0:0150
    ROM0:0150 beginning:                              ; CODE XREF: sub_38+C9j
    ROM0:0150                 call    lcd_ini
    ROM0:0153                 ld      sp, $DFFF
    ROM0:0156                 xor     a
    ROM0:0157                 ld      [BGP], a
    ROM0:0159                 ld      [OBP0], a
    ROM0:015B                 ld      [OBP1], a
    ROM0:015D                 ld      hl, $8000
    ROM0:0160                 ld      bc, $1800
    ROM0:0163                 call    zero_fill_block
    ROM0:0166                 call    clear_bg_data
    ROM0:0169                 call    clear_user_stack_ram
    ROM0:016C                 ld      a, 1
    ROM0:016E                 ld      [bank], a
    ROM0:0171                 call    dma_sub_transfer
    ROM0:0174                 call    dma_put_sprite
    ROM0:0177                 call    screen_init
    ROM0:017A                 call    from_c_to_tiles
    ROM0:017D                 ld      a, $44 ; 'D'
    ROM0:017F                 ld      [LCD_Status], a
    ROM0:0181                 ld      a, $4F ; 'O'
    ROM0:0183                 ld      [LY_Compare], a
    ROM0:0185                 ld      a, 1
    ROM0:0187                 ld      [bank_copy], a
    ROM0:018A                 ld      a, 1
    ROM0:018C                 ld      [IE], a
    ROM0:018E                 ld      a, 1
    ROM0:0190                 ld      [bank], a
    ROM0:0193                 call    clear_and_init
    ROM0:0196                 ld      a, $1F
    ROM0:0198                 ld      [bank], a
    ROM0:019B                 call    loc_4000        ; Init sound?
    ROM0:019E                 ld      a, $18
    ROM0:01A0                 ld      [byte_FFB5], a
    ROM0:01A2                 ei
    ROM0:01A3                 jp      start
    ROM0:01A6 ; ---------------------------------------------------------------------------
    Я предположил, что в IDA Pro должна быть возможность совместной работы над одним проектом. Изучение данного вопроса привело к The collabREate Plugin for IDA Pro. Чтобы совместно работать над каким-то проектом необходимо поднять сервер и установить плагин. Сервер я благополучно поднял. Плагин к нему коннектится. До конца, правда, не протестировал, так как я пока (?) только один пользователь.

    Нет ли желающих присоединиться? Напомню, что в GameBoy установлена разновидность Z80. Так что для тех, кто знаком с программированием под ZX Spectrum, всё будет привычно. Если удастся распотрошить код игры, то в дальнейшем уже можно будет серьёзно подумать о портировании игры под ZX Spectrum.
    С уважением, Станислав.

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

  8. #17
    Guru Аватар для Shiny
    Регистрация
    19.01.2017
    Адрес
    г. Арзамас
    Сообщений
    2,121
    Записей в дневнике
    36
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    21
    Поблагодарили
    10 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Если будет готовый исходник с комментариями, я бы попробовал.
    Код:
    ld      [byte_FFB5], a
    назначение переменной неясно, похоже, что переменная для игровой логики.

  9. #18
    Administrator Аватар для CityAceE
    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    4,543
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    383
    Спасибо Благодарностей получено 
    1,170
    Поблагодарили
    381 сообщений
    Mentioned
    48 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Шынни Посмотреть сообщение
    Если будет готовый исходник с комментариями, я бы попробовал.
    Готовый исходник с комментариями чего? Я как раз и предлагаю совместными усилиями сделать исходник из бинарника и снабдить его комментариями.

    Цитата Сообщение от Шынни Посмотреть сообщение
    назначение переменной неясно, похоже, что переменная для игровой логики.
    С этой переменной я пока не разобрался - их там ещё вагон и маленькая тележка. Предыдущие переменные и процедуры в представленном куске я переименовывал сам, исходя из документации по архитектуре GameBoy и анализа работы игры под эмулятором. Собственно, этот кусок я и привёл в качестве примера того, что должно получится. А вот тот же кусок до моего вмешательства:

    Код:
    ROM:0150 loc_150:                                ; CODE XREF: sub_38+C9j
    ROM:0150                 call    sub_2881
    ROM:0153                 ld      sp, $DFFF
    ROM:0156                 xor     a
    ROM:0157                 ld      [byte_FF47], a
    ROM:0159                 ld      [byte_FF48], a
    ROM:015B                 ld      [byte_FF49], a
    ROM:015D                 ld      hl, $8000
    ROM:0160                 ld      bc, $1800
    ROM:0163                 call    sub_2999
    ROM:0166                 call    sub_28A8
    ROM:0169                 call    sub_298A
    ROM:016C                 ld      a, 1
    ROM:016E                 ld      [byte_2100], a
    ROM:0171                 call    sub_7D19
    ROM:0174                 call    loc_FFC0
    ROM:0177                 call    sub_40CE
    ROM:017A                 call    sub_2B6B
    ROM:017D                 ld      a, $44 ; 'D'
    ROM:017F                 ld      [byte_FF41], a
    ROM:0181                 ld      a, $4F ; 'O'
    ROM:0183                 ld      [byte_FF45], a
    ROM:0185                 ld      a, 1
    ROM:0187                 ld      [byte_DBAF], a
    ROM:018A                 ld      a, 1
    ROM:018C                 ld      [byte_FFFF], a
    ROM:018E                 ld      a, 1
    ROM:0190                 ld      [byte_2100], a
    ROM:0193                 call    sub_460F
    ROM:0196                 ld      a, $1F
    ROM:0198                 ld      [byte_2100], a
    ROM:019B                 call    loc_4000
    ROM:019E                 ld      a, $18
    ROM:01A0                 ld      [byte_FFB5], a
    ROM:01A2                 ei
    ROM:01A3                 jp      loc_3BD
    ROM:01A6 ; ---------------------------------------------------------------------------
    С уважением, Станислав.

  10. #19
    Guru Аватар для Shiny
    Регистрация
    19.01.2017
    Адрес
    г. Арзамас
    Сообщений
    2,121
    Записей в дневнике
    36
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    21
    Поблагодарили
    10 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от CityAceE Посмотреть сообщение
    Я как раз и предлагаю совместными усилиями сделать исходник из бинарника и снабдить его комментариями
    рад бы помочь, у меня работает только 5.5, несовместимая с другими, поэтому увы. 6.x не запускается

    Цитата Сообщение от CityAceE Посмотреть сообщение
    Готовый исходник с комментариями чего?
    В идеале - с комментариями при вызове процедур(если это возможно), заодно с картой банков - назначение(тайлы, процедуры).

    Цитата Сообщение от CityAceE Посмотреть сообщение
    С этой переменной я пока не разобрался - их там ещё вагон и маленькая тележка
    не знаю, поможет ли нет: в 5.5 есть такая фича- навести курсор на метку и нажать X, появится окно с фрагментами кода, где метка фигурирует.

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

    По умолчанию


    Это страница из этого старого журнала, он дает базовые знания. Там есть и примеры в конце.
    Последний раз редактировалось HardWareMan; 27.01.2017 в 10:06.

Страница 2 из 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

Ваши права

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