Игры с adlib музыкой
#1
Отправлено 16 June 2010 - 12:02
Есть несколько игр с adlib музыкой:
ALONE IN THE DARK
ALONE IN THE DARK 2
ARKANOID: REVENGE OF DOH
DEATHBRINGER
DOUBLE DRAGON 3: THE ROSETTA STONE
GOBLIINS 2: THE PRINCE BUFFOON
GOBLINS 3
OLMANG JOLMANG PARADISE
STREET FIGHTER II IBM
SUPER FIGHTER
TETRIS CLASSIC
DUNE II
Пробовал adplug - winamp вылетает(5.572).
Для начала - музыка из первой Alone in the Dark(ADLM заголовок, первые четыре байта):
http://www.megaupload.com/?d=NZSDY4TR
#2
Отправлено 19 June 2010 - 12:40
Я для записи AdLib музыки из игр пользуюсь DOSBox-ом версии 0.70, записываю в формат DRO. А уже из этого формата конвертирую в MIDI с помощью утилиты DRO2MIDI. В последней версии DOSBox формат DRO поменялся на новый, и он не конвертируется, поэтому пользуюсь 0.70.
Также очень полезно бывает посмотреть память процесса DOSBox во время того, когда в нём играет нужная музыка. Вот например в игре DUNE II из памяти DOSBox-а можно извлечь XMI (XMIDI) файлы во время их воспроизведения в игре.
#3
Отправлено 19 June 2010 - 15:02
Получается нужно делать программу-декодер. Однако программить не умею, да и руки несколько кривы для этого. А в наших краях(читай в этой стране) заниматься трудоёмкой работой(и, может быть, со знаниями) готовы либо очень упёртые люди, либо за деньги.
В Dune II проблема в том, что файлы, отвечающие за музыку, представляют собой архивы, внутри которых и содержится музыка. Но все, кроме ADlib, спокойно берутся Awave Studio и конвертируются.
С X-COM 1,2 все по-моему еще хуже:
Мне удалось найти распаковщик .CAT файлов, но в файлах нет ничего - ни заголовка, ни чего бы то нибыло. Только сама музыка.
На счет DOSBOX`а спасибо за инфу. Это пожалуй самый быстрый способ. Только скинь инструкцию, как все это сделать.
Вопросы:
DOSBOX дампит музыку или записывает её по ходу игры?
Хотел еще что-то спросить, но забыл.
#4
Отправлено 19 June 2010 - 16:11
1. Качаем DOSBox 0.70 Win32 Installer.
http://sourceforge.n...er.exe/download
2. Качаем DRO2MIDI.
http://www.shikadi.n...i-1.5-win32.zip
3. Устанавливаем DOSBox и запускаем в нём настроенную на AdLib игру. Подробная инструкция по эксплуатации DOSBox-а есть на его официальном сайте и прилагается с программой.
4. Чтобы записать OPL AdLib команды, во время их воспроизведения в DOSBox-е нажимаем сочетание клавиш Ctrl+Alt+F7.
5. Также сочетания клавиш можно настроить в Mapper-е DOSBox-а через Ctrl+F1.
6. По окончанию записи OPL AdLib команд снова нажимаем заданное сочетание клавиш.
7. Теперь у нас в папке по умолчанию DOSBox-0.70\capture есть файл .dro, который можно воспроизвести в AdPlay/AdPlug или сконвертировать с помощью DRO2MIDI.
8. Чтобы сконвертировать DRO в MIDI файл, в командной строке пишем:
Код |
DRO2MIDI.EXE input.dro output.mid |
9. Если вызвать DRO2MIDI без параметров, то он выдаст справку.
Вот собственно и всё.
#5
Отправлено 19 June 2010 - 16:23
Цитата |
Вопросы: DOSBOX дампит музыку или записывает её по ходу игры? |
Записывает по ходу игры, если включить запись.
#6
Отправлено 19 June 2010 - 16:31
Кстати, у Dune II и Alone in the Dark заголовок для AdLib музыки одинаков (ADLM, первые четыре байта). Возможно музыка Alone in the Dark, кроме вероятной специфичности формата, еще и пожата(так сказать двойная запаковка: сначала закомпресили либо LZ, либо еще как, а потом ужали еще в .PAK).
А Adlib музыку можно просмотреть в памяти DOSBOX`а?
#7
Отправлено 19 June 2010 - 19:26
#8
Отправлено 20 June 2010 - 08:08
Идея Первая: заюзать IDA Pro.
Если формат специфический, то должна быть функция декодинга. Если она есть, то можно попробовать написать декодер, который будет декодировать в:
1)Стандартный Adlib формат.
2)DRO формат DOSBOX 0.70.
3)в MIDI.
4)в WAV(меня всегда в трекерных форматах смущает то, что звучание может менятся не только от звуковухи к звуковухе, но и от формата к формату).
Идея Вторая: убрать\удалить "лишние" байты.
То есть записать DRO\RAW файл, перенести байты из ADlib файла и удаляя своего рода "лишние" байты, прогонять через конвертеры и смотреть\слушать - идет музыка или нет.
Вообще форматов Adlib музыки много. Взял из сайта Adplug:
A2M: AdLib Tracker 2 by subz3ro
ADL: Westwood ADL File Format
AMD: AMUSIC Adlib Tracker by Elyssis
BAM: Bob's Adlib Music Format
CFF: BoomTracker 4.0 by CUD
CMF: Creative Music File Format by Creative Technology
D00: EdLib by Vibrants
DFM: Digital-FM by R.Verhaag
DMO: Twin TrackPlayer by TwinTeam
DRO: DOSBox Raw OPL Format
DTM: DeFy Adlib Tracker by DeFy
HSC: HSC Adlib Composer by Hannes Seifert, HSC-Tracker by Electronic Rats
HSP: HSC Packed by Number Six / Aegis Corp.
IMF: Apogee IMF File Format
KSM: Ken Silverman's Music Format
LAA: LucasArts AdLib Audio File Format by LucasArts
LDS: LOUDNESS Sound System
M: Origin AdLib Music Format
MAD: Mlat Adlib Tracker
MID: MIDI Audio File Format
MKJ: MKJamz by M \ K Productions (preliminary)
MSC: AdLib MSCplay
MTK: MPU-401 Trakker by SuBZeR0
RAD: Reality ADlib Tracker by Reality
RAW: RdosPlay RAW file format by RDOS
RIX: Softstar RIX OPL Music Format
ROL: AdLib Visual Composer by AdLib Inc.
S3M: Screamtracker 3 by Future Crew
SA2: Surprise! Adlib Tracker 2 by Surprise! Productions
SAT: Surprise! Adlib Tracker by Surprise! Productions
SCI: Sierra's AdLib Audio File Format
SNG: SNGPlay by BUGSY of OBSESSION
SNG: Faust Music Creator by FAUST
SNG: Adlib Tracker 1.0 by TJ
XAD: eXotic ADlib Format by Riven the Mage
XMS: XMS-Tracker by MaDoKaN/E.S.G
XSM: eXtra Simple Music by Davey W Taylor
Единственная зацепка - ADLM заголовок. Если заголовки у Dune II и Alone in the Dark совпадают, то возможно что Adlib музыка Alone in the Dark - специфический формат ADL, наподобие Westwood`вского.
Еще вопрос:
В памяти DOSBOX музыка(MIDI/XMI/HMP) имеет сигнатуру\заголовок?
#9
Отправлено 20 June 2010 - 08:43
Цитата (Infoman @ 20.06.2010 - 08:08) |
Вообще форматов Adlib музыки много. Взял из сайта Adplug: |
#10
Отправлено 20 June 2010 - 09:11
#11
Отправлено 20 June 2010 - 09:45
Цитата |
Еще вопрос: В памяти DOSBOX музыка(MIDI/XMI/HMP) имеет сигнатуру\заголовок? |
Бывает что имеет, а бывает что нет. Зависит от того, как программа/игра обрабатывает данные в памяти.
Цитата |
Так например упомянутый .S3M никакого отношения к Adlib не имеет, т.к. это модульный формат - там инструменты и ноты, а не инструкции к звуковому процессору Adlib. |
По сути не имеет, но существует специфический формат S3M, который не имеет сэмплов, и который будет воспроизводиться только в специфическом плеере через AdLib. Конечно его можно открыть в ModPlug Tracker и увидеть там ноты, но воспроизводиться они будут в виде тишины.
Цитата |
А какие имеют отношение к Adlib? |
Формат DOSBox DRO, RdosPlay RAW и Apogee IMF имеют непосредственное отношение к AdLib, поскольку эти форматы содержат в себе команды OPL в чистом виде. Что касается остальных форматов, то я пока что их не исследовал.
#12
Отправлено 20 June 2010 - 10:51
#13
Отправлено 24 June 2010 - 13:36
Содержимое распакованного SOUND.PAK файла Dune II:
http://www.megaupload.com/?d=68SPRMUZ
#14
Отправлено 24 June 2010 - 13:48
Цитата |
Содержимое распакованного SOUND.PAK файла Dune II |
ADL - файлы неизвестного мне формата, очевидно для воспроизведения на AdLib
XMI - формат XMIDI, для воспроизведения на MT-32
C55 - формат XMIDI, для воспроизведения на Roland SC-55 (General MIDI)
PCS - формат XMIDI, для воспроизведения на PC Speaker
TAN - формат XMIDI, для воспроизведения на Tandy 3-voice
ADV - драйверы звуковых карт
#15
Отправлено 24 June 2010 - 14:02
#16
Отправлено 24 June 2010 - 14:03
#17
Отправлено 24 June 2010 - 14:12
версия плагина для winamp - 1.8.2.
#18
Отправлено 24 June 2010 - 14:27
#19
Отправлено 24 June 2010 - 14:46
В принципе понятно почему: если отрыть в Awave Studio те же XMI файлы, то будет не один трек, а своего рода архив\контейнер, содержащий несколько, кажется до десятков, штук. И подобным образом устроены все файлы. А ADL Awave Studio просто-напросто не поддерживает.
Примечание: большая часть треков в любом файле - пустышки и лишь в нескольких есть музыка.
#20
Отправлено 07 July 2010 - 15:48
Самое интересное - Eastwood - утилита в составе libeastwood(https://launchpad.net/libeastwood). Судя по описанию работает с WSA, SHP, ICN, CPS, PAL, ADL, VOC, PAK. Одна проблема - нужно компилить.