diff options
Diffstat (limited to 'userspace')
| -rw-r--r-- | userspace/snake.c | 16 | ||||
| -rw-r--r-- | userspace/sys/libfool.a | bin | 35776 -> 37292 bytes | |||
| -rw-r--r-- | userspace/sys/syscalls.c | 12 | ||||
| -rw-r--r-- | userspace/sys/syscalls.o | bin | 17092 -> 18572 bytes |
4 files changed, 26 insertions, 2 deletions
diff --git a/userspace/snake.c b/userspace/snake.c index aedf191..8352d1b 100644 --- a/userspace/snake.c +++ b/userspace/snake.c @@ -3,11 +3,23 @@ int main() { printf("Hello I am FoolSnake 0.1\n"); - printf("setvbuf returned %i",setvbuf(stdin,NULL,_IONBF,0)); + printf("setvbuf returned %i\n",setvbuf(stdin,NULL,_IONBF,0)); + + fool_tune(1,0,0); // activate gaming mode while(1) { - printf("%c",fgetc(stdin)); + while(!has_data_waiting()) + { + + } + + char c=fgetc(stdin); + printf("[%c]\n",c); + if(c=='q')break; + } + + fool_tune(0,0,0); // de-activate gaming mode } diff --git a/userspace/sys/libfool.a b/userspace/sys/libfool.a Binary files differindex 7c47ee4..81a4f16 100644 --- a/userspace/sys/libfool.a +++ b/userspace/sys/libfool.a diff --git a/userspace/sys/syscalls.c b/userspace/sys/syscalls.c index 9dfd313..4b29451 100644 --- a/userspace/sys/syscalls.c +++ b/userspace/sys/syscalls.c @@ -35,6 +35,18 @@ int readdir(const char *name,fs_dirent *dirs,int max) return syscall(SYSCALL_READDIR,name,dirs,max); } +int has_data_waiting() +{ + + return syscall(SYSCALL_HAS_DATA,0,0,0); +} + +int fool_tune(int v1, int v2, int v3) +{ + + return syscall(SYSCALL_TUNE,v1,v2,v3); +} + void _exit(int ret) { _exit2(ret,environ); diff --git a/userspace/sys/syscalls.o b/userspace/sys/syscalls.o Binary files differindex 2176036..f8fd94b 100644 --- a/userspace/sys/syscalls.o +++ b/userspace/sys/syscalls.o |
