Автор Тема: SegaSoundDriver ripped from Sonic1  (Прочитано 22593 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Segaman

  • Пользователь
  • Сообщений: 3240
  • Пол: Мужской
  • Blast Processing!
    • Youtube
    • Просмотр профиля
Re: SegaSoundDriver ripped from Sonic1
« Ответ #60 : 08 Сентябрь 2009, 14:24:51 »
Навырезал сэмплов из с3. теперь даже мелодия титров с3 пашет сносно. всего сэмплов $19.

я знаю про сэмплы, что есть один драйвер, который берёт звуки с частотой 24кгц. он на соникретро где-то есть. на форуме. а как работает и звучит до сих пор низнаю

Оффлайн Segaman

  • Пользователь
  • Сообщений: 3240
  • Пол: Мужской
  • Blast Processing!
    • Youtube
    • Просмотр профиля
Re: SegaSoundDriver ripped from Sonic1
« Ответ #61 : 12 Сентябрь 2009, 22:54:26 »
Блин, я очень сильно затянул с драйвером и мануалом. если хотите, могу пока сырой рес выложить. он вроде сейчас тоже ничё. а мануал (если повезёт) может напишу на след. неделе. у меня как раз монитор снова будет

Оффлайн sergi

  • Пользователь
  • Сообщений: 1651
    • ВКонтакте
    • Просмотр профиля
Re: SegaSoundDriver ripped from Sonic1
« Ответ #62 : 16 Сентябрь 2009, 08:16:33 »
да вот сорс может быть пригодился бы - вдруг что полезное кто усмотрит ;)

Оффлайн Segaman

  • Пользователь
  • Сообщений: 3240
  • Пол: Мужской
  • Blast Processing!
    • Youtube
    • Просмотр профиля
Re: SegaSoundDriver ripped from Sonic1
« Ответ #63 : 19 Сентябрь 2009, 04:06:19 »
А ваапще то я как раз вчера в с 10 до 17 писал мануал и в принцыпе он готов. есть только один минус, мелодия (кстати SonicAdvance-LeafForestAct1) для мануала получилась слегка сыроватая (с голосами подкривил) и на однои из psg-шек гдето ноты нехватает и с несколькими loop-ами канал десинхронизируется с остальными. это ещё предстоит исправить.
ещё я наконец, в который раз прочитав пост про сэмплы, разобрался в чём дело и могу теперь конвертер сэмплов написать. тока я решил это на C++ написать(скачал среду), а в языке пока что нигугу. а без моника нереально обучится языку прогания, сидя за милипи...ским теликом итак глаза сломать можно, нето что телик. каждый раз неразобрав какойто текст приходится запускать поганую лупу, которая ещё и весь экран занимает. воопщем конвертера неждите. а вот менюшки, в которой можно будет реал-тайм менять скорость мелодии, высоту каждого канала по отдельности и их же громкость, можно, только уже после мануала.

мануал дописан с комментариями в текстовом формате. есть парочка скриншотов и файлы всех стадий конвертирования. правда вся эта лабута смачно весит, около 2мб, но это нестрашно. ещё я заодно покажу в нескольких асм-мелодиях возможности смпс драйвера.

да и самое главное, кто умеет управляться с сеговской vdp-шкой или хотябы знает как спрайты рисовать.

Оффлайн Segaman

  • Пользователь
  • Сообщений: 3240
  • Пол: Мужской
  • Blast Processing!
    • Youtube
    • Просмотр профиля
Re: SegaSoundDriver ripped from Sonic1
« Ответ #64 : 25 Сентябрь 2009, 16:02:32 »
Навырезал музла отовсюду. осталось ещё пару примеров хм2смпс сделать и выложить

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Re: SegaSoundDriver ripped from Sonic1
« Ответ #65 : 25 Сентябрь 2009, 16:39:29 »
Всё, вырезал и вставил PadReader. как только включается teamplayer, экран тут же меняется на

поподробнее давай.  если в твой плеер то где его взять? и где там тот участок кода или че?
и как засунуть в другую игру. (в дюну же ты засовывал) . 

Оффлайн Segaman

  • Пользователь
  • Сообщений: 3240
  • Пол: Мужской
  • Blast Processing!
    • Youtube
    • Просмотр профиля
Re: SegaSoundDriver ripped from Sonic1
« Ответ #66 : 25 Сентябрь 2009, 17:31:37 »
У меня отдельными, инклудными асмами. т.е. главный ром
SMPSPlayer.asm
Driver.asm - драйвер со всеми причиндалами
4padreader.asm - читает пады

он пока что тока у мя на кампе. уже давно планирую его закинуть, но всё никак руки недоходят.

Оффлайн Segaman

  • Пользователь
  • Сообщений: 3240
  • Пол: Мужской
  • Blast Processing!
    • Youtube
    • Просмотр профиля
Re: SegaSoundDriver ripped from Sonic1
« Ответ #67 : 28 Сентябрь 2009, 21:06:09 »
видимо я никогда не сяду за мануал. ночью вылажу сорс, как есть. архив весит 6.7мб

Добавлено позже:
на мануал там только одна мелодия, но думаю и этого вам будет достаточно.

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Re: SegaSoundDriver ripped from Sonic1
« Ответ #68 : 29 Сентябрь 2009, 00:32:54 »
вот Segaman'овский pad-reader


Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Re: SegaSoundDriver ripped from Sonic1
« Ответ #69 : 29 Сентябрь 2009, 23:09:04 »

Добавлено позже:
вообщем ридер Сегамановский пашет,  оказалось всё норм.  он для первого разъема.(teamplayer)
первые 4адреса он в них и пишет число.

но вот как удалить старый ридер РРР-ский , точно даже Сегаман не знает. там вообще непохож он, я так пробовал его ридер добавлять просто, но походу старый ему мешает, 0 вписывает обратно что-то в этом роде.
вот тут в роме:
6F8-75c- тут, CD8- E1E и тут.(U ром) , сказал в D0A чтоли писать еще и через jmp (?) . и че толку если кнопки еще в 6FE прописаны -эти же адреса для кнопок игра использует.(тоже удалять отсуда надо?!)
(FFC282, FFC29C для 1,  и FFC284 , FFc29E для 2-ого - вот эти адреса в оригинале игра использует)

объяснить как 4 джойстика в игру то засунуть правильно, тут может хоть кто?

Добавлено позже:
хм, а щас целиком удалил его (старый), а кнопки то пашут на логах и в заставке, а в меню нет. что за прикол.

новый пробовал писать на FFc282 и FFC284. (причем оба варианта пашут, а в коде ридера нужно писать на 2 меньше (c280 иили с c282) , чтобы адрес правильный был. он говорил у него какая то сокращенная форма записи может из-за нее несовместимы?????
в RRR то в 2 адреса пишет сразу (в FFC282 и FFC29C), - а тут тока в 1.
« Последнее редактирование: 29 Сентябрь 2009, 23:16:01 от Ti_ »

Оффлайн Segaman

  • Пользователь
  • Сообщений: 3240
  • Пол: Мужской
  • Blast Processing!
    • Youtube
    • Просмотр профиля
Re: SegaSoundDriver ripped from Sonic1
« Ответ #70 : 30 Сентябрь 2009, 07:20:00 »
Блин, на вене тока 2.5мб мона выкладыть. на этот раз невышло.

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Re: SegaSoundDriver ripped from Sonic1
« Ответ #71 : 30 Сентябрь 2009, 14:30:41 »
в RRR если поменять по 12984, 7016 на 7001 (темп проигрывания ларри типо), и вставить звук рейт 32кгц 8бит (вместо 8кгц) буит проигрываться, но кач-во становится хрень, не идет в сравнение до вставления ; но при этом лучше чем если вставить 8кгц.!

Оффлайн Segaman

  • Пользователь
  • Сообщений: 3240
  • Пол: Мужской
  • Blast Processing!
    • Youtube
    • Просмотр профиля
Re: SegaSoundDriver ripped from Sonic1
« Ответ #72 : 30 Сентябрь 2009, 15:26:26 »
в RRR если поменять по 12984, 7016 на 7001 (темп проигрывания ларри типо), и вставить звук рейт 32кгц 8бит (вместо 8кгц) буит проигрываться, но кач-во становится хрень, не идет в сравнение до вставления ; но при этом лучше чем если вставить 8кгц.!
там что, проигрыватель сэмплов? а то такой мона и в драйвер мой всунуть

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Re: SegaSoundDriver ripped from Sonic1
« Ответ #73 : 30 Сентябрь 2009, 15:36:40 »
там что, проигрыватель сэмплов? а то такой мона и в драйвер мой всунуть
нет, я про DAC (wav)

Оффлайн Segaman

  • Пользователь
  • Сообщений: 3240
  • Пол: Мужской
  • Blast Processing!
    • Youtube
    • Просмотр профиля
Re: SegaSoundDriver ripped from Sonic1
« Ответ #74 : 30 Сентябрь 2009, 16:33:28 »
нет, я про DAC (wav)
Я именно это и имел ввиду. как заполучить этот драйвер?

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Re: SegaSoundDriver ripped from Sonic1
« Ответ #75 : 30 Сентябрь 2009, 17:58:43 »
он любой звук хуже играет, чем в винде звучит. намного.  даже 8кгц в голдвейве терпимей чем 32кгц в игре блин., а с 8вообще ужас.

Оффлайн Segaman

  • Пользователь
  • Сообщений: 3240
  • Пол: Мужской
  • Blast Processing!
    • Youtube
    • Просмотр профиля
Re: SegaSoundDriver ripped from Sonic1
« Ответ #76 : 30 Сентябрь 2009, 20:09:51 »
Ну и фтопку его такого.

вот вам ром, шоб вы не думали шо йа забил. извиняюсь за кривую мелодию leaf forest mid2smps, я на голоса особо не смотрел и ещё я там промахнулсь и псгшка одна недоигрывает ноту и канал десинхронизируется.

управление там описано. а чтобы пад ридер включить, дастаточно в настройках генса для первого порта указать тимплеер. а штобы выйти, надо ево вырубить и нажать старт.

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Re: SegaSoundDriver ripped from Sonic1
« Ответ #77 : 01 Октябрь 2009, 13:43:20 »
Ну и фтопку его такого.
так в чем прикол? почему звук хуже? драйвер баганый или дац?  и цифра эта все таки для выбор рейта предназначена?? (я тут чет в поиске искал, а там драйверы другие эти 8кгц и нельзя сменить).  если бы 32кгц очень неплохо в мп3 зажать, наш эмуль разогнаный мп3 потянул бы!
разогнать кстати другой эмуль нужно- генсмуви11, и чтобы держал больше мег.


Когда ты мне в игру 4джоя вошьеш уже? я тут такое нашел!!


ROM:000107BC ; =============== S U B R O U T I N E =======================================
ROM:000107BC
ROM:000107BC
ROM:000107BC CONTROL:                                ; CODE XREF: RACE+A4p
ROM:000107BC                                         ; RACE+134p
ROM:000107BC                 bsr.w   UNKNOWN__
ROM:000107C0
ROM:000107C0 firstcar:
ROM:000107C0                 moveq   #0,d0
ROM:000107C2                 bsr.w   Control_all
ROM:000107C6
ROM:000107C6 secondcar:
ROM:000107C6                 moveq   #1,d0
ROM:000107C8                 bsr.w   Control_all
ROM:000107CC
ROM:000107CC thirdcar:
ROM:000107CC                 moveq   #2,d0
ROM:000107CE                 bsr.w   Control_all
ROM:000107D2
ROM:000107D2 fourthcar:
ROM:000107D2                 moveq   #3,d0
ROM:000107D4
ROM:000107D4 Control_all:                            ; CODE XREF: CONTROL+6p
ROM:000107D4                                         ; CONTROL+Cp ...
ROM:000107D4                 lea     dword_0_FFD0EA-FF8000(a4),a0
ROM:000107D8                 tst.b   (a0,d0.w)
ROM:000107DC                 beq.s   Control_Player
ROM:000107DE                 bra.w   Control_AI
ROM:000107E2 ; ---------------------------------------------------------------------------
ROM:000107E2
ROM:000107E2 Control_Player:                         ; CODE XREF: CONTROL+20j
ROM:000107E2                 tst.b   byte_0_FFB936-FF8000(a4)
ROM:000107E6                 bne.w   SECOND_JOYSTICK
ROM:000107EA                 cmpi.b  #1,d0
ROM:000107EE                 beq.w   SECOND_JOYSTICK
ROM:000107F2                 cmpi.b  #2,d0
ROM:000107F6                 beq.w   UNKNOWN_
ROM:000107FA                 bsr.w   Player_car_delete_autopress
ROM:000107FE                 move.w  RAM_JOY1_DATA-FF8000(a4),d1
ROM:00010802                 bsr.w   controlplayer_BC_DPAD_mode
ROM:00010806                 move.w  RAM_JOY1_DATA1-FF8000(a4),d1
ROM:0001080A                 bsr.w   control_A_XYZ_ENTER
ROM:0001080E                 clr.w   RAM_JOY1_DATA1-FF8000(a4)
ROM:00010812                 rts
ROM:00010812 ; End of function CONTROL
ROM:00010812
ROM:00010814
ROM:00010814 ; =============== S U B R O U T I N E =======================================
ROM:00010814
ROM:00010814
ROM:00010814 SECOND_JOYSTICK:                        ; CODE XREF: CONTROL+2Aj
ROM:00010814                                         ; CONTROL+32j
ROM:00010814                 bsr.w   Player_car_delete_autopress
ROM:00010818                 move.w  RAM_JOY2_DATA-FF8000(a4),d1
ROM:0001081C                 bsr.w   controlplayer_BC_DPAD_mode
ROM:00010820                 move.w  RAM_JOY2_DATA2-FF8000(a4),d1
ROM:00010824                 bsr.w   control_A_XYZ_ENTER
ROM:00010828                 clr.w   RAM_JOY2_DATA2-FF8000(a4)
ROM:0001082C                 rts
ROM:0001082C ; End of function SECOND_JOYSTICK
ROM:0001082C
ROM:0001082E
ROM:0001082E ; =============== S U B R O U T I N E =======================================
ROM:0001082E
ROM:0001082E
ROM:0001082E UNKNOWN_:                               ; CODE XREF: CONTROL+3Aj
ROM:0001082E                 bsr.w   Player_car_delete_autopress
ROM:00010832                 move.w  word_0_FFC286-FF8000(a4),d1
ROM:00010836                 bsr.w   controlplayer_BC_DPAD_mode
ROM:0001083A                 move.w  word_0_FFC290-FF8000(a4),d1
ROM:0001083E                 bsr.w   control_A_XYZ_ENTER
ROM:00010842                 clr.w   word_0_FFC290-FF8000(a4)
ROM:00010846                 rts
ROM:00010846 ; End of function UNKNOWN_
ROM:00010846
ROM:00010848
ROM:00010848 ; =============== S U B R O U T I N E =======================================

в конце смотри че это за FFC286? FFC290?  да тут наверняка они хотели чтобы на троих было! Эти адреса они тока тут есть.
и чего в дебага  запустил этот код не используется даже, а что такое beq.w.

наверняка можно RRR-ский пад ридер хакнуть! чтобы суда тоже писал!

Оффлайн Segaman

  • Пользователь
  • Сообщений: 3240
  • Пол: Мужской
  • Blast Processing!
    • Youtube
    • Просмотр профиля
Re: SegaSoundDriver ripped from Sonic1
« Ответ #78 : 02 Октябрь 2009, 14:21:02 »
beq - если верно то bra на указанную позицию.
bne - если неверно...

.w - word addres
.s - short addres

эта функция пишется после сравнения compare или cmp, cmpi, cmpa
cmp - сравнить 1е значение со вторым.
это можут быть адреса(cmpa), байты, ворды и лонгворды(cmpi) и флаги (cmp). флаги: a0-a7, d0-d6(кажется)
ссылка после сравнения также может быть сдвинута. например:
StartCompare:
cmpi.b #$12,($FFFFF028).w
move.b ($FFFFF104).w,($FFFFF028).w
beq.s SuccessCompare
add.b #1,($FFFFF104)
bra.s StartCompare

SucessCompare:
move.w a2,d0
lsl.w #2,d0
lea List,a0
lea (a0,d0.w),a0
bra a0
List:
dc.l Bueno, Buano
dc.l Bugaga, Blabla
dc.l 0,0

Оффлайн Smoke

  • Пользователь
  • Сообщений: 3430
  • Пол: Мужской
  • Get Serious!
    • Steam
    • Просмотр профиля
Re: SegaSoundDriver ripped from Sonic1
« Ответ #79 : 02 Октябрь 2009, 17:17:58 »
Цитата: Segaman
флаги: a0-a7, d0-d6(кажется)
Регистры. Флаги это другое

Оффлайн Segaman

  • Пользователь
  • Сообщений: 3240
  • Пол: Мужской
  • Blast Processing!
    • Youtube
    • Просмотр профиля
Re: SegaSoundDriver ripped from Sonic1
« Ответ #80 : 02 Октябрь 2009, 17:42:08 »
Регистры. Флаги это другое
да точно! забыл как их звать

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Re: SegaSoundDriver ripped from Sonic1
« Ответ #81 : 04 Октябрь 2009, 18:13:13 »
в оба адреса если писать, получается много раз жмется кнопка. потому что видишь тут отдельно 2 адреса, а у тебя в драйвере тока 1.

вот тут они 3-ем тусят.  загрузить этот ром с сейва , тимплеер в меню включить.

Добавлено позже:
вот в оригинальном роме -  1-ый пульт зажимаем вверх.
 w. FFC282    - тут 0100  -  держится пока держим кнопку
 w. FFC28С - тут  0100   -  записывается и сразу стирается
 w. FFC29C - тут тоже 0100  -   пока кнопку не отпустим.(и вообще у меня и без него пашет)

для 2-ого пульта.
w.   FFC284
w.   FFC28E
w.   FFC29E

ты можешь сделать чтобы твой драйвер также работал тоже? тогда возится не придется с переделыванием игры!

я пока так прописал, и адреса в игре сменил, 3джоя пашут все (у 3-ей тачки в сейве АИ отрублен). но кнопки везде как турбо жмутся.

    lea     ($FFFFC280).w,a1    ; 1-ый
move.l  $ffc280, $ffc28a
bsr.w   sub_0_9188
lea     ($FFFFC284).w,a1    ; 2-ый
move.l  $ffc284, $ffc28e
bsr.w   sub_0_9196
lea     ($FFFFC292).w,a1    ; 3-ий
move.l  $ffc292, $ffc296
« Последнее редактирование: 09 Октябрь 2009, 13:42:31 от Ti_ »

Оффлайн Segaman

  • Пользователь
  • Сообщений: 3240
  • Пол: Мужской
  • Blast Processing!
    • Youtube
    • Просмотр профиля
Re: SegaSoundDriver ripped from Sonic1
« Ответ #82 : 08 Октябрь 2009, 00:37:01 »
Вчера вырезал мелодию из баттл тодса. мелодия рейсинг попалась (какое удачное совпадение). вот как доведу до ума (мелодия для з80 проца, все поинты надо ковырять), мона буит гордица.

Оффлайн Segaman

  • Пользователь
  • Сообщений: 3240
  • Пол: Мужской
  • Blast Processing!
    • Youtube
    • Просмотр профиля
Re: SegaSoundDriver ripped from Sonic1
« Ответ #83 : 08 Октябрь 2009, 20:09:16 »
Весь день сёня вручную писал асм мелодии и при этом исправил возможные баги. Переписал все каналы кроме fm5, но она и без него звучит идентично той шо в бт. Завтра доделаю и вылажу, а потом возьмусь за ресы.

Оффлайн Марат

  • Пользователь
  • Сообщений: 556
  • Пол: Мужской
    • Просмотр профиля
Re: SegaSoundDriver ripped from Sonic1
« Ответ #84 : 08 Октябрь 2009, 21:13:49 »

ROM:000107BC ; =============== S U B R O U T I N E =======================================
ROM:000107BC
ROM:000107BC
ROM:000107BC CONTROL:                                ; CODE XREF: RACE+A4p
ROM:000107BC                                         ; RACE+134p
ROM:000107BC                 bsr.w   UNKNOWN__
ROM:000107C0
ROM:000107C0 firstcar:
ROM:000107C0                 moveq   #0,d0
ROM:000107C2                 bsr.w   Control_all
ROM:000107C6
ROM:000107C6 secondcar:
ROM:000107C6                 moveq   #1,d0
ROM:000107C8                 bsr.w   Control_all
ROM:000107CC
ROM:000107CC thirdcar:
ROM:000107CC                 moveq   #2,d0
ROM:000107CE                 bsr.w   Control_all
ROM:000107D2
ROM:000107D2 fourthcar:
ROM:000107D2                 moveq   #3,d0
ROM:000107D4
ROM:000107D4 Control_all:                            ; CODE XREF: CONTROL+6p
ROM:000107D4                                         ; CONTROL+Cp ...
ROM:000107D4                 lea     dword_0_FFD0EA-FF8000(a4),a0
ROM:000107D8                 tst.b   (a0,d0.w)
ROM:000107DC                 beq.s   Control_Player
ROM:000107DE                 bra.w   Control_AI
ROM:000107E2 ; ---------------------------------------------------------------------------
ROM:000107E2
ROM:000107E2 Control_Player:                         ; CODE XREF: CONTROL+20j
ROM:000107E2                 tst.b   byte_0_FFB936-FF8000(a4)
ROM:000107E6                 bne.w   SECOND_JOYSTICK
ROM:000107EA                 cmpi.b  #1,d0
ROM:000107EE                 beq.w   SECOND_JOYSTICK
ROM:000107F2                 cmpi.b  #2,d0
ROM:000107F6                 beq.w   UNKNOWN_
ROM:000107FA                 bsr.w   Player_car_delete_autopress
ROM:000107FE                 move.w  RAM_JOY1_DATA-FF8000(a4),d1
ROM:00010802                 bsr.w   controlplayer_BC_DPAD_mode
ROM:00010806                 move.w  RAM_JOY1_DATA1-FF8000(a4),d1
ROM:0001080A                 bsr.w   control_A_XYZ_ENTER
ROM:0001080E                 clr.w   RAM_JOY1_DATA1-FF8000(a4)
ROM:00010812                 rts
ROM:00010812 ; End of function CONTROL
ROM:00010812
ROM:00010814
ROM:00010814 ; =============== S U B R O U T I N E =======================================
ROM:00010814
ROM:00010814
ROM:00010814 SECOND_JOYSTICK:                        ; CODE XREF: CONTROL+2Aj
ROM:00010814                                         ; CONTROL+32j
ROM:00010814                 bsr.w   Player_car_delete_autopress
ROM:00010818                 move.w  RAM_JOY2_DATA-FF8000(a4),d1
ROM:0001081C                 bsr.w   controlplayer_BC_DPAD_mode
ROM:00010820                 move.w  RAM_JOY2_DATA2-FF8000(a4),d1
ROM:00010824                 bsr.w   control_A_XYZ_ENTER
ROM:00010828                 clr.w   RAM_JOY2_DATA2-FF8000(a4)
ROM:0001082C                 rts
ROM:0001082C ; End of function SECOND_JOYSTICK
ROM:0001082C
ROM:0001082E
ROM:0001082E ; =============== S U B R O U T I N E =======================================
ROM:0001082E
ROM:0001082E
ROM:0001082E UNKNOWN_:                               ; CODE XREF: CONTROL+3Aj
ROM:0001082E                 bsr.w   Player_car_delete_autopress
ROM:00010832                 move.w  word_0_FFC286-FF8000(a4),d1
ROM:00010836                 bsr.w   controlplayer_BC_DPAD_mode
ROM:0001083A                 move.w  word_0_FFC290-FF8000(a4),d1
ROM:0001083E                 bsr.w   control_A_XYZ_ENTER
ROM:00010842                 clr.w   word_0_FFC290-FF8000(a4)
ROM:00010846                 rts
ROM:00010846 ; End of function UNKNOWN_
ROM:00010846
ROM:00010848
ROM:00010848 ; =============== S U B R O U T I N E =======================================

в конце смотри че это за FFC286? FFC290?  да тут наверняка они хотели чтобы на троих было! Эти адреса они тока тут есть.
и чего в дебага  запустил этот код не используется даже, а что такое beq.w.
код и не будет использоваться, потому что разработчики так захотели и изолировали эту часть кода дополнительной проверкой. Надо вместо этой проверки два nop'a записать.
Т.е. вместо bne.w   SECOND_JOYSTICK, надо записатьnop
nop
. Сам не проверял - компа сейчас нет. А то бы поковырялся в коде, поэксперементировал.

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Re: SegaSoundDriver ripped from Sonic1
« Ответ #85 : 08 Октябрь 2009, 21:28:51 »
Сам не проверял - компа сейчас нет. А то бы поковырялся в коде, поэксперементировал.
не изолировали, просто d0 будет равно 2, только в случае если для 3-ей машины отключен АИ. 
а это никогда не случается.
в загрузке lea  dword_0_FFD0EA-FF8000(a4),a0  (это 4байта аи/не аи для 1234 машины)

я и для 4дописал сравнение. и адреса новые.  на 4джоев версия выложена , на  троих еще вчера выкладывал.

Оффлайн Марат

  • Пользователь
  • Сообщений: 556
  • Пол: Мужской
    • Просмотр профиля
Re: SegaSoundDriver ripped from Sonic1
« Ответ #86 : 08 Октябрь 2009, 22:02:06 »
Мда, ошибочка вышла. Что-то я проглядел со сравнениями. Ну да ладно, комп появится разберусь что к чему.

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Re: SegaSoundDriver ripped from Sonic1
« Ответ #87 : 09 Октябрь 2009, 13:37:57 »
вообщем, как я понял, мне сейчас нужно только , чтобы драйвер джойстика писал в 1адрес как сейчас , а во второй писал только один раз, и при дальнейшем удерживании кнопки , его не перезаписывал.

пример в FFC282 (RAM_JOY1_DATA) - здесь цифра всё время остается, пока мы удерживаем кнопку.
 в FFC28C (RAM_JOY1_DATA1) - суда записывается один раз, при нажатии, и дальше не перезаписывается при удерживании кнопки.

clr.w   RAM_JOY1_DATA1-FF8000(a4) ,  вот тут после действия (A,C, X, Start) - то есть стрельба, этот адрес обнуляется.
а RAM_JOY1_DATA , нет, он работает как нужно. то есть пока держим все время записан.


а уменя сейчас пока так сделано:
lea     ($FFFFC280).w,a1    ; адрес для первого пада
move.l  $ffc280, $ffc28a
bsr.w   sub_0_9188

то есть, в  FFC282 и FFC28C , одно и тоже,   и после стирания FFC28C , драйвер его заново опять записывает , отсуда "турбо" стрельба получается.;
на самом деле в игре самой, это не сильно мешает - но вот с менюшками просто ужас),

вот линк на версию с 4-мя: (в этой теме тож выложу)
RRR 4players
2игроков выбирать в меню!(если сумеете :)) ), для первого пада pad-multiplayer.
« Последнее редактирование: 09 Октябрь 2009, 13:45:54 от Ti_ »

Оффлайн Segaman

  • Пользователь
  • Сообщений: 3240
  • Пол: Мужской
  • Blast Processing!
    • Youtube
    • Просмотр профиля
Re: SegaSoundDriver ripped from Sonic1
« Ответ #88 : 09 Октябрь 2009, 15:34:53 »
Ti_, я магу спецально для тя ковырнуть ридер и сделать 2адреса. А ещё разобраться как чекать тимплеер. ща дамой приеду, попробую шо нить сделать.

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Re: SegaSoundDriver ripped from Sonic1
« Ответ #89 : 09 Октябрь 2009, 16:07:41 »
Ti_, я магу спецально для тя ковырнуть ридер и сделать 2адреса.
да было бы неплохо, а вообще там список то нехилый игр на 4 джоя. может в другой игре какой уже есть готовый?