diff options
| author | Michal Idziorek <m.i@gmx.at> | 2014-10-21 00:42:21 +0200 |
|---|---|---|
| committer | Michal Idziorek <m.i@gmx.at> | 2014-10-21 00:42:21 +0200 |
| commit | 5b9ea685dfd12415774e4e97ad387c601dd2b43b (patch) | |
| tree | d8d9fa10b4364086dec82028ac5a9e6acfef6ebd /userspace | |
| parent | c81e5044a5d609a42407a5e9b0725d22e33cf5fa (diff) | |
new screenshot and minor cosmetics
Diffstat (limited to 'userspace')
| -rw-r--r-- | userspace/brainfuck.c | 20 | ||||
| -rw-r--r-- | userspace/syscalls.c | 11 |
2 files changed, 19 insertions, 12 deletions
diff --git a/userspace/brainfuck.c b/userspace/brainfuck.c index c363693..76a18cc 100644 --- a/userspace/brainfuck.c +++ b/userspace/brainfuck.c @@ -24,7 +24,8 @@ #include <string.h> // by brainfuck standards (doesn't that sound funny?), the data pointer has -// 30,000 bytes at its disposal, but I hate hard-coding such stuff. +// 3,000 bytes at its disposal, but I hate hard-coding such stuff. +// FOOLOS: decreased to 3000 (from 30.000) #define DATA_SIZE 3000 void usage() { @@ -77,9 +78,18 @@ int main(int argc, char **argv) // added by FOOLOS input=fopen(1,"r"); - puts("Welcome to the BRAINFUCK by Felix Oghina"); - puts("Compiled for FoolOS"); - printf("dataptr: 0x%08X\n",dataptr); + char *buf=malloc(256); + puts("\n\nbrainfuck: Welcome to the BRAINFUCK INTERPRETER by Felix Oghina"); + puts("brainfuck: Licensed under the (brain)fuck licenses!"); + puts("brainfuck: Adapted & Compiled for FoolOS"); +// printf("brainfuck: dataptr: 0x%08X\n",dataptr); +// printf("brainfuck: dataptr2: 0x%08X\n",buf); + rewind(input); + fgets(buf,255,input); + printf("\nbrainfuck: loaded programm: %s\n\n",buf); + fseek(input, 0, SEEK_SET); + + // zero the data pointer for (i=0; i < DATA_SIZE; i++) { @@ -87,7 +97,6 @@ int main(int argc, char **argv) } // start interpreting - rewind(input); while (!feof(input)) { r = (unsigned char) fgetc(input); @@ -142,6 +151,5 @@ int main(int argc, char **argv) break; } } - puts("brainfuck: finishing!"); return EXIT_SUCCESS; } diff --git a/userspace/syscalls.c b/userspace/syscalls.c index d8a463d..7b0f563 100644 --- a/userspace/syscalls.c +++ b/userspace/syscalls.c @@ -16,7 +16,7 @@ void syscalls_init() int close(int file) { - easywrite("syscall: close\n"); +// easywrite("syscall: close\n"); return -1; } @@ -29,7 +29,7 @@ int fstat(int file, struct stat *st) int isatty(int file) { - easywrite("syscall: isatty\n"); +// easywrite("syscall: isatty\n"); return 1; } @@ -51,8 +51,7 @@ int read(int file, char *ptr, int len) char buf[]="++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++."; if(preread>=strlen(buf)){ - easywrite("syscall: read = EOF\n"); - while(1); +// easywrite("syscall: read = EOF\n"); return 0; //EOF } @@ -67,7 +66,7 @@ int read(int file, char *ptr, int len) int open(const char *name, int flags, int mode) { - easywrite("syscall: open\n"); +// easywrite("syscall: open\n"); return 99; return -1; } @@ -102,7 +101,7 @@ int write(int file, char *ptr, int len) caddr_t sbrk(int incr) { - easywrite("syscall: sbrk!!\n"); +// easywrite("syscall: sbrk!!\n"); int oldalloc=alloc; alloc+=incr; return oldalloc; |
