User Tag List

Показано с 1 по 10 из 19

Тема: AY и такты. Предельные возможности.

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    27.01.2005
    Сообщений
    924
    Спасибо Благодарностей отдано 
    28
    Спасибо Благодарностей получено 
    193
    Поблагодарили
    154 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию AY и такты. Предельные возможности.

    На последнем CSP возникла дискуссия по поводу того, а можно ли сделать плеер для в 300 тактов. К сожалению, мои надежды на лучшее разбились. В 300 тактов никак не укладывается. Поделюсь своими мыслями, если кому интересно.

    Как известно, AY представлен в виде двух портов - FFFD (регистр адреса) и BFFD - (регистр данных).

    Как бы я не извращался - самый быстрый вывод такой:

    ld c,#FD ; один раз, 7 тактов
    ;-----------------
    ; Вывод в один регистр
    ld b,#FF ; BC = FFFD ; 7
    ld A, <номер регистра> ; 7
    out (c),a ; 12
    ld b,#BF ; BC = BFFD ; 7
    ld A, <данные, записываемые в регистр> ; 7
    out (c),a ; 12
    ;-----------------------------------ВСЕГО: 52 такта

    То есть для записи одного регистра AY меньше 52 тактов не получишь (если кто знает как - то прошу поправить меня).

    Для воспроизведения одного канала, надо как минимум запись в 2 регистра управления частотой. То есть 104 такта.

    То есть имеем следующие предельные (минимальные) параметры вывода звука:

    Полное управление AY (11 регистров, без управления огибающей): 52*11 = 572 такта.

    Управление тремя каналами. (6 регистров, только частота без громкости и шума): 52*6 = 312 тактов.

    Управление двумя каналами. (4 регистра, только частота без громкости и шума): 52*4 = 208 тактов.

    Управление одним каналом + шум. (4 регистра, частота и шум ): 52*4 = 208 тактов.


    В принципе, два последних варианта вполне укладываются в 300 тактов. Только музыканты будут не в восторге)


    Недостатки такого способа вывода звука очевидны: очень большой объем кода. Ну и конвертор писать надо.

    Достоинства тоже есть - минимально возможно время и постоянное время выполнения.
    Последний раз редактировалось SfS; 01.08.2017 в 06:03.

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

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

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

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

Похожие темы

  1. Новые возможности форума !
    от AAA в разделе Форум
    Ответов: 11
    Последнее: 13.07.2011, 09:06
  2. Интересный вопрос про циклы и такты
    от Володя Березин в разделе Программирование
    Ответов: 5
    Последнее: 09.02.2009, 07:12
  3. расширяем возможности ОСи)))
    от Sayman в разделе Оси
    Ответов: 0
    Последнее: 28.10.2008, 08:35
  4. Cчитаем такты... (2SMT)
    от rasmer в разделе Эмуляторы
    Ответов: 11
    Последнее: 10.08.2005, 07:29
  5. Новые возможности Unreal
    от razer в разделе Эмуляторы
    Ответов: 122
    Последнее: 26.02.2005, 02:05

Ваши права

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