Памятка “CD аудио треки и старые игры”: различия между версиями

Материал из Old-Games.RU Wiki
Перейти к навигации Перейти к поиску
 
(не показано 6 промежуточных версий 4 участников)
Строка 1: Строка 1:
<br />В: почему в заставках в данной игре, и в других играх музыка воспроизводится, а музыка в виде CD-аудио - нет.
+
<br />'''Вопрос:''' почему в заставках в данной игре, и в других играх музыка воспроизводится, а музыка в виде CD-аудио - нет.
<br />О: потому, что музыку на CD-аудио треках воспроизводит не игра, а сам сд-ром.
+
<br />'''Ответ:''' потому, что музыку на звуковых дорожках CD воспроизводит не игра, а сам привод.
 
<br />
 
<br />
 
=== Общие рекомендации ===
 
=== Общие рекомендации ===
* если в системе несколько CD-ромов, буква используемого CD-рома должна быть первой. То есть, если в системе один привод под буквой Q, а другой под U, то либо используйте привод под той буквой, что идет по алфавиту первой (то есть Q), либо поменяйте у другого букву (то есть U, скажем, на I).
+
* Если в системе несколько оптических приводов, буква используемого привода должна быть первой. То есть, если в системе один привод под буквой «Q», а другой под «U», то либо используйте привод под той буквой, что идет по алфавиту первой (то есть «Q»), либо поменяйте у другого букву (то есть «U», скажем, на «I»).
 
* Убедитесь, что в системном микшере компакт-диск\лазерный проигрыватель не выключен, и громкость установлена на полную.
 
* Убедитесь, что в системном микшере компакт-диск\лазерный проигрыватель не выключен, и громкость установлена на полную.
 
<br />
 
<br />
=== 9х (win95\98) ===
+
===Windows 9х (win95\98)===
 
*Вариант 1: привод и аудио карта должны быть соединены аудио кабелем.
 
*Вариант 1: привод и аудио карта должны быть соединены аудио кабелем.
*Вариант 2: использовать цифровое воспроизведение аудио дисков. Для этого в 9х нужен '''драйвер WDM''' на аудио карту. Включается в '''панель управление>мультимедиа>музыкальный компакт-диск>выбрать нужный привод'''.
+
*Вариант 2: использовать цифровое воспроизведение аудио дисков. Для этого в 9х нужен '''драйвер WDM''' на аудио карту. Включается в '''панель управление > мультимедиа > музыкальный компакт-диск > выбрать нужный привод'''.
*Вариант 3: использовать виртуальный привод. К примеру Daemon Tools и Alcohol. Последние версии, поддерживающие 9х: '''Daemon Tools 3.47''', '''Alcohol 1.9.5.3105'''.
+
*Вариант 3: использовать виртуальный привод. К примеру «Daemon Tools» и «Alcohol». Последние версии, поддерживающие 9х: '''Daemon Tools 3.47''', '''Alcohol 1.9.5.3105'''.
 
<br />
 
<br />
===ХР===
+
===Windows ХР===
 
*Вариант 1: привод и аудио карта должны быть соединены аудио кабелем. В современных приводах и аудио картах этот интерфейс отмер.
 
*Вариант 1: привод и аудио карта должны быть соединены аудио кабелем. В современных приводах и аудио картах этот интерфейс отмер.
*Вариант 2: использовать цифровое воспроизведение аудио дисков. Включается в '''панель управление>звуки и аудиоустройства>оборудования>выбрать нужный привод>свойства>свойства'''.
+
*Вариант 2: использовать цифровое воспроизведение аудио дисков. Включается в '''панель управление > звуки и аудиоустройства > оборудование > выбрать нужный привод > свойства > свойства'''.
*Вариант 3: использовать виртуальный привод. К примеру Daemon Tools и Alcohol.
+
*Вариант 3: использовать виртуальный привод. К примеру «Daemon Tools» и «Alcohol».
  
 
<br />Для того чтобы DOS-приложения в Windows NT/2K/XP могли использовать цифровое воспроизведение CD-аудио, нужно установить в систему утилиту '''Sapucdex'''. Установка: распаковать содержимое архива в '''system32''', в '''WINDOWS\system32\AUTOEXEC.NT''' заменить строку “'''lh %SystemRoot%\system32\mscdexnt.exe'''” на “'''lh %SystemRoot%\system32\SAPUCDEX.EXE.exe'''”.
 
<br />Для того чтобы DOS-приложения в Windows NT/2K/XP могли использовать цифровое воспроизведение CD-аудио, нужно установить в систему утилиту '''Sapucdex'''. Установка: распаковать содержимое архива в '''system32''', в '''WINDOWS\system32\AUTOEXEC.NT''' заменить строку “'''lh %SystemRoot%\system32\mscdexnt.exe'''” на “'''lh %SystemRoot%\system32\SAPUCDEX.EXE.exe'''”.
 
<br />
 
<br />
<br />В [[Windows 7]] никаких настроек касаемо CD-аудио нет. Поэтому, работает – хорошо, нет – ничего не поделать.
 
 
<br />
 
<br />
 +
===Windows 7===
 +
*В [[Windows 7]] никаких настроек касаемо CD-аудио нет. Поэтому, работает – хорошо, нет – используйте либо утилиты '''CDAudio Proxy''' и '''_inmm''', либо эмуляторы ПК с виртуальными машинами. это же касается всех ОС старше Windows 7.
 +
 +
<br />'''Вопрос:''' Почему на Windows 7 в Turok 2 зацикливания музыки нет? Какие могут быть причины? Может дело в cd драйвере? Что участвует в передаче звука с привода? В пропатченом (неофиц патчем) Turok2, например, всё нормально.
 +
<br />'''Ответ:''' Начиная с NT 5.x (Windows XP и выше) в библиотеке winmm.dll в функцию mciSendCommand() которой проигрываются CD-треки внесли изменения. В частности, теперь при открытии устройства, и последующем его использовании через уже открытый дескриптор, проверяется через функцию GetCurrentThreadId() чтобы это делалось из одного потока, иначе ошибка. Если в winmm.dll эту проверку сломать, то всё будет работать без проблем. Зачем оно было сделано - одному Биллу Гейтсу известно, хотя есть подозрение, что это сделано в целях повышения безопасности - чтобы одни потоки не могли управлять дескрипторами других.
 +
<br />Начиная с Windows Vista и выше эту тему расширили и углубили - теперь музыка не повторяется, потому как сигнал о завершении текущего трека, видимо (глубоко эта проблема не изучалась), приходит только тому потоку, через который было открыто устройство. Если поглядеть исходные коды к неофициальному патчу Turok 2, то видно, что там специально отлавливается момент окончания трека и производится его перезапуск вручную, что для Turok 2 нормально, но для игр, где треки проигрываются один раз без повторения - нет (надо писать полноценный "эмулятор" winmm.dll).
 +
<br />
 +
 +
== См. также ==
 +
* [[Памятка об основных способах решения проблем]]
 +
 
== Ссылки ==
 
== Ссылки ==
 
Sapucdex и Daemon Tools 3.47 можно скачать на сайте, в разделе [http://www.old-games.ru/utils/soft/ файлы].
 
Sapucdex и Daemon Tools 3.47 можно скачать на сайте, в разделе [http://www.old-games.ru/utils/soft/ файлы].
 
[[Категория:Технические вопросы]]
 
[[Категория:Технические вопросы]]
 +
[[Категория:FAQ]]

Текущая версия на 15:04, 30 апреля 2023


Вопрос: почему в заставках в данной игре, и в других играх музыка воспроизводится, а музыка в виде CD-аудио - нет.
Ответ: потому, что музыку на звуковых дорожках CD воспроизводит не игра, а сам привод.

Общие рекомендации

  • Если в системе несколько оптических приводов, буква используемого привода должна быть первой. То есть, если в системе один привод под буквой «Q», а другой под «U», то либо используйте привод под той буквой, что идет по алфавиту первой (то есть «Q»), либо поменяйте у другого букву (то есть «U», скажем, на «I»).
  • Убедитесь, что в системном микшере компакт-диск\лазерный проигрыватель не выключен, и громкость установлена на полную.


Windows 9х (win95\98)

  • Вариант 1: привод и аудио карта должны быть соединены аудио кабелем.
  • Вариант 2: использовать цифровое воспроизведение аудио дисков. Для этого в 9х нужен драйвер WDM на аудио карту. Включается в панель управление > мультимедиа > музыкальный компакт-диск > выбрать нужный привод.
  • Вариант 3: использовать виртуальный привод. К примеру «Daemon Tools» и «Alcohol». Последние версии, поддерживающие 9х: Daemon Tools 3.47, Alcohol 1.9.5.3105.


Windows ХР

  • Вариант 1: привод и аудио карта должны быть соединены аудио кабелем. В современных приводах и аудио картах этот интерфейс отмер.
  • Вариант 2: использовать цифровое воспроизведение аудио дисков. Включается в панель управление > звуки и аудиоустройства > оборудование > выбрать нужный привод > свойства > свойства.
  • Вариант 3: использовать виртуальный привод. К примеру «Daemon Tools» и «Alcohol».


Для того чтобы DOS-приложения в Windows NT/2K/XP могли использовать цифровое воспроизведение CD-аудио, нужно установить в систему утилиту Sapucdex. Установка: распаковать содержимое архива в system32, в WINDOWS\system32\AUTOEXEC.NT заменить строку “lh %SystemRoot%\system32\mscdexnt.exe” на “lh %SystemRoot%\system32\SAPUCDEX.EXE.exe”.

Windows 7

  • В Windows 7 никаких настроек касаемо CD-аудио нет. Поэтому, работает – хорошо, нет – используйте либо утилиты CDAudio Proxy и _inmm, либо эмуляторы ПК с виртуальными машинами. это же касается всех ОС старше Windows 7.


Вопрос: Почему на Windows 7 в Turok 2 зацикливания музыки нет? Какие могут быть причины? Может дело в cd драйвере? Что участвует в передаче звука с привода? В пропатченом (неофиц патчем) Turok2, например, всё нормально.
Ответ: Начиная с NT 5.x (Windows XP и выше) в библиотеке winmm.dll в функцию mciSendCommand() которой проигрываются CD-треки внесли изменения. В частности, теперь при открытии устройства, и последующем его использовании через уже открытый дескриптор, проверяется через функцию GetCurrentThreadId() чтобы это делалось из одного потока, иначе ошибка. Если в winmm.dll эту проверку сломать, то всё будет работать без проблем. Зачем оно было сделано - одному Биллу Гейтсу известно, хотя есть подозрение, что это сделано в целях повышения безопасности - чтобы одни потоки не могли управлять дескрипторами других.
Начиная с Windows Vista и выше эту тему расширили и углубили - теперь музыка не повторяется, потому как сигнал о завершении текущего трека, видимо (глубоко эта проблема не изучалась), приходит только тому потоку, через который было открыто устройство. Если поглядеть исходные коды к неофициальному патчу Turok 2, то видно, что там специально отлавливается момент окончания трека и производится его перезапуск вручную, что для Turok 2 нормально, но для игр, где треки проигрываются один раз без повторения - нет (надо писать полноценный "эмулятор" winmm.dll).

См. также

Ссылки

Sapucdex и Daemon Tools 3.47 можно скачать на сайте, в разделе файлы.