summaryrefslogtreecommitdiff
path: root/userspace
diff options
context:
space:
mode:
authorMichal Idziorek <m.i@gmx.at>2015-05-24 03:32:14 +0200
committerMichal Idziorek <m.i@gmx.at>2015-05-24 03:32:14 +0200
commitfbbbc75200008e2b603e5b7df8cd2e1a5d17483b (patch)
treeeb78fa27e182fd840b02f603cef3a1df97a53249 /userspace
parentf5d8d7bee20742a7a101665ebca630ff8e05d77b (diff)
syscalls and terminal functionality for GAMING mode
Diffstat (limited to 'userspace')
-rw-r--r--userspace/snake.c16
-rw-r--r--userspace/sys/libfool.abin35776 -> 37292 bytes
-rw-r--r--userspace/sys/syscalls.c12
-rw-r--r--userspace/sys/syscalls.obin17092 -> 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
index 7c47ee4..81a4f16 100644
--- a/userspace/sys/libfool.a
+++ b/userspace/sys/libfool.a
Binary files differ
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
index 2176036..f8fd94b 100644
--- a/userspace/sys/syscalls.o
+++ b/userspace/sys/syscalls.o
Binary files differ