Важная информация

User Tag List

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

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

  1. #21
    Guru Аватар для tnt23
    Регистрация
    28.03.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,354
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

  2. #22
    Guru
    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,444
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    2 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
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    2,784
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    18
    Поблагодарили
    11 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

  4. #24
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    4,276
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    24
    Поблагодарили
    15 сообщений
    Mentioned
    1 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 в 16:39.

  5. #25
    Guru Аватар для tnt23
    Регистрация
    28.03.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,354
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  6. #26
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    4,276
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    24
    Поблагодарили
    15 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  7. #27
    Guru Аватар для tnt23
    Регистрация
    28.03.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,354
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  8. #28
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    4,276
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    24
    Поблагодарили
    15 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  9. #29
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    2,784
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    18
    Поблагодарили
    11 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  10. #30
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    4,276
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    24
    Поблагодарили
    15 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

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

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

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

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

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

Похожие темы

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

Ваши права

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