Список форумов shedevr.org.ru shedevr.org.ru
Группа перевода приставочных игр "ШЕДЕВР"
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Другие вопросы про Alien Soldier

 
Начать новую тему   Ответить на тему    Список форумов shedevr.org.ru -> Базовый ромхакинг
Предыдущая тема :: Следующая тема  
Автор Сообщение
IfoR



Зарегистрирован: 16.05.2006
Сообщения: 334

СообщениеДобавлено: Сб Июл 22, 2006 10:36 am    Заголовок сообщения: Другие вопросы про Alien Soldier Ответить с цитатой

Что-то не как не найду, где хранятся данные о нажатых клавишах в ДЕМО просмотре.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
IfoR



Зарегистрирован: 16.05.2006
Сообщения: 334

СообщениеДобавлено: Вт Июл 25, 2006 4:47 pm    Заголовок сообщения: Распаковка графики Ответить с цитатой

Так, с комбинацией клавиш мы пока не разобрались. Ну а с распаковкой?

Меня лично заинтересовал этот код, на который игра постоянно ссылается:

Код:
ROM:000022D8 loc_22D8:                               ; CODE XREF: ROM:00002106
ROM:000022D8                                         ; ROM:00004A0...
ROM:000022D8                 moveq   #$3F,d2 ; '?'
ROM:000022DA                 lea     ($FFFFBE04).w,a0 ; DATA XREF: ROM:00194C4Ew
ROM:000022DA                                         ; ROM:00195526w ...
ROM:000022DE                 move.l  #$BE0A,d0
ROM:000022E4
ROM:000022E4 loc_22E4:                               ; CODE XREF: ROM:000022E8j
ROM:000022E4                 move.l  d0,(a0)+
ROM:000022E6                 addq.w  #4,d0
ROM:000022E8                 dbf     d2,loc_22E4
ROM:000022EC                 move.w  ($FFFFF756).w,d0
ROM:000022F0                 bne.w   loc_22F6
ROM:000022F4                 moveq   #1,d0           ; DATA XREF: ROM:001BC9DCr
ROM:000022F6
ROM:000022F6 loc_22F6:                               ; CODE XREF: ROM:000022F0j
ROM:000022F6                 move.b  d0,($FFFFBE00).w
ROM:000022FA                 asl.w   #3,d0
ROM:000022FC                 addi.w  #$E000,d0       ; DATA XREF: ROM:0018B436w
ROM:00002300
ROM:00002300 loc_2300:                               ; DATA XREF: ROM:001B150Er
ROM:00002300                                         ; ROM:001AA48Cw
ROM:00002300                 move.w  d0,($FFFFBE02).w
ROM:00002304                 move.b  #1,($FFFFF744).w
ROM:0000230A                 rts


Пока я в нём не совсем разобрался, но вы мне очень поможете если скажите как нормально поставить бряк на адрес, а то в GensDebug у меня не получается.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
АнС
RRC2008
RRC2008


Зарегистрирован: 08.11.2003
Сообщения: 2818

СообщениеДобавлено: Вт Июл 25, 2006 8:55 pm    Заголовок сообщения: Ответить с цитатой

Где-то у меня лежит готовый запаковщик (хотя не совсем полноценный, но игрушку я им почти перевёл... года 2 назад)

Твоего куска кода явно не достаточно для понимания алгоритма.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
IfoR



Зарегистрирован: 16.05.2006
Сообщения: 334

СообщениеДобавлено: Вт Июл 25, 2006 10:21 pm    Заголовок сообщения: Ответить с цитатой

АнС писал(а):
Где-то у меня лежит готовый запаковщик (хотя не совсем полноценный, но игрушку я им почти перевёл... года 2 назад)

Твоего куска кода явно не достаточно для понимания алгоритма.


Столько думаю будет достаточно:

Код:
ROM:00002274 ; --------------- S U B R O U T I N E ---------------------------------------
ROM:00002274
ROM:00002274
ROM:00002274 sub_2274:                               ; CODE XREF: sub_2176+Ej
ROM:00002274                                         ; sub_2176+1Cp ...
ROM:00002274                 movea.l 8(a5),a4
ROM:00002278
ROM:00002278 locret_2278:                            ; DATA XREF: ROM:loc_107BFEw
ROM:00002278                                         ; ROM:0005BD8Ar
ROM:00002278                 rts
ROM:00002278 ; End of function sub_2274
ROM:00002278
ROM:0000227A ; ---------------------------------------------------------------------------
ROM:0000227A                 move.b  $D(a5),d0
ROM:0000227E                 bmi.s   loc_22CC
ROM:00002280
ROM:00002280 loc_2280:                               ; DATA XREF: ROM:loc_198750w
ROM:00002280                 bne.s   loc_2292
ROM:00002282
ROM:00002282 loc_2282:                               ; DATA XREF: ROM:00106FF4w
ROM:00002282                 move.b  $C(a5),d1
ROM:00002286                 ext.w   d1              ; DATA XREF: ROM:00159CD0w
ROM:00002286                                         ; ROM:00196AF2r ...
ROM:00002288
ROM:00002288 loc_2288:                               ; DATA XREF: ROM:001B92D6r
ROM:00002288                                         ; ROM:001C43CAr ...
ROM:00002288                 adda.w  d1,a4
ROM:0000228A                 move.b  3(a4),d0
ROM:0000228E                 bra.w   loc_22A0
ROM:00002292 ; ---------------------------------------------------------------------------
ROM:00002292
ROM:00002292 loc_2292:                               ; CODE XREF: ROM:loc_2280j
ROM:00002292                                         ; DATA XREF: ROM:000D1D48w
ROM:00002292                 move.b  $C(a5),d1
ROM:00002296                 ext.w   d1
ROM:00002298                 adda.w  d1,a4
ROM:0000229A                 tst.b   ($FFFF813E).w
ROM:0000229E                 bmi.s   loc_22D4
ROM:000022A0
ROM:000022A0 loc_22A0:                               ; CODE XREF: ROM:0000228Ej
ROM:000022A0                 subq.b  #1,d0
ROM:000022A2                 move.b  d0,$D(a5)
ROM:000022A6                 bne.w   loc_22D4
ROM:000022AA
ROM:000022AA loc_22AA:                               ; DATA XREF: ROM:001293EEw
ROM:000022AA                                         ; ROM:001C013Cw
ROM:000022AA                 movea.l a4,a2
ROM:000022AC                 addq.w  #4,a2
ROM:000022AE                 addq.w  #4,d1
ROM:000022B0
ROM:000022B0 loc_22B0:                               ; CODE XREF: ROM:000022CAj
ROM:000022B0                 move.b  3(a2),d0
ROM:000022B4                 beq.w   loc_22C4        ; DATA XREF: ROM:loc_3FAEw
ROM:000022B8                 move.b  d0,$D(a5)
ROM:000022BC                 move.b  d1,$C(a5)
ROM:000022C0                 adda.w  (a4),a4
ROM:000022C2                 rts
ROM:000022C4 ; ---------------------------------------------------------------------------
ROM:000022C4
ROM:000022C4 loc_22C4:                               ; CODE XREF: ROM:000022B4j
ROM:000022C4                 move.w  (a2),d0
ROM:000022C6                 adda.w  d0,a2
ROM:000022C8                 add.w   d0,d1
ROM:000022CA                 bra.s   loc_22B0
ROM:000022CC ; ---------------------------------------------------------------------------
ROM:000022CC
ROM:000022CC loc_22CC:                               ; CODE XREF: ROM:0000227Ej
ROM:000022CC                                         ; DATA XREF: ROM:0014C310w ...
ROM:000022CC                 move.b  $C(a5),d1
ROM:000022D0                 ext.w   d1
ROM:000022D2                 adda.w  d1,a4
ROM:000022D4
ROM:000022D4 loc_22D4:                               ; CODE XREF: ROM:0000229Ej
ROM:000022D4                                         ; ROM:000022A6j
ROM:000022D4                 adda.w  (a4),a4
ROM:000022D6                 rts
ROM:000022D8
ROM:000022D8 ; --------------- S U B R O U T I N E ---------------------------------------
ROM:000022D8
ROM:000022D8
ROM:000022D8 sub_22D8:                               ; CODE XREF: sub_20FE+8p
ROM:000022D8                                         ; ROM:00004A0Ap ...
ROM:000022D8                 moveq   #$3F,d2 ; '?'
ROM:000022DA                 lea     ($FFFFBE04).w,a0 ; DATA XREF: ROM:00194C4Ew
ROM:000022DA                                         ; ROM:00195526w ...
ROM:000022DE                 move.l  #$BE0A,d0
ROM:000022E4
ROM:000022E4 loc_22E4:                               ; CODE XREF: sub_22D8+10j
ROM:000022E4                 move.l  d0,(a0)+
ROM:000022E6                 addq.w  #4,d0
ROM:000022E8                 dbf     d2,loc_22E4
ROM:000022EC                 move.w  ($FFFFF756).w,d0
ROM:000022F0                 bne.w   loc_22F6
ROM:000022F4                 moveq   #1,d0           ; DATA XREF: ROM:001BC9DCr
ROM:000022F6
ROM:000022F6 loc_22F6:                               ; CODE XREF: sub_22D8+18j
ROM:000022F6                 move.b  d0,($FFFFBE00).w
ROM:000022FA                 asl.w   #3,d0
ROM:000022FC                 addi.w  #$E000,d0       ; DATA XREF: ROM:0018B436w
ROM:00002300
ROM:00002300 loc_2300:                               ; DATA XREF: ROM:001B150Er
ROM:00002300                                         ; ROM:001AA48Cw
ROM:00002300                 move.w  d0,($FFFFBE02).w
ROM:00002304                 move.b  #1,($FFFFF744).w
ROM:0000230A                 rts
ROM:0000230A ; End of function sub_22D8
ROM:0000230A
ROM:0000230C ; ---------------------------------------------------------------------------
ROM:0000230C ; START OF FUNCTION CHUNK FOR sub_20FE
ROM:0000230C
ROM:0000230C loc_230C:                               ; CODE XREF: sub_20FE+5Ej
ROM:0000230C                 move.b  #$50,d0 ; 'P'
ROM:00002310                 sub.b   ($FFFFBE00).w,d0
ROM:00002314                 move.b  d0,($FFFFBE01).w
ROM:00002318                 moveq   #$3F,d2 ; '?'
ROM:0000231A                 movea.w #$BE04,a0
ROM:0000231E                 move.w  ($FFFFF756).w,d0
ROM:00002322                 bne.w   loc_2328
ROM:00002326                 moveq   #1,d0
ROM:00002328
ROM:00002328 loc_2328:                               ; CODE XREF: sub_20FE+224j
ROM:00002328                 asl.w   #3,d0
ROM:0000232A                 addi.w  #$E000,d0
ROM:0000232E                 movea.w d0,a1
ROM:00002330
ROM:00002330 loc_2330:                               ; CODE XREF: sub_20FE+23Ej
ROM:00002330                 move.w  (a0)+,d0
ROM:00002332
ROM:00002332 loc_2332:                               ; DATA XREF: ROM:001A16F6w
ROM:00002332                                         ; ROM:001CA86Ew
ROM:00002332                 beq.s   loc_233A
ROM:00002334                 move.b  d0,-5(a1)
ROM:00002338                 movea.w (a0),a1         ; DATA XREF: ROM:0005BE02r
ROM:0000233A
ROM:0000233A loc_233A:                               ; CODE XREF: sub_20FE:loc_2332j
ROM:0000233A                 addq.w  #2,a0
ROM:0000233C                 dbf     d2,loc_2330
ROM:00002340                 move.b  #0,-5(a1)       ; DATA XREF: ROM:00124244r
ROM:00002346                 clr.b   ($FFFFF744).w
ROM:0000234A                 rts
ROM:0000234C ; ---------------------------------------------------------------------------
ROM:0000234C
ROM:0000234C loc_234C:                               ; CODE XREF: sub_20FE+3Aj
ROM:0000234C                 cmpi.b  #$50,d4 ; 'P'
ROM:00002350                 bge.s   loc_23A6
ROM:00002352                 move.b  $B(a5),d6
ROM:00002356                 ext.w   d6
ROM:00002358                 add.w   $14(a5),d6
ROM:0000235C                 tst.b   3(a5)
ROM:00002360                 bmi.s   loc_2366
ROM:00002362                 sub.w   ($FFFF8086).w,d6
ROM:00002366
ROM:00002366 loc_2366:                               ; CODE XREF: sub_20FE+262j
ROM:00002366                 cmpi.w  #$200,d6
ROM:0000236A                 bcc.s   loc_23A6
ROM:0000236C                 move.b  $A(a5),d5
ROM:00002370                 ext.w   d5
ROM:00002372                 add.w   $10(a5),d5
ROM:00002376                 beq.s   loc_23A6
ROM:00002378                 cmpi.w  #$220,d5        ; DATA XREF: ROM:0005BE52r
ROM:0000237C                 bcc.s   loc_23A6
ROM:0000237E                 move.b  $20(a5),d0
ROM:00002382                 andi.w  #$FC,d0 ; '№'
ROM:00002386                 movea.w d0,a1
ROM:00002388
ROM:00002388 loc_2388:                               ; DATA XREF: ROM:00159CD8r
ROM:00002388                                         ; ROM:loc_18BDB2r
ROM:00002388                 movea.w -$41FA(a1),a0
ROM:0000238C                 move.b  d4,-5(a0)
ROM:00002390
ROM:00002390 loc_2390:                               ; DATA XREF: ROM:00192488w
ROM:00002390                 move.w  d6,(a3)+
ROM:00002392                 move.w  8(a5),d0
ROM:00002396                 addq.b  #1,d4
ROM:00002398
ROM:00002398 loc_2398:                               ; DATA XREF: ROM:001C979Er
ROM:00002398                 move.b  d4,d0
ROM:0000239A                 move.w  d0,(a3)+
ROM:0000239C                 move.w  $E(a5),(a3)+
ROM:000023A0                 move.w  d5,(a3)+
ROM:000023A2
ROM:000023A2 loc_23A2:                               ; DATA XREF: ROM:000C9364w
ROM:000023A2                 move.w  a3,-$41FA(a1)
ROM:000023A6
ROM:000023A6 loc_23A6:                               ; CODE XREF: sub_20FE+252j
ROM:000023A6                                         ; sub_20FE+26Cj ...
ROM:000023A6                 bra.w   loc_2150
ROM:000023A6 ; END OF FUNCTION CHUNK FOR sub_20FE
ROM:000023AA ; ---------------------------------------------------------------------------
ROM:000023AA ; START OF FUNCTION CHUNK FOR sub_23AC
ROM:000023AA
ROM:000023AA locret_23AA:                            ; CODE XREF: sub_23AC+24j
ROM:000023AA                                         ; sub_23AC+2Aj
ROM:000023AA                 rts
ROM:000023AA ; END OF FUNCTION CHUNK FOR sub_23AC
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
АнС
RRC2008
RRC2008


Зарегистрирован: 08.11.2003
Сообщения: 2818

СообщениеДобавлено: Ср Июл 26, 2006 12:25 am    Заголовок сообщения: Ответить с цитатой

Shocked Ну ты бы ещё весь код игры задампил. Rolling Eyes
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Ghost



Зарегистрирован: 24.04.2004
Сообщения: 237

СообщениеДобавлено: Пн Июл 31, 2006 8:10 pm    Заголовок сообщения: Ответить с цитатой

Обычно при воспроизведении демок считанные кнопки из рома подставляются вместо нажатых на соответствующий адрес, но это после проверки, мы нажали что-нибудь, что прерывает демку, или нет. Вот по ним и надо искать. Например, для данной (E) игры первая демка начинается с адреса $24642, по адресу $FFFF4C адрес считываемых данных из рома. Как они устроены, мне лень было разбираться.
_________________
Мысль - это интеллектуальный эксцесс данного индивидуума.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
IfoR



Зарегистрирован: 16.05.2006
Сообщения: 334

СообщениеДобавлено: Пн Июл 31, 2006 11:33 pm    Заголовок сообщения: Ответить с цитатой

Ghost писал(а):
Обычно при воспроизведении демок считанные кнопки из рома подставляются вместо нажатых на соответствующий адрес, но это после проверки, мы нажали что-нибудь, что прерывает демку, или нет. Вот по ним и надо искать. Например, для данной (E) игры первая демка начинается с адреса $24642, по адресу $FFFF4C адрес считываемых данных из рома. Как они устроены, мне лень было разбираться.


Я это примерно так себе и представлял. А за данные, спасибо.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов shedevr.org.ru -> Базовый ромхакинг Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group