Версия для печати темы

Нажмите сюда для просмотра этой темы в оригинальном формате

CTPAX-X _ Полезности _ AudioCD Emulator

Автор: -=CHE@TER=- Jan 7 2007, 12:21

Народ!
Кто-нибудь знает маленький и удаленький AudioCD Emulator?

Что конкретно я под этим подразуменваю и что конкретно хотелось бы:
1) Есть старая игра на CD.
2) CD уже испускает дух.
3) Игра по полной устанавливается на жёсткий диск и отучается от CD.
4) Но! Игра старая - там вся музыка хранится как AuidoCD дорожки. Игра работает нормально отученная от CD, но музыки нет. Некоторые игры от этого сильно страдают, ибо музыка в иных - это чуть ли не половина создаваемой атмосферы.
5) Музыка грабится на диск в .WAV / .MP3 / .FLAC или ещё чего-нибудь.
6) Вот тут, в принципе, и появляется проблемы. Музыку можно запускать вручную из, скажем, Winamp'а, но неудобно и долго сворачивать игру ради этого. Да и просто переходя с уровня на уровень - быстро надоест.

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

Что хотелось бы:
1) Запустить какую-нибудь небольшую программку.
2) Указать ей каталог с .MP3 файлами
3) Указать какой файл какому трэку на оригинальном диске соответствует.
4) Теперь когда запускаем игру и она обращается к CD-диску, нужно чтобы эта прога перехватывала обращения к функциям winmm.dll и (самый тупой способ) запускала ассоциированную с .MP3 файлами программу на проигрывание (пускай даже с начала трэк играть будет - пофигу), например Winamp.

Я для интереса решил порыться в экспортируемых функциях игры Turok2 - из winmm.dll там экспортируются такие функции:

mixerGetDevCapsA
mciSendCommandA
mciGetErrorStringA
mixerSetControlDetails
mixerGetControlDetailsA
mixerGetLineControlsA
timeEndPeriod
timeKillEvent
timeSetEvent
timeGetTime
timeGetDevCaps
timeBeginPeriod
mixerGetNumDevs
mixerGetLineInfoA

Видимо, это минимальный набор функций, который необходим.

Кто-нибудь знает - есть ли вообще такой эмулятор/враппер? Был бы очень признателен за ссылку.

Если никто такой программы не знает - я так понимаю, это нужно копать в направлении Hook'ов, да?

Автор: Siberian GRemlin Jan 13 2007, 18:05

Я не совсем понял что ты хочешь...
Если тебе надо сделат образ со звуковыми дорожками и гонять его через виртуалку, то берёшь прогу UltraISO у меня 7.22 версия, но она уже старая. Жмёшь Tools\Make CD image выбираешь CUE\BIN делаешь образ, монтируешь в виртуалку через Deamon Tools и можешь даже через мастдаевский медаплеер дорожки слушать. А если приспичит то в любой момент сделать с этого образа точную копию диска..
Что хоть за игра-то?! =)

Автор: -=CHE@TER=- Jan 13 2007, 18:42

QUOTE(Siberian GRemlin @ Jan 13 2007, 06:05 PM) *
Я не совсем понял что ты хочешь...
Если тебе надо сделат образ со звуковыми дорожками и гонять его через виртуалку, то берёшь прогу UltraISO у меня 7.22 версия, но она уже старая. Жмёшь Tools\Make CD image выбираешь CUE\BIN делаешь образ, монтируешь в виртуалку через Deamon Tools и можешь даже через мастдаевский медаплеер дорожки слушать. А если приспичит то в любой момент сделать с этого образа точную копию диска..
Что хоть за игра-то?! =)
Гм, можно, просто мне бы что по-проще - я занимаюсь реинкарнацией старых игр: ставлю последние патчи/фиксы, отучаю от CD, привожу в божий вид, собираю и делаю инсталлятор в InnoSetup.

А проблема ещё в том, что у меня нет оригинальных дисков от некоторых игр. Т.е. я могу где-нибудь в Интернете OST уже сграбленный стянуть. Так что мне его - снова писать на CD, чтобы потом сделать виртуальник?! (*улыбается*) Вот бы просто каталог указать и все дела...
Так что хотелось бы небольшую программульку типа dgVoodoo или VDMSound.

А игр таких куча: Turok: Dinosaur Hunter, Turok 2: Seed of Evil, Quake, Quake II, Plane Crazy (Keith Hawley, 1998 год - BTW, я даже с ним по мылу переписывался - он уже давно забыл, что делал OST к этой игре - "Yes - indeed, was a while ago, but yes, I did the music for "Plane Crazy". - всё, что от него удалось выжать (*улыбается*)"), SWIV3D, Ignition (правда, под последние две игры, наверное, OST уже не найти) и ещё под DOS: PowerSlave (в Европе, кажется, известна также как Exhumed), Scorcher (Jesper Kyd OST писал!), Descent II, Tomb Raider (не смейтесь, первая часть (про которую речь и идёт) очень даже ничего, особенно первые три уровня (*улыбается*))...

Это то, что я сразу вспомнил. На самом деле игр - куча. Т.к. раньше это было обычным явлением - писать музыку на AudioCD.

Автор: Axsis Jan 16 2007, 09:53

Кагда-то давно (ещё до появления алкоголя и демона biggrin.gif ) я пользовался эмулятором paragon cd emulator (тогда ещё версии 1.х кажется). Так вот он ещё тогда позволял делать образы дисков, сохраняя аудио-дорожки в mp3, сейчас написано может использовать любой кодек (из установленных в системе), и потом при обращении к этой дорожке играл её соответственно из mp3, также было сжатие образов, НО образы были в каком-то "своём" формате (кажется файлы *.cdi, но когда появился алкоголь, он не смог их открыть, и пришлось делать образы с образов же biggrin.gif ), и с iso он тогда не дружил (хотя сейчас наверняка дружит). Сейчас у них на сайте (www.paragon.ru) уже 3-я версия лежит, разработка отечественная, и за неё просят 540 отечественных же денег, но есть демка.
Это не совсем то что ты хотел, но должно работать с 99% стареньких игр, работающих в винде.

Почти оффтоп: около года назад заполучил Платиновое издание "Героев" от Буки, там первые 3 части со всеми официальными дополнениями, так вот музыка для первой и второй части лежала на диске в OGG и игра проигрывала её вместо audio-cd треков (точнее игра считала, что играет именно audio-cd wink.gif )
как они это сделали я не смотрел, но думаю перекомпиляцией exe-шников под винду и добавлением какого-то врапера прямо в код игры. Почаще бы разработчики/издатели делали подобные подарки фанатам своих старых игр rolleyes.gif

Автор: Siberian GRemlin Jan 16 2007, 19:52

-=CHE@TER=-
Я бы тебе советовал, наведаться на форум old-games.ru

Автор: -=CHE@TER=- Jan 16 2007, 23:05

Axsis!
Спасибо!
Но я, похоже, начинаю приходить к мысли "if you wanna job done right - you gonna do it yourself" © The Thing. Похоже, как только будет время (если оно будет) - я займусь написанием wrapper'а. Мне кажется это будет полезная вещь не только для одного меня.

QUOTE(Siberian GRemlin @ Jan 16 2007, 07:52 PM) *
-=CHE@TER=-
Я бы тебе советовал, наведаться на форум old-games.ru
Иногда читаю их сайт и форум. Пока ничего интересного по этой теме там не нашёл. Был вариант, но он ничем не отличается от того, что предложил Axsis. Так что буду думать.

Спасибо всем за предложения!