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

User Tag List

Показано с 1 по 7 из 7

Тема: AY/YM: Назначение бита CONTINUE в генераторе огибающей

  1. #1
    Junior Аватар для KP580BM80A
    Регистрация
    02.03.2010
    Адрес
    Чернигов
    Сообщений
    6
    Благодарностей: 0
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию AY/YM: Назначение бита CONTINUE в генераторе огибающей

    Привет всем знатокам AY/YM чипа.
    Как известно из datasheet, генератор огибающей этого чипа может генерировать 10 разных видов огибающей в зависимости от содержания регистра Envelope Shape/Cycle Control Register (RD):

    b3 b2 b1 b0

    00xx \___
    01xx /___
    1000 \\\\\
    1001 \___
    1010 \/\/\
    1011 \----
    1100 //////
    1101 /----
    1110 /\/\/
    1111 /___

    b3 - continue
    b2 - attack
    b1 - alternate
    b0 - hold

    Исходя из рисунка в даташите, форма огибающей с кодом 00xx идентична 1001, а 01xx -- идентична 1111.

    Но нет ли тут подвоха? Зачем инженерам понадобилось вводить дополнительный бит CONTINUE, когда можно было бы обойтись 3-мя?

    Если следовать из логики названия, то при записи в регистр RD значения с CONTINUE=0 должен происходить сброс уровня огибающей до значения 0 или 15 (в зависимости от бита ATTACK). А при записи значения с CONTINUE=1 генерация огибающей должна продолжаться от текущего уровня.

    Так ли это на самом деле или все таки никакой разницы нету?

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2
    Master Аватар для Ramiros
    Регистрация
    05.08.2008
    Адрес
    Магнитогорск
    Сообщений
    862
    Благодарностей: 258
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Если следовать твоей логике, то для каждого значения бита CONTINUE (при неизменных остальных битах) должна быть одна и таже форма огибающей, но судя по таблице этого нет, так что скорее всего твое предположение неверно... но на 100% тут наверное никто неуверен, нужно проверять на реале.

    Если ты заметил только с CONTINUE=1 возможно циклическое повторение формы, мне кажется этот бит отвечает за повторяемость, а биты ALTERNATE и HOLD уже задают режимы этой повторяемости.
    ZX-Spectrum 48k+AY; Dendy (NES); ВидеоСпорт (на К145ИК17); Dingoo A320

  4. #3
    Junior Аватар для KP580BM80A
    Регистрация
    02.03.2010
    Адрес
    Чернигов
    Сообщений
    6
    Благодарностей: 0
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Как раз за повторяемость отвечает бит b0 HOLD. Когда он равен 0, огибающая циклически повторяется.

  5. #4
    Master Аватар для Ramiros
    Регистрация
    05.08.2008
    Адрес
    Магнитогорск
    Сообщений
    862
    Благодарностей: 258
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Тогда почему она неповторяется с кодами 0..7 ?
    ZX-Spectrum 48k+AY; Dendy (NES); ВидеоСпорт (на К145ИК17); Dingoo A320

  6. #5
    Junior Аватар для KP580BM80A
    Регистрация
    02.03.2010
    Адрес
    Чернигов
    Сообщений
    6
    Благодарностей: 0
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну как бы и бит ALTERNATE в диапазоне кодов 0..7 начисто игнорируется.

  7. #6
    Master Аватар для Ramiros
    Регистрация
    05.08.2008
    Адрес
    Магнитогорск
    Сообщений
    862
    Благодарностей: 258
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я и говорю о том что бит CONTINUE включает режим "продолжения" волны, а биты ALTERNATE и HOLD уже задают форму этого продолжения.
    ZX-Spectrum 48k+AY; Dendy (NES); ВидеоСпорт (на К145ИК17); Dingoo A320

  8. #7
    Junior Аватар для KP580BM80A
    Регистрация
    02.03.2010
    Адрес
    Чернигов
    Сообщений
    6
    Благодарностей: 0
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Тему можно закрывать, нашел вменяемое описание битов:

    Hold
    when set to logic “1”, limits the envelope to one cycle,
    holding the last count of the envelope counter (E3--
    E0=0000 or 1111, depending on whether the envelope
    counter was in a count-down or count-up mode, respec-
    tively).

    Alternate
    when set to logic “1”, the envelope counter reverses
    count direction (up-down) after each cycle.
    NOTE: When both the Hold bit and the Alternate bit are ones, the
    envelope counter is reset to its initial count before holding.

    Attack
    when set to logic “1": the envelope counter will count up
    (attack) from E3 E2 E1 E0=0000 to E3 E2 E1 E0=1111;
    when set to logic “0”, the envelope counter will count
    down (decay) from 1111 to 0000.

    Continue
    when set to logic “1”, the cycle pattern will be as defined
    by the Hold bit;
    when set to logic “0”, the envelope
    generator will reset to 0000 after one cycle and hold at
    that count.

    Версия Ramiros is TRUE.

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

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

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

Похожие темы

  1. О частоте огибающей.
    от Enigmatic в разделе Музыка
    Ответов: 2
    Последнее: 08.10.2010, 20:18
  2. Назначение ячеек памяти в часах по Gluk`y
    от Keeper в разделе Программирование
    Ответов: 2
    Последнее: 15.07.2009, 15:31
  3. Назначение модераторов
    от Ronin в разделе Форум
    Ответов: 44
    Последнее: 17.12.2006, 22:09
  4. Трек со значениями огибающей ...
    от Robus в разделе Музыка
    Ответов: 0
    Последнее: 20.09.2006, 21:12

Метки этой темы

Ваши права

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