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

User Tag List

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

Тема: Программирование AY - вопрос по огибающей

  1. #1
    Master
    Регистрация
    16.09.2005
    Адрес
    Дзержинск (DustCity)
    Сообщений
    919
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Программирование AY - вопрос по огибающей

    Период огибающая задается регистрами R11,12
    Форма огибающей регистром R13

    допустим мы задали R11=X, R12=Y, R13=Z,
    задали тон канала А, включили тон и огибающую для канала А,
    воспроизводится звук...

    Что будет если (изменится ли звук и как):

    1) Повторить запись R11=X, R12=Y
    Ответ: ничего не произойдет, звук не измениться, никаких щелчков или шумов не поризойдет

    2) Повторить запись R13=Z
    Ответ: сбросится счетчик огибающей, генерация огибающей начнется сначала.

    3) Сделать запись R13=N
    Ответ: сбросится счетчик огибающей, генерация огибающей начнется сначала.

    4) Записать последовательно R11=a, R12=b, R13=c
    Ответ: сбросится счетчик огибающей, генерация огибающей начнется сначала с установленными значениями R11,R12

    5) Записать последовательно R13=c, R11=a, R12=b
    Ответ: сбросится счетчик огибающей, генерация огибающей начнется сначала с предыдущими значениями R11,R12. Новые значения задействуются когда счетчик огибающей обнулится

    Вопрос: правильно ли все я понимаю?
    (Если кто знает, подскажите, пишу плэйер, нехватает знаний по AY)
    Pentagon1024sl2.2/TSFM/Z-Controller/GS128Kb/HDD/CDROM/Palcoder

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

  3. #2
    Banned
    Регистрация
    25.01.2005
    Адрес
    Miass, Chelyabinsk region
    Сообщений
    4,094
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    вроде как все правильно.
    только нужно взять на заметку, что если вот в 4) или 5) после записи R11 произойдет сброс счетчика огибающей (до записи в R12), то один период ее будет не верный. но с этим ниче не поделать, вроде бы...

  4. #3
    Master
    Регистрация
    16.09.2005
    Адрес
    Дзержинск (DustCity)
    Сообщений
    919
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Т.е. получается что счетчик огибающей должен сбрасываться в двух случаях:
    1) Запись в регистры периода значения отличного от предыдущего
    2) Запись любого значения в регистр формы огибающей
    Так?
    Pentagon1024sl2.2/TSFM/Z-Controller/GS128Kb/HDD/CDROM/Palcoder

  5. #4
    Veteran Аватар для Sinus
    Регистрация
    29.01.2005
    Адрес
    Belarus, Grodno
    Сообщений
    1,279
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    1) Запись в регистры периода значения отличного от предыдущего
    в этом случае не сбрасывается.

    ---------- Post added at 22:44 ---------- Previous post was at 22:38 ----------

    Ответ: сбросится счетчик огибающей, генерация огибающей начнется сначала с предыдущими значениями R11,R12. Новые значения задействуются когда счетчик огибающей обнулится
    чо то я не очень понял про что тут (выделил жирным).

    огибалка всегда использует текущие значения R11 и R12, нет никаких предыдущих.
    внутренний счётчик идёт с нуля и до значений R11/R12, типа:

    Код:
    internalEnvelopeCounter++;
    
    if (internalEnvelopeCounter >= MakeWord(R11, R12)) {
        internalEnvelopeCounter = 0;
        DoSomeCoolEnvelopeThing();
    }

    ---------- Post added at 22:44 ---------- Previous post was at 22:44 ----------

    при записи в R13 -> internalEnvelopeCounter = 0
    Последний раз редактировалось Sinus; 15.11.2010 в 23:50.
    [target] [zemu] [js8x] [pouet] KAY-1024, 5''FDD, 3''FDD, HDD

  6. #5
    Banned
    Регистрация
    25.01.2005
    Адрес
    Miass, Chelyabinsk region
    Сообщений
    4,094
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Sinus, другими словами, ты хочешь сказать, что там нет промежуточного буфера? а это на реальном чипе подтверждено (что смена регистра МГНОВЕННО влияет на результат)?

  7. #6
    Veteran Аватар для Sinus
    Регистрация
    29.01.2005
    Адрес
    Belarus, Grodno
    Сообщений
    1,279
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    да, инфа верняк (кстати, это же относится и к счётчикам каналов A, B и C).
    ребята из mame проводили исследования:

    Код:
    Careful studies of the chip output prove that the chip counts up from 0
    until the counter becomes greater or equal to the period. This is an
    important difference when the program is rapidly changing the period to
    modulate the sound. This is worthwhile noting, since the datasheets
    say, that the chip counts down.
    Also, note that period = 0 is the same as period = 1. This is mentioned
    in the YM2203 data sheets. However, this does NOT apply to the Envelope
    period. In that case, period = 0 is half as period = 1.
    (вообще жутко всё серьёзно у них там в mame, аж завидно немного )
    Последний раз редактировалось Sinus; 16.11.2010 в 14:27.
    [target] [zemu] [js8x] [pouet] KAY-1024, 5''FDD, 3''FDD, HDD

  8. #7
    Moderator Аватар для BYTEMAN
    Регистрация
    11.01.2006
    Адрес
    Брест/Минск
    Сообщений
    8,394
    Записей в дневнике
    4
    Спасибо Благодарностей отдано 
    179
    Спасибо Благодарностей получено 
    115
    Поблагодарили
    57 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Подскажите, а как сбросить счётчик огибающей в Vortex'е? А то получается что один и тот же паттерн звучит по-разному
    С уважением, Александр.
    Scorpion ZS-256 Turbo+ GMX-2048
    SID-Blaster/ZX
    Музей ретрокомпьютеров в Минске!
    Здесь ничего нет => http://byteman.by
    И здесь тоже --->>> http://bytespace.by

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

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

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

Похожие темы

  1. Ответов: 6
    Последнее: 21.11.2010, 22:48
  2. О частоте огибающей.
    от Enigmatic в разделе Музыка
    Ответов: 2
    Последнее: 08.10.2010, 20:18
  3. Трек со значениями огибающей ...
    от Robus в разделе Музыка
    Ответов: 0
    Последнее: 20.09.2006, 22:12

Ваши права

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