
Сообщение от
Alex Rider
Ибо писателю на ЯВУ сделать свой плеер практически нереально,
ЯВУ и "для чайников" - это разные вещи, не надо их путать. Опытный программист, которому по плечу реализовать плеер на ассемблере, может быть, захочет реализовать на ЯВУ игру или что-нибудь еще. Почему нет? Экономия времени и усилий разработчика.
К тому же, зачем делать свой плеер на ассемблере, когда их и так полно? Просто обернуть плеер в библиотеку для ЯВУ - и все.

Сообщение от
Alex Rider
а сторонний плеер, висящий на прерываниях, будет диктовать свои малопонятные ограничения типа расположения себя любимого,
Объектные файлы и библиотеки обычно являются перемещаемыми. О каких ограничениях на расположение идет речь?

Сообщение от
Alex Rider
музыки, таблицы прерываний, режима прерывний....
Где ты вообще видел плеер, который накладывает такие жесткие ограничения? И даже если видел - кому он нужен, если есть нормальные плееры без подобных ограничений? Если плеер доступен в виде исходника - его можно скомпилировать на любой адрес. Компилированная музыка обычно тоже является перемещаемой. Прерывания - это вообще вне компетенции плеера, ими занимается вызывающая программа. У самого плеера есть только две точки входа: INIT и PLAY, первую надо вызвать перед проигрыванием, вторую вызывать каждое прерывание. Даже на бейсике можно встретить что-то типа:
Код:
10 RANDOMIZE USR 49152
20 RANDOMIZE USR 49155: PAUSE 1: GO TO 20
В случае размещения плеера по адресу 49152. Прекрасно играет. Что в этом сложного?

Сообщение от
Alex Rider
Код:
BASIC.PLAY('A', 'B', 'C'); // Ни о чем думать не надо!
Да, совсем ни о чем не надо думать... Кроме содержания строк для проигрывания. Чтобы получить не просто "пук", а интересный звук, надо совершенно неудобным образом составлять эти строки. В то время как в музыкальном редакторе можно быстро сделать нужный звуковой эффект с визуальной и звуковой поддержкой. Ну, не то, чтобы совсем быстро, но это реально самый легкий способ, легче в принципе не бывает.

Сообщение от
Alex Rider
А где такое обилие 128k BASIC only программ? А нету его. Потому что 128-й бейсик дает только 2 преимущества перед 48 - это RAM-диск с малоюзабельным MERGE! и пресловутый PLAY. И ради этих преимуществ программисту придется отказаться от поддержки 48к и писать в убогом и глючном 128к-редакторе.
Ну, это ты привел свои причины. А для других людей они могли быть другими. В частности - разочарование возможностями PLAY. Обычно всем возможностям находится применение, но этой так и не нашлось. Хотя задумывалась как "легкая, с малым порогом входа". И получилось, что все, кто делал AY-звук, делали его на ассемблере, пока трекеры не появились.

Сообщение от
Alex Rider
Библиотеки для чего? Для проигрывания музыки?
А почему нет? Разве ты не допускаешь мысли, что какой-нибудь начинающий программист, знающий, к примеру, си, но не знающий ассемблера, захочет написать игру с музыкой? Самый легкий путь - сделать музыку в трекере, скомпилировать, потом вызвать плеер из ЯВУ в соответствии с документацией. А ты что предлагаешь - через PLAY музыку делать?

Сообщение от
Alex Rider
Делать эффекты через плеер музыки? Если надо полсотни эффектов, сколько автор игры проведен в музредакторе чтобы их сделать,
А как иначе? Делать эффекты через PLAY - думаешь, будет быстрее? Чем проведение времени в музредакторе хуже проведения времени с компилятором ЯВУ? Сначала написать программу, потом ее подправить, потом скомпилировать, запустить, и так для каждого изменения? В музредакторе ты можешь сразу слышать результаты изменений параметров. Он явно более приспособлен для создания звука, в том числе эффектов, чем любая среда программирования.

Сообщение от
Alex Rider
скомпилить, разместить в памяти и играть с помощью универсального плеера?
На компиляцию тратятся секунды, и один раз, когда редактирование завершено. Размещение в памяти и проигрывание - те же затраты возникают в случае использования PLAY. От них никуда не уйдешь.
И вообще, какие могут быть сложности с размещением плеера в памяти, если плеер доступен в виде модуля библиотеки для ЯВУ? Размещает его в памяти компоновщик. Автоматически.

Сообщение от
Alex Rider
Но разработка хорошей игры на ЯВУ как правило упирается в память, ибо она не резиновая, а идей много.
Это ты в реальности наблюдал или просто предполагаешь?

Сообщение от
Alex Rider
Кстати, неплохих результатов можно добиться, если просто реализовать в либе отправку замаскированного множеством (если они поддерживаются) массива байт (али record'а) в регистры AY.
Ну вот это гораздо более дельная идея. Фактически, речь идет о простом и маленьком плеере спецэффектов на ассемблере. Что наводит на мысль взглянуть на продукцию в этом направлении таких опытных товарищей, как Shiru.