Автор Тема: Извлечение мультимедиа (звук, видео, музыка) данных из игр CD/DVD приставок  (Прочитано 604680 раз)

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

Оффлайн vasin4725

  • Пользователь
  • Сообщений: 20
    • Просмотр профиля
Как импортировать звук в формат .dat?

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5605
    • Просмотр профиля
Как импортировать звук в формат .dat?
Нужно писать название игры. ".dat" не формат, а расширение файла. Звук как в PSX, т. е. CD-ROM XA ADPCM или Sony PSX ADPCM, поэтому использовать программы для этого. Там 18 треков, частота около 7000 Гц, начинаются с 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00, как я понял. Если нужно изменить размер, то придётся разбираться в заголовке файла. UPD: Похоже в позиции 0x4 (50 A6 04 00) адрес в памяти (0x4A650), с позиции 0xC идёт описание треков по 0x14 байт, в конце указывается адрес относительно указанного в начале, т. е. 50 A6 04 00 - первый трек, 10 B9 04 00 - второй, B0 C8 04 00 - третий и т. д. В таблице не по порядку.
« Последнее редактирование: 26 Август 2024, 17:17:25 от Sharpnull »

Оффлайн vasin4725

  • Пользователь
  • Сообщений: 20
    • Просмотр профиля
Raw -sound data - compressed ADPCM
Raw XA-ADPCM files (without video) are usually have .XA file extension.
Теперь вопрос стоит не как, а чем сжат?
« Последнее редактирование: 28 Август 2024, 11:36:28 от vasin4725 »

Оффлайн vasin4725

  • Пользователь
  • Сообщений: 20
    • Просмотр профиля
Нужно писать название игры. ".dat" не формат, а расширение файла. Звук как в PSX, т. е. CD-ROM XA ADPCM или Sony PSX ADPCM, поэтому использовать программы для этого. Там 18 треков, частота около 7000 Гц, начинаются с 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00, как я понял. Если нужно изменить размер, то придётся разбираться в заголовке файла. UPD: Похоже в позиции 0x4 (50 A6 04 00) адрес в памяти (0x4A650), с позиции 0xC идёт описание треков по 0x14 байт, в конце указывается адрес относительно указанного в начале, т. е. 50 A6 04 00 - первый трек, 10 B9 04 00 - второй, B0 C8 04 00 - третий и т. д. В таблице не по порядку.

размер менять нельзя надо создать такой же файл но с измененным аудио
нужен гайд и инструмент
« Последнее редактирование: 16 Сентябрь 2024, 17:14:14 от vasin4725 »

Оффлайн Томахомэ

  • Пользователь
  • Сообщений: 951
  • Пол: Мужской
    • Просмотр профиля
Пару дней назад доскребся при реверс-энжинеринге нескольких автоматских игр до наборов данных, формирующих тамошние музыкальные треки. Теперь вот нацелился на Gunforce 2 и Battetoads Arcade. Одна только проблема - в отличие от Alligator Hunt, DoDonPachi и Meta Fox, аудиопроцессоры у них стоят отдельные, да и к тому же восьмибитные (но крайней мере, у Battletoads Arcade в качестве звукового стоит совершенно конкретный Z80), что дополнительно усложняет отслеживание перемещения каких-либо данных и установление адреса источника. Так что мне нужна небольшая помощь - как показал успех с Alligator Hunt, DoDonPachi и Meta Fox, именно помощь: я не рассчитываю, что кто-то сделает весь реверс-энжинеринг за меня и сам всё-таки кое-что могу.

Оффлайн vasin4725

  • Пользователь
  • Сообщений: 20
    • Просмотр профиля
Нужно писать название игры. ".dat" не формат, а расширение файла. Звук как в PSX, т. е. CD-ROM XA ADPCM или Sony PSX ADPCM, поэтому использовать программы для этого. Там 18 треков, частота около 7000 Гц, начинаются с 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00, как я понял. Если нужно изменить размер, то придётся разбираться в заголовке файла. UPD: Похоже в позиции 0x4 (50 A6 04 00) адрес в памяти (0x4A650), с позиции 0xC идёт описание треков по 0x14 байт, в конце указывается адрес относительно указанного в начале, т. е. 50 A6 04 00 - первый трек, 10 B9 04 00 - второй, B0 C8 04 00 - третий и т. д. В таблице не по порядку.
Я так понял придется делать копию сжатого ADPCM файла через MFAudio
и проводить замену через HxD кодом

Оффлайн vasin4725

  • Пользователь
  • Сообщений: 20
    • Просмотр профиля
Вообщем такая чихарада получилась

Off  HxD
16С  160
145С 1450
23FC 23F0
316С 3160
417С 4170
970С 9700
102AC 102A0
123CC 123C0 -4 звука в одном?
145FC 145F0 -2 звука в одном?
1644C 1644F - один звук (FF)
1823С 18230
1CBCC 1CBC0 - 2 звука
2309С            ?
275EC 275E0 - 2 звука
2FAEC 2FAE0
3045С 30450
« Последнее редактирование: 05 Октябрь 2024, 15:33:01 от vasin4725 »

Оффлайн Томахомэ

  • Пользователь
  • Сообщений: 951
  • Пол: Мужской
    • Просмотр профиля
Хоть Taito System SJ - платформа и ни фига не дисковая, но тут, видимо, будет в тему. Туточки вот, например - основная мелодия из Kick Start: Wheelie King.

SoundBase:
0F30: 54 0A
0F32: 5D 0A
0F34: 66 0A
0F36: 78 0A
0F38: 6F 0A
0F3A: 10 14
0F3C: 30 14
0F3E: A0 14
0F40: B0 14
0F42: 90 12 ; MainBGM
0F44: B0 11
0F46: C0 11
0F48: 66 0A
0F4A: 66 0A
0F4C: 8F 0A
0F4E: E0 14
0F50: 00 0F
0F52: 10 0F
0F54: 00 15
0F56: 10 15
0F58: 80 10
0F5A: 90 10
0F5C: A0 10
0F5E: B0 10
0F60: C0 10
0F62: D0 10
0F64: E0 10
0F66: F0 10
0F68: 00 11
0F6A: 20 11
0F6C: 30 11
0F6E: 40 11
0F70: 50 11
0F72: 60 11
0F74: 70 11
0F76: 70 11
0F78: 70 11
0F7A: E0 0D
0F7C: D0 0D
0F7E: C0 0D
0F80: B0 0D
0F82: A0 0D
0F84: 90 0D
0F86: 80 0D
0F88: 70 0D
0F8A: 60 0D
0F8C: F0 0D
0F8E: 00 13
MainBGM:
1290: 8A
1291: 11 01 F0
1294: 1F
1295: 80 24 ; MainBGM_Notes
1297: 00 00

Байты $3x в блоке данных ниже предваряют пару байт, которую надо загрузить в 2 следующих друг за другом регистра третьего (ответственного за музыку) чипа AY-3-8910A, номер первого из которых указан в младшем нибле. Аналогичную роль для загрузки уже одиночного байта выполняют байты $0x. Непонятно, правда, назначение байт $8x (за исключением $80 - этот уже совершенно очевидно знак конца мелодии) - может, для разделения аккордов между собой? - как, впрочем, и подсобных данных перед адресом MainBGM_Notes. Но в целом - вполне удобочитаемая запись, которую можно наиграть в каком-нибудь Furnace.
MainBGM_Notes:
2480: 85
2481: 30 CD 02
2484: 32 1C 01
2487: 07 F8
2489: 38 0F 10
248C: 3A 00 00
248F: 3C 09 00
2492: 85
2493: 30 66 01
2496: 34 8E 00
2499: 39 00 0F
249C: 85
249D: 30 39 02
24A0: 04 78
24A2: 85
24A3: 30 66 01
24A6: 04 6B
24A8: 09 10
24AA: 0D 00
24AC: 85
24AD: 00 DE
24AF: 04 5A
24B1: 09 00
24B3: 85
24B4: 00 66
24B6: 04 78
24B8: 0A 10
24BA: 0C 12
24BC: 0D 00
24BE: 85
24BF: 30 39 02
24C2: 32 EF 00
24C5: 39 10 00
24C8: 3C 09 00
24CB: 81
24CC: 30 66 01
24CF: 04 5A
24D1: 39 00 0F
24D4: 81
24D5: 04 55
24D7: 81
24D8: 04 50
24DA: 82
24DB: 04 4B
24DD: 85
24DE: 30 CD 02
24E1: 32 1C 01
24E4: 09 10
24E6: 0D 00
24E8: 85
24E9: 30 66 01
24EC: 04 50
24EE: 09 00
24F0: 85
24F1: 30 39 02
24F4: 04 5A
24F6: 85
24F7: 30 66 01
24FA: 04 6B
24FC: 09 10
24FE: 0D 00
2500: 85
2501: 00 DE
2503: 04 78
2505: 09 00
2507: 85
2508: 00 66
250A: 32 8E 00
250D: 04 5A
250F: 39 10 10
2512: 0D 00
2514: 85
2515: 30 39 02
2518: 39 00 00
251B: 85
251C: 30 66 01
251F: 39 10 10
2522: 0D 00
2524: 85
2525: 30 CD 02
2528: 32 1C 01
252B: 0A 00
252D: 85
252E: 30 66 01
2531: 04 8E
2533: 39 00 0F
2536: 85
2537: 30 39 02
253A: 04 78
253C: 85
253D: 30 66 01
2540: 04 6B
2542: 09 10
2544: 0D 00
2546: 85
2547: 00 DE
2549: 04 5A
254B: 09 00
254D: 85
254E: 00 66
2550: 04 78
2552: 0A 10
2554: 3C 12 00
2557: 85
2558: 30 39 02
255B: 32 EF 00
255E: 39 10 00
2561: 3C 09 00
2564: 81
2565: 30 66 01
2568: 04 5A
256A: 39 00 0F
256D: 81
256E: 04 55
2570: 81
2571: 04 50
2573: 82
2574: 04 4B
2576: 85
2577: 30 CD 02
257A: 32 1C 01
257D: 09 10
257F: 0D 00
2581: 85
2582: 30 66 01
2585: 04 50
2587: 09 00
2589: 85
258A: 30 39 02
258D: 04 5A
258F: 85
2590: 30 66 01
2592: 04 6B
2595: 09 10
2596: 0D 00
2599: 85
259A: 00 DE
259С: 04 5A
259E: 39 00 10
25A1: 3C 15 00
25A4: 85
25A5: 00 66
25A7: 32 3F 00
25AA: 09 10
25AС: 3C 08 00
25AF: 85
25B0: 30 39 02
25B3: 3C 10 00
25B6: 85
25B7: 30 66 01
25BA: 85
25BB: 30 19 02
25BE: 02 D5
25C0: 04 71
25C2: 39 10 0F
25C5: 3C 09 00
25C8: 85
25C9: 30 0C 01
25CB: 04 6B
25CE: 39 00 10
25D1: 0D 00
25D3: 85
25D4: 00 AA
25D6: 0A 00
25D8: 85
25D9: 00 0C
25DB: 02 D5
25DD: 04 71
25DF: 39 10 0F
25E2: 0D 00
25E4: 85
25E5: 00 66
25E7: 04 6B
25E9: 39 00 10
25EC: 0D 00
25EE: 85
25EF: 00 0C
25F1: 0A 00
25F3: 85
25F4: 00 AA
25F6: 02 B3
25F8: 04 71
25FA: 39 10 0F
25FD: 0D 00
25FF: 85
2600: 00 0C
2602: 04 6B
2604: 39 00 10
2607: 3C 10 00
260A: 85
260B: 30 19 02
260E: 02 D5
2610: 39 10 00
2613: 3C 09 00
2616: 85
2617: 30 0C 01
261A: 04 5A
261C: 39 00 0F
261F: 85
2620: 00 AA
2622: 04 50
2624: 85
2625: 00 0C
2627: 04 5A
2629: 09 10
262A: 0D 00
262D: 85
262E: 00 66
2630: 04 4B
2632: 09 00
2634: 85
2635: 00 0C
2637: 04 50
2639: 09 10
263B: 3C 08 00
263E: 85
263F: 00 AA
2641: 02 B3
2643: 04 5A
2645: 3C 09 00
2648: 85
2649: 00 0C
264B: 04 6B
264D: 09 00
264F: 85
2650: 30 CD 02
2653: 32 1C 01
2656: 04 7F
2658: 09 10
265A: 0D 00
265C: 85
265D: 30 66 01
2660: 04 78
2662: 39 00 10
2665: 0D 00
2667: 85
2668: 30 39 02
266B: 0A 00
266D: 85
266E: 30 66 01
2671: 04 7F
2673: 39 10 0F
2676: 0D 00
2678: 85
2679: 00 DE
267B: 04 78
267D: 39 00 10
2680: 0D 00
2682: 85
2683: 00 66
2685: 0A 00
2687: 85
2688: 30 39 02
268B: 32 EF 00
268E: 04 7F
2690: 39 10 0F
2693: 0D 00
2695: 85
2696: 30 66 01
2699: 04 78
269B: 39 00 10
269E: 0D 00
26A0: 85
26A1: 30 CD 02
26A4: 32 1C 01
26A7: 39 10 00
26AA: 0D 00
26AC: 85
26AD: 30 66 01
26B0: 04 5A
26B2: 39 00 0F
26B5: 85
26B6: 30 39 02
26B9: 04 78
26BB: 85
26BC: 30 66 01
26BF: 04 6B
26C1: 09 10
26C3: 0D 00
26C5: 85
26C6: 00 DE
26C8: 04 5A
26CA: 09 00
26CC: 85
26CD: 00 66
26CF: 04 78
26D1: 85
26D2: 30 39 02
26D5: 04 6B
26D7: 09 10
26D9: 0D 00
26DB: 85
26DC: 30 66 01
26DF: 04 5A
26E1: 09 00
26E3: 85
26E4: 30 7E 02
26E7: 32 86 00
26EA: 34 6B 00
26ED: 09 0D
26EF: 85
26F0: 30 3F 01
26F3: 02 A0
26F5: 04 86
26F7: 08 10
26F9: 3C 15 00
26FC: 85
26FD: 02 86
26FF: 04 6B
2701: 81
2702: 30 7E 02
2705: 08 0F
2707: 81
2708: 02 81
270A: 04 67
270C: 81
270D: 02 7C
270F: 04 63
2711: 82
2712: 02 78
2714: 04 5F
2716: 39 10 10
2719: 3C 03 00
271C: 85
271D: 00 39
271F: 39 00 00
2722: 85
2723: 30 1C 01
2726: 02 8E
2728: 04 78
272A: 39 0D 0F
272D: 85
272E: 30 39 02
2731: 85
2732: 30 1C 01
2735: 02 78
2737: 04 5F
2739: 85
273A: 30 19 02
273D: 02 6B
273F: 04 5A
2741: 85
2742: 30 0C 01
2745: 02 86
2747: 04 6B
2749: 08 10
274B: 3C 15 00
274E: 85
274F: 02 6B
2751: 04 5A
2753: 85
2754: 30 19 02
2757: 02 5F
2759: 04 50
275B: 38 0F 10
275E: 0B 10
2760: 3C 09 00
2763: 85
2764: 30 DE 01
2767: 39 00 00
276A: 85
276B: 30 EF 01
276E: 04 3C
2770: 39 10 10
2773: 3C 05 00
2776: 85
2777: 30 DE 01
277A: 3C 15 00
277D: 85
277E: 30 EF 00
2781: 85
2782: 30 7E 02
2785: 02 86
2787: 04 6B
2789: 39 0D 0F
278C: 85
278D: 30 3F 01
2790: 02 A0
2792: 04 86
2794: 08 10
2796: 3C 15 00
2799: 85
279A: 02 86
279C: 04 6B
279E: 81
279F: 30 7E 02
27A2: 08 0F
27A4: 81
27A5: 02 81
27A7: 04 67
27A9: 81
27AA: 02 7C
27AC: 04 63
27AE: 82
27AF: 02 78
27B1: 04 5F
27B3: 39 10 10
27B6: 3C 03 00
27B9: 85
27BA: 00 39
27BC: 39 00 00
27BF: 85
27C0: 30 1C 01
27C3: 02 8E
27C5: 04 78
27C7: 39 0D 0F
27CA: 85
27CB: 30 39 02
27CE: 85
27CF: 30 1C 01
27D2: 02 78
27D4: 04 5F
27D6: 85
27D7: 30 19 02
27DA: 02 6B
27DC: 04 5A
27DE: 85
27DF: 30 0C 01
27E2: 02 86
27E4: 06 6B
27E6: 85
27E7: 00 FB
27E9: 02 6B
27EB: 04 47
27ED: 85
27EE: 30 FD 01
27F1: 04 50
27F3: 39 10 10
27F6: 3C 09 00
27F9: 85
27FA: 30 DE 01
27FD: 39 00 00
2800: 85
2801: 30 19 02
2804: 02 5F
2806: 04 3C
2808: 39 10 10
280B: 3C 05 00
280E: 85
280F: 00 39
2811: 3C 15 00
2814: 85
2815: 00 7E
2817: 80

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2674
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
ты сделай чтоб не наиграть - а конвертануть.

Оффлайн vasin4725

  • Пользователь
  • Сообщений: 20
    • Просмотр профиля
А Interleave сильно влияет на изменение
и как его вбивать?

Оффлайн FireFox Фан

  • Пользователь
  • Сообщений: 1655
  • Пол: Мужской
  • Огнелис
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Как и чем мне извлечь музыку из игр серии "Марио и Соник на Олимпийских играх"?

Оффлайн Томахомэ

  • Пользователь
  • Сообщений: 951
  • Пол: Мужской
    • Просмотр профиля
ты сделай чтоб не наиграть - а конвертануть.

На этот случай есть Dyna Gear, где звуковым чипом служит сэмплер Ensoniq ES5506. Внизу приведена часть базы используемых в игре музыкальных сэмплов. Байты начального и конечного адресов кажого сэмпла следуют в обратном порядке, плюс ещё надо держать в голове, что перед подгрузкой в оперативную память у старшего (т. е. последнего в каждой группе по 4) байта адреса устанавливается 7-й бит (я так понимаю, сэмплы именно инструментов в роме для звукового чипа идут, начиная с $80000 - т. е. $40000000>>11). Обратите внимание, что стартовый адрес loop'а и загружаемое в аккумулятор ES5506 значение (первые 2 четырёхбайтья каждого сэмпла) всегда совпадают. И уже за ними последними следует конечный адрес. Остаток базы сэмплов инструментов будет добавлен позже, как и код особо полюбившейся мне в этой игре мелодии со второго уровня. Пока что лишь заранее поясню, что 16-битное байтсвэпнутов число -3 ($fdff) в кодах пузыкальных партий предваряет такой же байтсвэпнутый номер сэмпла из базы, а положительное (т. е. первый байт в котором меньше $80) - как правило, играет роль номера страницы (которую ни за что не следует путать с переключаемыми банками памяти - в случае с данным чипом значение у термина "страница" ну уж совсем своё) ES5506 на переключение.

BGM2:
F01B76: C4 1B F0 00
F01B7A: 40 20 F0 00
F01B7E: 5A 22 F0 00
F01B82: AE 22 F0 00
F01B86: 02 23 F0 00
F01B8A: D6 23 F0 00
F01B8E: DC 24 F0 00
F01B92: F2 24 F0 00
F01B96: 10 25 F0 00
F01B9A: 42 25 F0 00
F01B9E: 8E 25 F0 00
F01BC4: F6 FF 96 00
F01BC8: FD FF 4B 00
F01BCC: FC FF 0A 00
F01BD0: F5 FF 00 00
F01BD4: F5 FF 02 00
F01BD8: FD FF 4B 00
F01BDC: FC FF 14 00
F01BE0: 24 00 18 00
F01BE4: FC FF 0E 00
F01BE8: 24 00 18 00
F01BEC: 24 00 18 00
F01BF0: 24 00 18 00
F01BF4: 24 00 18 00
F01BF8: 24 00 18 00
F01BFC: 24 00 18 00
F01C00: 24 00 18 00
F01C04: FC FF 14 00
F01C08: 24 00 18 00
F01C0C: FC FF 0E 00
F01C10: 24 00 18 00
F01C14: 24 00 18 00
F01C18: 24 00 18 00
F01C1C: 24 00 18 00
F01C20: 24 00 18 00
F01C24: 24 00 18 00
F01C28: 24 00 18 00
F01C2C: FC FF 14 00
F01C30: 24 00 18 00
F01C34: FC FF 0E 00
F01C38: 24 00 18 00
F01C3C: 24 00 18 00
F01C40: 24 00 18 00
F01C44: 24 00 18 00
F01C48: 24 00 18 00
F01C4C: 24 00 18 00
F01C50: 24 00 18 00
F01C54: FC FF 14 00
F01C58: 24 00 18 00
F01C5C: FC FF 0E 00
F01C60: 24 00 18 00
F01C64: 24 00 18 00
F01C68: 24 00 18 00
F01C6C: 24 00 18 00
F01C70: 24 00 18 00
F01C74: 24 00 18 00
F01C78: 24 00 18 00
F01C7C: FD FF 4B 00
F01C80: FC FF 14 00
F01C84: 24 00 18 00
F01C88: FC FF 0E 00
F01C8C: 24 00 18 00
F01C90: 24 00 18 00
F01C94: 24 00 18 00
F01C98: 24 00 18 00
F01C9C: 24 00 18 00
F01CA0: 24 00 18 00
F01CA4: 24 00 18 00
F01CA8: FC FF 14 00
F01CAC: 24 00 18 00
F01CB0: FC FF 0E 00
F01CB4: 24 00 18 00
F01CB8: 24 00 18 00
F01CBC: 24 00 18 00
F01CC0: 24 00 18 00
F01CC4: 24 00 18 00
F01CC8: 24 00 18 00
F01CCC: 24 00 18 00
F01CD0: FC FF 14 00
F01CD4: 24 00 18 00
F01CD8: FC FF 0E 00
F01CDC: 24 00 18 00
F01CE0: 24 00 18 00
F01CE4: 24 00 18 00
F01CE8: 24 00 18 00
F01CEC: 24 00 18 00
F01CF0: 24 00 18 00
F01CF4: 24 00 18 00
F01CF8: FC FF 14 00
F01CFC: 24 00 18 00
F01D00: FC FF 0E 00
F01D04: 24 00 18 00                                                 in.w    R0, 0[R24]
F01D08: 24 00 18 00                                                 in.w    R0, 0[R24]
F01D0C: 24 00 18 00                                                 in.w    R0, 0[R24]
F01D10: 24 00 18 00                                                 in.w    R0, 0[R24]
F01D14: 24 00 18 00                                                 in.w    R0, 0[R24]
F01D18: FC FF 14 00
F01D1C: FD FF 4C 00                                        updpte  R0, 2300[F06A19[PC]]
F01D20: 23 00 30 00                                                          halt
F01D24: FD FF 4B 00
F01D28: FC FF 14 00                                                          halt
F01D2C: 24 00 18 00                                                 in.w    R0, 0[R24]
F01D30: FC FF 0E 00                                                          halt
F01D34: 24 00 18 00                                                 in.w    R0, 0[R24]
F01D38: 24 00 18 00                                                 in.w    R0, 0[R24]
F01D3C: 24 00 18 00                                                 in.w    R0, 0[R24]
F01D40: 24 00 18 00                                                 in.w    R0, 0[R24]
F01D44: 24 00 18 00                                                 in.w    R0, 0[R24]
F01D48: 24 00 18 00                                                 in.w    R0, 0[R24]
F01D4C: 24 00 18 00                                                 in.w    R0, 0[R24]
F01D50: FC FF                                                       sttask  !ERRAM5
F01D52: 14 00 24 00 18                                              updpte  R0, 1800[R4]
F01D57: 00                                                          halt
F01D58: FC FF                                                       sttask  !ERRAM5
F01D5A: 0E                                                          $00
F01D5B: 00                                                          halt
F01D5C: 24 00 18 00                                                 in.w    R0, 0[R24]
F01D60: 24 00 18 00                                                 in.w    R0, 0[R24]
F01D64: 24 00 18 00                                                 in.w    R0, 0[R24]
F01D68: 24 00 18 00                                                 in.w    R0, 0[R24]
F01D6C: 24 00 18 00                                                 in.w    R0, 0[R24]
F01D70: 24 00 18 00                                                 in.w    R0, 0[R24]
F01D74: 24 00 18 00                                                 in.w    R0, 0[R24]
F01D78: FC FF                                                       sttask  !ERRAM5
F01D7A: 14 00 24 00 18                                              updpte  R0, 1800[R4]
F01D7F: 00                                                          halt
F01D80: FC FF                                                       sttask  !ERRAM5
F01D82: 0E                                                          $00
F01D83: 00                                                          halt
F01D84: 24 00 18 00                                                 in.w    R0, 0[R24]
F01D88: 24 00 18 00                                                 in.w    R0, 0[R24]
F01D8C: 24 00 18 00                                                 in.w    R0, 0[R24]
F01D90: 24 00 18 00                                                 in.w    R0, 0[R24]
F01D94: 24 00 18 00                                                 in.w    R0, 0[R24]
F01D98: 24 00 18 00                                                 in.w    R0, 0[R24]
F01D9C: 24 00 18 00                                                 in.w    R0, 0[R24]
F01DA0: FC FF                                                       sttask  !ERRAM5
F01DA2: 14 00 24 00 18                                              updpte  R0, 1800[R4]
F01DA7: 00                                                          halt
F01DA8: FC FF                                                       sttask  !ERRAM5
F01DAA: 0E                                                          $00
F01DAB: 00                                                          halt
F01DAC: 24 00 18 00                                                 in.w    R0, 0[R24]
F01DB0: 24 00 18 00                                                 in.w    R0, 0[R24]
F01DB4: 24 00 18 00                                                 in.w    R0, 0[R24]
F01DB8: 24 00 18 00                                                 in.w    R0, 0[R24]
F01DBC: 24 00 18 00                                                 in.w    R0, 0[R24]
F01DC0: 24 00 18 00                                                 in.w    R0, 0[R24]
F01DC4: 24 00 18 00                                                 in.w    R0, 0[R24]
F01DC8: FD FF 4B 00
F01DCC: FC FF 14 00                                                          halt
F01DD0: 24 00 18 00                                                 in.w    R0, 0[R24]
F01DD4: FC FF 0E 00                                                          halt
F01DD8: 24 00 18 00                                                 in.w    R0, 0[R24]
F01DDC: 24 00 18 00                                                 in.w    R0, 0[R24]
F01DE0: 24 00 18 00                                                 in.w    R0, 0[R24]
F01DE4: 24 00 18 00                                                 in.w    R0, 0[R24]
F01DE8: 24 00 18 00                                                 in.w    R0, 0[R24]
F01DEC: 24 00 18 00                                                 in.w    R0, 0[R24]
F01DF0: 24 00 18 00                                                 in.w    R0, 0[R24]
F01DF4: FC FF                                                       sttask  !ERRAM5
F01DF6: 14 00 24 00 18                                              updpte  R0, 1800[R4]
F01DFB: 00                                                          halt
F01DFC: FC FF                                                       sttask  !ERRAM5
F01DFE: 0E                                                          $00
F01DFF: 00                                                          halt
F01E00: 24 00 18 00                                                 in.w    R0, 0[R24]
F01E04: 24 00 18 00                                                 in.w    R0, 0[R24]
F01E08: 24 00 18 00                                                 in.w    R0, 0[R24]
F01E0C: 24 00 18 00                                                 in.w    R0, 0[R24]
F01E10: 24 00 18 00                                                 in.w    R0, 0[R24]
F01E14: 24 00 18 00                                                 in.w    R0, 0[R24]
F01E18: 24 00 18 00                                                 in.w    R0, 0[R24]
F01E1C: FC FF                                                       sttask  !ERRAM5
F01E1E: 14 00 24 00 18                                              updpte  R0, 1800[R4]
F01E23: 00                                                          halt
F01E24: FC FF                                                       sttask  !ERRAM5
F01E26: 0E                                                          $00
F01E27: 00                                                          halt
F01E28: 24 00 18 00                                                 in.w    R0, 0[R24]
F01E2C: 24 00 18 00                                                 in.w    R0, 0[R24]
F01E30: 24 00 18 00                                                 in.w    R0, 0[R24]
F01E34: 24 00 18 00                                                 in.w    R0, 0[R24]
F01E38: 24 00 18 00                                                 in.w    R0, 0[R24]
F01E3C: 24 00 18 00                                                 in.w    R0, 0[R24]
F01E40: 24 00 18 00                                                 in.w    R0, 0[R24]
F01E44: FC FF                                                       sttask  !ERRAM5
F01E46: 14 00 24 00 18                                              updpte  R0, 1800[R4]
F01E4B: 00                                                          halt
F01E4C: FC FF                                                       sttask  !ERRAM5
F01E4E: 0E                                                          $00
F01E4F: 00                                                          halt
F01E50: 24 00 18 00                                                 in.w    R0, 0[R24]
F01E54: FC FF 14 00
F01E58: FD FF 4C 00                                        updpte  R0, 2300[F06B55[PC]]
F01E5C: 23 00 30 00                                                          halt
F01E60: FC FF 0E 00                                                          halt
F01E64: FD FF 4B 00
F01E68: 24 00 18 00                                                          halt
F01E6C: 24 00 18 00                                                 in.w    R0, 0[R24]
F01E70: FC FF 14 00
F01E74: FD FF 4C 00                                        updpte  R0, 2300[F06B71[PC]]
F01E78: 23 00 30 00                                                          halt
F01E7C: F4 FF                                                       test.w  !ERRAM5
F01E7E: F5 FF                                                       test.w  !ERRAM1
F01E80: 02 00 FD FF 4B 00 FC                                        stpr    R0, -400[F06A7F[PC]]
F01E87: FF 14 00 24                                                 clrtlb  24[0[R20]]
F01E8B: 00                                                          halt
F01E8C: 18                                                          $00
F01E8D: 00                                                          halt
F01E8E: FC FF                                                       sttask  !ERRAM5
F01E90: 0E                                                          $00
F01E91: 00                                                          halt
F01E92: 24 00 18 00                                                 in.w    R0, 0[R24]
F01E96: 24 00 18 00                                                 in.w    R0, 0[R24]
F01E9A: 24 00 18 00                                                 in.w    R0, 0[R24]
F01E9E: 24 00 18 00                                                 in.w    R0, 0[R24]
F01EA2: 24 00 18 00                                                 in.w    R0, 0[R24]
F01EA6: 24 00 18 00                                                 in.w    R0, 0[R24]
F01EAA: 24 00 18 00                                                 in.w    R0, 0[R24]
F01EAE: FC FF                                                       sttask  !ERRAM5
F01EB0: 14 00 24 00 18                                              updpte  R0, 1800[R4]
F01EB5: 00                                                          halt
F01EB6: FC FF                                                       sttask  !ERRAM5
F01EB8: 0E                                                          $00
F01EB9: 00                                                          halt
F01EBA: 24 00 18 00                                                 in.w    R0, 0[R24]
F01EBE: 24 00 18 00                                                 in.w    R0, 0[R24]
F01EC2: 24 00 18 00                                                 in.w    R0, 0[R24]
F01EC6: 24 00 18 00                                                 in.w    R0, 0[R24]
F01ECA: 24 00 18 00                                                 in.w    R0, 0[R24]
F01ECE: 24 00 18 00                                                 in.w    R0, 0[R24]
F01ED2: 24 00 18 00                                                 in.w    R0, 0[R24]
F01ED6: FC FF                                                       sttask  !ERRAM5
F01ED8: 14 00 24 00 18                                              updpte  R0, 1800[R4]
F01EDD: 00                                                          halt
F01EDE: FC FF                                                       sttask  !ERRAM5
F01EE0: 0E                                                          $00
F01EE1: 00                                                          halt
F01EE2: 24 00 18 00                                                 in.w    R0, 0[R24]
F01EE6: 24 00 18 00                                                 in.w    R0, 0[R24]
F01EEA: 24 00 18 00                                                 in.w    R0, 0[R24]
F01EEE: 24 00 18 00                                                 in.w    R0, 0[R24]
F01EF2: 24 00 18 00                                                 in.w    R0, 0[R24]
F01EF6: 24 00 18 00                                                 in.w    R0, 0[R24]
F01EFA: 24 00 18 00                                                 in.w    R0, 0[R24]
F01EFE: FC FF                                                       sttask  !ERRAM5
F01F00: 14 00 24 00 18                                              updpte  R0, 1800[R4]
F01F05: 00                                                          halt
F01F06: FC FF                                                       sttask  !ERRAM5
F01F08: 0E                                                          $00
F01F09: 00                                                          halt
F01F0A: 24 00 18 00                                                 in.w    R0, 0[R24]
F01F0E: 24 00 18 00                                                 in.w    R0, 0[R24]
F01F12: 24 00 18 00                                                 in.w    R0, 0[R24]
F01F16: 24 00 18 00                                                 in.w    R0, 0[R24]
F01F1A: 24 00 18 00                                                 in.w    R0, 0[R24]
F01F1E: FC FF                                                       sttask  !ERRAM5
F01F20: 14 00 FD FF 4C 00 23                                        updpte  R0, 2300[F06C1F[PC]]
F01F27: 00                                                          halt
F01F28: 30                                                          $00
F01F29: 00                                                          halt
F01F2A: F4 FF                                                       test.w  !ERRAM5
F01F2C: F5 FF                                                       test.w  !ERRAM1
F01F2E: 02 00 FD FF 4B 00 FC                                        stpr    R0, -400[F06B2D[PC]]
F01F35: FF 14 00 24                                                 clrtlb  24[0[R20]]
F01F39: 00                                                          halt
F01F3A: 18                                                          $00
F01F3B: 00                                                          halt
F01F3C: FC FF                                                       sttask  !ERRAM5
F01F3E: 0E                                                          $00
F01F3F: 00                                                          halt
F01F40: 24 00 18 00                                                 in.w    R0, 0[R24]
F01F44: 24 00 18 00                                                 in.w    R0, 0[R24]
F01F48: 24 00 18 00                                                 in.w    R0, 0[R24]
F01F4C: 24 00 18 00                                                 in.w    R0, 0[R24]
F01F50: 24 00 18 00                                                 in.w    R0, 0[R24]
F01F54: 24 00 18 00                                                 in.w    R0, 0[R24]
F01F58: 24 00 18 00                                                 in.w    R0, 0[R24]
F01F5C: FC FF                                                       sttask  !ERRAM5
F01F5E: 14 00 24 00 18                                              updpte  R0, 1800[R4]
F01F63: 00                                                          halt
F01F64: FC FF                                                       sttask  !ERRAM5
F01F66: 0E                                                          $00
F01F67: 00                                                          halt
F01F68: 24 00 18 00                                                 in.w    R0, 0[R24]
F01F6C: 24 00 18 00                                                 in.w    R0, 0[R24]
F01F70: 24 00 18 00                                                 in.w    R0, 0[R24]
F01F74: 24 00 18 00                                                 in.w    R0, 0[R24]
F01F78: 24 00 18 00                                                 in.w    R0, 0[R24]
F01F7C: FC FF                                                       sttask  !ERRAM5
F01F7E: 14 00 FD FF 4C 00 23                                        updpte  R0, 2300[F06C7D[PC]]
F01F85: 00                                                          halt
F01F86: 30                                                          $00
F01F87: 00                                                          halt
F01F88: F4 FF                                                       test.w  !ERRAM5
F01F8A: FD FF                                                       sttask  !ERRAM1
F01F8C: 4B 00 FC FF 14                                              chlvl   R0, 14[F01F8B[PC]]
F01F91: 00                                                          halt
F01F92: 24 00 18 00                                                 in.w    R0, 0[R24]
F01F96: FC FF                                                       sttask  !ERRAM5
F01F98: 0E                                                          $00
F01F99: 00                                                          halt
F01F9A: 24 00 18 00                                                 in.w    R0, 0[R24]
F01F9E: 24 00 18 00                                                 in.w    R0, 0[R24]
F01FA2: 24 00 18 00                                                 in.w    R0, 0[R24]
F01FA6: 24 00 18 00                                                 in.w    R0, 0[R24]
F01FAA: 24 00 18 00                                                 in.w    R0, 0[R24]
F01FAE: 24 00 18 00                                                 in.w    R0, 0[R24]
F01FB2: 24 00 18 00                                                 in.w    R0, 0[R24]
F01FB6: FC FF                                                       sttask  !ERRAM5
F01FB8: 14 00 24 00 18                                              updpte  R0, 1800[R4]
F01FBD: 00                                                          halt
F01FBE: FC FF                                                       sttask  !ERRAM5
F01FC0: 0E                                                          $00
F01FC1: 00                                                          halt
F01FC2: 24 00 18 00                                                 in.w    R0, 0[R24]
F01FC6: 24 00 18 00                                                 in.w    R0, 0[R24]
F01FCA: 24 00 18 00                                                 in.w    R0, 0[R24]
F01FCE: 24 00 18 00                                                 in.w    R0, 0[R24]
F01FD2: 24 00 18 00                                                 in.w    R0, 0[R24]
F01FD6: 24 00 18 00                                                 in.w    R0, 0[R24]
F01FDA: 24 00 18 00                                                 in.w    R0, 0[R24]
F01FDE: FC FF                                                       sttask  !ERRAM5
F01FE0: 14 00 24 00 18                                              updpte  R0, 1800[R4]
F01FE5: 00                                                          halt
F01FE6: FC FF 0E 00
F01FEA: 24 00 18 00
F01FEE: 24 00 18 00
F01FF2: 24 00 18 00
F01FF6: 24 00 18 00
F01FFA: 24 00 18 00
F01FFE: 24 00 18 00
F02002: 24 00 18 00
F02006: FC FF 14 00
F02008: 24 00 18 00
F0200E: FC FF 0E 00
F02012: 24 00 18 00
F02016: FC FF 14 00
F02018: FD FF 4C 00
F0201F: 23 00 30 00
F02022: FC FF 0E 00
F02026: FD FF 4B 00
F02028: 24 00 18 00
F0202E: 24 00 18 00
F02032: FC FF 14 00
F02034: FD FF 4C 00
F0203B: 23 00 30 00
F0203E: F4 FF
InstrumentalSamples:
F00C03: 00 00 00 00
F00C07: 00 00 00 00
F00C0B: 00 00 00 00 ; sample #0
F00C0F: 00 00 00 00
F00C13: 00 00 00 00
F00C17: 00 80 B4 00 ; sample #1
F00C1B: 00 90 B4 00
F00C1F: 00 90 B4 00
F00C23: 00 00 4B 01 ; sample #2
F00C27: 00 10 4B 01
F00C2B: 00 10 4B 01
F00C2F: 00 B0 93 04 ; sample #3
F00C33: 00 C0 93 04
F00C37: 00 C0 93 04
F00C3B: 00 40 91 07 ; sample #4
F00C3F: 00 50 91 07
F00C43: 00 50 91 07
F00C47: 00 A0 52 0C ; sample #5
F00C4B: 00 B0 52 0C
F00C4F: 00 B0 52 0C
F00C53: 00 60 04 10 ; sample #6
F00C57: 00 70 04 10
F00C5B: 00 70 04 10
F00C5F: 00 C0 B1 14 ; sample #7
F00C63: 00 D0 B1 14
F00C67: 00 D0 B1 14
F00C6B: 00 C0 0A 19 ; sample #8
F00C6F: 00 D0 0A 19
F00C73: 00 D0 0A 19
F00C77: 00 60 0F 1A ; sample #9
F00C7B: 00 70 0F 1A
F00C7F: 00 70 0F 1A
F00C83: 00 30 13 1A ; sample #$a
F00C87: 00 40 13 1A
F00C8B: 00 40 13 1A
F00C8F: 00 A0 61 1A ; sample #$b
F00C93: 00 B0 61 1A
F00C97: 00 B0 61 1A
F00C9B: 00 B0 8F 1E ; sample #$c

Вот как раз ориентируясь на эти адреса, и узнаёшь, какие участки выцарапывать из ромов для ES5506, и, если знаешь как, то конвертировать в понятные современным операционкам форматы.

P. S.:
« Последнее редактирование: 17 Ноябрь 2024, 07:31:09 от Томахомэ »

Оффлайн FireFox Фан

  • Пользователь
  • Сообщений: 1655
  • Пол: Мужской
  • Огнелис
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Доброго времени суток!

ВДРУГ КОМУ-ТО ПРИГОДИТСЯ?

Скачал я Mario & Sonic at Bejing Olympic (Japan) + Mario & Sonic at Vancouver Olympic (Japan) (Rev 1) + Mario & Sonic at London Olympic (Japan) и извлёк следующую структуру аудио:

1. Mario & Sonic at Bejing Olympic (Japan) имеет в папке stream формат brstm. Об этом формате находил информацию в интернете, что он возможен в играх.

2. Mario & Sonic at Vancouver Olympic (Japan) (Rev 1) имеет аудио в папке Sound. В ней есть папки BGM + STAFFROLL + VOICE. В папках BGM и VOICE находится формат aax + в папке STAFFROLL находится форматы aax и sfd.

3. Mario & Sonic at London Olympic (Japan) не сразу нашёл, что аудио может быть в папке hugeData. В этой папке находятся папки adx с соответствующим форматом + папка audio с форматом csb + в самой папке hugeData находятся форматы afs и alg.

Конвертировать поможет VLC Media Player.
« Последнее редактирование: 14 Ноябрь 2024, 21:42:43 от FireFox Фан »

Оффлайн Томахомэ

  • Пользователь
  • Сообщений: 951
  • Пол: Мужской
    • Просмотр профиля
Из "чего попроще" есть Joe & Mac Returns, где весь звук - цифровой, воспроизводимый через два простых как палка, и за то, надо полагать, и любимых в своё время производителями игровых автоматов, Oki M6295 (которые в железе данной игры к тому же разделены для собственно музыки и для звуковых эффектов), и тащит управление им на себе единственный CPU. Структура музыки в игре также проста до безобразия - большинство треков, за исключением Boss,  Ending и ExtraStage, состоит из одного (удивительно, кстати, как при такой длине сэмпла Data East удалось ещё и соблюсти качество звучания), максимум - двух сэмплов, на последнем из которых мелодия и зацикливается. Младший байт каждого машинного слова ARM в нижнем из процитированных кусков кода - номер собственно сэмпла, второй - номер банка внутри рома okimusic, к которому этот сэмпл принадлежит, а самый старший нибл - громкость 1-го канала музыкального чипа. Третий байт может служить счётчиком сэмплов внутри одной мелодии, но этого я уже не проверял.
000491C: 0000495C ; Jungle1
0004920: 00004960 ; Glacier
0004924: 00004968 ; Ocean
0004928: 00004970 ; Volcano
000492C: 00004978 ; Jungle2
0004930: 00004980 ; Graveyard
0004934: 00004984
0004938: 00004988 ; Boss
000493C: 000049B8 ; Fanfare
0004940: 000049BC
0004944: 000049C0 ; Ending
0004948: 000049F8
000494C: 00004A00 ; ExtraStage
0004950: 00004A18 ; WorldMap
Jungle1:
000495C: 21000200

Glacier:
0004960: 21010500
0004964: 21010501

Ocean:
0004968: 21010301
000496C: 21010300

Volcano:
0004970: 21010600
0004974: 21010601

Jungle2:
0004978: 11010400
000497C: 11010401

Graveyard:
0004980: 11000000

Boss:
0004988: 01010100
000498C: 01020100
0004990: 01030101
0004994: 01040101
0004998: 01050102
000499C: 01060102
00049A0: 01070103
00049A4: 01080103
00049A8: 01090102
00049AC: 010A0102
00049B0: 010B0103
00049B4: 01020103

Fanfare:
00049B8: 20000104

Ending:
00049C0: 11010700
00049C4: 11020700
00049C8: 11030701
00049CC: 11040701
00049D0: 11050702
00049D4: 11060702
00049D8: 11070703
00049DC: 11080703
00049E0: 11090702
00049E4: 110A0702
00049E8: 110B0703
00049EC: 110C0703
00049F0: 110D0704
00049F4: 10000704

ExtraStage:
0004A00: 11010705
0004A04: 11020706
0004A08: 11030705
0004A0C: 11040706
0004A10: 11050705
0004A14: 11000706

WorldMap:
0004A18: 21000302

С инструментарием же для конвертации Oki ADPCM дело уже сложнее, хоть и проще, чем с другими чипами. tROMbone, например, во первых, давно устарел, а во вторых, конвертирует ром для Oki целиком, ему невозможно указать, какой именно сэмпл тебе нужен - как и рабочую частоту чипа в оригинальной игре, из-за чего скорость проигрывания в полученном VAW получается жутко искажена. Из более современных есть Williams OKI editor, но с ним не ясно, способен ли он работать с играми за пределами Midway'евских.

Оффлайн Томахомэ

  • Пользователь
  • Сообщений: 951
  • Пол: Мужской
    • Просмотр профиля
Впрочем, для риппинга звука для Oki M6295 сгодится и старая добрая Audacity - сначала вырезаешь нужный тебе сэмпл из рома с помощью HEX-редактора, затем импортируешь полученный огрызок рома как RAW-данные, затем в открывшемся окне выбираешь кодирование VOX ADPCM и устанавливаешь частоту дискретизации, высчитанную из рабочей частоты Oki в той конкретной игре, из которой собираешься извлечь звук. Вот что мне в порядке эксперимента удалось таким образом получить из нескольких корейских пираток.

Оффлайн e2e41

  • Пользователь
  • Сообщений: 91
    • Просмотр профиля
Stupid Invaders
видеоролики в формате Xilam DERF video
хотелось бы извлечь из них аудио

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5605
    • Просмотр профиля
Xilam DERF video
хотелось бы извлечь из них аудио
ffmpeg поддерживает только DERF аудио, если правильно понял. В видео оно такое же. На основе этого https://wiki.multimedia.cx/index.php/Xilam_DERF, нашёл CS (байты 43 53) в начале, размер с заголовком указан 8C 9E 00 00, поэтому я сделал новый файл, в начале 44 45 52 46 (DERF), потом 02 00 00 00 для стерео, размер 7C 9E 00 00 (это размер блока CS без 0x10 байт) и дальше 0x9E7C байт данных, которые скопировал после CS заголовка (начало CS + 0x10). Для ffmpeg можно не указывать размер (нули), он всё равно до конца файла декодирует аудио. Потом, например:
ffmpeg -i e32v02c05.vds e32v02c05.wavМожно легко написать Python скрипт для автоматизации или найти готовую программу. Приложил отредактированный файл и WAV.

Оффлайн e2e41

  • Пользователь
  • Сообщений: 91
    • Просмотр профиля
беда в том что этих блоков не один не два а 1-1,5к в отдельном файле, они могут чередоваться с блоками видео и меняется их размер
скрипт написать для меня проблематично, по сути нужно найти все блоки и извлечь без заголовков в общий raw, мне даже тяжело найти что то похожее для переделки под свои нужды не говоря о том чтобы написать скрипт с нуля.
« Последнее редактирование: 30 Январь 2025, 05:44:11 от e2e41 »

Оффлайн omeie

  • Пользователь
  • Сообщений: 1
    • Просмотр профиля
беда в том что этих блоков не один не два а 1-1,5к в отдельном файле, они могут чередоваться с блоками видео и меняется их размер
скрипт написать для меня проблематично, по сути нужно найти все блоки и извлечь без заголовков в общий raw, мне даже тяжело найти что то похожее для переделки под свои нужды не говоря о том чтобы написать скрипт с нуля.

скрипт извлечения звука из видео vds
vds2adp.bms
# Xilam DERF extract audio from video
# script for QuickBMS http://quickbms.aluigi.org

idstring "DERF"
get FileSize asize
get DataSize long
get Chunks short
get Width short
get height short
getDString Unk 22

log MEMORY_FILE 0 0
putDString "DERF" 4 MEMORY_FILE
put 2 long MEMORY_FILE // Channels
put 0 long MEMORY_FILE // Size

log MEMORY_FILE2 0 0
putDString "DERF" 4 MEMORY_FILE2
put 1 long MEMORY_FILE2 // Channels
put 0 long MEMORY_FILE2 // Size
for
savepos ChunkOffset
if ChunkOffset >= FileSize
break
endif
getDString ChunkID 2
get Unk1 short
get ChunkSize long
goto ChunkOffset
getDString Chunk ChunkSize
math ChunkOffset + 16
math ChunkSize - 16
if ChunkID = "CS"
set Stereo 1
append
log MEMORY_FILE ChunkOffset ChunkSize
append
elif ChunkID = "CM"
set Mono 1
append
log MEMORY_FILE2 ChunkOffset ChunkSize
append
endif
next

if Stereo = 1
get MFSize asize MEMORY_FILE
xmath AudioDataSize "MFSize - 12"
PutVarChr MEMORY_FILE 8 AudioDataSize long
get Name basename
string Name + "_s.adp"
log Name 0 MFSize MEMORY_FILE
endif

if Mono = 1
get MFSize asize MEMORY_FILE2
xmath AudioDataSize "MFSize - 12"
PutVarChr MEMORY_FILE2 8 AudioDataSize long
get Name basename
string Name + "_m.adp"
log Name 0 MFSize MEMORY_FILE2
endif

конвертировать adp звук в wav может vgmstream

Оффлайн e2e41

  • Пользователь
  • Сообщений: 91
    • Просмотр профиля
благодарю за помощь
теперь возник вопрос чем и как конвертить *.wav в *.adp(Xilam DERF 8-bit DPCM)
« Последнее редактирование: 03 Март 2025, 22:31:09 от e2e41 »

Оффлайн FireFox Фан

  • Пользователь
  • Сообщений: 1655
  • Пол: Мужской
  • Огнелис
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Доброго времени суток!

Подобной темы нет... Поэтому пишу сюда

Кто может извлечь музыку из хака The Misfortunes of Little Denise?

Оффлайн Томахомэ

  • Пользователь
  • Сообщений: 951
  • Пол: Мужской
    • Просмотр профиля
Извлёк 2, на мой взгляд, самых лучших трека (остальные - просто, как говорится, ни уму ни сердцу) из Gaia: The Last Choice of Earth - пойдут на музыкальное сопровождение для парочки псевдотрёхмерных трасс (переделанных из финальных уровней Solite Spirits) в гладиаторских гонках по мотивам "Войны на Венере".

Затестить на слух можно, опять же, с помощью Audacity - кодек выбирать VOX ADPCM, частоту дискретизации - 6061 Гц.

Доброго времени суток!

Подобной темы нет... Поэтому пишу сюда

Кто может извлечь музыку из хака The Misfortunes of Little Denise?

Предложение платное?

Оффлайн Томахомэ

  • Пользователь
  • Сообщений: 951
  • Пол: Мужской
    • Просмотр профиля
Набросал я тут тестовый конвертер для Namco C140. Вот - тестовый ром под Namco System 2 с образцом звука (Запускать в MAME строго через командную строку для обхода проверки чексумм!). А вот - весь прошедший конверсию звук из игры Arbalester в одном файле.
Как будем убирать это навязчивое шипение (конкретно в фокусе - функция x1_010)?

Оффлайн Leomakc777

  • Пользователь
  • Сообщений: 37
    • Просмотр профиля
Добрый день-помогите пожалуйста раскодировать или в какой формат сконвертировать видео файл с образа игры с расширением STR-ситуация вот какая.

Извлекаю str видео файл с образа игры с помощью jpsxdec_v2.0 и получаю вот такую картинку-(см. вложение).

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

В самой программе psxdec_v2.0- в место видео-черный экран-только звук есть- когда я файл str конвертировал в mp4-получается на выходе черный экран и играет музыка.

Честно скажу-уже не знаю как еще просмотреть видео.

P.S Конвертировал с помощью SUPER v2022.Build.80+3D+Recorder (December 12.2022) by eRightsoft.

Образ  PSX игры  Клуб Солярис - Мисс Лето и не только этот образ.

Файл называется Pomoika.str.

Надеюсь на вашу помощь.

Оффлайн SegaMark

  • Пользователь
  • Сообщений: 56
  • Пол: Мужской
    • Просмотр профиля
У меня бывало такое. Насколько я понял на это есть несколько причин: видео зашифровано, неправильно определяется начало и конец файла, либо это не совсем STR файл(например другой кодек). То есть надо для начала убедиться что это STR-файл.
Вообще зная игры EXE soft не удивлюсь что это лишний файл и нигде в игре он не используется.

Оффлайн Leomakc777

  • Пользователь
  • Сообщений: 37
    • Просмотр профиля
Вот,что определяет SUPER ( см. Вложение)

А вот что определяет digital video repair-когда я меняю расширение на avi  и так же после того,  как вылечивает файл.

Ну и Наконец-скрин с mpc.

Этот скрин-если по отдельности файлы выдергиваешь-но музыка играет.

Переконвертировал в MP4-черный экран и музыка играет.

« Последнее редактирование: 04 Июль 2025, 06:29:01 от Leomakc777 »

Оффлайн SegaMark

  • Пользователь
  • Сообщений: 56
  • Пол: Мужской
    • Просмотр профиля
А как у тебя получилось что файл весит столько же как сама игра, а то и больше?
или это единственный файл во всем образе?

Оффлайн Leomakc777

  • Пользователь
  • Сообщений: 37
    • Просмотр профиля
Вот так выглядит структура образа в jpsxdec_v2.0.

Что показывает если по одиночке выдираешь файлы я писал в предыдущем посте.

На всякий случай прикрепляю еще один скрин.

Оффлайн SegaMark

  • Пользователь
  • Сообщений: 56
  • Пол: Мужской
    • Просмотр профиля
Да действительно, я сам попробовал, так и есть. Как будто образ зашифрован и на самом деле там больше данных содержится. Хотя странно, данные игры не выделяются высоким искусством программирования.
Думаю в первую очередь надо все таки убедиться содержатся ли str-файлы в POMOIKA.STR в сыром виде, то есть поискать str-заголовки. Я уже точно не помню какой заголовок у str поэтому сейчас не подскажу

Оффлайн Leomakc777

  • Пользователь
  • Сообщений: 37
    • Просмотр профиля
А как искать заголовок-я просто первый раз с таким столкнулся? через какую прогу?

В принципе в  digital video repair при восстановление файла-тоже самое пишет-не хватает заголовков-как аудио, так и видео.

Самое интересное в Рандеву во второй части-таких проблем нет-все извлекается в jpsxdec_v2.0 и показывается,а вот в первой-такая же фигня происходит-я проверял.

Странно это все.
« Последнее редактирование: 04 Июль 2025, 10:33:48 от Leomakc777 »