User Tag List

Показано с 31 по 40 из 50

Тема: Простая работа с AY

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

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

    Регистрация
    07.02.2008
    Адрес
    г. Рязань
    Сообщений
    2,930
    Спасибо Благодарностей отдано 
    37
    Спасибо Благодарностей получено 
    124
    Поблагодарили
    44 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Barmaley_m Посмотреть сообщение
    Что такое в твоем понимании "самописный плеер"? Кто его пишет? Автор библиотеки или автор прикладной программы?
    А даже и не важно. Ибо писателю на ЯВУ сделать свой плеер практически нереально, а сторонний плеер, висящий на прерываниях, будет диктовать свои малопонятные ограничения типа расположения себя любимого, музыки, таблицы прерываний, режима прерывний.... Это все же сложнее, чем
    Код:
    BASIC.PLAY('A', 'B', 'C'); // Ни о чем думать не надо!
    Цитата Сообщение от Barmaley_m Посмотреть сообщение
    Как при таком обилии 128-Only программ - оператором Play никто не пользуется?
    А где такое обилие 128k BASIC only программ? А нету его. Потому что 128-й бейсик дает только 2 преимущества перед 48 - это RAM-диск с малоюзабельным MERGE! и пресловутый PLAY. И ради этих преимуществ программисту придется отказаться от поддержки 48к и писать в убогом и глючном 128к-редакторе.
    Цитата Сообщение от Barmaley_m Посмотреть сообщение
    В этом случае, почему бы сразу не предоставить нормальные процедуры без искусственных ограничений, накладываемых PLAY?
    Библиотеки для чего? Для проигрывания музыки? Да, с PLAY музыку играть сложно (но можно). Для озвучки событий? А сколько надо процедур для создания всех возможных эффектов? Делать эффекты через плеер музыки? Если надо полсотни эффектов, сколько автор игры проведен в музредакторе чтобы их сделать, скомпилить, разместить в памяти и играть с помощью универсального плеера?
    Цитата Сообщение от Barmaley_m Посмотреть сообщение
    Не во всякой программе узким местом является именно память.
    Ну в построителе биоритмов - да, согласен. Но разработка хорошей игры на ЯВУ как правило упирается в память, ибо она не резиновая, а идей много.
    Цитата Сообщение от Barmaley_m Посмотреть сообщение
    Для воспроизведения одной ноты по всем трем каналам необходимо: сам оператор PLAY и как минимум 3 числа - аргументы. Так как числа в бейсике представлены и в ASCII, и в двоичной форме - то на каждый аргумент имеем 3 байта на ASCII + 6 байт двоичного представления + 1 байт на запятую или двоеточие. Итого около 31 байт на каждую строку Play
    Садись, "два". PLAY играет стринги, в BASIC PLAY "A","B","C" займет 12 байт, из них только 3 байта, собственно, данных. В компилируемой программе (при условии ASCIIZ-строк) данные для такого PLAY займут 6 байт. Если использовать ПЗУшный PLAY, то на этом расход памяти кончится. А количество эффектов, которое им можно создать, конечно несравнимо меньше, чем их можно создать в музредакторе, но тоже огромно.

    ---------- Post added at 20:42 ---------- Previous post was at 20:32 ----------

    Oleg N. Cher, Я поглядел повнимательнее - в PLAY-таки можно вломиться из машкода минуя всякие BASIC'овские парсинги строк. Но ограничений все равно хватает. Для начала, верно сказано, он блокирующий, да еще и запрещает прерывания на время своей работы (но BREAK опрашивает и зовет BREAK into PROGRAM если нажат). При ошибках в строках зовет 128k-обработчик ошибок, чем это черевато - не знаю. Буфер принтера портит нещадно. Уговорить его отказаться от воркспейса можно, но калькулятор все равно будет использовать. Ну и да, в разных ПЗУ может иметь разные адреса, а на компах без 128 Бэйсика работать не будет.
    В принципе, его можно перетянуть и в ОЗУ, но тогда надо сильно пилить напильником - вырезать MIDI, переключалки ПЗУ, использолвание IY (если не запрещать прерывания).
    И то, и то реально. Советом помогу, кодом - нет (только если примерами).

    ---------- Post added at 20:45 ---------- Previous post was at 20:42 ----------

    Кстати, неплохих результатов можно добиться, если просто реализовать в либе отправку замаскированного множеством (если они поддерживаются) массива байт (али record'а) в регистры AY.
    Последний раз редактировалось Alex Rider; 07.11.2014 в 20:34.

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

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

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

Похожие темы

  1. Работа с trd на PC
    от Crowner в разделе Разный софт
    Ответов: 36
    Последнее: 03.12.2018, 16:43
  2. Работа с HDD!!!
    от Voxel в разделе Программирование
    Ответов: 16
    Последнее: 05.05.2013, 03:16
  3. Работа со спрайтами
    от drbars в разделе Софт
    Ответов: 19
    Последнее: 12.11.2012, 19:59

Ваши права

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