User Tag List

Страница 3 из 4 ПерваяПервая 1234 ПоследняяПоследняя
Показано с 21 по 30 из 38

Тема: Музыка Океана(-240)

  1. #21

    Регистрация
    28.03.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,777
    Спасибо Благодарностей отдано 
    558
    Спасибо Благодарностей получено 
    200
    Поблагодарили
    138 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Мне представлялось нечто очень приблизительно такое: имеем прерывания с некоторой высокой частотой, допустим, 15КГц. Пусть наш обработчик прерываний - весьма компактный и тщательно соптимизированный - в четный вызов выставляет биперу 0, в нечетный 1. Получаем на бипере свист 15КГц, который, надеюсь, не будет слышен большинству ретрокомпьютерщиков, кому за 40, и кто использовал для бипера дешевый капсюль, неспособный воспроизвести ничего выше десяти килогерц.

    Познакомьтесь, это наш ШИМ. Теперь достаточно в оставшееся время в обработчике складывать инструменты (и их огибающие) и определять, в какую сторону сдвинуть переключение бипера в следующее прерывание. Piece of cake.

  2. #22

    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,927
    Спасибо Благодарностей отдано 
    106
    Спасибо Благодарностей получено 
    291
    Поблагодарили
    217 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    У z80, конечно еще +6 альтернативных "основных" +1 альтернативный A +4 IX IY
    Как раз 16 и получается: 6 основных + 6 альтернативных + 4 за счёт недокументированных байтовых операций с регистрами IX IY.

    - - - Добавлено - - -

    Цитата Сообщение от tnt23 Посмотреть сообщение
    достаточно в оставшееся время
    А останется у тебя там - всего ничего. Я ж говорю - 4 пары DCR JNZ это максимум 33КГц всего (при клоке 2МГц). По прерыванию можно обрабатывать ноты, меняя делители для счётчиков, и в это время получишь щелчёк тишины. При смене ноты это не страшно, более того, эта пауза там должна быть. Программный ШИМ на восьмибитках - это из области фантастики.

  3. #23

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,308
    Спасибо Благодарностей отдано 
    1,033
    Спасибо Благодарностей получено 
    819
    Поблагодарили
    490 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    tnt23, с высоты полета орбитальной станции так выглядит описание того, как работает проигрыватель Scream Tracker на PC. Но там процессор был 80286, и по-моему меньше, чем на 12МГц этот проигрыватель не особо заводился. И свистело и скрежетало это ужасающе даже на писиспикере. У 8080 на 2.5МГц, если допустим в среднем 10 тактов на инструкцию, при прерываниях на 15КГц получится что-то типа 17 инструкций на прерывание.

    Цитата Сообщение от tnt23 Посмотреть сообщение
    Познакомьтесь, это наш ШИМ. Теперь достаточно в оставшееся время в обработчике складывать инструменты (и их огибающие) и определять, в какую сторону сдвинуть переключение бипера в следующее прерывание. Piece of cake.
    Какие могут быть проблемы в самом деле =)
    Больше игр нет

  4. #24

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,394
    Спасибо Благодарностей отдано 
    764
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от tnt23 Посмотреть сообщение
    Познакомьтесь, это наш ШИМ.
    Не могу сказать, что я все понял. Если применительно к океану, то я минималистичный шим представляю так:
    1. Есть прерывания от таймера. Их можно для данного дела настроить на частоту в районе 23.5 кГц, это даст 64 уровня для п. 2
    2. Заводим из океана частоту 1.5 МГц на тактовый "свободного" канала таймера, снимаем с этого канала результат шима. Т.е. почти бесплатный шимоцап (но нормальный цап все равно лучше).
    Пробовал нечто подобное (с вариантами) на векторе, но т.к. там прерываний по таймеру нет, то процессор в промежутках между выдачей семплов таймеру просто выдерживал задержки.

    Цитата Сообщение от b2m Посмотреть сообщение
    Как раз 16 и получается
    Меня смущают мои любимые достижимый диапазон вверх и точность. При написании музыки специально под такой предельный движок острые углы конечно можно сгладить, но т.к. меня интересует только адаптация существующей музыки, то полезность подобного движка для меня не очень большая.

    - - - Добавлено - - -

    Цитата Сообщение от b2m Посмотреть сообщение
    Программный ШИМ на восьмибитках - это из области фантастики.
    Просто проиграть фрагмент вава вполне реально даже и без таймера (при сравнительно высоких частотах дискретизации получалось 4-8 уровней), для вектора я такое выкладывал (еще до таймерного шима), наверняка и на других компах делали. Другое дело, что для инструментов и голосов при биперном шиме времени, конечно, на 8080 не остается.
    Последний раз редактировалось ivagor; 11.02.2019 в 15:39.

  5. #25

    Регистрация
    28.03.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,777
    Спасибо Благодарностей отдано 
    558
    Спасибо Благодарностей получено 
    200
    Поблагодарили
    138 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    2. Заводим из океана частоту 1.5 МГц на тактовый "свободного" канала таймера, снимаем с этого канала результат шима. Т.е. почти бесплатный шимоцап
    Если до этого места я просто ничего не понимал, то дальше перестал вообще ориентироваться ок, замнем тему, пока я не созрею сделать самоиграйку на 15КГц с парой синусов.

  6. #26

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,394
    Спасибо Благодарностей отдано 
    764
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    У океана один канал таймера ведь свободен и выведен на разъем? Я про него. Нужно подать на него тактовую - ее берем в океане, 1.5 МГц, которые идут на "внутренние" каналы, гейт наверно можно в состояние всегда готов. Все, с выхода этого канала можно снимать шим. Получится что-то типа этого, только круче, т.к. между семплами можно не только ждать, но и что-то делать.

  7. #27

    Регистрация
    28.03.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,777
    Спасибо Благодарностей отдано 
    558
    Спасибо Благодарностей получено 
    200
    Поблагодарили
    138 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    У океана один канал таймера ведь свободен и выведен на разъем?
    Можно и так, но для этого нужно вешать дополнительные проводки. И это неспортивно применительно к биперу.

  8. #28

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,394
    Спасибо Благодарностей отдано 
    764
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от tnt23 Посмотреть сообщение
    Познакомьтесь, это наш ШИМ.
    Медленно, но до меня дошло, что речь похоже про дельта-сигма цап. Меня сбило начало "в четный вызов выставляет биперу 0, в нечетный 1".

  9. #29

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,308
    Спасибо Благодарностей отдано 
    1,033
    Спасибо Благодарностей получено 
    819
    Поблагодарили
    490 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ivagor, все правильно. А я вот забыл, что для того, чтобы такая схема работала, нужен еще собственно таймер, который может отмерять одиночные импульсы заданной длины.
    Больше игр нет

  10. #30

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,394
    Спасибо Благодарностей отдано 
    764
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Немного оффтопа с критикой отдельного недостатка emu.

    Скрытый текст

    Послушал музыкальную систему портированную на эврику (специальный клон специалиста) в emu (с добавлением input=cpu.int в конфиге). И вспомнил, почему ее звук казался мне странным. В emu80 звук намного лучше. С РКшной версией все аналогично. Это я к тому, что портировать музыкальную систему на океан не стоит, в эмуляторе толком не послушать. Еще интересно, есть ли примеры портов этой системы на компы с "обычным" бипером.
    emu очень хороший эмулятор, но качество биперного звука плохое. Как в каменном веке.
    [свернуть]
    Последний раз редактировалось ivagor; 11.02.2019 в 22:08.

Страница 3 из 4 ПерваяПервая 1234 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Рабочие ячейки Монитора 240.7
    от tnt23 в разделе Океан-240
    Ответов: 30
    Последнее: 07.12.2023, 21:03
  2. Ищу Электронику ИМ-03 (Тайны океана)
    от KingArthur в разделе Барахолка (архив)
    Ответов: 14
    Последнее: 23.12.2007, 15:11
  3. Ответов: 20
    Последнее: 19.09.2006, 23:42

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •