diff options
Diffstat (limited to 'userspace/brainfuck.c')
| -rw-r--r-- | userspace/brainfuck.c | 20 |
1 files changed, 14 insertions, 6 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; } |
