#include int data4[100]; // syscall will be move to newlib? #define SYSCALL_CLONE 83 int _clone(void) { return syscall(SYSCALL_CLONE,0,0,0); } static char lastc='d'; int main() { printf("setvbuf returned %i\n",setvbuf(stdin,NULL,_IONBF,0)); printf("setvbuf returned %i\n",setvbuf(stdout,NULL,_IONBF,0)); printf("\033c"); printf("\033HFOOL-SNAKE"); //printf("\033d\033d\033dFOOL-SNAKE"); printf("\033d"); char snake[]="FOOLSNAKESFOOL"; int thr=_clone(); if(thr==0) { uint64_t x=0; while(1) { for(int i=0;i<10000000;i++); x++; if(lastc=='d')printf("\033f"); if(lastc=='a')printf("\033b"); if(lastc=='w')printf("\033u"); if(lastc=='s')printf("\033d"); printf("\033[0;%im\033b%c",31+(uint8_t)(x%6),snake[x%10]); } } else { while(1) { char c=fgetc(stdin); lastc=c; } } }