1. Друзья, в это тяжёлое и непонятное для всех нас время мы просим вас воздержаться от любых упоминаний политики на форуме, - этим ситуации не поможешь, а только возникнут ненужные ссоры и обиды. Это касается также шуток и юмора на тему конфликта. Пусть войны будут только виртуальными, а политики решают разногласия дипломатическим путём. С уважением, администрация Old-Games.RU.

    Скрыть объявление
  2. Пожалуйста, внимательно прочитайте правила раздела.
  3. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU
    Скрыть объявление

Hard Звуковые карты для DOS

Тема в разделе "Hard & Soft", создана пользователем easy_john, 21 май 2013.

?

Какие карты у вас есть

  1. Disney Sound Source / Covox / LPT dac

    5,8%
  2. Adlib

    5,5%
  3. IBM Music Feature Card / Tandy / PCjr

    0,3%
  4. Sound Blaster 1.x/2.x/Pro

    13,1%
  5. Sound Blaster 16/Vibra

    39,5%
  6. Sound Blaster awe32/awe64

    48,5%
  7. Sound Blaster compatible/clone (Ess, Opti, Crystal, ...)

    44,7%
  8. Pro Audio Sрectrum, PAS pro, PAS 16

    2,7%
  9. Gravis Ultrasound GF1 (Classic/Max/Extreme/Ace/clones)

    8,9%
  10. Gravis Ultrasound Amd (PnP/PnP Pro)

    7,9%
  11. Roland MT-32 series (LAPC, MT-32, CM-32, ...)

    7,2%
  12. Roland Sound Canvas series (SCC-1, SCB-55, RAP10, ...)

    6,9%
  13. Turtle Beach Series (Maui, Rio, Tropez, +, Pinnacle, ...)

    8,6%
  14. Ensoniq Soundscape series

    5,5%
  15. Yamaha XG series (db50xg, sw60xg, ...)

    19,9%
  16. Terratec AudioSystem EWS64XL

    3,4%
  17. Other Wavetable based (Aztech WaveRider 32+, ... )

    5,5%
  18. Sound Blaster Live

    42,6%
  19. Aureal Vortex

    31,3%
  20. DB waveblaster и другие

    7,2%
Можно выбрать сразу несколько вариантов.
  1. easy_john

    easy_john

    Регистрация:
    14 мар 2008
    Сообщения:
    1.708
    Обсуждение всего, что связанно со старыми звуковыми картами в DOS.
    Настройка/характеристики/качество/драйвера/совместимости и т.п.

    Можно обсуждать весь спектр звуковых плат и дочек, которые работают в DOS или в DOS-окне windows 9x.

    Основные элементы звуковых карт периода с середины 80-ых до конца 90-ых:
    1) "Кодек", цифро-аналоговый преобразователь, использовался для воспроизведения звуковых эффектов (выстрелы, взрывы, голос). Требовал большого объема потоковых данных (.snd, .wav, позднее .mp3), так что для музыки, до появления быстрых процессоров, больших дисков и сильной компрессии (.mp3), практически не использовался.
    Игра/программа должна была знать о стандарте кодека, что бы возможно было воспроизводить звуки через него.

    Типичные стандарты кодеков: SoundBlaster (SB ), SoundBlaster 2.0 (SB 2.0), SoundBlaster Pro2 (SB Pro2), SoundBlaster 16 (SB16), Microsoft(он же Windows) Sound System (WSS).


    2) "Синтезатор", использовался для воспроизведения музыки.
    2.a) FM синтезатор - недорогой чип, способный воспроизводить звуковые волны разных частот, музыка получалась не совсем реалистичная, но им были оборудованы даже самые дешевые звуковые карты.

    Плюсы: музыка будет (практически) одинаковая на всех картах.
    Минусы: качество музыки.
    Типичные стандарты FM синтезаторов: Yamaha OPL2 (mono), OPL3 (stereo)

    2.b) WaveTable синтезаторы - синтезаторы имеют свою память (большинство rom), в которой хранятся записанные семплы с настоящих инструментов. Синтезаторы получают от игры/программы только название инструмента и ноту и сами воспроизводят звук.

    Плюсы: качество музыки на порядок выше FM синтеза.
    Минусы: звучание инструментов на каждом синтезаторе свое, например музыка написанная для roland могла звучать плохо на синтезаторе yamaha/korg/emu и наоборот.
    Типичные стандарты:
    Технический стандарт используемый в играх:
    - нативный для некоторых карт исключений: GUS, AWE 32/64
    - общий, просто на передачу midi нот: MPU-401
    Стандарт на "формат" midi треков: до 1992 года - Roland LA (mt-32, cm32/64, lapc), после 1992 - GeneralMidi (GM/mpu-401/waveblaster).

    В 199x годах на PC был портирован формат "трекерных модулей" (.mod, .stm, .s3m, .xm и т.п.) представляющий из себя нотные листы как в midi, плюс коротких отрезков потоковых звуков, типа .wav, которыми эти ноты воспроизводились. Позволял в небольшом объеме 0.1-1 мб получать музыкальный трек приличного качества.

    Плюсы: качество музыки сравнимое с wavetable. Идентичное звучание на всех картах, т.к. для вывода звука использовался только кодек.
    Минусы: требовался производительный (от 486) компьютер т.к. нагрузка по проигрыванию ложилась на процессор (или некоторые звуковые карты, типа GUS/AWE)
    К сожалению, такой формат музыки довольно редко использовался в играх, наиболее известные примеры: Epic Pinball, OneMustFall, Crusader, Unreal.


    Список классов звуковых карт для примера и привлечения внимания:
    - PC Speaker
    - Disney Sound Source / Covox / LPT dac
    Характеристики
    - Adlib
    Характеристики
    - Tandy / PCjr
    - IBM Music Feature Card / Yamaha FB-01
    - Sound Blaster 1.x/2.x/Pro
    Характеристики
    - Sound Blaster 16/Vibra
    Характеристики
    - Sound Blaster awe32/awe64
    Характеристики
    - Sound Blaster compatible/clone (Ess, Opti, Crystal, ...)
    - Pro Audio Sрectrum 16
    Характеристики
    - Gravis Ultrasound GF1 (Classic/Max/Extreme/Ace/clones)
    Характеристики
    - Gravis Ultrasound Amd (PnP/PnP Pro)
    - Roland MT-32 series (LAPC, MT-32, CM-32, ...)
    - Roland Sound Canvas series (SCC-1, SCB-55, RAP10, ...)
    - Turtle Beach Series (Maui, Rio, Tropez, +, Pinnacle, ...)
    Характеристики
    - Ensoniq Soundscape series
    - Yamaha XG series (db50xg, sw60xg, ...)
    Характеристики
    - Terratec AudioSystem EWS64XL
    - Other Wavetable based (Aztech WaveRider 32+, ... )
    Характеристики
    - Sound Blaster Live
    - Aureal Vortex
    - DB waveblaster и другие

    Звуковые карты работающие в DOS с цифровым выходом s/p-diff
    Табличка

    Работа PCI звуковых карт в DOS:
    Подробности
    + DOS Sound Blaster compatibility: PCI sound cards vs. PCI chipsets

    Фак, по звуковым картам из конференций fido: http://faqs.org.ru/hardw/media/sndhwfaq.htm
    Отдельные факи по:
    - Gravis Ultrasound - http://faqs.org.ru/hardw/media/gusfaq.htm
    - SB AWE32/64 - http://faqs.org.ru/hardw/media/awefaq.htm
    - SB Live - http://faqs.org.ru/hardw/media/sblive.htm
    - Aureal Vortex - http://faqs.org.ru/hardw/media/vortex.htm

    Звуковые карты на wiki.old-games.ru - http://www.old-games.ru/wiki/Категория:Звуковые_карты
    Поиск игр, поддерживающих определенную звуковую карту на сайте MobyGames:

    Драйвера для старых звуковых карт:
    Коллекция сайта vogons: http://vogonsdrivers.com/index.php?catid=3
    Мое ftp: ftp://ftp.amiwiki.spb.ru/Dos/Distrib/Sound/
     
    Последнее редактирование: 11 янв 2018
    bl00dshot, unp, HotChip и 17 другим нравится это.
  2.  
  3. nop

    nop

    Регистрация:
    5 дек 2014
    Сообщения:
    2.297
    Там мало кода, если убрать парсинг/печать hex.
     
  4. Strannik_

    Strannik_

    Регистрация:
    19 сен 2016
    Сообщения:
    869
    @nop, даже в трех строчках мжно запутаться, если не понимаешь их назначения.
    А тут надо проверить на возможное наличие ошибки.

    Offtop
    У меня был случай. Программист утверждал, что его код работает без ошибок, а я на стенде видел глюк. Отладка на микроконтроллере был не возможна по техническим причинам. Пришлось взять исходный код и переписать его под PC со 100% идентичностью выполнения. В результате перебора всех возможных состояний при выполнении кода была обнаружена одно (!) ошибочное состояние из нескольких тысяч.
     
    Последнее редактирование: 13 мар 2018
  5. LANRUS

    LANRUS

    Регистрация:
    15 сен 2010
    Сообщения:
    4.621
    @Strannik_, да, именно этот факт, что выключение питания приводит к потере битов в том состоянии, в каком они вроде бы были "сфотканы" в винде, меня тоже приводил в уныние. Полного восстановления нет, факт. Но начало-то положено, хоть какие-то опыты проведены, а они доказывают, что роуты в DOS на этих картах можно завести на всю катушку.

    Ищу человека, который возьмётся за эту работу.
     
  6. nop

    nop

    Регистрация:
    5 дек 2014
    Сообщения:
    2.297
    @Strannik_, @LANRUS, .asm выглядит более свежим кодом, чем .com
    они не совпадают, в .asm больше переменных, чем в .com
    .com и .asm - две разные версии программы
    @LANRUS, Кто-то дурит нам голову :(
     
  7. LANRUS

    LANRUS

    Регистрация:
    15 сен 2010
    Сообщения:
    4.621
    Я в этом дуб-дубом, LLC присылал несколько версий программы, только последняя заточена и под Audigy, все предыдущие "умеют" только Live. Потом я попросил его прислать исходники, он прислал их просто как текст в переписке. Я этот текст скопировал и запихнул в файл сам, НИЧЕГО не трогал.
     
  8. Strannik_

    Strannik_

    Регистрация:
    19 сен 2016
    Сообщения:
    869
    EMU10k.COM в какой-то степени работает. Дамп был снят и загружен (декларативно), после восстановления из дампа звук был без выполнения audigy12 (фактически).
    Вопрос в том, что метод слепого сравнения показал наличие отклонений.
     
  9. LANRUS

    LANRUS

    Регистрация:
    15 сен 2010
    Сообщения:
    4.621
    Я вам больше скажу, эти отклонения варьируют ДАЖЕ в снимках при одном и том же состоянии, не трогая ничего, никаких бегунков. А в винде дампы варьируют просто на глазах, содержимое их меняется (но только в одних и тех же регистрах), даже если я в микшере ничего не кручу.
    --- добавлено 13 мар 2018, предыдущее сообщение размещено: 13 мар 2018 ---
    А Гаврилов мне писал ещё такую вещь, что один и тот же регистр имеет управляющие по отношению к себе регистры, и в зависимости от их значений он может отвечать в разных ситуациях вообще за совершенно разные параметры. Так устроены чипы EMU10000. Вот такая петрушка, блин. Но он сам ссылается на полную занятость и отсутствие свободного времени, не может взяться за это дело.
    --- добавлено 13 мар 2018 ---
    [​IMG]
    Вспомните эту схему из моей статьи. Я запускал такой бутерброд из-под Windows, профит ошеломляющий! Звук очень чистый! Если карты от Креатив заставить работать таким образом из DOS, они покроют требования к микшеру абсолютно любого DOS-геймера. Отбросьте из этой схемы все "мои" девайсы, обратите внимание только на место в ней EMU10k. Вы можете воткнуть в неё всё, что угодно, все звуковые карты в своём системнике! Качество микширования на высоте.
     
  10. nop

    nop

    Регистрация:
    5 дек 2014
    Сообщения:
    2.297
    Вот результат компиляции .asm (пришлось переделать в другой формат асма и починить пару ужасов) .asm - от другой версии программы!
     

    Вложения:

    • EMU10K2.ZIP
      Размер файла:
      1,4 КБ
      Просмотров:
      18
    Последнее редактирование: 14 мар 2018
  11. LANRUS

    LANRUS

    Регистрация:
    15 сен 2010
    Сообщения:
    4.621
    ОК, в двух словах, что нам это даст?
     
  12. nop

    nop

    Регистрация:
    5 дек 2014
    Сообщения:
    2.297
    @LANRUS, Я не знаю, у меня тут не стоит emu10k. Я предлагал помощь, а не разгадывание пазлов.
    Я только говорю, что ты дал очень странные исходники и результат ассемблирования с помошью кузькиной матери emu10k.asm дает программу, отличную от emu10k.com.
     
  13. LANRUS

    LANRUS

    Регистрация:
    15 сен 2010
    Сообщения:
    4.621
    Значит, надо мне просто её опробовать.
     
  14. Strannik_

    Strannik_

    Регистрация:
    19 сен 2016
    Сообщения:
    869
    @nop,
    первая выдала 20829 байт
    вторая - 1295017 байт
    001.png 002.png
    Похоже на слепую отладку. Много раз опрашивает один набор адресов.

    Склоняюсь к мысли, что в программе есть ошибки. В обеих версиях.
     
  15. nop

    nop

    Регистрация:
    5 дек 2014
    Сообщения:
    2.297
    @Strannik_, Мне не очень нравится, что я уже потратил сильно больше времени, чем планировал :)
    Кидаю исправленные исходники. Там стиль TASM IDEAL теперь, но TASM-ом не соберется без правки меток. Пришлось найти этот lzasm из за анонимных меток.
    Версию на C/C++ точно не сегодня.
    --- добавлено 14 мар 2018, предыдущее сообщение размещено: 14 мар 2018 ---
    Если я правильно понял, о чем ты, то так работает даже OPL2 :facepalm:
     

    Вложения:

    • EMU10K2.ZIP
      Размер файла:
      4,1 КБ
      Просмотров:
      17
  16. Strannik_

    Strannik_

    Регистрация:
    19 сен 2016
    Сообщения:
    869
    @nop, всегда так =)
    Пытаюсь audigy12 разобрать. Уже третий уровень функций для записи состояния порта. Программист "упростил" как мог.

    В audigy12 есть команда (дальше идут аналогичные команды, их не рассматривал)
    // PCM + CD-digital + MIDI
    A_OP(iACC3, A_GPR(0),A_FXBUS(FXBUS_PCM_LEFT) ,A_EXTIN(A_EXTIN_SPDIF_CD_L),A_FXBUS(FXBUS_MIDI_LEFT));

    В конечном итоге она записывает
    по адресу x600 значение 0x00042004
    по адресу x601 значение 0x06400000
    где
    0х042 - KX_IN(0x2), т.е. SPDIF A Left, CD SPDIF L / D1 L
    0х004 - FXBUS_MIDI_LEFT
    (Напоминает входной и выходной каналы коммутатора)
    0х06 - iACC3?
    0х400 - адрес, A_FXGPREGBASE. audigy12 обнуляет 512 байт, начиная с этого адреса. В дампе под Windows они не нулевые.
    0х000 - FXBUS_PCM_LEFT?
    (способ обработки?)

    EMU10k.COM /r600
    выдает
    0x600 = 00042004

    Записывать парой адресов за раз:
    EMU10k.COM /w600=00043004 /w601=06400001

    В Audigy12 адрес 0х600 описан как A_MICROCODEBASE. Похоже, адреса 0x600-0x7ff являются настройкой коммутатора.

    Под Windows встречается такая комбинация 0х00042216 0х004120C0
    по адресу 0х410 в дампе записано
    0410 000000C8 00000000 00000000 FFFFFE90 FFFFFC22 000008D5 FFFFD99D FFFFEB3F

    kxproject/kX-Audio-driver-Documentation
    Offtop

    003.png


    Напоминает страничные графические режимы. Веселье только начинается.

    ...и напоследок
    тот самый h/8010.h
    kxproject/kx-audio-driver
    и заголовочник для p16v
    kxproject/kx-audio-driver

    В audigy12 используется
    #define HCFG_AC3ENABLE_CDSPDIF 0x00000040UL
    для которого
    #define HCFG_AC3ENABLE_CDSPDIF_K1 0x00000040 // Channels 0 and 1 replace CDSPDIF
     
    Последнее редактирование: 14 мар 2018
  17. nop

    nop

    Регистрация:
    5 дек 2014
    Сообщения:
    2.297
    Кстати, когда поднял вопрос об эмуляции Adlib Gold на vogons, получил ответ.
    Народ склоняется к мысли, что Дюна и, возможно, еще горстка игр на том же движке (и то не факт) - единственное, что вместо наличия собственно OPL3 проверяет наличие чего-то другого, нежели OPL3.
     
    TheMadLynx нравится это.
  18. alfy

    alfy

    Регистрация:
    2 мар 2013
    Сообщения:
    220
    @nop, не совсем так. Дюна одна из немногих (или единственная) реально использует эксклюзивные особенности adlib gold (модуль эффектов), а не просто проверяет его наличие. К тому же в дюне кроме opl3 используется цап, поэтому логично что она ищет именно AG, а не opl3.

    И насчет полного доступа к opl3 через 388-38b: на всех протестированных мной картах (от creative, aztech, ess, opti, crystal, yamaha, als) доступны все 4 порта. Для некоторых карт (например awe32/64) можно этот дипазон даже сменить в диспетчере устройств (или pnp менедждере).
     
    Последнее редактирование: 15 мар 2018
  19. TheMadLynx

    TheMadLynx

    Хелпер

    Регистрация:
    9 июн 2015
    Сообщения:
    6.734
    Offtop
    @alfy, ЦАП (DAC) присутствует и используется вообще на любой аудиокарте (если не через цифровой выход звук снимать) -- напомните себе, что это такое и не путайте его с сигнальным процессором (DSP).
     
    nop нравится это.
  20. alfy

    alfy

    Регистрация:
    2 мар 2013
    Сообщения:
    220
    реплика
     
    Последнее редактирование: 15 мар 2018
  21. nop

    nop

    Регистрация:
    5 дек 2014
    Сообщения:
    2.297
    Очень интересно. Документация Creative, тем не менее, говорит о двух портах, а также мне сказал человек на тех же vogons, что на его SB Pro2 именно так, OPL3 только с 220. Верить или нет, пока не знаю.

    Ваш соратник Bato-san тут вообще у мелочам цеплялся :) Раз мы уже до такого докатились..
    А так - да, ЦАП - устройство пассивное, и в голом виде на ISA шине не сидящее ни в одной из обсуждаемых карт, просто превращает цифровой выхлоп в аналоговый. Спорного тут нет ничего :)
    В остальном - верно, ямаховский MMA чип - не DSP(не программируемый, хотя и обрабатывает цифровой сигнал), так что давайте, наверное, называть их кодеками, как кое-кто предлагал :)
    Можно еще ASIC-ами, но это слишком общий термин.
    Но мне лично все равно.
    --- добавлено 15 мар 2018, предыдущее сообщение размещено: 15 мар 2018 ---
    Сказали, что там чуть ли не два сэмпла на игру :)
    --- добавлено 15 мар 2018 ---
    Кстати, отличная вещь:
     
    Последнее редактирование: 16 мар 2018
    TheMadLynx нравится это.
  22. easy_john

    easy_john

    Регистрация:
    14 мар 2008
    Сообщения:
    1.708
    Не верить.
     
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление