Комментарии 16
Отлично! Ждем проект на jack 3.5
+3
Меня во всём этом проекте потряс код, который звучит гармонично в течении 16 минут!
echo "g(i,x,t,o){return((3&x&(i*((3&i>>16?\"BY}6YB6%\":\"Qj}6jQ6%\")[t%8]+51)>>o))<<4);};main(i,n,s){for(i=0;;i++)putchar(g(i,1,n=i>>14,12)+g(i,s=i>>17,n^i>>13,10)+g(i,s/3,n+((i>>11)%3),10)+g(i,s/5,8+n-((i>>10)%3),9));}"|gcc -xc -&&./a.out|aplay
+3
Нужна отдельная статья с разбором того, как это работает :)
+3
Размотала белиберду в такой код:
int g( int i, int x, int t, int o)
{
return ((3 & x
& (i * ((3 & i >> 16 ? "BY}6YB6%" : "Qj}6jQ6%")[t % 8] + 51) >> o))
<< 4);
}
int main(void) {
int n, s;
for (int i = 0;; i++)
putchar(
g(i, 1, n = i >> 14, 12) + g(i, s = i >> 17, n ^ i >> 13, 10)
+ g(i, s / 3, n + ((i >> 11) % 3), 10)
+ g(i, s / 5, 8 + n - ((i >> 10) % 3), 9));
return EXIT_SUCCESS;
}
Так вам удобнее будет делать разбор того, как это работает.
+4
Напомнило одну программу, виденную ещё в 90-е, когда учился в ТГУ: крошечная программа, буквально в 2 килобайта, если правильно помню, рисовавшая на экране какие-то сложные фигуры. Причём, всё это работало под DOS, то есть вся графика была засунута в ту программу.
+1
Есть целый жанр подобных демонстрационных программ, который называется «intro» (2K intro, 4K intro, даже 256 bytes intro бывают). Как правило, и графика, и звук там процедурные, т.е. создаются динамически при выполнении самой программы, а не хранятся в исполняемом файлы как ресурсы.
0
Демосценушка родимая. А еще это всё можно прямо в MBR затолкать!
+1
Попробовал запустить, но на выходе почему-то тишина. Надо будет разобраться.
+1
У меня жёстко искажался звук в некоторые моменты. Исправила добавив в конце " -f U8". На разных системах aplay по умолчанию выбирает разные форматы.
+2
Очень интересная статья!
Хотелось бы увидеть отдельную статью по работе с МК Padauk PMS150 для чайников. А именно: чем прошивать и где брать, где писать и компилировать код, язык программирования, внутренняя структура МК.
+1
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Чиптюн-музыка на ATtiny4 и трехцентовом Padauk