а возможно ли сделать такой плагин, чтобы можно было писать ау музыку как в протрекере? т.е., 3 дорожки, протрекеровские команды и всё такое… и чип чтобы эмулился настоящий, а не «звучит как ау», чтобы канала 3, но огибающая только одна, то же про шум и т.д.
цель — привычно писать музыку в любых современных редакторах, без ограничений на кол-во ау, возможность совмещать ау с цифровым звуком и все такое. на выходе достаточно было бы просто дампа регистров и таймстампа.
ну и как бы это технически могло бы выглядеть. т.е., например, плагин один, 3 дорожки шлют ему миди команды, но как он узнает какая команда с какой дорожки пришла? вот это вот всё… я не шарю.
берешь такой, вытаскиваешь из панельки пзу, кладешь в УФ-стиратель, полчаса стираешь, потом суешь в программатор и шьешь. ошибся? всё по новой. где сегодня брать стиратель и программатор — я хз, у меня нет.
если исключать читерство, то… а что такое читерство?:) имхо, самый чит в этих 7 6 5 байтах — команда зацикливания — она создается на стеке, когда пользователь вводит RUN . именно поэтому там нет автозапуска. ок, предположим, мы не можем юзать такой «сложный и неустойчивый» подход. но регистры-то реюзать можем? если да, то вот вариант 8 байт (работает даже на каком-то SE Basic ROM):
loop:
org 0xd1xx
cp (hl) ; random byte (random CY)
dec l ; . . .
sbc a,a ; -> a=FF or 00
and h ; h=2d -> a=2d or 00
sub b ; b=d1 -> a+=2f
rst 0x10 ; a=2f or 5c
jr loop
его и не надо замечать, это фэйк из всех фэйков. почему? потому что во всех других вариантах есть настоящий код, который печатает (рст 10 + манипуляции с регами для вывода слешей). и именно этот код измеряется, этот код встраивается в некое более-менее стандартное окружение. и это интересно — найти минимум байт, при загрузке которых оно начнет делать то, что хочется.
0б — это фикция. там кода много байт, просто он загружается косвенно, но загружается, но нам рассказывают, что байт нет или он один.
Не больший читинг, чем устанавливать все регистры и генерить половину кода в памяти бейсиком.
да не генерится никакая половина кода бейсиком, там просто честный лоад и уср. это просто реюзание памяти. а то можно ведь сделать бейсик в который незаметно вшить код и назвать это true-0b. там будет rand usr 0 и всё.
не надо превращать соревнование по сокращению кода в соревнования по прятанию кода.
или пользуйтесь ламповым тс-эмулятором:)
цель — привычно писать музыку в любых современных редакторах, без ограничений на кол-во ау, возможность совмещать ау с цифровым звуком и все такое. на выходе достаточно было бы просто дампа регистров и таймстампа.
ну и как бы это технически могло бы выглядеть. т.е., например, плагин один, 3 дорожки шлют ему миди команды, но как он узнает какая команда с какой дорожки пришла? вот это вот всё… я не шарю.
и осторожно, этот код не проверялся с магнитофонами!
чур я не писец:) уломайте алона написать, заодно и повод зарегаться:)
0б — это фикция. там кода много байт, просто он загружается косвенно, но загружается, но нам рассказывают, что байт нет или он один.
да не генерится никакая половина кода бейсиком, там просто честный лоад и уср. это просто реюзание памяти. а то можно ведь сделать бейсик в который незаметно вшить код и назвать это true-0b. там будет rand usr 0 и всё.
не надо превращать соревнование по сокращению кода в соревнования по прятанию кода.
лабиринт не совсем рандомный, но норм! 5 байт.
сдается мне, что и это не предел, особенно если пожертвовать красотой лабиринта.